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


body
{

}

body.cookieOptionsOpen
{
	overflow: hidden;
	height: 100vh;
}

#header
{
	position: absolute;
	left: 0;
	background: none;
	width: 100%;
	z-index: 500;
	padding: 40px 5vw;
	box-sizing: border-box;
	opacity: 1 !important;
}

body.mobileActive
{
	position: fixed;
}

#header svg path
{
	fill: #ffffff !important;
}

.mobileNavBox span
{
	background: #ffffff;
}

button#navToggle
{
	right: 5vw;
}

#searchJump
{
	right: calc(5vw + 50px);
}

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

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

#homeSlides ul.results_list,
#homeSlides ul.results_list li
{
	margin: 0;
	list-style: none;
}

#homeSlides > div > ul.results_list > li
{
	display: block;
}

#homeSlides > div > ul.results_list > li > div
{
	min-height: 100vh;
}

#homeSlides .xrefMultimediaList ul.results_list li
{
	margin-bottom: 30px;
}

.slide1
{
	display: flex;
	align-items: flex-end;
	padding-top: 200px;
	padding-bottom: 175px;
	min-height: 100vh;
	position: relative;
	background: var(--navy-blue);
	color: #ffffff;
	box-sizing: border-box;
}

#slide1Animation
{
	position: absolute;
	top: 0;
	right: -6%;
	width: 70%;
	max-width: 1200px;
	height: auto;
}

#slide1Animation div
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
}

#slide1Animation div::after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--navy-blue);
	transition: all 1050ms linear;
}

@keyframes image1_animation
{
	0%
	{
		clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%);
	}


	50%
	{
		clip-path: polygon(0 0, 100% 0, 50% 50%, 20% 100%, 0 100%);
	}


	100%
	{
		clip-path: polygon(0 0, 100% 0, 50% 0%, 0% 0%, 0 0%);
	}
}


#slide1Animation #image1{	z-index: 40;}
#slide1Animation #image1::after
{
	width: 48%;
	height: 52%;
	left: auto;
	right: 0;
	animation: image1_animation .5s forwards;
	animation-timing-function: linear;
	animation-delay: 1s;
	/*background: yellow;
	clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 50% 50%, 20% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 50% 0%, 0% 0%, 0 0%);*/

}


@keyframes image2_animation
{
	0%
	{
		clip-path: polygon(0 0, 50% 0, 100% 0%, 100% 100%, 0 100%);
	}

	35%
	{
		clip-path: polygon(0% 10%, 50% 45%, 100% 0%, 100% 100%, 0 100%);
	}

	70%
	{
		clip-path: polygon(0% 100%, 50% 75%, 100% 88%, 100% 100%, 0 100%);
	}

	100%
	{
		clip-path: polygon(100% 100%, 100% 90%, 100% 88%, 100% 100%, 0 100%);
	}
}


#slide1Animation #image2{	z-index: 30;}
#slide1Animation #image2::after
{
	width: 100%;
	height: 100%;
	animation: image2_animation .75s forwards;
	animation-delay: 1.5s;
	animation-timing-function: linear;

	/*background: yellow;
	clip-path: polygon(0 0, 50% 0, 100% 0%, 100% 100%, 0 100%);
	clip-path: polygon(0% 10%, 50% 45%, 100% 0%, 100% 100%, 0 100%);
	clip-path: polygon(0% 100%, 50% 75%, 100% 88%, 100% 100%, 0 100%);
	clip-path: polygon(100% 100%, 100% 90%, 100% 88%, 100% 100%, 0 100%);*/

}



@keyframes image3_animation
{
	0%
	{
		right: 0;
	}


	100%
	{

		right: 100%;
	}
}

#slide1Animation #image3{	z-index: 20;}
#slide1Animation #image3::after
{
	top: 50%;
	left: auto;
	right: 0;
	width: 60%;
	height: 50%;
	animation: image3_animation 1s forwards;
	animation-delay: 2s;
	animation-timing-function: linear;


}


@keyframes image4_animation
{
	0%
	{
		clip-path: polygon(0% 0, 50% 0%, 100% 0%, 100% 100%, 0 100%);
	}

	35%
	{
		clip-path: polygon(0% 100%, 50% 0%, 100% 0%, 100% 100%, 0 100%);
	}

	70%
	{
		clip-path: polygon(100% 100%, 50% 0%, 100% 0%, 100% 100%, 0 100%);
	}

	100%
	{
		clip-path: polygon(100% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%);
	}
}

#slide1Animation #image4{	z-index: 10;}
#slide1Animation #image4::after
{
	width: 81%;
	height: 55%;
	animation: image4_animation .75s forwards;
	animation-delay: 2.5s;
	animation-timing-function: linear;

	/*background: yellow;
	clip-path: polygon(0% 0, 50% 0%, 100% 0%, 100% 100%, 0 100%);
	clip-path: polygon(0% 100%, 50% 0%, 100% 0%, 100% 100%, 0 100%);
	clip-path: polygon(100% 100%, 50% 0%, 100% 0%, 100% 100%, 0 100%);
	clip-path: polygon(100% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%);*/


}


#slide1Animation div img
{
	display: block;
	width: 100%;
	height: auto;
}

#image4
{
	z-index: -1;
}


.slide1 .slide1aligner
{
	position: relative;
	z-index: 400;
	/*max-width: 530px;*/
	max-width: 600px;
	padding-bottom: 40px;
}

.slide1 p
{
	--min-font-size: 20;
	/*--max-font-size: 23;*/
	--max-font-size: 24;/*changed per client*/
	--fluid-end: 768;
}

.slide1 h2
{
	margin: 0;
	color: inherit;
	--min-font-size: 45;
	--max-font-size: 93;
	--fluid-end: 1024;
	border-bottom: none;
	line-height: 1;
}

button.jumplink
{
	display: block;
	position: absolute;
	left: calc(50% - 9px);
	z-index: 1000;
	/*bottom: 60px;*/
	bottom: 30px;
	width: 18px;
	height: 18px;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: none;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;

	transform: rotate(45deg);
	background: none;
	cursor: pointer;
}

#homeSlides > div > ul.results_list > li > div
{
	padding-bottom: 60px;
	box-sizing: border-box;
}

.slide1 h2::after
{
	display: block;
	content: '';
	max-width: 112px;
	height: 2px;
	margin: 20px 0;
	background: var(--orange);

	opacity: 1;
    animation-name: expand-right;
    animation-duration: 10s;
    animation-timing-function: ease-out;
    animation-delay: .5s;
    animation-fill-mode: both;

}

.slide1 p a
{
	color: var(--orange);
}

.slide1 .readMore
{
	margin-top: 25px;
	color: #ffffff;
}


#homeSlides .slide6 .videoMore
{
	margin-top: 30px;
	color: #ffffff;
}

#homeSlides .readMore
{
	margin-top: 30px;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .7px;
	line-height: 1.5;
}

#homeSlides .readMore a
{
	display: inline-block;
	width: auto;
	text-decoration: none !important;
}

#homeSlides .view_more a
{
	position: relative;
	line-height: 1.5;
}

#homeSlides .readMore a
{
	position: relative;
	color: inherit;
}

#homeSlides .readMore a::after,
#homeSlides .view_more a::after
{
	display: block;
	width: 0;
	height: 1px;
	background: #ffb600;
	content: "";
	transition: width .5s;
}

#homeSlides .readMore a:focus::after,
#homeSlides .readMore a:hover::after,
#homeSlides .view_more a:hover::after,
#homeSlides .view_more a:focus::after
{
	width: 100%;
}

.slide2
{
	position: relative;
	display: flex;
	align-items: center;
	min-height: 100vh;
}

.slide2 button.jumplink,
.slide3 button.jumplink,
.slide5 button.jumplink
{
	border-color: var(--navy-blue);
}

.slide2 .squareColumns
{
	background: none;
}

.slide2 .squareColumns ul.results_list
{
	display: block;
}

#homeSlides .slide2 .squareColumns ul.results_list li
{
	position: relative;
	margin: 0 0 20px;
	color: #000000;
	background: none;
}

.slide2 .squareColumns ul.results_list li::after
{
	content: '';
	display: block;
	width: 56px;
	height: 1px;
	margin-top: 24px;
	background: var(--orange);
}


.slide2 .squareColumns .type
{
	background-size: 0%;
	background-repeat: no-repeat;
}

.slide2 .squareColumns .type span
{
	opacity: 0;
}

.slide2.startAnimation .squareColumns .type
{
	margin-bottom: 35px;
	animation-name: expand-background-right;
    animation-duration: .8s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

.slide2.startAnimation .squareColumns .type span
{
	animation-name: fadeIn;
    animation-fill-mode: both;
    animation-duration: .8s;
}

.slide2 .squareColumns .title
{
	padding: 0;
	margin: 0;
	--min-font-size: 17;
	--max-font-size: 26;
	--fluid-end: 1600;
	line-height: 1.4;
	color: inherit;
}

.slide2 .squareColumns .title a
{
	color: inherit;
}

.homeservices .squareColumns
{
	display: grid;
	grid-gap: 70px;
}


#homeSlides .view_more a
{
	padding: 0;
	margin-top: 10px;
	text-transform: uppercase;
	font-size: 15px;
	font-weight: 500;
	color: inherit;
	letter-spacing: 1px;
	background: none;
}

.slide3
{
	padding: 10px 0;
}

.slide3 h2
{
	--min-margin-bottom: 10;
	--max-margin-bottom: 20;
}

.xrefMultimediaList .title
{
	/*--min-font-size: 20;
	--max-font-size: 32;*/

	/*this was making the slide6 container 1000s of pixels tall for some reason*/
	/*--fluid-start: 1230;
	--fluid-end: 1230;*/

	max-width: 90%;
}
/*
.xrefMultimediaList .playbutton,
.multimediaItem .playbutton
{
	display: block;
	position: absolute;
	bottom: 22px;
	left: 22px;
	width: 34px;
	height: 34px;
	padding: 6px 0 0 14px;
	background: var(--orange);
	border-radius: 17px;
	transition: all 500ms ease;
	text-transform: uppercase;
	font-size: 14px;
	color: #000000;
	font-weight: 600;
	letter-spacing: 1px;
	box-sizing: border-box;
	z-index: 50;
}

.multimediaItem .playbutton a
{
	position: relative;
	bottom: 0;
	left: 0;
}

.xrefMultimediaList .playbutton::after,
.multimediaItem .playbutton::after
{
	position: absolute;
	right: 12px;
	top: calc(50% - 8px);
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 8px;
	border-color: transparent transparent transparent #000000;
	transition: all 500ms ease;
}

.xrefMultimediaList .playbutton span,
.multimediaItem .playbutton span
{
	opacity: 0;
	transition: opacity 250ms ease;
}

.xrefMultimediaList li:hover .playbutton span,
.xrefMultimediaList li:focus-within .playbutton span
{
	opacity: 1;
	transition-delay: 500ms;
}

.xrefMultimediaList li:hover .playbutton,
.xrefMultimediaList li:focus-within .playbutton
{
	width: 100px;
}
*/
.slide3 h2,
.slide5 h2,
.slide6 h2
{
	color: var(--navy-blue);
	border: none;
	text-align: center;
	--min-font-size: 28;
	--max-font-size: 55;
	line-height: 1.2;
}

.slide3,
.slide4,
.slide5,
.slide6
{
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.slide6
{
	display: block;
}

.multimedia .results_list
{
	/*display: grid;
	grid-row-gap: 35px;*/
}

/*#homeSlides .multimedia .xrefMultimediaList li
{
	margin-bottom: 35px;
}*/

.slide4
{
	position: relative;
	background: var(--dark-purple);
	color: #ffffff;
	text-align: center;
}

.homeslideshow
{
	width: 100%;
}

.homeslideshow a
{
	color: inherit;
}

/*.homeslideshow .imageWrapper
{
	display: none;
}*/

.homeslideshow .title
{
	margin-bottom: 20px;
	text-align: center;
	--min-font-size: 28;
	--max-font-size: 55;
	line-height: 1.4;
	font-weight: 700;
}

.homeslideshow .buttonLink
{
	margin-top: 50px;
}

.homeslideshow .buttonLink a
{
	background: none;
	color: #ffffff;
}

.homeslideshow .buttonLink a:hover
{
	color: #000000;
	background: var(--orange);
}

.homeslideshow .content
{
	position: relative;
	z-index: 110;
	width: 100%;
	max-width: 530px;
	margin: 0 auto;
	/*opacity: 0;*/
}

/*.slide4.startAnimation .content
{
	animation-name: fadeIn;
    animation-fill-mode: both;
    animation-duration: 2s;
}*/

.homeslideshow .content p
{
	--min-font-size: 18;
	--max-font-size: 30;
	line-height: 1.5;
}

.homeslideshow #pagerWrapper
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 40px;
}

.homeslideshow #pager
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.homeslideshow #pager button
{
	display: block;
	width: 42px;
	height: 2px;
	background: #ffffff;
	border: none;
	cursor: pointer;
}

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

.homeslideshow #pager button.cycle-pager-active
{
	background: var(--orange);
}

.homeslideshow li
{
	width: 100%;
}

.slide4aligner
{
	width: 100%;
}


.slide5 h2
{
	margin-bottom: 40px;
	text-align: left;
}

.homeImageFreeForm
{
	width: 100%;
}

.homeImageFreeForm a
{
	color: inherit;
}

.homeImageFreeForm ul.results_list
{
	display: grid;
	row-gap: 35px;
}

.homeImageFreeForm .image
{
	width: 140px;
	margin: 20px 0;
}

.homeImageFreeForm .image img
{
	display: block;
	width: 100%;
	height: auto;
}

.homeImageFreeForm .title
{
	margin-bottom: 16px;
	--min-font-size: 18;
	--max-font-size: 21;
	line-height: 1.5;
}

.homeImageFreeForm li:not(:last-child)
{
	padding-bottom: 30px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--orange);
}


.slide6
{
	padding: 35px 0 75px;
	background: var(--navy-blue);
	color: #ffffff;
}

.slide6 a
{
	color: inherit;
}

.slide6 .view_more
{
	margin: 0;
}

.slide6 .view_more a
{
	padding: 0;
	background: none;
	border: none;
}

.multimedia2
{
	margin-bottom: 60px;
}

.multimedia2 .readMore,
.multimedia .readMore
{
	margin-top: 30px;
}

.multimedia .view_more
{
	margin-top: 36px;
	text-align: center;
}

.slide6 h2
{
	position: relative;
	text-align: left;
	color: #ffffff;
	line-height: 1.1;
}

.slide6text hr
{
	position: relative;
	padding: 20px 0;
	border: none;
}

.slide6 h2::after
{
	margin: 20px 0 0;
}

.slide6text hr::after,
.slide6 h2::after
{
	content: '';
	display: block;
	width: 0;
	max-width: 118px;
	height: 2px;
	background: var(--orange);

}

.slide6.startAnimation .slide6text hr::after,
.slide6.startAnimation h2::after
{

	animation-name: expand-right;
	animation-duration: 3s;
	animation-timing-function: ease-out;
	animation-delay: 1s;
	animation-fill-mode: both;
}

.slide6 .slide6text hr:nth-of-type(1)::after
{
	animation-delay: 1.3s;
}

.slide6 .slide6text hr:nth-of-type(2)::after
{
	animation-delay: 1.6s;
}

.slide6 .slide6text hr:nth-of-type(3)::after
{
	animation-delay: 1.9s;
}

.slide6 .slide6text hr:nth-of-type(4)::after
{
	animation-delay: 2.2s;
}

.slide6text h3
{
	--min-font-size: 24;
	--max-font-size: 30;
}

.slide6text p.view_more a
{
	min-width: unset;
}

.slide7
{
	min-height: auto !important;
}






#backToTop
{
	opacity: 0;
	transition: opacity 1000ms ease;
	position: fixed;
	right: 5%;
	bottom: 50px;
	min-width: unset;
	z-index: 100;
}

#backToTop svg
{
	height: 0.8em;
	transform: rotate(270deg);
}

body.scrolled #backToTop
{
	opacity: 1;
}

@keyframes innercircle_reveal
{


	0%
	{
		clip-path: polygon(

			30% 12%,

						100% 12%,
						100% 50%,
						50% 50%,
						50% 50%,
						100% 50%,
						100% 88%,

				30% 87%,
				30% 72%,
					50% 72%,
					50% 28%,

			30% 28%
		);
	}

	33%
	{
		clip-path: polygon(

			30% 12%,

						100% 12%,
						100% 12%,
						50% 50%,
						50% 50%,
						100% 88%,
						100% 88%,

				30% 87%,
				30% 72%,
					50% 72%,
					50% 28%,

			30% 28%
		);
	}

	66%
	{
		clip-path: polygon(

			30% 12%,

						30% 12%,
						30% 12%,
						50% 50%,
						50% 50%,
						30% 88%,
						30% 88%,

				30% 87%,
				30% 72%,
					30% 72%,
					30% 28%,

			30% 28%
		);
	}


	100%
	{
		clip-path: polygon(

			30% 50%,

						30% 50%,
						30% 50%,
						50% 50%,
						50% 50%,
						30% 50%,
						30% 50%,

				30% 87%,
				30% 72%,
					30% 72%,
					30% 28%,

			30% 28%
		);
	}

}

@keyframes outercircle_reveal
{
	0%
	{
		clip-path: polygon(

		0% 0%,
		0% 50%,
			50% 50%,
		0% 50%,
		0% 100%,
				100% 100%,
				100% 0%
		);
	}

	33%
	{
		clip-path: polygon(

		0% 0%,
		0% 0%,
			50% 50%,
		0% 100%,
		0% 100%,
				75% 100%,
				75% 0%
		);
	}

	66%
	{
		clip-path: polygon(

		75% 0%,
		75% 0%,
			50% 50%,
		75% 100%,
		75% 100%,
				75% 100%,
				75% 0%
		);
	}

	100%
	{
		clip-path: polygon(

		75% 50%,
		75% 50%,
			50% 50%,
		75% 50%,
		75% 50%,
				75% 100%,
				75% 0%
		);
	}
}


.slide4 
{
	padding-top: 100px;
}

.slide4 .image
{
	display: block;
	width: 30vw;
	height: 30vw;
	max-width: 384px;
	max-height: 384px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto;
}

.slide4 .image img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slide4 .image
{
	opacity: 0;
	transform: scale(0);
}

.slide4.startAnimation .image
{
	animation-name: zoomIn;
    animation-fill-mode: forwards;
    animation-duration: 1s;
    animation-delay: 1.4s;
}

/*.homeslideshow .imageWrapper
{
	display: block;
	position: absolute;
	top: 15%;
	left: 10vw;
	width: 20vw;
	height: 20vw;
}*/

.homeslideshow .imageWrapper 
{
	position: relative;
	width: 200px;
	height: 200px;
	margin: 0 auto;
}

.homeslideshow .imageWrapper .image
{
	position: relative;
	/*width: 60%;
	height: 60%;*/
	left: 0%;
	width: 200px;
	height: 200px;
}


.homeslideshow .imageWrapper .outercircle,
.homeslideshow .imageWrapper .innercircle
{
	display: block;
	position: absolute;
	top: -100px;
	width: 400px;
	height: 400px;
	left: -100px;
}

.homeslideshow .imageWrapper .outercircle::after
{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: var(--dark-purple);

}

.slide4.startAnimation .homeslideshow li.current .outercircle::after
{

	animation: outercircle_reveal 1.25s forwards;
	animation-delay: 1s;
	animation-timing-function: linear;

	/*transition: all 500ms ease 1000ms;
	background: yellow;

	clip-path: polygon(

		0% 0%,
		0% 50%,
			50% 50%,
		0% 50%,
		0% 100%,
				100% 100%,
				100% 0%
	);

	clip-path: polygon(

		0% 0%,
		0% 0%,
			50% 50%,
		0% 100%,
		0% 100%,
				75% 100%,
				75% 0%
	);

	clip-path: polygon(

		75% 0%,
		75% 0%,
			50% 50%,
		75% 100%,
		75% 100%,
				75% 100%,
				75% 0%
	);

	clip-path: polygon(

		75% 50%,
		75% 50%,
			50% 50%,
		75% 50%,
		75% 50%,
				75% 100%,
				75% 0%
	);*/
}


.homeslideshow .imageWrapper .innercircle::after
{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: var(--dark-purple);

}


/* active state  */
.slide4.startAnimation .homeslideshow li.current .innercircle::after
{
	animation: innercircle_reveal 1.25s forwards;
	animation-delay: .75s;
	animation-timing-function: linear;

	/*transition: all 500ms ease 1000ms;
	background: yellow;

	clip-path: polygon(

		30% 12%,

					100% 12%,
					100% 50%,
					50% 50%,
					50% 50%,
					100% 50%,
					100% 88%,

			30% 87%,
			30% 72%,
				50% 72%,
				50% 28%,

		30% 28%
	);

	clip-path: polygon(

		30% 12%,

					100% 12%,
					100% 12%,
					50% 50%,
					50% 50%,
					100% 88%,
					100% 88%,

			30% 87%,
			30% 72%,
				50% 72%,
				50% 28%,

		30% 28%
	);

	clip-path: polygon(

		30% 12%,

					30% 12%,
					30% 12%,
					50% 50%,
					50% 50%,
					30% 88%,
					30% 88%,

			30% 87%,
			30% 72%,
				30% 72%,
				30% 28%,

		30% 28%
	);

	clip-path: polygon(

		30% 50%,

					30% 50%,
					30% 50%,
					50% 50%,
					50% 50%,
					30% 50%,
					30% 50%,

			30% 87%,
			30% 72%,
				30% 72%,
				30% 28%,

		30% 28%
	);*/



}

.homeslideshow .imageWrapper .outercircle img,
.homeslideshow .imageWrapper .innercircle img
{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}




@media (min-width: 768px)
{

	.slide1text
	{
		opacity: 0;
		animation-name: fadeInUp;
	    animation-fill-mode: both;
	    animation-duration: 1s;
	    animation-delay: 1s;
	}

	.slide1 .readMore
	{
		opacity: 0;
		animation-name: fadeIn;
	    animation-fill-mode: both;
	    animation-duration: .5s;
	    animation-delay: 3s;
	}

	html
	{
	  	/*scroll-behavior: smooth;*/
	}
/*
	body
	{
		scroll-snap-type: y mandatory;
		scroll-behavior: smooth;
	}*/

	#homeSlides > div > ul.results_list > li > div
	{
		min-height: 100vh;
		/*scroll-snap-stop: always;*/
	  	/*scroll-snap-align: start;
	  	scroll-behavior: smooth;*/
		/*padding-bottom: 110px; */ /*this messes up the scroll-snap */
		box-sizing: border-box;
	}

	#homeSlides > div > ul.results_list > li > div.slide4
	{
		padding-bottom: 0;
	}

	button.jumplink
	{
		bottom: 60px;
	}

	#footer
	{
		/*scroll-snap-stop: always;*/
		scroll-snap-align: start;
	}

	#homeSlides .readMore
	{
		font-size: 14px;
		letter-spacing: 1px;
	}

	.homeservices .squareColumns
	{
		grid-row-gap: 60px;
		grid-template-columns: repeat(2, 1fr);
	}

	#homeSlides .slide2 ul.results_list li,
	#homeSlides .slide2 ul.results_list li a
	{
		min-height: unset;
	}

	#homeSlides .slide2
	{
		padding-top: 30px;
	}

	.homeservices .view_more a
	{
		padding: 0;
		margin: 0 !important;
	}

	.slide2 .squareColumns .title
	{
		max-width: 85%;
	}

	.multimedia
	{
		width: 100%;
		max-width: 1235px;
		padding-bottom: 50px;
		margin: 0 auto;
	}

	/*.multimedia .results_list
	{
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 25px;
	}*/

	/*.multimedia .results_list li
	{
		overflow: hidden;
		max-height: 35vh;
	}*/

	/*.multimedia .results_list li .image > a,
	.xrefMultimediaList ul li .imagebutton,
	.xrefMultimediaList ul li .imagebutton .image
	{
		display: block;
		height: 100%;
	}*/

	.xrefMultimediaList ul li .imagebutton .image img
	{
		height: 100%;
		object-fit: cover;
	}

	div.multimedia .xrefMultimediaList .title
	{
	    /*position: absolute;
	    bottom: 0;
	    left: 22px;*/
	    /*padding-bottom: 75px;
	    padding-right: 22px;*/
	    /*color: #ffffff;
	    line-height: 1.35;*/
	}


	.slide4 .image
	{
		display: block;
		width: 30vw;
		height: 30vw;
		max-width: 384px;
		max-height: 384px;
		border-radius: 50%;
		overflow: hidden;
		margin: 0 auto;
	}

	.slide4 .image img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.slide4 .image
	{
		opacity: 0;
		transform: scale(0);
	}

	.slide4.startAnimation .image
	{
		animation-name: zoomIn;
	    animation-fill-mode: forwards;
	    animation-duration: 1s;
	    animation-delay: 1.4s;
	}

	.homeslideshow li,
	.homeslideshow #pagerWrapper
	{
		display: flex !important;
		justify-content: flex-end;
		width: 100%;
		max-width: 1460px;
	}

	.homeslideshow li > div
	{
		/*flex-basis: calc((100% - (60px*1))/2);*/
	}

	.homeslideshow #pagerWrapper
	{
		margin-top: 80px;
	}

	.homeslideshow #pager
	{
		justify-content: flex-start;
		max-width: 535px;
		padding-left: 10px;
		box-sizing: border-box;
	}

	.homeslideshow .content
	{
		margin: unset;
	}

	.homeslideshow .content,
	.homeslideshow .title
	{
		text-align: left;
	}

	.homeslideshow .content,
	.homeslideshow #pagerWrapper #pager
	{
		width: 50%;
	}

	.homeslideshow .imageWrapper
	{
		display: block;
		position: absolute;
		top: 15%;
		left: 10vw;
		width: 20vw;
		height: 20vw;
	}

	.homeslideshow .imageWrapper .image
	{
		position: relative;
		width: 100%;
		height: 100%;
		left: 0%;
	}

	.homeslideshow .imageWrapper .outercircle,
	.homeslideshow .imageWrapper .innercircle
	{
		display: block;
		position: absolute;
		top: -60%;
		/*top: -45%;*/
		left: -60%;
		width: 220%;
		height: 220%;

		max-width: 800px;
		max-height: 800px;

	}

	.homeslideshow .imageWrapper .outercircle::after
	{
		position: absolute;
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		background: var(--dark-purple);

	}

	.slide4.startAnimation .homeslideshow li.current .outercircle::after
	{

		animation: outercircle_reveal 1.25s forwards;
		animation-delay: 1s;
		animation-timing-function: linear;
	}


	.homeslideshow .imageWrapper .innercircle::after
	{
		position: absolute;
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		background: var(--dark-purple);

	}


	/* active state  */
	.slide4.startAnimation .homeslideshow li.current .innercircle::after
	{
		animation: innercircle_reveal 1.25s forwards;
		animation-delay: .75s;
		animation-timing-function: linear;
	}

	.homeslideshow .imageWrapper .outercircle img,
	.homeslideshow .imageWrapper .innercircle img
	{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
	}

	.slide5 h2
	{
		text-align: center;
	}

	.homeImageFreeForm ul.results_list
	{
		display: flex;
		grid-gap: 50px;
		justify-content: center;
	}

	.homeImageFreeForm li,
	.homeImageFreeForm li:not(:last-child)
	{
		position: relative;
		padding: 0 32px;
		border: none;
		flex-basis: 0;
		flex-grow: 1;
		max-width: 28%;
	}

	.homeImageFreeForm li::before
	{
		position: absolute;
	    left: 0;
	    width: 1px;
	    height: 0;
	    background-color: #ffb600;
	    content: "";
	}

	.slide5.startAnimation .homeImageFreeForm li::before
	{
		animation-name: expand-down;
	    animation-duration: .7s;
	    animation-timing-function: ease-out;
	    animation-delay: 1s;
	    animation-fill-mode: both;
	}

}

@media (min-width: 920px)
{
	.slide1 .aligner
	{
		max-width: 630px;
	}

	#alertMessage
	{
		padding: 20px 44px 20px 44px;
		font-size: 1rem;
	}

	.slide6aligner
	{
		display: flex;
	}

	.rightcontent
	{
		padding-left: 60px;
	}

	.slide6 .xrefMultimediaList ul
	{
		display: block;
	}

	.slide6
	{
		align-items: flex-start;
		padding: 60px 0 75px;
	}

	.multimedia2
	{
		flex: 0 1 826px;
		padding-right: 40px;
		box-sizing: border-box;
	}

	.rightcontent
	{
		flex: 0 1 678px;
	}
}

@media (min-width: 1024px)
{
	.slide1 h2::after
	{
		margin: 35px 0;
	}

	.homeImageFreeForm .image
	{
		width: 226px;
		margin-bottom: 55px;
	}

}

@media (min-width: 1400px)
{
	#backToTop
	{
		bottom: 100px;
	}
}


@media (min-width: 1800px)
{


	/* --- These are the limits on this so it doesn't grow out of control  --- */
	.homeslideshow .imageWrapper
	{

		left: 180px;
		width: 360px;
		height: 360px;
	}

	.homeslideshow .imageWrapper .outercircle,
	.homeslideshow .imageWrapper .innercircle
	{
		max-width: 792px;
		max-height: 792px;
	}
}


/* Home Alert Message */

#alertMessage
{
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 98;
	width: 100%;
	padding: 12px 16px 12px 16px;
	background: #ccc;
	box-sizing: border-box;
	color: #000000;
	font-size: 0.9rem;
	line-height: 1.2;
	text-align: center;
}

#alertMessage p,
#alertMessage p *
{
	margin: 0;
	padding: 0;
	color: #000000;
}

#alertMessage a
{
	text-decoration: underline;
}


@media (min-width: 1200px)
{
	/*.xrefMultimediaList .title,
	.xrefMultimediaList .playbutton
	{
		left: 25px;
		bottom: 10px;
	}*/

	/*.xrefMultimediaList .title
	{
		padding-bottom: 120px;
	}*/

	/*.xrefMultimediaList .playbutton
	{
		bottom: 32px;
	}*/
}

@media (min-width: 1350px)
{
	#alertMessage
	{
		padding: 20px 80px 20px 80px;
	}
}


/* Home Notice Message */

#noticeMessage
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 2000; /* so we can be over the header div */
	top: calc(50% - 5vh);
	left: 10px;
	height: 10vw;
	max-height: 80vh;
	width: calc(100% - 20px);
	background: #000000;
}

#noticeMessage:not(.open)
{
	display: none;
}

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

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

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

.noticebuttons
{
	margin-top: 1em;
}

#noticeMessage .noticebuttons > *
{
	margin-right: 1em;
}

@media (min-width: 768px)
{
	#noticeMessage
	{
		left: calc(50% - 45vw);
		width: 90vw;
	}
}


@media (min-width: 768px) and (max-height: 850px)
{

	body
	{
		--fluid-start: 700;
		--fluid-end: 850;
	}

	h1, h2, h3, h4, h5, h6, p,	ul.subNavList li,
	.expandableHeading,	#footerLinks li,
	div.buttonLink a,	.title,
	.linktext a,	.hovertitle,
	.hovertext,	.itemdate,	input[type=submit],	p.view_more a,
	.office,	.phone,	.email,	.address,	#officeAddress,	#bioTitle,
	li,	.videoMore,	.itemdetails,
	#item_details div,	.slide4title,
	table,	#itemSubtitle,	#banner .publication,	.areaid,
	.slide2.startAnimation .squareColumns .type,
	.slide2 .squareColumns ul.results_list li::after
	{
		/* fluid css - https://codepen.io/lowbatteries/full/qBEyXEP */
		font-size: calc(var(--max-font-size) * 1px); /* IE11 */
		font-size: max(
			var(--min-font-size) * 1px, min(
				var(--max-font-size) * 1px,
				var(--min-font-size) * 1px + (var(--max-font-size) - var(--min-font-size)) * ((100vh - var(--fluid-start) * 1px) / (var(--fluid-end) - var(--fluid-start)))
			));

		margin-top: max(
			var(--min-margin-top) * 1px, min(
			var(--max-margin-top) * 1px,
			var(--min-margin-top) * 1px + (var(--max-margin-top) - var(--min-margin-top)) * ((100vh - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
			));

		margin-bottom: max(
			var(--min-margin-bottom) * 1px, min(
				var(--max-margin-bottom) * 1px,
				var(--min-margin-bottom) * 1px + (var(--max-margin-bottom) - var(--min-margin-bottom)) * ((100vh - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
			));

		padding-top: max(
			var(--min-padding-top) * 1px, min(
			var(--max-padding-top) * 1px,
			var(--min-padding-top) * 1px + (var(--max-padding-top) - var(--min-padding-top)) * ((100vh - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
			));

		padding-bottom: max(
			var(--min-padding-bottom) * 1px, min(
				var(--max-padding-bottom) * 1px,
				var(--min-padding-bottom) * 1px + (var(--max-padding-bottom) - var(--min-padding-bottom)) * ((100vh - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
			));


		/* Make the default minimum font size and margin 70% of the max and no lower than 16px */
		--min-font-size: max(16, calc(var(--max-font-size) * .7));

		/* Make the default minimum font size and margin 50% of the max */
		--min-margin-bottom: max(10, calc(var(--max-margin-bottom) * .5));
		--min-margin-top: max(10, calc(var(--max-margin-top) * .5));
	}

	.slide2.startAnimation .squareColumns .type
	{
		padding-top: 7px;
		--min-margin-bottom: 10;
		--max-margin-bottom: 35;
	}

	.slide2 .squareColumns ul.results_list li::after
	{
		--max-margin-top: 20;
		--max-margin-bottom: 20;
	}

	.homeservices .squareColumns
	{
		grid-row-gap: 30px;
	}

	.slide1 p
	{
		--min-font-size: 16;
		--max-font-size: 20;
	}

	.slide1 .slide1aligner
	{
		max-width: 400px;
	}

	.slide1 h2
	{
		--min-font-size: 60;
	}

	.slide1 h2::after
	{
		margin: 20px 0;
	}
}

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