/* BEGIN INDEX CSS ----------------------------------------------> */


/*body
{
	top: 300px;
	top: max(90px,
	             min(300px, 90px + (300 - 90) * ((100vw - 767px) / (1920 - 767))
	));
	background: url('../i/home-banner-graphic.webp') no-repeat, linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(197,207,218,.46) 100%);

	background: url('../i/home-banner-graphic.webp') no-repeat;
	background-position: left 300px;
	background-attachment: scroll !important;
	background-size: 47vw 85vw;
}*/

/*#graphic
{
	position: absolute;
	top: 300px;
	top: max(90px,
	             min(300px, 90px + (300 - 90) * ((100vw - 767px) / (1920 - 767))
	));
	left: 0;
	display: block;
	width: 47vw;
	height: 85vw;
}*/

#index #content
{
	max-width: none;
	margin: 0px auto;
	padding-bottom: 0;
}

#index #mainContent
{
	margin: 0;
	padding: 0;
}

#index #animationWrapper
{
	min-height: 100vh;
}

#homeAnimation
{
	position: relative;
	padding-bottom: 40px;
	margin-bottom: 0;
	background: #ebf1f6;
}

#homeAnimation .dotsSVG
{
	position: absolute;
	z-index: 500;
	/*right: 89.5%;*/
	top: 0;
	display: block;
	/*width: 30vw;*/
	/*max-width: 589px;*/
	fill: #ffffff;

	/*changes per jessica*/
	left: 0;
	width: 65vw;
	height: 108%;
	aspect-ratio: unset;
	/*max-width: 707px;*/
}

#homeAnimation ul,
#homeAnimation li
{
	margin: 0;
	list-style: none;
}

#homeAnimation .content
{
	position: relative;
	padding: 35px 40px;
	line-height: 1.47;
}

#homeAnimation .title
{
	position: relative;
	--max-font-size: 46;
    --min-margin-bottom: 15;
    --max-margin-bottom: 25;
	font-family: var(--worksans);
}
/*
#homeAnimation .title::after
{
	content: '';
	display: block;
	width: 59px;
	height: 2px;
	margin-top: 5px;
	background: currentColor;
}
*/
#homeAnimation .subtitle
{
	--max-font-size: 24;
    font-weight: 400;
	font-family: var(--worksans);
}

#homeAnimation .abstract
{
	--min-font-size: 16;
    --max-font-size: 19;
	font-weight: 400; /*changed per Jessica*/
}

#homeAnimation .image
{
	position: relative;
}

#homeAnimation .image img
{
	position: relative;
	display: block;
	width: 100vw;
	height: auto;
	left: calc(50% - 50vw);

	aspect-ratio: 1920/1184
}

#homeAnimation ul li
{
	width: 100%;
}

#homeAnimation ul li .sp_pencil
{
	position: absolute;
	bottom: 10px;
	right: 10px;
}

#homeAnimation .linktext
{
	font-size: 17px;
	text-transform: uppercase;
}

#homeAnimation .linktext svg
{
	position: relative;
	width: 36px;
	height: 36px;
	top: 12px;
	margin-right: 17px;
	fill: currentColor;
}

#homeAnimation a:hover,
#homeAnimation a:focus
{
	color: #F0E6D8;
}

#pager
{
	opacity: 0;
	display: flex;
	position: absolute;
	bottom: 32px;
	right: 0;
	height: 30px;
}

#pager button
{
	position: relative;
	width: 23px;
	height: 23px;
	padding: 0;
	cursor: pointer;
	background: none;
	border: 2px solid #ffffff;
	border-radius: 50%;
}

#pager button.active::after 
{
	position: absolute;
	top: 3px;
	left: 3px;
	content: '';
	display: block;
	width: 13px;
	height: 13px;
	background: #ffffff;
	border-radius: 50%;
}

#pager button:not(:last-child)
{
	margin-right: 22px;
}

#topJump
{
	display: none;
}

.search_form form > div > div.hasFocus > label
{
	background: none;
}

#homeArea
{
	position: relative;
	/*background: #e8ecf0;*/
	z-index: 5;
}

#homeArea li,
#homeArea ul
{
	margin: 0;
	list-style: none;
}

#homeArea #areaList
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
}

#homeArea #areaList h2
{
	position: relative;
	z-index: 10;
	margin-top: 0;
	text-align: center;
	--min-font-size: 30;
	--max-font-size: 38;
	color: #ffffff;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
}

#homeArea #areaList li
{
	position: relative;
	margin: 0;
	/*background: #001F60;*/
}

#homeArea #areaList a
{
	display: block;
	padding: 30px 20px;
	text-transform: uppercase;
	color: #ffffff;
	text-align: center;
}

#homeArea #areaList .title
{
	line-height: 1.2;
	--max-font-size: 26;
	letter-spacing: 2px;
	font-family: var(--worksans);
}

#homeArea #areaList .image img
{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

#homeArea #areaList .image::after
{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0.7) 0%,rgba(0,0,0,.07) 90%);
}

#homeArea #areaList .title
{
	position: relative;
	z-index: 1;
}

#areaBlurb
{
	padding-bottom: 80px;
}

#areaBlurb > div.results
{
	width: 80%;
	max-width: 1000px;
	text-align: center;
	padding: 70px 0 0 0;
	margin: 0 auto;
}

#areaBlurb .title
{
	position: relative;
	--max-font-size: 38;
	line-height: 1.2;
	font-weight: 600;
	color: #001f39;
	font-family: var(--worksans);
}

#areaBlurb .title::after
{
	content: '';
	display: block;
	width: 161px;
	height: 2px;
	margin: 20px auto 30px;
	background: #DD2625;
}

#homeArea .standardButton
{
	display: flex;
	justify-content: center;
}

#footer
{
	margin-top: 0;
}

#homeAnimation #Dot-MaskInlineSVG
{
	/* I have to hide this or else nothing below it is clickable.  It is shown on scroll */
	display: none;
}

/* bio search */
#homeBioSearch
{
	position: relative;
	max-width: 522px;
	padding: 30px 0 50px;
	margin: 0 auto;
	/*background: #ffffff;*/
}

#homeBioSearch > div > form > div
{
	display: block;
}

#homeBioSearch label
{
	z-index: 601;
	top: 10px;
	left: 10px;
	padding-top: 0;
	font-size: 24px;
	color: #001f39;
	font-weight: 400;
}

#homeBioSearch label:hover
{
	color: #B4C2D0;
}

#homeBioSearch input[type=text]
{
	position: relative;
	z-index: 600;
	height: 75px;
	min-height: unset;
	padding-top: 0;
	background: #ffffff !important;
	border: 2px solid #e4e4e4;
	border-radius: 40px;
}

#homeBioSearch button
{
    position: absolute;
    z-index: 601;
    right: 10px;
    top: 9px;
    width: 58px;
    height: 58px;
    padding: 0;
    margin: 0;
    background: none;
}

#homeBioSearch button svg 
{
	display: block;
	width: 100%;
	height: auto;
}

#homeBioSearch button .svgCircle
{
    fill: #d94c38;
}

#homeBioSearch button .svgInnards 
{
	fill: #ffffff;
}

/*#homeBioSearch button:hover svg path,
#homeBioSearch button:focus svg path
{
	fill: #B4C2D0;
}*/


#homeBioSearch form > div > div.hasFocus::after
{
	width: 100%;
}

.staggeredSpotlights
{
	background: #e9edf1;

	background: url('../i/half-circles-body-background.svgz') bottom right no-repeat  #e9edf1; /* data-uri */

	background-size: 70vw auto;
}


#homeArea
{
	background: #e9edf1;
}

#homeArea #areaList
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	padding: 50px 0;
	background: #001F60;
	box-sizing: border-box;
}

#homeArea #areaList #imageBucket
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#homeArea #areaList #imageBucket::after
{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0,0,0,1) 20%,rgba(0,0,0,.11) 100%);
	opacity: .7;
}

#homeArea #areaList #imageBucket img
{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#innerMain
{
	margin-bottom: 0;
}

#content::before
{
	display: none;
}


#homeArea .standardButton a 
{
	display: flex;
	align-items: center;
	padding: 7px 18px 5px 9px;
	border-radius: 30px;
	background: #ffffff;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	font-family: 'worksans', Arial, sans-serif;
}

#homeArea .standardButton a svg 
{
	top: -1px;
}

#homeArea .standardButton a:is(:hover, :focus)
{
	background: none;
	color: #ffffff;
	border-color: #ffffff;
}

@media (min-width: 480px)
{
	#index #animationWrapper
	{
		min-height: 0;
	}
}

@media (min-width: 768px)
{
	
	#homeAnimation
	{
		padding-bottom: 0;
	}

	#homeAnimation .content
	{
		position: absolute;
		left: 209px;
		left: max(100px,
		             min(209px, 100px + (209 - 100) * ((100vw - 768px) / (1920 - 768))
		));
		bottom: 128px;
		bottom: max(50px,
		             min(128px, 50px + (128 - 50) * ((100vw - 768px) / (1920 - 768))
		));
		width: 65%;
		max-width: 780px;
		color: #ffffff;
	}

	#homeAnimation .content a:not(:focus):not(:hover)
	{
		color: inherit;
	}

	#homeAnimation .content a svg path
	{
		fill: currentColor;
	}

	#homeAnimation .dotsSVG
	{
		/*top: 401px;
		top: max(211px,
		             min(401px, 211px + (401 - 211) * ((100vw - 768px) / (1920 - 768))
		));*/
		left: -44px;
		top: 0;

		width: 50vw;
	}

	#homeAnimation .image::after
	{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: linear-gradient(to right, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%),
					linear-gradient(to top, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%);

	}

	#pager
	{
		position: absolute;
		right: 96px;
		right: max(50px,
		             min(96px, 50px + (96 - 50) * ((100vw - 768px) / (1920 - 768))
		));
		bottom: 78px;
		bottom: max(30px,
		             min(78px, 30px + (78 - 30) * ((100vw - 768px) / (1920 - 768))
		));
		z-index: 500;
		height: auto;
	}

	#pager button
	{
		border-color: #ffffff;
	}

	#pager button.active
	{
		background: rgba(255,255,255,.5);
	}

	#homeArea #areaList
	{
		padding: 80px 30px 200px;
	}

	#homeArea #areaList h2
	{
		margin-bottom: 45px;
	}

	#homeArea #areaList li
	{
		position: static;
		margin: 0 0 38px;
		text-align: center;
		background: none;
	}

	#homeArea #areaList .image::after
	{
		display: none;
	}

	#homeArea #areaList .image img
	{
		display: none;
	}

	#homeArea #areaList a
	{
		position: static;
		display: inline-block;
		padding: 0;
		text-align: center;
		font-size: 23px;
		transition: all 250ms ease;
	}

	#homeArea #areaList li a:hover,
	#homeArea #areaList li a:focus
	{
		/*transform: scale(1.05);*/ /*removed per swati*/
		font-weight: 500;
		color: #F0E6D8;
	}

	#homeAnimation
	{
		background: none;
	}

	#homeAnimation .image img
	{
		width: 100%;
		left: auto;
	}

	#areaBlurb .title::after
	{
		content: '';
		display: block;
		width: 161px;
		height: 2px;
		margin: 15px auto 40px;
		background: #DD2625;
	}

	#areaBlurb
	{
		position: relative;
		top: -128px;
		background: #d94c38;
	}

	#areaBlurb p 
	{
		color: #ffffff;
	}

	#homeArea .standardButton
	{
		margin-top: 60px;
	}


	#areaList
	{
		letter-spacing: 1px;
	}

}


@media (min-width: 920px)
{
	

	#homeBioSearch button
	{
		top: 4px;
	}
}


@keyframes home_header_nav_rise
{
	0%
	{
		transform:translateY(70px);
		opacity:0;
	}

	25%
	{
		opacity:0;
	}

	100%
	{
		transform:translateY(0);
		opacity:1;
	}
}

/*@keyframes home_extras_fade_in
{
	0%
	{
		opacity:0;
	}

	25%
	{
		opacity:0;
	}

	100%
	{
		opacity:1;
	}
}*/

@keyframes home_banner_scale
{
	0%
	{
		opacity: 0;
		transform: scale(.9);
	}

	25%
	{
		opacity: 0;
		transform: scale(.9);
	}

	100%
	{
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes home_background_slide
{
	0%
	{
		background-position: -1000px 1000px;
	}

	25%
	{
		background-position: -1000px 1000px;
	}

	100%
	{
		background-position: left 300px;
	}
}

@keyframes home_dot_slide
{
	0%
	{
		right: 120%;
	}

	25%
	{
		right: 120%;
	}

	100%
	{
		right: 89.5%;
	}
}

@media (min-width: 1150px)
{

	/* All the extra fluff animations on the home page.  Triggered by "pageLoaded" class */

	#logo
	{

		opacity: 0;
		animation-name: home_header_nav_rise;
		animation-duration: .8s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		animation-delay: 1100ms;
		/*position: relative;
		top: 90px;
		opacity: 0;
		transition: top 800ms ease-out 700ms, opacity 800ms ease-out 1100ms;*/
	}

	#topNav > ul > li
	{
		opacity: 0;
		animation-name: home_header_nav_rise;
		animation-duration: .8s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		animation-delay: 1300ms;
		/*top: 50px;
		opacity: 0;
		transition: top 800ms ease-out 1300ms, opacity 800ms ease-out 1300ms;*/
	}

	#topNav > ul > li:nth-child(2) { animation-delay: 1400ms; }
	#topNav > ul > li:nth-child(3) { animation-delay: 1500ms; }
	#topNav > ul > li:nth-child(4) { animation-delay: 1600ms; }

	body#index button#navToggle,
	body#index #searchJump
	{

		opacity: 0;
		animation-name: home_header_nav_rise;
		animation-duration: .8s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		animation-delay: 1800ms;

		/*opacity: 0;
		transition: opacity 800ms ease-out 1800ms;*/
	}

	body#index #searchJump
	{
		/*transition-delay: 2000ms;*/

		animation-delay: 2000ms;
	}


	/*body.pageLoaded #logo,
	body.pageLoaded #topNav > ul > li
	{
		top: 0;
		opacity: 1;
	}

	body#index.pageLoaded #searchJump,
	body#index.pageLoaded button#navToggle
	{
		opacity: 1;
	}*/

	#homeAnimation
	{

		opacity: 0;
		transform: scale(.9);
		animation-name: home_banner_scale;
		animation-duration: 1500ms;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		animation-delay: 0ms;


		/*opacity: 0;
		transform: scale(.90);
		transition: all 1500ms ease 500ms;*/
	}

	/*body.pageLoaded #homeAnimation
	{
		opacity: 1;
		transform: scale(1);
	}*/

	#homeAnimation .dotsSVG
	{

		animation-name: home_dot_slide;
		animation-duration: 1500ms;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		animation-delay: 1500ms;

		/*transition: all 1500ms ease 1700ms*/
	}

	/*body.pageLoaded #homeAnimation .dotsSVG
	{
		right: 89.5%;
	}*/

	/*body
	{

		background: url('../i/home-banner-graphic.webp') no-repeat;
		background-position: -1000px 1000px;
		background-size: 47vw 85vw;
		background-attachment: fixed;

		animation-name: home_background_slide;
		animation-duration: 1200ms;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		animation-delay: 1500ms;

		background: url('../i/home-banner-graphic.webp') no-repeat;
		background-position: -1000px 1000px;
		background-size: 47vw 85vw;
		background-attachment: fixed;

		transition: background 1200ms ease 1700ms;
	}*/

	/*body.pageLoaded
	{
		background-position: left 300px;
	}*/

}


@media (min-width: 1280px)
{

	/*body
	{
		background: url('../i/home-banner-graphic.webp') no-repeat;
		background-position: left 300px;
		background-size: 47vw 85vw;
		background-attachment: fixed;
	}*/

	#animationWrapper
	{
		position: relative;
		padding-top: 2100px;
	}

	/*#homeBioSearch
	{
		margin-top: calc(3100px - 100vh);
	}*/

	#homeAnimation
	{
		position: fixed;
		top: 0;
		padding-top: 131px;
		width: calc(100vw - 104px);
		margin-bottom: 0;
		height: calc(100vh - 136px);
		min-height: 500px;
	}

	#homeAnimation div.results,
	#homeAnimation ul.results_list,
	#homeAnimation li,
	#homeAnimation .image
	{
		height: 100%;
		width: 100%;
	}

	#homeAnimation .image img
	{
		height: 100%;
		object-fit: cover;
	}

	#homeAnimation #Dot-MaskInlineSVG
	{
		display: none;
		position: fixed;
		z-index: 1000;
		left: calc(50% - 765px);
		/*bottom: calc(50% - 50vh);*/
		bottom: 0;
		width: 0;
		height:0;

		width: 1540px;
		height: 950px;
		fill: #ffffff;
		transform: scale(35); /*making sure this isn't seen at all if at the top of the page*/
		transition: all 100ms ease;

		

		

		/* background: #ffffff;
		mask-image:

		radial-gradient(circle 55px at 53% 17%,   transparent 55px, black 56px),

		radial-gradient(circle 75px at 36% 47%,   transparent 75px, black 76px),

		radial-gradient(circle 75px at 53% 47%,   transparent 75px, black 76px),

		radial-gradient(circle 75px at 68% 47%,   transparent 75px, black 76px),

		radial-gradient(circle 75px at 53% 73%,   transparent 75px, black 76px);
		mask-composite: intersect; */


	}

	#homeAnimation #Dot-MaskInlineSVG img 
	{
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#homeAnimation #Dot-MaskInlineSVG circle,
	#homeAnimation #Dot-MaskInlineSVG ellipse,
	#homeAnimation #Dot-MaskInlineSVG line,
	#homeAnimation #Dot-MaskInlineSVG polygon,
	#homeAnimation #Dot-MaskInlineSVG polyline,
	#homeAnimation #Dot-MaskInlineSVG rect,
	#homeAnimation #Dot-MaskInlineSVG path
	{
		shape-rendering: geometricPrecision;
		image-rendering: crisp-edges;
		will-change: transform; /* helps prevent aliasing and cleans up edges of svg when scaling */
		transform: translateZ(0);
	}

	body.startMaskAnimation #homeAnimation #Dot-MaskInlineSVG
	{
		display: block;
		/* transform: scale(max(1.41,var(--scale_amount))); */ 
		transform: scale(max(1.41, var(--scale_amount))) translateZ(0);/*min scale amount changed per swati - translateZ added to help force GPU rendering */
		
	}

	/*make sure the scale is forced to the minumum if the page is refreshed/loaded past the animation effect.  Otherwise, the script that reduces the scale on scroll isn't run and it will be scale(35) (or whatever is set above for the starting scale)*/
	body.startMaskAnimation.stopAnimation #Dot-MaskInlineSVG
	{
		transform: scale(1.41) !important;
	}

	body.stopAnimation #content
	{
		padding-top: 0;
	}

	body.stopAnimation #homeAnimation
	{
		position: absolute;
		top: auto;
		bottom: 0;
		z-index: 1;
	}

	body.stopAnimation #homeAnimation #Dot-MaskInlineSVG
	{
		position: absolute;
		top: auto;
		bottom: 0;
	}

	#homeAnimation .content
	{
		transition: all 500ms ease;
	}

	#homeAnimation.hideContent .content
	{
		opacity: 0;
	}

	#homeBioSearch
	{
		position: relative;
		z-index: 500;
		opacity: 0;
		top: 0;
		transition: all 500ms ease;
	}

	#homeBioSearch.startAnimation
	{
		top: -150px;
		opacity: 1;
	}

	#homeBioSearch label
	{
		left: 0;
		top: 10px;
		font-size: 32px;
	}

	#homeBioSearch button
	{
		top: 8px;
		padding: 0;
	}


}


@media (min-width: 1350px)
{
	#homeAnimation
	{
		width: calc(100vw - 160px);
		max-width: 1540px;
	}
}


@media (min-width: 1600px)
{
	#homeAnimation #Dot-MaskInlineSVG
	{
		transform: scale(40);
	}
}


@media (min-width: 1920px)
{
	#homeAnimation #Dot-MaskInlineSVG
	{
		transform: scale(50);
	}
}


/* Home Alert Message */

#alertMessage
{
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 98;
	width: 100%;
	padding: 20px 80px 20px 80px;
	background: #9f0604;
	box-sizing: border-box;
	color: #ffffff;
	line-height: 1.2;
	text-align: center;
}

#alertMessage *
{
	margin: 0;
	padding: 0;
	color: #ffffff;
}

#alertMessage a
{
	text-decoration: underline;
}

@media (max-width: 1349px)
{
	#alertMessage
	{
		padding: 20px 44px 20px 44px;
	}
}

@media (max-width: 1024px)
{
	#alertMessage
	{
		padding: 12px 16px 12px 16px;
		font-size: 0.9rem;
	}
}

@media (max-width: 920px)
{
	#homeAnimation .image img
	{
		min-height: 50vw;
	}
}


/* Home Notice Message */

#noticeMessageWrapper
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: calc(50% - 5vh);
	left: calc(50% - 45vw);
	z-index: 99;
	height: 10vw;
	width: 90vw;
	background: #000000;
}

#noticeMessage
{
	position: relative;
	z-index: 999999;
	overflow: hidden;
	width: 100%;
	background: #000000;
	color: #ffffff;
	font-size: 1.1rem;
}

#noticeMessage > div
{
	margin: 0;
	padding: 1.5em 2.5em;
}

#noticeMessage > div p
{
	margin: 0;
	padding: 0;
}




/* END INDEX CSS ------------------------------------------------> */
