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


/*


---- Fonts available ----


Inter - inter
---------------------
100
900



Poppins - poppins
--------------------
300 Light
400 Normal
500 Medium
600 Semi Bold
700 Bold



Raleway - Raleway
---------------------
100 thin
200 Extra Light
300 Light
400 (normal) Normal
500 Medium
600 Semi-Bold
700 (bold) Bold
800 Extra Bold
900 Black



*/

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

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

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

	color: var(--maindark);
	font-family: 'poppins', Arial, sans-serif;
	line-height: 1.6;

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

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

	--maindark: #2B2B2B; /* before wcag: #474747 */
	--darkblue: #253A80;
	--yellow: #FDBD3E;
	--teal: #0A8185; /* before wcag: #0E9CA2 */
	--coral: #DB371A; /* before wcag: #EB6852 */
	--cyan: #0CB7BB;
	--darkcyan: #0BB7BB;
	--darkercyan: #0BA5A8;
	--rules: #DFE4ED;


	/*--logocyan: #03b2b5;*/ /* why is this not used as the main cyan? */
	--logocyan: #095E7E; /* new logo */
	--logogray: #77767c;


	--random-left-margin: max(30px,
			 min(70px, 30px + (70 - 30) * ((100vw - 767px) / (1600 - 767))
			));


	/*--test1: rotate(-54deg);
	--test2: rotate(306deg);*/


}

h1, h2, h3, h4, h5, h6, p, li, .baseTitle, .title, .itemInfo, .linkwrapper, .linkText, .smalltext,
#bioTitle, .phone, #tabLinks a, #practiceExpand, .admissioninfo, button.toggleExpand, .address, #officeAddress, #officeAddressPhone, #interactiveMap #regionList a, #bioSlideList .careersquote, .subscribeButton, .popupTitle, #itemSubtitle, #publication, .role, div.viewMore, .attachment_wrapper a,
#location, #mapit, #sponsor, body.insights-events-item #itemDate, .phone, .email, .blogAuthors .bioposition,
#subscribeLink
{
	/* fluid css - https://codepen.io/lowbatteries/full/qBEyXEP */
	font-size: calc(var(--max-font-size) * 1px); /* IE11 */
	font-size: max(
		var(--min-font-size) * 1px, min(
			var(--max-font-size) * 1px,
			var(--min-font-size) * 1px + (var(--max-font-size) - var(--min-font-size)) * ((100vw - var(--fluid-start) * 1px) / (var(--fluid-end) - var(--fluid-start)))
		));

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

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

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

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


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

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

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

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

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

body
{
	position: relative;
	min-width: 320px;
	max-width: 1910px;
	/* in mobile or tablet we do not want anything outside the body bounds scrollable */
	overflow-x: hidden;

	margin: 0 auto;
	padding: 120px 16px 0 16px;
	background: #fff;
	box-sizing: border-box;
}

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

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

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

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

#subContent p
{
	margin: 0.25em 0 .75em 0;
}

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

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


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

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

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

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

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

sup, sub
{
	line-height: 0;
}

a
{
	/* color: var(--teal); */
	color: #0F47CB; /*  changed per bug 55916 */
	text-decoration: none;
}

a:hover,
a:focus
{
	color: #888888;
}

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

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

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

h1, h2, h3, h4, h5, h6, #subscribeLink
{
	--max-margin-top: 50;
	padding: 0;
	line-height: normal;
	font-family: 'inter', sans-serif;
	font-weight: 400;
}

h1,
#banner .baseTitle
{
	--max-margin-bottom: 7;
	color: var(--darkblue);
	font-weight: 400;
	/*--min-font-size: 35;*/
	--max-font-size: 60;
	line-height: 1.12;
	font-family: 'inter', sans-serif;
}

#banner h1
{
	margin-top: 0;
}

#banner h1 a
{
	color: inherit;
}

#banner h1 a:is(:hover, :focus)
{
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255,.5);
	text-decoration-thickness: 3px;
}

#banner .baseTitle h1
{
	color: inherit;
}

h1#pageTitle
{
	color: #000000;
}

h1#contenTitle
{
	--max-margin-top: 50;
	/*--max-margin-bottom: 35;*/
	margin-bottom: 5px; /* changed per janice on client call */
	--max-font-size: 38;
}

@media (min-width: 768px)
{
	#banner .baseTitle
	{
		padding-right: 150px;
	}

	/* added per janice/client call */
	body.extraBannerTitleSpace #banner .baseTitle
	{
		margin-bottom: 45px;
	}

}

@media (min-width: 1024px)
{
	h1#contenTitle
	{

		margin-top: 30px !important;
	}
}


#banner .smallTitle h1,
#banner .smallTitle
{
	color: var(--yellow);
	font-size: 25px;
	text-transform: uppercase;
	font-family: 'poppins';
	letter-spacing: 1.5px;
}

@media (min-width: 768px)
{
	#banner .smallTitle
	{
		max-width: calc(100% - 100px);
	}
}



#banner .baseTitle
{
	color: #ffffff;
}


h2,
#subscribeLink
{
	--max-margin-top: 35;
	--min-margin-bottom: 20;
	--max-margin-bottom: 30;
	--max-font-size: 42;
	color: var(--darkblue);
}

#subContent h2,
#subscribeLink
{
	--max-margin-bottom: 26;
	--max-font-size: 34;
	/*font-weight: 700;*/
}

.results-criteria-wrapper h2
{
	margin-top: 0;
	margin-bottom: 0;
}

.results-criteria-wrapper span
{
	position: relative;
	top: 2px;
	color: var(--teal);
	font-size: 24px;
	font-weight: 500;
}

h3
{
	--max-margin-top: 35; /* changed per janice/phone call */
	--max-margin-bottom: 12; /* changed per janice/phone call */
	--max-font-size: 34;
	color: var(--darkblue);
}

h4
{

	font-weight: bolder;
	--min-font-size: 18;
	--max-font-size: 27;

	--max-margin-bottom: 20;
	color: var(--darkblue);

}

h5
{
	text-transform: uppercase;
	--min-font-size: 21;
	--max-font-size: 29;
}

/* Reserved for Print Pilot */
h6
{
	color: #000;
	font-weight: inherit;

	--min-font-size: 18;
	--max-font-size: 27;
}

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

li
{
	margin-left: 1.5em;

	/* client requested spacing */
	--max-margin-top: 8;
	--min-margin-top: 8;

	--max-margin-bottom: 8;
	--min-margin-bottom: 8;
	padding: 0;
}

li ~ li
{
	--max-margin-top: 8;
	--min-margin-top: 8;
}

:is(ul,ol) :is(ul,ol) li
{
	--max-margin-top: 8;
	--min-margin-top: 8;

	--max-margin-bottom: 8;
	--min-margin-bottom: 8;

	line-height: 1.45;
}

:is(ul,ol) :is(ul,ol) :is(ul,ol) li
{
	/*--max-margin-top: 0;
	--min-margin-top: 0;

	--max-margin-bottom: 0;
	--min-margin-bottom: 0;*/

	line-height: 1.3;
}

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

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

/* invalid directly-nested lists need the left margin from 'li' above */
:is(ul,ol) > :is(ul,ol)
{
	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,
#mainContent > :first-child
{
	margin-top: 0;
}


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

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


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

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

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

#footer::before,
#homeNewsHeader::before,
#bioInfo::before
{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;

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

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

	width: 100vw;
	background: inherit;
}


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

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


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

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

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

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

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

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

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

	table.results_list th
	{
		display: none;
	}
}

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

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

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

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

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

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

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

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

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

.itemList > ul li
{
	--max-margin-top: 0;
	--max-margin-bottom: 16;
}

#careers-clerkships .itemList .title
{
	color: var(--maindark);
	--max-margin-bottom: 0;
	margin-bottom: 0;
}

#resultPageLinks
{
	margin: 1em 0;
}

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

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

/* buttons to look like links */
.expandButton button,
.collapseButton button
{
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none;
	color: inherit;
	font: inherit;
	text-transform: inherit;
	text-align: inherit;
	cursor: pointer;
}

.expandButton button,
.collapseButton button
{
	color: var(--teal);
	text-decoration: none;
	cursor: pointer;
}

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

.expandButton.expanded
{
	display: none;
}

.expandableContent
{
	display: none;
	overflow: hidden;
	margin-bottom: 30px;
}

.extraItems
{
	 display: none;

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


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

/*
	how these content jumps should work on desktop:

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

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

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

	background: white;
}

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


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

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

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

#logo
{
	/* inline-block to prevent logo from interfering with nav */
	display: inline-block;

	position: relative;
	z-index: 9997;
	width: 160px;
	margin: 38px 0 0 0;
}

#logo svg
{
	display: block;
	width: 100%;
	height: auto;
	transition: fill 0.5s ease-out;
	max-width: 230px;
	height: auto;
}

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

#logo svg .logoTop
{
	fill: var(--logocyan);
}

#logo svg .logoBottom
{
	fill: var(--logogray);
}


@media (min-width: 920px)
{
	#header
	{
		padding: 0 44px 0 44px;
	}
}

@media (min-width: 1024px)
{
	#header
	{
		height: 132px;
	}

	#logo
	{
		width: 200px;
		margin-top: 35px;
	}

}

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

	/* Removed per janice */
	/*#header::after
	{
		position: absolute;
		top: calc(50% - 1px);
		right: 0;
		content: '';
		display: block;
		width: 78%;
		height: 1px;
		background: var(--rules);
		opacity: .27;
	}*/
}


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

#banner
{
	position: relative;
}

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

/* banner mask?*/
#bannerImage::after
{
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000000;
	opacity: .35;
	/*background-image: linear-gradient(to right, rgba(0,0,0,0.50) 30%, transparent);*/
}


#bannerImage > picture > img
{
	display: block;
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


#bannerContent
{
	position: relative;
	z-index: 10;
	display: flex;
	align-items: flex-end;
	min-height: 271px;
	padding-top: 80px;
	padding-bottom: 80px;
	box-sizing: border-box;
}

#bannerContent #aligner
{
	width: 100%;
}

.bannerTools
{
	position: absolute;
	bottom: 20px;
	right: 0;
}

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

.bannerTools li
{
	margin-left: 12px;
}

.bannerTools ul
{
	display: flex;
}

.bannerTools svg
{
	display: block;
	width: 100%;
	height: auto;
}

.bannerTools svg .svgCircle
{
	fill: var(--cyan);
}

.bannerTools svg .svgInnards
{
	fill: #ffffff;
}

.bannerTools a
{
	display: block;
	width: 42px;
	margin: 0;
}

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

.bannerTools a:is(:hover,:focus) svg .svgInnards
{
	fill: var(--cyan);
}

#breadCrumb
{
	position: absolute;
	top: 20px;
	left: 0;
	z-index: 10;
	display: flex;
	font-size: 16px;
	font-family: 'inter', sans-serif;
	font-weight: 300;
}

#breadCrumb,
#breadCrumb li
{
	padding: 0;
	margin: 0;
	list-style: none;
	color: #ffffff;
}

#breadCrumb a
{
	color: #E3E3E3;
}

#breadCrumb a:is(:hover, :focus)
{
	text-decoration: underline;
}

#breadCrumb span
{
	position: relative;
	top: -1px;
	margin: 0 5px 0 10px;
}


@media (min-width: 768px)
{

	#bannerContent
	{
		padding-bottom: 43px;
	}

	.bannerTools
	{
		bottom: 97px;
	}

}

@media (min-width: 920px)
{
	#bannerContent
	{
		width: calc(100% - var(--random-left-margin));
		margin-left: var(--random-left-margin);
	}

	#bannerContent .aligner
	{
		width: 100%;
	}
}


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

#searchJump
{
	display: block;
	position: absolute;
	z-index: 10000;
	top: 46px;
	right: 77px;
	width: 27px;
	height: 27px;
	line-height: 1;
	cursor: pointer;
}

#alumniLink
{
	display: block;
	position: absolute;
	z-index: 10000;
	top: 50px;
	right: 140px;
}

#alumniLink a
{
	color: #000;
}

#alumniLink a:hover,
#alumniLink a:focus
{
	color: #888888;
}

body.mobileActive #searchJump
{
	top: 27px;
}

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

body.mobileActive #searchJump svg
{
}

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

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

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

@media (min-width: 1024px)
{
	#searchJump
	{
		top: 52px;
	}
}

@media (min-width: 1350px)
{
	#searchJump
	{
		top: 20px;
		right: max(37px,
					 min(75px, 37px + (75 - 37) * ((100vw - 1350px) / (1920 - 1350))
		));
	}

	#alumniLink
	{
		top: 30px;
		right: 120px;
	}
}

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

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

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

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

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

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

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

#siteSearch div button img
{
	height: 25px;
}

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

#searchClose
{
	display: none;
}

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

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

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

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

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

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

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

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

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

	color: inherit;
}

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

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

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

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

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

	z-index: 1;
}

.searchPopup .popupHeader a
{
	display: block;
}

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

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

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

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

.acBio a
{
	font-weight: 600;
}

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

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

#allSearch
{
	top: auto;
	bottom: 0;

	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	width: 100%;
	margin: 0px;
	padding: 10px 38px;
	background: var(--teal);
	font-size: 16px !important;
}

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

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


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

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

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

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

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

#mainNav li > a
{
	display: block;
	padding: 10px 23px;
}

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

	color: white;
	text-decoration: none;
}

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

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

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

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

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

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

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


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

@media (min-width: 1350px)
{
	#mainNav
	{
		display: flex;
		position: absolute;
		z-index: 9999;
		/*top: 65px;*/
		top: 50px;

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

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

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

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

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

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

		background: var(--darkblue);
		padding: 10px 48px 40px;
	}

	#mainNav > ul > li > a
	{
		white-space: nowrap;
		font-size: 22px;
		font-weight: 500;
		padding-bottom: 24px;
	}

	#mainNav > ul > li > a:hover,
	#mainNav > ul > li > a:focus
	{
		background: none;
		color: var(--teal);
	}

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

	/* second-level links */

	#mainNav li li
	{
		margin-top: 28px;
		line-height: 1.2;
	}

	#mainNav li li > a
	{
		font-size: 19px;
		color: #575252;
		padding: 0;
		color: #ffffff;
	}

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

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

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

		top: 0;
		left: 100%;
	}

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

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

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

	#mainNav > ul + ul > li
	{
		margin-right: 40px;
	}

	#mainNav > ul + ul > li:last-child
	{
		margin-right: 23px;
	}

	#mainNav > ul + ul > li > a
	{
		padding: 0;
		font-size: 20px;
		font-weight: 400;
	}

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

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

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


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

	button#navToggle
	{
		display: none;
	}

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

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

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

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

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

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

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


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

@media (max-width: 1349px)
{
	#mainNav,
	#mainNav li ul
	{
		position: fixed;
		display: block;
		visibility: hidden;
		z-index: 9998;
		top: 0;
		right: -100vw;
		left: auto;
		width: 100vw;
		max-width: 589px;
		height: 100vh;
		border-top: 100px solid transparent;
		padding: 33px 16px 120px 95px;
		background: var(--rules);
		box-sizing: border-box;
		box-shadow: 0 0 200px 15px rgba(0,0,0,.4);
		transition: right 0.7s;

		overflow: auto;
	}

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

	#mainNav::before
	{
		display: none;
	}

	#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;
		margin: 0;
		padding: 0;
	}

	#mainNav li a
	{
		color: var(--darkblue);
		padding: 0;
	}

	#mainNav li.current::before
	{
		position: absolute;
		top: 17px;
		left: -95px;
		display: block;
		content: '';
		width: 49px;
		height: 4px;
		background: var(--darkcyan);
	}


	#mainNav ul + ul li.current::before
	{
		top: 11px;
	}

	#mainNav ul ul li.current::before
	{
		display: none;
	}

	#mainNav ul ul li.current a
	{
		color: var(--teal);
	}

	#mainNav > ul > li
	{
		margin: 0 0 25px;
		font-size: 32px;
		line-height: 1.2;
	}

	#mainNav > ul:first-child > li > a
	{
		font-weight: 700;
	}

	#mainNav > ul + ul
	{
		margin-top: 30px;
	}

	#mainNav > ul + ul li
	{
		font-size: 21px;
		font-weight: 400;

	}

	#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: var(--teal);
	}

	#mainNav > ul ul > li
	{
		font-size: 1rem;
		text-transform: none;
		margin-bottom: 15px;
		font-weight: 500;
	}

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

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

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

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

	#mainNav ul ul li.subNavHeader
	{
		margin-top: 12px;
		margin-bottom: 15px;
		font-size: 1.65rem;
	}

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


	/* Mobile Nav 'Hamburger' Button */

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

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

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

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

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

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

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

	.mobileNav.isActive .mobileNavBox span
	{
		width: 30px;
		height: 2px;
	}

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

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


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

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


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

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

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

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

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

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

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


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

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

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

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

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

	#mainNav,
	#mainNav li ul
	{
		padding-left: 40px;
	}

	#mainNav li.current::before
	{
		left: -64px;
	}




	button#navToggle
	{
		right: 12px;
	}
}


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

ul.subNavList
{
	position: relative;
	max-width: 544px;
	padding: 43px 50px 30px 0;
	background: var(--rules);
	box-sizing: border-box;
	font-weight: 700;
	font-size: 18px;
}

ul.subNavList li
{
	position: relative;
	list-style: none;
	margin: 0 0 25px !important;
	padding: 0 0 0 50px;
	line-height: 1.2;
}

ul.subNavList li a
{
	color: var(--darkblue);
}

ul.subNavList li a:is(:hover,:focus)
{
	color: var(--teal);
}

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

ul.subNavList li.here::before,
ul.subNavList li.hereParent::before
{
	position: absolute;
	display: block;
	content: '';
	width: 30px;
	height: 4px;
	left: 0;
	top: calc(50% - 2px);
	background: var(--cyan);
}

@media (min-width: 1350px)
{

	ul.subNavList
	{
		padding: 50px 40px 36px 0;
		font-size: 21px;
	}

	ul.subNavList li
	{
		padding-left: 95px;
	}

	ul.subNavList li.here::before
	{
		width: 49px;
	}
}


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

.expandableHeading,
h2.sectionTitle
{
	position: relative;
	padding-bottom: 20px;
	margin: 0 0 20px;
	--min-font-size: 22;
	--max-font-size: 26;
	font-weight: 400;
	cursor: pointer;
	border-bottom: 1px solid var(--rules);
}

.expandableHeading button
{
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none;
	color: inherit;
	font: inherit;
	text-transform: inherit;
	text-align: inherit;
	cursor: pointer;
}

.expandableHeading button::after,
h2.sectionTitle::after
{
	content: '+';
	position: absolute;
	right: 0;
	color: var(--darkcyan);
	font-weight: 600;
	font-size: 26px;
	line-height: 1;
}

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


#subContent .expandableHeading
{
	/*padding-left: 35px;*/
	border-bottom: none;
	text-transform: none;
	--min-font-size: 22;
	--max-font-size: 26;
	font-weight: 400;
	padding-bottom: 0;
	margin-bottom: 10px;
}

/* cross your fingers */
#mainContent section > .itemSection:first-of-type > *:first-of-type
{
	margin-top: 0;
}

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

#subContent .expandableHeading button::after
{
	right: auto;
	left: -25px;
	/* top: calc(50% - 19px); */
	top: 1px;
}

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

	h2.sectionTitle
	{
		display: block;
	}

	.contentSection
	{
		display: block !important;
	}

	.contentSection > *
	{
		display: none;
		/*padding: 10px 0 10px 0;*/ /* changed per janice/jessica */
	}

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

/* desktop tabs */
@media (min-width: 1024px)
{
	#tabLinks
	{
		margin: 1.5em 0 15px 0;
	}

	#tabLinks a
	{
		display: inline-block;
		position: relative;
		padding-bottom: 5px;
		margin-bottom: 15px;
		font-weight: 700;
		color: var(--darkblue);
		font-family: 'inter', sans-serif;
		--max-font-size: 19;
	}

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

	#tabLinks .current
	{
		border-bottom: 4px solid var(--cyan);
		color: inherit;
		text-decoration: none;
		cursor: default;
	}

	.sectionTitle
	{
		display: none;
	}

	#tabLinks #practiceExpand
	{
		border: none;
		text-transform: uppercase;
		letter-spacing: 1.5px;
		background: none;
		--max-font-size: 20;
		cursor: pointer;
		color: var(--darkblue);
	}
}



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

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

.itemTile .results_list
{
	position: relative;
}

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

.itemTile .results_list > * > a:not(.sp_pencil)
{
	display: block;
	flex: 1 0 auto;
	padding: 20px;
	background: #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: var(--teal);
	font-weight: 700;
	font-size: 24px;
}

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

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


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

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

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

#mainContentWrapper
{
	display: flex;
	flex-direction: column;
}


#subNav
{
	order: 3;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

#subContent
{
	order: 2;
	position: relative;
	width: 100%;
	margin: 1rem 0 0 0;
	padding: 30px;
	box-sizing: border-box;
}


#subContent::before
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(112,114,119,1) 0%, rgba(223,228,237,0) 70%);
	opacity: .07;
	z-index: -1;
}

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

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

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

	#mainContentWrapper
	{
		flex-direction: row;
		justify-content: space-between;
	}

	#mainContent,
	#lowerText
	{
		flex: 0 1 1023px;
		margin-right: 100px;
		margin-left: var(--random-left-margin);
	}

	/* lowerText being left aligned like this was requested by client */
	#lowerText
	{
		max-width: 1023px;
	}

	body.fullWidth #mainContent
	{
		flex: auto;
		width: 100%;
		max-width: 1583px;
		margin-right: 0;
	}

	#subNav,
	#subContent
	{
		position: relative;
		top: -110px;
		z-index: 10;
		flex: 0 1 543px;
	}

	#subContent
	{
		top: 0;
	}

	#lowerContent
	{
		position: relative;
		z-index: 10;
	}

}

@media (min-width: 1024px)
{


	#subContent
	{

		padding-top: max(30px,
					 min(40px, 30px + (40 - 30) * ((100vw - 1024px) / (1500 - 1024))
		));

		padding-left: max(30px,
					 min(79px, 30px + (79 - 30) * ((100vw - 1024px) / (1500 - 1024))
		));

		padding-right: max(30px,
					 min(79px, 30px + (79 - 30) * ((100vw - 1024px) / (1500 - 1024))
		));

		padding-right: 0;
	}

	#subContent::before
	{
		/*height: 170%;*/ /*this is stretching the page height too high.  Removing it to see what happens*/
		width: 100vw;
	}
}

#subContent li
{
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	line-height: 1.4;
}

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

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

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

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


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

	#subContent > *
	{
		order: 1;
	}

	#subContent #subNav
	{
		order: 4;
	}

	#subNav
	{
		margin-top: 30px !important;
	}
}


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

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

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

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

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

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

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

#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
{
	/*margin-top: 30px;*/
	martgin-top: 15px;
}

.view_more a
{
	display: inline-block;
	position: relative;
	padding: 20px 30px;
	min-width: 178px;
	font-weight: 700;
	color: var(--darkblue);
	font-family: 'inter', sans-serif;
	font-size: 19px;
	line-height: 1;
	box-sizing: border-box;
	text-align: center;
}

.view_more a:is(:hover,:focus)
{
	background: var(--cyan);
	color: #ffffff;
}

.view_more a::before,
.view_more a::after
{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 40px;
	height: 40px;
	border-top: 2px solid var(--cyan);
	border-left: 2px solid var(--cyan);
}

.view_more a::after
{
	top: auto;
	bottom: 0;
	left: auto;
	right: 0;
	transform: rotate(180deg);
}

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


/* Static News */

.staticNews
{
	margin-top: 1.25rem;
	padding: 1.25rem 0 0 0;
	border-top: 1px solid currentColor;
}

.staticNews ul.results_list
{
	position: relative;
}

.staticNews ul.results_list > li
{
	position: relative;
	width: 100%;
	margin-bottom: 1.25rem;
	box-sizing: border-box;
}

.staticNews ul.results_list > li:only-child
{
	width: 100%;
}

.staticNews ul.results_list > li a
{
	display: block;
	min-height: auto;
	padding: 1em;
	border: 4px solid currentColor;
	box-sizing: border-box;
}


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

	.staticNews ul.results_list > li
	{
		width: calc(50% - 20px);
	}

	.staticNews ul.results_list > li a
	{
		min-height: 10em;
	}

	#subContent .staticNews ul.results_list
	{
		display: block;
	}

	#subContent .staticNews ul.results_list > li
	{
			width: 100%;
	}
}

@media (min-width: 501px) and (max-width: 919px)
{
	#subContent	.staticNews ul.results_list
	{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;

	}

	#subContent	.staticNews ul.results_list > li
	{
		width: calc(50% - 20px);
	}
}

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

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

form > div
{
	display: grid;
	grid-gap: 28px;
	grid-row-gap: 26px;
}

form > div > div
{
	position: relative;
	min-width: 0;
}

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

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

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

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

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

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

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

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



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

form > p
{
	width: 100%;
}

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

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

#ReviseSearch
{
	margin-bottom: 76px;
}

@media (min-width: 768px)
{
	form > div
	{
		grid-template-columns: repeat(2, 1fr);
	}

	form > div > div.submit_wrapper
	{
		grid-column: 1/-1;
	}
}

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

	form > div > div.submit_wrapper
	{
		grid-column: 2/4;
	}

	#careers-clerkships form > div
	{
		grid-template-columns: repeat(2, 1fr);
	}

	#careers-clerkships form > div > div.submit_wrapper
	{
		grid-column: 1/-1;
	}
}


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

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

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

	/* appease IE11 */
	height: 49px;

	margin: 0;
	padding: 7px 7px 10px 21px;
	background-color: #fff;
	border: 1px solid var(--darkcyan);
	border-radius: 0;
	box-sizing: border-box;
	font-size: 19px;
	line-height: 1.8;
	vertical-align: top;
}

textarea
{
	min-height: 6.5em;
}

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

	position: absolute;
	padding: 7px 7px 10px 21px;
	font-size: 19px;
	line-height: 1.8;
}

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

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

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

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

.customSelect::after
{
	content: '+';
	display: block;
	position: absolute;
	right: 20px;
	top: 10px;
	font-size: 26px;
	line-height: 1;
	color: var(--darkcyan);
}

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

	box-sizing: border-box;

	/* bug 50545 - in case labels are uppercase, leave the underlying options alone in all cases */
	text-transform: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

a.clearAll
{
	float: right;
}

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

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

#bioKeywordSearch button
{
	position: absolute;
	right: 0;
	bottom: 0;
	padding-left: 10px;
	border: none;
	background: none;
}

#bioKeywordSearch form > div
{
	display: block;
}

#bioKeywordSearch button svg
{
	fill: var(--darkcyan);
}

#bioKeywordSearch input[type=text],
.standardSearch form > div > div:first-of-type input
{
	border: none;
	border-bottom: 1px solid var(--darkcyan);
	padding-right: 45px;
}

#bioKeywordSearch label,
.standardSearch form > div > div:first-of-type label
{
	padding-left: 0;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--darkblue);
	font-size: 20px;
}

#bioKeywordSearch div.hasFocus label,
.standardSearch form > div > div.hasFocus:first-of-type label
{
	font-size: 0.6rem;
}



.search_form .submit_wrapper button
{
	float: right;
	background: none;
	border: none;
}

.search_form .submit_wrapper button svg
{
	fill: var(--darkcyan);
}

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

#emailField
{
	display: none;
}


/* auto complete js */

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

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

.autocomplete .selected
{
	background: #f0f0f0;
}

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

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

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

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



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

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

.bioList .image
{
	width: 215px;
	height: 215px;
	margin-bottom: 35px;
	border-radius: 50%;
	overflow: hidden;
}

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

.bioList li:is(:hover,:focus-within) img
{
	transform: scale(1.05);
}


.bioList .title
{
	margin: 0;
	--min-font-size: 20;
	--max-font-size: 23;
	font-weight: 700;
	color: var(--darkblue);
	line-height: 1.25 ;
}

.bioList .phone,
.bioList .email
{
	margin: 0;
}

.bioList .contact,
.bioXref .contact
{
	display: flex;
	color: var(--darkblue);
}

.bioList .contact div + div::before,
.bioXref .contact div + div::before
{
	content: '|';
	margin: 0 7px;
}

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

.bioList a:is(:hover,:focus)
{
	color: var(--teal);
}

@media (min-width: 600px)
{

	.bioList ul.results_list
	{
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 50px;
	}
}


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

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

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

/*------------------------------------------------------------
---------------------START HERE-------------------------------
--------------------------------------------------------------*/



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

.alternatingSpotlight
{
	margin: 65px 0 95px !important;
}

.alternatingSpotlight li
{
	display: flex;
	align-items: center;
	position: relative;
	min-height: 250px;
}

.alternatingSpotlight .info
{
	position: relative;
	z-index: 10;
	padding: 50px 30px;
	box-sizing: border-box;
}

.alternatingSpotlight li.hasimage .info
{
	color: #ffffff;
}

.alternatingSpotlight .image
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}

.alternatingSpotlight .image::after
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	background: linear-gradient(to top, rgba(0,0,0, 1) 0%, rgba(0,0,0, .2) 100% );

	opacity: .8;
}

.alternatingSpotlight .title
{
	--max-margin-bottom: 32;
	--max-font-size: 42;
	font-weight: 700;
	font-family: 'inter', sans-serif;
	line-height: 1.25;
}

.alternatingSpotlight .title
{
	color: var(--darkblue);
}

.alternatingSpotlight .hasimage .title
{
	color: #ffffff;
}

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

.linktext a
{
	min-width: 178px;
	font-weight: 700;
	color: var(--darkblue);
	font-family: 'inter', sans-serif;
	box-sizing: border-box;
	text-align: center;
}

.alternatingSpotlight .hasimage .linktext a
{
	color: #ffffff;
}

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

.alternatingSpotlight .playbutton a
{
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 25px);

	display: block;
	width: 50px;
	height: 50px;
}

.alternatingSpotlight .playbutton a svg
{
	display: block;
	width: 100%;
	height: auto;
	fill: #ffffff;
}

.alternatingSpotlight .fullwidth
{
	display: block;
	background: #f4f5f5;
}

.alternatingSpotlight .fullwidth .image,
.alternatingSpotlight .fullwidth .imagewrapper
{
	position: relative;
}

.alternatingSpotlight .fullwidth .image::after
{
	display: none;
}


.linktext
{
	margin-top: 30px;
}

.linktext a
{
	display: inline-block;
	position: relative;
	padding: 20px 30px;
	font-size: 19px;
	line-height: 1;
	z-index: 5;
}

.linktext a:is(:hover,:focus)
{
	/*background: var(--cyan);*/
	/*color: #ffffff;*/
	color: var(--teal);
}

.linkwrapper a
{
	position: relative;
	z-index: 5;
}

.linktext a::before,
.linktext a::after,
.linkwrapper::before,
.linkwrapper::after
{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 40px;
	height: 40px;
	border-top: 2px solid var(--cyan);
	border-left: 2px solid var(--cyan);

	transition: all 250ms ease;
}

.linktext a::after,
.linkwrapper::after
{
	top: auto;
	bottom: -2px;
	left: auto;
	right: -2px;
	border: none;
	border-bottom: 2px solid var(--cyan);
	border-right: 2px solid var(--cyan);
}

.linktext a:is(:hover,:focus)::before,
.linktext a:is(:hover,:focus)::after,
.linkwrapper:is(:hover,:focus)::before,
.linkwrapper:is(:hover,:focus)::after
{
	width: 100%;
	height: 100%;
}


@media (min-width: 768px)
{
	.alternatingSpotlight ul
	{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.alternatingSpotlight li.fullwidth
	{
		grid-column: 1/3;

		display: flex;
	}

	.alternatingSpotlight li.fullwidth > div
	{
		height: 100%;
		flex: 0 0 50%;
	}

	.alternatingSpotlight .title
	{
		--fluid-start: 920;
		--fluid-end: 1600;
	}

	.alternatingSpotlight .info
	{
		display: flex;
		align-items: center;
		padding-left: max(30px,
					 min(100px, 30px + (100 - 30) * ((100vw - 768px) / (1600 - 768))
		));

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

	.alternatingSpotlight .playbutton a
	{
		width: 108px;
		height: 108px;
		top: calc(50% - 54px);
		left: calc(50% - 54px);
	}

	.alternatingSpotlight .image img
	{
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		object-fit: cover;
	}

}

@media (min-width: 1280px)
{


	.alternatingSpotlight li
	{
		min-height: 450px;
	}
}

@media (min-width: 1600px)
{


	.alternatingSpotlight li
	{
		min-height: 570px;
	}
}


/*.contentBlock
{
	max-width: 1160px;
	margin: 70px auto;
}*/


/* changed per janice/client */
.contentBlock
{
	margin-top: 70px !important;
}

@media (min-width: 920px)
{

	#lowerContent .contentBlock
	{
		margin-left: var(--random-left-margin);
	}

}

/* Bio spotlights */

.bioSpotlights
{
	max-width: 1160px;
	margin: 70px auto;
}

.bioSpotlights.hasExpandableHeading
{
	margin-top: 0;
}

.bioSpotlights > div
{
	margin-top: 46px;
}

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

.bioSpotlights ul
{
	display: grid;
	grid-gap: 50px;
	justify-content: center;

}

.bioSpotlights .image
{
	width: 215px;
	height: 215px;
	margin-bottom: 35px;
	overflow: hidden;
	border-radius: 50%;
}

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

.bioSpotlights .title
{
	margin: 0;
	--min-font-size: 18;
	--max-font-size: 23;
	font-weight: 700;
}

.bioSpotlights .phone
{
	margin: 0;
}

.bioSpotlights a:not(:hover):not(:focus)
{
	color: var(--darkblue);
}


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

@media (min-width: 1100px)
{
	.bioSpotlights ul
	{
		grid-template-columns: repeat(4, 1fr);
	}
}



/* Bottom spotlights */

#bottomSpotlights
{
	position: relative;
	padding: 20px 25px 40px;
	margin-top: max(40px,
				 min(28px, 40px + (28 - 40) * ((100vw - 767px) / (1600 - 767))
	)) !important; /* removed per janice and then added back in per janice */

	margin-top: max(60px,
					 min(35px, 60px + (35 - 60) * ((100vw - 767px) / (1600 - 767))
		));

	/*margin-bottom: 75px;*/ /* changed per jessica for homepage */
	color: #ffffff;
	box-sizing: border-box;
}

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

.itemInfo .readtime svg
{
	position: relative;
	top: 4px;
	margin-right: 3px;
}

#bottomSpotlights .itemInfo .readtime svg
{
	fill: #ffffff;
}

#bottomSpotlights h1,
#bottomSpotlights h2
{
	color: inherit;
}

#bottomSpotlights h1 p
{
	margin-top: 0;
}

#bottomSpotlights #spotlightBackground
{
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: -1;

	display: block;
	width: 100%;
	height: 100%;
}

#bottomSpotlights::after
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background: #000000;
	z-index: -1;
	opacity: .5;
}

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

#bottomSpotlights li
{
	margin: 0 0 50px;
}

#bottomSpotlights li:not(:last-child)::after
{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #E5E5E5;
	opacity: .3;
	margin-top: 50px;
}

.itemInfo
{
	font-size: 18px;
	--max-margin-bottom: 10;
	/*font-family: 'Raleway';*/
	font-weight: 500;
	overflow: hidden;
}

.itemInfo > div
{
	float: left;
}

.itemInfo > div + div::before
{
	content: '|';
	margin: 0 8px;
}

#bottomSpotlights .title
{
	font-weight: 400;
	--max-font-size: 28;
	line-height: 1.45;
}


.linkwrapper
{
	display: inline-block;
	position: relative;
	padding: 20px 30px;
	font-family: 'inter', sans-serif;
	line-height: 1;
	font-weight: 500;
	--min-font-size: 14;
	--max-font-size: 24;
	--fluid-start: 1024;
	--fluid-end: 1600;
}

.linkwrapper a:is(:hover,:focus)
{
	color: var(--teal);
}

.linkwrapper span
{
	margin: 0 10px;
}

#bottomSpotlights .itemInfo
{
	color: #ffffff;
	font-family: 'Raleway';
}

@media (min-width: 768px)
{

	#bottomSpotlights
	{
		padding:

			max(25px,
					min(90px, 25px + (90 - 25) * ((100vw - 768px) / (1700 - 768))
					))


			max(25px,
					min(70px, 25px + (70 - 25) * ((100vw - 768px) / (1700 - 768))
			))


			max(25px,
					min(100px, 25px + (100 - 25) * ((100vw - 768px) / (1700 - 768))
					));


	}

	#bottomSpotlights h1,
	#bottomSpotlights h2
	{
		padding-right: max(25px,
					 min(65px, 25px + (65 - 25) * ((100vw - 768px) / (1700 - 768))
		));
		margin-top: 0;
		--max-margin-bottom: 68;
		max-width: calc(100%/3);
		box-sizing: border-box;
	}

	#bottomSpotlights ul
	{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: max(40px,
					 min(114px, 40px + (114 - 40) * ((100vw - 768px) / (1700 - 768))
		));
	}

	#bottomSpotlights li:not(:last-child)::after
	{
		position: absolute;
		right: 0;
		top: 0;
		width: 1px;
		height: 100%;
		margin-top: 0;
	}

	#bottomSpotlights li
	{
		padding-right: 20px;
		box-sizing: border-box;
		margin-bottom: 0;
	}

	#bottomSpotlights li:nth-child(1)::after
	{
		left: calc(100%/3);
	}

	#bottomSpotlights li:nth-child(2)::after
	{
		right: calc(100%/3);
	}

	.linkwrapper
	{
		position: absolute;
		top: max(25px,
					min(90px, 25px + (90 - 25) * ((100vw - 768px) / (1700 - 768))
					));
		right: max(25px,
					 min(70px, 25px + (70 - 25) * ((100vw - 768px) / (1700 - 768))
		));
	}


	#bottomSpotlights .title a
	{
		position: relative;
		display: block;
		/*padding-bottom: 100px;*/
		padding-bottom: 50px; /* changed per janice */
	}

	#bottomSpotlights .title a:is(:hover,:focus)
	{
		color: var(--rules);
	}

	#bottomSpotlights .title a:is(:hover,:focus)::after
	{
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		height: 5px;
		width: 99px;
		background: var(--darkcyan);
	}

}


@media (min-width: 1600px)
{
	/*#bottomSpotlights
	{
		min-height: 730px;
	}*/
}

.quadSpotlight
{
	margin-bottom: max(50px,
				 min(80px, 50px + (80 - 50) * ((100vw - 767px) / (1600 - 767))
	));

}

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

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

.quadSpotlight li
{
	position: relative;
	/*min-height: 400px;*/
	box-sizing: border-box;
}

#organizations li
{
	display: flex;
	align-items: flex-end;
	min-height: 258px;
	text-align: center;
}

#organizations .content
{
	width: 100%;
}

#organizations .title
{
	margin-bottom: 3px;
	--min-font-size: 20;
	--max-font-size: 26;
}

#organizations .type
{
	color: var(--yellow);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 300;
	line-height: ;
}

.quadSpotlight
{
	margin-bottom: 56px;
}

.quadSpotlight ul
{
	display: grid;
	grid-gap: 30px;
}

.quadSpotlight a
{
	position: relative;
	display: block;
	/*display: flex;
	align-items: flex-end;*/
	/*min-height: 400px;*/
	height: 100%;
	width: 100%;
	/*padding-top: 100px;*/ /* this didn't work with the quadfreeform */
	box-sizing: border-box;
	z-index: 10;
}

#quadFreeform li
{
	display: block;
}

#quadFreeform a
{
	display: block;
	padding-top: 0;
}

.quadSpotlight:not(#quadFreeform) .imagewrapper::after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;

	background: linear-gradient(to bottom, rgba(0,0,0,0) 30%, rgba(0,0,0,100%) 100%);
}

.quadSpotlight.officeList:not(#quadFreeform) .imagewrapper::after
{
	background: #000000;
	opacity: .6;
}

#quadFreeform .imagewrapper::after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;

	background: #000000;
	opacity: .38;
}

#quadFreeform .title
{
	padding: 0;
}

.quadSpotlight .content
{
	position: relative;
	z-index: 10;
	padding: 30px 30px 45px;
	color: #ffffff;
	width: 100%;
	box-sizing: border-box;
}

#quadFreeform .content
{
	padding-top: max(60px,
				 min(105px, 60px + (105 - 60) * ((100vw - 767px) / (1700 - 767))
	));
}

.quadSpotlight .title
{

	--max-margin-bottom: 20;
	--max-font-size: 34;
	font-weight: 700;
	line-height: 1.2;
	font-family: 'inter', sans-serif;
}


.quadSpotlight .abstract
{
	/*font-weight: 500;*/
	font-weight: 300; /*changed per jessica*/
}

#imageGallery
{
	margin: 98px 0;
}

#imageGallery .image img
{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}

#imageGallery li::after
{
	display: none;
}

@media (min-width: 600px)
{

	.quadSpotlight ul
	{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1280px)
{
	.quadSpotlight ul
	{
		grid-template-columns: repeat(4, 1fr);
	}

	.quadSpotlight.officeList:not(#quadFreeform) .imagewrapper::after
	{
		background: linear-gradient(to bottom, rgba(0,0,0,0) 30%, rgba(0,0,0,100%) 100%);
	}
}


@media (min-width: 1600px)
{
	.quadSpotlight ul
	{
		grid-gap: 46px;
	}

	.quadSpotlight a
	{
		padding-top: 215px;
		/*min-height: 516px;*/
	}

	#bioAreaFocus.quadSpotlight a
	{
		display: flex;
		align-items: flex-end;
		padding-top: 0;
	}
}


/* bio xrefs */

.bioXref
{
	margin-bottom: 50px;
	font-family: 'inter', sans-serif;
}

.bioXref li
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 34px !important;
}

.bioXref .image
{
	position: relative;
	flex: 0 0 145px;
	width: 145px;
	height: 145px;
	margin-bottom: 20px;
	border-radius: 50%;
	overflow: hidden;
	margin-right: max(30px,
				 min(50px, 30px + (50 - 30) * ((100vw - 1280px) / (1500 - 1280))
	));
}

.bioXref .image img
{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;

	transition: transform 250ms ease;
}

.bioXref li:is(:hover,:focus-within) img
{
	transform: scale(1.05);
}

.bioXref .title
{
	margin-bottom: 5px;
	font-weight: 700;
	--max-font-size: 23;
	color: var(--darkblue);
	line-height: 1.25;
	margin: 0;
}

.bioXref .email,
.bioXref .vcard
{
	color: var(--darkblue);
}

.bioXref li a:not(:hover):not(:focus)
{
	color: inherit;
}

.bioXref .phone,
.bioXref .email
{
	margin: 0;
}

.popupPlayerWrapper .itemSection  li *
{
	font-size: 16px;
}


@media (min-width: 1280px)
{
	.bioXref li
	{
		flex-wrap: nowrap;
		--fluid-start: 1280;
		--fluid-end: 1700;
	}

	.bioXref .phone
	{
		white-space: nowrap;
	}
}

.frameBlockMessage
{
	display: none;
	max-height: 100%;
	max-width: 100%;
	overflow: scroll;

	padding: 0.8em 1.5em;
	box-sizing: border-box;

	border: 1px solid currentColor;

	background: white;
}

iframe[data-src]
{
	display: none;
}

iframe[data-src] + .frameBlockMessage
{
	display: block;
}

.triplespotlight ul.results_list,
.flippingSpotlight ul.results_list,
.doublespotlight ul.results_list
{
	margin-top: 50px !important;
	margin-bottom: 68px;
}

.triplespotlight a.sp_pencil
{
	position: absolute !important;
	z-index: 10;
}

.triplespotlight ul.results_list,
.triplespotlight ul.results_list li,
.flippingSpotlight ul.results_list,
.flippingSpotlight ul.results_list li,
.doublespotlight ul.results_list,
.doublespotlight ul.results_list li
{
	margin: 0;
	list-style: none;
}

.triplespotlight ul.results_list li,
.doublespotlight ul.results_list li
{
	overflow: hidden;
}

.triplespotlight ul.results_list,
.flippingSpotlight ul.results_list,
.doublespotlight ul.results_list
{
	display: grid;
	grid-gap: 30px;
}

.triplespotlight ul.results_list li a,
.flippingSpotlight ul.results_list li a,
.doublespotlight ul.results_list li a,
#tombstone
{
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 350px;
}

.quadSpotlight ul.results_list li a:focus .title,
.flippingSpotlight ul.results_list li a:focus .title,
.triplespotlight ul.results_list li a:focus .title,
.doublespotlight ul.results_list li a:focus .title
{
	text-decoration: underline;
}

.triplespotlight ul.results_list li a,
.doublespotlight ul.results_list li a
{
	height: 100%;
}

.triplespotlight ul.results_list li a::after,
.doublespotlight ul.results_list li a::after,
#tombstone::after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;

	background: linear-gradient(to bottom, rgba(0,0,0,0) 30%, rgba(0,0,0,100%) 100%);
}

.triplespotlight .image img,
.flippingSpotlight .image img,
.doublespotlight .image img,
#tombstone .image img
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;

	transition: transform 250ms ease;
}

.triplespotlight .info,
.doublespotlight .info,
#tombstone .info
{
	position: relative;
	z-index: 10;
	color: #ffffff;
	padding: 30px 30px 40px;
}

.triplespotlight .title,
.flippingSpotlight .title,
.doublespotlight .title,
#tombstone .title
{
	font-weight: 700;
	--max-font-size: 34;
	line-height: 1.2;
	font-family: 'inter', sans-serif;
}

.triplespotlight .abstract p,
.doublespotlight .abstract p,
#tombstone .abstract p,
.flippingSpotlight .abstract p
{
	/*these changes made per jessica */
	font-weight: 300;
	--max-font-size: 20;
}

.triplespotlight a:is(:hover,:focus) .image img,
.doublespotlight a:is(:hover,:focus) .image img
{
	transform: scale(1.05);
}

body.experience-item #itemContent
{
	margin-bottom: 40px;
}

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

	.doublespotlight ul.results_list
	{
		grid-template-columns: repeat(2, 1fr);
	}

	.triplespotlight ul.results_list li a,
	.doublespotlight ul.results_list li a,
	.flippingSpotlight ul.results_list li .flipperInner,
	#tombstone li
	{
		min-height: 500px;
	}
}


@media (min-width: 1280px)
{

	.triplespotlight ul.results_list,
	.flippingSpotlight ul.results_list
	{
		grid-gap: 70px;
	}

	.triplespotlight .info,
	.doublespotlight .info,
	#tombstone .info
	{
		padding: 50px;
	}
}

@media (min-width: 1500px)
{

	/* Client change requested */
	/*.triplespotlight ul.results_list li a,
	.doublespotlight ul.results_list li a,
	.flippingSpotlight ul.results_list li .flipperInner,
	#tombstone
	{
		min-height: 711px;
	}*/

	.doublespotlight ul.results_list
	{
		grid-gap: 70px;
	}
}



/* triple flipping spotlight */



.flippingSpotlight li a,
.flippingSpotlight li
{
	display: block;
	perspective: 1000px;
}


.flippingSpotlight .flipperInner,
.flippingSpotlight .flipperFront,
.flippingSpotlight .flipperBack
{
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	height: 100%;
	min-height: 350px;
	transform-style: preserve-3d;
	box-sizing: border-box;
}

.flippingSpotlight .flipperBack
{
	align-items: center;
}

.flippingSpotlight .flipperFront::after,
.flippingSpotlight .flipperBack::after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;

	background: linear-gradient(to bottom, rgba(0,0,0,0) 30%, rgba(0,0,0,100%) 100%);
}

.flippingSpotlight .flipperBack::after
{
	background: #000000;
	opacity: .5;
}

.flippingSpotlight .abstract
{
	position: relative;
	z-index: 10;
	color: #ffffff;
	padding: 30px 30px 40px;

	transform-style: preserve-3d;
	perspective: 1000px;
	backface-visibility: hidden;
	transform: translateZ(35px);
}

.flippingSpotlight .flipperFront .title
{
	position: relative;
	z-index: 10;
	font-weight: 700;
	--max-font-size: 34;
	line-height: 1.2;
	font-family: 'inter', sans-serif;

	transform-style: preserve-3d;
	perspective: 1000px;
	backface-visibility: hidden;
	transform: translateZ(35px);
}

.flippingSpotlight .flipperFront,
.flippingSpotlight .flipperBack
{
	position: absolute;
	width: 100%;
	height: 100%;
	/*-webkit-backface-visibility: hidden;
	backface-visibility: hidden;*/
}

.flippingSpotlight .flipperBack
{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.flippingSpotlight .flipperFront
{
	padding: 30px 40px 60px 40px;
	color: #ffffff;
	box-sizing: border-box;
}

.flippingSpotlight .flipperBack
{
	padding: 20px 20px 0 20px;

}

.flippingSpotlight .flipperBack
{
	/*background-color: var(--darkblue);*/
	transform: rotateY(180deg);
}


.flippingSpotlight li:hover .flipperInner
{

	transition: transform 1.25s; /* only animate on hover.	Just "pop" back otherwise */
	transform: rotateY(180deg);
}




/* Quad spotlight */


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

.quadSpotlight ul
{
	display: grid;
	grid-gap: 30px;
}

.quadSpotlight li
{
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 258px;
}

.quadSpotlight:not(.officeList) li::after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;

	background: linear-gradient(to top, rgba(0, 0, 0, 1.0) 0%, rgba(0, 0, 0, 0) 100%);
	z-index: 0;
}

.quadSpotlight .image img
{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.quadSpotlight .title
{
	position: relative;
	z-index: 10;
	padding: 30px;
	color: #ffffff;
	--min-font-size: 20;
	--max-font-size: 26;
	font-weight: 700;
	line-height: 1.25;
}


@media (min-width: 600px)
{

	.quadSpotlight ul
	{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px)
{

	.quadSpotlight h2
	{
		margin-left: var(--random-left-margin);
	}
}


@media (min-width: 1280px)
{
	.quadSpotlight ul
	{
		grid-template-columns: repeat(4, 1fr);
	}


}


@media (min-width: 1400px)
{


	.quadSpotlight ul
	{
		grid-gap: 45px;
	}

	.quadSpotlight .title
	{
		padding: 45px;
		padding-bottom: 35px; /* changed per jessica */
	}
}


.standardSearch
{
	width: 95%;
	max-width: 1586px;
	margin: 0 auto 50px;
}

.standardSearch:not(#experienceSearch) form > div > div:first-of-type
{
	grid-column: 1/-1;
}


.standardSearch form > div > div.submit_wrapper
{
	grid-column: unset;
}

@media (min-width: 1280px)
{

	.standardSearch form > div > div:nth-last-child(2)
	{
		padding-right: 45px;
	}

	.standardSearch .submit_wrapper
	{
		position: absolute;
		width: 100%;
		bottom: 0;
		z-index: 20;
	}

	.standardSearch .submit_wrapper button
	{
		position: absolute;
		right: -10px;
		bottom: 2px;
		cursor: pointer;
	}
}


/* News list */


.newsroomSection
{
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--rules);
}

.newsroomSection:last-of-type
{
	border-bottom: none;
}

.newsroomSection .introSection
{
	margin-bottom: 40px;
}

.newsroomSection .linktext
{
	position: absolute;
	bottom: 50px;
	left: 0;
}

.newsroomSection .newsList
{
	padding-bottom: 50px;
}

.newsList
{
	/*margin-bottom: 50px;*/ /* changed per jessica/janice */
}

.newsList li
{
	--min-margin-bottom: 20;
	/*--max-margin-bottom: 40 !important;*/
	--max-margin-bottom: 30 !important; /* per client request */
}

.itemInfo
{
	margin-bottom: 8px;
	color: var(--coral);
	font-size: 16px;
}

.itemInfo svg
{
	fill: currentColor;
}

.newsList .titleInfo
{
	margin-top: 0;
	--max-font-size: 28;
	color: var(--maindark);
	--max-margin-bottom: 0;
	line-height: 1.35;
}

body.flextext-item .newsList .titleInfo
{
	--max-font-size: unset;
}

.newsList .titleInfo > div
{
	display: inline;
}

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

.newsList .expandableList li
{
	--min-margin-bottom: 20;
	--max-margin-bottom: 40 !important;
}


.newsList .expandableList .title,
.newsList .expandableList .role
{
	--max-font-size: unset;
}

.newsList .role::after
{
	content: ': ';
}

.newsroomSection
{
	width: 95%;
	max-width: 1586px;
	margin: 0 auto 82px;
}

.newsroomSection .newsList
{
	margin-left: 0;
}

.newsroomSection > h2
{
	margin-top: 0;
}

#insights .newsroomSection > h2
{
	margin-top: 52px;
}


@media (min-width: 768px)
{

	.newsroomSection
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.newsroomSection > h2
	{
		width: 100%;
	}

	.newsroomSection > h2 span
	{
		display: block;
		width: 31%;
	}

	.newsroomSection .introSection
	{
		flex: 0 1 31%;
		margin-right: 50px;
	}

	.newsroomSection .newsList
	{
		flex: 0 1 60%;
		margin-top: 12px;
		margin-bottom: 0;
	}

	.newsroomSection .linktext
	{
		position: static;
	}

	.newsroomSection .linktext
	{
		bottom: 0;
	}

	.newsroomSection .newsList
	{
		padding-bottom: 0;
	}

}


#areaspotlight.flippingSpotlight ul
{
	margin: 93px 0 70px;
}

#areaspotlight .title
{
	padding: 0;
}

#areaspotlight ul.results_list li .flipperInner
{
	min-height: 512px;
}


@media (min-width: 600px)
{

	#areaspotlight ul
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: unset;
	}

	#areaspotlight ul li
	{
		width: calc(50% - 24px);
		margin: 0 12px 30px;
	}

	#areaspotlight .title
	{
		--fluid-start: 1500;
		--fluid-end: 1920;
	}
}

@media (min-width: 1024px)
{

	#areaspotlight ul li
	{
		/*width: calc((100%/3) - 24px);*/
		width: calc((100%/4) - 24px);
	}

}


@media (min-width: 1500px)
{

	#areaspotlight
	{
		margin-left: -40px;
		margin-right: -40px;
	}

	#areaspotlight ul li
	{
		width: calc(20% - 24px);
	}
}



body.careers-item #bannerContent
{
	/*min-height: max(300px,
				 min(596px, 300px + (596 - 300) * ((100vw - 767px) / (1600 - 767))
	));*/
	min-height: 27vw;
	max-height: 596px;
}


/* Interactive map */

#interactiveMap
{
	position: relative;
	overflow: hidden;
	background: #07121E;

}

#interactiveMap #mapOverlay,
#interactiveMap #mapBackground
{

	position: relative;
	display: block;
	width: 100%;
	height: auto;
	left: 5%;
	left: 5.8%;
}

#mapImages
{
	width: 100%;
	height: 100%;
}

#interactiveMap svg path,
#interactiveMap svg polygon,
#interactiveMap svg polyline
{
	fill: transparent;
}

#interactiveMap svg a
{
	cursor: pointer;
}

#interactiveMap svg path,
#interactiveMap svg polygon,
#interactiveMap svg polyline
{
	transition: all 250ms ease;
}

#interactiveMap svg a:hover path,
#interactiveMap svg a:hover polygon,
#interactiveMap svg a:hover polyline,
#interactiveMap svg a.hover path,
#interactiveMap svg a.hover polygon,
#interactiveMap svg a.hover polyline
{

	fill: rgba(255,255,255, .5);
	stroke: var(--darkcyan);
	stroke-width: 5px;
	stroke-linejoin: round;
}

#interactiveMap #mapOverlay
{
	position: absolute;
	top: 0;
}


#interactiveMap #regionList ul
{
	position: absolute;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 15vw;
	height: 90%;
	max-width: 251px;
	left: 3vw;
	bottom: 3vw;
	z-index: 10;
	color: #ffffff;
	box-sizing: border-box;
}

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

#interactiveMap #regionList li
{
	/*display: flex;
	align-items: flex-end;*/
	width: 100%;
	margin-right: 10px;
}

#interactiveMap #regionList .title
{
	margin: 0;
}

#interactiveMap #regionList li a
{
	display: block;
	width: 100%;
	padding: 5px 15px;

	padding-top: max(5px,
				 min(13px, 5px + (13 - 5) * ((100vw - 920px) / (1650 - 920))
	));

	padding-bottom: max(5px,
				 min(13px, 5px + (13 - 5) * ((100vw - 920px) / (1650 - 920))
	));

	margin: 10px 0 0;
	--fluid-end: 1900;
	color: inherit;
	--min-font-size: 12;
	--max-font-size: 19;
	line-height: 1.25;
	border: 1px solid var(--darkcyan);
	color: #ffffff;
	box-sizing: border-box;
}

#interactiveMap #regionList li a:is(:hover,:focus),
#interactiveMap #regionList li a.current
{
	background: #ffffff;
	color: var(--darkblue);
}

#regionList .regionPopup
{
	display: none;
}

#interactiveMap > .regionPopup
{
	position: absolute;
	top: calc(50% - 122px);
	left: calc(50% - 150px);
	width: 300px;
	min-height: 245px;
	padding: 30px;
	background: var(--rules);
	box-sizing: border-box;
	z-index: 100;
}

#interactiveMap > .regionPopup .popupTitle
{
	margin-bottom: 10px;
	--max-font-size: 24;
	color: var(--teal);
	text-transform: uppercase;
	line-height: 1.25;
	font-weight: 600;
	font-family: 'inter', sans-serif;
}

#interactiveMap #regionOffices ul.results_list
{
	margin: 0;
}

#interactiveMap #regionOffices li
{
	position: absolute;
	list-style: none;
	width: .5vw;
	height: .5vw;
	max-width: 9px;
	max-height: 9px;
	background: #ffffff;
	border-radius: 50%;
	z-index: 100;
	opacity: .5;
	margin: 0;

	transition: all 250ms ease;
}

#interactiveMap #regionOffices li.current
{
	opacity: 1;
	box-shadow: 0 0 20px 10px rgba(255,255,255,.8);
}

#interactiveMap #regionOffices .title
{
	display: none;
}

@media (max-width: 1099px)
{
	#interactiveMap > .regionPopup
	{
		display: none !important;
	}

	#interactiveMap #regionList ul
	{
		display: block;
		position: relative;
		z-index: 10;
		height: auto;
		width: auto;
		padding: 50px 0;
	}

	#interactiveMap #regionList li a
	{
		--min-font-size: 16;
	}

	#interactiveMap #mapOverlay
	{
		display: none;
	}

	#interactiveMap #mapBackground
	{
		display: block;
		height: 100%;
		width: 100%;
		left: 0;
		object-fit: cover;
		opacity: .5;
	}

	#mapImages
	{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
}

@media (min-width: 1200px)
{
	#interactiveMap #mapOverlay,
	#interactiveMap #mapBackground
	{
		/*width: 105%;
		left: 4.5%;*/
	}
}

@media (min-width: 1400px)
{
	#interactiveMap #mapOverlay,
	#interactiveMap #mapBackground
	{
		/*width: 105%;
		left: 4.5%;*/
	}
}

@media (min-width: 1700px)
{
	#interactiveMap #mapOverlay,
	#interactiveMap #mapBackground
	{
		/*width: 100%;
		left: 5%;*/
		/*left: 75px;*/
	}
}


/* Careers bio slideshow */

#bioSlideshow
{
	position: relative;
	padding: 50px 0;
	margin-top: 50px;
}

#bioSlideshow #bioSpotlightBackground
{
	position: absolute;
	left: calc(50% - 50vw);
	top: 0;
	width: 100vw;
	height: 100%;
	z-index: -1;
}

#bioSlideshow #bioSpotlightBackground::after
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000101;
	opacity: .67;
}

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

#bioSlideList li
{
	width: 100%;
	margin: 0;
	list-style: none;
}

#bioSlideList .directoryphoto
{
	border-radius: 50%;
	overflow: hidden;
	width: 244px;
	height: 244px;
	margin-bottom: 24px;
}

#bioSlideList .directoryphoto img
{
	display: block;
	width: 100%;
	height: auto;
}

#bioSlideList .info
{
	margin: 0 auto;
	font-size: 20px;
	width: 244px;
	text-align: center;
	/*color: var(--coral);*/
	color: #ffffff;
	font-weight: 600;
	font-family: 'inter', sans-serif;
}

#bioSlideList .info .title
{
	font-size: inherit;
	margin: 0;
}

#bioSlideList .careersquote
{
	text-align: center;
	color: #ffffff;
	--max-font-size: 28;
	font-family: 'inter', sans-serif;
	font-weight: 300;
	line-height: 1.5;
}

#bioPager
{
	margin-top: 40px;
	text-align: center;
}

#bioPager button
{
	width: 45px;
	height: 45px;
	overflow: hidden;
	border-radius: 50%;
	border: none;
	padding: 0;
	margin: 10px;
	cursor: pointer;
}

#bioPager button:not(.active)
{
	opacity: .6;
}

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

@media (min-width: 768px)
{

	#bioSlideshow
	{
		padding-top: max(50px,
					 min(200px, 50px + (200 - 50) * ((100vw - 767px) / (1600 - 767))
		));

		padding-bottom: max(50px,
					 min(81px, 50px + (81 - 50) * ((100vw - 767px) / (1600 - 767))
		));
	}



	#bioSlideList ul
	{

		max-width: 1160px;
		margin: 0 auto;
	}

	#bioSlideList li
	{
		display: flex !important;
		justify-content: space-between;
		align-items: center;
	}

	#bioSlideList .info
	{
		flex: 0 0 240px;
		margin: 0;
	}

	#bioSlideList .careersquote
	{
		flex: 0 1 794px;
		padding-bottom: 40px;
		box-sizing: border-box;
		margin-left: 50px;
	}


	#bioPager
	{
		margin-top: 75px;
	}

}

@media (min-width: 1350px)
{
	#bioPager button
	{
		width: 98px;
		height: 98px;
		margin: 0 21px;
	}
}


#mediaContact a:not(:hover):not(:focus)
{
	color: var(--darkblue);
}


.badgeList img
{
	max-width: 200px;
	max-height: 120px;
}

.badgeList ul,
.badgeList ul li
{
	list-style: none;
	display: block;
	margin: 0;
	padding: 0;
}

.badgeList ul li
{
	display: inline-block;
	margin-right: 20px;
}



/* Clocks */



.clockWrapper
{
	position: absolute;
	top: 10%;
	left: calc(50% - 139px);
	width: 278px;
	height: 278px;
	z-index: 10;
	padding-bottom: 10px;
}

.clock
{
	/*position: absolute;*/
	width: 278px;
	height: 278px;
	z-index: 10;
	transform: scale(.75);
}

.clockWrapper .currentTime
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: var(--yellow);
	font-size: 20px;
	text-align: center;
	letter-spacing: 1px;
}

.clock::after
{
	position: absolute;
	left: calc(50% - 12.5px);
	top: calc(50% - 12.5px);
	display: block;
	width: 25px;
	height: 25px;
	content: '';
	background: var(--yellow);
	border-radius: 50%;
}

.clock .ticks span
{
	background: var(--yellow);
	display: block;
	height: 2px;
	left: calc(50% - 5px);
	position: absolute;
	top: 50%;
	transform-origin: bottom 0;
	width: 10px;
	/*width: 100%;*/
}

.clock .secondHand
{
	position: absolute;
	border-left: 1px solid var(--yellow);
	border-radius: 0 0 1px 1px;
	border-right: 1px solid var(--yellow);
	height: 45%;
	left: calc(50% - 1px);
	top: 50%;
	z-index: 1;
	transform-origin: left 0;
	animation: animate_second_hand1 60s linear infinite;
}

.clock .minuteHand,
.clock .hourHand
{
	position: absolute;
	height: 120px;
	width: 6px;
	left: calc(50% - 3px);
	top: calc(50% - 22px);
	z-index: 1;
	border-radius: 5px;
	transform-origin: center 22px;
	background: var(--yellow);
	animation: animate_minute_hand1 3600s linear infinite;
}

.clock .hourHand
{
	position: absolute;
	height: 100px;
	animation: animate_hour_hand1 43200s linear infinite;
}

.clock .ticks span:nth-child(1) { transform: rotate(calc(calc(1deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(2) { transform: rotate(calc(calc(2deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(3) { transform: rotate(calc(calc(3deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(4) { transform: rotate(calc(calc(4deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(5) { transform: rotate(calc(calc(5deg/60)*360)) translateX(121px) translateY(3px); width: 25px;}

.clock .ticks span:nth-child(6) { transform: rotate(calc(calc(6deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(7) { transform: rotate(calc(calc(7deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(8) { transform: rotate(calc(calc(8deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(9) { transform: rotate(calc(calc(9deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(10) { transform: rotate(calc(calc(10deg/60)*360)) translateX(121px) translateY(7px); width: 25px;}

.clock .ticks span:nth-child(11) { transform: rotate(calc(calc(11deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(12) { transform: rotate(calc(calc(12deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(13) { transform: rotate(calc(calc(13deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(14) { transform: rotate(calc(calc(14deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(15) { transform: rotate(calc(calc(15deg/60)*360)) translateX(126px) translateY(7px); width: 25px;}

.clock .ticks span:nth-child(16) { transform: rotate(calc(calc(16deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(17) { transform: rotate(calc(calc(17deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(18) { transform: rotate(calc(calc(18deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(19) { transform: rotate(calc(calc(19deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(20) { transform: rotate(calc(calc(20deg/60)*360)) translateX(130px) translateY(7px); width: 25px;}

.clock .ticks span:nth-child(21) { transform: rotate(calc(calc(21deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(22) { transform: rotate(calc(calc(22deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(23) { transform: rotate(calc(calc(23deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(24) { transform: rotate(calc(calc(24deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(25) { transform: rotate(calc(calc(25deg/60)*360)) translateX(132px) translateY(4px); width: 25px;}

.clock .ticks span:nth-child(26) { transform: rotate(calc(calc(26deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(27) { transform: rotate(calc(calc(27deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(28) { transform: rotate(calc(calc(28deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(29) { transform: rotate(calc(calc(29deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(30) { transform: rotate(calc(calc(30deg/60)*360)) translateX(132px); width: 25px;}

.clock .ticks span:nth-child(31) { transform: rotate(calc(calc(31deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(32) { transform: rotate(calc(calc(32deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(33) { transform: rotate(calc(calc(33deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(34) { transform: rotate(calc(calc(34deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(35) { transform: rotate(calc(calc(35deg/60)*360)) translateX(132px) translateY(-4px); width: 25px;}

.clock .ticks span:nth-child(36) { transform: rotate(calc(calc(36deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(37) { transform: rotate(calc(calc(37deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(38) { transform: rotate(calc(calc(38deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(39) { transform: rotate(calc(calc(39deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(40) { transform: rotate(calc(calc(40deg/60)*360)) translateX(130px) translateY(-7px); width: 25px;}

.clock .ticks span:nth-child(41) { transform: rotate(calc(calc(41deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(42) { transform: rotate(calc(calc(42deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(43) { transform: rotate(calc(calc(43deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(44) { transform: rotate(calc(calc(44deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(45) { transform: rotate(calc(calc(45deg/60)*360)) translateX(125px) translateY(-7px); width: 25px;}

.clock .ticks span:nth-child(46) { transform: rotate(calc(calc(46deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(47) { transform: rotate(calc(calc(47deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(48) { transform: rotate(calc(calc(48deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(49) { transform: rotate(calc(calc(49deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(50) { transform: rotate(calc(calc(50deg/60)*360)) translateX(122px) translateY(-6px); width: 25px;}

.clock .ticks span:nth-child(51) { transform: rotate(calc(calc(51deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(52) { transform: rotate(calc(calc(52deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(53) { transform: rotate(calc(calc(53deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(54) { transform: rotate(calc(calc(54deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(55) { transform: rotate(calc(calc(55deg/60)*360)) translateX(118px) translateY(-4px); width: 25px;}

.clock .ticks span:nth-child(56) { transform: rotate(calc(calc(56deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(57) { transform: rotate(calc(calc(57deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(58) { transform: rotate(calc(calc(58deg/60)*360)) translateX(132px);}
.clock .ticks span:nth-child(59) { transform: rotate(calc(calc(59deg/60)*360)) translateX(132px);}

.clock .ticks span:nth-child(60) { transform: rotate(calc(calc(60deg/60)*360)) translateX(118px); width: 25px;}


@media (min-width: 768px)
{


	.clockWrapper
	{
		left: auto;
		right: 44px;
		top: 3%
	}
}


@media (min-width: 1024px)
{
	.clockWrapper
	{
		top: calc(50% - 160px);
	}
}

@media (min-width: 1350px)
{
	.clockWrapper
	{
		right: 180px;
		padding-bottom: 50px;
	}

	.clock
	{
		transform: scale(1.0);
	}
}

@media (min-width: 1800px)
{
	.clockWrapper
	{
		right: 220px;
	}
}


/*------------------------------------------------------------
--------------------- END HERE -------------------------------
--------------------------------------------------------------*/


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

#footer
{
	position: relative;
	padding: 40px 0;
	margin-top: max(50px,
				 min(80px, 50px + (80 - 50) * ((100vw - 767px) / (1600 - 767))
	));
	background: #141615;
}

#footer a
{
	color: #8D8D8D;
}

#footer a:hover,
#footer a:focus
{
	color: var(--teal);
}

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

#footerLogo
{
	width: 237px;
}

#footerLogo svg
{
	display: block;
	width: 100%;
	height: auto;
	fill: #ffffff;
}

#footerSocial
{
	margin: 40px 0;
}

#footerSocial ul
{
	display: flex;
}

#footerSocial svg
{
	fill: var(--cyan);
	transform: scale(.7);
	height: 35px;
	width: auto;
}

#footerSocial a:is(:hover,:focus) svg
{
	fill: #ffffff;
}

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

#footerSocial li:not(:last-child)
{
	margin-right: 34px;
}

#footerBottom
{
	position: relative;
	padding: 25px 0;
}

#footerBottom::before
{
	position: absolute;
	top: 0;
	content: '';
	display: block;
	width: 100vw;
	height: 1px;
	left: calc(50% - 50vw);
	background: #E5E5E5;
	opacity: .3;
}

#footerBottom ul
{
	overflow: hidden;
}

#footer #footerBottom li
{
	float: left;
	margin-right: 32px;
}

#footer #footerBottom li:last-child
{
	color: #ffffff;
}

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

	#footerLogo
	{
		position: relative;
		padding: 55px 126px 73px 65px;
	}

	#footerLogo::after
	{
		position: absolute;
		right: 0;
		top: -40px;
		content: '';
		width: 1px;
		height: calc(100% + 40px);
		background: #E5E5E5;
		opacity: .3;
	}

	/*#footer #footerBottom li:last-child
	{
		float: right;
		margin-right: 0;
	}*/

}

@media (min-width: 1024px)
{

	#footerSocial svg
	{
		transform: unset;
	}

}


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

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

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

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

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

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

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

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

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

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

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

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

.popupPlayerWrapper a.transcriptLink
{
	right: 45px;
	top: -15px;
	z-index: 25;

	padding: 0;
	width: 20px;
	height: 20px;

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

.popupPlayerWrapper a.transcriptLink:not(:hover, :focus) img
{
	opacity: .5;
}

a.transcriptLink img
{
	max-height: 60%;
	text-align: center;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.popupPlayerSidebar > div h2,
.popupPlayerSidebar > div h2.expandableHeading
{
	padding: 0;
	font-size: 24px;
	margin-left: 0px;
	margin-right: 0px;
	margin: 20px 0 10px;
}

.popupPlayerSidebar > div:not(:first-of-type) h2,
.popupPlayerSidebar > div:not(:first-of-type) h2.expandableHeading
{
	margin-top: 0;
	padding-top: 0;
}

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

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

.popupPlayerWrapper .position
{
	color: #333333;
}

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

	line-height: 1.2;
}

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

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

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

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

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

.videomore
{
	font-size: 0.8rem;
}

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

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

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

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

.xrefMultimediaList ul li .videomore,
.xrefMultimediaList ul li .title,
.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: inline-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 after the first block! */
.photo .triggerPopupPlayer::before,
.photo .triggerPopupPlayer::after
{
	/* don't edit this block */
	content: '';
	display: block;
	position: absolute;
	top: calc(50% - 0.5em);
	z-index: 5;

	/* left position of inner triangle, will need to adjust slightly based on scale */
	left: calc(50% - .35em);

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

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

	/* font-size here is the full width/height of the icon */
	font-size: 70px;

	/* set the relative size of the triangle inside the circle */
	transform: scale(.5);

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

.photo .triggerPopupPlayer::before
{
	/* these ems are set so you can just use font-size:
		a few blocks above to set the size of the icon */
	top: calc(50% - 0.5em);
	left: calc(50% - 0.5em);
	width: 1em;
	height: 1em;
	border: .05em solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	transform: none;
}

.photo .triggerPopupPlayer::after
{
	width: 0;
	height: 0;
	background: none;
	border: solid transparent;
	border-left-color: currentColor;

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

	box-shadow: none;
}

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


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

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

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

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

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

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

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

	.popupPlayerSidebar
	{
		z-index: 10;
	}

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

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

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

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

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

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

/* some added style for our main video listing per mock */

.itemMultimediaList.videoList
{
	margin: 0 0 30px 0;
}

.itemMultimediaList.videoList ul.results_list
{
	position: relative;
	display: grid;
	grid-gap: 34px;
	width: 100%;
}

.itemMultimediaList.videoList ul.results_list > li .title a:not(:hover):not(:focus)
{
	color: var(--maindark);
}

.itemMultimediaList.videoList ul.results_list > li .itemdate
{
	margin-top: 16px;
	color: var(--coral);
	font-size: 1rem;
}

.itemMultimediaList.videoList ul.results_list > li .photo
{
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0 0 16px 0;;
}

.itemMultimediaList.videoList ul.results_list > li .photo a
{
	display: block;
	z-index: 3;
}

.itemMultimediaList.videoList ul.results_list > li .photo img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.itemMultimediaList.videoList ul.results_list > li .photo picture::after
{
	content: '';
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: #000000;
	opacity: .35;*/
	background-image: linear-gradient(to top, rgba(0,0,0,0.50) 30%, transparent);
}

.photo .triggerPopupPlayer::before,
.photo .triggerPopupPlayer::after
{
	top: unset;
	left: 30px;
	bottom: 40px;
}

.photo .triggerPopupPlayer::before
{
	font-size: 63px;
}

.photo .triggerPopupPlayer::after
{
	bottom: 43px;
	left: 40px;
	border-width: 0.4em 0 0.4em 0.7em;
}

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

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

@media (min-width: 1280px)
{
	.itemMultimediaList.videoList ul.results_list
	{
		grid-template-columns: repeat(4, 1fr);
	}
}


/* Podcasts -------------------------------------------------> */

.itemPodcastsList,
.trendingPodcastsList
{
	position: relative;
	width: 100%;
}

.itemPodcastsList ul.results_list,
.trendingPodcastsList ul.results_list
{
	position: relative;
	display: grid;
	grid-gap: 34px;
	width: 100%;
}

.itemPodcastsList ul.results_list > li,
.trendingPodcastsList ul.results_list > li
{
	position: relative;
}

.itemPodcastsList ul.results_list > li .info,
.trendingPodcastsList ul.results_list > li .info
{
	position: relative;
	width: 100%;
}

.itemPodcastsList ul.results_list > li .playercontent,
.trendingPodcastsList ul.results_list > li .playercontent
{
	position: absolute;
	bottom: 0px;
	width: 100%;
	opacity: 0.8;
}

.itemPodcastsList ul.results_list > li .innerinfo,
.trendingPodcastsList ul.results_list > li .innerinfo
{
	position: absolute;
	top: 0px;
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	color: #fff;
}

.itemPodcastsList ul.results_list > li .innerinfo .title a:not(:hover):not(:focus),
.trendingPodcastsList ul.results_list > li .innerinfo .title a:not(:hover):not(:focus)
{
	color: #fff;
}

.itemPodcastsList ul.results_list > li .innerinfo .podcast,
.trendingPodcastsList ul.results_list > li .innerinfo .podcast
{
	font-weight: 700;
}

.itemPodcastsList ul.results_list > li .innerinfo .podcast a:not(:hover):not(:focus),
.trendingPodcastsList ul.results_list > li .innerinfo .podcast a:not(:hover):not(:focus)
{
	color: #fff;
}

.itemPodcastsList ul.results_list > li .playercontent > iframe,
.trendingPodcastsList ul.results_list > li .playercontent > iframe
{
	display: block;
	position: relative;
	width: 100%;
}

.itemPodcastsList ul.results_list > li .image,
.itemPodcastsList ul.results_list > li .photo,
.trendingPodcastsList ul.results_list > li .image,
.trendingPodcastsList ul.results_list > li .photo
{
	position: relative;
	z-index: -1;
	width: 100%;
}

.itemPodcastsList ul.results_list > li .image img,
.itemPodcastsList ul.results_list > li .photo img,
.trendingPodcastsList ul.results_list > li .image img,
.trendingPodcastsList ul.results_list > li .photo img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.itemPodcastsList ul.results_list > li .image::after,
.itemPodcastsList ul.results_list > li .photo::after,
.trendingPodcastsList ul.results_list > li .image::after,
.trendingPodcastsList ul.results_list > li .photo::after
{
	content: '';
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: #000000;
	opacity: .35;*/
	background-image: linear-gradient(to top, rgba(0,0,0,0.50) 30%, transparent);
}

.itemPodcastsList ul.results_list > li .itemdate,
.trendingPodcastsList ul.results_list > li .itemdate
{
	margin-top: 16px;
	color: var(--coral);
	font-size: 1rem;
}

.itemPodcastsList ul.results_list > li .platform,
.trendingPodcastsList ul.results_list > li .platform
{
	font-size: 1rem;
}

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

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

@media (min-width: 1280px)
{
	.itemPodcastsList ul.results_list
	{
		grid-template-columns: repeat(4, 1fr);
	}
}



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

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

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

#cookieBanner > div
{
	position: relative;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#cookieOptions,
#transcriptPopup
{
	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);
}

#transcriptPopup
{
	z-index: 999999999;
}

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

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

#transcriptPopup > div
{
	padding: 0 20px 20px 20px;
	overflow: auto;
	max-height: none;
}

#transcriptPopup > div > div
{
	max-height: max(300px, calc(100vh - 240px));
	overflow: auto;
}

#transcriptPopup .closeButton
{
	position: absolute;
	z-index: 999;
}

#transcriptPopup h2
{
	font-size: 1.3em;
	margin: 0;
	padding: 20px 0;
}

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

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

#cookieOptions .toggleGroup
{
	float: right;
}

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

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

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

	color: white;
}

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

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

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

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

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

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

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

/* second label needs to appear on the right */
.toggleGroup label ~ label
{
	padding: 0 0 0 45%;
	color: #ccc;
	cursor: pointer;
}

/* unchecked label should be the only one clickable */
.toggleGroup :checked + label
{
	pointer-events: none;
}

/* the slider is attached to the last label so it sits above everything else */
.toggleGroup label ~ label:after
{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 45%;
	width: 55%;
	background-color: white;
	background-clip: content-box;
	border-radius: inherit;
	border: 3px dotted transparent;
	box-sizing: border-box;
	transition: all 150ms;
}

/* off state - straight right edge */
.toggleGroup label ~ :checked + label:after
{
	left: 0;
	background-color: #ccc;
}


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

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

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

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

.closeButton::before,
.closeButton::after
{
	content: "";
	position: absolute;
	top: 9px;
	left: 3px;
	width: 14px;
	height: 3px;
	background-color: currentColor;
	transform: rotate(-45deg);
}

.closeButton::after
{
	transform: rotate(45deg);
}

.closeButton:hover,
.closeButton:focus
{
	color: #262626;
}

.acceptButton
{
	position: absolute;
	top: 15px;
	right: 15px;
	padding: 0.3vw 0.5vw;
	background-color: #ddd;
	border: 2px solid #fff;
	border-radius: 3px;
	color: #333333;
	text-transform: uppercase;
	cursor: pointer;
}

.acceptButton:hover,
.acceptButton:focus
{
	background-color: green;
	color: #ffffff;
}

@media (min-width: 768px)
{
	.closeButton,
	.popupShareButton
	{
		top: 15px;
	}
}


/* Email Popup Support -------------------------------------------------> */

#emailPopup
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(51, 51, 51, 0.7);
	transition: opacity .3s;
}

#emailPopup:not(.open)
{
	opacity: 0;
	pointer-events: none;
}

#emailPopup > div
{
	position: relative;
	background: white;
}

#emailPopupContent
{
	width: calc(100vw - 40px);
	max-width: 800px;
	max-height: calc(100vh - 120px);
	overflow: auto;
	padding: 20px;
	background: white;
	border: 12px solid #cecece;
	box-sizing: border-box;
}

#emailDisclaimerButtons
{
	text-align: center;
}

#emailDisclaimerButtons > *
{
	display: inline-block;
	margin: 10px;
	padding: 4px 10px;
	width: auto;
	overflow: visible;
	background: var(--teal);
	border: none;
	color: #fff;
	font: inherit;
	text-transform: inherit;
	text-align: center;
	line-height: inherit;

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

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

	cursor: pointer;
}

#emailPopupClose
{
	position: absolute;
	top: -12px;
	right: -12px;
}


/* SiteMap Object */

table.SITE_MAP
{
	margin-top: 5px;
	border-collapse: collapse;
}

table.SITE_MAP th
{
	padding-top: 5px;
	text-align: right;
}

table.SITE_MAP td
{
	padding-top: 5px;
}

table.SITE_MAP td.h_separator
{
	height: 5px;
	border-bottom: solid 1px #ccc;
}

table.SITE_MAP td.v_separator
{
	padding-left: 15px;
	padding-right: 15px;
	color: #666;
	font-size: 08px;
}

@media (max-width: 767px)
{
	table.SITE_MAP,
	table.SITE_MAP th,
	table.SITE_MAP td,
	table.SITE_MAP tr
	{
		display: block;
		padding: 0;
		text-align: left;
	}

	table.SITE_MAP td:nth-child(n + 4)
	{
		padding-left: 10px;
	}

	table.SITE_MAP td:nth-child(n + 6)
	{
		padding-left: 20px;
	}

	table.SITE_MAP .v_separator
	{
		display: none;
	}
}


/* Search Object Support */

#search form
{
	margin: 0 0 2rem 0;
}

#sp_class_search form div
{
	flex-basis: 100%;
	width: 100%;
}

/* search text input and button */
#sp_class_search .search_text
{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	margin: 1em 0 0;
}

#sp_class_search .search_text input
{
	display: block;
	height: auto;
	margin: 0;
	vertical-align: bottom;
}

#sp_class_search #searchtext
{
	flex-grow: 1;
	flex-basis: 0;
	width: 100%;
	margin-right: 1rem;
}

#sp_class_search p.form-section-label
{
	margin: 1.5rem 0 0.5rem 0;
	padding: 0;
	font-weight: bolder;
}

#search div.form-section
{
	margin-bottom: 0;
}

.search_section_wrapper
{
	display: flex;
}

#sp_class_search .search_section_wrapper
{
	flex-direction: column;
}

#subContent .search_section_wrapper
{
	flex-direction: column;
}

/* checkbox/radio rows */
#sp_class_search .sections > div,
#sp_class_search .search_type > div > div
{
	display: flex;
	align-items: center;
	padding: 0 0 0.8rem .3rem;
}

.search_section_wrapper input[type=radio],
.search_section_wrapper input[type=checkbox]
{
	margin: 0;
	padding: 0;
}

#sp_class_search label
{
	display: flex;
	align-content: center;
	align-items: flex-end;
	padding-top: 1px;
	padding-left: 0.5rem;
	font-size: 1rem;
	line-height: 1;
}

#search .SEARCH
{
	margin: 2.5rem 0 0 0;
}

#search #subContent
{
	margin: .5rem 0 0 0;
	border: none;
}

#search #subContent form > div > div
{
	flex-basis: auto;
}

#search #advSearchLink a
{
	color: #888;
}

#search .search_result_date
{
	color: #888;
}

.searchBioWrapper > div > div
{
	flex-direction: column;
}

@media (min-width: 768px)
{
	#sp_class_search .search_text
	{
		flex-direction: row;
		align-items: stretch;
	}

	#sp_class_search #searchtext
	{
		width: auto;
	}

	#sp_class_search .search_section_wrapper
	{
		flex-direction: row;
	}

	#search div.form-section
	{
		margin-bottom: 0px;
	}

	.searchBioWrapper > div > div
	{
		flex-direction: row;
	}
}

#search div.sections input,
#search div.search_type  input
{
	border: 0;
}

#search a.more
{
	font-weight: bolder;
}

.searchfoundtext
{
	font-weight: bolder;
}

.result-items p
{
	margin-top: 2px;
	margin-bottom: 18px;
	padding-top: 0;
	padding-bottom: 0;
}

.result-items p.link
{
	margin-bottom: 0;
	padding-top: 5px;
	padding-bottom: 0;
}

.section-header h3
{
	margin-top: 2em;
	margin-bottom: .5em;
	padding: 0;
	font-size: 1.3rem;
}

/*#search .view_more a
{
	position: relative;
	padding: 7px 36px 7px 36px;
}*/

#search .searchHeader
{
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #a69e9d;
}

#search #searchTabLinks div
{
	margin: 0;
	padding: 6px 0;
	border-top: 1px solid #e9e9e9;
}

#search #searchTabLinks .form-section-label
{
	color: #000;
}

#search #searchTabLinks,
#search #searchTabLinks a
{
	color: var(--teal);
}

#search #searchTabLinks a span
{
	color: var(--teal);
}

#search #searchTabLinks .form-section-label
{
	margin-top: 27px;
	border: none;
	font-weight: bold;
}

#search #searchResultsFor span
{
	color: #000;
}

#search #searchResultsFor
{
	margin: 0 0 0.5rem 0;
	padding: 0;
	color: #888;
}

#search .searchOptionsWrapper
{
	position: relative;
	width: 400px;
}

#search .searchOptionsWrapper,
#search #searchOptions
{
	display: inline-block;
	font-size: 18px;
}

#search #searchOptions
{
	min-width: 400px;
}

#search select:hover
{
	cursor: pointer;
}

/* bio section search results */
.searchBioWrapper div.results_list > div
{
	display: flex;
}

.searchBioWrapper .photo
{
	order: 2;
	padding: 0 0 9px 0;
	margin: 0;
}

.searchBioWrapper .photo img
{
	width: 220px;
	padding: 0 0 0 32px;
}

.searchBioWrapper .divider
{
	display: none;
	margin: 18px 0;
	border-top: 1px solid #a69e9d;
}

.result-items > div:not(:last-of-type),
.result-items > p.excerpt:not(:last-of-type)
{
	margin: 0 0 32px;
	padding: 0 0 32px;
	border-bottom: 1px solid #a69e9d;
}


/* Example Styles Support */

table#fontReference
{
	width: 100%;
	margin: 0 0 38px 0;
	font-size: 80%;
	line-height: 1;
	/*white-space: nowrap;*/
}

table#fontReference th,
table#fontReference td
{
	padding: 6px 6px 6px 0;
}


/* Map Object Support */

.sp_map
{
	margin: 2em 0 1em 0;
}

.printMap
{
	display: inline-block;
	padding: 4px;
	background: var(--teal);
	color: #fff;
	text-align: center;
}

.printMap:hover,
.printMap:focus
{
	background: #6a747c;
	text-decoration: none;
}

/* buttons to look like links */
button.toggleExpand,
p.expandButton button
{
	position: relative;
	margin: 0 0 1.5em 0;
	padding: 0 0 0 25px !important;
	background: none !important;
	border: none;
	color: var(--darkblue);
	text-align: left;
	cursor: pointer;
	font-weight: 700;
	--min-font-size: 16;
	--max-font-size: 19;
}

button.toggleExpand::before,
p.expandButton button::before
{
	position: absolute;
	left: 0;
	top: calc(50% - 10px);
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--cyan);
	border-right: 2px solid var(--cyan);
	transform: rotate(135deg);
}

button.toggleExpand:hover,
button.toggleExpand:focus,
p.expandButton button:is(:hover,:focus)
{
	/*color: #9f0604;*/
	color: var(--teal);
}

button.toggleExpand.expanded::before
{
	top: calc(50% - 5px);
	transform: rotate(-45deg);
}

/* Newsletter Object Support */

.newsletter-unsubscribe-form blockquote
{
	margin-left: 0;
	margin-right: 0;
}


/* Alignment */

figure
{
	margin: .5em 0;
}

.alignleft,
.align-left,
img[style*='float: left']
{
	float: left;
	margin: .5em 1.5em .5em 0;
}

.alignright,
.align-right,
img[style*='float: right']
{
	float: right;
	margin: .5em 0 .5em 1.5em;
}

.aligncenter,
.align-center,
.alignnone
{
	clear: both;
	display: block;
	margin: .5em auto;
}

figure.image
{
	display: table !important;
	padding: 5px;
	background: transparent;
	border: 1px solid #ccc;
	box-sizing: border-box;
	text-align: center;
}

figure.image figcaption
{
	clear: both;
	display: block !important;
	padding: 5px;
	font-size: 0.8rem;
}

.nowrap
{
	white-space: nowrap;
}

.powerBI
{
	position: relative;
}

.powerBI::after
{
	position: absolute;
	bottom: 11px;
	left: 0;
	content: '';
	width: 160px;
	height: 30px;
	display: block;
	background: #eaeaea;
}

/* END DEFAULT CSS -----------------------------------------------> */
