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

/* Barlow is a google font https://fonts.google.com/specimen/Barlow+Semi+Condensed/about */
/* barlow-semi-condensed-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/barlow-semi-condensed-v14-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-semi-condensed-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/barlow-semi-condensed-v14-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-italic.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-semi-condensed-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/barlow-semi-condensed-v14-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-500.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-semi-condensed-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/barlow-semi-condensed-v14-latin-500italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-500italic.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-semi-condensed-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/barlow-semi-condensed-v14-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-600.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-semi-condensed-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/barlow-semi-condensed-v14-latin-600italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-600italic.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-semi-condensed-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/barlow-semi-condensed-v14-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-semi-condensed-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Semi Condensed';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/barlow-semi-condensed-v14-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../fonts/barlow-semi-condensed-v14-latin-700italic.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}



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

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

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

	color: #000;
	font-family: "Barlow Semi Condensed", sans-serif;
	line-height: 1.6;

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

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


	/* color variables */
	--orange: #FFB600;
	--navy-blue: #25435a;
	--teal: #41748d;
	--gray: #e8e8e8;
	--dark-purple: #5d4777;
}


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

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

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

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

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


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

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

/* Animations */


@keyframes expand-right
{
	0% {
	    width: 0;
	}
	100% {
	    width: 100%;
	}
}

@keyframes expand-background-right
{
	0% {
	    background-size: 0%;
	}
	100% {
	    background-size: 100%;
	}
}


@keyframes fadeInUp
{
	0% {
	    opacity: 0;
	    transform: translate3d(0,50%,0);
	}

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

@keyframes fadeIn
{
	0% {
	    opacity: 0;
	}

	100% {
	    opacity: 1;
	}
}

@keyframes zoomIn
{
	0% {
	    opacity: 0;
	    transform: scale(0);
	}
	50% {
	    opacity: 1;
	}
	100% {
	    opacity: 1;
	    transform: scale(1);
	}
}

@keyframes expand-down
{
	0%
	{
		height: 0;
	}

	100%
	{
		height: 100%;
	}
}

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

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

	/* in mobile or tablet we do not want anything outside the body bounds scrollable */
	overflow-x: clip;
	margin: 0 auto;
	padding: 0 5%;
	background: #fff;
	box-sizing: border-box;
}



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


p
{
	--min-font-size: 17;
	--max-font-size: 21;
	margin-bottom: 16px;
}

p.introText,
.wp-block-contentpilot-introduction
{
	--min-font-size: 20;
	--max-font-size: 32;
	line-height: 1.46;
}

/* 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);
	text-decoration: none;
}

a:hover,
a:focus
{
	/*color: #888888;*/
	text-decoration: underline;
}

/* let's see what I can blow up with this */
iframe
{
	max-width: 100%;
}

/* directly-embedded iframes should be full width */
:is(p,main) > iframe:is([src*="vimeo.com"],[src*="youtube.com"])
{
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16/9;
}

/* search results highlight */
mark
{
	background: #0a80ca;
	color: white;
}

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

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

div.buttonLink,
p.view_more
{
	color: #ffffff;
}

p.view_more
{
	margin: 40px 0;
}

div.buttonLink a,
p.view_more a,
.roundedButton,
.newsListing .view_more a,
.xrefMultimediaList .view_more a,
.wp-block-button a,
#search .view_more a,
#emailSignupForm button
{
	display: inline-block;
	padding: 10px 19px;
	--min-font-size: 11;
	--max-font-size: 15;
	--fluid-end: 990;
	letter-spacing: .7px;
	text-transform: uppercase;
	text-align: center;
	color: #ffffff;
	border-radius: 2em;
	font-weight: 600;
	line-height: 1;
	box-sizing: border-box;
	border: 1px solid transparent;
	transition: all 250ms ease;
	background: var(--orange);
	border: 2px solid var(--orange);
}

div.buttonLink.navy a,
.roundedButton.navy,
#search .view_more a
{
	background: var(--navy-blue);
}

div.buttonLink.blacktext,
.roundedButton.blacktext
{
	text-align: center;
}

div.buttonLink.blacktext a,
.newsListing .view_more a,
.xrefMultimediaList .view_more a,
/*.buttonLink.blacktext,*/
div.buttonLink a,
.roundedButton.blacktext,
.wp-block-button a,
p.view_more a
{
	color: #000000;
	min-width: 190px;
	cursor: pointer;
}

.xrefMultimediaList .outerwrapper
{
	position: relative;
}

.wp-block-button a
{
	min-width: unset;
	border: none;
}

div.buttonLink a:hover,
div.buttonLink a:focus,
.roundedButton:hover,
.roundedButton:focus,
#search .view_more a:hover,
#search .view_more a:focus
{
	color: var(--navy-blue) !important;
	border-color: currentColor;
	background: #ffffff;
	text-decoration: none !important;
}

.wp-block-button a:hover,
.wp-block-button a:focus,
.buttonLink.blacktext:not(.linktext) a:hover,
.roundedButton.blacktext:not(.linktext) a:focus,
p.view_more a:hover,
p.view_more a:focus
{
	color: var(--orange);
	background: #000000;
	text-decoration: none;
	border-color: #000000;
}

.newsListing .view_more a:hover,
.newsListing .view_more a:focus,
.xrefMultimediaList .view_more a:hover,
.xrefMultimediaList .view_more a:focus
{
	color: #ffffff;
	background: var(--navy-blue);
}

.newsListing .view_more,
.xrefMultimediaList .view_more
{
	margin-top: 30px;
	text-align: right;
}

#search .view_more a
{
	border-color: var(--navy);
}

.buttonLink a::after
{
	display: none !important;
}

button.roundedButton:hover,
button.roundedButton:focus
{
	color: var(--orange) !important;
}

@media (min-width: 768px)
{
	div.buttonLink a:hover,
	div.buttonLink a:focus,
	.roundedButton:hover,
	.roundedButton:focus,
	#search .view_more a:hover,
	#search .view_more a:focus
	{
		color: var(--navy-blue) !important;
		border-color: currentColor;
		background: #ffffff;
		text-decoration: none !important;
	}
}
h1, h2, h3, h4, h5, h6
{
	--min-margin-bottom: 0;
	--max-margin-bottom: 0;
	padding: 0;

	line-height: normal;
}

h1
{
	margin-bottom: 10px;
	font-weight: 500;
	--min-font-size: 47;
	--max-font-size: 58;
	letter-spacing: -0.3px;
	line-height: 1.18;
}

#pageTitle
{
	display: inline-block;
	margin: 0;
	font-weight: 600;
	--min-font-size: 29;
	--max-font-size: 58;
	letter-spacing: -0.85px;
}

#pageTitle::after,
#bioTitle::after,
.mediaSeriesList .title::after
{
	content: '';
	display: block;
	max-width: 60%;
	height: 1px;
	max-width: 120px;
	margin: 20px 0;
	background: var(--orange);

	animation-name: expand-right;
    animation-duration: 2s;
    animation-timing-function: ease-out;
    animation-delay: .5s;
    animation-fill-mode: both;
}

h2,
body.careersLanding .stackedFreeForm .title
{
	padding-bottom: 5px;
	--min-margin-bottom: 20;
	--max-margin-bottom: 20;
	--min-font-size: 26;
	/*--max-font-size: 30;*/
	--max-font-size: 32;
	color: var(--teal);
	border-bottom: 1px solid var(--orange);
	line-height: 1.4;
	font-weight: 500;
}

h2.sectTitle,
div.itemSection > h2 /* maybe? */
{
	--min-margin-bottom: 20;
	--max-margin-bottom: 36;
}

#subContent h3
{
	padding: 9px 16px;
	margin-bottom: 40px;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1.15px;
	background: linear-gradient(to right,#ffb600 24%,#fff 100%);

}

#subContent h3 + div
{
	margin-bottom: 40px;
}

.results-criteria-wrapper h2
{
	padding-top: 10px;
	padding-bottom: 0;
	margin-bottom: .8em;
	border: none;
	border-top: 1px solid #bec7ce;
	font-size: 20px;
	color: #000000;
}

h3
{
	margin: 0 0 10px;
	--min-font-size: 17;
	--max-font-size: 21;
	line-height: 1.25;
	font-weight: 500;
}

h4,
body.careersLanding .stackedFreeForm .content p
{
	margin: 0 0 10px;
	color: #000;
	font-weight: 600;
	--min-font-size: 14;
	--max-font-size: 17;
	letter-spacing: 1.15px;
	line-height: 2.19;
}

h5
{
	margin: 0 0 10px;
	--min-font-size: 14;
	--max-font-size: 25;
	line-height: 1.44;
	font-weight: 400;
}

/* Reserved for Print Pilot */
h6
{
	font-weight: 500;
	--min-font-size: 17;
	--max-font-size: 20;
	line-height: 1.2;
}

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

ol
{
	padding-left: 1em;
}

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

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

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

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

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

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

img
{
	border: 0;
}

figure
{
	display: inline-block;
}

figure img
{
	display: block;
}

.wp-block-gallery.has-nested-images figure.wp-block-image
{
    position: relative;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption
{
	background: linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);
	bottom: 0;
	color: #fff;
	font-size: 13px;
	left: 0;
	margin-bottom: 0;
	max-height: 60%;
	overflow: auto;
	padding: 0 8px 8px;
	position: absolute;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
}

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

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

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

@media (max-width: 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,
#banner::before,
body:not(.blog).scrollingUp.scrolled #header::after,
.squareColumns::before,
.sideSearch::before,
ul.subNavList li > a::before,
.slide1::before,
.slide4::before,
.slide6::before,
.infographics::before,
body.blog #header::before,
#footerBottom::before,
#footerTop::after,
#subscribeFooter::before,
#preFooter::before
{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;

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

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

	width: 100vw;
	background: inherit;
}


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

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

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

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

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

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

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

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

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

	table.results_list th
	{
		display: none;
	}
}

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

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

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

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

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

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

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

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

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

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

.itemList .results_criteria li
{
	color: #ffffff;
}

.itemList .results_criteria li a
{
	color: inherit;
}

#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 */
.expandableHeading button,
.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;
}

.expandableHeading button::after
{
	content: '+';
	display: inline-block;
	height: auto;
	margin: 0 0 0 10px;

	font-size: 29px;
	line-height: 1;
	color: inherit;
}

h2.expandableHeading button
{
	position: relative;
	width: 100%;
}

h2.expandableHeading button::after
{
	position: absolute;
	font-weight: 400;
	margin: 0;

	top: .3rem;
	right: 3px;
}

h3.expandableHeading button::after
{
	position: relative;
	top: -4px;
	width: 12px;

	font-weight: 300;
	text-align: center;
	vertical-align: middle;
}

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

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

.expandButton.expanded
{
	display: none;
}

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

.expandableHeading.expanded
{
	margin-bottom: 10px;
}

h3.expandableHeading.subExpander
{
	margin-bottom: 0;
	font-size: 20px;
}

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

.expandableContent + h2
{
	margin-top: 26px;
}

.extraItems
{
	 display: none;

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

@media (min-width: 768px)
{
	.itemList .results_criteria li
	{
		color: #000000;
	}
}


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

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

/* desktop tabs */
@media (min-width: 1025px)
{
	#tabLinks
	{
		margin: 1.5em 0 2em 0;
		border-bottom: 1px solid #003C5B;
	}

	#tabLinks a
	{
		display: inline-block;
		position: relative;
		top: 1px;
		margin-right: 1px;
		padding: .4em 0.5em;
		border: 1px solid #003C5B;
	}

	#tabLinks .current
	{
		border-bottom-color: white;
		color: inherit;
		text-decoration: none;
		cursor: default;
	}

	.sectionTitle
	{
		display: none;
	}

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

@media (min-width: 1301px)
{
	#tabLinks a
	{
		margin-right: 2px;
		padding: .5em 1em;
	}
}


/* 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: relative;
	padding: 20px 0;
	transition: opacity 250ms ease;
}

#logo
{
	/* inline-block to prevent logo from interfering with nav */
	display: inline-block;
	/*display: none;*/
	position: relative;
	/*z-index: 9999;*/
	width: 20%;
	max-width: 108px;
}

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

#logo svg path
{
	fill: var(--teal);
}

#logo svg path.bar
{
	fill: var(--orange);
}

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


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

@media (min-width: 1200px)
{


	body:not(.blog).scrollingDown:not(.smallBanner) #header
	{
		opacity: 0;
	}

	body:not(.blog):not(#index).scrollingUp.scrolled:not(.smallBanner) #header
	{
		position: fixed;
		/*z-index: 2000;*/
		z-index: 9000;
		top: 0;
		left: 5%;
		width: 90%;
		opacity: 1;

		background: #ffffff;
		box-sizing: border-box;
		transition: opacity 500ms ease;

	}

	body:not(.blog).scrollingUp.scrolled #header::after
	{
		box-shadow: 0 7px 6px 0 rgba(0,0,0,.12);
	}
}

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

#banner
{
	position: relative;
	margin-bottom: 35px;
	background: var(--navy-blue);
}

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

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

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

#bannerContent
{
	padding: 35px 0 55px;
	color: #fff;
}

#bannerContent *
{
	color: inherit;
}

body.smallBanner #banner
{
	min-height: 0 !important;
	/*margin-bottom: 80px;*/
	margin-bottom: 40px;
	background: none;
}

body.smallBanner #banner::before
{
	background: linear-gradient(to right,#25435a 22%,#fff 100%);
}

body.smallBanner #pageTitle::after
{
	display: none;
}

body.smallBanner #bannerContent
{
	padding: 10px 0 10px;
}

#bannerContent h2
{
	border: none;
}

.parentTitle
{
	font-size: 1.5rem;
	font-weight: 500;
}

@keyframes stick_banner_to_top
{
	0%
	{
		opacity: 0;
	}

	50%
	{
		opacity: 0;
	}


	100%
	{
		opacity: 1;
	}
}

@media (min-width: 1200px)
{
	body:not(.smallBanner):not(.blog) #banner
	{
		position: sticky;
		display: flex;
		align-items: center;
		width: 100vw;
		left: calc(50% - 50vw);
		margin-left: -5vw;
		min-height: max(245px,
		             min(305px, 245px + (305 - 245) * ((100vw - 1200px) / (1920 - 1200))
		));
		z-index: 8001;
	}

	#bannerImage,
	#bioPhoto
	{
		flex: 0 1 25%;
		min-height: max(245px,
		             min(305px, 245px + (305 - 245) * ((100vw - 1200px) / (1920 - 1200))
		));
	}

	#bannerContent,
	#bioInfo
	{
		flex: 0 0 75%;
		padding-left: 60px;
		box-sizing: border-box;
	}

	body.noBannerImage #bannerContent
	{
		padding-left: 5%;
	}

	#banner #pageTitle
	{
		transition: all 500ms ease;
	}

	body:not(.blog):not(#our-blogs).scrollingDown:not(.smallBanner) #banner
	{
		top: 100px;
		width: 100vw;
		transform: translateY(-100px);
		/*position: fixed;
		top: 0;
		left: 0;
		width: 100vw;*/
		opacity: 0;
		height: 128px;
		padding: 25px 0 0;
		min-height: unset;
		animation: stick_banner_to_top forwards 1000ms;
	}

	body:not(.blog):not(#our-blogs).scrollingDown:not(.smallBanner) #banner #bannerImage
	{
		display: none;
	}

	body:not(.blog):not(#our-blogs).scrollingDown:not(.smallBanner) #banner #pageTitle
	{
		font-size: 32px;
	}

	body:not(.blog):not(#our-blogs).scrollingDown:not(.smallBanner) #banner #pageTitle::after,
	body:not(.blog):not(#our-blogs).scrollingDown:not(.smallBanner) #bannerContent h2
	{
		display: none;
	}

}

#siteTools
{
	position: fixed;
	right: 0;
	top: 20%;
	z-index: 8002;
}

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

#siteTools li
{
	display: flex;
    justify-content: center;
    align-items: center;
    min-width: 50px;
    height: 50px;
    border-top: 1px solid #fff;
    background-color: rgba(233,236,239,.8);
    box-shadow: 0 2px 8px 1px rgba(0,0,0,.2);
    cursor: pointer;
}

#siteTools li:first-child
{
	border-top: 0;
	border-top-left-radius: 20px;
}

#siteTools li:last-of-type
{
    border-bottom-left-radius: 1em;
}

#siteTools a
{
	margin: 0;
}

#siteTools svg
{
	height: 25px;
	overflow: hidden;
	vertical-align: middle;
}


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

#searchJump
{
	display: block;
	position: absolute;
	z-index: 10000;
	top: 30px;
	right: 48px;
	width: 20px;
	line-height: 1;
	cursor: pointer;
}

body.mobileActive #searchJump
{
	display: none;
}

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

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

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


#siteSearch
{
	opacity: 0;
	visibility: hidden;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	background: rgba(37, 67, 90,.90) !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: 5px 36px;
	box-sizing: border-box;
	font-size: 16px !important;
	line-height: 1.4;
}

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

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

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

.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 > *
{
	display: block;
	width: 100%;
	margin: 0;
	padding: 5px 36px;
	box-sizing: border-box;
	font-size: 16px !important;
	line-height: 1.4;
}

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

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

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

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

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

.searchPopup .popupHeader,
#allSearch
{
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0;
	margin-top: 14px;
	background: white;
	color: black;
	font-size: 19px !important;
	text-transform: uppercase;

}

.searchPopup .popupHeader,
.searchPopup .popupHeader a
{
	font-weight: bold;
}

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

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

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

.acBio a
{
	font-weight: bold;
}

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

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

#allSearch
{
	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	width: calc(100% - 36px);
	margin: 0 18px;
	padding: 10px 20px;
	background: #3a3a3a;
	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:first-child
{
	width: 100%;
}

/* all menu links */
#mainNav a
{
	color: #000000;
	text-decoration: none;
}

#mainNav > ul + ul
{
	padding-bottom: 25px;
	width: calc(100% + 50px);
}

#mainNav #footerSocial
{
	padding-bottom: 25px;
}

#mainNav > ul + ul li
{
	display: inline-block;
	font-size: 25px;
}


#mainNav > ul + ul li:hover a,
#mainNav > ul + ul li:focus-within a
{
	border-bottom: 1px solid currentColor;
}


#mainNav > ul:first-child li
{
	display: block;
	font-size: 55px;
}

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

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

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

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


/* Mobile Navigation ------------------------------------------------> */
#mainNav,
#mainNav > ul:first-child li ul
{
	position: fixed;
	display: block;
	visibility: hidden;
	z-index: 9998;
	top: 0;
	right: -100vw;
	left: auto;
	width: 100vw;
	max-width: 865px;
	min-height: 100vh;
	/*padding: 82px 83px 20px;*/
	padding: 15vh 5vw 20px;
	/*border-top: 130px solid transparent;*/
	background: #F99F1E;
	box-sizing: border-box;
	transition: right 0.7s;

	box-sizing: border-box;

	overflow: auto;
	overflow-x: hidden;
}

#mainNav
{
	display: flex;
	flex-direction: column;
	overflow-y: scroll;
	height: 100vh;
}

#mainNav > ul:first-child
{
	flex-grow: 1;
}

#mainNav::before
{
	display: none;
}


#mainNav.target,
#mainNav.target > ul:first-child 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 > ul:first-child li:not(.touchOpen) > ul
{
	visibility: hidden;
}

#mainNav > ul:first-child li ul
{
	box-shadow: none;
}

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

#mainNav > ul:first-child,
#mainNav > ul:first-child li
{
	display: block;
	margin: 0;
	padding: 0;
}

#mainNav a
{
	color: black;
}

#mainNav > ul:first-child li.current > a
{
	font-weight: 600;
}

#mainNav > ul:first-child > li
{
	margin: 0.8rem 0 0px 0px;
}

#mainNav > ul:first-child > 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;
	font-weight: 600;
}

#mainNav > ul:first-child ul > li
{
	font-size: 25px;
}

#mainNav > ul:first-child ul > li
{
	margin-bottom: 15px;
}

#mainNav > ul:first-child ul li.subNavHeader
{
	margin-top: 12px;
	font-size: 55px;
}

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

#mainNav > ul:first-child > li > a:first-child:not(:last-child)::after
{
	content: '';
	position: absolute;
	top: 6px;
	right: 0;
	width: 55px;
	height: 55px;
	line-height: 1;
	background: url('../i/icon-angle.svg') center no-repeat; /* data-uri */
	background-size: 22px 26px;
	filter: brightness(0);

	transition: all 250ms ease;
	transform: rotate(-90deg);
}

#mainNav > ul:first-child > li > a:first-child:not(:last-child)::before
{
	content: '';
	position: absolute;
	top: 6px;
	right: 0;
	width: 55px;
	height: 55px;
	line-height: 1;
	background-size: 22px 26px;
	outline: 1px solid #000000;
	border-radius: 50%;

	transition: all 250ms ease;
}

#mainNav > ul:first-child > li:hover > a::before,
html[data-whatintent="keyboard"] #mainNav > ul > li:focus-within > a::before
{
	background: #000000;
}

#mainNav > ul:first-child > li:hover > a::after,
html[data-whatintent="keyboard"] #mainNav > ul > li:focus-within > a::after
{
	filter: brightness(1) !important;
}

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

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

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

#mainNav #navButton-people 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: 30px;
	right: 0;
	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 */
	right: 5vw;
	top: 5vh;
}

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

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

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

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

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

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

.mobileNavSpring .mobileNavBox :last-child
{
	top: 14px;
	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);
	background: #000000;
}

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


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

#navButton-trending-issues > ul > li:nth-last-child(2),
#navButton-insights > ul > li:nth-last-child(2),
#navButton-industries > ul > li:nth-last-child(2),
#navButton-services > ul > li:nth-last-child(2),
#navButton-about-us > ul > li:nth-last-child(2)
{
	margin-top: 30px;
}

#navButton-trending-issues > ul > li:nth-last-child(2) a,
#navButton-insights > ul > li:nth-last-child(2) a,
#navButton-industries > ul > li:nth-last-child(2) a,
#navButton-services > ul > li:nth-last-child(2) a,
#navButton-about-us > ul > li:nth-last-child(2) a
{
	display: inline-block;
	min-width: 144px;
	padding: 12px;
	font-size: 14px;
	text-transform: uppercase;
	font-weight: 600;
	border: 1px solid #000000;
	border-radius: 28px;
	text-align: center;

	transition: all 250ms ease;
}

#navButton-trending-issues > ul > li:nth-last-child(2) a:hover,
#navButton-industries > ul > li:nth-last-child(2) a:hover,
#navButton-services > ul > li:nth-last-child(2) a:hover,
#navButton-trending-issues > ul > li:nth-last-child(2) a:focus,
#navButton-industries > ul > li:nth-last-child(2) a:focus,
#navButton-services > ul > li:nth-last-child(2) a:focus,
#navButton-about-us > ul > li:nth-last-child(2) a:hover,
#navButton-about-us > ul > li:nth-last-child(2) a:focus,
#navButton-insights > ul > li:nth-last-child(2) a:hover,
#navButton-insights > ul > li:nth-last-child(2) a:focus
{
	color: #F99F1E;
	background: #000000 !important;
}

@media (max-width: 1199px)
{
	#mainNav, #mainNav > ul:first-child li ul
	{
		max-width: 100%;
	}
}

/* mobile stlyles cont. - for  smaller screens */
@media (max-width: 767px)
{

	#mainNav
	{
		border-top: none;
	}

	#mainNav > ul,
	#mainNav > ul:first-child li ul
	{
		width: 100%;
		margin-left: 0px;
	}

	#mainNav,
	#mainNav > ul:first-child li ul
	{
		padding-top: 90px;
		padding-right: 5%;
		padding-left: 5%;
	}

	#mainNav > ul:first-child li > a:first-child:not(:last-child)::after,
	#mainNav > ul:first-child li > a:first-child:not(:last-child)::before
	{
		display: none;
	}

	#mainNav > ul:first-child > li
	{
		font-size: 30px;
	}

	#mainNav #subNavBack a::before
	{
		top: 0px;
		font-size: 3rem;
		line-height: 1.3rem;
	}

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

	#mainNav > ul + ul, #mainNav #footerSocial
	{
		position: static;
	}

	#mainNav > ul:first-child ul > li
	{
		font-size: 24px;
	}

	#mainNav > ul + ul
	{
		padding: 20px 0;
		margin-top: 30px;
		border-top: 1px solid #000;
	}

	#mainNav > ul + ul li
	{
		display: block;
		margin: 0 0 10px;
	}

	#mainNav > ul + ul li ~ li::before
	{
		display: none;
	}

	#mainNav #footerSocial
	{
		padding: 25px 0;
		border-top: 1px solid #000;
	}

	#mainNav #footerSocial ul
	{
		justify-content: start;
	}

	#mainNav #footerSocial ul li:first-child a
	{
		padding-left: 0;
	}

}

@media (min-width: 768px)
{
	button#navToggle
	{
		top: 48px;
	}

	#searchJump
	{
		top: 46px;
		width: 30px;
		right: 75px;
	}

	.mobileNavBox
	{
		width: 28px;
		height: 32px;
	}

	.mobileNavSpring .mobileNavBox span
	{
		top: 0px;
	}

	.mobileNavSpring .mobileNavBox :first-child
	{
		top: 10px;
	}

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


	#mainNav > ul + ul li:not(:last-child)::after
	{
		content: '';
		width: 1px;
		height: 1em;
		vertical-align: bottom;
		background: currentColor;
		display: inline-block;
		margin: 0 16px;
		border-radius: 2px;
	}
}


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

#subNav,
#jumpNavWrapper
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #e9ecef;
	opacity: 0;

	border-bottom-right-radius: 1rem;
	border-bottom-left-radius: 1rem;
	transition: opacity 500ms ease;
}

#subNav h2.expandableHeading,
#jumpNavWrapper h2.expandableHeading
{
	padding: 17px 5vw 17px;
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 600;
	box-sizing: border-box;
	border: none;
}

#subNav h2.expandableHeading button,
#jumpNavWrapper h2.expandableHeading button
{
	display: block;
	width: 100%;
	letter-spacing: 1px;
}

#subNav .expandableHeading button::after,
#jumpNavWrapper h2.expandableHeading button::after,
#mobileMediaContact h3.expandableHeading button::after
{
	position: absolute;
	content: '\203A';
	height: auto;
	width: auto;
	right: 10px;
	/*top: 6px;*/
	top: -6px;
	display: block;
	margin: 0;
	font-weight: 300;
	transform: rotate(90deg);
}

#subNav .expandableHeading.expanded button::after,
#jumpNavWrapper .expandableHeading.expanded button::after
{
	transform: rotate(-90deg);
	right: 20px;
}

body:not(.blog).scrollingDown #subNav,
body:not(.blog).scrollingDown #jumpNavWrapper
{
	z-index: 9000;
	opacity: 1;
}

#jumpNavWrapper + #mainContent
{
	z-index: 8000;
}

ul.subNavList
{
	position: relative;
	border-top: 1px solid #000000;
	padding: 20px 0 40px;
}

ul.subNavList li
{
	position: relative;
	list-style: none;
	padding: 0;
	margin: 0 0 2px;
	line-height: 1.2;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1.15px;
	color: #000000;
}

ul.subNavList li button
{
	position: absolute;
	top: 10px;
	width: 10px;
	height: 10px;
	padding: 0;
	margin-left: 10px;
	background: none;
	border-width: 0;
	border-top-width: 1px;
	border-left-width: 1px;

	transform: rotate(-135deg);
	cursor: pointer;
}

ul.subNavList li button.open
{
	top: 16px;
	transform: rotate(45deg);
}

ul.subNavList ul li
{
	padding: 0 0 0 1em !important;
}

ul.subNavList li > a:hover::before,
ul.subNavList li > a:focus-within::before,
ul.subNavList li.here > a::before
{
	width: 100vw;
	left: 0;
	background-image: linear-gradient(to right,#ffb600 24%,#fff 100%);
	background-repeat: repeat-x;
}

ul.subNavList li li a::before
{
	left: -1em !important;
}

ul.subNavList ul
{
	padding: 0;
	display: none;
}

ul.subNavList li a
{
	position: relative;
	display: inline-block;
	padding: 8px 18px 8px 5vw;
	box-sizing: border-box;
	color: inherit;
}

ul.subNavList li.hereParent ul
{
	display: block;
}


@media (min-width: 990px)
{
	body:not(.blog) #subNav,
	body:not(.blog) #jumpNavWrapper
	{
		display: block;
		position: relative;
		top: auto;
		left: auto;
		background: none;
		opacity: 1 !important;
		z-index: 7000;
	}

	body:not(.blog) #subNav
	{
		z-index: unset !important;
	}

	body:not(.blog) #subNav .subNavList
	{
		/* I keep chasing this.  I commented this in out response to an issue on about-us/ pages having part of the yellow gradient and expander button getting cut off */
		/*overflow: hidden;*/
	}


	#subNav h2.expandableHeading,
	#jumpNavWrapper h2.expandableHeading
	{
		display: none;
	}

	#subNav .expandableContent,
	#jumpNavWrapper .expandableContent
	{
		display: block !important;
		overflow: visible !important;
	}

	ul.subNavList
	{
		position: relative;
		left: -5vw;
		border: none;
	}

	ul.subNavList li > a::before,
	ul.subNavList li > a:hover::before,
	ul.subNavList li > a:focus-within::before,
	ul.subNavList li.here > a::before
	{
		width: 25vw;
	}
}

@media (min-width: 1200px)
{
	body:not(.blog) #jumpNavWrapper
	{
		position: sticky;
		top: 180px;
		left: 0;
		z-index: 1000 !important;
	}
}

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

/* mobile/tablet tabs */
@media (max-width: 1024px)
{
	h2.sectionTitle
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 1px 0 0 0;
		padding: 13px 20px 13px 20px;
		background: #ddd;
		color: #666;
		--min-font-size: 26;
		--max-font-size: 36;
		box-sizing: border-box;
		text-decoration: none;
		cursor: pointer;
	}

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

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

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

	.contentSection
	{
		display: block !important;
	}

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

/* 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: #0a80ca;
	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;
	/*min-height: 350px;*/
	/*min-height: 47vh;*/ /* attempt to prevent footer from not being at the bottom of the page on gargantuan screen sizes */
	margin: 0 auto 3.75rem;
}

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

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

#subContent
{
	order: 2;
	position: relative;
	width: 100%;
	padding: 0;
	margin-top: 0 !important;
	box-sizing: border-box;
}

#subContent .featureList
{
	order: 1;
}

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

#subContent .featureList li
{
	padding: 1em;
	margin-bottom: 35px;
}

#subContent .featureList li:first-child
{
	margin-top: 0;
}

#subContent .featureList li,
#subContent .featureList li > a:first-child
{
	display: block;
	text-align: center;
}

.featureList .title
{
	margin-top: 18px;
}

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

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

	#mainContent
	{
		position: relative;
		z-index: 150;
	}

	body.sideSearchPage #mainContent:not(:only-child)
	{
		float: right;
		width: calc(65% - .5vw);
	}

	#mainContent:not(:only-child)
	{
		float: right;
		width: calc(75% - 1vw);
		/*changed this along with the #subnav below - didn't look right on text pages, specifically about-us/firm-leadership*/
		/*width: calc(calc((100% - (60px*11))/12)*8 + (60px*7));*/
	}

	#subNav,
	#subContent,
	#jumpNavWrapper
	{
		clear: left;
		float: left;
		width: 22.5%;
		/*width: calc(calc((100% - (60px*11))/12)*4 + (60px*3));*/
	}

	/*Not sure what this was doing*/
	/*#subNav
	{
		position: absolute;
		width: calc(22.5% + 5vw);
	}*/

	/*#subContent
	{
		right: -4.5vw;
	}*/

	body.sideSearchPage #subContent
	{
		z-index: 200;
		right: auto;
		width: 32.5%;
	}

	body.sidebarhighlights #subContent
	{
		/*padding-right: 5vw;*/
		right: 0;
	}


	body.subContentRight #subContent
	{
		float: right;
		clear: right;
		box-sizing: content-box;

		/* added this per issue I saw on flex pages */
		transform: translateX(4.5vw);
	}

	body.subContentRight #mainContent:not(:only-child)
	{
		float: left;
	}


	/* Removed this because it doesn't look right on pages with content on the right (see flex pages */
	/*#subContent .featureList,
	#subContent #textServices
	{
		margin-left: 4.5vw;
	}*/

}

@media (min-width: 1200px)
{
	#subContent .featureList
	{
		/*padding-right: 5vw;*/
	}
}

@media (min-width: 1400px)
{

	body.sideSearchPage #mainContent:not(:only-child)
	{
		float: right;
		width: calc(75% - .5vw);
	}

	#mainContent:not(:only-child)
	{
		float: right;
		/*width: calc(75% - 1vw);*/
		width: calc(calc((100% - (60px*11))/12)*9 + (60px*8));
	}

	body.subContentRight #subContent
	{
		width: calc(calc((100% - (60px*11))/12)*3 + (60px*2));
	}


	body.sideSearchPage #subContent
	{
		right: auto;
		width: 22.5%;
	}

	#content
	{
		min-height: 30vh; /* attempt to prevent footer from not being at the bottom of the page on gargantuan screen sizes */
	}


}

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

/* I warned this might have far reaching consequences */
#subContent .itemSection li a
{
	font-weight: 500;
}

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

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

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

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

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

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

/* hide all items for area, industry, and office 'people' */
.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:not(#bio_bar):not(#bio_court):not(#item_event) ul.results_list
{
	margin-bottom: 0em;
}

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

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

.itemSection:not(#matterList)
{
	margin-bottom: 35px;
}

h2.sectTitle
{
	margin-top: 35px;
}

section#Credentials .itemSection
{
	margin-bottom: 0 !important;
}

.itemSection .results_list > li
{
	margin: 20px 0 0 0;
	/*padding-bottom: 10px;*/
}

.bulletItemSection .results_list > li
{
	margin-left: 1.5em;
}



#item_office.itemSection,
#item_office.itemSection ul.results_list
{
	margin-bottom: 0 !important;
}

#item_office.itemSection ul.results_list,
#item_office.itemSection ul.results_list li
{
	list-style: none;
}


@media (min-width: 1200px)
{
	.itemSection:not(#matterList)
	{
		margin-bottom: 55px;
	}

	h2.sectTitle
	{
		margin-top: 55px;
	}
}


/* View More type links */

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

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

.rsvpButton
{
	margin: 10px 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;
	}
}



/* START HERE */

.stackedFreeForm,
.columnedFreeForm
{
	margin-top: 35px;
}

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

.stackedFreeForm li
{
	padding-bottom: 35px;
	margin: 35px 0;
	border-bottom: 2px solid #adb5bd;
}

.stackedFreeForm li:last-of-type
{
	padding-bottom: 0;
	margin-bottom: 0;
	border: none;
}

.stackedFreeForm .title
{
	margin-bottom: 10px;
	--max-font-size: 32;
	line-height: 1.4;
	font-weight: 500;
}

.stackedFreeForm .image
{
	margin-bottom: 20px;
}

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

.linktext
{
	margin-top: 30px;
}

.linktext a,
p.expandButton button,
p.collapseButton button
{
	position: relative;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	color: #000000;
	letter-spacing: .7px;
	text-decoration: none;
}

.linktext a::after
{
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	display: block;
	width: 0;
	height: 1px;
	background: var(--orange);
	transition: width .5s;
}

.linktext a:hover::after,
.linktext a:focus::after
{
	width: 100%;
}

p.expandButton button:hover,
p.expandButton button:focus,
p.collapseButton button:hover,
p.collapseButton button:focus
{
	border-bottom: 1px solid var(--orange);
}

p.expandButton button::after,
p.collapseButton button::after
{
	position: absolute;
	right: -18px;
	top: -8px;
	content: '\203A';
	display: inline-block;
	font-size: 24px;
	font-weight: 400;
	transform: rotate(90deg);
}

p.collapseButton button::after
{
	transform: rotate(270deg);
}

.columnedFreeForm
{
	margin: 55px 0;
}

.columnedFreeForm ul
{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 10px;
	margin-top: 35px;
}

.columnedFreeForm li
{
	position: relative;
	align-items: center;
	min-height: 40vh;
	color: #ffffff;
}

.columnedFreeForm img
{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

.columnedFreeForm .content
{
	position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: auto;
    transform: translate(-50%,-50%);
}

.columnedFreeForm .content
{
	max-width: 85%;
}

.columnedFreeForm .title p,
.columnedFreeForm .hovertitle
{
	margin-bottom: 10px;
	--max-font-size: 32;
	--fluid-end: 920;
	line-height: 1.4;
	font-weight: 500;
}

.columnedFreeForm .hovertitle a
{
	color: inherit;
}

.columnedFreeForm .hovercontent
{
	position: relative;
	z-index: 10;
	display: flex;
	align-items: center;
	height: 100%;
	opacity: 0;
	background: #41748d;
	transition: all .15s ease-in;
}

.columnedFreeForm .hovercontent .aligner
{
	width: 85%;
	padding: 30px 0;
	margin: 0 auto;
	box-sizing: border-box;
}

.columnedFreeForm li:hover .hovercontent,
.columnedFreeForm li:focus-within .hovercontent
{
	opacity: 1;
}

.columnedFreeForm li:hover .content,
.columnedFreeForm li:focus-within .content
{
	opacity: 0;
}

.columnedFreeForm .linktext a
{
	color: #ffffff;
}

.columnedFreeForm .linktext a.sp_pencil
{
	z-index: 20;
}

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

	.stackedFreeForm .image
	{
		flex: 0 2 635px;
	}

	.stackedFreeForm .content
	{
		flex: 0 1 635px;
		padding-left: max(25px,
		             min(50px, 25px + (50 - 25) * ((100vw - 767px) / (1920 - 767))
		));
		padding-right: max(25px,
		             min(50px, 25px + (50 - 25) * ((100vw - 767px) / (1920 - 767))
		));
		box-sizing: border-box;
	}


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



/* Experience list/search */

body.sideSearchPage #banner
{
	margin-bottom: 170px;
}

body.sideSearchPage #subContent
{
	order: 1;
}

body.sideSearchPage #mainContent
{
	order: 2;
}

.sideSearch
{
	position: relative;
	padding: 35px 0 20px;
	margin-bottom: 60px;
	background: var(--gray);
}

.sideSearch form > div > div:first-of-type
{
	position: absolute;
	top: -212px;
	left: 0;
	width: 100%;
}

.sideSearch form > div
{
	display: flex;
	flex-direction: column;
}

.sideSearch h2
{
	border: none;
}

.sideSearch .submit_wrapper a
{
	padding: 10px 19px;
	min-width: unset;
}

.sideSearch + #subNav
{
	width: 100%;
}

.squareColumns
{
	position: relative;
	padding: 35px 0;
	background: #25435a;
}

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

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

body:not(.index) .squareColumns ul.results_list li > a *:not(.playbutton span)
{
	color: #ffffff;
}

#matterList ul li,
.squareColumns .results_criteria + p
{
	color: #ffffff;
}

.squareColumns ul.results_list li .topic,
.slide2 .squareColumns .type
{
	padding: 7px 20px 5px;
	min-height: 36px;
	text-transform: uppercase;
	color: #000000;
	background: var(--background);
	font-weight: 600;
	letter-spacing: 1.15px;
	line-height: 1.25;
	box-sizing: border-box;
	font-size: 17px;

}


/*.squareColumns ul.results_list li.Videos-PodcastsmultimediaItem .topic
{
	position: absolute;
	background: none;
}*/

.squareColumns ul.results_list li > a
{
	display: block;
	color: inherit;
	height: 100%;

}

.squareColumns ul.results_list li a:not(.videoMore)
{
	text-decoration: none !important;
}

.squareColumns ul.results_list li a.sp_pencil
{
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 10;
}

.squareColumns .image
{
	overflow: hidden;
}

.squareColumns img
{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2/1;
}

.landingAnimation .image
{
	position: relative;
	aspect-ratio: 2/1;
	overflow: hidden;
}

.landingAnimation img
{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

/*Kind of a weird quirk in the carousel script.  Some of the slides are getting aligned to the bottom (no idea why), but setting the wrapper to "flex" solves the issue*/
div.cycle-carousel-wrap
{
	display: flex;
}

.squareColumns .title
{
	margin: 20px 0 12px;
	--min-font-size: 17;
	--max-font-size: 22;
	line-height: 1.25;
}

/*.squareColumns */.itemdate
{
	margin-top: 12px;
	--min-font-size: 14;
	--max-font-size: 17;
}

.squareColumns li:is(:hover, :focus-within) .image img
{
	filter: blur(8px);
}

.squareColumns .readtime
{
	position: absolute;
	bottom: 30px;
	left: 0;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 500;
}

.squareColumns .readtime svg
{
	position: relative;
	top: 1px;
	width: 14px;
	height: 14px;
	margin-right: 5px;
	fill: currentColor;
}


.squareColumns:not(.moreRelated) h2
{
	color: #ffffff;
}

.newsListing
{
	/*padding-top: 0;*/
}

#bottomSpotlights
{
	padding-top: 35px;
}

.newsListing .results_list li > a
{
	/* Changed this for video issue in "More like this" section */
	/*position: relative;*/

	display: block;
	box-sizing: border-box;
	padding-bottom: 65px;
	background: var(--navy-blue);
	transition: background 500ms ease;
}

.newsListing .title
{
	--min-font-size: 18;
	line-height: 1.5;
}

.newsListing .results_list li
{
	position: relative;
	border-bottom: 1px solid #ffffff;
	background: var(--navy-blue);
}

.newsListing #filters
{
	display: flex;
	flex-wrap: wrap;
	grid-gap: 8px;
	margin-bottom: 25px;
}

.newsListing button.roundedButton
{
	background: none;
	border-color: currentColor;
	border-width: 1px;
}

.newsListing button.roundedButton.current
{
	border-color: var(--orange);
}

#textEvents
{
	position: relative;
}


@keyframes animate_in
{
	0%
	{
		transform: scale(0);
	}

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

.contentSection#Insights div.buttonLink
{
	position: relative;
	z-index: 10;
}

@media (min-width: 768px)
{
	.newsListing li.animateOut a
	{
		display: block;
		overflow: hidden;
	}

	.newsListing li.animateIn a
	{
		animation: animate_in forwards 250ms;
	}

	.newsListing button.roundedButton
	{
		color: var(--navy-blue);
		background: none;
		border-color: currentColor;
	}

	.newsListing button.roundedButton.current,
	.newsListing button.roundedButton:hover,
	.newsListing button.roundedButton:focus
	{
		background: var(--navy-blue);
		color: #ffffff !important;
		border-color: transparent;
	}

	/*.newsListing button.roundedButton:hover,
	.newsListing button.roundedButton:focus
	{
		border-color: var(--navy-blue);
	}*/

	.newsListing .results_list li > a:is(:hover, :focus)
	{
		background: #1a2f3f;
	}

	.itemSection div.buttonLink a,
	#matterList .buttonLink a
	{
		position: absolute;
		top: 10px;
		right: 0;
		background: none;
		padding: 0;
		min-width: 0;
		border: none !important;
		color: #000000;
	}


	#matterList .buttonLink a
	{
		top: -70px;
	}

	.itemSection div.buttonLink,
	#matterList .buttonLink
	{
		margin: 0;
	}


	#matterList
	{
		padding-bottom: 0;
	}

	.squareColumns.combinedSearch ul.results_list
	{
		display: flex;
		flex-wrap: wrap;
		grid-row-gap: unset;
	}

	.squareColumns.combinedSearch ul.results_list li
	{
		width: calc(50% - 18px);
		margin-bottom: 60px;
	}

	.squareColumns.combinedSearch ul.results_list li.Videos-PodcastsmultimediaItem
	{
		margin-bottom: 60px;
	}
}

@media (max-width: 767px)
{
	.itemSection div.buttonLink
	/*#matterList .buttonLink*/
	{
		margin-bottom: 20px;
	}
}


@media (min-width: 1200px)
{
	#textEvents .results_list
	{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 40px;
		grid-column-gap: 60px;
	}

	#textEvents .results_list li
	{
		position: relative;
		padding: 8px 0;
	}

	#textEvents .results_list li:before
	{
		display: block;
		position: absolute;
		top: 0;
		left: -30px;
		width: 1px;
		height: 100%;
		background-color: #ffb600;
		content: "";
	}
}

/* Experience slideshow */

.landingAnimation
{
	position: relative;
	margin: 30px 0 60px !important;
	padding-bottom: 60px;
}

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

.landingAnimation li
{
	position: relative !important;
	margin: 0 20px 0 0;
	--min-font-size: unset;
	--max-font-size: unset;
	--fluid-start: unset;
	--fluid-end: unset;
}

.landingAnimation .image
{
	width: 100%;
	/*height: 100%;*/
	background: #41748d;
	margin: 0 0 20px;
}

.landingAnimation img
{
	mix-blend-mode: multiply;
}

.landingAnimation .title
{
	--min-font-size: 20;
	--max-font-size: 30;
	--fluid-end: 768;
	color: var(--navy-blue);
	white-space: pre-wrap;
	font-weight: 500;
	line-height: 1.4;
}

.landingAnimation .title a
{
	color: inherit;
}

.landingAnimation #pager
{
	position: absolute;
	bottom: 0;
	display: flex;
	justify-content: center;
	width: 100%;
}

.landingAnimation #pager button
{
	width: 5vw;
	height: 5vw;
	max-width: 20px;
	max-height: 20px;
	padding: 0;
	margin: 0 5px;
	border-radius: 50%;
	border: 1px solid var(--navy-blue);
	background: none;
	cursor: pointer;
}

.landingAnimation #pager button.cycle-pager-active
{
	background: var(--navy-blue);
}

.customContent
{
	margin: 35px 0 60px;
}

.squareColumns ul.results_list li
{
	/*need a diff solution for extra spacing at the bottom of non-linked items*/
	/*padding-bottom: 20px;*/
	color: #ffffff;
}

.squareColumns ul.results_list li .videomore a
{
	min-height: unset;
	padding: 0;
}

.multimediaItem
{
	position: relative;
}

.squareColumns ul.results_list li.multimediaItem > a
{
	padding-bottom: 0;
}

.squareColumns .multimediaItem .titlewrapper
{
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 22px 22px 22px;
	color: #ffffff;
}

.squareColumns .multimediaItem
{
	margin-bottom: 35px;
	border-bottom: none;
}

.squareColumns .multimediaItem .image
{
	height: 100%;
	overflow: hidden;
	background: #41748d;
}

.squareColumns .multimediaItem .videomore
{
	margin-top: 15px;
}

.squareColumns .multimediaItem .image img
{
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
}

.xrefMultimediaList .title .videoMore
{
	display: none;
}

.xrefMultimediaList .pubInfo,
.xrefMultimediaList .abstract
{
	--min-font-size: 18;
	--max-font-size: 21;

	margin: 1em 0;
}

.pubInfo .publication
{
	position: static;
}

.pubInfo div + div::before
{
	content: ' | ';
	margin: 0 .6em;
	display: inline-block;
}

.mediaSeriesList .pubInfo div,
.xrefMultimediaList .pubInfo div
{
	font-size: inherit;
	display: inline;
}

.Videos-PodcastsmultimediaItem .title
{
	padding-left: 0;
}

#careersVideo
{
	margin-bottom: 55px;
}

#careersVideo .xrefMultimediaList
{
	margin-top: 40px;
}

#careersVideo .xrefMultimediaList a
{
	text-decoration: none;
}

#careersVideo .xrefMultimediaList ul
{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 40px;
}

#careersVideo .xrefMultimediaList ul li
{
	margin: 0;
}

#careersVideo .xrefMultimediaList .title
{
   line-height: 1.25;
}

#careersVideo .xrefMultimediaList ul li .abstract
{
	margin-top: 10px;
}

#careersVideo .xrefMultimediaList ul li .abstract p
{
	margin: 10px 0;
	--min-font-size: 14;
	--max-font-size: 20;
	line-height: 1.25;
	color: #000000;
}

#matterList.squareColumns h3
{
	color: #fff;
}

@media (min-width: 768px)
{
	.squareColumns
	{
		background: none;
	}

	.squareColumns:not(.moreRelated) h2
	{
		color: var(--teal);
	}
	
	#matterList.squareColumns h3
	{
		color: #000;
	}

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


	/* for items that don't link */
	.squareColumns ul.results_list li
	{
		color: #000 !important;
		background: var(--gray);
	}

	.squareColumns ul.results_list li > a
	{
		padding-bottom: 60px;
		box-sizing: border-box;
		/*min-height: 200px;*/

		/* Testing something */
		/*position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;*/
	}

	#matterList ul li,
	.squareColumns .results_criteria + p
	{
		color: unset;
	}

	.squareColumns ul.results_list li a > div:not(.image):not(.readtime),
	.squareColumns ul.results_list li > .titlewrapper .title a:first-child,
	.squareColumns ul.results_list li > .topic
	{
		position: relative;
		z-index: 3;
		color: white;
	}

	.squareColumns ul.results_list li > .titlewrapper
	{
		height: calc(100% - 50px);
	}

	.squareColumns ul.results_list li .videomore a
	{
		background: none;
		color: inherit;
		font-size: 16px;
		letter-spacing: 1px;
		text-transform: uppercase;
		/*top: unset;
		bottom: -30px;
		height: auto;*/
	}

	.squareColumns ul.results_list li
	{
		position: relative;
		min-height: 200px;
	}

	.squareColumns .title,
	.squareColumns .itemdate,
	.Videos-PodcastsmultimediaItem .title
	{
		padding: 0 20px;
	}

	.squareColumns .image
	{
		position: absolute;
		/*top: 40px;*/
		top: 0px; /* maybe? */
		left: 0;
		width: 100%;
		height: 100%;
		background: #41748d;
		/*z-index: -1;*/
	}

	.squareColumns img
	{
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
		mix-blend-mode: multiply;
	}

	.squareColumns .readtime
	{
		left: 20px;
		bottom: 20px;
	}

	.landingAnimation
	{
		padding: 0;
		margin-top: 0 !important;
		margin-bottom: 40px !important;
	}

	.landingAnimation li
	{
		max-height: 580px;
	}

	.sideSearch
	{
		padding-right: 50px;
		padding-bottom: 70px;
	}

	.landingAnimation .image
	{
		margin: 0;
	}

	.landingAnimation .title
	{
		position: absolute;
		left: 0;
		bottom: 20px;
		padding: 40px;

		color: #ffffff;
	}

	.landingAnimation #pager
	{
		position: static;
		margin-top: 40px;
	}

	.squareColumns ul.results_list li.multimediaItem > a
	{
		display: flex;
		flex-wrap: wrap;
		align-content: flex-end;
	}

	.squareColumns .multimediaItem
	{
		margin-bottom: 0;
	}

	.squareColumns .multimediaItem .titlewrapper
	{
		position: static;
	}

	.squareColumns .multimediaItem .title
	{
		padding: 0;
	}

	.squareColumns ul.results_list li
	{
		border: none;
	}

	.squareColumns ul.results_list li.multimediaItem
	{
		margin-bottom: 30px;
	}

	#careersVideo .xrefMultimediaList ul
	{
		flex-direction: row;
	}

	#careersVideo .xrefMultimediaList ul li
	{
		flex-basis: calc(50% - 20px);
	}

	#careersVideo .xrefMultimediaList ul li .abstract p
	{
		line-height: 1.5;
	}

	#careersVideo .xrefMultimediaList .title
	{
		position: absolute;
		top: auto;
		left: 22px;
		bottom: 0;
		padding-bottom: 70px;
		padding-right: 22px;
		color: #ffffff;
		line-height: 1.35;
	}

	#careersVideo .xrefMultimediaList .title
	{
		left: unset;
		--min-font-size: 17;
		--max-font-size: 20;
		line-height: 1.25;
	}

}

@media (min-width: 990px)
{

	.sideSearch::before
	{
		left: auto;
		right: 0;
	}

	.sideSearch form > div > div:first-of-type
	{
		width: calc(100vw - 60%);
	}
}

@media (min-width: 1280px)
{
	.squareColumns ul.results_list li
	{
		min-height: 330px;
		box-sizing: border-box;
	}

	.squareColumns ul.results_list
	{
		grid-gap: 60px;
		grid-row-gap: 40px;
	}


	.squareColumns.combinedSearch ul.results_list li
	{
		width: calc(50% - 30px);
	}
}



/* Bio list */


.letterLinks
{
	margin: 10px 0 18px -9px;
	font-weight: 600;
	font-size: 16px;
}

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

.letterLinks a,
.letterLinks span
{
	display: inline-block;
	float: left;
	width: calc(100% / 13);
	text-align: center;
}

.letterLinks a
{
	color: var(--navy-blue);
}

.letterLinks span
{
	opacity: .5;
}

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

@media (min-width: 768px)
{
	.letterLinks
	{
		font-size: 25px;
	}
}

@media (min-width: 1280px)
{
	.letterLinks a,
	.letterLinks span
	{
		width: calc(100% / 26);
	}

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


.bioList
{
	margin: 35px 0 70px;
}

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

#subContent .bioList:not(.nameOnly) .results_list > li
{
	margin-bottom: 40px;
}

.bioList ul.results_criteria
{
	margin: 0 0 20px;
	font-size: 18px;
}

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

}

#subContent .bioList .office li
{
	margin-bottom: 0;
}

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

.bioList .photo
{
	margin: 0 0 20px;
}

.bioList img
{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
}

.bioList .title,
.searchBioWrapper .title
{
	font-size: 20px;
	color: var(--teal);
	font-weight: 500;
	line-height: 1.25;
}

.bioList .title a,
.searchBioWrapper .title a
{
	color: inherit;
}

.bioList .contactinfo,
.searchBioWrapper .text
{
	--max-font-size: 17;
}

.bioList .contactinfo .area a
{
	line-height: 1.25;
	color: inherit;
}

.position
{
	font-size: 18px;
}

.contactinfo::before,
.searchBioWrapper .email::before
{
	display: block;
	content: '';
	max-width: 160px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 2px solid var(--orange);
}

#leadershipList .contactinfo::before
{
	display: none;
}

#leadershipList ul.results_list
{
	margin-bottom: 80px;
}

.bioList .office a,
.bioList .email a
{
	color: inherit;
}

.bioList .email
{
	text-decoration: underline;
}

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

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

	.bioList .photo
	{
		max-width: 240px;
		width: calc(calc((100% - (60px*2))/3)*2 + 60px);
	}

	#mediaContact .bioList ul.results_list
	{
		display: block;
	}

}

@media (min-width: 768px)
{
	.bioList ul.results_list
	{
		grid-row-gap: 75px;
	}
}

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

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


/* Infographics */

.infographics
{
	position: relative;
	padding: 47px 47px;
	margin: 35px 0;
	background: var(--navy-blue);
	color: #ffffff;
	box-sizing: border-box;
}

.infographics ul,
.infographics li
{
	margin: 0;
	list-style: none;
	text-align: center;
}

.infographics ul
{
	display: grid;
	grid-gap: 80px;
}

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

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

.infographics .title
{
	--min-font-size: 17;
	--max-font-size: 20;
}

@media (min-width: 768px)
{

	.infographics
	{
		margin: 55px 0;
	}

	.infographics::before
	{
		display: none;
	}

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


/* insights tabs */

#insightTabs
{
	margin: 80px 0;
}


.mediaContact .bioList .results_list
{
	display: block;
}


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

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

form > div
{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
	grid-gap: min(5vw, 20px);
}

form > div > div
{
	position: relative;
}

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

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

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

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

form > div > div.submit_wrapper :is(button, .roundedButton)
{
	margin: 0 15px 10px 0;
	color: white !important;
	background: var(--navy-blue);
	border-color: transparent;
	opacity: .5;
}

form > div > div.submit_wrapper :is(button, .roundedButton):is(:hover,:focus)
{
	background: #868686;
}

form > div > div.submit_wrapper input[type=submit]:is(:hover,:focus)
{
	background: #000000;
	color: var(--orange) !important;
	border-color: transparent !important;
}

form > div > div.submit_wrapper input[type=submit]
{
	margin: 0 !important;
}

/* 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],
.allServicesForm label[style]
{
	visibility: visible;
}

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

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

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

	/* appease IE11 */
	/*min-height: max(44px,
	             min(57px, 44px + (57 - 44) * ((100vw - 767px) / (1600 - 767))
	));*/

	min-height: 54px;

	margin: 0;
	/*padding: max(9px,
             min(14px, 9px + (14 - 9) * ((100vw - 767px) / (1600 - 767))
)) 65px 0 20px;*/
	padding: 0 65px 0 20px;
	background-color: #fff;
	border: 1px solid #bec7ce;
	border-radius: 28px;
	box-sizing: border-box;
	color: #666766;
	font: inherit;
	font-weight: 500;
	line-height: normal;
	vertical-align: top;
	letter-spacing: 1px;
}

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

.fsComboBox[aria-expanded=true] [role=textbox]
{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.fsComboListBox
{
	border: 1px solid #bec7ce;
	border-radius: 0 0 28px 28px;
	/*margin-top: -10px;*/
	margin-top: 0px;
}

/* hide radio buttons */
.fsComboListBox[aria-multiselectable=false] input
{
	display: none;
}

.fsComboListBox li
{
	font: inherit;
	padding-left: 20px;
	font-weight: 600;
}

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,
.allServicesForm label
{
	/* needed for animation to work on .customSelect */
	display: block !important;

	position: absolute;
	/*padding: max(9px,
             min(14px, 9px + (14 - 9) * ((100vw - 767px) / (1600 - 767))
		)) 65px 0 20px;*/

	padding: 14px 65px 0 20px;
	color: #666766;
	font-weight: 600;
	font-size: 15px;
	text-transform: uppercase;
	color: var(--navy-blue);
}

.search_form form > div > div.hasFocus > label,
.allServicesForm.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: 15px 65px 0 20px;
}

.customSelect::after,
.fsComboBox [role="textbox"]::after
{
	content: '';
	display: block;
	position: absolute;
	right: 22px;
	top: 19px;

	width: 7px;
	height: 7px;
	border: 0 solid #ffffff;
	border-left-width: 1px;
	border-bottom-width: 1px;

	transform: rotate(-45deg);

}

.customSelect::before,
.fsComboBox [role="textbox"]::before
{
	content: '';
	display: block;
	position: absolute;
	right: 0;
	top: -1px;

	width: 53px;
	height: 53px;
	border-radius: 50%;

	background: var(--navy-blue);
}

.fsComboBox [role="textbox"]::before
{
	top: 1px;
}

.fsComboBox [role="textbox"]::after
{
	top: 21px;
	right: 21px;
}

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

	box-sizing: border-box;
}

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

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

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

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

.customSelectInner
{
	display: block !important;
	width: 100% !important;
	overflow: hidden;
	white-space: nowrap;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--navy-blue);
}

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

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

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

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

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

	width: auto;
	height: 34px;
	margin: 0 0 10px 0;
	padding: 1px 14px 1px 14px;
	background: #969696;
	border: 0 solid #d6d6d6;
	box-sizing: border-box;
	color: #fff;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	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.viewAll,
.reviseButton a
{
	display: inline-flex;
	align-items: center;
}

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

input[type=submit],
.blog button[type=submit]
{
	padding: 10px 19px;
	font: inherit;
	height: auto;
	border-radius: 20px;
	background: var(--orange);
	color: var(--navy-blue);
	text-transform: uppercase;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 1px;
	box-sizing: border-box;

	border: 2px solid transparent;
}


/* 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: #0a80ca;
	font-size: 11px;
}

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

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



/* Prefooter -----------------------------> */

#preFooter
{
	position: relative;
	padding: 60px 0;
	background: #533E6C;
	text-align: center;
	color: #ffffff;
}

#preFooter h2
{
	padding: 0;
	border: none;
	color: inherit;
	--max-font-size: 56;
	--max-margin-bottom: 20px;
}

#preFooter > div
{
	max-width: 760px;
	margin: 0 auto;
}

#preFooter p
{
	--max-font-size: 26;
}

#preFooter p.view_more a,
#emailSignupForm button,
#subscribeBox .buttonLink a
{
	padding: 27px 37px;
	color: #ffffff;
	background: none;
	border: 2px solid #FFB601;
	border-radius: 36px;
}

#subscribeBox .buttonLink a:is(:hover, :focus)
{
	color: white !important;
	text-decoration: underline !important;
}

#preFooter  p.view_more a:hover,
#preFooter  p.view_more a:focus,
#emailSignupForm button:hover,
#emailSignupForm button:focus
{
	background: #FFB601;
	color: #000000;
}

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

#footer
{
	position: relative;
	display: flex;
	flex-direction: column;
	margin: auto;
	padding: 35px 0;
	background: #ffb600;
	box-sizing: border-box;
	text-align: center;
}

#footer a
{
	color: inherit;
}

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

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

#footerSocial ul
{
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

#footerSocial a
{
	padding: 0 .8em;
}

#footerSocial li a svg path
{
	fill: black !important;
}

#footerSocial li a:hover svg path,
#footerSocial li a:focus svg path
{
	fill: var(--teal) !important;
}

#footerOffices ul,
#footerOffices ul li
{
	list-style: none;
	position: relative;
	margin: 0;
	padding: 0;
}

#footer h3
{
	margin-bottom: 26px;
	--min-font-size: 47;
	--max-font-size: 55;
	line-height: 1.18;
	letter-spacing: -.3px;
}

#footerLeft
{
	order: 3;
	display: flex;
	flex-direction: column-reverse;
}

#footerLeft p
{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .7px;
}

#footerRight
{
	margin-top: 2.1875rem;
    padding-top: 2.1875rem;
    padding-bottom: 2.1875rem;
    order: 2;
	border-top: 1px solid #000;
}

#footer #footerLinks
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-transform: uppercase;
	margin-bottom: 20px;
}

#footerLinks li
{
	font-weight: 500;
	--min-font-size: 11;
	--max-font-size: 15;
}

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

@media (min-width: 768px)
{
	#footer
	{
		display: block;
		text-align: left;
	}

	#footerSubscribe
	{
		display: flex;
		align-items: center;
		margin: 10px 0 0;
		padding-bottom: 40px;
		border-bottom: 1px solid #000;
	}

	#footerSubscribe h3
	{
		margin: 0 55px 0 0;
	}

	#footer #footerLinks
	{
		margin-bottom: 0;
		justify-content: flex-start;
	}

	#footerLeft
	{
		display: block;
		padding-top: 20px;
	}

	#footerLeft p
	{
		margin-bottom: 8px;
	}

	#footerRight
	{
		padding-top: 0;
		margin-top: 20px;
		border: none;
	}

	#footerSocial ul
	{
		justify-content: flex-start;
		border: none;
	}

	#footerSocial li:first-child a
	{
		padding-left: 0;
	}
}

@media (min-width: 1400px)
{
	#footer
	{
		display: flex;
		flex-direction: row-reverse;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
	}

	#footerSubscribe
	{
		width: 100%;
	}

	#footerRight
	{
		padding-bottom: 0;
		margin-bottom: 20px;
	}
}

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

#backgroundPopup
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
	height: 100%;
	width: 100%;
	background: rgba(0, 0, 0, .35);
	border: 1px solid #cecece;
}

.popupPlayerWrapper
{
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	z-index: 99999999;
	top: 20vh;
	right: 7.5vw;
	width: 85vw;
	height: auto;
	background: #fff;
	border: 10px solid #cecece;
	border-radius: 2px;
	box-sizing: border-box;
}

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

.results_list .inlineMultimediaPlaceholder
{
	position: absolute;
	top: 0;
	left: 0;
	width: 101%;
	height: 101%;
	margin: 0;
	z-index: 100;
}

.results_list .inlinePlayer
{
	background: none;
}

.results_list .inlineMultimediaPlaceholder .mediaPlayer
{
	cursor: pointer;
}

.results_list .inlinePlayer .mediaPlayer:not(.playing)
{
	opacity: 0;
}

.results_list .inlinePlayer .mediaPlayer:not(.playing) iframe
{
	display: none;
}

.results_list .inlineMultimediaPlaceholder .triggerPopupPlayer
{
	display: none;
}

.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;
  	border: 0;
}

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

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

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

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

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

.popupPlayerPlaylist
{
	flex-basis: 100%;
	position: relative;
	z-index: 9;
	bottom: 0;
	left: 0;
	height: 177px;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

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

#item_multimedia_popup
{
	display: none;
}

/* these are removed via JS, but avoid it flashing on load */
.popupPlayerSidebar li > div:not(.title),
.popupPlayerPlaylist .playbutton,
.popupPlayerPlaylist .videoMore,
.popupPlayerPlaylist .pubInfo
{
	display: none;
}

.popupPlayerPlaylist > #video_multimedia_popup
{
	position: relative;
	width: 100%;
	margin: 15px 0 !important;
}

.popupPlayerPlaylist .results ul
{
	gap: 15px;
	flex-wrap: nowrap;
}

.popupPlayerPlaylist .results li
{
	margin: 0;
	flex-basis: 0;
}

.popupPlayerPlaylist .results .image
{
	aspect-ratio: 200/130;
	height: 147px;
	width: auto;

	box-sizing: border-box;
}

.popupPlayerPlaylist .xrefMultimediaList .title
{
	font-size: 16px;
	top: auto;
	bottom: 0;
	padding: 0 18px 18px !important;

	aspect-ratio: unset;
}

.popupPlayerPlaylist .xrefMultimediaList li:not(:hover, :focus) .image
{
	background: #25435a88; /* rgba, navy blue but half transparent */
}

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

.popupPlayerPlaylist ul li
{
	position: relative;
}

a#playlistPrev
{
	display: none;
}

a#playlistNext
{
	display: block;
	position: absolute;
	z-index: 50;
	top: 0;
	width: 25px;
	height: calc(100% - 10px);
	margin: 0;
	text-align: center;

	background: white;
}

a#playlistPrev
{
	left: 0;
}

a#playlistNext
{
	right: 0;
}

a#playlistPrev:hover,
a#playlistPrev:focus,
a#playlistNext:hover,
a#playlistNext:focus
{
	color: black;
}

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

.popupPlayerSidebar
{
	padding: 1em 20px;
}

.popupPlayerSidebar #videoTitle
{
	line-height: normal;

	--min-font-size: 17;
	--max-font-size: 32;
}

.popupPlayerSidebar #videoTitle::after
{
	content: '';
	display: block;

	width: 55px;
	margin: 25px 0;

	border-bottom: 1px solid #FCBA17;
}

.popupPlayerSidebar .publication
{
	position: static;
}

.popupPlayerSidebar .itemSection
{
	margin-bottom: 0 !important;
}

.popupPlayerSidebar h3
{
	margin-top: 1.3em;
}

.popupPlayerSidebar .bioList
{
	margin: 0;
}

.popupPlayerSidebar .results_list li
{
	margin-top: 0.8em;
	line-height: normal;
}

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

.popupPlayerSidebar > div
{
	padding: 0;
	margin: 0 0 1rem 0;
	font-size: 0.8rem;
}

.popupPlayerSidebar > div h2,
.popupPlayerSidebar > div h2.expandableHeading
{
	font-size: 0.9rem;
	margin-left: 0px;
	margin-right: 0px;
	padding: 6px 0 2px 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;
}

/* 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(50% - 20px);
	margin: 20px 0;
}

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

.directEmbed ul li
{
	flex-basis: 100%;
}

.directEmbed .mediaPlayer
{
	/* this is set by the JS for some reason, remove it*/
	aspect-ratio: auto !important;
}

/* in mockup, but I guess it's just an "example"
#itemContent > .xrefMultimediaList.directEmbed:first-child
{
	float: left;
	width: 322px;
	margin: 12px 32px 0 0;
}
*/

#itemContent > .xrefMultimediaList ul
{
	display: block;
}

#mainContent #itemContent > .xrefMultimediaList ul li:last-child
{
	margin: 0;
}

#itemContent > .xrefMultimediaList ul .image,
#itemContent > .xrefMultimediaList ul .title
{
	/*aspect-ratio: 321/199;*/
}

.inlineembed
{
	width: 100%;
	height: 100%;
}

.xrefMultimediaList.embedded ul
{
	display: block;
}

.xrefMultimediaList.embedded ul li
{
	width: 100%;
	max-width: 880px;
}

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

	max-width: 950px;
}

#mainContent .xrefMultimediaList.directEmbed ul li
{
	margin-bottom: 16px;
}

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

.xrefMultimediaList ul li .image
{
	background: var(--navy-blue);
}

.xrefMultimediaList ul li .imagebutton
{
	margin-bottom: 12px;
}

.xrefMultimediaList ul li .imagebutton .embed > p
{
	display: none;
}

.xrefMultimediaList ul li .image img
{
	display: block;
	width: 100%;
	height: auto;
	opacity: .5;
	transition: opacity 300ms;
}

/* undone per client request */
/*.xrefMultimediaList.directEmbed ul li .image img
{
	mix-blend-mode: unset;
}
*/

.xrefMultimediaList .imagebutton
{
	position: relative;
	overflow: hidden;
}

.xrefMultimediaList .playbutton,
.xrefMultimediaList .seriesbutton
{
	height: 0; /* fix for when edit icons add space */
}

.playbutton a,
.seriesbutton a
{
	display: block;
	position: absolute;
	top: calc(100vw / (190/107) - 10% - 55px);
	left: 22px;
	height: 34px;
	padding: 6px 14px 0 14px;
	background: var(--orange);
	border-radius: 17px;
	transition: all 500ms ease;
	text-transform: uppercase;
	font-size: 14px;
	color: #000 !important;
	font-weight: 600;
	letter-spacing: 1px;
	box-sizing: border-box;
	z-index: 50;
}

.playbutton a
{
	padding-right: 30px;
}

.seriesbutton ~ .playbutton a
{
	left: calc(22px + 9.2em);
}

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

.xrefMultimediaList li:hover .image img,
.xrefMultimediaList li:focus-within .image img
{
	opacity: .2;
}

.Videos-PodcastsmultimediaItem li
{
	position: relative;
}

.xrefMultimediaList .title,
.Videos-PodcastsmultimediaItem .title,
#careersVideo .xrefMultimediaList .title
{
	margin-top: 10px;
	--min-font-size: 18;
	--max-font-size: 21;
	line-height: 1.25;
	transition: all 750ms ease;

	/*cursor: pointer;*/ /* Not sure why this is here.  They don't link when clicked.  Can't tell if it's supposed to be this way or if something else is broken.  We shall see */
}

.Videos-PodcastsmultimediaItem .title
{
	padding-left: 0;
}

.xrefMultimediaList .title a,
.Videos-PodcastsmultimediaItem .title a
{
	color: inherit;
}

.Videos-PodcastsmultimediaItem a
{
	padding-bottom: 0 !important;
}

.mediaSeriesList .videoMore,
.xrefMultimediaList .videoMore,
.squareColumns .multimediaItem .videomore
{
	margin-top: 14px;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.xrefMultimediaList .videoMore a
{
	color: inherit;
}

.Videos-PodcastsmultimediaItem
{
	background: none !important;
}

.xrefMultimediaList.embedded .title
{
	padding: 0;
}

.xrefMultimediaList.embedded .title a
{
	padding-bottom: 75px;
	padding-right: 22px;
	/*color: #ffffff;*/
	text-decoration: none;
}

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


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

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

.xrefMultimediaList a.sp_pencil
{
	position: absolute;
	left: 15px;
	top: 15px;
	z-index: 1000;
	height: auto !important;
}

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

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

#mainContent video
{
	max-width: 100%;
}

.xrefMultimediaList .sp_pencil
{
	position: absolute;
	left: 65px;
	z-index: 10;
}

.Videos-PodcastsmultimediaItem .videomore a
{
	margin-top: 14px;
	--min-font-size: 12;
	--max-font-size: 14;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
	color: #000000;
}

.Videos-PodcastsmultimediaItem .playbutton
{
	display: block;
	position: absolute;
	bottom: 22px;
	left: 22px;
	width: 34px;
	height: 34px;
	padding: 6px 0 0 14px;
	background: var(--orange);
	border-radius: 17px;
	transition: all 500ms ease;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	box-sizing: border-box;
	z-index: 50;
}

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

.Videos-PodcastsmultimediaItem .playbutton span
{
	opacity: 0;
	transition: opacity 250ms ease;
}


.Videos-PodcastsmultimediaItem .playbutton span
{
	color: #000000 !important;
}

/*.xrefMultimediaList li:hover .playbutton span,
.xrefMultimediaList li:focus-within .playbutton span,
.multimediaItem a:hover .playbutton span,
.multimediaItem a:focus-within .playbutton span,*/
.Videos-PodcastsmultimediaItem:hover .playbutton span,
.Videos-PodcastsmultimediaItem:focus .playbutton span
{
	opacity: 1;
	transition-delay: 500ms;
}

/*.xrefMultimediaList li:hover .playbutton a,
.xrefMultimediaList li:focus-within .playbutton a,
.multimediaItem a:hover .playbutton,
.multimediaItem a:focus .playbutton,*/
.Videos-PodcastsmultimediaItem:hover .playbutton,
.Videos-PodcastsmultimediaItem:focus .playbutton
{
	width: 100px;
}

/*.xrefMultimediaList li:hover .playbutton::after,
.xrefMultimediaList li:focus-within .playbutton::after,
.multimediaItem a:hover .playbutton::after,
.multimediaItem a:focus .playbutton::after
{
	right: 26px;
}*/

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

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

	.popupPlayerWrapper .mediaPlayer
	{
		width: 68% !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
	{
		max-width: 68%;
	}

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

	.popupPlayerSidebar
	{
		z-index: 10;
	}

	.popupPlayerWrapper .popupPlayerSidebar
	{
		position: absolute;

		z-index: 0;
		top: 60px;
		right: 0;
		width: calc(32% - 74px);
		height: calc(100% - 60px - 163px);
		overflow: hidden;
		overflow-y: auto;

		box-sizing: border-box;
		margin: 0 42px;
		padding-right: 10px;

		border-bottom: 1px solid #FCBA17;
	}

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



	.Videos-PodcastsmultimediaItem .titlewrapper
	{
		/* changed since the client requested to have the topic removed */
		/*height: calc(100% - 36px);*/
		height: 100%;
	}

	/*.Videos-PodcastsmultimediaItem .titlewrapper
	{
		height: calc(100% - 56px);
	}*/

	/*li.Videos-PodcastsmultimediaItem .videomore
	{
		position: absolute;
		bottom: 0;
	}*/

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

	.xrefMultimediaList a,
	.Videos-PodcastsmultimediaItem a
	{
		/* Changed this for video issue in "More like this" section */
		/*position: relative;*/
		display: block;
	}

	.xrefMultimediaList p a
	{
		display: inline;
	}

	.xrefMultimediaList .title,
	.Videos-PodcastsmultimediaItem .title
	{
		position: absolute;
		top: 0;
		/* bottom: 0; /* we have to position these from the TOP, because sometimes there is a LEARN MORE and sometimes not */
		left: 0;
		width: 100%;
		aspect-ratio: 1.77;

		box-sizing: border-box;
		padding: 0 24px 67px 24px;
		/* padding: 0 22px 110px 22px; /* reverted for same reason*/

		display: flex;
		justify-content: flex-end;
		flex-direction: column;

		color: #ffffff;
		line-height: 1.35;
	}

	.xrefMultimediaList .title :is(em,strong,b,i),
	.Videos-PodcastsmultimediaItem .title :is(em,strong,b,i)
	{
		/* keeps flex from making these elements into blocks */
		display: contents;
	}

	.xrefMultimediaList li:hover .title,
	.xrefMultimediaList li:focus-within .title,
	.Videos-PodcastsmultimediaItem:hover .title,
	.Videos-PodcastsmultimediaItem:focus-within .title
	{
		padding-bottom: 82px;
	}

	.Videos-PodcastsmultimediaItem .title
	{
		aspect-ratio: auto;
		height: 100%;
		margin: 0;
	}

	.xrefMultimediaList ul li .imagebutton
	{
		margin-bottom: 0;
	}

	.playbutton a,
	.seriesbutton a
	{
		top: unset;
		bottom: 22px;
	}
}

#video_bio ul.results_list
{
	display: block;
}

/* mini popup player */
.popupPlayerWrapper.miniPlayer
{
	position: fixed;
	top: 100px !important;
	left: auto !important;
	right: 0 !important;

	width: min(80vw, 428px);

	border: 0;
	padding: 0;

	box-shadow: 0 0 11px 0 rgba(0,0,0,0.35);

	border-radius: 7px 7px 0 0;
}

@media (max-width: 767px)
{
	.popupPlayerWrapper.miniPlayer
	{
		top: auto !important;
		bottom: 0 !important;
	}

	.xrefMultimediaList ul li .image img
	{
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}
}

.popupPlayerWrapper.miniPlayer,
.popupPlayerWrapper.miniPlayer iframe
{
	border-radius: 8px 8px 0 0;
	border: 0 !important;
}

.popupPlayerWrapper.miniPlayer iframe
{
	pointer-events: none;
}

.miniPlayer .popupShareButton,
.miniPlayer .popupSubscribe
{
	display: none;
}

.miniPlayer .miniPlayerToggle
{
	right: auto;
	left: 21px;
	top: 22px;

	padding: 18px 18px 0 0;

	background-color: transparent;
	background-image: url(../i/maximize-popup.svgz);
	mix-blend-mode: difference;
}

.miniPlayer.paused .miniPlayerToggle
{
	mix-blend-mode: unset;
}

/*
.miniPlayer .media:hover::after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	background: linear-gradient(rgba(0,0,0,.75) 50%, transparent);

	z-index: 98;
}
*/

.miniPlayer .mediaPlayer
{
	background: #24435B;
}

.miniPlayer .mediaPlayer::after
{
	content: '';
	position: absolute;
	opacity: 0;

	transition: opacity 200ms;

	top: calc(50% - 17px);
	left: calc(50% - 14px);

	width: 28px;
	height: 34px;
	background: linear-gradient(to right,
		white calc(50% - 3px),
		transparent calc(50% - 3px),
		transparent calc(50% + 3px),
		white calc(50% + 3px));

	z-index: 999999;

	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);

}

.miniPlayer .mediaPlayer:hover::after,
.miniPlayer.paused .mediaPlayer::after
{
	opacity: 1;
}

.miniPlayer.paused .mediaPlayer iframe
{
	opacity: .2;
}

.miniPlayer .closeButton
{
	top: 21px;
	right: 21px;
	background: transparent;
	color: white;
}

.miniPlayer .popupPlayerSidebar
{
	position: static;
	width: 100%;

	padding: 16px 22px;
	margin: 0;
	border: 0;
}

.miniPlayer #videoTitle
{
	font-size: 16px;
	font-weight: bold;
}

.miniPlayer .publication
{
	margin-bottom: 0;
}

.miniPlayer #videoTitle::after
{
	content: none;
}

.miniPlayer .popupPlayerPlaylist,
.miniPlayer .popupPlayerSidebar div:not(.publication, #videoTitle)
{
	display: none !important;
}

.popupPlayerWrapper.miniPlayer .mediaPlayer
{
	width: 100% !important;
}

/* animation transitions */
.popupPlayerWrapper.miniPlayer,
.popupPlayerWrapper.miniPlayer .mediaPlayer
{
	transition: right 200ms, width 200ms ease-out;
}

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

@media (min-width: 1280px)
{

	.itemMultimediaList ul.results_list,
	.xrefMultimediaList ul
	{
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		/*justify-content: space-between;*/
	}

	.xrefMultimediaList ul li .image
	{
		position: relative;
		width: 100%;
		aspect-ratio: 1.77;
	}

	.xrefMultimediaList ul li .image > a
	{
		position: absolute;
		height: 100%;
		width: 100%;
	}

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

	.xrefMultimediaList .imagebutton
	{
		position: relative;
		overflow: hidden;
	}
}

#videos-podcasts main h1
{
	color: #25435A;
	margin-bottom: 25px;
}

#videos-podcasts h2
{
	--max-font-size: 54;
}

#mainVideoSearch .search_form
{
	display: flex;
	margin: 1em 0 70px;
}

#mainVideoSearch .search_form > div:first-of-type
{
	flex-grow: 1;
}

#mainVideoSearch .search_form div input
{
	min-height: 44px;
}

#mainVideoSearch .search_form div label
{
	padding-top: 9px;
}

#mainVideoList.xrefMultimediaList .title
{
	--max-font-size: 24;
}

@media (min-width: 768px )
{
	#mainVideoList.xrefMultimediaList .title
	{

	}
}

@media (min-width: 1500px )
{
	#mainVideoList.xrefMultimediaList ul
	{
		gap: 35px;
	}

	#mainVideoList.xrefMultimediaList ul li,
	#mainVideoList.xrefMultimediaList ul::after
	{
		flex-basis: calc(33.33% - 23.34px);
	}

	#mainVideoList.xrefMultimediaList .title
	{
		--max-font-size: 26;
		aspect-ratio: 1.6;
	}

	#mainVideoList.xrefMultimediaList ul li .image
	{
		aspect-ratio: 1.6;
	}

	#mainVideoList .pubInfo,
	#mainVideoList .abstract,
	#mainVideoList .videoMore
	{
		margin-left: 8%;
		margin-right: 8%;
	}
}

.mediaSeriesList .video
{
	flex-basis: 320px;
	flex-shrink: 0;
	margin-right: 2em;
}

.mediaSeriesList > ul.results_list,
.mediaSeriesList > .results_list > li
{
	padding: 0;
	margin: 0;
}

.mediaSeriesList > .results_list > li
{
	display: flex;

	clear: both;
	border-bottom: 1px solid #D2D2D2;
	padding: 45px 0;
}

@media (max-width: 767px)
{
	.mediaSeriesList > .results_list > li
	{
		display: block;
	}

	.xrefMultimediaList ul li .image
	{
		max-width: 677px;
	}

	.mediaSeriesList .video
	{
		margin-right: 0;
	}
}

.mediaSeriesList .videoMore
{
	margin: 1em 0;
}

.mediaSeriesList .videoMore a
{
	color: inherit;
}

.mediaSeriesList .xrefMultimediaList .title,
.mediaSeriesList .xrefMultimediaList .videoMore
{
	display: none;
}

#mainContent .mediaSeriesList .video ul li
{
	margin: 0;
}

.mediaSeriesList .video ul::after
{
	content: none;
}

.mediaSeriesList .title
{
	font-size: 1.6em;
	line-height: 1.3;
}

.mediaSeriesList .title a
{
	color: inherit;
}

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

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

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

#cookieBanner > div
{
	position: relative;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#cookieOptions div + div,
#cookieOptions h2 ~ h2
{
	padding-top: 1em;
}

#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,
a.popupShareButton,
.miniPlayerToggle
{
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
	padding: 20px 20px 0 0;
	background: white;
	border: none;
	font-size: 0;
	cursor: pointer;

	z-index: 99;
}

.closeButton
{
	position: absolute;
	top: 32px;
	right: 28px;
}

@media (max-width: 767px)
{
	.closeButton
	{
		right: 0;
		top: 0;
	}
}

.closeButton::before,
.closeButton::after
{
	content: "";
	position: absolute;
	top: 9px;
	left: 0px;
	width: 20px;
	height: 1px;
	background-color: currentColor;
	transform: rotate(-45deg);
}

.closeButton::after
{
	transform: rotate(45deg);
}

.closeButton:hover,
.closeButton:focus
{
	color: #262626;

	background: white;
}

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

/* Video buttons -------------------------------------------------> */

a.popupShareButton,
.miniPlayerToggle
{
	right: 40px;
	bottom: 75px;
	z-index: 9999;

	width: 34px;
	height: 24px;
	overflow: hidden;

	width: 0;
	height: 0;

	padding: 24px 34px 0 0;

	background: url(../i/minify-popup.svgz) 0 0 / contain no-repeat;
}

a.popupShareButton
{
	width: 0;
	height: 0;

	right: 90px;
	padding-right: 28px;

	background-image: url('../i/icon-popup-share.svgz');
}

button.popupSubscribe
{
	/* button reset */
	border: none;
	margin: 0;
	padding: 0;
	width: auto;
	overflow: visible;
	background: transparent;
	color: inherit;
	font: inherit;
	text-transform: inherit;
	text-align: inherit;
	line-height: inherit;

	/* Corrects font smoothing for webkit */
	-webkit-font-smoothing: inherit;
	/* Corrects inability to style clickable `input` types in iOS */
	-webkit-appearance: none;
	/* end button reset */

	text-transform: uppercase;
	font-size: 18px;
	color: var(--teal);
	cursor: pointer;

	position: absolute;
	left: calc(68% + 32px);
	bottom: 75px;
}

button.popupSubscribe:hover,
button.popupSubscribe:focus
{
	text-decoration: underlin;
}

@media (max-width: 1250px)
{
	button.popupSubscribe
	{
		left: auto;
		right: 40px;
		bottom: 35px;
	}
}

.popupShareButton:is(:hover, :focus),
.miniPlayerToggle:is(:hover, :focus)
{
	opacity: 0.7;
}

.miniPlayer .miniPlayerToggle:is(:hover, :focus)
{
	opacity: 1;
	background-color: black;
	mix-blend-mode: unset;
	outline: 3px solid black;
}

@media (max-width: 767px)
{
	.popupPlayerSidebar > div:not(#videoTitle),
	#video_multimedia_popup,
	.popupPlayerPlaylist
	{
		display: none !important;
	}

	.popupPlayerSidebar #videoTitle::after
	{
		content: none;
	}

	.popupPlayerSidebar
	{
		padding-bottom: 60px;
	}

	button.popupSubscribe
	{
		left: 20px;
		right: auto;
		bottom: 20px;
	}

	a.popupShareButton, .miniPlayerToggle
	{
		bottom: 23px;
	}
}

/* Email Popup Support -------------------------------------------------> */

#emailPopup,
#subscribePopup
{
	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;
}

#subscribePopup
{
	z-index: 999999991;
}

#subscribePopup h2
{
	font-size: 1.5em;
}

#emailPopup:not(.open),
#subscribePopup:not(.open)
{
	opacity: 0;
	pointer-events: none;
}

#emailPopup > div,
#subscribePopup > div
{
	position: relative;
	background: white;
}

#emailPopupContent,
#subscribePopupContent
{
	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: #0a80ca;
	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;
}

#subscribePopup ul
{
	columns: 200px;
	margin: 1.3em 0;
}

#subscribePopup ul li
{
	margin-top: 0;
	line-height: 1;
}

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

.featureList
{
	margin: 50px 0 85px;
}

.featureList ul,
.featureList li,
.featureList li > a:first-child
{
	list-style: none;
	margin: 0;
	text-align: center;
}

.featureList ul
{
	display: grid;
	grid-gap: 34px;
}

.featureList li
{
	padding: 1em 2em 1em 1em;
	border: 1px solid #adb5bd;
	box-sizing: border-box;
}

.featureList .image
{
	/*display: block;*/
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: 85px;
	margin: 0 auto;
}

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

.featureList .title
{
	--min-margin-top: 17;
	--max-margin-top: 20;
	--min-font-size: 23;
	--max-font-size: 27;
	font-weight: 500;
	line-height: 1.11;
}

#subContent .featureList
{
	margin-top: 35px;
}

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

	.featureList li,
	.featureList li > a:first-child
	{
		display: flex;
		align-items: center;
		text-align: left;
	}


	#subContent .featureList
	{
		margin-top: 10px;
	}

	#mainContent .featureList .title
	{
		margin-top: 0;
		margin-left: 27px;
	}
}


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

#search main .search_form [type=submit]
{
	margin-top: .5rem;
}

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

	#search main .search_form [type=submit]
	{
		margin-top: inherit;
	}

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

#search #searchTabLinks a span
{
	color: #0a80ca;
}

#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;
	min-height: 50px;
	border: 1px solid #a69e9d;
	border-radius: 28px;
}

#search .searchOptionsWrapper,
#search #searchOptions
{
	display: inline-block;
	font-size: 18px;
}

#search #searchOptions
{
	position: absolute;
	min-width: 400px;
}

#search .customSelect
{
	font-size: 18px;
}

#search .customSelect,
#search select
{
	background: inherit;
	border: 0 !important;
}

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


/* 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: #0a80ca;
	color: #fff;
	text-align: center;
}

.printMap:hover,
.printMap:focus
{
	background: #6a747c;
	text-decoration: none;
}

/* buttons to look like links */
button.toggleExpand
{
	margin: 0 0 1.5em 0;
	padding: 0 !important;
	background: none !important;
	border: none;
	color: #0a80ca;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

button.toggleExpand:hover,
button.toggleExpand:focus
{
	color: #9f0604;
}


/* Newsletter Object Support */

.newsletter-unsubscribe-form blockquote
{
	margin-left: 0;
	margin-right: 0;
}


/* Alignment */

figure
{
	margin: .5em 0;
}

.alignleft,
.align-left,
img[style*='float: left']
{
	float: left;
	margin: .5em 1.5em .5em 0;
}

.alignright,
.align-right,
img[style*='float: right']
{
	float: right;
	margin: .5em 0 .5em 1.5em;
}

.aligncenter,
.align-center,
.alignnone
{
	clear: both;
	display: block;
	margin: .5em auto;
}

figure.image
{
	display: table !important;
	padding: 5px;
	background: transparent;
	border: 1px solid #ccc;
	box-sizing: border-box;
	text-align: center;
}

figure.image figcaption
{
	clear: both;
	display: block !important;
	padding: 5px;
	font-size: 0.8rem;
}

.nowrap
{
	white-space: nowrap;
}



/* ====== Dumping ground for styles from their old site ====== */

.has-text-align-center
{
	text-align: center;
}

.has-small-font-size
{
	font-size: 13px !important;
}

.wp-block-group
{
    margin-bottom: 2.1875rem;
}

.wp-block-group
{
    box-sizing: border-box;
}

.wp-block-columns.wp-container-10, .wp-block-columns.wp-container-15, .wp-block-columns.wp-container-20, .wp-block-columns.wp-container-25, .wp-block-columns.wp-container-30
{
    flex-wrap: nowrap;
}

.wp-block-columns.is-style-no-margin
{
    margin: 0;
}

body .is-layout-flex
{
    display: flex;
}

.wp-block-columns
{
    display: flex;
    margin-bottom: 1.75em;
    box-sizing: border-box;
    flex-wrap: wrap!important;
    align-items: normal!important;
}

:where(.wp-block-columns.is-layout-flex)
{
    gap: 36px;
}

.wp-block-columns.is-style-no-margin .wp-block-column
{
    margin: 0;
    flex-basis: 100% !important;
}

.wp-block-column
{
    flex-grow: 1;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
}

.wp-block-epstein-becker-green-person
{
    width: 100%;
    margin-bottom: 35px;
}

.person, .wp-block-epstein-becker-green-person, .post-type-archive-poa_person .entry, .search .entry, .widget.people, .widget.media-contact
{
    display: flex;
    flex-direction: column;
    text-align: left;
    align-items: flex-start;
}

.person .entry-header, .wp-block-epstein-becker-green-person .entry-header, .post-type-archive-poa_person .entry .entry-header, .search .entry .entry-header, .widget.people .entry-header, .widget.media-contact .entry-header
{
    width: 100%;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section
{
    display: block;
}

.person .entry-image, .wp-block-epstein-becker-green-person .entry-image, .post-type-archive-poa_person .entry .entry-image, .search .entry .entry-image, .widget.people .entry-image, .widget.media-contact .entry-image
{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #e9ecef;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.person .entry-image-link:after, .wp-block-epstein-becker-green-person .entry-image-link:after, .post-type-archive-poa_person .entry .entry-image-link:after, .search .entry .entry-image-link:after, .widget.people .entry-image-link:after, .widget.media-contact .entry-image-link:after
{
    display: block;
    padding-top: 100%;
    content: "";
}

.person .entry-image-link, .wp-block-epstein-becker-green-person .entry-image-link, .post-type-archive-poa_person .entry .entry-image-link, .search .entry .entry-image-link, .widget.people .entry-image-link, .widget.media-contact .entry-image-link
{
    display: flex;
    justify-content: flex-start;
    position: relative;
}

.person .entry-title, .wp-block-epstein-becker-green-person .entry-title, .post-type-archive-poa_person .entry .entry-title, .search .entry .entry-title, .widget.people .entry-title, .widget.media-contact .entry-title
{
    margin-bottom: 0;
    padding: 0;
    border-bottom: 0;
    color: initial;
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
}

.entry-title-link
{
	font-size: 20px;
	font-weight: 600;
}

.wp-block-group img
{
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

.person .entry-content, .wp-block-epstein-becker-green-person .entry-content, .post-type-archive-poa_person .entry .entry-content, .search .entry .entry-content, .widget.people .entry-content, .widget.media-contact .entry-content
{
    display: block;
    width: 100%;
    margin-top: 1.25rem;
}

@media (min-width: 768px)
{
	.person .entry-image-link, .wp-block-epstein-becker-green-person .entry-image-link, .post-type-archive-poa_person .entry .entry-image-link, .search .entry .entry-image-link, .widget.people .entry-image-link, .widget.media-contact .entry-image-link
	{
    	width: calc(calc((100% - (60px*2))/3)*2 + 60px);
    }
}

@media (min-width: 782px)
{
	.wp-block-columns
	{
	    flex-wrap: nowrap!important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column
	{
	    flex-basis: 0;
	    flex-grow: 1;
	}
}

/* I'm not wading through the video player mess that has been created above */
@media (max-width: 767px)
{
	.Videos-PodcastsmultimediaItem
	{
		padding-bottom: 30px;
	}

	.Videos-PodcastsmultimediaItem .titlewrapper
	{
		position: relative;
	}

	.Videos-PodcastsmultimediaItem .playbutton
	{
		display: block;
		position: absolute;
		top: -80px;
		left: 22px;
		width: 34px;
		height: 34px;
		padding: 6px 0 0 14px;
		background: var(--orange);
		border-radius: 17px;
		transition: all 500ms ease;
		text-transform: uppercase;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 1px;
		box-sizing: border-box;
		z-index: 50;
	}

	/* this is to prevent the "Learn more" from being covered up by inlineMultimediaPlaceholder and becoming unclickable */
	.results_list .inlineMultimediaPlaceholder
	{
		height: calc(100% - 60px);
	}

	.squareColumns:not(#bottomSpotlights) ul.results_list li .videomore a
	{
		color: #ffffff;
	}

}

#blogBackLinks
{
	display: block;
	margin-bottom: 20px;
	font-size: 22px;
	font-weight: 500;
}

#blogBackLinks::before
{
	position: relative;
	top: -3px;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-right: 14px;
	border-top: 2px solid var(--orange);
	border-right: 2px solid var(--orange);
	transform: rotate(45deg);
}


/* END DEFAULT CSS -----------------------------------------------> */
