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


/*

Work sans - worksans
---------------------

lighter - Hairline
100 - Thin
200 - Extra light
300 - Light
400 - Regular
500 - Medium
600 - Semibold
700 - Bold
800 - Extra bold
900 - Black


Davis - davis
---------------------

300 Light
400 (normal) Normal
500 Medium
700 (bold) Bold



*/

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

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

	/*font-family: 'worksans', Arial, sans-serif;*/
	font-family: 'davis', Arial, sans-serif;

	/*line-height: 1.33;*/
	line-height: 1.68;
	font-weight: 300;
	color: #030303;

	/* 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: 1920;

	--mouse-x: calc(50vw + 1px);
	--mouse-y: calc(50vh + 1px);

	--worksans: 'worksans', Arial, sans-serif;
	--davis: 'davis', Arial, sans-serif;

}

html.mobileActive,
html.mobileActive body
{
	overflow: hidden;
	height: 100vh;
}

html.mobileActive body
{
	overflow: visible;
}

h1, h2, h3, h4, h5, h6, p, li,
.title, .info, .abstract, .subtitle, p.introText, .itemdate, .location, .position, .contact, .section, .attribution, .bioposition, .name, #clientName, .largetext, .email,
#bioInfo, #tabLinks a, #itemTitle,
.number,
#pageTitle,
.address, .phone, .state, #officeAddress,
#resultPageLinks,
#featuredMatters .featuredabstract, .itemtime
{
	/* 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)))
		));


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

	--min-margin-bottom: max(10, calc(var(--max-margin-bottom) * .5));
	--min-margin-top: max(10, calc(var(--max-margin-top) * .5));

}

#topJump
{
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
	display: none;
	padding: 10px;
	color: #001F60;
	font-weight: 400;
	font-size: 17px;
	background: #ffffff;
	text-transform: uppercase;
	box-shadow: 0px 0px 3px 0 rgba(0,0,0,.2);
}

#topJump svg
{
	display: block;
	margin: 0 auto;
}

#topJump.show
{
	display: block;
}


#topJump.stay
{
	position: absolute;
	left: calc((50% - 50vw));
	bottom: auto;
	top: -110px;
}

@media (min-width: 920px)
{
	#topJump.stay
	{
		position: absolute;
		left: calc((50% - 50vw) + 10px);
		bottom: auto;
		top: -110px;
	}
}

@media (min-width: 1350px)
{
	#topJump
	{
		background: none;
		box-shadow: none;
		bottom: 100px;
		left: 2px;
	}


}

@media (min-width: 1600px)
{

	#topJump
	{
		background: none;
		box-shadow: none;
		bottom: 100px;
		left: max(0px,
					 min(34px, 0px + (34 - 0) * ((100vw - 1600px) / (1920 - 1600))
		));
	}

	#topJump.stay
	{
		position: absolute;
		left: calc((50% - 50vw) + max(8px,
					 min(68px, 8px + (68 - 8) * ((100vw - 1600px) / (1920 - 1600))
		)));
		bottom: auto;
		top: -110px;
	}
}

h1, h2, h3, h4, h5, h6, p
{

	/*--min-margin-top: 10;*/
	--max-margin-top: 15;

	/*--min-margin-bottom: 18;*/
	--max-margin-bottom: 22;


	--min-margin-bottom: calc(var(--max-margin-bottom) * .7);
	--min-margin-top: calc(var(--max-margin-top) * .7);
}

html[data-whatintent="mouse"] *:focus,
html[data-whatintent="touch"] *:focus
{
	outline: 0;
}

/* make sure the browser doesn't go smaller than 320, and throws a scrollbar */
@media (max-width: 320px)
{
	html
	{
		max-width: 320px;
		overflow-x: visible;
	}
}

body
{
	position: relative;
	min-width: 320px;
	max-width: 1700px;
	margin: 0 auto;
	padding: 0 80px 0 80px;
	/*padding: 0 44px;*/

	/*background: url('../i/home-banner-dots.svg') no-repeat, linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(197,207,218,.46) 100%);
	background-size: 589px, auto;
	background-position: -380px 88%, 0 0;*/

	box-sizing: border-box;
}

#inescapableCircleOfDoom
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 28px;
	height: 28px;
		pointer-events: none;
	border: 1px solid red;
	border-radius: 50%;
	opacity: 0;

	transform: translate(var(--mouse-x),var(--mouse-y));
	transition: transform 100ms ease,
				opacity 250ms ease;
}


@media (max-width: 1349px)
{
	body
	{
		padding: 0 44px 0 44px; /* top padding for fixed header offset, plus reduced side padding */
	}
}

/* in mobile or tablet we do not want anything outside the body bounds scrollable */
@media (max-width: 1024px)
{
	body
	{
		overflow-x: clip;
	}
}

@media (max-width: 919px)
{
	body
	{
		padding: 0 16px 0 16px;  /* top padding for fixed header offset, plus further reduced side padding */
	}
}


@media (min-width: 1280px)
{
	body
	{
		padding-top: 130px;
	}
}

p
{
	--max-margin-bottom: 32;
	--min-font-size: 16;
}

p.introText
{
	--max-font-size: 22;
	--min-font-size: 17;
	line-height: 1.54;
	font-weight: 400;
}

/* 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
{
	font-weight: bolder; /* relative, works better if you have a light base font */
}

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;
}

a
{
	color: #CE392A;
	text-decoration: none;
}

a:hover,
a:focus
{
	color: #5B6A7B;
}

/* search results highlight */
mark
{
	background: #0a80ca;
	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;
	cursor: default !important;
}

h1, h2, h3, h4, h5, h6
{
	padding: 0;
	--max-margin-top: 45;
	line-height: normal;
	font-weight: 600;
	font-family: var(--worksans);
}

h1,
#pageTitle
{
	color: #074F71;
	margin-top: 0;
	font-weight: 400;
}

h1#pageTitle
{
	--max-font-size: 48;
	line-height: 1.33;
	letter-spacing: -1px;
}

#bannerContent #pageTitle
{
	--min-font-size: 26;
	--max-font-size: 48;
	letter-spacing: -1px;
}

h2
{

	--min-margin-top: 10; /* changed per swati/jessica */
	--max-margin-bottom: 27;
	font-weight: 600;
	color: #001F60;
	letter-spacing: -1px;
	--max-font-size: 36;
}

#subContent h2
{
	text-transform: uppercase;
	--min-font-size: 18;
	--max-font-size: 21;
	--max-margin-bottom: 20;
	--max-margin-top: 55;
}

#subContent h2.expandableHeading,
#subContent h2.expandableHeading + div
{
	padding-bottom: 0;
	border: none;
}


.sideStaticText
{
	margin-top: 80px;
}

.results-criteria-wrapper h2
{
	font-weight: bold;
	font-size: 1.1em;
}

h3
{
	color: #000000;
	--max-font-size: 28;
}

h4
{
	color: #000000;
	--max-font-size: 24;
}

h5
{
	text-transform: uppercase;
	color: #001F60;
	--min-font-size: 16;
	--max-font-size: 19;
}

/* Reserved for Print Pilot */
h6
{
	font-weight: bolder;

	--min-font-size: 14;
	--max-font-size: 22;
}

.twoCol
{
	columns: 2 320px;
	column-gap: 2em;
}

.twoCol li
{
	break-inside: avoid;

	margin-top: 0;
	margin-bottom: 0;
	padding: 0 0 1em 0;
}

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

ol
{
	padding-left: 1em;
}

li
{
	padding: 0;
	margin: 1em 0em 1em 1.5em;
	--min-font-size: 16;
}

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 */
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
{
	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: 479px)
{
	/* 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
*/

#cookieBanner::before,
#footer::before,
#homeNewsHeader::before,
#homeArea::before,
.staggeredSpotlights::before,
#footerTop::before,
/*#homeBioSearch::before,*/
#header::before,
#innerMain::before,
#homeAnimation::before/*,
#content::before*//*,
#wideTileSpotlights .content::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 -----------------------------------> */

#banner,
.letterLinks > *,
.bioList > ul > li,
#socialLinks,
#homeNewsHeader,
#alertMessage,
#logo svg
{
	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;
}

/* Static News */

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

#staticNews ul
{
	width: 100%;
}

#staticNews li
{
	background: #ffffff;
}

#staticNews .image
{
	overflow: hidden;
}

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

#staticNews .content
{
	position: relative;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	padding: 30px;
	min-height: 150px;
	color: #030303;
	box-sizing: border-box;
}

#staticNews .section
{
	width: 100%;
	align-self: flex-start;
	text-transform: uppercase;
	color: #001F60;
	font-weight: 400;
	letter-spacing: 1px;
	font-size: 19px;
}

/*#staticNews .title
{
	--min-font-size: 16;
}*/

#staticNews .content
{
	overflow: hidden;
}

#staticNews .content > *
{
	position: relative;
	z-index: 1;
}

#staticNews .content::after
{
	position: absolute;
	left: calc(50% - 50px);
	top: calc(50% - 50px);
	z-index: 0;
	content: '';
	width: 100px;
	height: 100px;
	background: #00143e;
	border-radius: 50%;
	opacity: 0;
	transform: scale(3.5);
}

#staticNews a:hover .content,
#staticNews a:focus .content
{
	color: #ffffff;

}

#staticNews a:hover .content::after,
#staticNews a:focus .content::after
{
	transition: transform 700ms ease, opacity 250ms ease;
	transform: scale(8);
	opacity: 1;
}

#staticNews a:hover .content .section,
#staticNews a:focus .content .section
{
	color: inherit;
}

#staticNews a:hover .content .lpost,
#staticNews a:focus .content .lpost
{
	color: #F0E6D8;
}

#staticNews .standardButton
{
	margin-top: 32px;
	text-align: right;
}


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

	#staticNews li
	{
		width: calc(100%/3);
	}

	#staticNews img
	{
		height: 100%;
		object-fit: cover;
	}

	#staticNews li a
	{
		display: flex;
		flex-direction: column;
		height: 70vw;
		max-height: 782px;
	}

	#staticNews li a > div
	{
		height: 50%;
	}

	#staticNews li:nth-child(even) a
	{
		flex-direction: column-reverse;
	}

	#staticNews .content
	{
		padding-left: 60px;
		padding-left: max(30px,
					 min(60px, 30px + (60 - 30) * ((100vw - 768px) / (1600 - 768))
		));

		padding-right: 60px;
		padding-right: max(30px,
					 min(60px, 30px + (60 - 30) * ((100vw - 768px) / (1600 - 768))
		));

		padding-top: 50px;
		padding-top: max(30px,
					 min(50px, 30px + (50 - 30) * ((100vw - 768px) / (1600 - 768))
		));

		padding-bottom: 72px;
		padding-bottom: max(30px,
					 min(72px, 30px + (72 - 30) * ((100vw - 768px) / (1600 - 768))
		));
	}

	#staticNews .title
	{
		--min-font-size: 15;
		--fluid-start: 1024;
	}
}

#staticNews li
{
	position: relative;
}

#staticNews li .sp_pencil
{
	position: absolute;
	right: 20px;
	bottom: 20px;

	z-index: 9999;
}

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

#content .fsComboBox [role="textbox"]
{
	padding-right: 35px;
}

.fsComboBox button
{
	background: white;
	font-size: 16px;
}

.fsComboBox button::after
{
	color: #A0ADB7;
}

.fsComboBox button:is(:hover, :focus)
{
	color: white;
	background: #A0ADB7;
}

.fsComboBox button:is(:hover, :focus)::after
{
	color: inherit;
}

.fsComboListBox
{
	border-color: #EDF0F4;
	border-width: 5px;
	border-top-width: 10px;
	margin-top: -14px;
	border-radius: 0 0 2px 2px;
}

.fsComboListBox li:is(.active, :hover, :focus-within)
{
	background: #A0ADB7;
	color: white;
}

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

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

#captcha_wrapper
{
	float: none;
	height: auto;
	clear: both;
}

#captcha_wrapper img
{
	margin-top: 2px;
	display: block;
}

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;
	}
}

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

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

#resultPageLinks
{
	margin: 1em 0;
}

.expandableHeading
{
	position: relative;
	padding-bottom: 22px;
	margin-top: 0;
	cursor: pointer;
	font-weight: 400;
	--min-font-size: 20;
	--max-font-size: 24;
	color: #000000;

	border: solid #bababa;
	border-width: 0 0 1px;
}

/* buttons to look like links */
.expandableHeading button,
.expandButton button,
.collapseButton button,
.expandable button
{
	position: relative;
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0;
	background: none !important;

	border: none;
	font: inherit;
	color: inherit;

	cursor: pointer;
	text-transform: inherit;
	text-align: inherit;
}



.expandableHeading button
{
	padding-right: 30px;
}

.expandButton button,
.collapseButton button
{
	color: #7B93AA;
	text-decoration: none;
	cursor: pointer;
}

.expandableHeading button:hover,
.expandableHeading button:focus
{
	color: #7B93AA;
}

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

.expandButton.expanded
{
	display: none;
}

.expandableHeading button::after,
.expandable button::after
{
	position: absolute;
	right: 0;
	top: -10px;
	width: 36px;
	height: 36px;
	content: '+';
	display: block;
	color: #d94c38;
	font-size: 38px;
	font-weight: 300;
	border: 2px solid #d94c38;
	border-radius: 50%;
	text-align: center;
	line-height: 1;
}

.expandable button::after
{

	border: none;
	content: '';
	top: 0;
	width: 27px;
	height: 27px;
	background: url('../i/icon-expand.svgz') no-repeat; /* data-uri */
	background-size: 100%;
}

.expandableHeading.expanded button::after
{
	content: '\2212'; /* minus sign, NOT hyphen or dash */
}

.expandable button.isOpen::after
{
	background: url('../i/icon-close.svgz') no-repeat; /* data-uri */
	background-size: 100%;
}

.expandableHeading.expanded
{
	padding-bottom: 0;
	--max-margin-bottom: 0;
	border: none;
}

.expandableHeading.expanded + .expandableContent
{
	border-bottom: 1px solid #C7CFD9;
	margin-bottom: 27px;
}

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

.extraItems
{
	overflow: hidden; /* prevent slideToggle jump */
	display: none;
}

.expandable button
{
	margin-bottom: 14px !important;
	color: #000000;
	background: none;
}

.expandable button h2
{
	color: inherit;
}


.expandable button h2
{
	margin: 0;
}

.expandable button + div
{
	display: none;
	overflow: hidden;
}

#subContent .expandable button + div ul li: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,
html:not([data-whatintent="keyboard"]) .contentJump
{
	pointer-events: none;
	color: transparent !important;
	background: transparent !important;
	z-index: -1;
}


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

#header
{
	/*position: fixed;*/
	position: relative;
	top: 0;
	left: 0;
	z-index: 2000;
	width: 100%;
	height: auto;
	padding: 0;
	box-sizing: border-box;
}

#header::before
{
	background: rgba(255,255,255,0.96);
	/*background: rgba(255,255,255,1);*/
	transition: all 250ms ease;
}

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

body.mobileActive #logo
{
	/*position: fixed;
	left: 20px;*/
}

#logo
{
	display: inline-block; /* inline-block to prevent logo from interfering with nav */
	position: relative;
	z-index: 9999;
	margin: 27px 0;
	width: 50%;
	max-width: 285px;
}

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

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

#logo svg .logoDots
{
	fill: #E0231A;
}

#logo svg .logoLetters
{
	fill: #001F60;
}



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

#searchJump
{
	display: block;
	position: absolute;
	z-index: 10000;
	right: 15px;
	top: calc(50% - 17px);
	width: 34px;
	height: 34px;
	line-height: 1;
	cursor: pointer;
	/*transition: top 0.25s;*/
}

button#navToggle.mobileNav.isActive + #searchJump
{
	position: fixed;
	top: 50px;
	right: 30px;
}

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

#searchJump svg path
{
	fill: #001F60;
}

#searchJump:hover svg path,
#searchJump:focus svg path
{
	fill: #7B93AA;
	opacity: 1;
	transition: fill 0.3s, opacity 0.3s;
}

/*body.mobileActive #searchJump
{
	top: 25px;
	right: 80px;
}*/

body.mobileActive #searchJump svg path
{
	fill: #E0231A;
}

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


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

	opacity: 0;
	height: 0;
	overflow: hidden;

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

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

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

#siteSearch > div
{
	margin: auto;

	width: 70vw;
	min-width: 290px;
	max-width: 1500px;
	margin-top: 20vh;

	display: flex;
	justify-content: center;
	align-items: stretch;

	border-bottom: 2px solid white !important;
}

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

#siteSearch div button
{
	position: static;
	display: block;
	width: 62px;
	height: 34px;
	margin-left: 2px;
	border: 0;
	cursor: pointer;
}

#siteSearch div button svg
{
	display: block;
	width: 100%;
	height: auto;
	fill: #ffffff;
}

#siteSearch input#searchtext2
{
	width: 80%;
	padding: 2px 2px 2px 5px;
	border: 0;
	font:inherit;
	font-size: 30px;
	/*font-weight: bold;*/
	min-height: auto;

	color: white;

	flex-grow: 1;
}

#siteSearchResults div.view_more a:hover::before,
#siteSearchResults div.view_more a:focus::before
{
	display: none;
}

#searchClose
{
	display: none;
}

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

#searchClose::after,
#searchClose::before
{
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	bottom: -2px;
	width: 0;
	left: 50%;
	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;

	width: calc(70vw);
	min-width: 290px;
	max-width: 2000px;

	max-height: calc(70vh - 84px);

	top: calc(20vh + 54px);
	left: calc(50% - 50vw + 15vw);

	background: white;
	box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

@media (min-width: 1024px)
{
	#logo
	{
		z-index: 1;
	}
}

@media (min-width: 1280px)
{
	#header
	{
		position: fixed;
		padding: 0;
		left: 44px;
		width: calc(100% - 88px);
	}
}

@media (min-width: 1350px)
{
	#header
	{
		padding: 0 80px;
		width: calc(100% - 80px);
		box-sizing: border-box;
	}
}

@media (min-width: 1800px)
{
	#header
	{
		padding: 0;
		width: 1540px;
		left: calc(50% - 770px);
	}
}

@media (max-width: 479px)
{
	#searchPopup
	{
		left: calc(50% - 145px);
	}
}

.searchPopup > *
{
	padding: 5px 36px;
	margin: 0;
	display: block;
	width: 100%;
	box-sizing: border-box;

	font-size: 16px !important;
	line-height: 1.4;
}

.searchPopup > div:not(.popupHeader):not(#allSearch)
{
	width: calc(100% - 80px);
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 0;
	padding-right: 0;
	margin-left: 40px;
	margin-right: 40px;
	border-bottom:	1px solid #DEDEDE;
}

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

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

.searchPopup .selected
{
	background: #ddd;
	position: relative;
}

.searchPopup .selected::after
{
	content: '»';
	color: #999;

	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 1.3em;
	height: 1.3em;
	line-height: 1.3em;
	text-align: center;

	box-shadow: 0 0 1px black;

	background: white;
	border-radius: 50%;
}

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

.searchPopup
{
	display: block;

	position: fixed;
	overflow: auto;
	z-index: 10000;

	width: calc(70vw);
	min-width: 290px;
	max-width: 2000px;

	max-height: calc(70vh - 84px);

	top: calc(20vh + 54px);
	left: calc(50% - 50vw + 15vw);

	background: white;
	box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

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

@media (max-width: 580px)
{
	.searchPopup
	{
		left: calc(50% - 145px);
	}
}

.searchPopup > *
{
	padding: 10px 36px;
	padding: 5px 36px;
	margin: 0;
	display: block;
	width: 100%;
	box-sizing: border-box;

	font-size: 16px !important;
	line-height: 1.4;
}

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

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

.searchPopup .selectable:hover
{
	background: #ebebeb;
}

.searchPopup .selected
{
	background: #ddd;
	position: relative;
}

.searchPopup .selected::after
{
	content: '»';
	color: #999;

	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 1.3em;
	height: 1.3em;
	line-height: 1.3em;
	text-align: center;

	box-shadow: 0 0 1px black;

	background: white;
	border-radius: 50%;
}

.searchPopup .popupHeader,
#allSearch
{
	position: -webkit-sticky !important;
	position: sticky !important;

	top: 0;
	padding-top: 10px;
	padding-bottom: 10px;
	background: #7B93AA;
	color: #ffffff;
	font-size: 15px !important;
	/*margin-top: 14px;*/
}

.searchPopup .popupHeader,
.searchPopup .popupHeader a
{
}

#allSearch
{
	top: auto;
	bottom: 0;
}

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

/* search popup results: bio */
.acBio .results_list > div
{
	display: flex;
	padding-bottom: 10px;
}

.acBio a:not(:hover):not(:focus)
{
	color: #6F6F6F;
}

.acBio .photo
{
	width: 50px;
	height: 50px;
	padding: 0 19px 0 0;
}

.acBio .photo img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;

	display: block;
	border: 1px solid #ccc;
}

#allSearch
{
	position: -webkit-sticky;
	position: sticky;

	font-size: 15px !important;
	bottom: 0;
	background: #001F60;
	width: 100%;
}

#allSearch a
{
	color: white !important;
	font-weight: 500;
}


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

#banner
{
	position: relative;
	width: 100%;
	height: max(200px,
		min(303px, 200px + (303 - 200) * ((100vw - 767px) / (920 - 767))
		));
}

#bannerImage,
body.bannerOverlay #itemPhoto,
body.minisite #bannerImage
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	height: 100%;
	overflow: hidden;
	background: #c5cfda;
	/*position: relative;
	width: 50vw;
	left: 50vw;
	top: -5%;
	height: 105%;
	overflow: hidden;

	border-radius: 50vw 0 0 0;*/
}

body.bannerOverlay #bannerImage::after,
body.bannerOverlay #itemPhoto::after
{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url('../i/half-circles-banner.svgz') left top no-repeat !important; /* data-uri */
	background-size: 60% auto !important;
	z-index: 10;
	opacity: .72;
	mix-blend-mode: screen;
}

body.bannerOverlay #bannerImage > picture,
body.bannerOverlay #itemPhoto > picture
{
	position: relative;
	display: block;
	width: 50vw;
	left: 50vw;
	height: 100%;
	/*top: -5%;
	height: 105%;*/
	/*top: 0;
	height: 120%;*/
	overflow: hidden;
	/*border-radius: 70vw 0 0 50vw;*/
	border-radius: 50vw 0 0 0;
}

#bannerImage > picture
{
	display: block;
	height: 100%;
}

#bannerImage > picture > img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.bannerOverlay #bannerImage > picture > img
{
	display: block;
	position: relative;
	width: 100vw;
	height:	max(200px,
		min(303px, 200px + (303 - 200) * ((100vw - 767px) / (920 - 767))
	));
	object-fit: cover;
	z-index: 1;
}

#BannerShapeInlineSVG
{
	position: absolute;

	left: -573px;
	left: max(-573px,
				 min(-450px, -450px + (-450 - -573) * ((100vw - 600px) / (1280 - 600) * -1)
	));
	top: -448px;
	top: max(-448px,
				 min(-100px, -100px + (-100 - -448) * ((100vw - 300px) / (1280 - 300) * -1)
	));
	z-index: 1;

	display: block;
	height: 1200px;
	height: max(600px,
				 min(1200px, 600px + (1200 - 600) * ((100vw - 600px) / (1280 - 600))
	));
	width: auto;
}

.dotsSVG
{
	left: -375px;
	top: -230px;
	position: absolute;
	/*background: url(../i/home-banner-dots.svg) 0 0 / contain no-repeat;
	width: 590px;
	height: 590px;
	aspect-ratio: 1;*/
	background: url(../i/half-circles.svg) left bottom / contain no-repeat;

	aspect-ratio: 1;
}

#banner .dotsSVG
{
	position: absolute;
	top: calc(100% - 200px);
	right: -310px;
	z-index: 3;
	display: block;
	width: 400px;
	height: auto;
}

#bannerContent
{
	position: absolute;
	z-index: 2;
	bottom: 10px;
	left: 0;
	padding-right: 40px;
	/*box-sizing: border-box;*/
}

body.tallBannerImage #banner
{
	height: clamp(400px, 575 / 1600* 100vw, 575px);
}

body.tallBannerImage #BannerShapeInlineSVG
{
	display: none;
}

body.tallBannerImage #bannerText,
body.tallBannerImage #pageTitle
{
	color: #ffffff;
}

body.tallBannerImage #bannerText
{
	line-height: 1.34;
}

body.tallBannerImage #bannerWrapper
{
	display: block;
}

body.tallBannerImage #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,0.65) 20%, transparent);
}



/* Fast facts */

#fastFacts
{
	display: none;
}

@media (min-width: 500px)
{
	#bannerContent
	{
		width: 80%;
	}

	body.opportunity #bannerContent
	{
		max-width: 200px;
	}
}

@media (min-width: 768px)
{
	#fastFacts
	{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 3;
		width: 100%;
		display: block;
		margin-top: clamp(20px, 30/1280 * 100vw, 30px);

	}

	#fastFacts svg
	{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		/*opacity: .64;*/
		fill: #d94c38;
	}

	#fastFacts ul
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

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

		align-items: center;
		width: 18vw;
		height: 18vw;
		max-width: 230px;
		max-height: 230px;
		margin: 0;
		font-family: var(--worksans);
	}

	#fastFacts li:nth-child(1) svg
	{
		transform: rotate(42deg);
	}

	#fastFacts li:nth-child(2)
	{
		width: 20vw;
		height: 20vw;
		max-width: 275px;
		max-height: 275px;
	}

	#fastFacts li:nth-child(2) svg
	{
		transform: rotate(-70deg);
	}

	#fastFacts li:nth-child(3) svg
	{
		transform: rotate(150deg);
	}

	#fastFacts li a
	{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
		position: relative;
	}

	#fastFacts .content
	{
		padding-left: max(30px,
		             min(50px, 30px + (50 - 30) * ((100vw - 767px) / (1600 - 767))
		));
		padding-right: max(30px,
		             min(50px, 30px + (50 - 30) * ((100vw - 767px) / (1600 - 767))
		));
		text-align: center;
		color: #ffffff;
		font-weight: 300;
	}

	#fastFacts .content p
	{
		margin: 0;
		--min-font-size: 14;
		--max-font-size: 17;
		line-height: 1.2;
	}

	#fastFacts .number
	{
		--min-font-size: 24;
		--max-font-size: 55;
		margin-bottom: 5px;
		line-height: 1;
		font-weight: 300;
	}

	body.bannerOverlay #bannerImage > picture
	{
		width: 65vw;
		left: 35vw;
		height: 160%;
		top: -15%;
		border-radius: 50vw 0 0 40vw;
	}

	body.bannerOverlay #bannerImage > picture img
	{
		position: absolute;
		right: 0;
		top: 9.4%;
	}

}

@media (min-width: 920px)
{

	body.noSubnav #banner
	{
		margin-bottom: 60px;
	}

	#bannerContent
	{
		bottom: clamp(20px, 90/1350 * 100vw, 45px);
	}

	body.opportunity #bannerContent
	{
		max-width: 300px;
	}

	#fastFacts li
	{
		width: 15vw;
		height: 15vw;
	}

	#fastFacts li:nth-child(2)
	{
		width: 17vw;
		height: 17vw;
	}
}

@media (min-width: 1350px)
{
	#bannerContent
	{
		width: 30vw;
		max-width: 630px;
		z-index: 10;
		bottom: 45px;
		/*bottom: clamp(40px, 90/1350 * 100vw, 90px);*/
		/*box-sizing: border-box;*/
	}

	body.opportunity #bannerContent
	{
		max-width: 500px;
	}

	body.tallBannerImage #bannerContent
	{
		bottom: clamp(40px, 100/1350 * 100vw, 100px);
	}

	#fastFacts
	{
		height: 100%;
		margin: 0;
	}

	#fastFacts li
	{
		position: absolute;
	}

	#fastFacts li:nth-child(1)
	{
		right: 20%;
		/*top: -5px;*/
		top: 5px;
	}

	#fastFacts li:nth-child(2)
	{
		right: 0;
		top: calc(50% - 138px);
	}

	#fastFacts li:nth-child(3)
	{
		right: 20%;
		bottom: 22px;
	}
}

#fastFacts .sp_pencil
{
	position: absolute;
	top: 30%;
	right: 25%;
}

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

#topNav
{
	position: relative;
	display: none;
	line-height: normal;
	font-weight: 400;
	font-family: var(--worksans);

}

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

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

/* all menu links */
#topNav a
{
	color: #001F60;
	text-decoration: none;
}

#topNav li > a
{
	display: block;
	padding: 36px;
	padding: max(21px,
				 min(36px, 21px + (36 - 21) * ((100vw - 1150px) / (1600 - 1150))
	));
	padding-top: 10px;
	padding-bottom: 22px;
}

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

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

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

#topNav > ul ul::before
{
	position: absolute;
	top: -10px;
	left: calc(50% - 10px);
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 11px 10px 11px;
	border-color: transparent transparent #edf0f3 transparent;
}

/*
#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);
}
*/


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

@media (min-width: 1150px)
{
	#topNav
	{
		display: flex;
		position: absolute;
		z-index: 9997;
		top: 37px;

		/* body's padding minus menu item's padding */
		right: 145px;
		right: max(120px,
					 min(145px, 120px + (145 - 120) * ((100vw - 1150px) / (1920 - 1150))
		));
	}

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

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

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

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

	#topNav > ul ul
	{
		/*** center the drops ***/
		left: calc(50% - 135px);
		width: 271px;

		background: #EDF0F3;
		padding: 35px 45px 45px;
		box-sizing: border-box;
	}

	#topNav > ul > li > a
	{
		white-space: nowrap;
		font-size: 21px;
		letter-spacing: 1px;
	}

	#topNav > ul:first-of-type > li > a
	{
		text-transform: uppercase;
	}

	#topNav > ul > li > a:hover,
	#topNav > ul > li > a:focus
	{
		background: none;
		color: #d94c38;
	}

	#topNav > ul > li.current > a
	{
		color: #CE392A;
		font-weight: 600;
	}

	/* second-level links */
	#topNav li li > a
	{
		padding: 0;
		color: #001f39;
		text-align: center;
		font-size: 17px;
		line-height: 1.2;
		font-weight: 600;
	}

	#topNav li li:not(:last-child)
	{
		margin: 0 0 20px;
	}

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

	#topNav > ul + ul > li.current > a:not(:hover):not(:focus)
	{
		background: none;
		color: #888;
	}

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

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

		top: 0;
		left: 100%;
	}

	/*** split menu styles ***/
	#topNav > 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 */
	#topNav > ul + ul
	{
		position: absolute;
		right: 2.8vw;
		top: -50px;
		width: auto;
	}

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

	#topNav > ul + ul > li
	{
		margin-right: 2.2vw;
	}

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

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

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

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

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

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

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

	#topNav #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 ------------------------------------------------> */

	#mainNav,
	#mainNav li ul
	{
		position: fixed;
		display: block;
		visibility: hidden;
		z-index: 9998;
		top: 0;
		right: -100vw;
		left: auto;
		width: 100vw;
		height: 100vh;
		max-width: 1104px;
		padding: 160px 48px 100px 0;
		padding-right: 169px;
		padding-right: max(48px,
					 min(169px, 48px + (169 - 48) * ((100vw - 767px) / (1920 - 767))
		));
		background: #EDF0F3; /* data-uri */

		box-sizing: border-box;
		box-shadow: 0 0 200px 15px rgba(0,0,0,.8);
		transition: right 0.7s;
		font-weight: 300;
	}

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

	#mainNav > svg
	{
		position: absolute;
		left: 0;
		display: block;
		width: 800px;
		height: auto;
		left: -510px;
		top: -325px;
		opacity: 1;
		fill: #ffffff;
	}

	#mainNav #socialLinks
	{
		margin-right: 20px;
	}

	#mainNav #socialLinks li a
	{
		padding: 0;
		margin: 0;
	}


	#mainNav #socialLinks a
	{
		font-weight: 400;
		color: #E0231A;
		font-size: 17px;
	}


	#mainNav::before
	{
		display: none;
	}

	#mainNav > ul,
	#mainNav li ul
	{

		/*width: 45vw;*/ /* put a max width on lists even though the parent expands the full viewport */
	}

	#mainNav.target,
	#mainNav.target li ul
	{
		left: auto !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
	{
		box-shadow: none;
	}

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

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

	#mainNav a
	{
		position: relative;
		display: block;
		padding: 0 20px;
		color: #001F60;
	}

	#mainNav li.current > a
	{
		color: #989797;
	}

	#mainNav > ul
	{
		margin-bottom: 0;
	}

	#mainNav > ul > li
	{
		margin: 0 0px 30px;
		font-size: 28px;
		line-height: 1.1;
		text-transform: uppercase;
		text-align: right;
		font-weight: 400;
	}

	#mainNav > ul + ul
	{
		max-width: 700px;
		padding-bottom: 10px;
		margin-bottom: 15px;
		border-bottom: 1px solid #D1D8DD;
	}

	#mainNav > ul + ul > li
	{
		margin: 0 0px 20px;
		font-size: 18px;
		text-transform: none;
	}

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

	#mainNav > ul ul > li
	{
		/*font-size: 1rem;*/
		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: #074F71;
	}

	/*#mainNav li > a:first-child:not(:last-child)::after
	{
		content: '›';
		position: absolute;
		top: 0;
		right: 0;
		font-size: 2rem;
		font-weight: 200;
	}*/

	#mainNav #subNavBack
	{
		position: absolute;
		top: 100px;
	}

	#mainNav #subNavBack a
	{
		position: relative;
		margin-left: 1px;
	}

	#mainNav #subNavBack a::before
	{
		content: '‹';
		position: absolute;
		left: 0;
		top: 5px;
		font-size: 30px;
		font-weight: 700;
		line-height: 0.85rem;
	}

	#mainNav ul ul li
	{
		font-size: 22px;
	}

	#mainNav ul ul li.subNavHeader
	{
		margin-top: 12px;
		font-size: 28px;
		text-transform: uppercase;
		font-weight: 400;
	}

	#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% - 18px);
		right: 80px;
		right: max(73px,
					 min(80px, 73px + (80 - 73) * ((100vw - 767px) / (1920 - 767))
		));
		font-size: 0;
	}

	button#navToggle:is(:hover,:focus) .mobileNavBox span
	{
		background: #7B93AA;
	}

	.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: 50px;
		right: 71px;
	}

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

	.mobileNavBox
	{
		position: relative;
		display: inline-block;
		width: 41px;
		height: 30px;
	}

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

	.mobileNavBox span
	{
		position: absolute;
		top: 10px;
		width: 41px;
		height: 2px;
		background-color: #000;
		/*border-radius: 4px;*/
		transition-timing-function: ease;
		transition-duration: .15s;
		transition-property: transform;
	}

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

	.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: 12px;
		transition: top .1s cubic-bezier(.33333, .66667, .66667, 1) .2s, transform .13s cubic-bezier(.55, .055, .675, .19);
	}

	.mobileNavSpring .mobileNavBox :last-child
	{
		top: 24px;
		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 (min-width: 500px)
{
	#mainNav #socialLinks
	{
		display: flex;
		align-items: center;
	}

	#mainNav #socialLinks ul
	{
		margin: 0;
	}
}

@media (min-width: 768px)
{

	#mainNav > ul + ul
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	#mainNav > ul + ul > li
	{
		margin-bottom: 20px;
	}


	/*#mainNav #socialLinks #FacebookInlineSVG {	width: 15px;	}
	#mainNav #socialLinks #LinkedinInlineSVG {	width: 29px;	}
	#mainNav #socialLinks #TwitterInlineSVG {	width: 29px;	}
	#mainNav #socialLinks #InstagramInlineSVG {	width: 26px;	}*/
}

@media (min-width: 920px)
{
	button#navToggle.mobileNav.isActive
	{
		/*right: 101px;*/
		right: max(131px,
					 min(241px, 131px + (241 - 131) * ((100vw - 920px) / (1920 - 920))
		));
	}

	button#navToggle.mobileNav.isActive + #searchJump
	{
		position: fixed;
		/*right: 62px;*/
		right: max(82px,
					 min(198px, 82px + (198 - 82) * ((100vw - 920px) / (1920 - 920))
		));
		top: 50px;
	}
}

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

	#mainNav,
	#mainNav li ul
	{
		border-top: 125px solid transparent;
		padding: 10px 16px 100px;
	}


	#mainNav li > a:first-child:not(:last-child)::after
	{
		top: 2px;
		font-size: 2.4rem;
	}

	#mainNav #subNavBack
	{
		position: absolute;
		top: -40px;
		left: 0;
	}

	#mainNav #subNavBack a::before
	{
		left: -10px;
		font-size: 28px;
	}

	#mainNav ul ul li.subNavHeader
	{
		margin-top: 10px;
		font-size: 1.6rem;
	}

}


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

ul.subNavList
{
	text-transform: uppercase;
}

ul.subNavList li
{
	list-style: none;
	margin: 0 0 0.8rem;
	padding: 0;
	/*font-size: 20px;*/
	font-weight: 400;
	font-size: 17px;
	line-height: 1.2;
	color: #001F60;
	letter-spacing: 1px;
}

ul.subNavList li a
{
	color: inherit;
}

ul.subNavList li.here,
ul.subNavList li.hereParent
{
	color: #CE392A;
}

ul.subNavList li a:hover,
ul.subNavList li a:focus
{
	color: #7B93AA;
}

@media (min-width: 920px)
{
	ul.subNavList
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 0;
	}

	ul.subNavList li
	{
		position: relative;
		margin-bottom: 15px;
	}

	ul.subNavList li:not(:last-child)
	{
		margin-right: max(30px,
					 min(70px, 30px + (70 - 30) * ((100vw - 920px) / (1920 - 920))
		));
	}

	/* this doesn't work when the nav needs to be on multiple lines */
	/*ul.subNavList li.here::after
	{
		content: '';
		position: absolute;
		left: calc(50% - 9.5px);
		top: 35px;
		display: block;
		width: 19px;
		height: 19px;
		background: #d94c38;
		border-radius: 50%;
	}*/
}

/* Tabs -------------------------------------------------------> */

#tabLinks
{
	display: flex;
	justify-content: center;
	padding: 36px 0 16px;
	/*margin: 70px 0 35px;*/
	margin: 0 0 35px;
	border-bottom: 1px solid #C7CFD9;
	/*border-top: 1px solid #C7CFD9;*/
}

#tabLinks a
{
	display: block;
	position: relative;
	--min-font-size: 16;
	--max-font-size: 20;
	color: #001F60;
	padding-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
	font-family: var(--worksans);
}

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

#tabLinks .current
{
	text-decoration: none;
	cursor: default;
	color: #CE392A;
}

#tabLinks .current::after
{
	content: '';
	position: absolute;
	left: calc(50% - 5.5px);
	bottom: -21.5px;
	display: block;
	width: 11px;
	height: 11px;
	background: #CE392A;
	border-radius: 50%;
}

#tabLinks a:hover,
#tabLinks a:focus
{
	color: #999999;
}

.contentSection
{
	display: none;
}

.sectionTitle
{
	display: none;
}

#tabLinks a#tabViewAll
{
	float: right;
	/*padding: 0.5em 0;*/
	border: none;
}

@media (max-width: 1024px)
{
	#tabLinks
	{
		display: none;
	}

	h2.sectionTitle
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 1px 0 0 0;
		padding: 13px 20px 13px 20px;
		background: #001F60;
		color: #ffffff;

		font-size: 19px;

		box-sizing: border-box;
		text-decoration: none;
		cursor: pointer;
	}

	h2.sectionTitle:hover,
	h2.sectionTitle:focus
	{
		background: #074F71;
	}

	h2.sectionTitle::after
	{
		content: '+';
		position: absolute;
		top: 17px;
		right: 10px;
		font-weight: lighter;
		font-size: 20px;
	}

	h2.sectionTitle.isOpen::after
	{
		content: '\2212'; /* minus sign, NOT hyphen or dash */
	}

	.contentSection
	{
		display: block !important;
	}

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

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


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

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

.itemTile .results_list
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}

.itemTile .results_list > * /* could be a div or li */
{
	display: flex;
	flex-direction: column;
	position: relative;
	width: calc(50% - 10px);
	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: #cccccc;
	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
{
	color: #0a80ca;
	font-weight: 700;
	font-size: 24px;
}

@media (max-width: 479px)
{
	.itemTile .results_list
	{
		display: block;
	}

	.itemTile .results_list > *
	{
		width: 100%;
	}
}


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

#content
{
	position: relative;
	max-width: 100%;
	min-height: 350px;
	padding-bottom: 215px;
	margin: 0 auto;
	/*z-index: 10;*/
}


#BurrInlineSVG
{
	position: absolute;
	bottom: min(-7px,
				 max(-15px, -7px + (-15 - 7) * ((100vw - 767px) / (1920 - 767))
	));
	bottom: -3px;
	left: calc(50% - 47vw);
	display: block;
	width: 94vw;
	height: auto;
	fill: #ffffff;
	z-index: 10;
}

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

#content::before
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	min-height: 1000px;
	background: url('../i/half-circles-body-background.svgz') no-repeat, linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(197,207,218,.46) 100%);
		background-size: 70%, auto;
		background-position: right bottom, 0 0;
	z-index: -10;
}

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

#subNav
{
	position: relative;
	width: 100%;
	margin: 1rem 0 0 0;
	padding: 1rem 0 0.5rem 0;
	box-sizing: border-box;
	font-family: var(--worksans);
	font-weight: 600;
}

#subContent
{
	position: relative;
	width: 100%;
	margin: 1rem 0 0 0;
	padding: 1rem 0 0.5rem 0;
	box-sizing: border-box;
	/*border-top: 1px solid #e4e4e4;*/ /* this mandatory for mobile at least */
	font-size: 17px;
	font-size: max(16px,
				 min(17px, 16px + (17 - 16) * ((100vw - 768px) / (1600 - 768))
	));
}

#subContent p
{
	--max-font-size: 17;
	--max-margin-bottom: 17;
}

#pageTools
{
	display: flex;
	margin: 0 0 25px;
}

#pageTools > *:not(:last-child)
{
	margin-right: 15px;
}

#pageTools svg
{
	display: block;
	width: 39px;
	height: auto;
	fill: #9CACBC;
}

#pageTools svg path
{
	fill: #9CACBC;
}

#pageTools a:hover svg,
#pageTools a:focus svg,
#pageTools a:hover svg path,
#pageTools a:focus svg path
{
	fill: #CE392A;
}

#belowContent
{
	padding-top: 70px;
	clear: both;
	order: 4;
}

#innerMain
{
	margin-bottom: max(10px,
					 min(90px, 10px + (90 - 10) * ((100vw - 767px) / (1600 - 767))
		));
}

@media (min-width: 920px)
{
	body.columnized #mainContent:not(:only-child)
	{
		float: left;
		width: calc(100% - 22% - 96px);
	}

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

	.centeredColumn
	{
		width: 80%;
		max-width: 1024px;
		margin: 90px auto;
		margin: max(70px,
					 min(90px, 70px + (90 - 70) * ((100vw - 767px) / (1600 - 767))
		)) auto;
	}

	.centeredColumn #pageTools
	{
		position: absolute;
		left: 0;
		top: 0;
		display: block;
	}

	.centeredColumn #pageTools > *
	{
		display: block;
		margin: 0 0 18px;
	}

	#subNav
	{
		position: relative;
		top: -50px;
		z-index: 10;
		padding-top: 28px;
		padding-left: 94px;
		padding-left: max(20px,
					 min(94px, 20px + (94 - 20) * ((100vw - 920px) / (1600 - 920))
		));
		padding-right: 94px;
		padding-right: max(20px,
					 min(94px, 20px + (94 - 20) * ((100vw - 920px) / (1600 - 920))
		));
		box-shadow: 0 2px 4px 0 rgba(0,0,0,.12);
		background: #ffffff;
	}
}

@media (max-width: 919px)
{
	#content
	{
		display: flex;
		flex-direction: column;
	}

	main
	{
		order: 1;
	}

	#subContent
	{
		order: 2;
	}

	#subNav
	{
		order: 3;
	}
}

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

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

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

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

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+5) ~ li:nth-child(n+4)
{
	display: none;
}

.expandableList .results_list > li:first-child
{
	margin-top: 0;
}

/* 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
{
	display: flex;
	justify-content: flex-end;
}

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

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

.buttonLink a
{
	display: inline-block;
	width: auto;
	margin: 0 0 28px 0;
	padding: 7px 14px;
	background: #001F60;
	color: #fff;
	vertical-align: middle;
}

.buttonLink a:hover,
.buttonLink a:focus
{
	text-decoration: underline;
}

/* Featured Tiles */
#featured
{
	padding-bottom: 28px;
}

#featured .results_list
{
	display: flex;
	flex-wrap: wrap;
}

#featured .results_list li
{
	position: relative;
	flex: 1 1 230px;
	margin: 0 2px 3px 1px;
	list-style: none;
}

#featured .results_list li .sp_pencil
{
	position: absolute;
	z-index: 10;
	top: 10px;
	left: 10px;
}

#featured .results_list li:last-child:nth-child(odd)
{
	max-width: calc(50% - 3px);
}

#featured .results_list li .image img
{
	display: block;
	width: 100%;
	height: auto;
}

#featured .results_list li .title
{
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 10px;
	display: flex;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
	color: #ffffff;
	background: rgba(153,153,153, .4);
	transition: all 250ms ease;
}

#featured .results_list li .title span
{
	display: block;
	width: 100%;
}

#featured .results_list li .title img
{
	position: relative;
	top: 2px;
	left: 6px;
	width: 18px;
	height: 16px;
	transition: all 250ms ease;
}

@media (min-width: 720px)
{
	#featured .results_list li
	{
		flex-grow: 0;
		flex-basis: calc((100%/3) - 3px);
	}
}

@media (min-width: 768px)
{

	div.listColumnWrapper ul.results_list
	{
		columns: 2;
	}

	#servicesSearch input[type=submit]
	{
		position: absolute;
		right: 12px;
		top: 12px;
	}

	#serviceList h2 span
	{
		position: absolute;
		right: 0;
		top: 20px;
	}

	#featured .results_list li .image img
	{
		position: relative;
		z-index: -1;
		transition: width 250ms ease;
	}

	#featured .results_list li .image
	{
		overflow: hidden;
	}

	#featured .results_list li .title
	{
		text-shadow: 2px 2px 20px #000000;
	}

	#featured .results_list li:hover .title
	{
		text-shadow: 2px 2px 15px #000000;
		background: rgba(153,153,153, .8);
	}
}

@media (min-width: 1024px)
{
	#featured .results_list li
	{
		flex-basis: calc(25% - 3px);
		height: 19vw;
		max-height: 233px;
		overflow: hidden;
	}

	#featured .results_list li .image img
	{
		position: absolute;
	}

	#featured .results_list li:hover .image img
	{
		width: 110%;
	}

	#featured .results_list li:hover .title img
	{
		left: 10px;
	}

	div.listColumnWrapper ul.results_list
	{
		columns: 3;
	}
}


/* Tile spotlights */

#tileSpotlights,
#wideTileSpotlights
{
	margin: 90px 0;
	margin: max(60px,
				 min(90px, 60px + (90 - 60) * ((100vw - 767px) / (1600 - 767))
	)) 0;
}

#tileSpotlights ul,
#tileSpotlights li,
#wideTileSpotlights ul,
#wideTileSpotlights > div.results li
{
	margin: 0;
	list-style: none;
}

#tileSpotlights li
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 68px;
	padding: max(25px,
				 min(68px, 25px + (68 - 25) * ((100vw - 767px) / (1600 - 767))
	));

	padding-bottom: max(25px,
				 min(38px, 25px + (38 - 25) * ((100vw - 767px) / (1600 - 767))
	));

	padding-top: max(25px,
				 min(38px, 25px + (38 - 25) * ((100vw - 767px) / (1600 - 767))
	));

	min-height: 392px;
	background: #001f39;
	box-sizing: border-box;
}

#tileSpotlights li:hover img
{
	opacity: 0;
}

#tileSpotlights li:hover .abstract
{
	display: block;
}

#tileSpotlights li:hover .title
{
	color: #F0E6D8;
}

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

#tileSpotlights .content
{
	text-align: center;
	color: #ffffff;
	font-weight: 400;
	z-index: 1;
}

#tileSpotlights .title
{
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 19px;
}

#tileSpotlights .abstract
{
	display: none;
	margin-top: 30px;
	font-weight: 300; /* changed per jessica */
}

#tileSpotlights .abstract p
{
	font-size: inherit;
	font-size: 19px;
}

#tileSpotlights .abstract p:last-child
{
	margin-bottom: 0;
}

#tileSpotlights .abstract a,
#tileSpotlights .title a
{
	color: inherit;
}

#textQuote svg
{

	display: block;
	width: 30%;
	height: auto;
	margin: 0 auto 25px;

	fill: #DE2826;
}

/*#textQuote .content
{
	text-align: center;
}*/

#textQuote p
{
	color: #001F60;
	--min-font-size: 20;
	--max-font-size: 26;
	font-weight: 400;
}

#textQuote .content p:first-child
{
	margin-top: 0;
}

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

/*#wideTileSpotlights > div.results li
{
	background: #074f71;
}*/

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

#wideTileSpotlights .content
{
	position: relative;
	padding: 30px;
	color: #ffffff;
	background: #074f71;
}

#wideTileSpotlights h3
{
	margin-top: 0;
	color: #f0e6d8;
}

#wideTileSpotlights > div.results li.hasImage .content
{
	padding: 0;
}

#wideTileSpotlights .content p
{
	--min-font-size: 20;
	--max-font-size: 24;
}

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

#wideTileSpotlights > div.results li:nth-child(even)
{
	background: #001F60;
}

#wideTileSpotlights > div.results li:nth-child(even) .content
{
	color: #ffffff;
}

#wideTileSpotlights > div.results li:nth-child(even) h3
{
	color: #F0E6D8;
}

#wideTileSpotlights .content a
{
	color: inherit;
}

#testimonials
{
	color: #ffffff;
	background: #001f39;
}

#testimonials li
{
	display: flex !important;
	align-items: center;
	/*height: 100%;*/
	padding: clamp(20px, 130/1400 * 100vw, 130px) clamp(20px, 120/1400 * 100vw, 120px);
	margin: 0;
	box-sizing: border-box;
	text-align: center;
	height: 100%;
}

#testimonials div.results,
#testimonials ul.results_list
{
	height: 100%;
}

#testimonials p:first-child
{
	margin-top: 0;
}

/*#testimonials p:last-child
{
	margin-bottom: 0;
}*/

#testimonials .quote p
{
	--max-font-size: 33;
}

#testimonials .attribution
{
	--min-margin-top: 25;
	--max-margin-top: 50;
	--max-font-size: 21;
	text-transform: uppercase;
	color: #F0E6D8;
}

#testimonials #pagerWrapper
{
	padding: max(20px,
				 min(80px, 20px + (80 - 20) * ((100vw - 600px) / (1500 - 600))
	)) 20px;
	background: #FFFFFF;
	text-align: center;
}

#testimonials #pager button
{
	width: 30px;
	height: 30px;
	border-radius: 50%;
	padding: 0;
	margin: 0 5px;
	background: #EAEEF1;
	border: none;
}

#testimonials #pager button.active
{
	background: #E0231A;
}

#testimonials #next
{
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

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

	#tileSpotlights ul li
	{
		width: calc(100%/3);
	}

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

	#textQuote svg
	{
		flex: 0 1 156px;
		margin-top: 10px;
		margin-right: max(30px,
					 min(58px, 30px + (58 - 30) * ((100vw - 767px) / (1600 - 767))
		));
	}

	#textQuote .content
	{
		flex: 1 1 760px;
	}


	#wideTileSpotlights > div.results li
	{
		display: flex;
	}

	#wideTileSpotlights .image
	{
		flex: 0 1 512px;
		/*border-radius: 50vw 0 0 50vw;*/
		overflow: hidden;
	}

	#wideTileSpotlights img
	{
		height: 100%;
		object-fit: cover;
	}

	#wideTileSpotlights .content
	{
		position: relative;
		flex: 1 2 1025px;
		display: flex;
		align-items: center;
		padding: 30px 115px;
		padding: 30px max(35px,
					 min(115px, 35px + (115 - 35) * ((100vw - 768px) / (1600 - 768))
		));
		box-sizing: border-box;
	}

	/*#wideTileSpotlights .content::before
	{
		left: 50%;
	}*/

	#wideTileSpotlights > div.results li:nth-child(even)
	{
		flex-direction: row-reverse;
	}
}

@media (min-width: 1200px)
{
	#testimonials
	{
		display: flex;
		/*align-items: center;*/
	}

	#testimonials > div.results
	{
		flex: 2 1 782px;
	}

	#testimonials #pagerWrapper
	{

		display: flex;
		/*align-items: center;*/

		position: relative;
		padding: 0;
		flex: 0 2 671px;
		text-align: left;
		min-height: 392px;
	}

	#testimonials #pager
	{
		position: relative;
		width: 188px;
		height: 188px;
		left: auto;
		top: calc(50% - 94px);
		margin: 0 auto;
	}

	#testimonials #pager button
	{
		position: absolute;
		top: calc(50% - 18px);
		left: 0;
		width: 36px;
		height: 36px;
		margin: 0;
		cursor: pointer;
	}

	#testimonials #pager button:nth-child(2)
	{
		left: calc(50% - 18px);
		top: 0;
	}

	#testimonials #pager button:nth-child(3)
	{
		left: calc(50% - 18px);
		top: calc(50% - 18px);
	}

	#testimonials #pager button:nth-child(4)
	{
		left: calc(50% - 18px);
		top: calc(100% - 36px);
	}

	#testimonials #pager button:nth-child(5)
	{
		left: calc(100% - 36px);
		top: calc(50% - 18px);
	}

	#testimonials #next
	{
		position: absolute;
		bottom: 40px;
		right: 0;
		width: auto;
		justify-content: flex-end;
		padding-right: 60px !important;
		margin-bottom: 0;
		box-sizing: border-box;
	}
}

@media (min-width: 1350px)
{
	#tileSpotlights li
	{
		min-height: 526px;
	}
}


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

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

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

form > div
{
	max-width: 500px;
}

.search_form form > div
{
	max-width: none;

	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
	grid-gap: 1px;
}

#subContent .search_form form > div
{
	display: block;
}

form > div > div
{
	position: relative;
}

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

form > div > div.textarea_wrapper
{
	width: calc(100% - 1px);
}

form > div > div.checkbox_wrapper
{
	width: 100%;
	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
{
	margin: 6px 6px 0 0;
	padding: 0;
	align-self: flex-start;
}

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;
}

form > div > div.submit_wrapper
{
	/* width: 100%;  uncomment if you want this on its own line */
}

/* WebForm uses an id */
#submit_wrapper
{
	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
{
	-webkit-appearance: none;
	border-radius: 0;
	font: inherit;
}

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

input:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect,
.fsComboBox [role="textbox"]
{
	width: 100%;
	min-height: 65px; /* appease IE11 */
	margin: 0;
	padding: 16px 7px 0 clamp(20px, 36/1600 * 100vw, 36px);
	vertical-align: top;
	color: #001F60;
	background-color: #EDF0F4;
	border: none;
	font: 300 19px/1.8 'davis', Helvetica, Arial, sans-serif;
	box-sizing: border-box;
	border-radius: 0;
}

#rsvpForm input:not([type]),
#rsvpForm input[type=text],
#rsvpForm input[type=tel],
#rsvpForm input[type=email],
#rsvpForm input[type=password],
#rsvpForm textarea,
#rsvpForm select,
#rsvpForm .customSelect
{
	padding: 0px 7px 0 clamp(20px, 36/1600 * 100vw, 36px);
	background-color: #ffffff;
}

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
{
	position: absolute;
	top: 0px;
	padding: 12px 7px 0 clamp(20px, 36/1600 * 100vw, 36px);
	color: #001F60;
	font: 300 19px/1.8 'davis', Helvetica, Arial, sans-serif;

	display: block !important; /* needed for animation to work on .customSelect */
}

.search_form form > div > div.hasFocus > label
{
	display: block !important;
	top: -10px !important;
	left: 8px !important;
	z-index: 5;
	padding: 2px 4px 0 2px;
	/*background-color: #ffffff;*/
	background-color: #E2E6EB;
	border-radius: 3px;
	font-size: 0.6rem !important;
	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;
	overflow: hidden;
	padding-right: 40px;  /* make room for the arrow */

	position: relative;
}

.customSelect::after
{
	content: '';
	display: block;
	position: absolute;
	right: 26px;
	top: calc(50% - 8px);
	height: 8px;
	width: 8px;

	border-bottom: 1px solid #001F60;
	border-left:  1px solid #001F60;

	transform: rotate(-45deg);
}

/* normalize selects */
select
{
	font-family: ui-sans-serif, sans-serif;

	/* 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;

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

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

/* 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;
	white-space: nowrap;
	overflow: hidden;
	width: 100% !important;
}

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: #E2E6EB;
}

/* 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],
::file-selector-button,
::-webkit-file-upload-button,
a.viewAll,
.reviseButton a
{
	box-sizing: border-box;
	width: auto;
	height: 34px;
	margin: 0 0 10px 0;
	padding: 1px 14px 1px 14px;
	border: 0 solid #d6d6d6;
	background: #969696;
	color: #fff;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	cursor: pointer;
	vertical-align: top;
}

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;
}

input[type=submit]:hover,
input[type=submit]:focus,
button[type=submit]:hover,
button[type=submit]:focus,
a.viewAll:hover,
a.viewAll:focus,
.reviseButton a:hover,
.reviseButton a:focus
{
	background: #868686;
	text-decoration: none;
}

@media (min-width: 768px)
{
	.search_form form > div > div > label
	{
		font-size: 19px;
	}
}

@media (min-width: 1024px)
{
	.search_form form > div
	{
		grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
	}
}


/* 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;
	/* white-space: nowrap; */
	line-height: 120%;
}

.autocomplete div span.autoCompleteMore
{
	color: #0a80ca;
	font-size: 11px;
}

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

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


/* Staggered spotlights */

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

.staggeredSpotlights ul
{
	display: flex;
	flex-direction: column;
}

.staggeredSpotlights
{
	position: relative;
	z-index: 5;
	padding: 60px 0 215px;
	/*background: #e9edf1;*/
}

.staggeredSpotlights::before
{
	/*background: url('../i/home-banner-dots.svg') no-repeat, #e9edf1;
	background-size: 589px;
	background-position: -380px 200px;*/
}

.staggeredSpotlights > svg
{
	position: absolute;
	bottom: -15px;
	bottom: min(-7px,
				 max(-15px, -7px + (-15 - 7) * ((100vw - 767px) / (1920 - 767))
	));
	right: 0;
	display: block;
	width: 80%;
	height: auto;
	max-width: 615px;
	fill: #ffffff;
}

.staggeredSpotlights li
{
	max-width: 1024px;
	font-size: 19px;
}

.staggeredSpotlights li:not(:last-child)
{
	margin: 0 0 67px;
}

.staggeredSpotlights .itemimage
{
	margin: 0;
	background: #EDF0F4;
}

.staggeredSpotlights .itemimage img,
.staggeredSpotlights .image img
{
	display: block;
	width: 100%;
	height: 100%;

	aspect-ratio: 375/287;

	object-fit: cover;
}

.staggeredSpotlights .itemdate
{
	margin-bottom: 7px;
	font-family: var(--worksans);
}

.staggeredSpotlights .title
{
	color: #030303;
	font-size: 19px;
}

.staggeredSpotlights .section,
#bioStaggeredSpotlights .content .title
{
	color: #d94c38;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 400;
	font-family: 'worksans', Arial, sans-serif;
}

.staggeredSpotlights .content
{
	padding: 60px;
	padding: max(40px,
				 min(60px, 40px + (60 - 40) * ((100vw - 600px) / (1920 - 600))
	));
	background: #ffffff;
	box-sizing: border-box;
	box-shadow: 1px 1px 3px 0 rgba(0,0,0,.16);
}

.staggeredSpotlights .standardButton
{
	display: flex;
	justify-content: flex-end;
	margin-top: 40px;
}

@media (min-width: 600px)
{
	.staggeredSpotlights li a
	{
		display: flex;
		color: #001F60;
		transition: color 700ms ease;
		/*transition: color 50ms ease;*/
	}

	.staggeredSpotlights li a > div
	{
		width: 50%;
	}

	.staggeredSpotlights .content
	{
		position: relative;
		overflow: hidden;
		transition: all 150ms ease, background 300ms ease;
	}

	.staggeredSpotlights .content::before
	{
		position: absolute;
		left: calc(50% - 50px);
		top: calc(50% - 50px);
		content: '';
		width: 100px;
		height: 100px;
		background: #00143e;
		border-radius: 50%;
		opacity: 0;
		transform: scale(3.5);

	}

	.staggeredSpotlights a:hover .content
	{
		transition: all 150ms ease, background 0ms ease 250ms;
		background: #00143e;
	}

	.staggeredSpotlights a:hover .content::before,
	.staggeredSpotlights a:focus .content::before
	{
		transition: transform 700ms ease, opacity 250ms ease;
		transform: scale(8);
		opacity: 1;
	}

	/*.staggeredSpotlights a:hover .content,
	.staggeredSpotlights a:focus .content
	{
		background: #00143e;
	}*/

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

	.staggeredSpotlights a:hover .title,
	.staggeredSpotlights a:focus .title,
	.staggeredSpotlights a:hover .section,
	.staggeredSpotlights a:focus .section
	{
		color: inherit;
	}

	.staggeredSpotlights .content > div
	{
		position: relative;
		z-index: 2;
	}

	.staggeredSpotlights .itemimage
	{
		border-radius: 20vw 0 0 20vw;
		overflow: hidden;
	}
}

@media (min-width: 768px)
{
	.staggeredSpotlights
	{
		padding-top: 0;
	}

	.staggeredSpotlights .content
	{
		display: flex;
		flex-wrap: wrap;
	}

	.staggeredSpotlights .content .title,
	.staggeredSpotlights .content .titledate
	{
		width: 100%;
		align-self: flex-end;
	}

}

@media (min-width: 1200px)
{
	.staggeredSpotlights li:nth-child(2)
	{
		padding-left: 512px;
		padding-left: max(1px,
					 min(512px, 1px + (512 - 1) * ((100vw - 1200px) / (1920 - 1200))
		));

	align-self: flex-end;
	}
}

@media (min-width: 1400px)
{
	.staggeredSpotlights .standardButton
	{
		position: absolute;
		bottom: 220px;
		left: 1080px;
	}
}



/* Gallery */

#galleryContainer
{
	clear: both;
}

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

#gallerySelect
{
	display: none; /* Client says they don't need this, so I'm just going to had it instead of untangling it from the script */
	width: 100%;
	height: 64px;
	margin: 30px 0 20px;
	background: #ffffff;
	box-sizing: border-box;

}

#gallerySelect button
{

	/* button reset */
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	font: inherit;
	font-size: 19px;
	font-weight: 300;
	color: #ffffff !important;
	text-align: left;
	box-sizing: border-box;

	display: block;
	width: 100%;
	position: relative;
	height: 100%;
	padding: 10px 5px 10px 36px;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
	background: #001F60;
}

#gallerySelect button:after
{
	content: '';
	display: block;
	position: absolute;
	right: 26px;
	top: calc(50% - 8px);
	height: 10px;
	width: 10px;
	border-bottom: 1px solid #ffffff;
	border-left: 1px solid #ffffff;
	transform: rotate(-45deg);

}

#gallerySelect > div
{
	display: none;
	position: relative;
	top: -1px;
	z-index: 10;
	background: #ffffff;
	border: 1px solid #999999;
}

#gallerySelect > div.open
{
	display: block;
}

#gallerySelect li
{
	padding: 10px;
	box-sizing: border-box;
	cursor: pointer;
}

#gallerySelect li:hover
{
	background: rgba(0,0,0, .25);:
}

#gallerySelect ul
{
	margin: 0;
	padding: 5px 0 0;
}

#gallerySelect li.current
{
	font-weight: bold;
}

#galleryContent li
{
	position: relative;
	transition: all 250ms ease;
	/*overflow: hidden;*/
}

#galleryThumbnail li
{
	cursor: pointer;
}

#galleryImage li:not(.current)
{
	opacity: 0;
	display: none;
}

#galleryImage li .sp_pencil
{
	position: absolute;
	top: 0;
	left: 0;
}

#galleryImage img
{
	display: block;
	height: auto;
	width: 100%;

	/*width: auto;
	height: 100%;*/
	margin: 0 auto;

}

#galleryImage .galleryImageCaption
{
	width: 100%;
	background: rgba(7,79,113);
	color: #ffffff;
	padding: 10px;
	font-size: 17px;
	text-transform: uppercase;

	box-sizing: border-box;
}

#gallery
{
	margin-bottom: 50px;
}

#galleryContent #galleryThumbnail
{
	margin-top: 10px;
	white-space: nowrap;
	overflow-x: scroll;
}

#galleryContent #galleryThumbnail li
{
	display: inline-block;
	width: 130px;
	height: 96px;
	/*border: 1px solid #707070;*/
	background: #000000;
}

#gallerContent #galleryThumbnail li.current
{
	border-color: #7b7b7b;
}

#galleryContent #galleryThumbnail li img
{
	display: block;
	width: 100%;
	height: auto;
	opacity: .3;
	transition: all 250ms ease;
}

#galleryContent #galleryThumbnail li.current img
{
	opacity: 1;
}

@media (min-width: 1280px )
{

	#gallery
	{
		/*overflow: hidden;*/
	}

	#gallerySelect
	{
		width: 100vw;
		max-width: calc(100% + 17px);
	}

	#galleryContent
	{
		display: flex;
		justify-content: space-between;
		position: relative;
		/*height: 519px;*/
		padding-right: 19%;
	}

	#galleryImage img
	{
		height: 100%;
	}

	/*#galleryImage
	{
		width: 694px;
	}*/

	#galleryContent #galleryThumbnail
	{
		position: absolute;
		top: 0;
		right: -17px;
		height: 60vw;
		width: 20%;
		overflow-x: hidden !important;
		margin-top: 0;
		/*margin-right: -17px !important;*/
		white-space: normal;
		height: 100%;
		box-sizing: content-box;
	}

	#galleryContent #galleryThumbnail li
	{
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 7px;
	}

	#galleryContent #galleryThumbnail li img
	{
		height: auto;
		width: 100%;
	}


	#galleryImage .galleryImageCaption
	{
		padding: 0;
	}

	#galleryImage .galleryImageCaption:not(:empty)
	{
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 50px 30px 20px;
		font-size: 18px;
		line-height: 24px;
		color: #ffffff;
		background: linear-gradient(to bottom, rgba(7,79,113,0) 0%,rgba(7,79,113,.75) 100%);
	}
}





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

#footerTop
{
	position: relative;
	padding: 50px 0;
	font-weight: 300;
	font-size: 16px;
	background: #ffffff;
}

#footerTop h3
{
	--min-font-size: 30;
	--max-font-size: 38;
	margin: 0 0 20px;
	color: #001F60;
}

#footerTop ul,
#footerTop li
{
	margin: 0;
	list-style: none;
	font-family: var(--worksans);
}

#footerTop ul
{
	columns: 5;
	column-width: 103px;

	column-gap: max(40px,
				 min(130px, 40px + (130 - 40) * ((100vw - 767px) / (1920 - 767))
	));
}

#footerTop li
{
	display: inline-block;
	width: 100%;
	margin: 0 0 6px;
	white-space: nowrap;
}

#footerTop a:not(:hover):not(:focus)
{
	color: #001F60;
}

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

/*#footerWrapper
{
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: -1;
}*/

#footerWrapper
{
	position: relative;
}

#footer
{
	position: relative;
	z-index: 5;
	margin: 0;
	padding: 2rem 0;
	background: #00143E;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 16px;
	font-family: var(--worksans);
	font-weight: 500;
}

#footer a
{
	color: #ffffff;
}

#footer a:hover,
#footer a:focus
{
	color: #ffffff;
}

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

ul#footerLinks li
{
	white-space: nowrap;
}

#footer p
{
	margin: 0;
	padding: 0;
	font-size: 16px;
}

#footerLeft
{
	display: flex;
	align-items: center;
	text-transform: uppercase;
	margin: 0 0 40px;
}

#footerLeft a:not(:hover):not(:focus)
{
	color: inherit;
}

#socialLinks
{
	margin-right: 57px;
	margin-right: max(34px,
				 min(57px, 34px + (57 - 34) * ((100vw - 767px) / (1920 - 767))
	));
}

#socialLinks ul
{
	display: flex;
	align-items: flex-end;
}

#socialLinks li:not(:last-child)
{
	margin-right: 16px;
}

#socialLinks li a
{
	display: block;
	width: 40px;
}

#socialLinks li a svg
{
	display: block;
	width: 100%;
	height: auto;
}

#socialLinks .svgCircle
{
	fill: #d94c38;
}

#socialLinks .svgInnards
{
	fill: #ffffff;
}

#socialLinks li a:is(:hover,:focus) .svgCircle
{
	fill: #ffffff;
}

#socialLinks li a:is(:hover,:focus) .svgInnards
{
	fill: #d94c38;
}

#footerLinks
{
	display: flex;
	flex-wrap: wrap;
	line-height: 1.2;
}

#footerLinks li
{
	margin-bottom: 8px;
}

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

@media (min-width: 768px)
{

	#footerLinks li:not(:last-child)
	{
		margin: 0;
	}

	#footerLinks li:not(:last-child)::after
	{
		content:  '|';
		margin: 0 5px;
		font-weight: 300;
	}
}

@media (min-width: 1024px)
{
	#footerTop
	{
		display: flex;
	}

	#footerTop h3
	{
		padding-top: 0;
		margin-top: 0;
		margin-right: 157px;
		margin-right: max(80px,
					 min(157px, 80px + (157 - 80) * ((100vw - 1024px) / (1920 - 1024))
		));
		flex: 0 0 220px;
	}

	#footerTop > div
	{
		flex: 1 1 auto;
	}
}

@media (min-width: 1200px)
{
	#footer
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	#footerLeft
	{
		flex: 1 1 450px;
		margin: 0 100px 0 0;
	}

	#footerRight
	{
		flex: 0 1 1200px;
	}

	#footerRight ul
	{
		justify-content: flex-end;
	}
}


/* bio xref */

.xrefBioListing
{
	margin: 20px 0 40px;
}

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

.xrefBioListing .photo
{
	overflow: hidden;
}

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

.xrefBioListing .results_list li:hover .photo img,
.xrefBioListing .results_list li:focus-within .photo img
{
	transform: scale(1.07);
}

.xrefBioListing .content
{
	padding: 25px 30px;
	background: #EDF0F4;
}

.xrefBioListing .content .title
{
	font-weight: 600;
}

.xrefBioListing .content > *
{
	--min-font-size: 17;
	--max-font-size: 19;
}

@media (min-width: 600px)
{
	.xrefBioListing ul.results_list
	{
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		grid-gap: 30px;
	}

	/* not sure why this was here */
	/*.xrefBioListing .photo
	{
		height: 191px;
	}*/

	.xrefBioListing .photo img
	{
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: top right;
	}
}

@media (min-width: 1280px)
{

	.xrefBioListing ul.results_list
	{
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
		grid-gap: 30px;
	}

	.xrefBioListing .content
	{
		padding: 25px 38px;
	}
}

.videoXrefList ul.results_list
{
	display: grid;
	grid-gap: 30px;
	grid-row-gap: 60px;
	margin-top: 20px !important;
}

.videoXrefList .title
{
	margin-top: 15px;
	--max-font-size: 22;
	font-weight: 500;
	line-height: 1.35;
}

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

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


/* 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;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 99999999;
	/*width: 60vw; bug 51721 */
	width: 80vw;
	height: auto;
	background: #fff;
	border: 12px solid #cecece;
	border-radius: 2px;
	box-sizing: border-box;
	color: #fff;
}

.popupPlayerWrapper .position
{
	color: #333333;
}

/* might want something a little smaller and centered
.inlineMultimediaPlaceholder
{
	max-width: 75%;
	margin: 0px auto;
}
*/

.popupPlayerWrapper.inlinePlayer
{
	position: relative;
	top: inherit;
	left: inherit;
	z-index: inherit;
	width: 100%;
	height: 100%;
	margin: 0 0 1.25em 0;
	transform: none;
}

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

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

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

.popupPlayerWrapper.playerWithSidebar .mediaPlayer
{
	width: 75% !important;
}

.popupPlayerWrapper.playerWithPlaylist .mediaPlayer
{
	height: 75% !important;
}

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

/* 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: 10;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 25%;
	max-width: 100%;
	overflow: hidden;
	background: #f5f5f5;
}

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

.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
{
	position: relative;
	left: 0;
	list-style: none;
	width: 100%;
	min-width: 100000px;
	height: calc(100% - 10px);
	overflow-x: hidden;
	margin: 0;
	padding: 0;
}

.popupPlayerPlaylist ul li
{
	position: relative;
	list-style: none;
	display: block;
	float: left;
	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;
	top: 0;
	z-index: 5;
	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;
	border-top: 5px solid #f5f5f5;
	border-bottom: 5px solid #f5f5f5;
	background: #d8d8d8;
	text-align: center;
}

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

a#playlistPrev
{
	left: 0;
	border-left: 2px solid #f5f5f5;
}

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

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: 10;
	top: 0;
	right: 0;
	width: 25%;
	height: 100%;
	overflow: hidden;
	overflow-y: auto;
	background: #f5f5f5;
}

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

.popupPlayerSidebar > div h2,
.popupPlayerSidebar > div h2.expandableHeading
{
	font-size: 0.9rem;
	margin-left: 0px;
	margin-right: 0px;
}

.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;
}


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

#item_relatedsame > div ul
{
	padding: 20px 0;
}

@media (min-width: 900px)
{
	.itemMultimediaList ul.results_list,
	.xrefMultimediaList ul
	{
		display: flex;
		justify-content: space-between;
	}
}

/* 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;
}

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

.itemMultimediaList ul.results_list li
{
	margin: 0 0 10px 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;
}

#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
{
	display: block;
	clear: both;
	content: '';
}

.itemMultimediaList ul.results_list li .photo,
.xrefMultimediaList ul li .photo
{
	position: relative;
	z-index: 1;
	float: left;
}

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

#mainContent .xrefMultimediaList ul li .videomore,
#mainContent .xrefMultimediaList ul li .title,
#mainContent .xrefMultimediaList ul li .abstract
{
	margin: 0;
}

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

#mainContent .xrefMultimediaList ul li .videomore
{
	font-size: 0.8rem;
}

#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%;
}

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

/* start player icon - only edit attributes in this first block! */
.photo .triggerPopupPlayer
{
	position: relative;
}

.photo .triggerPopupPlayer::before
{
	content: '';
	position: absolute;

	z-index: 9;
	bottom: 28px;
	left: min(9%, 45px);
	width: 35px;
	height: 35px;
	border: 7px solid white;
	border-radius: 50%;

	box-sizing: border-box;

	background: white url(../i/mejs-controls.svgz) top left;
	background-size: 425px;
}

.player
{
	position: relative;

	width: 100%;
	max-width: 650px;
	aspect-ratio: 625/365; /* default image size */
}

.player .photo,
.player .podcastmediaurl
{
	position: absolute;
}

.player .podcastmediaurl
{
	bottom: 0;
	left: min(9%, 45px);
	right: calc(min(9%, 45px) - 14px);
}

.player .photo
{
	width: 100%;
}

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



#multimediaList .itemdate
{
	/*color: #CE392A;*/
	color: #001F60; /* changed per swati/jessica */
	--min-font-size: 16;
	--max-font-size: 17;
	letter-spacing: 1.5px;
}

#multimediaList .section
{
	--min-font-size: 16;
	--max-font-size: 17;
	text-transform: uppercase;
	color: #001F60;
	letter-spacing: 1px;
	color: #d94c38;
}

#multimediaList .itemTitle
{
	color: #030303;
	--min-font-size: 17;
	--max-font-size: 19;
}

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

#multimediaList li
{
	position: relative;

	margin-bottom: 25px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
}

#multimediaList .info
{
	position: relative;
	padding: clamp(20px, 50/1400 * 100vw, 50px) clamp(20px, 56/1400 * 100vw, 56px);
	/*background: #ffffff;*/
}

#multimediaList .itemTitle
{
	--min-margin-top: 30;
	--max-margin-top: 65;
}

#multimediaList .itemTitle a:not(:hover):not(:focus)
{
	color: inherit;
}

#multimediaList .mejs__container
{
	margin-top: 0 !important;
}

#multimediaList .sp_pencil
{
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 99;
}

@media (min-width: 600px)
{
	#multimediaList ul
	{
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
		grid-row-gap: 16px;
		grid-column-gap: 18px;
	}
}

@media (min-width: 1024px)
{
	#multimediaList .results_list > li
	{
		display: flex;
		flex-direction: column;
	}

	#multimediaList .info
	{
		flex-grow: 1;

		display: flex;
		flex-direction: column;
	}

	#multimediaList .info .itemTitle
	{
		margin-top: .8em;
	}

	#multimediaList .info > :last-child,
	#multimediaList .info > :last-child > a
	{
		flex-grow: 1;
	}

	#multimediaList .info > div
	{
		display: flex;
	}

	#multimediaList .info > div a
	{
		flex-grow: 1;
	}

	#multimediaList .info .itemTitle
	{
		color: inherit;
	}

	#multimediaList .info:is(:hover, :focus-within, .fauxHover)
	{
		background: #001f39;
		color: white;
	}

	#multimediaList .info:is(:hover, :focus-within, .fauxHover)::after
	{
		content: '';
		position: absolute;
		bottom: 25px;
		right: 25px;
		width: 37px;
		height: 37px;
		background: url('../i/icon-circle-arrow-red.svgz') no-repeat; /* data-uri */
		background-size: 100%;
	}

	#multimediaList .info:is(:hover, :focus-within, .fauxHover) a
	{
		color: white;
		display: block;
	}

	#multimediaList .info .sp_pencil
	{
		position: absolute;
		bottom: 10px;
		right: 10px;
	}

	#multimediaList .info:is(:hover, :focus-within, .fauxHover) .itemdate
	{
		color: #ffffff;
	}

	/*#multimediaList .info:is(:hover, :focus-within, .fauxHover) .itemTitle
	{
		margin: 0;
	}

	#multimediaList .info:not(:hover, :focus-within, .fauxHover) .abstract
	{
		display: none;
	}

	#multimediaList .info:is(:hover, :focus-within, .fauxHover) > :not(.abstract, .itemTitle)
	{
		display: none;
	}*/

	#multimediaList .abstract
	{
		font-weight: 200;
	}
}

@media (min-width: 1280px)
{
	#multimediaList ul
	{
		grid-template-columns: repeat(auto-fill, minmax(375px, 1fr));
	}
}




/* end player icon*/

@media (max-width: 1024px)
{
	.inlineMultimediaPlaceholder
	{
		max-width: none;
		margin: 0px;
	}

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

	#mainContent .xrefMultimediaList ul li .photo,
	.itemMultimediaList ul.results_list li .photo
	{
		float: none;
		margin: 0 0 10px 0;
		width: 100%;
	}

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

	#mainContent .xrefMultimediaList ul li .videomore,
	#mainContent .xrefMultimediaList ul li .title,
	#mainContent .xrefMultimediaList ul li .abstract,
	.itemMultimediaList ul.results_list li .videomore,
	.itemMultimediaList ul.results_list li .title,
	.itemMultimediaList ul.results_list li .abstract
	{
		margin-left: 0;
	}
}

@media (max-width: 767px)
{
	.inlineMultimediaPlaceholder
	{
		position: relative;
		z-index: 10;
	}

	.popupPlayerWrapper
	{
		border: 3px solid #cecece;
		border-radius: 2px;
	}

	.popupPlayerWrapper.inlinePlayer
	{
		display: flex;
		flex-direction: column;
		height: auto;
		overflow: visible;
		padding-bottom: 0;
	}

	.popupPlayerWrapper.inlinePlayer .mediaPlayer,
	.popupPlayerWrapper.inlinePlayer.playerWithSidebar .mediaPlayer,
	.popupPlayerWrapper.inlinePlayer.playerWithPlaylist .mediaPlayer,
	.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .mediaPlayer
	{
		position: relative;
		width: 100% !important;
		height: 100% !important;
		padding-bottom: 56.25%; /* 16:9 */
	}

	.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;
		background: #f0f0f0;
	}

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

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

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

	.popupPlayerWrapper.inlinePlayer .popupPlayerSidebar > div
	{
		padding: 0px 10px 0px 10px;
	}

	.popupPlayerWrapper.inlinePlayer .popupPlayerSidebar > div:last-of-type
	{
		padding: 0px 10px 5px 10px;
	}

	.popupPlayerSidebar > div h2
	{
		padding: 6px 0 2px 0;
	}

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

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

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

#cookieBanner::before
{
	background: rgba(0,0,0,.85);
}

/* if you need a specific color behind the cookie banner, use this along with
	adjustCookieBanner() in js/default.js */
/**
#cookieBanner
{
	--overFooter: 50%;
}

#cookieBanner::before
{
	background: rgba(0,0,0,.85) linear-gradient(to top, red var(--overFooter), transparent var(--overFooter));
}
/**/

#cookieBanner > div
{
	position: relative;
	overflow: hidden;
	max-height: 100%;
}

#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 !important;
	text-decoration: underline;
}

#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;

	transition: all 350ms;
}

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

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

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

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

@media (min-width: 1280px)
{
	#cookieBanner > div
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}

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

		max-height: 100%;
		overflow: hidden;

		flex-grow: 1;
	}

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

#cookieOptions
{
	--min-font-size: 14px;
	font-size: 14px;

	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 button.closeButton
{
	top: 22px;
	right: 22px;
	background: none;
	padding: 0 24px 24px 0;
	background: none;
	border-radius: 0;

	color: black;
}

#cookieOptions button.closeButton:hover
{
	opacity: .5 !important;
}

#cookieOptions button.closeButton:before,
#cookieOptions button.closeButton:after
{
	width: 24px;
	left: 0;
	top: 10px;
}

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

#cookieOptions > div
{
	position: relative;
	width: calc(100vw - 40px);
	max-width: 650px;
	max-height: calc(100vh - 120px);
	overflow: auto;
	background: white;
	padding: 25px 0 0;
	box-sizing: border-box;

	--cookie-border: 1px solid #C1C1C1;
	border: var(--cookie-border);
	border-radius: 4px;
}

#cookieOptions > div > div,
#cookieOptions h2#cookieTitle
{
	padding: 0 40px;
}

#cookieOptions h2#cookieTitle
{
	font-size: 1.42em;
	font-weight: bolder;

	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 0.8em;

	border-bottom: var(--cookie-border);

	margin: 0 0 30px;
	padding-bottom: 8px;
	padding-right: 60px;

	position: sticky;
}

#cookieOptions h2#cookieTitle > *
{
	margin-bottom: 20px;
}

#cookieOptions h2#cookieTitle svg
{
	max-height: 1.3em;
	width: auto;
}

#cookieOptions h2#cookieTitle::after
{
	content: '';
}

#cookieOptions h3
{
	margin: 0 0 .5em;
	padding: 0 0 0;

	font-size: 1.28em;
	font-weight: bolder;
}

#cookieOptions .cookieType
{
	overflow: hidden;
	margin-top: 2em;
}

#cookieOptions .cookieTypeLabel
{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.8em;

	margin-bottom: 0.8em;

	align-items: center;
}

#cookieOptions .cookieTypeLabel h3
{
	margin: 0;
	line-height: 1.1;
}

#cookieOptions .alwaysActive
{
	font-size: max(12px, .85em);

	font-weight: bolder;
	color: #CE392A;
}

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

#cookieOptions #cookieConfirm
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap-reverse;
	gap: 0.8em;

	background: inherit;

	border-top: var(--cookie-border);
	padding-top: 22px;
	padding-bottom: 22px;
	margin: 0;

	/*
	position: sticky !important;
	bottom: 0;
	z-index: 1;
	*/
}

#cookieConfirm div
{
	display:flex;
	align-items: center;

	color: #959595;
}

#cookieConfirm img
{
	height: 1.5em;
}

#cookieConfirm button.standardButton
{
	background: #CE392A !important;
	color: white;
	padding: 3px 10px !important;
}

/* the widget container */
.toggleGroup
{
	position: relative;
	width: 85px;
	height: 28px;
	background: #CE392A;
	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: rgba(255,255,255,.8);
	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%;

	/* set a white background image with 100% opacity over a background color, then
	   later we'll dial down opacity on the background image for "off" state */
	--switch-opacity: 1;
	--switch-grad: rgba(255,255,255, var(--switch-opacity));

	background-image: linear-gradient(var(--switch-grad), var(--switch-grad));
	background-color: #CE392A;
	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;
	--switch-opacity: 0.8;
}

/* Audio player -----------------------------------------------> */

.itemList ul li .bioimgs
{
	clear: left;
	margin: 30px 0 0 0;
	font-size: 16px;
}

.itemList ul li .bioimgs a
{
	display: inline-block;
	clear: left;
	margin: 10px 20px 10px 0;
}

.itemList ul li .bioimgs a > span:not(.highlight)
{
	display: block;
	margin: 10px 0 0 60px;
}

.itemList ul li .bioimgs img
{
	display: block;
	float: left;
	max-width: 50px;
	margin: 0 10px 0 0;
}

/*.podcastList ul,
.podcastList > ul > li
{
	display: block;
	width: auto;
}

.podcastList li
{
	position: relative;
	border-bottom: 1px solid currentColor;
	padding-bottom: 1em;
	margin-bottom: 1em;
}*/

.shareTools
{
	font-size: 14px;
	color: #001F60;

	display: flex;
	justify-content: flex-end;
}

.shareTools > div
{
	padding-left: 10px;

}

.shareTools > div > a
{
	color: inherit;
	text-transform: uppercase;
}

@media( min-width: 1200px )
{
	.podcastList .bioimgs
	{
		padding-right: 225px;
	}

	.podcastList .shareTools
	{
		position: absolute;
		bottom: 36px;
		right: 0;
	}
}

.podcastSubscribe
{
	position: relative;
}

.podcastSubscribe button
{
	border: none;
	margin: 0;
	padding: 0;
	width: auto;
	overflow: visible;

	background: transparent;
	text-transform: uppercase;

	/* inherit font & color from ancestor */
	color: inherit;
	font: inherit;

	/* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
	line-height: normal;

	/* Corrects font smoothing for webkit */
	-webkit-font-smoothing: inherit;
	-moz-osx-font-smoothing: inherit;

	/* Corrects inability to style clickable `input` types in iOS */
	-webkit-appearance: none;

	cursor: pointer;
}

.podcastSubscribe button:hover,
.podcastSubscribe button:focus
{
	text-decoration: underline;
}

.shareTools > div > a,
.shareTools > div > button
{
	padding: 0 21px 0 0;
	background: url(../i/podcast-share.svgz) right no-repeat;
}

.shareTools > div > button
{
	background-image: url(../i/podcast-subscribe.svgz);
}

.podcastSubscribe ul
{
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	padding: 1.1em 1.3em;
	background: rgba(255,255,255,.98);
	box-shadow: 0 1px 3px 1px rgba(0,0,0,.2);
	border-radius: 0 2px 2px 2px;
	line-height: 1.8;
	z-index: 999999;
	width: auto;
	min-width: 250px;
	margin: 0;
	text-align: right;
}

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

.podcastSubscribe li::before
{
	content: none;
}

/* Standard 'Close' and 'Accept' and 'Share' Button ----------------> */

.closeButton,
.popupShareButton
{
	position: absolute;
	top: 15px;
	right: 15px;
	width: 0;
	height: 0;
	font-size: 0;
	padding: 20px 20px 0 0;
	overflow: hidden;
	border: 2px solid #fff;
	background-color: #ddd;
	border-radius: 50%;
	cursor: pointer;
	color: #999;
}

.popupShareButton::after
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 20px;
	height: 20px;
	content: "";
	background: #ddd url('../i/icon-share.svg') center center no-repeat; /* data-uri */
	background-size: 13px;
	opacity: 0.35;
}

.popupShareButton:hover::after,
.popupShareButton:focus::after
{
	opacity: 0.9;
}

.closeButton::before,
.closeButton::after
{
	position: absolute;
	top: 9px;
	left: 3px;
	width: 14px;
	height: 3px;
	content: "";
	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;
	border: 2px solid #fff;
	background-color: #ddd;
	border-radius: 3px;
	cursor: pointer;
	color: #333333;
	text-transform: uppercase;
}

.acceptButton:hover,
.acceptButton:focus
{
	background-color: green;
	color: #ffffff;
}

@media (max-width: 767px)
{
	.closeButton,
	.popupShareButton
	{
		top: 4px;
	}
}


/* Email Popup Support -------------------------------------------------> */

#emailPopupWrapper
{
	position: fixed;
	z-index: 99999;

	display: flex;
	justify-content: center;
	align-items: center;

	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	background: rgba(51, 51, 51, .7);

	transition: opacity .3s;
}

#emailPopupWrapper:not(.active)
{
	pointer-events: none;
	opacity: 0;
}

#emailPopup
{
	position: relative;
	background: white;
}

#emailPopupContent
{
	border: 12px solid #cecece;
	background: white;

	max-height: calc(100vh - 40px);
	width: calc(100vw - 40px);
	max-width: 800px;

	padding: 20px;
	box-sizing: border-box;

	overflow: auto;
}

#emailDisclaimerButtons
{
	text-align: center;
}

#emailDisclaimerButtons > *
{
	display: inline-block;
	margin: 10px;
	padding: 4px 6px;
	background: #0a80ca;
	color: #fff;
	text-align: center;
	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 */

body#search #banner
{
	margin: 0 0 40px;
}

body#search #subContent div.standardButton
{
	justify-content: flex-start
}

#search form
{
	margin: 0 0 2rem 0;
}

#sp_class_search form div
{
	width: 100%;
	flex-basis: 100%;
}

/* search text input and button */
#sp_class_search .search_text
{
	display: flex;
	justify-content: flex-end;

	align-items: stretch;

	margin: 1em 0 0;
}

#sp_class_search .search_text input
{
	vertical-align: bottom;
	margin: 0;

	display: block;

	height: auto;
}

#sp_class_search #searchtext
{
	flex-grow: 1;
	flex-basis: 0;
	width: auto;
	padding-top: 0;
}

#sp_class_search p.form-section-label
{
	margin: 1.5rem 0 0.5rem 0;
	padding: 0;

	font-weight: bolder;
}

.search_section_wrapper
{
	display: flex;
}

#subContent .search_section_wrapper
{
	flex-direction: column;
}

/* list of categories can expand as needed */
.search_section_wrapper .sections
{
	flex-grow: 1;
}

/* checkbox/radio rows */
#sp_class_search .sections > div,
#sp_class_search .search_type > div > div
{
	padding: 0 0 0.8rem .3rem;

	display: flex;
	align-items: center;
}

.search_section_wrapper input[type=radio],
.search_section_wrapper input[type=checkbox]
{
	margin: 0;
	padding: 0;
}

#sp_class_search label
{
	font-size: 1rem;
	line-height: 1;

	display: flex;
	align-content: center;
	align-items: flex-end;

	padding-top: 1px;
	padding-left: 0.5rem;
}

#search .SEARCH
{
	margin: 2.5rem 0 0 0;
}

#search #subContent
{
	border: none;
	margin: .5rem 0 0 0;
}

#search #subContent form > div > div
{
	flex-basis: auto;
}

#search #advSearchLink a
{
	color: #888;
}

#search .search_result_date
{
	color: #888;
}


@media (max-width: 767px)
{
	#sp_class_search .search_text
	{
		flex-direction: column;

		align-items: flex-start;
	}

	#search main .search_form [type=submit]
	{
		margin-top: .5rem;
	}

	#sp_class_search #searchtext
	{
		width: 100%;
	}

	#sp_class_search .search_section_wrapper
	{
		flex-direction: column;
	}

	#search div.form-section
	{
		margin-bottom: 0;
	}

	.searchBioWrapper > div > div
	{
		flex-direction: column;
	}
}

#search div.sections input,
#search div.search_type  input
{
	border: 0;
}

#search a.more
{
	font-weight: bolder;
}

.searchfoundtext
{
	font-weight: bolder;
}

.result-items p
{
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 2px;
	margin-bottom: 18px;
}

.result-items p.link
{
	padding-top: 5px;
	padding-bottom: 0;
	margin-bottom: 10px;
	color: #000000;
	--min-font-size: 20;
	--max-font-size: 22;
	line-height: 1.25;
}

/*.result-items p.link a:not(:hover):not(:focus)
{
	color: inherit;
}*/

.section-header h3
{
	font-size: 19px;
	margin-top: 24px;
	margin-bottom: 25px;
	padding: 0;
	text-transform: uppercase;
	letter-spacing: 1px;
}

#search .view_more a
{
	position: relative;
	padding: 7px 36px 7px 36px;
}

#search .searchHeader
{
	border-bottom: 1px solid #a69e9d;
	margin: 0;
	padding: 0;
}

#search #searchTabLinks div
{
	margin: 0;
	padding: 6px 0;
}

#search #searchTabLinks .form-section-label
{
	font-size: 21px;
	color: #000;
}

#search #searchTabLinks,
#search #searchTabLinks a
{
	color: #6D7A88;
}

/*#search #searchTabLinks a span
{
	color: #0a80ca;
}*/

#search #searchTabLinks .form-section-label
{
	border: none;
	margin-top: 27px;
}

#search #searchResultsFor span
{
	color: #000;
}

#search #searchResultsFor
{
	margin: 0 0 .5rem 0;
	padding: 0;
	color: #888;
}

#search .searchOptionsWrapper
{
	position: relative;
	width: 400px;
}

#search .searchOptionsWrapper,
#search #searchOptions
{
	display: inline-block;
	font-size: 18px;
}

#search #searchOptions
{
	min-width: 400px;
}

#search .customSelect
{
	font-size: 18px;
}


#search select:hover
{
	cursor: pointer;
}


/* Bio section search results */
.searchBioWrapper div.results_list > div
{
	display: flex;
	padding: 30px 0;
	border-bottom: 1px solid #C7CFD9;
}

.searchBioWrapper .text
{
	padding-top: 10px;
}

.searchBioWrapper .title
{
	--min-font-size: 20;
	--max-font-size: 22;
	line-height: 1.35;
	color: #000000;
}

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

.searchBioWrapper .bioposition
{
	text-transform: uppercase;
	color: #001F60;
	line-height: 1.35;
	font-weight: 300;
	--min-font-size: 17;
	--max-font-size: 19;
}

.searchBioWrapper .photo
{
	width: 185px;
	height: 185px;
	margin: 0 30px 0 0;
}

.searchBioWrapper .photo a
{
	display: block;
	width: 185px;
	height: 185px;
}

.searchBioWrapper .photo img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.searchBioWrapper .officetext
{
	font-weight: 300;
	--min-font-size: 17;
	--max-font-size: 19;
}

.searchBioWrapper .officetext span
{
	display: block;
}

.searchBioWrapper .officetext
{
	display: flex;
}

.searchBioWrapper .officetext span + span::before
{
	content: '|';
	margin: 0 10px;
}

.searchBioWrapper .divider
{
	border-top: 1px solid #a69e9d;
	margin: 18px 0;
	display: none;
}

/*.result-items > div:not(:last-of-type),
.result-items > p.excerpt:not(:last-of-type)
{
	border-bottom: 1px solid #a69e9d;
	margin: 0 0 32px;
	padding: 0 0 32px;
}*/


/* Example Styles Support */

table#fontReference
{
	width: 100%;
	margin: 0 0 38px 0;
	font-size: 80%;
	/*white-space: nowrap;*/
	line-height: 1;
}

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: #0a80ca;
	color: #fff;
	text-align: center;
}

.printMap:hover,
.printMap:focus
{
	background: #6a747c;
	text-decoration: none;
}


/* buttons to look like links */
button.toggleExpand,
button.standardButton
{
	margin: 0 0 1.5em 0;
	padding: 0 !important;
	background: none !important;
	border: none;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: #0a80ca;
}

div.standardButton
{
	display: flex;
	justify-content: flex-end;
	font-weight: 400;
}

div.standardButton a,
button.toggleExpand,
div.view_more a,
button.standardButton
{
	position: relative;
	display: block; /*I set this to block for margin overflow reasons*/
	min-width: 170px;
	font-size: 17px;
	text-transform: uppercase;
	color: #E0231A;
	letter-spacing: 1px;
	font-weight: 600;
	font-family: var(--worksans);
}

div.standardButton a svg,
button.toggleExpand svg,
div.view_more a svg,
button.standardButton svg
{
	position: relative;
	top: 4px;
	width: 30px;
	height: 30px;
	fill: #d94c38;

}

div.view_more
{

}

div.view_more a,
div.standardButton a
{
	display: flex;
	align-items: center;
	min-width: unset;
	border: 2px solid #d94c38;
	text-align: center;
	border-radius: 25px;
	padding: 6px 28px 4px 10px;
}

div.view_more a svg,
div.standardButton a svg
{
	top: -1px;
	margin-right: 22px;
}

div.view_more a:is(:hover,:focus),
div.standardButton a:is(:hover,:focus)
{
	background: #E0231A;
	color: #ffffff;
}

div.view_more a:is(:hover,:focus) svg,
div.standardButton a:is(:hover,:focus) svg
{
	fill: #ffffff;
}

button.toggleExpand::after
{
	position: absolute;
	right: 0;
	top: -2px;
	content: '+';
	display: block;
	width: 28px;
	height: 28px;
	padding-left: 1px;
	font-size: 28px;
	font-weight: 400;
	line-height: .95;
	border: 2px solid #d94c38;
	text-align: center;
	border-radius: 50%;
	box-sizing: border-box;
}


button.toggleExpand.expanded::after
{
	content: '-';
}

#staticNews div.standardButton a:hover::before,
#staticNews div.standardButton a:focus::before
{
	left: auto;
	right: 115px;
}


#staticNews.itemNews
{
	margin-top: 50px;
}

#staticNews.itemNews > a
{
	display: inline-block;
	margin: 0 0 10px;
	font-size: 19px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

#staticNews.itemNews > a:not(:hover):not(:focus)
{
	color: #001F60;
}

/* 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;
	box-sizing: border-box;
	background: transparent;
	border: 1px solid #ccc;
	text-align: center;
}

figure.image figcaption
{
	display: block !important;
	clear: both;
	padding: 5px;
	font-size: 0.8rem;
}

.nowrap
{
	white-space: nowrap;
}

/* END DEFAULT CSS -----------------------------------------------> */
