/* BEGIN DEFAULT CSS --------------------------------------------> */


/*

Montserrat
Montserrat-alternate

900 - Black
800 - Extra Bold
700 - Bold
600 - Semi-bold
500 - Medium
400 - Regular
300 - Light
200 - Extra light
100 - Thing


*/

html
{
	/* make sure the browser doesn't go smaller than 320, and throws a scrollbar */
	max-width: 320px;

	/* prevent vertical scrollbar jump */
	overflow-y: scroll;

	/* horizontal scroll for the ^ 320px max */
	overflow-x: visible;

	color: #000;
	font-family: 'Montserrat', Arial, sans-serif;
	line-height: 1.52;

	/* adjust these on other elements */
	--min-font-size: 16;
	--max-font-size: 19;

	/* you probably won't need to adjust these on other elements, but you can */
	--fluid-start: 767;
	--fluid-end: 1600;

	--black: #393939;

	--logogray: #4C4C4C;
	--bordergray: #CCCCCC;

	--limegreen: #88B443;
	--limegreen: #79A03B;
	--palelimegreen: #A9C379;
	--lightgreen: #A3C46F;
	--darkolivegreen: #5C7F24;

	--cyanblue: #0095A9;
	--darkpurple: #534588;
	--slateblue: #4A6A8B;
	--darkblue: #3A5776;
	--lightblue: #a5c9ce;

	--orange: #B67038;
	/*--burntorange: #C16C29;*/ /* compliance issues */
	--burntorange: #B16225;

	/*--peach: #FFD0AC;*/ /*compliance issues*/
	--peach: #FFE1CC;
}

h1, h2, h3, h4, h5, h6, p, li, .title, .abstract, .ghostHeader, .abstract, .expandButton, button.toggleExpand,
#homeCapabilitiesList li,
.subNavList li,
#bioTitle,
#tabLinks a,
.position,
#bannerTitle,
.featuredtitle,
#areaLinkNav,
#areaLinkNav button,
#homeAnimation .image::before,
blockquote,
h1#contentPageTitle,
.info
{
	/* 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)) * ((100vw - 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)) * ((100vw - (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)) * ((100vw - (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)) * ((100vw - (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)) * ((100vw - (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));
}

html:not([data-whatintent="keyboard"]) *:focus
{
	outline: 0;
}

/* above 321px no need for horizontal scroll */
@media (min-width: 321px)
{
	html
	{
		max-width: unset;

		/* need to hide bottom scrollbar if using the calc(50vw - 50%) method */
		overflow-x: hidden;
	}
}

body
{
	position: relative;
	min-width: 320px;

	/* in mobile or tablet we do not want anything outside the body bounds scrollable */
	overflow-x: hidden;
	--min-font-size: 17;
	--max-font-size: 19;
	max-width: 1790px;
	margin: 0 auto;
	padding: 0 16px 0 16px;
	background: #fff;
	box-sizing: border-box;
}

@media (min-width: 920px)
{
	body
	{
		/* increased side padding */
		padding: 0 44px 0 44px;
	}
}

@media (min-width: 1024px)
{
	body
	{
		 /* was hidden, now we want the default */
		 overflow-x: unset;
	}
}

@media (min-width: 1350px)
{
	body
	{
		/* further increased side padding */
		padding: 0 80px 0 80px;
	}
}

p
{
	margin: 0.5em 0 1.25em 0;
}

/* normalize cell padding in tables - https://codepen.io/lowbatteries/pen/vRPBar */
td p:first-child
{
	margin-top: 0;
	padding-top: 0;
}

td p:last-child
{
	margin-bottom: 0;
	padding-bottom: 0;
}


b, strong
{
	/* relative, works better if you have a light base font */
	font-weight: bolder;
}

b b,
strong strong,
strong b,
b strong
{
	/* bad HTML was making multiple levels of bold */
	font-weight: inherit;
}

/* no blockquote, just padding - make it equal */
p[style*='padding-left: 30px'],
td p[style*='padding-left: 30px']
{
	padding-right: 30px
}

p[style*='padding-left: 60px'],
td p[style*='padding-left: 60px']
{
	padding-right: 60px
}

p[style*='padding-left: 90px'],
td p[style*='padding-left: 90px']
{
	padding-right: 90px
}

sup, sub
{
	line-height: 0;
}

blockquote
{
	width: 80%;
	padding: 15px 30px;
	margin-top: 30px;
	margin-bottom: 30px;
	max-width: 800px;
	border-left: 6px solid var(--burntorange);
	box-sizing: border-box;

}

a
{
	color: var(--burntorange);
	text-decoration: none;
}

a:hover,
a:focus
{
	border-bottom: 1px solid currentColor;
}

/* search results highlight */
mark
{
	background: var(--burntorange);
	color: white;
}

/* needed for IE11 */
main, nav, footer { display: block }

/* make tel: links look like normal text */
a[href^="tel:"]
{
	color: inherit !important;
	text-decoration: inherit !important;
}

h1, h2, h3, h4, h5, h6
{
	padding: 0;
	--max-margin-top: 55;
	--max-margin-bottom: 20;
	color: var(--black);

	/* relative, works better if you have a light base font */
	line-height: 1.25;
}

h1,
#bannerTitle
{
	color: inherit;
	font-weight: 300;
	--min-font-size: 38;
	--max-font-size: 64;
	line-height: 1.25;
}

h2
{
	font-weight: 300;
	--max-font-size: 44;
	color: var(--slateblue);
}

h2.customSectionTitle
{
	font-size: 1.5rem;
	font-weight: 400;
	margin-top: 2rem;
	margin-bottom: 1rem;
}

#subContent h2
{
	font-size: 18px;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--burntorange);
	--min-margin-top: 20;
	--max-margin-top: 30;
}

h2.itemMatches
{
	margin: 0;
	font-weight: 500;
	font-size: 18px;
	color: var(--black);
	text-transform: uppercase;
}

h3
{
	--max-margin-bottom: 30;
	color: var(--slateblue);
	--max-font-size: 40;
	font-weight: 300;
}

h4
{
	--max-margin-top: 20;
	--max-font-size: 26;
	--max-margin-bottom: 18;
	font-weight: 400;
	color: var(--slateblue); /* added to try and make this work with some news listings */
}

h5
{
	font-weight: 500;
	text-transform: uppercase;
	color: var(--darkpurple);
	--max-margin-top: 20; /* changed per jessica for "related capabilities" */
	--min-font-size: 16;
	--max-font-size: 18;
	--max-margin-bottom: 10;
}

/* Reserved for Print Pilot */
h6
{
	font-weight: bolder;
	--min-font-size: 14;
	--max-font-size: 22;
}

ul, ol
{
	margin: 0 0 1em 0;
	padding: 0;
}

ol
{
	padding-left: 1em;
}

li
{
	margin: 1em 0em 1em 1.5em;
	padding: 0;
}

li ~ li
{
	margin-top: 1em;
}

/* bullet graphic
ul li
{
	list-style: none url('../i/bullet.png'); /* data-uri *\/
}
*/

ol ol,
ul ul
{
	margin: .5em 0 0 0;
	padding: 0;
}

/* invalid directly-nested lists need the left margin from 'li' above */
ol > ol,
ul > ul
{
	margin-left: 1.5em;
}

/* wysiwyg sometimes puts text in lists inside paragraphs, making uneven spacing */
/* CLIENT REQUESTED */
/*li > p
{
	margin: 0;
	padding: 0;
}*/

img
{
	border: 0;
}

/* make sure WYSIWYG images don't overflow content */
:not(td) > p img,
:not(td) > h1 img,
:not(td) > h2 img,
:not(td) > h3 img,
:not(td) > h4 img,
:not(td) > h5 img,
:not(td) > h6 img,
:not(td) > img[src*="htmldocuments/uploads"] /* imported images */
{
	max-width: 100%;
	height: auto;
}

#content > * > :first-child,
#content > * > :first-child > :first-child
{
	margin-top: 0;
}

@media (max-width: 767px)
{
	/* make wys tables take up full width on smaller screens */
	#mainContent table[style*=width]
	{
		width: 100% !important;
		height: auto !important;
	}
}

@media (max-width: 500px)
{
	/* make wys images take up full width on smaller screens */
	p > img,
	p > a:not(sp_pencil) > img
	{
		float: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 10px 0 18px 0 !important;
	}
}


/* ---- START FLEXIBLE BACKGROUNDS ---

	items that need a background stripe - make sure the item itself has:

	- position:relative
	- a background color set
	- no uncleared floats (needs to stretch to its contents height
	- can't use overflow: hidden
*/

#footer::before,
#homeNewsHeader::before,
#homeCapabilities::before,
#staticTextRow6::before,
#lowerContentSpotlights::before,
#tabLinks::before,
#header::before,
#topNews::before,
.standardSearchForm::before,
#newsroomTrending::before,
#footerSubscribe::before,
#area_hierarchy::before,
.letterLinks::before,
#bioInfoWrapper::before
{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;

	/*
		we need to be left offset by the width of the left margin, which is half the
		difference between page width and viewport width

			long version, before simplifying: -(100vw - 100%)/2
	*/
	left: calc(50% - 50vw);

	width: 100vw;
	background: inherit;
}


/* Smooth Resizing of Elements -----------------------------------> */

#logo svg,
#banner,
.letterLinks > *,
.bioList > ul > li,
#homeNewsHeader,
#footerSocial
{
	transition-property: top, right, bottom, left,
		width, height,
		max-width, max-height,
		min-width, min-height,
		padding, margin;
	transition-duration: 500ms;
	transition-timing-function: ease;
}


/* Object Support ------------------------------------------------> */

.errors,
.mandatory
{
	color: #c33;
}

.errors a
{
	color: inherit;
	text-decoration: underline;
}

table.results_list
{
	border-collapse: collapse;
	width: 100%;
}

table.results_list th
{
	text-align: left;
}

table.results_list td:not(:last-child)
{
	padding-right: 10px;
}

@media (max-width: 767px)
{
	table.results_list,
	table.results_list td,
	table.results_list tr
	{
		display: block;
	}

	table.results_list th
	{
		display: none;
	}
}

#captcha_wrapper
{
	grid-column-start: 1;
	clear: both;
	float: none;
	height: auto;
}

#captcha_wrapper img
{
	display: inline-block;
	margin: 2px 10px 0 0;
}

#captcha_wrapper button.reloadCode
{
	display: inline-block;
	position: relative;
	margin: 12px 0 0 0;
	padding: 0.25em;
	width: 2.25em;
	height: 2.25em;
	background: transparent;
	box-sizing: border-box;
	border: 0;
	font-size: 12px;
	vertical-align: top;
	-webkit-appearance: none;
}

.reloadCode.loading
{
	animation: reloadRotate 600ms linear 10;
}

@keyframes reloadRotate
{
	100%
	{
		transform: rotate(360deg);
	}
}

.reloadCode:before,
.reloadCode:after
{
	content: "";
	display: block;
}

.reloadCode:before
{
	width: 1.5em;
	height: 1.5em;
	border: 0.125em solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	transform: rotate(45deg);
}

.reloadCode:after
{
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 0;
	border-width: 0.3125em 0 0.3125em 0.5em;
	border-style: solid;
	border-color: transparent transparent transparent currentColor;
}

.itemList ul,
.itemList ul li
{
	list-style: none;
	margin-left: 0;
}

.itemList > ul li
{
	margin: 0em 0em .8em 0em;
}

#resultPageLinks
{
	margin: 1em 0;
}

#resultPageLinks a,
#resultPageLinks span
{
	margin-left: 7px;
	padding: 0 3px 2px;
}

#resultPageLinks span
{
	border-bottom: 2px solid #333333;
}

/* buttons to look like links */
.expandButton button,
.collapseButton button,
button.toggleExpand
{
	margin: 0 0 15px !important;
	padding: 0 !important;
	background: none !important;
	border: none;
	color: var(--burntorange);
	font-weight: 600;
	text-transform: inherit;
	text-align: inherit;
	cursor: pointer;
}

button.toggleExpand span
{
	font: inherit;
}

.expandButton button,
.collapseButton button
{
	text-decoration: none;
	cursor: pointer;
}

.expandButton button
{
	padding-right: 35px !important;
	border-bottom: 1px solid transparent;
}

.expandButton button:hover,
.expandButton button:focus
{
	border-bottom: 1px solid currentColor;
	background: url('../i/icon-arrow.svg') 100% calc(50% - 2px) no-repeat !important; /* data-uri */
	background-size: 20px auto !important;
}

.expandButton:hover,
.expandButton:focus,
.collapseButton:hover,
.collapseButton:focus,
button.toggleExpand:hover,
button.toggleExpand:focus
{
	color: #888888;
}

.expandButton.expanded
{
	display: none;
}

.expandableContent
{
	display: none;
	overflow: hidden;
}

.extraItems
{
	 display: none;

	 /* prevent slideToggle jump */
	 overflow: hidden;
}

.extraItems > :first-child
{
	margin-top: 0;
}


/* Keyboard Content Jumpers  ---------------------------------------> */

/*
	how these content jumps should work on desktop:

	1. Initially completely hidden (transparent, in the second block)
	2. On focus, they are made fully visible and clickable
*/

.contentJump
{
	display: block;
	position: absolute;
	z-index: 999;
	top: 5px;
	right: 50%;

	/* padding and background needed for keyboard-focus */
	padding: 5px 15px;

	background: white;
}

/* make them transparent unless keyboard focused */
.contentJump:not(:focus),
.contentJump:not(:focus)::selection
{
	z-index: -1;
	color: transparent !important;
	background: transparent !important;
	pointer-events: none;
}

/* let this one float wherever it lands (just above the footer */
#jumpPage
{
	top: auto;
}

/* Header --------------------------------------------------------> */

#header
{
	position: relative;
	z-index: 2000;
	top: 0;
	left: 0;
	width: 100%;
	height: 110px;
	/*padding: 0 16px 0 16px;*/
	background: rgba(255,255,255,1);
	box-sizing: border-box;
}


.swoosh
{
	display: none;
	position: absolute;
	z-index: -1;
	top: -150px;
	width: 100vw;
	left: calc(50% - 50vw);
}

#header .swoosh
{
	height: calc(100% + 35px);
	overflow: hidden;
	top: -34px;
}

#mainNav .swoosh
{
	opacity: .43 !important;
	width: 105%;
}

.swoosh svg
{
	display: block;
	width: 105%;
	height: auto;
	fill: #E3E3E3;
	opacity: .90;
}

/*body.scrolled #header
{
	box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
}*/

#logo
{
	/* inline-block to prevent logo from interfering with nav */
	display: inline-block;
	position: relative;
	width: 230px;
	z-index: 9999;
	margin: 31px 0 0 0;
}

#logo svg
{
	display: block;
	width: 100%;
	height: auto;
	/*fill: var(--logogray);*/
	fill: #000000;
	transition: fill 0.5s ease-out;
}

body.mobileActive #logo svg
{
	fill: #FFFFFF;
}

@media (min-width: 600px)
{
	#header
	{
		/*position: absolute;*/
		height: 116px;
		background: none;
	}

	#header::before
	{
		background: #ffffff;
	}

	#logo
	{
		width: 345px;
		margin-top: 20px;
	}
}

@media (min-width: 768px)
{

	#header
	{
		/*position: absolute;*/
		width: calc(100% - 32px);
		left: 16px;
	}

	#header::before
	{
		background: #ffffff;
		/*background: linear-gradient(to bottom, rgba(255,255,255, 1) 8%, rgba(255,255,255, 0) 100%);*/
		opacity: .85;
	}

	body.scrolled #header::before
	{
		opacity: 1;
	}

	.swoosh
	{
		display: block;

	}
}

@media (min-width: 920px)
{
	/*#header
	{
		width: calc(100% - 88px);
		left: 44px;
	}*/
}

@media (min-width: 1024px)
{
	#header
	{
		position: absolute;
		width: calc(100% - 88px);
		left: 44px;
	}

	.swoosh
	{
		top: -34px;
	}
}

@media (min-width: 1120px)
{
	#logo svg
	{
		max-width: unset;
	}
}

@media (min-width: 1200px)
{
	#header
	{
		position: fixed;
		/*width: calc(100% - 160px);
		left: 80px;*/
		/*padding-left: 80px;*/
	}

}

@media (min-width: 1350px)
{
	#header
	{
		position: fixed;
		width: calc(100% - 160px);
		left: 80px;
		/*padding-left: 80px;*/
	}

}


/* Banner --------------------------------------------------------> */

#banner
{
	position: relative;
	margin-bottom: max(50px,
				 min(90px, 50px + (90 - 50) * ((100vw - 767px) / (1600 - 767))
	));
}

body.noBannerMargin #banner
{
	margin-bottom: 0;
}

#bannerImage
{
	position: absolute;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	overflow: hidden;
}

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

#bannerImage::after
{
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(to top, rgba(0,0,0, .97) 0%, transparent 40%);
	opacity: .77;
}

body.blackBannerItems #bannerImage::after
{
	background-image: linear-gradient(to top, rgba(255,255,255, .97) 0%, transparent 40%);
}


#bannerContent
{
	position: relative;
	z-index: 10;
	display: flex;
	align-items: center;
	min-height: 250px;
	text-align: center;
	color: #ffffff;
}

body.blackBannerItems #bannerContent
{
	color: var(--black);
}

#bannerContent .aligner
{
	width: 100%;
}

#bannerContent *
{
	color: inherit;
}


#bannerContent #bannerTitle
{
	margin: 0 auto;
	width: 100%;
	max-width: 900px;
}

body.tallBanner #bannerContent
{
	min-height: 350px;
}

#bannerContent p
{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
}


@media (min-width: 1024px)
{
	#bannerContent
	{
		min-height: 509px;
	}

	body.tallBanner #bannerContent
	{
		min-height: 697px;
	}

	#bannerContent .aligner
	{
		margin-top: 116px;
	}

}

/* Popup search --------------------------------------------------------> */

#searchJump
{
	display: block;
	position: absolute;
	z-index: 10000;
	top: calc(50% - 15px);
	right: 0;
	width: 30px;
	line-height: 1;
	cursor: pointer;
}

body.mobileActive #searchJump
{
	position: fixed;
	right: 16px;
	top: 43px;
}

#searchJump svg
{
	display: block;
	width: 100%;
	height: auto;
	fill: var(--slateblue);
}

body.mobileActive #searchJump svg
{
	fill: #FFF;
}

#searchJump:hover svg,
#searchJump:focus svg
{
	opacity: 1;
	fill: var(--cyanblue);
	transition: fill 0.3s, opacity 0.3s;
}

#searchJump:hover,
#searchJump:focus
{
	border: none;
}

body.mobileActive #searchJump:hover svg,
body.mobileActive #searchJump:focus svg
{
	opacity: 0.7;
}

@media (min-width: 920px)
{
	#searchJump
	{
		right: 0;
	}

	body.mobileActive #searchJump
	{
		right: 44px;
	}
}

@media (min-width: 1440px)
{
	#searchJump
	{
		top: 38px;
		right: 30px;
		/*right: -45px;*/
	}
}

@media (min-width: 1900px)
{
	#searchJump
	{
		/*right: -70px;*/
	}
}

#siteSearch
{
	opacity: 0;
	visibility: hidden;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,.85) !important;
	height: 0;
	overflow: hidden;

	/* this is the close transition - fade out, hide height */
	transition: opacity 0.25s, height 0s 1s, visibility 0s 1s;
}

#siteSearch:target,
#siteSearch.target
{
	opacity: 1;
	visibility: visible;
	height: 100vh;

	/* this is the fade in transition, fade in - change height immediately */
	transition: opacity 0.25s, height 0s;
}

#siteSearch > div
{
	display: flex;
	justify-content: center;
	align-items: stretch;
	width: 70vw;
	min-width: 290px;
	max-width: 1500px;
	margin: 20vh auto auto auto;
	border-bottom: 2px solid white !important;
}

#siteSearch div > *:not(label)
{
	display: block;
	overflow: hidden;
	margin: 0;
	background: none;
}

#siteSearch div button
{
	position: static;
	margin-left: 2px;
	padding: 10px;
	border: 0;
	cursor: pointer;
}

#siteSearch div button img
{
	height: 25px;
	width: 25px;
	aspect-ratio: 25/25
}

#siteSearch input#searchtext2
{
	flex-grow: 1;
	width: 80%;
	min-height: auto;
	padding: 2px 2px 2px 5px;
	border: 0;
	color: white;
	font:inherit;
	font-size: 30px;
	font-weight: bold;
}

#searchClose
{
	display: none;
}

#searchClose
{
	display: block;
	position: absolute;
	top: 15px;
	right: 10px;
	width: 0;
	height: 0;
	overflow: hidden;
	padding: 28px 28px 0 0;
	background: none !important;
	border: none;
	box-sizing: border-box;
	color: inherit;
	font: inherit;
	font-size: 0;
	text-align: inherit;
	text-transform: inherit;
	cursor: pointer;
}

#searchClose::after,
#searchClose::before
{
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	bottom: -2px;
	left: 50%;
	width: 0;
	border: 1px solid white;
	border-radius: 4px;
	transform: rotate(-45deg);
}

#searchClose::before
{
	transform: rotate(45deg);
}

#searchPopup
{
	display: block;
	position: fixed;
	overflow: auto;
	z-index: 10000;
	top: calc(20vh + 54px);
	left: calc(50% - 145px);
	width: calc(70vw);
	min-width: 290px;
	max-width: 2000px;
	max-height: calc(70vh - 84px);
	background: white;
	box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

.searchPopup > *
{
	display: block;
	width: 100%;
	margin: 0;
	padding: 12px 32px;
	box-sizing: border-box;
	font-size: 18px !important;
	line-height: 1.4;
}

.searchPopup .selectable
{
	border-bottom: 1px solid #DDDDDD;
}

.searchPopup .selected,
.searchPopup .selectable:hover
{
	position: relative;
	background: #ebebeb;

	color: inherit;
}

/* search popup predictive */
#inlineSearchPopup
{
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	max-height: 350px;
}

.searchPopup
{
	display: block;
	position: fixed;
	z-index: 10000;
	top: calc(20vh + 54px);
	left: calc(50% - 145px);
	width: calc(70vw);
	min-width: 290px;
	max-width: 2000px;
	max-height: calc(70vh - 84px);
	overflow: auto;
	background: white;
	box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

.searchPopup a
{
	background: none;
	color: black;
	font-weight: normal;
	text-shadow: none;
}

.searchPopup * p
{
	margin: 0;
	padding: 0;
}

.searchPopup .link
{
	font-weight: bold;
}

.searchPopup .selected::after
{
	content: '»';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 1.3em;
	height: 1.3em;
	background: white;
	border-radius: 50%;
	box-shadow: 0 0 1px black;
	color: #999;
	line-height: 1.3em;
	text-align: center;
}

.searchPopup .popupHeader,
#allSearch
{
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0;
	margin-top: 0;
	background: #4D4D4D;
	color: white;
	font-size: 18px !important;

	padding-top: 12px;
	padding-bottom: 12px;

	z-index: 1;
}

.searchPopup .popupHeader a
{
	display: block;
	border-bottom: 0;
}

.searchPopup .popupHeader:not(.selected) a,
#allSearch:not(.selected) a
{
	color: inherit;
}

/* search popup results: bio */
.acBio
{
	padding: 0;
}

.acBio .text
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 16px 0;
}

.acBio .text *
{
	font-size: inherit;
}

.acBio .results_list > div
{
	display: flex;
}

.acBio a
{
	font-weight: 600;
}

.acBio .photo
{
	padding: 0 34px 0 0;
}

.acBio .photo img
{
	display: block;
	max-height: 94px;
	border: 1px solid #ccc;
}

#allSearch
{
	top: auto;
	bottom: 0;

	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	width: 100%;
	margin: 0px;
	padding: 10px 38px;
	background: #4A6A8B;
	font-size: 16px !important;
}

#allSearch a
{
	color: white !important;
}

#allSearch a:hover,
#allSearch a:focus
{
	text-decoration: underline;
}

@media (min-width: 501px)
{
	#searchPopup,
	.searchPopup
	{
		left: calc(50% - 50vw + 15vw);
	}
}

/* Main Navigation -----------------------------------------------> */

#mainNav
{
	position: relative;
	font-weight: 400;
	line-height: normal;
}

/* base style resets */
#mainNav ul,
#mainNav li
{
	list-style: none;
	position: relative;
	margin: 0;
	padding: 0;
	text-align: left;
}

/* top level */
#mainNav > ul
{
	width: 100%;
}

/* all menu links */
#mainNav a
{
	color: var(--black);
	text-decoration: none;
}

#mainNav li > a
{
	display: block;
	padding: 10px 0;
	border: none;
}

#mainNav li
{
	margin: 0 25px;
}

#mainNav > ul + ul > li
{
	margin: 0;
}

#mainNav li li
{
	margin: 0;
}

#mainNav li li:hover > a,
html[data-whatintent="keyboard"] #mainNav li li:focus-within > a
{
	/* using data-whatintent, because some browsers don't understand focus-within */
	color: var(--burntorange);
	text-decoration: none;
}

/* main subnav items */
/* subnavs should be same background/color as main nav*/
#mainNav ul,
#mainNav ul li
{
	background: inherit;
	font-size: inherit;
}

#mainNav > ul ul
{
	display: none;
	position: absolute;
}

/*
#mainNav #navButton-professionals ul div
{
	color: white;
}

#mainNav #navButton-professionals ul div form > div > div
{
	flex-basis: 100%;
}

#mainNav .letterLinks
{
	margin-left: 0;
	color: #ccc;
}

#mainNav .letterLinks a,
#mainNav .letterLinks span
{
	width: calc(100% / 13);
}

#mainNav .letterLinks > *:nth-child(12),
#mainNav .letterLinks > *:last-child
{
	width: calc(100% / 13 - 1px);
}
*/



#mainNav > ul:first-of-type > li:hover > a,
#mainNav > ul:first-of-type > li:focus > a,
#mainNav > ul:first-of-type > li:focus-within > a
{
	background: none;
	color: #79797A;
	color: var(--cyanblue);
	border-bottom: 1px solid var(--palelimegreen);
}


#mainNav > ul + ul > li > a:hover,
#mainNav > ul + ul > li > a:focus
{
	color: var(--slateblue);
	color: var(--cyanblue);
}

/* Desktop Navigation ------------------------------------------------> */

@media (min-width: 1440px)
{
	#mainNav
	{
		display: flex;
		position: absolute;
		z-index: 9999;
		top: 50px;
		/*right: 100px;*/
		/*right: 0;*/
		right: 80px;
	}

	#mainNav .swoosh
	{
		display: none;
	}

	#mainNav > ul,
	#mainNav > ul > li
	{
		display: inline-block;
		background: none;
	}

	/* we want real hover, not fake touch-hover */
	html:not([data-whatintent="touch"]) #mainNav > ul :hover > ul,
	#mainNav > ul .touchOpen > ul,
	#mainNav > ul .keepOpen > ul
	{
		display: block;
	}

	#mainNav > ul:first-of-type > li:hover > a,
	#mainNav > ul:first-of-type > li:focus > a,
	#mainNav > ul:first-of-type > li:focus-within > a
	{
		color: #79797A;
	}

	/* focus-within separated because IE11 chokes on it, but if someone has focus within
		a menu we definitely want it to be visible */
	#mainNav > ul .keepOpen > ul:focus-within
	{
		display: block;
	}

	/* last two double/triple drops go right like parent above */
	#mainNav > ul > li:nth-last-child(-n + 2):hover > ul ul
	{
		left: inherit;
		right: 100%;
	}

	#mainNav > ul ul
	{
		/*** center the drops ***/
		left: calc(50% - 145px);
		width: 290px;

		background: #ffffff;
		padding: 40px 45px 40px;
		box-sizing: border-box;
	}

	#mainNav > ul > li > a
	{
		white-space: nowrap;
		font-size: 26px;
	}

	#mainNav > ul > li li
	{
		margin-bottom: 8px;
		font-size: 18px;
		font-weight: 300;
	}

	#mainNav > ul + ul > li > a
	{
		font-size: 14px;
		text-transform: uppercase;
		font-weight: 300;
		letter-spacing: 1px;
	}

	#mainNav > ul + ul > li:not(:last-child) a::after
	{
		position: relative;
		content: '|';
		display: inline-block;
		padding: 0 14px;
		color: #B2B2B2;
	}

	/*#mainNav > ul > li.current > a::after,
	#mainNav > ul > li > a:hover::after,
	#mainNav > ul > li > a:focus::after
	{
		content: '';

		height: 2px;
		background: #000000;

		position: absolute;
		bottom: 0;
		left: 1.8vw;
		right: 1.8vw;

		z-index: 99999999;
	}*/

	/* second-level links */
	#mainNav li li > a
	{
		color: #575252;
	}

	/* dropdown current page highlight */
	#mainNav > ul > li > ul .current > a:not(:hover):not(:focus)
	{
		color: #000;
		background: none;
	}

	#mainNav > ul > li.current > a:not(:hover):not(:focus)
	{
		background: none;
		color: var(--slateblue);
	}

	/* only users who clicked in to the subnav need to see the header */
	#mainNav .subNavHeader,
	#subNavBack
	{
		display: none;
	}

	/* push double drops out the width of the parent */
	#mainNav > ul li > ul ul
	{
		display: none !important; /* no double drops by default */

		top: 0;
		left: 100%;
	}

	/*** split menu styles ***/
	#mainNav > ul:not(:only-child)
	{
		/* we want to right-align these */
		display: flex;
		justify-content: flex-end;
	}

	/* position the second nav above and make it smaller */
	#mainNav > ul + ul
	{
		position: absolute;
		right: 25px;
		top: -25px;
		width: auto;
	}

	/* hide drops on secondary nav */
	#mainNav > ul + ul ul
	{
		display: none !important
	}

	#mainNav > ul + ul > li
	{
	}

	#mainNav > ul + ul > li > a
	{
		padding: 3px 0;
	}

	#mainNav > ul + ul > li > a:first-child::after
	{
		left: 0;
		right: 0;
	}

	/* styles above, repeated, because some browsers don't understand focus-within */
	#mainNav > ul + ul > li:focus-within > a
	{
		background: none !important;
	}

	/*** end split menu styles ***/


	/* mobile nav button is not visible at this screen width */

	button#navToggle
	{
		display: none;
	}

	/* mega menu styles */
	/*
	#mainNav #navButton-professionals ul
	{
		width: 100vw;
		max-width: 600px;
		box-sizing: border-box;
		padding-left: 20px;
		padding-right: 20px;
	}

	#mainNav #navButton-practices ul
	{
		width: 100vw;
		max-width: 600px;
		box-sizing: border-box;
	}

	#navButton-practices > ul
	{
		columns: 2;
	}

	#mainNav #navButton-practices a
	{
		white-space: normal;
		break-inside: avoid;
	}

	/* sub practices *\/
	#navButton-practices ul ul
	{
		display: block;
		position: static;
		width: auto;
		padding: 0;
	}

	/* third level practices *\/
	#navButton-practices ul ul ul
	{
		padding-left: 1em;
	}

	#navButton-practices ul ul a::before
	{
		content: '– ';
	}
	*/
}


/* Mobile Navigation ------------------------------------------------> */

@media (max-width: 1439px)
{
	#mainNav,
	#mainNav li ul
	{
		position: fixed;
		display: block;
		visibility: hidden;
		z-index: 9998;
		top: -800px;
		right: 0;
		left: auto;
		/*width: 100vw;*/
		width: 100%;
		height: 100vh;
		max-height: 800px;
		padding: 105px 0px 10px;
		/*background: #ffffff;*/
		background: rgba(91,120,150, 1);
		box-sizing: border-box;
		box-shadow: 0 0 200px 15px rgba(0,0,0,.8);
		transition: top 0.7s;

		overflow-x: hidden;
		overflow-y: hidden;
	}

	#mainNav li ul
	{
		padding-top: 140px;
	}



	#mainNav a
	{
		color: #ffffff;
	}

	#mainNav,
	#mainNav li ul
	{
		padding-right: 44px;
	}

	#mainNav ul
	{
		max-width: 408px;
	}

	#mainNav ul,
	#mainNav ul li
	{
		background: none;
	}

	#mainNav ul li a
	{
		padding: 18px 0;
	}

	#mainNav > ul:last-child li:not(.subNavHeader) > a
	{
		padding: 0;
		font-size: 19px;
		font-weight: 300;
	}

	#mainNav > ul:last-child li
	{
		margin-bottom: 25px;
	}

	#mainNav
	{
		display: flex;
		flex-direction: column;
		align-items: flex-end; /* need to keep nested items to the right side of screen */
		padding-left: 0px;
	}

	#mainNav::before
	{
		display: none;
	}

	#mainNav > ul
	{
		padding-left: 0px;
		padding-right: 0px;
		/*width: 40vw;*/ /* put a max width on lists even though the parent expands the full viewport */
	}

	#mainNav.target
	{
		top: 0;
		left: auto !important;
		right: 0 !important; /* might be set by repositionDrops, ignore it */
	}

	/* needed to avoid a keyboard trap on mobile */
	html[data-whatintent="keyboard"] #mainNav li:not(.touchOpen) > ul
	{
		visibility: hidden;
	}

	#mainNav li ul
	{
		opacity: 0;
		box-shadow: none;
		transition: opacity 500ms ease, top 500ms linear;
		max-width: unset;
		left: auto !important;
		right: 0;
		width: 100%;
	}

	#mainNav li ul li
	{
		overflow: hidden;
	}

	#mainNav li ul li a
	{
		display: block;
		float: right;
		width: 100%;
		max-width: 408px;
		padding-bottom: 12px;
	}

	#mainNav.target,
	#mainNav li.touchOpen > ul
	{
		visibility: visible;
	}

	#mainNav li.touchOpen > ul
	{
		top: 0;
		opacity: 1;
		transition: opacity 500ms ease;
	}

	#mainNav ul,
	#mainNav li
	{
		display: block;
		margin: 0;
		padding: 0;
	}

	#mainNav a
	{
		/*color: #ffffff;*/
	}

	#mainNav li.current > a
	{
		color: var(--bordergray);
	}

	#mainNav > ul:first-of-type
	{
		margin-bottom: 35px;
	}

	#mainNav > ul:first-of-type > li
	{
		font-size: 24px;
		border-bottom: 1px solid var(--bordergray);
	}

	#mainNav > ul > li:hover > a,
	html[data-whatintent="keyboard"] #mainNav > ul > li:focus-within > a,
	#mainNav > ul:first-of-type > li:hover > a, #mainNav > ul:first-of-type > li:focus > a, #mainNav > ul:first-of-type > li:focus-within > a,
	#mainNav a:hover,
	#mainNav a:focus
	{
		/* using data-whatintent, because some browsers don't understand focus-within */
		background: none;
		color: var(--bordergray) !important;
	}

	#mainNav a
	{
		border-bottom: none !important;
	}

	#mainNav > ul ul > li
	{
		font-size: 19px;
		text-transform: none;
	}

	#mainNav li li:hover > a,
	html[data-whatintent="keyboard"] #mainNav li li:focus-within > a
	{
		/* using data-whatintent, because some browsers don't understand focus-within */
		background: none;
		color: var(--bordergray);
	}

	#mainNav > ul:first-of-type > li > a:first-child:not(:last-child)::after,
	#mainNav li.subNavHeader a::after
	{
		content: '';
		position: absolute;
		top: 24px;
		right: 0;
		width: 20px;
		height: 14px;
		background: url('../i/icon-nav-arrow.svgz') no-repeat; /* data-uri */
	}

	#mainNav #subNavBack
	{
		position: absolute;
		top: 90px;
		right: 44px;
		width: 100%;
		max-width: 408px;
		overflow: visible;
	}

	#mainNav #subNavBack a
	{
		position: relative;
		margin-left: 1px;
		text-transform: uppercase;
		font-size: 16px;
		font-weight: 300;
		letter-spacing: 1px;
	}

	/*#mainNav #subNavBack a::before
	{
		content: '‹';
		position: absolute;
		left: 0;
		font-size: 32px;
		font-weight: 300;
		line-height: 0.85rem;
	}*/

	#mainNav li.subNavHeader
	{
		margin-top: 12px;
		margin-bottom: 18px;
		font-size: 24px;
	}

	#mainNav li.subNavHeader a
	{
		padding-bottom: 12px;
		border-bottom: 1px solid #DBDBDB !important;
		/*color: #4D4D4D;*/
		color: #ffffff;
	}

	#mainNav #navButton-professionals ul li#megaSearch
	{
		display: none !important; /* hide megaSearch in mobile always */
	}


	/* Mobile Nav 'Hamburger' Button */

	button#navToggle
	{
		display: block;
		position: absolute;
		z-index: 9999;
		top: calc(50% - 14px);
		right: 60px;
		font-size: 0;
	}

	.mobileNav
	{
		display: inline-block;
		overflow: visible;
		margin: 0;
		padding: 4px;
		background-color: transparent;
		border: 0;
		color: inherit;
		font: inherit;
		text-transform: none;
		cursor: pointer;
		transition-timing-function: linear;
		transition-duration: .15s;
		transition-property: opacity, filter;
	}

	button#navToggle.mobileNav.isActive
	{
		position: fixed; /* allows for home page alert message repositioning */
		top: 45px;
		right: 85px;
	}

	.mobileNav.isActive:hover,
	.mobileNav.isActive:focus,
	.mobileNav:hover,
	.mobileNav:focus
	{
		opacity: .7;
	}

	.mobileNavBox
	{
		position: relative;
		display: inline-block;
		width: 40px;
		height: 22px;
	}

	.mobileNavBox span
	{
		display: block;
		top: 50%;
		margin-top: -2px;
	}

	.mobileNavBox span
	{
		position: absolute;
		top: 10px;
		width: 40px;
		height: 4px;
		background-color: var(--slateblue);
		border-radius: 4px;
		transition-timing-function: ease;
		transition-duration: .15s;
		transition-property: transform;
	}

	.mobileNav.isActive .mobileNavBox span
	{
		width: 30px;
		height: 2px;
		background-color: #fff;
	}

	.mobileNav.isActive:hover .mobileNavBox span,
	.mobileNav.isActive:focus .mobileNavBox span,
	.mobileNav:hover .mobileNavBox span,
	.mobileNav:focus .mobileNavBox span
	{
		/*background: var(--cyanblue);*/
		opacity: .7;
	}

	.mobileNavBox span:first-child
	{
		top: 0;
	}

	.mobileNavBox span:last-child
	{
		top: 20px;
	}


	/* Add in a 'MENU' label if necessary, hidden by default */

	.mobileNavLabel
	{
		display: none;
		/*display: inline-block;
		margin-left: 5px;
		color: #fff;
		font-weight: 600;
		vertical-align: middle;
		text-transform: uppercase;*/
	}


	/* SPRING - default mobile nav button style */
	/* see https://github.com/jonsuh/hamburgers for other effects */

	.mobileNavSpring .mobileNavBox span
	{
		top: 0px;
		/*transition: background-color 0s linear .13s;*/
	}

	.mobileNavSpring .mobileNavBox :first-child
	{
		top: 10px;
		transition: top .1s cubic-bezier(.33333, .66667, .66667, 1) .2s, transform .13s cubic-bezier(.55, .055, .675, .19);
	}

	.mobileNavSpring .mobileNavBox :last-child
	{
		top: 20px;
		transition: top .2s cubic-bezier(.33333, .66667, .66667, 1) .2s, transform .13s cubic-bezier(.55, .055, .675, .19);
	}

	.mobileNavSpring.isActive .mobileNavBox :nth-child(2)
	{
		transition-delay: .22s;
		background-color: transparent !important;
	}

	.mobileNavSpring.isActive .mobileNavBox :first-child
	{
		top: 0;
		transition: top .1s cubic-bezier(.33333, 0, .66667, .33333) .15s, transform .13s cubic-bezier(.215, .61, .355, 1) .22s;
		transform: translate3d(0, 10px, 0) rotate(45deg);
	}

	.mobileNavSpring.isActive .mobileNavBox :last-child
	{
		top: 0;
		transition: top .2s cubic-bezier(.33333, 0, .66667, .33333), transform .13s cubic-bezier(.215, .61, .355, 1) .22s;
		transform: translate3d(0, 10px, 0) rotate(-45deg);
	}


	/* ToggleDrop version - subs expand below instead of swing in from side
		Just add .toggleDrop to the #mainNav element */
	/*
	#mainNav.toggleDrop li ul
	{
		display: none;
		position: relative;
		right: auto !important;
		left: auto !important;
		height: auto;
		padding-top: 0px;
		padding-left: 10px;
		background: none;
		visibility: visible;
		transition: none;
	}

	#mainNav.toggleDrop li ul li.subNavHeader
	{
		display: none;
	}

	#mainNav.toggleDrop li > a:first-child:not(:last-child)::after
	{
		text-align: center;
		transform: rotate(90deg);
		transition: transform 150ms ease-out;
	}

	#mainNav.toggleDrop li > a.toggleDropOpen:first-child:not(:last-child)::after
	{
		transform: rotate(-90deg);
		transform-origin: 0px center;
	}
	*/
}

@media (max-width: 1349px)
{
	button#navToggle.mobileNav.isActive
	{
		right: 95px;
	}
}

/* mobile stlyles cont. - for  smaller screens */
@media (max-width: 919px)
{
	#mainNav > ul
	{
		width: 100%;
		margin-left: 0px;
	}

	#mainNav,
	#mainNav li ul
	{
		padding-right: 16px;
		padding-left: 16px;

		overflow-y: auto;
	}

	#mainNav li ul
	{
		padding-top: 120px;
	}

	#mainNav > ul:first-of-type li ul
	{
		padding-top: 135px;
	}

	#mainNav #subNavBack
	{
		right: 15px;
		top: 105px;
	}

	button#navToggle,
	button#navToggle.mobileNav.isActive
	{
		right: 50px;
	}
}

@media (max-width: 450px)
{
	#mainNav #subNavBack
	{
		left: 15px;
		right: auto;
	}
}

/* Sub Navigation ------------------------------------------------> */

ul.subNavList
{
	margin-top: 50px;
}

ul.subNavList li
{
	list-style: none;
	margin: 0 0 0.8rem;
	padding: 0;
	line-height: 1.2;
	font-weight: 300;
	font-size: 18px;
}

ul.subNavList ul
{
	padding-left: 10px;
}

ul.subNavList li.here > a,
ul.subNavList li.hereParent > a
{
	color: inherit;
}

#banner #subNav
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0;
	margin: 0;
	border-top: 1px solid #535353;
}

#banner ul.subNavList
{
	display: flex;
	justify-content: center;
	padding: 0;
	margin: 0;
}

#banner ul.subNavList li
{
	position: relative;
	margin: 0;
	text-align: center;
}

#banner ul.subNavList li:not(:last-child)
{
	margin-right: max(40px,
				 min(80px, 40px + (80 - 40) * ((100vw - 767px) / (1920 - 767))
	));
}

#banner ul.subNavList li a
{

	display: flex;
	align-items: center;
	height: 100%;
	padding: 24px 0;
	box-sizing: border-box;
	border: none;
}

#banner ul.subNavList li.here a::before,
#banner ul.subNavList li a:hover::before,
#banner ul.subNavList li a:focus::before
{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--lightgreen);
}

#banner ul.subNavList li:hover,
#banner ul.subNavList li:focus
{
	color: #D5D1CE;
}

#banner ul.subNavList li.here a
{
	color: var(--lightgreen);
}


/* Tabs and Expandable Headers ------------------------------------> */
/* these headings are to have similar styling */

.expandableHeading,
h4.sectionTitle
{
	position: relative;
	font-weight: 400;
	cursor: pointer;
	color: var(--black);
	margin: 0;
	--min-font-size: 20;
	--max-font-size: 26;
	line-height: 1.25;
}

.expandableHeading button,
h4.sectionTitle
{
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 20px 60px 20px 0 !important;
	background: none !important;
	border: none;
	border-bottom: 1px solid var(--bordergray);
	color: inherit;
	text-transform: inherit;
	text-align: inherit;
	cursor: pointer;
	box-sizing: border-box;
}

.expandableHeading button::after,
h4.sectionTitle::after,
div.listColumn.areaToggle .areaExpand
{
	content: '';
	display: block;
	position: absolute;
	right: 0;
	top: calc(50% - 24px);
	width: 48px;
	height: 48px;
	background: url('../i/icon-circle-arrow.svgz') center no-repeat; /* data-uri */
	background-size: 43px;

}

.expandableHeading button:hover,
h4.sectionTitle:hover,
.expandableHeading button:focus,
h4.sectionTitle:focus,
div.listColumn.areaToggle a:hover
{
	color: var(--burntorange);
}

.expandableHeading button:hover::after,
h4.sectionTitle:hover::after,
.expandableHeading button:focus::after,
h4.sectionTitle:focus::after,
div.listColumn.areaToggle .areaExpand.expanded
{
	background: url('../i/icon-circle-arrow-filled.svgz') no-repeat; /* data-uri */
	background-size: 100%;
}

.expandableHeading.expanded button::after,
h4.sectionTitle.isOpen::after,
div.listColumn.areaToggle .areaExpand.expanded
{
	transform: rotate(180deg);
	background: url('../i/icon-circle-arrow-filled.svgz') no-repeat; /* data-uri */
	background-size: 100%;
}

.expandableHeading.expanded button
{
	border: none;
}

.expandableHeading.expanded + div.expandableContent
{
	border-bottom: 1px solid var(--bordergray);
}

/* mobile/tablet tabs */
@media (max-width: 1023px)
{
	#tabLinks
	{
		display: none;
	}

	h4.sectionTitle
	{
		display: block;
	}

	.contentSection
	{
		display: block !important;
	}

	.contentSection > *
	{
		display: none;
		padding: 10px 0 10px 0;
	}

	#tabLinks a#tabViewAll
	{
		display: none;
	}
}

/* desktop tabs */
@media (min-width: 1024px)
{
	#tabLinks
	{
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 10;
		width: 100%;
		display: flex;
	}

	#tabLinks::before
	{
		background: #000000;
		opacity: .42;
	}

	#tabLinks a
	{
		display: flex;
		align-items: center;
		min-height: 66px;
		color: #ffffff;
		margin: 0;
		--min-font-size: 14;
		--max-font-size: 18;
		font-weight: 500;
		border-bottom: none !important;
	}

	#tabLinks a:not(:last-child)
	{
		margin-right: max(30px,
					 min(77px, 30px + (77 - 30) * ((100vw - 1024px) / (1920 - 1024))
		));
	}

	#tabLinks .current
	{
		color: var(--lightgreen);
		border-top: 1px solid currentColor;
	}

	#tabLinks a:hover,
	#tabLinks a:focus
	{
		color: var(--lightgreen);
	}

	.sectionTitle
	{
		display: none;
	}

	#tabLinks a#tabViewAll
	{
		float: right;
		border: none;
	}

	h4.sectionTitle
	{
		/* added an !important because these were showing if you opened the page with viewAll in the url eg: people/patrick-abell#ViewAll */
		display: none !important;
	}

	.contentSection > .itemSection:first-of-type > h2:first-child
	{
		margin-top: 1rem;
	}
}

@media (min-width: 1280px)
{
	.expandableHeading button::after,
	h4.sectionTitle::after
	{
		top: calc(50% - 28px);
		width: 43px;
		height: 43px;
	}
}


/* Basic Tiles ----------------------------------------------------> */

/* Make a tile like:
	$lister->attributes['div_results']['class'] = 'itemTile';
	$lister->link_tags = array('WRAP');
*/

.itemTile .results_list
{
	position: relative;
}

.itemTile .results_list > * /* could be a div or li */
{
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	margin: 0 0 20px 0;
	box-sizing: border-box;
	color: #fff;
}

.itemTile .results_list > * > a:not(.sp_pencil)
{
	display: block;
	flex: 1 0 auto;
	padding: 20px;
	background: var(--bordergray);
	color: #fff;
}

.itemTile .results_list > * > a:not(.sp_pencil):hover,
.itemTile .results_list > * > a:not(.sp_pencil):focus
{
	background: #bbbbbb;
	text-decoration: none;
}

.itemTile .results_list > * .title
{
	font-weight: 700;
	font-size: 24px;
}

@media (min-width: 501px)
{
	.itemTile .results_list
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.itemTile .results_list > *
	{
		width: calc(50% - 10px);
	}
}


/* Content -------------------------------------------------------> */

#content
{
	display: flex;
	flex-direction: column;
	position: relative;
	max-width: 1390px;
	min-height: 350px;
	margin: 0 auto 2.5rem;
}

main
{
	order: 1;
	position: relative;
	width: 100%;
	padding: 0 0 0.5rem 0;
	box-sizing: border-box;
}

#subNav
{
	order: 3;
	position: relative;
	width: 100%;
	margin: 1rem 0 0 0;
	padding: 1rem 0 0.5rem 0;
	box-sizing: border-box;
}

#subContent
{
	order: 2;
	position: relative;
	width: 100%;
	margin: 1rem 0 0 0;
	padding: 1rem 0 0.5rem 0;
	box-sizing: border-box;
	font-weight: 300;
	/*border-top: 1px solid #e4e4e4;*/ /* this mandatory for mobile at least */
}

#subContent .itemList .results_list a:not(:hover):not(:focus)
{
	color: inherit;
}

#subContent .itemList .results_list a
{
	border: none;
}

#subContent .itemList
{
	border-bottom: 1px solid var(--bordergray);
	padding-bottom: 5px;
}

#subContent .itemSection
{
	margin-bottom: 5px;
}

#mainContent .itemSection ul.results_list li
{
	margin-left: 0;
	list-style: none;
}

@media (min-width: 920px)
{
	#content
	{
		display: block;
	}

	#content::after
	{
		/* make div stretch to height of content */
		content: '';
		clear: both;
		display: block;
	}

	body.columned #mainContent:not(:only-child)
	{
		float: left;
		width: calc(100% - 22% - 96px);
	}

	body.columned #subNav,
	body.columned #subContent
	{
		clear: right;
		float: right;
		width: 22%;
	}

	#subContent
	{
		padding-top: 0;
	}
}

#subContent li
{
	margin-top: 20px;
	margin-bottom: 20px;
	line-height: 1.4;
}

div.texthtml
{
	margin: 5px 0 8px 0;
}

.texthtml p
{
	padding: 0 0 8px 0;
}

ul.none
{
	list-style: none;
	margin: 5px 0 8px 0;
}

ul.none li
{
	padding: 0;
	margin: 0 0 8px 0;
}

/*
	JS now takes care of the hiding of these elements based on div class.
	It wouldn't be horrible to retain these in addition though.
*/

/* if there are 5 or more, hide any items after first 3 */
.expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6)
{
	display: none;
}

/* hide all items for area, industry, and office 'professionals' */
.expandableFullList .results_list > li
{
	display: none;
}

.popupPlayerPlaylist .expandableList,
.popupPlayerPlaylist .expandableList li
{
	display: block;
}

#subContent .itemSection:not(#bio_education) ul,
#subContent .itemSection:not(#bio_education) ul li
{
	list-style: none;
	margin-left: 0;
}

#mainContent .itemSection ul.results_list
{
	margin-bottom: 0em;
}

#area_bio ul.results_list,
#industry_bio ul.results_list,
#office_bio ul.results_list
{
	margin: 0 0 8px 0;
}

.itemSection ~ .itemSection > .extraItems > ul > li
{
	margin-top: 0;
}


/* View More type links */

.view_more a
{
	position: relative;
	display: inline-block;
	width: auto;
	margin: 28px 0 28px 0;
	padding: 7px 92px 4px 0;
	border-bottom: 1px solid var(--orange);
	font-size: 19px;
	font-weight: 300;
	color: var(--black);
	vertical-align: middle;
}

.view_more a:hover,
.view_more a:focus
{
	text-decoration: none;
}

.view_more a::after
{
	position: absolute;
	top: calc(50% - 8px);
	left: calc(100% - 90px);
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url('../i/icon-arrow.svg') no-repeat; /* data-uri */
	background-size: 100% auto;
	transform: translateX(17px);
	opacity: 1;
	transition: opacity 250ms ease;
}

.view_more a:hover,
.view_more a:focus
{
	opacity: 1;
	color: var(--orange);
}

.rsvpButton
{
	margin: 10px 0 0 0;
}


/* Static News */

.newsroomSpotlights
{
	/* trying to deal with spacing issue on dei/partnerships-programs */
	margin-top: 60px;
}

.newsroomSpotlights ul,
.newsroomSpotlights li
{
	margin: 0;
	list-style: none;
}

.newsroomSpotlights ul
{
	margin-bottom: 30px;
}

.newsroomSpotlights li
{
	margin-bottom: 56px;
}

.matterList
{
	margin: 40px 0;
}

.newsList ul.results_list li,
.matterList ul.results_list li
{
	margin-top: 0;
	margin-left: 0;
	margin-bottom: 40px;
	list-style: none;
}

.newsList li a,
.matterList li a
{
	color: inherit;
}

.newsList .title.
.matterList .title
{
	--max-font-size: 21;
}

.xrefMultimediaList li
{
	position: relative;
}

.newsroomSpotlights.gridSpotlights .image,
.xrefMultimediaList .image
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 109px;
	overflow: hidden;
}

.xrefMultimediaList .image::after
{
	position: absolute;
	left: max(20px,
				 min(54px, 20px + (54 - 20) * ((100vw - 600px) / (1370 - 600))
	));
	top: 24px;
	content: '';
	display: block;
	width: 56px;
	height: 56px;
	background: url('../i/icon-play.svg') no-repeat; /* data-uri */
	background-size: 100%;
	z-index: 10;
}

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

.newsroomSpotlights li a
{
	position: relative;
	display: block;
	min-height: 300px;
	padding: max(20px,
				 min(54px, 20px + (54 - 20) * ((100vw - 600px) / (1370 - 600))
	));
	padding-top: max(40px,
				 min(72px, 40px + (72 - 40) * ((100vw - 600px) / (1370 - 600))
	));
	padding-bottom: 80px;
	border: 1px solid #707070;
	box-sizing: border-box;
	background: #ffffff;
}

.newsroomSpotlights.gridSpotlights li > a
{
	padding-top: 149px;
}

.newsroomSpotlights li a::after
{
	position: absolute;
	left: max(20px,
				 min(54px, 20px + (54 - 20) * ((100vw - 600px) / (1370 - 600))
	));
	bottom: 40px;
	display: block;
	width: 17px;
	height: 24px;
	content: '';
	background: url('../i/icon-arrow-white.svgz') no-repeat; /* data-uri */
	background-size: 100%;

	transition: all 500ms ease;
}

.newsroomSpotlights li a:hover,
.newsroomSpotlights li a:focus
{
	color: #ffffff;
	background: var(--burntorange);
	transition: all 150ms ease;
}

.newsroomSpotlights li a:hover *,
.newsroomSpotlights li a:focus *
{
	color: inherit;
}

.newsroomSpotlights li a:hover::after,
.newsroomSpotlights li a:focus::after
{
	transform: translateX(20px);
}

.newsroomSpotlights .info,
.newsList .info,
#newsroomTrending .info,
#insights-blogs .info,
.matterList .title
{
	margin-bottom: 6px;
	--min-font-size: 15;
	--max-font-size: 18;
	color: var(--darkpurple);
	font-weight: 500;
	text-transform: uppercase;
	overflow: hidden;
}

.newsList .info
{
	margin-bottom: 0;
}

.newsList,
.bio_insights
{
	padding-bottom: 25px;
	border-bottom: 1px solid var(--bordergray);
}

.itemPodcastsList
{
	border-bottom: none !important;
	padding-bottom: 0;
}

.newsroomSpotlights .info > div:not(:last-child),
.newsList .info > div:not(:last-child),
#newsroomTrending .info > div:not(:last-child)
{
	float: left;
	margin-right: 12px;
}

.newsroomSpotlights .title
{
	--min-font-size: 20;
	--max-font-size: 24;
	color: #3E5866;
	font-weight: 300;
	line-height: 1.5;
}


.itemPodcastsList li:not(:last-child)
{
	padding-bottom: 20px;
	/*border-bottom: 1px solid var(--bordergray);*/
}


.itemPodcastsList .title
{
	margin-top: 10px;
	margin-bottom: 15px;
	--max-font-size: 24;
	color: #3E5866;
}

.itemPodcastsList .title a:not(:hover):not(:focus)
{
	color: inherit;
}

@media (min-width: 768px)
{
	.newsroomSpotlights ul.results_list,
	.xrefMultimediaList.gridSpotlights ul.results_list
	{
		display: flex;
		grid-gap: max(10px,
					 min(54px, 10px + (54 - 10) * ((100vw - 768px) / (1370 - 768))
		));

	}
	
	/*.itemSection .newsroomSpotlights ul.results_list,*/
	.itemSection .xrefMultimediaList.gridSpotlights ul.results_list
	{
		flex-wrap: wrap;
	}

	.newsroomSpotlights ul.results_list li
	{
		width: calc(100%/3);
		margin: 0;
	}

	.newsroomSpotlights.gridSpotlights ul.results_list li,
	.xrefMultimediaList ul li
	{
		flex-basis: unset !important;
		width: 50%;
	}
	
	.itemSection .newsroomSpotlights.gridSpotlights ul.results_list li,
	.itemSection .xrefMultimediaList ul li
	{
		flex-basis: unset !important;
		/* width: calc(50% - max(10px,
					 min(54px, 10px + (54 - 10) * ((100vw - 768px) / (1370 - 768))
		)) / 2); */
		width: auto;
	}

	.xrefMultimediaList ul::after
	{
		display: none;
	}

	.newsroomSpotlights ul.results_list li a
	{
		height: 100%;
		min-height: 420px;
	}
}


#bioSearchLink,
.mainContentForm input[type=submit],
#sp_class_search .search_text input[type=submit]
{
	display: inline-block;
	height: auto;
	padding: 17px 26px;
	margin: 14px 0 34px;
	font-size: 19px;
	line-height: 1.25;
	color: var(--burntorange);
	background: none;
	border: 1px solid currentColor;
}

#sp_class_search .search_text input[type=submit]
{
	margin: 0;
}

#bioSearchLink
{
	position: relative;
	padding-right: 66px;
	background: var(--burntorange);
	color: #ffffff;
}

#bioSearchLink:is(:hover,:focus)
{
	background: #ffffff;
	color: var(--burntorange);
}

#bioSearchLink svg
{
	position: absolute;
	right: 26px;
	top: calc(50% - 10px);
	display: block;
	width: 20px;
	height: auto;
}

#bioSearchLink svg path
{
	fill: #ffffff;
}

#bioSearchLink:is(:hover,:focus) svg path
{
	fill: var(--burntorange);
}

/* Testimonial */

#lowerContentSpotlights
{
	max-width: 1390px;
	margin-left: auto;
	margin-right: auto;
}

#lowerContentSpotlights .testimonials
{
	position: relative;
	width: 90%;
	max-width: 1064px;
	color: #ffffff;
	margin: 0 auto 100px;
}

#lowerContentSpotlights .testimonials ul,
#lowerContentSpotlights .testimonials li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

#lowerContentSpotlights .testimonials li
{
	width: 100%;
	padding: 1em 0;
}

#lowerContentSpotlights .testimonials p
{
	margin-top: 0;
	text-align: center;
	--max-font-size: 24;
	font-weight: 300;
}

#lowerContentSpotlights .testimonials p:last-child
{
	margin-bottom: 0;
}

#lowerContentSpotlights .testimonials .attribution
{
	/*text-align: right;*/
	text-align: center;
	margin-top: 20px;
}

#lowerContentSpotlights .testimonials .attribution::before
{
	content: '– ';
}

#lowerContentSpotlights .testimonials .testimonialpager
{
	/*margin: 40px 0 0 0;*/
	position: absolute;
	z-index: 500;
	bottom: 0;
	right: 0;
}

#lowerContentSpotlights .testimonials .testimonialpager button
{
	padding: 0;
	margin-right: 10px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	background: white;
	border: 2px solid white;
	box-sizing: border-box;
}

#lowerContentSpotlights .testimonials .testimonialpager button.active
{
	background: #C16C29;
}




/* Forms ---------------------------------------------------------> */

form
{
	position: relative;
	margin: 0;
	padding: 0;
}

form > div
{
	display: grid;
	grid-gap: 13px;
}

form > div > div
{
	position: relative;
	min-width: 0;
	/*overflow: hidden;*/
}

#subContent form > div > div
{
	width: auto;
	margin-right: 0;
}

form > div > div.textarea_wrapper
{
	grid-column-start: 1;
}

form > div > div.checkbox_wrapper
{
	grid-column-start: 1;
	/*padding: 5px 0 10px 0;*/
}

form > div > div.checkbox_wrapper > div > div
{
	display: flex;
	margin: 0 0 10px 0;
}

label
{
	display: block;
}

/* radio/checkboxes without a wrapper */
input + label
{
	display: inline;
}

label p
{
	margin: 0;
	padding: 0;
}

form > div > div.radio_wrapper > label,
form > div > div.checkbox_wrapper > label
{
	display: block;
	position: relative;
	padding: 0 0 10px 0;
	line-height: 1.3;
}

form > div > div.checkbox_wrapper > div
{
	line-height: 1.4;
}

form > div > div.checkbox_wrapper > div > div > input
{
	align-self: flex-start;
	margin: 6px 6px 0 0;
	padding: 0;
}

form > div > div.checkbox_wrapper > div > div > label
{
	/* in safari, unrestricted width was shrinking the actual checkbox */
	max-width: calc(100% - 30px);
}

form > div > div.radio_wrapper
{
	width: 100%;
	padding: 10px 0 0 0;
}

form > div > div.radio_wrapper > div
{
	display: flex;
}

form > div > div.radio_wrapper > div > div
{
	padding-right: 12px;
}

form > div > div.radio_wrapper > div > div > label
{
	display: inline-block;
	padding: 2px 0 0 4px;
	vertical-align: middle;
}


/* WebForm uses an id */
#submit_wrapper
{
	grid-column-start: 1;
	width: 100%;
}

form > p
{
	width: 100%;
}

/* hide the label via CSS by default if it has a value (class added in ItemSearch) */
form > div > div.hasValue > label
{
	/* visibility: hidden; not necessary with labels visible above the field */
}

/* remove the visibility: hidden the moment the field has any style added to it via JS */
form > div > div.hasValue > label[style]
{
	visibility: visible;
}

/* reset button appearance on iOS */
input[type=submit],
button,
::-webkit-file-upload-button
{
	border-radius: 0;
	font: inherit;
	-webkit-appearance: none;
}

input[type=file]
{
	font: inherit;
}


.standardSearchForm
{
	position: relative;
	padding: 44px 0 58px;
	margin-bottom: 90px;
	background: var(--slateblue);
}

.standardSearchForm + .itemList
{
	margin-top: 70px;
}

.standardSearchForm .submit_wrapper
{
	margin-top: 36px;
}

.standardSearchForm div:not([role='textbox']) > button
{
	display: block;
	border: none;
	padding: 0;
	/*margin: 0 auto;*/ /* this was messing up the multiselect fields.	I dont' think it's needed anyway */
	background: none;
	color: var(--peach);
	text-transform: uppercase;
	cursor: pointer;
	letter-spacing: 1.2px;
}

.standardSearchForm div:not([role='textbox']) > button:is(:hover,:focus)
{
	color: #F7E4D5;
}

.standardSearchForm button svg
{
	position: relative;
	top: 5px;
	width: 34px;
	height: 33px;
	fill: #ffffff;
}

.standardSearchForm #formSearch
{
	position: absolute;
	bottom: -80px;
	left: calc(50% - 35px);
	width: 70px;
	height: 70px;
	background: var(--slateblue);
	border-radius: 50%;
}

.standardSearchForm #formSearch:is(:hover,:focus)
{
	background: #748DA5;
}

#bioSearch form > div > div:not(.submit_wrapper):nth-child(n+5)
{
	display: none;
}

#bioSearch form > div > div.show
{
	display: block !important;
}

input:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect,
.fsComboBox [role="textbox"]
{
	width: 100%;

	/* appease IE11 */
	min-height: 57px;

	margin: 0;
	padding: 5px 7px 0 35px;
	background: rgba(255,255,255, .23);
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 16px;
	line-height: 1;
	vertical-align: top;
	overflow: hidden;
}

.mainContentForm input,
.mainContentForm textarea
{
	color: inherit;
}


.mainContentForm input:not([type]),
.mainContentForm input[type=text],
.mainContentForm input[type=tel],
.mainContentForm input[type=email],
.mainContentForm input[type=password],
.mainContentForm textarea,
.mainContentForm select,
.mainContentForm .customSelect,
.mainContentForm .fsComboBox [role="textbox"]
{
	background: #F5F5F5;
	padding-left: 10px;
}

.fsComboBox [role="textbox"]
{
	padding-top: 20px;
}

.fsComboBox [role="textbox"] button
{
	line-height: normal;
	background: var(--darkblue);
}

textarea
{
	min-height: 6.5em;
}

/*
	floating labels applied only to search forms, not other forms, for accessibility
	if you *must* do floating labels everywhere, remove the ".search_form" from
	the selector, and make sure to remove it in the inFieldLabels call in default.js
*/
.search_form form > div > div > label
{
	/* needed for animation to work on .customSelect */
	display: block !important;

	position: absolute;
	top: 0;
	padding: 20px 7px 0 35px;
	color: #ffffff;
	text-transform: uppercase;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .5px;
}

.search_form form > div > div.hasFocus > label
{
	display: block !important;
	z-index: 5;
	top: -10px;
	left: 8px;
	padding: 2px 4px 0 2px;
	background-color:none;
	border-radius: 3px;
	font-size: 0.6rem;
	line-height: 1;
	transition: all 0.3s ease;
}

select
{
	 /* make '-All-' camouflaged until customSelect takes over */
	 /* you may need to change this color to match your particular select bg color */
	 /* we switch back to the inherited color with select.hasCustomSelect below */
	color: #ffffff;
}

.customSelect
{
	display: inline-block !important;
	position: relative;
	overflow: hidden;

	/* make room for the arrow */
	padding-right: 40px;
}

.customSelect::after
{
	content: '';
	display: block;
	position: absolute;
	top: 1.35em;
	right: .75em;

	/* http://apps.eky.hk/css-triangle-generator/ */
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .5em .5em 0 .5em;
	border-color: currentColor transparent transparent transparent;
}

/* normalize selects */
select
{
	/* customSelect tries to be useful and set the width, but it breaks a lot */
	width: 100% !important;

	box-sizing: border-box;
}

/* this makes sure the invisible select always floats above */
select.hasCustomSelect
{
	z-index: 1;
	padding: 5px 15px;

	/* we made this white to be camouflaged on load, but now must return to prev color */
	color: #666766;
}

/* per swati, we always want this to be 16px out the gate */
option
{
	color: inherit;
	font-size: 16px;
}

/* custom select color - somewhat buggy, leaving out for now
select option:hover,
select option:focus,
select option:active,
select option:checked {
	background: linear-gradient(#0a80ca, #0a80ca);
	background-color: #0a80ca !important;
	color: white !important;
}
*/

.customSelectInner
{
	display: block !important;
	width: 100% !important;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}


.fsComboBox [role="textbox"]::after
{
	content: '';
	position: absolute;
	right: 16px;
	top: calc(50% - 24px);
	width: 18px;
	height: 28px;
	background: url('../i/icon-arrow-white.svgz') -2px center no-repeat; /* data-uri */
	background-size: 100% auto;
	transform: rotate(90deg);

	border: none;
}

.fsComboBox[aria-expanded="true"] [role="textbox"]::after
{
	right: 4px;
	top: calc(50% - 18px);
	transform: rotate(-90deg);
}



input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus,
.customSelectFocus
{
	/* there must be a visual change on focus for accessibility */
	/*background-color: #eee;*/
	border: 1px solid #ffffff;
}

/* invalid styles - pink! */
.errors + div > form input:not([type=radio]):invalid,
.errors + div > form textarea:invalid,
.errors + div > form select[data-invalid],
.errors + div > form select[data-invalid] + .customSelect,
form div.invalid
{
	background-color: #fee;
}

/* invalid and focused - darker pink! */
.errors + div > form input:not([type=radio]):invalid:focus,
.errors + div > form textarea:invalid:focus,
.errors + div > form select[data-invalid]:focus,
.errors + div > form select[data-invalid] + .customSelect:focus
{
	background-color: #fcc;
}

/* wrapper divs for checkbox/radios need styling */
div.required.invalid
{
	padding-left: 5px;
}

input[type=submit],
button[type=submit],
.standardButton,
.packetButton,
::file-selector-button,
::-webkit-file-upload-button,
/*a.viewAll,*/
.reviseButton a
{
	/* needed to normalize vertical text alignment across <a> and <button> elements */
	align-items: center;
	display: inline-flex;

	width: auto;
	height: 52px;
	margin: 0 0 10px 0;
	padding: 1px 18px 1px 18px;
	background: #969696;
	border: 0 solid #d6d6d6;
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	line-height: 1.8;
	cursor: pointer;
	vertical-align: top;
}

/* fake demo button */
span.packetButton
{
	cursor: default;
}

input[type=file]::file-selector-button,
input[type=file]::-webkit-file-upload-button
{
	margin-right: 10px;
}

a.clearAll
{
	float: right;
}

a.viewAll,
.reviseButton a
{
	display: inline-flex;
	align-items: center;
}

:is(
	input[type=submit],
	button[type=submit],
	.standardButton,
	.packet-button,
	/*a.viewAll,*/
	.reviseButton
):is(:hover, :focus)
{
	background: #868686;
	color: #fff;
	text-decoration: none;
}

a.viewAll
{
	width: 70px !important;
	/*float: right !important;*/
	text-transform: uppercase;
	text-align: right !important;
}

a.viewAll:hover,
a.viewAll:focus
{
	color: #ffffff;
}

/* side, index, and other page specific form styles */

#emailField
{
	display: none;
}


/* auto complete js */

.autocomplete-w1
{
	position: absolute;
	top: 0;
	left: 0;
	padding: 8px 0 0 6px;
}

.autocomplete
{
	max-height: 350px;
	overflow: auto;
	margin: -6px 6px 6px -6px;
	background: white;
	outline: 1px solid black;
	text-align: left;
	cursor: default;
	box-shadow: 4px 4px 5px -2px rgba(0,0,0,0.5);
	box-sizing: border-box;
}

.autocomplete .selected
{
	background: #f0f0f0;
}

.autocomplete div
{
	padding: 5px;
	line-height: 120%;
	/* white-space: nowrap; */
}

.autocomplete div span.autoCompleteMore
{
	color: var(--burntorange);
	font-size: 11px;
}

.autocomplete h2
{
	margin: 0;
	padding: 12px 5px 6px 5px;
	white-space: nowrap;
}

.autocomplete strong
{
	font-weight: bolder;
	color: #0b3c5d;
}

@media (min-width: 920px)
{
	form > div
	{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.standardSearchForm .submit_wrapper,
	form > div > div.checkbox_wrapper,
	form > div > div.textarea_wrapper
	{
		grid-column: 1 / 4;
	}
}




#lowerContentSpotlights
{
	clear: both;
	position: relative;
	/*padding: 100px 0;*/
	padding: 60px 0;
	margin-top: 80px;
	background: var(--slateblue); /* changed to this per jessica/compliance */
	/*background: var(--cyanblue);*/
	color: #ffffff;
}

#lowerContentSpotlights > h3
{
	margin-top: 0;
	text-align: center;
	color: inherit;
}

/* Footer --------------------------------------------------------> */


#footerSubscribe
{
	position: relative;
	display: flex;
	justify-content: center;

	align-items: center;
	height: 212px;
	text-align: center;
	background: var(--slateblue);
	font-size: 40px;
}

#footerSubscribe a
{
	display: block;
	border-bottom: none;
	color: #ffffff;
}

#footerSubscribe p
{
	color: inherit;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-weight: 400;
	color: #E0E9F0;
}

#footerSubscribe a:is(:hover, :focus)
{
	color: var(--lightblue);
}

#footerSubscribe a svg
{
	position: relative;
	left: 10px;
	display: inline-block;
	width: 24px;
	height: auto;
	fill: currentColor;
}

#footerSubscribe a svg path
{
	fill: inherit;
}

#footer
{
	position: relative;
	padding: 50px 0;
	background: #F5F5F5;
	box-sizing: border-box;
}

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

#footerLeft > svg
{
	display: block;
	margin: 0 auto;
	fill: var(--slateblue);
}

#footerLeft
{
	/*display: flex;
	align-items: center;*/
	margin-bottom: 50px;
}

#footerSocial ul
{
	display: flex;
	margin-top: 40px;
	/*margin-left: max(35px,
				 min(68px, 35px + (68 - 35) * ((100vw - 600px) / (1280 - 600))
	));*/
	justify-content: center;

}

#footerSocial li a
{
	display: block;
	line-height: 1;
	border: none !important;
}

#footerSocial li:not(:last-child)
{
	margin-right: max(35px,
				 min(68px, 35px + (68 - 35) * ((100vw - 600px) / (1280 - 600))
	));
}

#footerSocial li a:hover svg,
#footerSocial li a:focus svg
{
	fill: var(--burntorange);
}

#footerSocial svg
{
	display: block;
	width: 18px;
	height: auto;
}

#footerSocial .linkedin svg
{
	width: 31px;
}

#footerSocial .twitter svg
{
	width: 29px;
	margin-top: 5px;
}

#footerRight
{
	/*display: flex;
	justify-content: flex-end;
	align-items: center;*/
	margin-bottom: 50px;
}

#footerRight a
{
	border: none;
}

#footerRight ul
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#footer #footerLinks
{
	display: flex;
	flex-wrap: wrap;
	padding-top: 32px;
	border-top: 1px solid #DBDBDB;
}

#footerLinks li
{
	text-align: center;
	color: #707070;
	font-size: 14px;
	margin-bottom: 8px !important;
}

#footerLinks li:not(:last-child)
{
	margin-right: 15px;
}

#footerLinks a
{
	color: inherit;
}

#footerLinks a:is(:hover,:focus)
{
	color: #A85D24; /* slightly darker for WCAG */
}

#footer p#noSell
{
	display: inline-block;
	font-size: 0.8rem;
	text-align: center;
	flex-basis: 100%;
	color: #707070;
}

#footer p#noSell a
{
	color: #707070;
}

#footer p#noSell a:is(:hover,:focus)
{
	color: #A85D24; /* slightly darker for WCAG */
}

@media (min-width: 768px)
{
	#footer
	{
		display: flex;
		flex-wrap: wrap;
	}

	#footerLeft,
	#footerRight
	{
		width: 40%;
		box-sizing: border-box;
	}

	#footerLeft
	{
		padding-left: 20px;
	}

	#footerRight
	{
		width: 60%;
		padding-right: 20px;
	}

	#footerLinks
	{
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
	}

	#footerLinks li:not(:last-child)
	{
		margin-right: 20px;
	}

	#footerLinks li
	{
		text-align: left;
	}

	#footerRight > div
	{
		height: 100%;
	}

	#footerRight ul
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		height: 100%;
		align-items: center;
	}
}

@media (min-width: 1024px)
{
	#footerRight li:not(:last-child)
	{
		margin-right: min(40px, 2.25vw);
	}

	#footerLeft > svg
	{
		margin: 0 65px 0 0;
	}

	#footerLeft
	{
		display: flex;
		align-items: center;
	}

	#footerSocial ul
	{
		margin-top: 0;
	}
}

@media (min-width: 1500px)
{
	#footerLeft > svg
	{
		display: block;
		width: 140px;
		height: auto;
	}
}

/* ------------------ Start Here ----------------------- */
/*-------------------------------------------------------*/



#videoMouseIcon
{
	position: absolute;
	border-radius: 60px;
	width: 120px;
	height: 120px;
	margin-top: calc(-60px);
	margin-left: calc(-16px - 5%);
	pointer-events: none;
	/*background: linear-gradient(276.47deg, #93d500 21.43%, #c1fd3b 100%);*/
	background: var(--lightgreen);

	color: #000;
	font-size: 16px;
	line-height: 24px;
	z-index: 99;
	transition: width 0.3s ease 0s, height 0.3s ease 0s, transform 0.3s ease 0s;
	align-items: center;
	justify-content: center;
	transform: scale(0);
	display: flex;
	text-decoration: none;
	color: #1b1b1b;
}

#videoMouseIcon.reveal
{
	transform: scale(1);
}

@media (min-width: 1024px)
{
	#videoMouseIcon
	{
		margin-left: calc(-54px);
	}
}

@media (min-width: 1800px)
{
	#videoMouseIcon
	{
		margin-left: calc(50% - 50vw - 55px);
	}
}

/*Matter spotlight*/

.matterSpotlight
{
	margin-top: 30px;
}

.matterSpotlight ul,
.matterSpotlight li
{
	position: relative;
	margin: 0;
	list-style: none;
}

.matterSpotlight li a
{
	position: relative;
	min-height: 300px;
	padding: max(25px,
				 min(54px, 25px + (54 - 25) * ((100vw - 400px) / (920 - 400))
	));
	padding-top: 40px;
	/*padding-bottom: 260px;*/
	padding-bottom: 180px; /* reduced per client request */
	margin: 0 0 110px;
	color: #ffffff;
	box-sizing: border-box;
}

.matterSpotlight .content
{
	position: relative;
	z-index: 1;
}

.matterSpotlight .image
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.matterSpotlight .image::after
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background: #007584;
	opacity: .8;

	transition: all 150ms ease;
}

.matterSpotlight .image img
{
	position: absolute;
	top: 0;
	display: block;
	width: 100%;
	height: 135%;
	object-fit: cover;
}

.matterSpotlight .abstract
{
	--max-font-size: 24;
	line-height: 1.5;
	font-weight: 300;
}

.matterSpotlight .title
{
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
	line-height: 1.22;
	letter-spacing: 2px;
}

.matterSpotlight .circle
{
	position: absolute;
	bottom: -80px;
	left: 50px;
	display: flex;
	align-items: center;
	justify-content: center;

	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: var(--limegreen);
	z-index: 10;
	text-align: center;
	overflow: hidden;
}

.matterSpotlight .circle::before,
.freeFormSpotlightSquare .circle a::before,
.freeFormSpotlightcircle .image::before,
.freeFormSpotlightTableish .image::before
{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	box-shadow: 20px 20px 0px 30px rgba(255,255,255, .25);
	transition: all 300ms ease;
	z-index: 1;
}

.freeFormSpotlightSquare .circle a
{
	flex-wrap: wrap;
	font-weight: 700;
}

.freeFormSpotlightSquare .circle a svg
{
	width: 42px;
	height: 42px;
}

.freeFormSpotlightSquare .circle a span
{
	display: block;
	width: 100%;
	align-items: center;
}

.freeFormSpotlightcircle .image::before,
.freeFormSpotlightTableish .image::before
{
	box-shadow: 20px 20px 0px 30px rgba(255,255,255, .45);
}

.matterSpotlight a:hover .circle::before,
.matterSpotlight a:focus-within .circle::before,
.freeFormSpotlightSquare .circle a:hover::before,
.freeFormSpotlightSquare .circle a:focus::before,
.freeFormSpotlightcircle li:hover .image::before,
.freeFormSpotlightTableish li:hover .image::before,
.freeFormSpotlightcircle li:focus-within .image::before,
.freeFormSpotlightTableish li:focus-within .image::before
{
	top: 1px;
	right: 12px;
	width: calc(100% - 5px);
	height: calc(100% - 5px);
}

.matterSpotlight a:hover .image::after,
.matterSpotlight a:focus-within .image::after
{
	opacity: .95;
}

.matterSpotlight
{
	position: relative;
}

.matterSpotlight .icons
{
	display: block;
	width: 65%;
	height: auto;
	margin: 0 auto;
}

.matterSpotlight .icons img
{
	display: block;
	width: 100%;
	height: auto;
}

.matterSpotlight .largetext
{
	font-size: 28px;
	line-height: 1.22;
}

.matterSpotlight .smalltext
{
	text-transform: uppercase;
	font-size: 19px;
	font-weight: 700;
}

.matterSpotlight li > a
{
	display: block;
	color: inherit;
	/*border: none !important;*/
}

.matterSpotlight li a
{
	color: #ffffff;
}

.matterSpotlight li > a
{
	border: none !important;
}

.matterSpotlight .slideIntro
{
	margin-bottom: 58px;
}

.matterSpotlight .slideIntro
{
	max-width: 590px;
}

.matterSpotlight .slideIntro p
{
	--min-font-size: 16;
	--max-font-size: 19;
}


/*.matterSpotlight a:hover .circle,
.matterSpotlight a:focus .circle
{
	background: var(--burntorange);
}*/




@media (min-width: 1024px)
{
	.matterSpotlight ul
	{
		display: flex;
		gap: max(5px,
					 min(54px, 5px + (54 - 5) * ((100vw - 768px) / (1920 - 768))
		));
	}

	.matterSpotlight ul li
	{
		transform: translateY(150px);
		width: calc(100%/3);
		opacity: 0;

		transition: all 750ms ease;
	}

	.matterSpotlight ul li:nth-child(2) { transition-delay: 100ms; }
	.matterSpotlight ul li:nth-child(3) { transition-delay: 200ms; }

	.matterSpotlight.startAnimation ul li
	{
		transform: translateY(0px);
		opacity: 1;
	}

	.matterSpotlight li a
	{
		height: 576px;
		padding: max(25px,
					 min(54px, 25px + (54 - 25) * ((100vw - 768px) / (1350 - 768))
		));
		padding-top: 84px;
		margin: 0 0 110px;
		color: #ffffff;
		box-sizing: border-box;
	}

	.matterSpotlight ul li:nth-child(2)
	{
		margin-top: 100px;
	}

	.matterSpotlight .view_more
	{
		position: absolute;
		/*top: max(20px, min(90px, 20px + (90 - 20) * ((100vw - 768px) / (1350 -
		768)) ));*/
		top: 20px;
		/*padding-top: 50px;*/
		right: 20px;
	}
}


.staticTextRow
{
	margin: 65px 0;
}

.freeFormSpotlightSquare
{
	margin: 115px 0 0; /* bottom margin changed per Jessica */
}

.freeFormSpotlightSquare ul.results_list,
.freeFormSpotlightSquare ul.results_list li
{
	position: relative;
	margin: 0;
	list-style: none;
}

.freeFormSpotlightSquare .image
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #000000;
}

.freeFormSpotlightSquare .image img
{
	position: absolute;
	height: 100%;
	width: 100%;
	object-fit: cover;
	opacity: .8;
}

.freeFormSpotlightSquare ul.results_list li
{
	padding: 74px 0 50px 30px;
	margin: 0 0 140px;
	box-sizing: border-box;
}

.freeFormSpotlightSquare .content
{
	position: relative;
	z-index: 10;
	padding: 60px 38px 80px 59px;
	min-height: 290px; /* added per jessica */
	box-sizing: border-box;
	background: #ffffff;
}

.freeFormSpotlightSquare .title,
.freeFormSpotlightSquare .reportsect
{
	font-size: 18px;
	text-transform: uppercase;
	color: var(--darkpurple);
	font-weight: 500;
}

.freeFormSpotlightSquare .text p:last-child
{
	margin-bottom: 0;
}

.freeFormSpotlightSquare .reportsect a:not(:hover):not(:focus)
{
	color: inherit;
}

.freeFormSpotlightSquare .circle a
{
	position: absolute;
	bottom: -80px;
	right: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: var(--limegreen);
	text-transform: uppercase;
	color: #ffffff;
	border: none !important;
	overflow: hidden;
	font-size: 17px;
}

.freeFormSpotlightSquare .circle a:hover,
.freeFormSpotlightSquare .circle a:focus
{
	background: var(--burntorange);
}

.rowContent
{
	width: 90%;
	max-width: 1090px;
	margin: 0 auto;
	clear: both;
}

#item_itemvideo + .rowContent
{
	margin-top: 2em;
}

/*#staticTextRow4 h2
{
	width: 90%;
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
	--max-margin-bottom: 45;
}*/

#staticTextRow6
{
	position: relative;
	padding: 40px 0;
	color: #ffffff;
	background: var(--slateblue);
}

#staticTextRow6 .rowContent > *
{
	color: inherit;
}

#staticTextRow6 .contentCallout .view_more a
{
	color: #ffffff;
}

#staticTextRow6 .contentCallout .view_more a:is(:hover,:focus)
{
	color: #cecece;
}

.freeFormSpotlightcircle
{
	width: 100%;
	max-width: 1090px;
	margin: 70px auto 30px;
}

.freeFormSpotlightcircle li,
.freeFormSpotlightcircle ul
{
	margin: 0;
	list-style: none;
}

.freeFormSpotlightcircle .image,
.freeFormSpotlightTableish .image
{
	position: relative;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 22px;
}

.freeFormSpotlightcircle .image::after,
.freeFormSpotlightTableish .image::after
{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #000000;
	opacity: .2;
	z-index: 10;
}

.freeFormSpotlightcircle .image img,
.freeFormSpotlightTableish .image img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.freeFormSpotlightcircle ul
{
	display: flex;
	grid-gap: 30px;
	justify-content: center;

	flex-wrap: wrap;
}

.freeFormSpotlightcircle li
{
	width: 175px;
	text-align: center;
}

.freeFormSpotlightcircle .title
{
	text-transform: uppercase;
	color: #ffffff;
	font-weight: 500;
	font-size: 17px;
}

.freeFormSpotlightcircle .title a:not(:hover):not(:focus)
{
	color: inherit;
}

.freeFormSpotlightTableish
{
	width: 90%;
	max-width: 1090px;
	margin: 55px auto 98px;
}

.freeFormSpotlightTableish .results_list li
{
	padding: 36px 0;
	margin: 0;
	list-style: none;
	border-top: 1px solid var(--bordergray);
}

.freeFormSpotlightTableish .results_list li:last-child
{
	border-bottom: 1px solid var(--bordergray);
}

.freeFormSpotlightTableish .image
{
	margin-bottom: 30px;
}

.freeFormSpotlightTableish .content p
{
	line-height: 1.5;
}

.freeFormSpotlightTableish .content p:last-child
{
	margin-bottom: 0;
}

.freeFormSpotlightTableish .title
{
	--max-margin-bottom: 18;
	--min-font-size: 20;
	--max-font-size: 26;
}

.freeFormSpotlightTableish a
{
	color: inherit;
}

@media (min-width: 600px)
{
	.freeFormSpotlightTableish li
	{
		display: flex;
		align-items: center;
	}

	.freeFormSpotlightTableish .image
	{
		margin: 0;
		flex: 0 0 150px;
		height: 150px;
		margin-right: max(40px,
					 min(95px, 40px + (95 - 40) * ((100vw - 767px) / (1090 - 767))
		));
	}
}

@media (min-width: 1024px)
{
	#staticTextRow2
	{
		margin-bottom: 185px;
	}

	.freeFormSpotlightSquare ul.results_list
	{
		/*display: flex;
		flex-wrap: wrap;*/
		margin-bottom: 100px;
	}

	.freeFormSpotlightSquare ul.results_list::after
	{
		content: '';
		display: table;
		clear: both;
	}

	.freeFormSpotlightSquare ul.results_list li
	{
		float: left;
		width: calc(50% - 40px);
		padding-left: max(30px,
					 min(125px, 30px + (125 - 30) * ((100vw - 1024px) / (1600 - 1024))
		));
	}

	.freeFormSpotlightSquare ul.results_list li:nth-child(even)
	{

		top: 185px;
		margin-left: 80px;
	}

	.freeFormSpotlightSquare .circle a
	{
		right: -40px;
	}

	.freeFormSpotlightSquare
	{
		margin-bottom: 180px;
	}
}

@media (min-width: 1200px)
{

	.freeFormSpotlightcircle ul.results_list
	{

		justify-content: space-between;
	}
}

@media (min-width: 1350px)
{
	.freeFormSpotlightSquare ul.results_list li
	{
		width: calc(50% - 70px);
	}

	.freeFormSpotlightSquare ul.results_list li:nth-child(even)
	{
		margin-left: 140px;
	}

	.freeFormSpotlightSquare .circle
	{
		right: -80px;
	}
}


/* Content callouts */

.contentCallout
{
	margin: 36px 0;
}

.contentCallout ul,
.contentCallout li
{
	margin: 0;
	list-style: none;
}

.contentCallout li
{
	padding: 32px 0;
	border-top: 1px solid var(--bordergray);
	border-bottom: 1px solid var(--bordergray);
}

.contentCallout .image
{
	max-width: 305px;
	margin-bottom: 10px;
}

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

.contentCallout .title
{
	--max-margin-bottom: 20;
	--max-font-size: 26;
}

.contentCallout .view_more a
{
	margin: 0;
}

@media (min-width: 768px)
{
	.contentCallout li
	{
		display: flex;
		align-items: center;
	}

	.contentCallout .content
	{
		flex: 0 1 650px;
	}

	.contentCallout .image
	{
		flex: 0 1 305px;
		margin-right: 60px;
	}
}


/* Client specified custom table css */
table.customTable{width:100%;margin-bottom:1rem;color:#4A6A8B}
table.customTable td, table.customTable th{padding:.75rem;vertical-align:top;border-top:1px solid #4A6A8B;}
table.customTable thead th{vertical-align:bottom;border-bottom:2px solid #4A6A8B; background: #0095A9; color:white }



/* Video Support -------------------------------------------------> */

#backgroundPopup
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
	height: 100%;
	width: 100%;
	background: #333;
	border: 1px solid #cecece;
}

.popupPlayerWrapper
{
	display: flex;
	flex-wrap: wrap;
	position: fixed;
	z-index: 99999999;
	top: 50%;
	left: 50%;
	width: 60vw;
	height: auto;
	background: #fff;
	border: 3px solid #cecece;
	border-radius: 2px;
	box-sizing: border-box;
	color: #fff;
	transform: translate(-50%, -50%);
}

.inlineMultimediaPlaceholder
{
	position: relative;
	z-index: 10;
	max-width: none;
	margin: 15px 0px 8px 0px;
}

.popupPlayerWrapper.inlinePlayer
{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: inherit;
	top: inherit;
	left: inherit;
	width: 100%;
	height: auto;
	overflow: visible;
	margin: 0 0 1.25em 0;
	padding-bottom: 0;
	transform: none;
}

.mediaPlayer
{
	position: relative;
	z-index: 20;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden;
	box-sizing: border-box;
}

.mediaPlayer > iframe
{
	position: absolute;
	z-index: 999999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.mediaPlayer > video,
.mediaPlayer > audio
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	margin: auto;
	background: #000;
	box-sizing: border-box;
}

.popupPlayerWrapper.inlinePlayer .mediaPlayer,
.popupPlayerWrapper.inlinePlayer.playerWithSidebar .mediaPlayer,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist .mediaPlayer,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .mediaPlayer
{
	position: relative;
	width: 100% !important;
	height: 100% !important;

	 /* 16:9 */
	padding-bottom: 56.25%;
}

/* override some of the standard closeButton styles */
.popupPlayerWrapper button.closeButton
{
	z-index: 25;
	top: -15px;
	right: -15px;
}

.popupPlayerWrapper a.popupShareButton
{
	z-index: 25;
	top: -15px;
	right: 15px;
}

.popupPlayerPlaylist
{
	display: none;
	flex-basis: 100%;
	position: relative;
	z-index: 9;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 25%;
	max-width: 100%;
	overflow: hidden;
	background: #f0f0f0;
}

.popupPlayerWrapper.inlinePlayer .popupPlayerPlaylist,
.popupPlayerWrapper.inlinePlayer.playerWithSidebar .popupPlayerPlaylist,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist .popupPlayerPlaylist,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist
{
	position: relative;
	width: 100% !important;
	max-width: none;
	height: 100px;
}

.popupPlayerPlaylist div.results
{
	position: relative;
	width: 100%;
	height: 100%;
	margin: 10px 0 0 10px;
}

.popupPlayerPlaylist.playlistHorizontalToggles div.results
{
	width: calc(100% - 30px);
	margin: 10px 0 0 30px;
}

.popupPlayerPlaylist ul
{
	list-style: none;
	position: relative;
	left: 0;
	width: 100%;
	min-width: 100000px;
	height: calc(100% - 10px);
	overflow-x: hidden;
	margin: 0;
	padding: 0;
}

.popupPlayerPlaylist ul li
{
	display: block;
	float: left;
	position: relative;
	list-style: none;
	max-width: 250px;
	height: calc(100% - 10px);
	margin: 0 10px 0 0;
	padding: 0;
	box-sizing: border-box;
}

.popupPlayerPlaylist ul li .abstract,
.popupPlayerPlaylist ul li .videoMore
{
	display: none;
}

.popupPlayerPlaylist ul li .photo
{
	position: relative;
	height: 100%;
}

.popupPlayerPlaylist ul li a
{
	display: block;
	position: relative;
	width: auto;
	height: 100%;
}

.popupPlayerPlaylist ul li a img
{
	display: block;
	position: relative;
	z-index: 1;
	width: auto;
	height: 100%;
}

.popupPlayerPlaylist ul li .title
{
	position: absolute;
	z-index: 5;
	top: 0;
	width: 100%;
	padding: 2px 5px;
	background: rgba(0,0,0,0.4);
	color: #fff;
	font-size: 0.8rem;
	box-sizing: border-box;
	cursor: pointer;
}

.popupPlayerPlaylist ul li .sp_pencil
{
	display: none;
}

.popupPlayerPlaylist ul li .title a
{
	color: #fff;
}

.popupPlayerPlaylist ul li .title a:hover,
.popupPlayerPlaylist ul li .title a:focus
{
	text-decoration: none;
}

.popupPlayerPlaylist ul li .title a::after
{
	content: '\00A0\25B6';
}

a#playlistPrev,
a#playlistNext
{
	display: none;
	position: absolute;
	z-index: 50;
	top: 0;
	width: 25px;
	height: calc(100% - 10px);
	margin: 0;
	background: #d8d8d8;
	border-top: 5px solid #f0f0f0;
	border-bottom: 5px solid #f0f0f0;
	text-align: center;
}

.popupPlayerPlaylist.playlistHorizontalToggles a#playlistPrev,
.popupPlayerPlaylist.playlistHorizontalToggles a#playlistNext
{
	display: block;
}

a#playlistPrev
{
	left: 0px;
	border-left: 2px solid #f0f0f0;
	border-right: 3px solid #f0f0f0;
}

a#playlistNext
{
	right: 0px;
	border-left: 3px solid #f0f0f0;
	border-right: 2px solid #f0f0f0;
}

a#playlistPrev:hover,
a#playlistPrev:focus,
a#playlistNext:hover,
a#playlistNext:focus
{
	background-color: #d1d1d1;
}

a#playlistPrev span,
a#playlistNext span
{
	display: inline-block;
	position: relative;
	top: 25%;
	color: #fff;
	font-size: 40px;
}

.popupPlayerSidebar
{
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	width: 25%;
	height: 100%;
	overflow: hidden;
	overflow-y: auto;
	background: #f5f5f5;
}

.popupPlayerSidebar .bioList ul.results_list
{
	display: block;
}

.popupPlayerWrapper.inlinePlayer .popupPlayerSidebar
{
	position: relative;
	width: 100% !important;
	height: auto !important;
}

.popupPlayerSidebar > div
{
	padding: 5px 10px 5px 10px;
	font-size: 0.8rem;
}

.popupPlayerSidebar > div h2,
.popupPlayerSidebar > div h2.expandableHeading
{
	font-size: 1.2rem;
	margin-left: 0px;
	margin-right: 0px;
	padding: 6px 0 0 0;
	font-weight: 700;
}

.popupPlayerSidebar .bioList
{
	margin-top: 10px;
}

.popupPlayerSidebar .expandableHeading
{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	color: #333333;
	pointer-events: none;
}

.popupPlayerSidebar .expandableHeading:hover
{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	color: inherit;
	pointer-events: none;
}

.popupPlayerWrapper .position
{
	color: #333333;
}

.itemMultimediaList
{
	margin-top: 70px;
}

.itemMultimediaList.newsroomList
{
	/* margin-bottom: 0; */
}

.itemMultimediaList.newsroomList ul.results_list::after
{
	display: none !important;
}

.itemMultimediaList ul.results_list,
.itemMultimediaList ul.results_list li,
#item_itemvideo > div ul,
#item_itemvideo > div ul li,
.xrefMultimediaList ul,
.xrefMultimediaList ul li,
.popupPlayerSidebar > div ul,
.popupPlayerSidebar > div ul li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.itemMultimediaList .section
{
	margin-bottom: 5px;
}

.itemMultimediaList .title
{
	--min-font-size: 20;
    --max-font-size: 24;
    color: #3E5866;
    font-weight: 300;
    line-height: 1.5;
}

.itemMultimediaList .title a
{
	color: inherit;
}

/* because of space-between, we need faux element on the end in case we have 2 items on a line */
.itemMultimediaList ul.results_list::after,
.xrefMultimediaList ul::after
{
	content: '';
}

.itemMultimediaList ul.results_list li,
.xrefMultimediaList ul li,
.itemMultimediaList ul.results_list::after,
.xrefMultimediaList ul::after
{
	flex-basis: calc(100%/3 - 20px);
	margin: 20px 0;
}

.itemMultimediaList

.popupPlayerSidebar > div ul li
{
	margin: 3px 0 4px 0;
}

#mainContent .xrefMultimediaList ul li,
.itemMultimediaList ul.results_list li
{
	margin: 0 0 30px 0;
}

.itemMultimediaList ul.results_list li .photo img,
#item_relatedsame ul li .photo img,
.itemMultimediaList ul li .photo img,
.xrefMultimediaList ul li .photo img
{
	width: 310px;
}

#mainContent .xrefMultimediaList ul li .photo img,
.itemMultimediaList ul.results_list li .photo img
{
	width: 100%;
}

#item_relatedsame ul li .photo img
{
	display: block;
	width: 100%;
}

.videomore
{
	font-size: 0.8rem;
}

#item_relatedsame ul li
{
	margin-bottom: 18px;
}

.itemMultimediaList ul.results_list li::after,
.xrefMultimediaList ul li::after
{
	content: '';
	clear: both;
	display: block;
}

#mainContent .xrefMultimediaList ul li .photo,
.itemMultimediaList ul.results_list li .photo
{
	position: relative;
	z-index: 1;
	/* float: left; */
	margin: 0 0 10px 0;
	width: 100%;
	max-width: 545px;
}

#subContent .xrefMultimediaList ul li .photo,
.xrefMultimediaList ul li .photo
{
	float: none;
}

.xrefMultimediaList ul li .videomore,
.xrefMultimediaList ul li .title/* ,
.xrefMultimediaList ul li .abstract */
{
	margin: 20px 0 0 0;
}

.xrefMultimediaList ul li .title
{
	--max-font-size: 23;
	font-weight: 600;
}

.xrefMultimediaList ul li .abstract
{
	margin-top: 15px;
	color: inherit;
}

.xrefMultimediaList ul li:not(:hover,:focus-within) .abstract
{
	color: var(--black);
}

#mainContent .xrefMultimediaList ul li .abstract p
{
	margin: 0;
	padding: 0;
}

#mainContent .xrefMultimediaList ul li .videomore
{

	font-size: 18px;
}

#subContent #item_relatedsame ul.results_list
{
	margin: 0 0 8px 0;
}

.title .videoMore
{
	margin-left: 6px;
	font-weight: 700;
}

.photo .triggerPopupPlayer,
.photo .triggerPopupPlayer img
{
	display: block;
	position: relative;
	max-width: 100%;
}

a.triggerPopupPlayer
{
	border: none;
}

.popupPlayerWrapper.inlinePlayer .popupPlayerPlaylist ul li .photo a.triggerPopupPlayer img
{
	width: 100%;
	object-fit: cover;
}

/* start player icon - only edit attributes after the first block! */
.photo .triggerPopupPlayer::before,
.photo .triggerPopupPlayer::after
{
	/* don't edit this block */
	content: '';
	display: block;
	position: absolute;
	z-index: 5;

	/* left position of inner triangle, will need to adjust slightly based on scale */

	/* set shadow and background of the icon */
	background: rgba(0,0,0,.3);
	box-shadow: 0 0 2px 0 black;

	/* color sets the solid color of the icon */
	color: white;

	opacity: .85;
	transition: opacity 250ms linear;
}

.photo .triggerPopupPlayer::before
{
	bottom: 20px;
	left: 20px;
	width: 80px;
	height: 80px;
	border: .05em solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	transform: none;
}

.photo .triggerPopupPlayer::after
{
	bottom: 52px;
	left: 57px;
	transform: scale(2);
	width: 0;
	height: 0;
	background: none;
	border: solid transparent;
	border-left-color: currentColor;

	/* these ems are set so you can just use font-size: a
		few blocks above to set the size of the triangle */
	border-width: 0.5em 0 0.5em 0.87em;

	box-shadow: none;
}

.photo .triggerPopupPlayer:is(:hover, :focus-within)::before,
.photo .triggerPopupPlayer:is(:hover, :focus-within)::after
{
	opacity: 1;
	color: var(--slateblue)
}


@media all and (orientation: portrait)
{
	.popupPlayerWrapper
	{
		z-index: 99999999;
		top: 50%;
		left: 50%;
		width: 90vw;
		transform: translate(-50%, -50%);
	}
}

@media (min-width: 768px)
{
	.popupPlayerWrapper
	{
		border: 12px solid #cecece;
		border-radius: 2px;
	}

	.popupPlayerWrapper.inlinePlayer
	{
		display: block;
		height: 100%;
		overflow: initial;
		padding-bottom: unset;
	}

	.popupPlayerWrapper.playerWithSidebar .mediaPlayer,
	.popupPlayerWrapper.inlinePlayer .mediaPlayer,
	.popupPlayerWrapper.inlinePlayer.playerWithSidebar .mediaPlayer,
	.popupPlayerWrapper.inlinePlayer.playerWithPlaylist .mediaPlayer,
	.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .mediaPlayer
	{
		width: 75% !important;
		padding-bottom: unset;
	}

	.popupPlayerWrapper.inlinePlayer .popupPlayerPlaylist,
	.popupPlayerWrapper.inlinePlayer.playerWithSidebar .popupPlayerPlaylist,
	.popupPlayerWrapper.inlinePlayer.playerWithPlaylist .popupPlayerPlaylist,
	.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist
	{
		max-width: 100%;
		height: 25%;
	}

	.popupPlayerWrapper.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist,
	.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist
	{
		width: 75%;
		max-width: 75%;
	}

	.popupPlayerSidebar > div h2,
	.popupPlayerSidebar > div h2.expandableHeading
	{
		padding: 12px 0 8px 0;
	}

	.popupPlayerSidebar
	{
		z-index: 10;
	}

	.popupPlayerWrapper.inlinePlayer .popupPlayerSidebar
	{
		position: absolute;
		width: 25% !important;
		height: 100% !important;
	}

	/* #mainContent .xrefMultimediaList ul li .photo img,
	.itemMultimediaList ul.results_list li .photo img
	{
		width: 310px;
	} */
}

@media (min-width: 920px)
{
	.itemMultimediaList ul.results_list
	{
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
		justify-content: space-between;
	}

	.itemMultimediaList.newsroomList ul.results_list
	{
		justify-content: flex-start;
	}
}

@media (min-width: 1025px)
{
	/* might want something a little smaller and centered
	.inlineMultimediaPlaceholder
	{
		max-width: 75%;
		margin: 15px auto 8px auto;
	}
	*/

	#mainContent .xrefMultimediaList ul li,
	.itemMultimediaList ul.results_list li
	{
		margin: 0 0 40px 0;
	}

	/* .itemMultimediaList ul.results_list li .photo,
	#mainContent .xrefMultimediaList ul li .photo
	{
		float: left;
	} */
}

@media (max-width: 767px)
{
	.popupPlayerSidebar > div
	{
		padding: 15px 10px 5px 10px;
	}
	
	.popupPlayerSidebar .bioList .photo
	{
		display: none;
	}
	
	.popupPlayerSidebar .bioList .info
	{
		padding: 0px;
		text-align: left;
	}
	
	.popupPlayerSidebar .bioList ul.results_list li:hover
	{
		background: #F7F7F7;
	}
}


/* Bio listing */

.bioList
{
	margin: 30px auto 20px;
}

.bioList > .results-criteria-wrapper
{
	margin-bottom: 20px;
}

.bioList > .results-criteria-wrapper > div
{
	padding: 0 20px 0 0;
}

ul.itemList .results_criteria,
ul.results_criteria > li
{
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

ul.results_criteria > li
{
	margin: 10px 0;
}

.bioList > .results-criteria-wrapper button
{
	 align-self: flex-start;
}

.bioList > .results-criteria-wrapper a.removeCriteria
{
	color: var(--burntorange);
}

.bioList .reviseButton
{
	margin-bottom: 30px;
}

.bioList ul.results_list,
.bioList ul.results_list > li
{
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bioList ul.results_list
{
	display: grid;
	grid-gap: 8px;
}


/*
 If you're looking to make the image a 'tile'
 and you need the entire background to click to the
 bio profile, yet you have an edit icon, email,
 phone, and office link on there, use the following
 linkmask field with psuedo css to make the link mask.

 See: 'linkmask' in lib/AttorneySearch/Local.php

.bioList ul.results_list > li:hover > div
{
	pointer-events: none;
}

.bioList ul.results_list > li:hover > div a
{
	pointer-events: auto;
}

.bioList ul.results_list > li .linkmask a:after
{
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}
*/

.bioList .photo
{
	overflow: hidden;
}

.bioList .photo img
{
	display: block;
	width: 100%;
	height: auto;
	transition: all 250ms ease;
}

.bioList ul.results_list li
{
	background: #F7F7F7;
}

.bioList ul.results_list li:hover,
.bioList ul.results_list li:focus-within
{
	background: #E1E1E1;
}

.bioList ul.results_list li:hover .photo img,
.bioList ul.results_list li:focus-within .photo img
{

	transform: scale(1.05);
}

.bioList .info
{
	padding: 25px 25px 35px;
	text-align: center;
	box-sizing: border-box;
}

.bioList .contact
{
	display: flex;
	justify-content: center;
	letter-spacing: 1px;
}

.bioList .title
{
	margin-bottom: 5px;
	font-weight: 600;
	color: #333333;
	--min-font-size: 20;
	--max-font-size: 22;
	line-height: 1.25;
}

.bioList a
{
	border: none !important;
}

.bioList .title a
{
	color: inherit;
}

.bioList .position
{
	margin-bottom: 20px;
	text-transform: uppercase;
	font-weight: 500;
	--min-font-size: 13;
	--max-font-size: 18;
	--flex-start: 1200;
	--flex-end: 1600;
	color: var(--darkpurple);
	line-height: 1.25;
	letter-spacing: 1px;
}


.bioList .phone + .email::before
{
	content: '|';
	margin: 0 8px;
}

.bioList .office
{
	margin-bottom: 5px;
	line-height: 1.25;
}

.bioList .results_list a:not(:hover):not(:focus)
{
	color: inherit;
}

.ajaxBioList
{
	display: none;
}


@media (min-width: 600px)
{
	.bioList ul.results_list
	{
		grid-template-columns: repeat(2, 1fr);
	}

	.bioList .info
	{
		padding: 25px 35px 35px;
	}
}

@media (min-width: 768px)
{


	.bioList > .results-criteria-wrapper
	{
		display: flex;
		justify-content: space-between;
		margin-bottom: 0;
	}
}

@media (min-width: 1024px)
{
	.bioList ul.results_list
	{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1350px)
{
	.bioList:not(.shortList) ul.results_list
	{
		grid-template-columns: repeat(4, 1fr);
	}

}


/* Bio spotlights */

#bioSpotlights
{
	padding-top: 40px;
	margin-top: 70px;
	border-top: 1px solid #CCCCCC;
}

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

#bioSpotlights li
{
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #cccccc;
}

#bioSpotlights a
{
	border: none;
}

#bioSpotlights .photo
{
	max-width: 244px;
}

#bioSpotlights .photo img
{
	display: block;
	width: 100%;
	height: auto;
}

#bioSpotlights .featuredtitle
{
	margin: 5px 0 15px;
	--min-font-size: 20;
	--max-font-size: 26;
}

#bioSpotlights .nametitle
{
	overflow: hidden;
}

#bioSpotlights .nametitle .title
{
	float: left;
}

#bioSpotlights .nametitle .title + div::before
{
	content: ', ';
}

@media (min-width: 768px)
{
	#bioSpotlights li
	{
		display: flex;
	}

	#bioSpotlights .photo
	{
		width: auto;
		flex: 0 0 244px;
		margin-right: 80px;
	}
}

/* Cookie banner/popup -------------------------------------------------> */

#cookieBanner
{
	display: none;
	position: fixed;
	z-index: 9999;
	left: 16px;
	right: 16px;
	bottom: 0;
	max-width: 1100px;
	overflow: visible !important;
	margin: 0 auto;
	padding: 1rem 0px;
	color: white;
}

#cookieBanner::before
{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	background: rgba(0,0,0,.85);
}

#cookieBanner > div
{
	position: relative;
}

#cookieBanner > div > div
{
	max-height: 70vh;
	overflow: auto;
}

#cookieBanner p
{
	margin: 0 0 1em 0;
	padding: 0;
	color: inherit;
	font-size: 16px;
	line-height: 26px;
}

#cookieBanner > div > div > p
{
	margin: 1em 0;
}

#cookieBanner a
{
	color: inherit;
	text-decoration: underline;
}

#cookieBanner a:hover,
#cookieBanner a:focus
{
	color: #1F488A;
}

#cookieBanner p + p
{
	margin-top: .8em;
}

#cookieBanner div button
{
	display: flex;
	padding: 14px 18px 14px 25px;
	margin: 10px 10px 10px 0;
	background: none;
	border: 1px solid currentColor;
	border-radius: 0;
	color: inherit;
	font-weight: 300;
	font-size: 16px;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}

#cookieBanner button:last-of-type
{
	margin-right: 0;
	background: black;
}

#cookieBanner div button:after
{
	content: '×';
	display: block;
	margin-left: 18px;
	font-size: 33px;
	line-height: .6;
}

#cookieBanner #cookieManage::after
{
	content: '›';
}

#cookieBanner button:hover,
#cookieBanner button:focus
{
	background: white;
	color: black;
}

@media (min-width: 920px)
{
	#cookieBanner
	{
		left: 44px;
		right: 44px;
	}

	#cookieBanner > div
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	#cookieBanner > div > div
	{
		padding-right: 40px;
	}

	#cookieBanner p
	{
		font-size: 18px;
		line-height: 28px;
	}
}

@media (min-width: 1350px)
{
	#cookieBanner
	{
		left: 80px;
		right: 80px;
	}
}

#cookieOptions
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.5);
}

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

#cookieOptions > div
{
	position: relative;
	width: calc(100vw - 40px);
	max-width: 800px;
	max-height: calc(100vh - 120px);
	overflow: auto;
	padding: 20px;
	background: white;
	border: 8px solid #999;
	box-sizing: border-box;
}

#cookieOptions h2
{
	margin-bottom: .5em;
	padding: 0;
}

#cookieOptions div + div h2
{
	clear: both;
	float: left;
}

#cookieOptions .toggleGroup
{
	float: right;
}

#cookieOptions p
{
	clear: both;
	width: 100%;
}

/* the widget container */
.toggleGroup
{
	position: relative;
	width: 85px;
	height: 28px;
	background: black;
	border-radius: 14px;

	/* goes to white on focus */
	border: 1px dashed transparent;

	color: white;
}

/* hide the real radio inputs */
.toggleGroup input
{
	position: absolute;
	z-index: -1;
}

/* normalize fonts for the labels, and make them cover the whole widget */
.toggleGroup label
{
	/* align the text in the space remaining */
	display: flex;
	align-items: center;
	justify-content: center;

	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	/* make the first label appear on the left by giving 50% right padding */
	padding: 0 45% 0 0;

	/* so the slider can inherit from the top level of the widget, this level has to inher it too */
	border-radius: inherit;

	font: inherit;
	font-size: 14px;
	text-transform: uppercase;
}

.toggleGroup:focus-within
{
	border-color: white;
	text-decoration: underline;
}

/* second label needs to appear on the right */
.toggleGroup label ~ label
{
	padding: 0 0 0 45%;
	color: #ccc;
	cursor: pointer;
}

/* unchecked label should be the only one clickable */
.toggleGroup :checked + label
{
	pointer-events: none;
}

/* the slider is attached to the last label so it sits above everything else */
.toggleGroup label ~ label:after
{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 45%;
	width: 55%;
	background-color: white;
	background-clip: content-box;
	border-radius: inherit;
	border: 3px dotted transparent;
	box-sizing: border-box;
	transition: all 150ms;
}

/* off state - straight right edge */
.toggleGroup label ~ :checked + label:after
{
	left: 0;
	background-color: #ccc;
}


/* Standard 'Close' and 'Accept' and 'Share' Button ----------------> */

.closeButton,
.popupShareButton
{
	position: absolute;
	top: 4px;
	right: 15px;
	width: 0;
	height: 0;
	overflow: hidden;
	padding: 20px 20px 0 0;
	background-color: #ddd;
	border: 2px solid #fff;
	border-radius: 50%;
	color: #999;
	font-size: 0;
	cursor: pointer;
}

.popupShareButton::after
{
	content: "";
	opacity: 0.35;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 20px;
	height: 20px;
	background: #ddd url('../i/icon-share.svg') center center no-repeat; /* data-uri */
	background-size: 13px;
}

.popupShareButton:hover::after,
.popupShareButton:focus::after
{
	opacity: 0.9;
}

.closeButton::before,
.closeButton::after
{
	content: "";
	position: absolute;
	top: 9px;
	left: 3px;
	width: 14px;
	height: 3px;
	background-color: currentColor;
	transform: rotate(-45deg);
}

.closeButton::after
{
	transform: rotate(45deg);
}

.closeButton:hover,
.closeButton:focus
{
	color: #262626;
}

.acceptButton
{
	position: absolute;
	top: 15px;
	right: 15px;
	padding: 0.3vw 0.5vw;
	background-color: #ddd;
	border: 2px solid #fff;
	border-radius: 3px;
	color: #333333;
	text-transform: uppercase;
	cursor: pointer;
}

.acceptButton:hover,
.acceptButton:focus
{
	background-color: green;
	color: #ffffff;
}

@media (min-width: 768px)
{
	.closeButton,
	.popupShareButton
	{
		top: 15px;
	}
}


/* Email Popup Support -------------------------------------------------> */

#emailPopup
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(51, 51, 51, 0.7);
	transition: opacity .3s;
}

#emailPopup:not(.open)
{
	opacity: 0;
	pointer-events: none;
}

#emailPopup > div
{
	position: relative;
	background: white;
}

#emailPopupContent
{
	width: calc(100vw - 40px);
	max-width: 800px;
	max-height: calc(100vh - 120px);
	overflow: auto;
	padding: 20px;
	background: white;
	border: 12px solid #cecece;
	box-sizing: border-box;
}

#emailDisclaimerButtons
{
	text-align: center;
}

#emailDisclaimerButtons > *
{
	display: inline-block;
	margin: 10px;
	padding: 4px 10px;
	width: auto;
	overflow: visible;
	background: var(--burntorange);
	border: none;
	color: #fff;
	font: inherit;
	text-transform: inherit;
	text-align: center;
	line-height: inherit;

	/* Corrects font smoothing for webkit */
	-webkit-font-smoothing: inherit;

	/* Corrects inability to style clickable `input` types in iOS */
	-webkit-appearance: none;

	cursor: pointer;
}

#emailPopupClose
{
	position: absolute;
	top: -12px;
	right: -12px;
}


/* SiteMap Object */

table.SITE_MAP
{
	margin-top: 5px;
	border-collapse: collapse;
}

table.SITE_MAP th
{
	padding-top: 5px;
	text-align: right;
}

table.SITE_MAP td
{
	padding-top: 5px;
}

table.SITE_MAP td.h_separator
{
	height: 5px;
	border-bottom: solid 1px #ccc;
}

table.SITE_MAP td.v_separator
{
	padding-left: 15px;
	padding-right: 15px;
	color: #666;
	font-size: 08px;
}

@media (max-width: 767px)
{
	table.SITE_MAP,
	table.SITE_MAP th,
	table.SITE_MAP td,
	table.SITE_MAP tr
	{
		display: block;
		padding: 0;
		text-align: left;
	}

	table.SITE_MAP td:nth-child(n + 4)
	{
		padding-left: 10px;
	}

	table.SITE_MAP td:nth-child(n + 6)
	{
		padding-left: 20px;
	}

	table.SITE_MAP .v_separator
	{
		display: none;
	}
}


/* Search Object Support */

#search form
{
	margin: 0 0 2rem 0;
}

#sp_class_search form div
{
	flex-basis: 100%;
	width: 100%;
}

/* search text input and button */
#sp_class_search .search_text
{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	margin: 1em 0 0;
}

#sp_class_search .search_text input
{
	display: block;
	height: auto;
	margin: 0;
	vertical-align: bottom;
}

#sp_class_search #searchtext
{
	flex-grow: 1;
	flex-basis: 0;
	width: 100%;
	margin-right: 1rem;
	border: 1px solid var(--bordergray);
	color: var(--black);
}

.searchOptionsWrapper .customSelect
{
	padding-top: 20px;
	border: 1px solid var(--bordergray);
}


.searchOptionsWrapper select,
.searchOptionsWrapper .customSelect,
.searchOptionsWrapper .fsComboBox [role="textbox"]
{
	color: var(--black);
}


#sp_class_search p.form-section-label
{
	margin: 1.5rem 0 0.5rem 0;
	padding: 0;
	font-weight: bolder;
}

#search div.form-section
{
	margin-bottom: 0;
}

.search_section_wrapper
{
	display: flex;
}

#sp_class_search .search_section_wrapper
{
	flex-direction: column;
}

#subContent .search_section_wrapper
{
	flex-direction: column;
}

/* checkbox/radio rows */
#sp_class_search .sections > div,
#sp_class_search .search_type > div > div
{
	display: flex;
	align-items: center;
	padding: 0 0 0.8rem .3rem;
}

.search_section_wrapper input[type=radio],
.search_section_wrapper input[type=checkbox]
{
	margin: 0;
	padding: 0;
}

#sp_class_search label
{
	display: flex;
	align-content: center;
	align-items: flex-end;
	padding-top: 1px;
	padding-left: 0.5rem;
	font-size: 1rem;
	line-height: 1;
}

#search .SEARCH
{
	margin: 2.5rem 0 0 0;
}

#search #subContent
{
	margin: .5rem 0 0 0;
	border: none;
}

#search #subContent form > div > div
{
	flex-basis: auto;
}

#search #advSearchLink a
{
	color: #888;
}

#search .search_result_date
{
	color: #888;
}

.searchBioWrapper > div > div
{
	flex-direction: column;
}

@media (min-width: 768px)
{
	#sp_class_search .search_text
	{
		flex-direction: row;
		align-items: stretch;
	}

	#sp_class_search #searchtext
	{
		width: auto;
	}

	#sp_class_search .search_section_wrapper
	{
		flex-direction: row;
	}

	#search div.form-section
	{
		margin-bottom: 0px;
	}

	.searchBioWrapper > div > div
	{
		flex-direction: row;
	}
}

#search div.sections input,
#search div.search_type  input
{
	border: 0;
}

#search a.more
{
	font-weight: bolder;
}

.searchfoundtext
{
	font-weight: bolder;
}

.result-items p
{
	margin-top: 2px;
	margin-bottom: 18px;
	padding-top: 0;
	padding-bottom: 0;
}

.result-items p.link
{
	margin-bottom: 0;
	padding-top: 5px;
	padding-bottom: 0;
}

.section-header h3
{
	margin-top: 2em;
	margin-bottom: .5em;
	padding: 0;
	font-size: 1.3rem;
}

#search .view_more a
{
	position: relative;
	/*padding: 7px 36px 7px 36px;*/
}

#search .searchHeader
{
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #a69e9d;
}

#search #searchTabLinks div
{
	margin: 0;
	padding: 6px 0;
	border-top: 1px solid #e9e9e9;
}

#search #searchTabLinks .form-section-label
{
	color: #000;
}

#search #searchTabLinks,
#search #searchTabLinks a
{
	color: var(--burntorange);
}

#search #searchTabLinks a span
{
	color: var(--burntorange);
}

#search #searchTabLinks .form-section-label
{
	margin-top: 27px;
	border: none;
	font-weight: bold;
}

#search #searchResultsFor span
{
	color: #000;
}

#search #searchResultsFor
{
	margin: 0 0 0.5rem 0;
	padding: 0;
	color: #888;
}

#search #searchResultsForAlt
{
	font-size: max(.7em, 15px);
}

#search .searchOptionsWrapper
{
	position: relative;
	width: 400px;
}

#search .searchOptionsWrapper,
#search #searchOptions
{
	display: inline-block;
	font-size: 18px;
}

#search #searchOptions
{
	min-width: 400px;
}

#search select:hover
{
	cursor: pointer;
}

/* bio section search results */
.searchBioWrapper div.results_list > div
{
	display: flex;
}

.searchBioWrapper .photo
{
	/*order: 2;*/
	padding: 0 0 9px 0;
	margin: 0;
}

.searchBioWrapper .photo img
{
	width: 220px;
	padding: 0 32px 0 0;
}

.searchBioWrapper .divider
{
	display: none;
	margin: 18px 0;
	border-top: 1px solid #a69e9d;
}

/*
.result-items > div:not(:last-of-type),
.result-items > p.excerpt:not(:last-of-type)
*/
.result-items > div,
.result-items > p.excerpt
{
	margin: 0 0 32px;
	padding: 0 0 32px;
	border-bottom: 1px solid #a69e9d;
}


/* Example Styles Support */

table#fontReference
{
	width: 100%;
	margin: 0 0 38px 0;
	font-size: 80%;
	line-height: 1;
	/*white-space: nowrap;*/
}

table#fontReference th,
table#fontReference td
{
	padding: 6px 6px 6px 0;
}


/* Map Object Support */

.sp_map
{
	margin: 2em 0 1em 0;
}

.printMap
{
	display: inline-block;
	padding: 4px;
	background: var(--burntorange);
	color: #fff;
	text-align: center;
}

.printMap:hover,
.printMap:focus
{
	background: #6a747c;
	text-decoration: none;
}

/* buttons to look like links */
/*button.toggleExpand
{
	margin: 0 0 1.5em 0;
	padding: 0 !important;
	background: none !important;
	border: none;
	color: var(--burntorange);
	font: inherit;
	text-align: left;
	cursor: pointer;
	font-weight: 600;
	--max-font-size: 19;
}

button.toggleExpand:hover,
button.toggleExpand:focus
{
	color: #9f0604;
}*/


/* Newsletter Object Support */

.newsletter-unsubscribe-form blockquote
{
	margin-left: 0;
	margin-right: 0;
}


/* Alignment */

figure
{
	margin: .5em 0;
}

.alignleft,
.align-left,
img[style*='float: left']
{
	float: left;
	margin: .5em 1.5em .5em 0;
}

.alignright,
.align-right,
img[style*='float: right']
{
	float: right;
	margin: .5em 0 .5em 1.5em;
}

.aligncenter,
.align-center,
.alignnone
{
	clear: both;
	display: block;
	margin: .5em auto;
}

figure.image
{
	display: table !important;
	padding: 5px;
	background: transparent;
	border: 1px solid #ccc;
	box-sizing: border-box;
	text-align: center;
}

figure.image figcaption
{
	clear: both;
	display: block !important;
	padding: 5px;
	font-size: 0.8rem;
}

.nowrap
{
	white-space: nowrap;
}


/* breadcrumb */
#breadCrumb,
#breadCrumb li
{
	list-style: none;
	list-style-image: none;
	margin: 0 0 0 1em;
	padding: 0;
}

#pageTools
{
	position: absolute;
	top: 10px;
	right: 0;
	display: flex;
	color: #ffffff;
	align-items: center;
	text-transform: uppercase;
	font-size: 14px;
	z-index: 20;
}

#pageTools #pdfLink
{
	margin: 0 20px 0 30px;
}

#pageTools svg
{
	display: block;
	height: 25px;
	width: auto;
	fill: #ffffff;
}

body.blackBannerItems #pageTools svg
{
	fill: var(--black);
}


body.blackBannerItems #breadCrumb
{
	color: var(--black);
}

#breadCrumb li
{
	display: block;
	float: left;
	padding-right: .25em;
	margin: 0;
	font-size: inherit;
}

#breadCrumb li:not(:last-child)
{
	margin-right: 10px;
}

#breadCrumb li span
{
	margin-left: 10px;
}

#breadCrumb a
{
	color: inherit;
	margin-left: 10px;
}

@media (min-width: 1024px)
{
	#pageTools
	{
		top: 146px;
	}
}

@media (min-width: 1440px)
{
	#pageTools
	{
		right: -50px;
	}
}

@media (max-width: 767px)
{
	#breadCrumb
	{
		display: none;
	}
}

/* quotes */
.quoteList ul,
.quoteList li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.quoteList p
{
	margin: 0;
	padding: 0;
}

.quoteList .attribution
{
	font-size: .85em;
	text-align: right;
}


/* END DEFAULT CSS -----------------------------------------------> */
