/**************************************** reset ****************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
/****************************************** end reset *******************************************/
body, html {
	background: #eee;
	color: #333;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 400;
	text-align: left;
	margin:0;
	padding:0;
	height: 100%; /* height and width needed for map */
	width: 100%;
	display: flex;
	flex-direction: column;
}
html{
	overflow-x:hidden;
}

.bold{
	font-weight: 700;
}

h1, h2 {
	font-weight: 300;
}
	
h1 {
	font-size: 2.3em;
	margin: 0% 0 3% 0;
}
 .text_shadow {
	text-shadow: 0 0 20px #eee, 0 0 25px #eee, 0 0 30px #eee, 0 0 35px #eee, 0 0 40px #eee, 0 0 45px #eee;
}
@media screen and (max-width: 1100px) {
	h1 {
		margin: 3% 0 5% 0;
	}
}

h2 {
	font-size: 1.7em;
	margin: 4% 0 5% 0;}
		
h3 {
	font-size: 1.3em;
	margin: 4% 0 2% 0;
	font-weight: 400;
}

p {
	margin: 0 0 2% 0;
	line-height: 1.3em;
}
    
.center {
	text-align: center;}
	
.img_center {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 1024px;
}

.img_profile {
	border: 1px solid #bbb;
	background-color: #ddd;
	padding: 10px;
}

.neuro_img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

.caption {
    font-size: 0.8em;
    text-align: center;
	padding: 1% 0 2% 0;
}

blockquote {

    border-left: 10px solid #cbd6da;
    margin: 3em 10px;
    padding: 0.5em 10px;
    font-style: italic;
    quotes: "\201C""\201D""\2018""\2019";
}

blockquote:before {
    color: #ccc;
    content: open-quote;
    font-size: 3em;
    line-height: 0.1em;
    margin-right: 0.25em;
    vertical-align: -0.4em;
}

blockquote:after {
	color: #ccc;
    content: close-quote;
	font-size: 3em;
	line-height: 0.1em;
	vertical-align: -0.4em;
}

blockquote p {
    display: inline;
	margin: 0 0 2em 0;
}

.right {
	text-align:right;}
    
a {
	color: #609fb0;
	text-decoration: none;
}
    
ul, ol {
	list-style-position:inside;

}

.document_ul {
	list-style-image: url('images/list_icon.png');
}
    
ul {
	/*list-style: square inside none;*/
	padding: 0;
	}
		
li {
	/*line-height: 2.3em;*/
	padding-bottom: 0.9em;
	}
/**************************************** nav menu **************************************************/
.nav_wrapper {
	color: #103c83 !important;
	/*background-color: #fff !important;*/
	overflow: visible;
	display: flex;
	justify-content: space-between;
	/*box-shadow: 0px 1px 11px 9px rgba(0, 0, 0, 0.20);*/
	box-shadow: inset 0 0 0 100vmax rgb(255 255 255 / 50%), 0px 10px 10px 0px rgba(0,0,0,0.10);
	-webkit-transform: translateZ(0); /* box-shadow fix */
	padding: 0 4%; 
	width: 92%;
	backdrop-filter: blur(4px);
}

.logo {
	display: flex;
	align-items: center;
}

.nav_logo_text {
	margin: 0 0 0 3%;
	max-width: 140px;
}

.nav_image {
	padding: 0;
}

nav {
    list-style: none;
    font-weight: 700;
    float: left; /* Clear floats */
    width: 100%;
    /* Bring the nav above everything else--uncomment if needed.
    position: relative;
    z-index: 5;
    */
}
nav li {
    float: left;
	padding: 0 ;
	margin: 0 10px 0 0;
    position: relative;
}
nav a {
    display: block;
    color: #528896;
    /*background-color: #fff;*/
    text-decoration: none;
	margin: 0;
	padding: 0 10px;	
	line-height: 70px;
	transition: all 0.4s linear 0s;
}
nav a:hover {
    color: #fff;
    background-color: #609fb0;
}

nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
	position: relative;
	}
	
nav ul li {
	display:inline-block;
	}

/* Hide Dropdowns by Default */
nav ul ul {
	position: absolute; 
	top: 70px; /* the height of the main nav */
	visibility: hidden;
    opacity: 0;
    transition-property: opacity, visibility;
    transition-duration: .4s, 0s;
    transition-delay: 0s, .4s;
}
	
/* Display Dropdowns on Hover */
nav ul li:hover > ul {
	visibility: visible;
    opacity: 1;
    transition-delay: 0s, 0s;
}

nav ul li:hover > ul li a{
	color: #fff;
}
	
/* Fisrt Tier Dropdown */
nav ul ul li {
	min-width: 123px;
	float:none;
	display:list-item;
	position: relative;
	white-space: nowrap;
	z-index: 5;
	border-bottom: 1px solid #4d7f8c;
	border-top: 1px solid #4d7f8c;
}
nav ul li ul li a {
	background-color: #609fb0; 
}
nav ul li ul li a:hover {
	background-color: #4d7f8c;
}

/* Second, Third and more Tiers	*/
nav ul ul ul li {
	position: relative;
	top:-70px; 
	left:170px;
}

/* Change this in order to change the Dropdown symbol */
/*li > a:after { content:  ' +'; }*/
/*
li > a:after { content: "\0020 \21B4";}
li > a:only-child:after { content: ''; }
*/

@media screen and (max-width: 850px) {
    .logo {
		justify-content: center;
		width: 100%;
		border-bottom: 1px solid #609fb0;
	}
	.nav_wrapper {
		flex-wrap: wrap;
		justify-content: center;
	}
	.nav_menu {
		border-top: 1px solid #ccc;
		width: 100%;
		text-align: center;	
	}
}
@media screen and (max-width: 615px) {
	nav li {
		margin: 1px;
	}
}

/******************************************************************wrappers**********************************************/
.page_wrapper {
	flex: 1 0 auto; /* Sticky footer - Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
	padding: 0;
}

.flex_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 4%;
}

.flex_container_profile {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 6% 0 4% 0;
}

@media screen and (max-width: 800px) {
	.flex_container_profile {
		justify-content: center;
		margin-bottom: 8%;
	}
}

.box_container {
	margin: 2%;
	border: 1px solid #ccc;
	border-radius: 25px;
	background-color: #ddd;
	padding: 3% 4%;
	min-width: 255px;
	max-width: 980px;
	overflow: auto; 
	/*flex-grow: 1;*/
}

.no_break {
	white-space: nowrap;
}

@media screen and (max-width: 800px) {
    .flex_container {
		padding: 4% 2%;
	}
	.box_container {
		width: 80%;
		padding: 5% 4% 3% 4%;
	}
}

.box_container p{
	min-height: 44px; /* keep all buttons horz aligned, may need to adjust*/
}

.page_title_wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0;
	border-bottom: 1px solid #ddd;
}

.title_content_wrapper {
	width: 60%;
	padding: 2% 20% 1% 20%;
}

.content_wrapper {
	width: 60%;
	padding: 3% 20%;
}

@media screen and (max-width: 1100px) {
	.content_wrapper {
		width: 80%;
		padding: 3% 10% 4% 10%;
	}
}

@media screen and (max-width: 800px) {
	.content_wrapper {
		width: 90%;
		padding: 3% 5%;
	}
}

.box_shadow_overlay {
	width: 100%;
	padding: 3% 0 3% 0;
	border-bottom: 1px solid #558c9b;
	/*backdrop-filter: blur(4px) brightness(1.1);*/
}

.steps_grid_container {
	display: inline-flex;
	flex-direction: column;
}

table, td {
	vertical-align: top;
	border-spacing: 40px 65px;
}
.table_horz_line {
	height: 2px;
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(198,224,225,1) 50%, rgba(255,255,255,1) 100%);
	padding: 0;
	margin: 0;
}
.step_number {
	background-color: #c6e0e1;
	border-radius: 70px;
	padding: 20px 27px;
	display: inline-block;
}

.no_wrap {
	white-space: nowrap;
}

.footer {
	flex-shrink: 0; /* Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
	color: #ccc;
	background-color: #243b41;
	padding: 2% 5%;
	font-size: 0.9em
}

/***********************************************************************************************************************/
.hero {
	background-image: url('images/hero_background_01.jpg');
	background-size: cover;
	box-shadow: 0px 1px 11px 9px rgba(0, 0, 0, 0.10);
	/*height: 600px;*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0;
	border-bottom: 27px solid #609FAF;
}
.hero_wrapper {
	margin: 0 auto;
	max-width: 700px;
	padding: 2%;
	text-align: center;
}
.hero_text {
	color: #2b484f;
	text-shadow: 0px 0px 20px rgba(255,255,255,0.8);
}
h1.hero_text {
	font-size: 310%;
}
h2.hero_text {
	font-size: 180%;
}
.hero_wrapper p {
	font-size: 1.2em;
	text-shadow: 0px 0px 10px rgba(255,255,255,0.9);
}
.gray_background_image {
	background-image: url('images/gray_background_01.jpg');
	object-fit: contain;
	background-repeat: no-repeat;
}
.gray_background_image_top_right {
	background-image: url('images/ivy_background_top_right.jpg');
	background-position: top right;
	background-repeat: no-repeat;
}
.button {
	margin: 7% 2% 2% 2%;
	border: 1px solid #4d7f8d;
	background-color: #609fb0;
	color: #fff;
	border-radius: 25px;
	padding: 5%;
	text-align: center;
	transition: all 0.3s linear 0s;
}
.button:hover {
	color:#000;
	background: #93cedd;
}
.content_404 {
	width: 100%;
	background-color: #e1e1e5;
}

#map {
	/*max-width: 980px;*/
	height: 50vh;
	width: 100%;
	border: 1px solid #bbb;
	margin: 0 auto;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	-o-border-radius: 15px;
	-ms-border-radius: 15px;
	-khtml-border-radius: 15px;
	border-radius: 15px;
}
.provider_name {
	margin-left: 3%;
}
.credentials {
	margin: 0 0 3% 0;
}
.white {
	background-color: #fff;
}
.gray {
	background-color: #eee;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.bold {
	font-weight: 700;
}
.icon {
    width: 40px;
    height: 40px;
    opacity: 0.5;
	display: block;
	margin: 0 auto 4% auto;
}
.letter_spacing{ letter-spacing: 0.07em;}
.word_spacing{word-spacing: -0.08em;}
/***********************************************************************************************************************/
.dropInDown1 {
	opacity: 0.7;
	-webkit-transform: translateY(-50px);
	-ms-transform: translateY(-50px);
	transform: translateY(-50px);
	animation: 1s ease-in-out 0.1s 1 dropInDown;
	animation-fill-mode: forwards;
}
.dropInDown2 {
	opacity: 0.5;
	-webkit-transform: translateY(-50px);
	-ms-transform: translateY(-50px);
	transform: translateY(-50px);
	animation: 1s ease-in 0.5s 1 dropInDown;
	animation-fill-mode: forwards;
}
@keyframes dropInDown {
	0% {
		opacity: 0.1;
		-webkit-transform: translateY(-50px);
		-ms-transform: translateY(-50px);
		transform: translateY(-50px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}