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

/*

Sofia Pro (license at ../fonts/sofiapro/license.txt)

Available weights:

100 Extra light
200 Ultra light
300 Light
400 (normal) Regular
500 Medium
600 Semibold
700 (bold) Bold
900 Black

*/

@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 100;
  src: url(../fonts/sofiapro/SofiaPro-ExtraLight.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-ExtraLight.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 100;
  src: url(../fonts/sofiapro/SofiaPro-ExtraLightitalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-ExtraLightitalic.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 200;
  src: url(../fonts/sofiapro/SofiaPro-UltraLight.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-UltraLight.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 200;
  src: url(../fonts/sofiapro/SofiaPro-UltraLightitalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-UltraLightitalic.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 300;
  src: url(../fonts/sofiapro/SofiaPro-Light.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Light.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 300;
  src: url(../fonts/sofiapro/SofiaPro-Lightitalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Lightitalic.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/sofiapro/SofiaPro-Regular.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Regular.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 400;
  src: url(../fonts/sofiapro/SofiaPro-Regularitalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Regularitalic.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/sofiapro/SofiaPro-Medium.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Medium.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 500;
  src: url(../fonts/sofiapro/SofiaPro-Mediumitalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Mediumitalic.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 600;
  src: url(../fonts/sofiapro/SofiaPro-SemiBold.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-SemiBold.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 600;
  src: url(../fonts/sofiapro/SofiaPro-SemiBolditalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-SemiBolditalic.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 700;
  src: url(../fonts/sofiapro/SofiaPro-Bold.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Bold.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 700;
  src: url(../fonts/sofiapro/SofiaPro-Bolditalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Bolditalic.woff) format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: normal;
  font-weight: 900;
  src: url(../fonts/sofiapro/SofiaPro-Black.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Black.woff) format('woff');
}

@font-face {
  font-display: swap;
  font-family: 'sofia-pro';
  font-style: italic;
  font-weight: 900;
  src: url(../fonts/sofiapro/SofiaPro-Blackitalic.woff2) format('woff2'),
	url(../fonts/sofiapro/SofiaPro-Blackitalic.woff) format('woff');
}

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

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

	font: normal 10px/1.375 sofia-pro, Arial, sans-serif;
	color: #404040;
}

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

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

body
{
	position: relative;

	min-width: 320px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px 0;
	background: #fff;
	box-sizing: border-box;
	font-size: 1.6rem;
}

@media (min-width: 1024px)
{
	html
	{
		font: normal 10px/1.4 sofia-pro, Arial, sans-serif;
	}

	body
	{
		font-size: 1.8rem;
	}
}

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

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

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

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


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

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

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

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

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

sup, sub
{
	line-height: 0;
}

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

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

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

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

main p a:not(:only-child),
main ul:not([class]):not([id]) li a,
main ol:not([class]):not([id]) li a
{
	background: linear-gradient(to top, transparent 2px, rgba(102,102,102, .3) 2px) bottom repeat-x;
	background-size: 100% 3px;
}

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

h1, h2, h3, h4, h5, h6, #area_intro, #bio_intro, #bannerTitle
{
	margin: 0 0 1rem;
	padding: 0;
	color: #414042;
	font-weight: 600;
	line-height: 1;
}

h1
{
	letter-spacing: -2px;
}

h1, #bannerTitle
{
	font-size: calc(32px + (72 - 32) * ((100vw - 320px) / (1400 - 320)));
}

@media screen and (min-width: 1400px)
{
	h1, #bannerTitle
	{
		font-size: 72px;
	}
}

h2,
#area_intro,
#bio_intro
{
	position: relative;
	padding-bottom: 25px;
	font-size: 36px;
	color: #491840;
}

/* fluid type - https://codepen.io/lowbatteries/full/qBEyXEP */

#area_intro, #bio_intro
{
	font-size: calc(18px + (36 - 18) * ((100vw - 320px) / (1400 - 320)));
}

@media screen and (min-width: 1400px)
{
	#area_intro, #bio_intro
	{
		font-size: 36px;
	}
}

@media screen and (max-width: 1000px)
{
	#area_intro, #bio_intro
	{
		line-height: 1.3;
	}
}


h2
{
	letter-spacing: -0.5px;
	clear: both; /* this might end up being too broad, needed on bios */
	margin-top: 30px;
}

#area_intro::after,
#bio_intro::after,
h2:not(.standard)::after,
#careerNumbers .title::after,
#careersFooter .results_list > div > div[class^=bucket] strong::after,
#homeSpot li:nth-child(-n + 1) .title::after,
#insightsSpot1 .title::after,
#insightsBlogList ul.results_list > li .title::after
{
	content: '';
	display: block;
	width: 24px;
	height: 6px;
	background: #ed1a3b;
	position: absolute;
	left: 0;
	/*left: calc(50% - 12px);*/
	bottom: 3px;
}

h2[style*=center]::after,
.bioSpotlight h2::after,
#careerNumbers h2::after,
#careerNumbers .title::after,
#careersFooter .results_list > div > div[class^=bucket] strong::after
{
	left: calc(50% - 12px);
}

h3
{
	font-size: 28px;
	margin-top: 30px;
}

h4,
#webinarList h2
{
	font-size: 24px;
}

h5
{
	font-size: 18px;
	color: #491840;
}

#sectionTitle
{
	font-weight: 900;
}

#sectionTitle,
p.kicker
{
	margin: 0;
	font-size: 14px;
	line-height: 16px;
	text-transform: uppercase;
}

p.kicker
{
	margin: 0 0 10px;
	font-weight: 700;
}

p.kicker + *
{
	margin-top: 0;
}

p.wysButton
{
	margin: 35px 0 55px;
}

#subContent p.wysButton
{
	margin: 1em 0;
}

p.introText
{
	font-weight: 100;
	font-size: 21px;
}

.textBucketCenter
{
	position: relative;
	width: 100%;
	max-width: 750px;
	padding: 55px 0;
	margin: 0 auto;
}

.textBucketCenter.fullBucket
{
	max-width: none;
}

.textBucketCenter.fullBucket td img
{
	max-width: 100%;
	height: auto;
}

.textBucketCenter:first-child
{
	padding-top: 20px;
}

#content figure.image img
{
	max-width: 100%;
	height: auto;
}

/*.textBucketCenter h2
{
	position: relative;
	padding-bottom: 22px;
}

.textBucketCenter h2::after
{
	content: '';
	display: block;
	width: 24px;
	height: 6px;
	background: #ed1a3b;
	position: absolute;
	left: calc(50% - 13px);
	bottom: 3px;
}
*/
/* Reserved for Print Pilot */
h6
{
	font-weight: bolder;
	font-size: inherit;
}

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

ol
{
	padding-left: 1em;
}

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

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 nested lists need the left margin from 'li' above */
ol > ol,
ul > ul
{
	margin-left: 1.5em;
}

li > p
{
	margin: 0;
	padding: 0;
}

img
{
	border: 0;
}

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

.jumpnavtitle
{
	position: absolute;
	top: 0;
}

@media (min-width: 1024px)
{
	h1, #bannerTitle
	{
		font-size: 72px;
		line-height: 0.97;
	}

	h2,
	#area_intro,
	#bio_intro
	{
		font-size: 36px;
		color: #491840;
	}

	h3
	{
		font-size: 36px;
	}

	h4,
	#webinarList h2
	{
		font-size: 24px;
	}

	h5
	{
		font-size: 18px;
		color: #491840;
	}

	.textBucketCenter
	{
		padding: 75px 0;
	}
}


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

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

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

#header::before,
#footer::before,
#homeAnimation::before,
#homeNewsHeader::before,
#banner::before,
.blockList::before,
#blogCatNav::before,
#relatedPosts::before,
.blog #upperContent::before,
#blogFooter::before,
#purpleContent::before,
#jumpNav::after,
#subNav::after,
.bioSpotlight::before,
#careerNumbers::before,
#insightsBlog::before,
#signupWrapper::before,
#insightsUpperNews::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;
}

/*
#header::before
{
	background: rgba(255,255,255,.975);
}
*/

body.scrolled #header::before
{
	box-shadow: 0px 0px 4px rgba(0,0,0,0.25);
}

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

#banner,
#mainContent,
#subContent,
.bioList > ul > li,
#footerSocial,
#homeNewsHeader,
#homeAnimation .title
{
	transition: all 0.3s;
}


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

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

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

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

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

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

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

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

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

	table.results_list th
	{
		display: none;
	}
}

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

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

#resultPageLinks
{
	margin: 20px 0 105px;
	text-align: right;

	font-size: 16px;
}

#resultPageLinks span,
#resultPageLinks a
{
	margin: 0;
	padding: 0 5px;
}

#resultPageLinks span:not(.ellip)
{
	padding: 0 1px;
	margin: 0 4px;
	color: #ed1a3b;
	border-bottom: 2px solid currentColor;
}

#resultPageLinks a:not(.singleJump)
{
	color: #404040;
}

#resultPageLinks form
{
	display: inline-block;
	margin: 0 0 0 4px;
	padding: 0 0 0 11px;

	border-left: 1px solid #a7a9ac;
}

#resultPageLinks input
{
	width: 26px;
	margin: 0;
	padding: 0 2px;
	text-align: center;
	min-height: 21px;
	line-height: 21px;


	-webkit-appearance: none;
	-moz-appearance: textfield;
	appearance: none;
}

#resultPageLinks input::-webkit-outer-spin-button,
#resultPageLinks input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

#resultPageLinks input[type=number] {
	-moz-appearance:textfield; /* Firefox */
	appearance: textfield;
}

.expandableHeading
{
	position: relative;
	cursor: pointer;
	font-weight: 400;
}

/* buttons to look like links */
.expandableHeading button
{
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;

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

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

.expandableHeading button::after
{
	content: '+';
	display: inline-block;
	vertical-align: middle;
	color: black;
	font-weight: 300;
	font-size: 16px;

	width: 1.1em;
	height: 1.1em;
	line-height: 14px;

	border: 2px solid currentColor;
	text-align: center;
	border-radius: 50%;
	margin: 0 0 3px 10px;
}

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

/* wysiwyg seems to be inserting these */
.endexpandableHeading br:only-child
{
	display: none;
}

div.expandableContent
{
	display: none;
}

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


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

/*
	how these content jumps should work on desktop:

	1. Initially completely hidden (display: none)
	2. On keyboard input, displayed but transparent (so they can be focused by tabbing)
	3. On focus, they are made fully visible
*/

.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),
html:not([data-whatintent="keyboard"]) .contentJump
{
	color: transparent !important;
	background: transparent !important;
	z-index: -1;
}


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

#header
{
	height: 50px;
	background: #fff;
}

#logo
{
	width: 71px;
	height: auto;
	padding: 10px 0 0 0;
}

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

#topLinks
{
	float: right;
}

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

#topLinks li
{
	float: left;
	margin: 0 0 0 10px;
}

#topLinks a
{
	margin: 0 3px;
	color: #a5a5a5;
	font-size: 10px;
	text-transform: uppercase;
}

#topLinks a:hover,
#topLinks a:focus
{
	color: #589ec0;
	text-decoration: none;
}

@media (min-width: 768px)
{
	/*body:not(#index)*/
	body
	{
		padding-top: 80px;
	}

	#header
	{
		position: fixed;
		top: 0;

		width: 100%;
		min-width: 300px;
		max-width: 1400px;
		padding: 10px 0 0 20px;
		left: 0;
		z-index: 200;

		height: 80px;
		box-sizing: border-box;

		/*border-bottom: .5px solid #d5d7d7;*/
	}

	body.scrolled #header
	{
		background: white;
		/*box-shadow: 0px 0px 4px rgba(0,0,0,0.25);*/
	}

	#logo
	{
		width: 123px;
	}
}

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

@media (min-width: 1440px)
{
	body
	{
		padding-left: 0;
		padding-right: 0;
	}
}

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

#searchJump
{
	position: absolute;
	top: 7px;
	right: 70px;
	z-index: 999;

	background: url(../i/icon-search-black.svgz) top no-repeat;
	background-size: 18px 18px;
	padding-top: 22px;
	color: #414042;
	font-size: 12px;
	line-height: 1;

	font-weight: 800;

	text-transform: uppercase;
	text-decoration: none;
}

#searchJump.navHasTarget
{
	color: white;
	background-image: url(../i/icon-search-white.svgz);
}

#navToggle:hover .mobileNavLabel::after,
#navToggle:hover .mobileNavLabel:focus::after,
#searchJump:hover::after,
#searchJump:focus::after
{
	content: '';
	position: absolute;

	bottom: -5px;
	right: 0;
	left: 0;

	height: 3px;
	background: currentColor;
}

#header #navToggle .mobileNavLabel::after
{
	bottom: -1px;
}

#popupForm::before,
#siteSearch
{
	position: fixed;
	top: 50px;
	left: 0;
	right: 0;
	z-index: 9999;
	background: rgba(73,24,64,.95) !important;

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

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

/* body.newInsights #popupForm::before
{
	top: 80px;
} */

body.newInsights #popupForm
{
	position: fixed;
	top: 75px;
	left: 0;
	right: 0;
	bottom: 0;

	flex-direction: column;
	justify-content: center;
	align-items: center;

	z-index: 99999999999999999;
}

body.newInsights #popupForm > div.search_form .closeButton
{
	position: absolute;
	top: -30px;
	right: 0px;
}


body.newInsights .search_form
{
	width: 90vw;
	max-width: 744px;
	margin: 0 auto;
}

.searchIconButton
{
	position: absolute;
	top: 0;
	right: 0;
}

.active + #popupForm::before,
#siteSearch:target,
#siteSearch.target
{
	opacity: 1;
	height: 100vh;

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

#siteSearch > div
{
	position: relative;
	margin: auto;

	width: 70vw;
	min-width: 290px;
	max-width: 744px;
	margin-top: 40vh;

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

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

#searchClose
{
	position: absolute;
	top: -30px;
	right: 0;
}

#searchPopup
{
	display: block;

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

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

	max-height: calc(60vh - 143px);

	top: calc(40vh + 123px);
	left: calc(50% - 50vw + 15vw);

	text-align: left;

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

	color: #404040;
}

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

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

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

.searchPopup > :not(:last-child)
{
	border-bottom: 1px solid #E6E7E8
}

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

.searchPopup .link
{
	font-weight: bold;
	margin-bottom: 10px;
}

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

@media (min-width: 768px)
{
	/*
	body#index #searchJump
	{
		color: #fff;
		background-image: url('../i/icon-search-white.svgz'); /* data-uri *\/
	}
	*/

	body.scrolled #searchJump:not(.navHasTarget),
	body#index.scrolled #searchJump:not(.navHasTarget)
	{
		color: #414042;
		background-image: url('../i/icon-search-black.svgz'); /* data-uri */
	}

	#siteSearch,
	#siteSearch
	{
		top: 80px;
	}
}

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

.searchPopup
{
	display: block;

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

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

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

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

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

	text-align: left;

	color: #404040 !important;
}

.searchPopup a
{
	text-shadow: none;
	background: none;
}

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

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

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

.searchPopup > :not(:last-child)
{
	border-bottom: 1px solid #E6E7E8
}

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

.searchPopup .link
{
	margin-bottom: 10px;
}

.searchPopup .selected
{
	background: #E6E7E8;
	position: relative;
}
.searchPopup .selected::after
{
	content: '»';
	color: #999;

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

	box-shadow: 0 0 1px black;

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

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

	top: 0;
	background: #e71435;
	color: white;

	font-size: 12px;
	padding: 3px 20px 5px;
}

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

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

/* search popup results: bio */
.withPhoto .results_list > div
{
	display: flex;
	align-items: center;
}

.withPhoto a
{
	font-weight: bold;
}

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

.withPhoto .photo img
{
	max-width: 70px;
	max-height: 50px;

	display: block;
}

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

	bottom: 0;
	background: #e71435;
}

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

/* Banner --------------------------------------------------------> */
#banner
{
	position: relative;
	width: 100%;

	pointer-events: none;
}

#banner > *
{
	pointer-events: auto;
}

#banner.light
{
	background: linear-gradient(#491840, #491840);
}

#banner > *
{
	z-index: 1;
}

#banner h1,
#bannerTitle
{
	color: #491840;
}

#banner.light h1,
#banner.light #bannerTitle
{
	color: white;
}

#banner.small
{
	padding: 36px 0 52px 0;
	background: linear-gradient(to right, #eae7df, #eae7df);
}

#banner.small.light
{
	background: #491840;
}

#banner.full,
#banner.large
{
	display: flex;
	flex-direction: column;
	justify-content: center;

	z-index: 2;
}

#inlineBanner h1::after,
#banner.largeArea h1::after,
#banner.small h1::after
{
	content: '';
	display: block;
	height: 5px;
	width: 24px;
	margin: 16px 0;
	background: #e71435;
}

.blog #banner h1::after
{
	content: none;
}

.small #breadCrumb + #sectionTitle,
.small #breadCrumb + h1
{
	padding-top: 57px;
}

#sectionTitle a
{
	color: #4a494b;
}

#bannerImage
{
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;

	background-size: cover;
	background-repeat: none;
}

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

#banner.full #bannerContent,
#banner.large #bannerContent
{
	font-size: 18px;
	text-align: center;
	width: 700px;
	max-width: calc(100vw - 40px);
	margin: 5px auto 0;

	position: relative;
}

@media (max-width: 450px)
{
	#banner.full #bannerContent,
	#banner.large #bannerContent
	{
		font-size: 14px;
		margin: 0;
	}
}

#banner.largeArea #bannerContent
{
	text-align: left;
	margin-left: 0;
	font-size: 18px;
}

@media (max-width: 1000px)
{
	#banner.largeArea #bannerContent p
	{
		max-width: 33%;
		font-size: inherit !important;
		line-height: 1.3;
	}
}

@media (max-width: 600px)
{
	#banner.largeArea #bannerContent p
	{
		display: none;
	}
}

#inlineBanner h1
{
	position: relative;
	margin: 104px 0 20px 0;

	font-size: 44px;

	color: #491840;
}

@media (max-width: 920px)
{
	#inlineBanner h1
	{
		font-size: 32px;
	}

	.blog #inlineBanner h1
	{
		margin-top: 30px;
	}
}

#inlineBanner.articleBanner h1
{
	margin-top: 36px;
}

#inlineBanner.articleBanner
{
	border-bottom: 1px solid #e6e7e8;
	padding: 0 0 30px 0;
	margin: 0 0 50px 0;
}

#inlineBanner.articleBanner h1::before,
#inlineBanner.articleBanner h1::after
{
	content: none;
}

.dateType
{
	position: relative;
	font-size: 16px;

	line-height: 1;
}

.dateType span
{
	display: inline-block;
	margin-right: 22px;
}

.dateType span:not(:empty) + span:not(:empty)::before
{
	content: '';

	display: inline-block;
	width: 2px;
	height: 19px;
	background: #d3d4d6;

	vertical-align: top;
	position: absolute;
	margin: 0 0 0 -13px;
}

.dateType::after
{
	content: '';
	display: block;
	height: 5px;
	width: 24px;
	margin: 13px 0;
	background: #e71435;
}



/* Breadcrumb Navigation ------------------------------------------------> */

#breadCrumb,
#breadCrumb li
{
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;

	font-size: 14px;
	line-height: 16px;
}

#breadCrumb li p
{
	display: inline;
	margin: 0;
}

#breadCrumb
{
	flex-wrap: wrap;
	padding: 4px 0 0 18px;
}

#breadCrumb li:first-child
{
	position: relative;
	margin: -4px 0 0 -18px;
	flex-basis: 20px;
}

/* if the breadcrumb is too wide for the page, truncate it with ellipsis */
#breadCrumb li:nth-child(n + 4).here
{
	display: inline-block;
	max-width: calc(100vw - 50px);
	height: 2em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;

	flex-grow: 0;
}

#breadCrumb li + li::before
{
	content: '/';
	margin: 0 6px 0 4px;
	color: #a7a9ac;
}

#breadCrumb li + li + li::before
{
	margin-left: 6px;
}

.lightCrumb #breadCrumb,
.lightCrumb #breadCrumb li::before
{
	color: white;
}

#banner:not(.small) #breadCrumb
{
	position: absolute;
	top: 39px;
}

@media (max-width: 800px)
{
	#banner:not(.small) #breadCrumb
	{
		top: 15px;
		font-size: 14px;
	}

	#banner.small #breadCrumb
	{
		top: -15px;
		position: relative;
		font-size: 12px;
	}
}

@media (max-width: 600px)
{
	#breadCrumb li
	{
		font-size: 13px;
	}

	/* if we're way in depth on our breadcrumb, just don't show the current page title */
	#breadCrumb li:nth-child(n + 3).here
	{
		display: none;
	}
}

@media (max-width: 800px)
{
	#banner:not(.small) #breadCrumb
	{
		top: 15px;
	}
}

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

#mainNav,
#desktopNav
{
	position: fixed;
	color: #ecf0f1;
	font-weight: 400;
}

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

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

#mainNav > div > ul li
{
	border-bottom: 1px solid #603658;
}

#mainNav > div > ul li > a
{
	padding: 8px 20px 14px;
	/*font-size: 1.8rem;*/
}

#mainNav > div > ul li:last-child
{
	border-bottom: 1px solid #603658;
}

#mainNav > div > ul:first-child
{
	margin: 0 0 10px;
	font-size: 3.6rem;
}

@media (min-height: 1000px)
{
	#mainNav > div > ul:first-child
	{
		margin: 0 0 35px;
	}
}

#mainNav > div > ul:first-child > li
{
	margin: 0 0 10px;
	border: 0;
}

#mainNav > div > ul:first-child > li > a
{
	line-height: 3.6rem;
}

#mainNav > div > ul:first-child > li ul a
{
	font-size: 2.4rem;
	line-height: 2.8rem;
}


/* all menu links */
#mainNav a
{
	color: #ffffff;
	text-decoration: none;
	font-weight: 700;
}

#mainNav li > a
{
	display: block;
	padding: 5px 12px 15px;
	position: relative;
}

#mainNav li:hover > a
{
	/* make sure to repeat these styles in the block below */
	background: #e71435;
	color: white;
	text-decoration: none;
}

/* styles above, repeated, because some browsers don't understand focus-within */
html[data-whatintent="keyboard"] #mainNav li:focus-within > a
{
	background: #e71435;
	color: white;
	text-decoration: none;
}

/* main nav tab current page highlight */
#mainNav .current > a:not(:hover):not(:focus)
{
	background: #e71435;
	color: inherit;
}

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

#mainNav ul ul,
#desktopNav ul ul
{
	display: none;
	position: absolute;
}

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

#mainNav,
#mainNav li ul
{
	position: fixed;
	display: block;
	z-index: 300;
	top: 0;
	right: -1000px !important;
	left: auto;
	min-width: 30vw;
	width: 100vw;
	max-width: 709px;

	box-sizing: border-box;

	height: 100%;
	max-height: 960px;
}

#mainNav
{
	visibility: hidden;
}

#mainNav #navWrapper,
#mainNav ul ul
{
	padding: 60px 0 10px !important;
	height: 100%;
	box-sizing: border-box;

	overflow-y: scroll;
	overflow-x: hidden;

	background: #491840;
	/*z-index: 0;*/

	 -ms-overflow-style: none;
}

#mainNav::-webkit-scrollbar
{
	display: none;
}

#mainNav.target::before
{
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	background: rgba(0,0,0,.8);
}

@media (min-height: 600px)
{
	#navWrapper::after
	{
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		background: url('../i/w-red.svgz') right no-repeat;
		background-size: contain;
		height: 60px;
		width: 100%;
		z-index: 999;
	}
}

@media (min-height: 800px)
{
	#navWrapper::after
	{
		height: 80px;
	}
}

#mainNav,
#mainNav li ul
{
	transition: right 0.25s;
}

#mainNav #navSocial
{
	position: relative;
	z-index: 1000;
	padding: 0 20px;
	margin: 50px 0 0 0;
}

#mainNav #navSocial a
{
	line-height: 0px;
}

#mainNav #navSocial ul
{
	display: flex;
}

#mainNav #navSocial ul #subscribe
{
	display: none;
}

#mainNav #navSocial li
{
	margin: 0 11px 0 0;
}

#mainNav #navSocial a
{
	padding: 0;
	background: #e71435;
}

#mainNav #navSocial li
{
	width: 25px;
}

#mainNav #navSocial li img
{
	width: 100%;
	height: auto;
}

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

#mainNav #subNavBack a
{
	position: absolute;
	top: 25px;
	font-weight: normal;

	font-size: 18px;
	background: none !important;
}

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

/* arrow */
#mainNav #subNavBack a::before
{
	content: '';
	position: absolute;
	top: 17px;
	left: -8px;

	width: .5em;
	height: .5em;
	border: solid #e71435;
	border-width: 0 0 2px 2px;
	transform: rotate(45deg);
}

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


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

#mainNav li > a:first-child:not(:last-child)::after
{
	content: '';
	position: absolute;
	top: calc(50% - 6px);
	right: 20px;

	width: 9px;
	height: 9px;
	border: solid currentColor;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}

#practiceExpand,
.areaExpand
{
	/* 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;
	appearance: none;
	/* end button reset */
}

.view_more a,
p.wysButton a,
#footerSocial ul li#subscribe a,
#mainNav #megaSubscribe a,
#textHighlight .linktext a,
#diversitySpot .linktext a,
.blockList .formFooter a:last-child,
.bioSpotlight .readmore a,
#bioCarousel .readmore a,
#careersSpot .readmore a,
input[type=submit],
button.standardButton,
button.toggleExpand.buttonToggle,
.bucket1linktext a,
.bucket2linktext a,
.bucket3linktext a,
#careerSections .readmore a,
#practiceExpand,
.areaExpand
{
	position: relative;

	color: white;
	font-size: 1.8rem;
	line-height: 1.8rem;
	min-height: 48px;

	cursor: pointer;

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

	margin: 15px 0 0 0;
	text-align: center;
	box-sizing: border-box;
	border: none;

	background: #e71435 url(../i/right-caret.svgz) calc(100% - 30px) 50% no-repeat;
	padding: 15px 45px 15px 29px;
}

.view_more a:hover,
.view_more a:focus,
p.wysButton a:hover,
p.wysButton a:focus,
#footerSocial ul li#subscribe a:hover,
#footerSocial ul li#subscribe a:focus,
#mainNav #megaSubscribe a:hover,
#mainNav #megaSubscribe a:focus,
#textHighlight .linktext a:hover,
#textHighlight .linktext a:focus,
#diversitySpot .linktext a:hover,
#diversitySpot .linktext a:focus,
.blockList .formFooter a:last-child:hover,
.blockList .formFooter a:last-child:focus,
.bioSpotlight .readmore a:hover,
.bioSpotlight .readmore a:focus,
#bioCarousel .readmore a:hover,
#bioCarousel .readmore a:focus,
#careersSpot .readmore a:hover,
#careersSpot .readmore a:focus,
input[type=submit]:hover,
input[type=submit]:focus,
button.standardButton:is(:hover,:focus),
button.toggleExpand.buttonToggle:hover,
button.toggleExpand.buttonToggle:focus,
.bucket1linktext a:hover,
.bucket1linktext a:focus,
.bucket2linktext a:hover,
.bucket2linktext a:focus,
.bucket3linktext a:hover,
.bucket3linktext a:focus,
#careerSections .readmore a:hover,
#careerSections .readmore a:focus,
#mainNav #navSocial a:hover,
#mainNav #navSocial a:focus,
#practiceExpand:hover,
#practiceExpand:focus,
.areaExpand:hover,
.areaExpand:focus
{
	background-color: #ae001b;
	text-decoration: none;
}

#mainNav #megaSubscribe
{
	margin: 30px 0 20px 0;
}

#mainNav #megaSubscribe a
{
	height: 48px;
	/*margin: 30px 0 20px 12px;*/
	margin: 0 0 0 12px;

}

#mainNav #megaSubscribe a:after
{
	display: none;
}

/* Mobile Nav 'Hamburger' Button */

button#navToggle
{
	position: absolute;
	z-index: 305;
	top: 9px;
	right: 14px;
}

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

.mobileNav.isActive .mobileNavInner,
.mobileNav.isActive .mobileNavInner::after,
.mobileNav.isActive .mobileNavInner::before
{
	background-color: white;
}

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

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

.mobileNavInner,
.mobileNavInner::after,
.mobileNavInner::before
{
	position: absolute;
	width: 100%;
	height: 4px;
	background-color: #414042;
	border-radius: 4px;
	transition-timing-function: ease;
	transition-duration: .15s;
	transition-property: transform;
}

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

.mobileNavInner::before
{
	top: -10px;
}

.mobileNavInner::after
{
	bottom: -10px;
}


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

.mobileNavLabel
{
	display: block;

	line-height: 1;
	font-size: 12px;
	font-weight: 800;
	-webkit-font-smoothing: antialiased;
	text-transform: uppercase;
	text-decoration: none;

	height: 15px;
	overflow: hidden;;
}

.isActive .mobileNavLabel
{
	color: white;
}

.isActive .mobileNavLabel::before
{
	display: block;
	padding-bottom: 5px;

	content: 'Close';
}


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

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

.mobileNavSpring .mobileNavInner::before
{
	top: 7px;
	transition: top .1s cubic-bezier(.33333, .66667, .66667, 1) .2s, transform .13s cubic-bezier(.55, .055, .675, .19);
}

.mobileNavSpring .mobileNavInner::after
{
	top: 14px;
	transition: top .2s cubic-bezier(.33333, .66667, .66667, 1) .2s, transform .13s cubic-bezier(.55, .055, .675, .19);
}

.mobileNavSpring.isActive .mobileNavInner
{
	transition-delay: .22s;
	background-color: transparent !important;
}

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

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


/* SPIN - optional mobile nav button style */
/* change #navToggle class to .mobileNavSpin in Page/Local */

.mobileNavSpin .mobileNavInner
{
	transition-timing-function: cubic-bezier(.55, .055, .675, .19);
	transition-duration: .22s;
}

.mobileNavSpin .mobileNavInner::before
{
	transition: top .1s ease-in .25s, opacity .1s ease-in;
}

.mobileNavSpin .mobileNavInner::after
{
	transition: bottom .1s ease-in .25s, transform .22s cubic-bezier(.55, .055, .675, .19);
}

.mobileNavSpin.isActive .mobileNavInner
{
	transition-delay: .12s;
	transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transform: rotate(225deg);
}

.mobileNavSpin.isActive .mobileNavInner::before
{
	top: 0;
	transition: top .1s ease-out, opacity .1s ease-out .12s;
	opacity: 0;
}

.mobileNavSpin.isActive .mobileNavInner::after
{
	bottom: 0;
	transition: bottom .1s ease-out, transform .22s cubic-bezier(.215, .61, .355, 1) .12s;
	transform: rotate(-90deg);
}

#mainNav > div > ul .subNavHeader
{
	margin: 0 0 25px;
	border-color: #8d758a;
}

#mainNav > div > ul .subNavHeader a
{
	font-size: 36px !important;
}

/*#mainNav > div > ul .subNavHeader + li
{
	border-top-color: #8d758a;
}*/

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

	/*
	body#index .mobileNav
	{
		color: #fff;
	}

	body#index .mobileNavInner,
	body#index .mobileNavInner::after,
	body#index .mobileNavInner::before
	{
		background-color: #fff;
	}
	*/

	body.scrolled .mobileNav,
	body#index.scrolled .mobileNav
	{
		color: #414042;
	}

	body.scrolled .mobileNavInner,
	body.scrolled .mobileNavInner::after,
	body.scrolled .mobileNavInner::before,
	body#index.scrolled .mobileNav:not(.isActive) .mobileNavInner,
	body#index.scrolled .mobileNav:not(.isActive) .mobileNavInner::after,
	body#index.scrolled .mobileNav:not(.isActive) .mobileNavInner::before
	{
		background-color: #414042;
	}

	#searchJump
	{
		top: 26px;
	}

	#mainNav > #navWrapper,
	#mainNav ul ul
	{
		padding: 100px 228px 110px 92px !important;
	}

	#navWrapper::before
	{
		display: none;
	}

	#mainNav > div > ul .subNavHeader a:first-child,
	#mainNav > div > ul:first-child > li > a
	{
		font-size: 4.8rem;
		line-height: 4.8rem;
	}

	#mainNav > div > ul .subNavHeader a
	{
		font-size: 4.8rem !important;
		font-size: 4.8rem !important;
	}

	#desktopNav
	{
		position: absolute;
		top: 24px;
		right: 120px;
	}

	#desktopNav > ul
	{
		display: flex;
		align-items: center;
		/*column-gap: 1.2vw;*/
	}

	#desktopNav > ul > li
	{
		display: inline-flex;
		align-items: center;
	}

	#desktopNav > ul > li:after
	{
		display: inline-block;
		content: "";
		width: 1px;
		height: 30px;
		margin: 0px 30px;
		background: #979797;
	}

	/*
	body#index #desktopNav > ul > li:after
	{
		background: #fff;
	}
	*/

	body.scrolled #desktopNav > ul > li:after,
	body#index.scrolled #desktopNav > ul > li:after
	{
		background: #979797;
	}

	#desktopNav > ul > li a
	{
		color: #404040;
		font-size: 2.4rem;
		font-weight: 700;
		text-decoration: none;
	}

	/*
	body#index #desktopNav > ul > li a:not(:hover,:focus)
	{
		color: #fff;
	}
	*/

	body.scrolled #desktopNav > ul > li a,
	body#index.scrolled #desktopNav > ul > li a
	{
		color: #404040;
	}

	#desktopNav > ul > li a:hover,
	#desktopNav > ul > li a:focus,
	#desktopNav > ul > li.current a,
	body.scrolled #desktopNav > ul > li a:hover,
	body.scrolled #desktopNav > ul > li a:focus,
	body.scrolled #desktopNav > ul > li.current a,
	body#index.scrolled #desktopNav > ul > li a:hover,
	body#index.scrolled #desktopNav > ul > li a:focus,
	body#index.scrolled #desktopNav > ul > li.current a
	{
		color: #e71435;
	}
}

@media (max-width: 767px)
{
	#mainNav #subNavBack a
	{
		left: 35px;
		top: 1px;
	}

	#desktopNav
	{
		display: none;
	}
}

/* Tabs (jump nav) -------------------------------------------------------> */

#jumpNav,
#subNav
{
	position: relative;
	position: -webkit-sticky;
	position: sticky;

	top: 80px;
	z-index: 100;

	background: linear-gradient(#f2f3f3, #f2f3f3);

	display: flex;
	flex-wrap: wrap;
}

#subNav
{
	z-index: 1;
}

body.newInsights #subNav
{
	padding-left: 15px;
	padding-right: 15px;
}

#jumpNav
{
	background: linear-gradient(#491840, #491840);
	justify-content: space-between;
}

#jumpNav #shareBox
{
	padding: 15px 0 0 30px;
	margin: 0;
}

#jumpNav #shareBox > :last-child img
{
	margin-right: 0;
}

#jumpNav nav,
#subNav ul
{
	font-size: 18px;
	color: white;

	display: flex;
}

#jumpNav nav
{
	flex-wrap: wrap;
}

#subNav ul
{
	color: #491840;
}

#subNav ul,
#subNav li,
#jumpNav nav,
#jumpNav nav a
{
	list-style: none;
	margin: 0;
}

@media (min-width: 700px)
{
	#jumpNav nav > span
	{
		position: absolute;
		display: flex;
		align-items: center;
		left: 0;
		height: 100%;
		box-sizing: border-box;
	}

	#jumpNav nav
	{
		padding-left: 150px;
	}

	#subNav
	{
		display: flex;
	}

	#subNav > span
	{
		display: flex;
		align-items: center;
	}
}

@media( max-width: 1100px )
{
	#jumpNav nav,
	#subNav ul
	{
		flex-wrap: wrap;
	}

	#jumpNav nav a,
	#subNav li
	{
		flex-grow: 0;
	}

}

#jumpNav nav > span,
#subNav > span
{
	/*display: inline-block;*/

	text-transform: uppercase;
	/*padding: 18px 20px 0 0;*/
	color: white;
}


/* if they have four or more, make them grow */
@media( min-width: 1101px )
{
	#jumpNav nav a:nth-last-child(n + 4),
	#jumpNav nav a:nth-last-child(n + 4) ~ a
	{
		padding: 18px 18px;
	}
}

#subNav > span
{
	color: inherit;
	padding-right: 20px;
}

#jumpNav nav a,
#subNav a
{
	display: block;
	position: relative;
	padding: 18px 40px;
	margin-right: 1px;

	font-weight: bold;
	color: white;

	position: relative;

	display: flex;
	justify-content: center;
}

#subNav a
{
	color: #491840;
	padding: 18px 20px;
}

#jumpNav nav a:hover,
#jumpNav nav a:focus,
#subNav a:hover,
#subNav a:focus,
#subNav .here a
{
	background: #e71435;
	position: relative;

	color: white;
	text-decoration: none;
}

#jumpNav nav a:hover::after,
#jumpNav nav a:focus::after,
#subNav a:hover::after,
#subNav a:focus::after,
#subNav .here a::after
{
	content: '';

	position: absolute;
	bottom: -8px;
	left: calc(50% - 7.5px);

	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 7.5px 0 7.5px;
	border-color: #e71435 transparent transparent transparent;
}

#jumpNav nav a:not(:last-child):not(.current):not(:hover):not(:focus)::after,
#subNav li:not(:last-child):not(.here) a:not(:hover):not(:focus)::after
{
	content: '';

	position: absolute;
	right: -2px;
	top: 12px;
	bottom: 12px;

	width: 1.2px;

	background: #a48b9f;
}

@media (max-width: 1300px)
{
	#jumpNav nav a,
	#subNav a,
	#jumpNav nav > span,
	#subNav > span
	{
		padding: .6em 0.5em;
		font-size: 17px;
	}

	#jumpNav nav > span,
	#subNav > span
	{
		padding-left: 0;
		align-self: stretch;
	}


}

@media (max-width: 1099px)
{

	#jumpNav #shareBox
	{
		padding: 7px 0 0 0;
	}
}

@media (min-width: 1100px)
{

	/* #jumpNav nav > span
	{
		padding: 18px 20px 0 0;
	} */
}



@media (max-width: 700px)
{
	#jumpNav,
	#subNav ul,
	#jumpNav nav,
	#subNav
	{
		display: block;
		/*flex-direction: column;*/
	}

	#jumpNav nav a,
	#subNav a
	{
		margin: 0 -0.5em !important;
		justify-content: flex-start;
	}

	#jumpNav nav a::after,
	#subNav a::after
	{
		content: none !important;

	}

	#jumpNav,
	#subNav
	{
		height: 50px;
		padding-top: 12px;
		box-sizing: border-box;
	}

	#jumpNav nav > span,
	#subNav > span
	{
		cursor: pointer;
	}

	#jumpNav:not(:focus-within) nav > span::after,
	#subNav:not(:focus-within) > span::after
	{
		content: '';
		position: absolute;
		top: 16px;
		right: 5px;
		width: .5em;
		height: .5em;
		border: solid #e71435;
		border-width: 0 2px 2px 0;
		transform: rotate(45deg);
	}

	#jumpNav nav > span ~ a,
	#jumpNav #shareBox,
	#subNav .subNavList
	{
		display: none;
	}

	#jumpNav #shareBox
	{
		padding: 20px 0;
	}

	#jumpNav:focus-within,
	#subNav:focus-within
	{
		height: auto;
	}

	#jumpNav:focus-within span ~ a,
	#subNav:focus-within .subNavList
	{
		display: block;
	}

	#jumpNav:focus-within #shareBox
	{
		display: flex;
	}
}

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

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

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

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

.itemTile .results_list > * > a
{
	display: block;
	flex: 1 0 auto;
	padding: 20px;
	background: #cccccc;
	color: #fff;
}

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

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

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

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


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

#content
{
	position: relative;
	min-height: 450px;
}

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

main
{
	position: relative;
	width: 100%;
	margin: 60px 0 40px 0;
	box-sizing: border-box;
}

main > p:last-child,
main > ul:last-child,
main > table:last-child
{
	margin-bottom: 64px;
}

#subContent
{
	position: relative;
	width: 100%;
	margin: 60px 0 40px 0;
	box-sizing: border-box;
}

@media (min-width: 920px)
{
	/* small banner, no banner, or has subcontent */
	.small + #content > main:only-child,
	#header + #content > main:only-child,
	.blog #mainContent:nth-last-child(3), /* followed by subContent, lowerContent */
	body:not(.blog) #mainContent:not(:last-child)
	{
		float: left;
		width: calc(59.3% - 20px);
	}

	#flexpage-remote #mainContent:last-child,
	#flexpage-VWTravel #mainContent:last-child,
	#flexpage-volkswagen-employee-questionnaire #mainContent:last-child
	{
		width: 100%;
		float: none;
	}

	#content
	{
		/* min height is full height minus footer and header */
		min-height: calc(100vh - 237px - 80px);
	}

	body.blog #content
	{
		/* min height is full height minus footer and header */
		min-height: 0;
	}

	body.blog #content #mainContent
	{
		min-height: calc(100vh - 80px - 299px - 78px - 96px - 258px);
		box-sizing: border-box;
	}

	#subContent
	{
		float: right;
		clear: right;

		width: 23.7%;
		margin-right: 8.5%;
		box-sizing: border-box;
	}

	body.fullWidth #mainContent
	{
		float: none;
		width: 100% !important;
	}
}

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

	main
	{
		order: 1;
	}

	#subContent
	{
		order: 2;
		margin-top: 0;
	}

	#lowerContent
	{
		order: 3;
	}
}

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

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

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

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

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

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

.tendingExpandable.expandableList .results_list > li:nth-last-child(n+11) ~ li:nth-child(n+10)
{
	display: none;
}

.tendingExpandable div.toggleWrap
{
	text-align: left;
}

/* hide all items for area, industry, and office 'people' */
#area_bio .results_list > li:nth-child(n+1),
#industry_bio .results_list > li:nth-child(n+1),
#office_bio .results_list > li:nth-child(n+1)
{
	display: none;
}

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

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

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


/* Bio directory --------------------------------------------------------> */
#people #mainContent
{
	margin-bottom: 0;
}

#popupForm
{
	display: none;

	position: absolute;
	padding: 40px 0 0;

	width: 100%;

	color: white;
	text-align: left;

	z-index: 1;
}

#popupForm > *
{
	position: relative;
	z-index: 9999;
}

#popupForm div.search_form
{
	clear: both;
}

@media (min-width: 700px)
{
	#popupSearch.bioSearch
	{
		margin: 0 -105px;
		width: calc(100% + 210px);
	}
}

#popupForm form
{
	z-index: 9999;
	position: static;
}

.active + #popupForm
{
	display: block;
}

body.newInsights .active + #popupForm
{
	display: flex;
}

/* keyword field */
.newInsights #popupForm .search_form > div:first-of-type
{
	width: 100%;
}


#popupForm::before
{
	content: '';
	display: block;
	z-index: 1;
}

.bioSearch h2
{
	color: inherit;
	text-transform: uppercase;
	font-size: 14px;

	margin: 0 0 18px 0;
}

.bioSearch form
{
	clear: both;
}

.letterLinks
{
	color: white;
	font-size: 18px;

	display: flex;
	flex-wrap: wrap;

	border-bottom: 1px solid #523b50;
	margin: 18px 0;
	padding-bottom: 9px;
}

.letterLinks a,
.letterLinks span
{
	color: white;

	flex-basis: calc(100%/26.1);
	box-sizing: border-box;

	padding: 5px 3px 6px;
	text-align: center;
	line-height: 1;
	border: 1px solid transparent;
}

@media (max-width: 700px)
{
	.letterLinks a,
	.letterLinks span
	{
		flex-basis: calc(100%/13);
	}
}

@media (max-width: 400px)
{
	.letterLinks span
	{
		display: none;
	}
}

.letterLinks a:hover,
.letterLinks a:focus
{
	background: #ED1A3B;
	border: 1px solid white;
	text-decoration: none;
	border-radius: 1px;
}

.letterLinks span
{
	opacity: .5;
}

.viewAll,
.clearAll,
.blogLink
{
	font-size: 18px;
	font-weight: bold;
	color: white;

	display: inline-block;
}

.viewAll
{
	float: right;
	margin: 0 0 18px;
}

.clearAll,
.blogLink
{
	margin: 10px 24px;
}

.blogLink
{
	flex-grow: 1;
	margin-left: 0;
	color: white;
}

.newInsights .blogLink
{
	text-align: right;
}

.newInsights #popupForm h2
{
	color: white;
	text-transform: uppercase;
	font-size: 1.2em;
	letter-spacing: unset;
	margin: 0 0 1em 0;
	padding: 0;
}

.newInsights #popupForm h2:after
{
	content: none;
}

@media (max-width: 900px)
{
	.submit_wrapper
	{
		flex-wrap: wrap;
	}

	.blogLink
	{
		width: 100%;
		margin: 20px 5px 0;
		text-align: right;

		order: 2;
	}
}

.bioList
{
	margin: 30px 0 25px 0;
}

.bioList > ul,
.bioList > ul > li
{
	display: block;

	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bioList > ul > li
{
	display: flex;
	align-items: center;

	padding: 24px 0;
	border-bottom: 1px solid #e6e7e8;
}

.bioList .photo
{
	width: 180px;
	flex-shrink: 0;
	padding-right: 60px;
}

.bioList .photo img
{
	width: 100%;
	display: block;
}

.bioList .nametitle
{
	flex-grow: 1;
	max-width: 512px;
	padding-right: 60px;
	box-sizing: border-box;
}

.bioList .title
{
	color: #414042;
	font-size: 36px;
	font-weight: bold;
}

.bioList a
{
	color: inherit;
}

.bioList .title::after
{
	content: '';
	display: block;
	height: 5px;
	width: 24px;
	margin: 7px 0 2px 0;
	background: #e71435;
}

.bioList .position
{
	color: #491840;
	font-size: 24px;
}

.bioList .contact
{
	min-width: 250px;
	line-height: 20px;
}

.bioList .contact > div::before
{
	content: '';
	display: inline-block;
	margin: 0 13px 12px 0;
	width: 20px;
	height: 20px;
	vertical-align: top;

	background: #e8193a url(../i/phone.svgz) no-repeat;
	background-size: 20px;
}

.bioList .contact > div.email::before
{
	background-image: url(../i/email.svgz);
}

.bioList .contact > div.vcard::before
{
	background-image: url(../i/vcard.svgz);
}


@media (max-width: 919px)
{

	.bioList .photo
	{
		padding-right: 30px;
	}

	.bioList .nameTitle
	{
		padding-right: 20px;
	}

	.bioList .title
	{
		font-size: 28px;
		line-height: 28px;
	}

	.bioList .position
	{
		font-size: 18px;
	}
}


@media (max-width: 767px)
{

	.bioList > ul > li
	{
		flex-wrap: wrap;
		padding: 12px 0;
	}

	.bioList .photo
	{
		width: 118px;
		padding: 0;
		margin: 0 12px 0 0;
	}

	.bioList .contact
	{
		margin-top: 20px;
		flex-basis: 100%;
	}

	.bioList .nametitle
	{
		width: calc(100% - 138px);
		padding-right: 0;
	}
}


/* Bio Profile --------*/


.people-item #banner
{
	padding: 0;
}

.people-item #breadCrumb
{
	position: absolute;
	top: 30px;
}

#bioInfoWrapper
{
	position: relative;
	width: calc(100% + 40px);
	left: -20px;
}

#bioInfo
{
	padding: 20px;
}

#bioPhoto
{
	width: 100%;
}

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

#bioInfo h1
{
	position: relative;
	margin-top: 40px;
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 36px;
}


#bioInfo h1::before
{
	content: '';
	position: absolute;
	top: -25px;
	left: 0;
	display: block;
	width: 19px;
	height: 18px;
	background: url('../i/pillar.svgz') no-repeat; /* data-uri */
}

.people-item #banner h1::after
{
	display: none;
}

#bioTitle
{
	margin: 0 0 30px;
	font-weight: 700;
	font-size: 24px;
	line-height: 24px;
}

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

#bioContact li
{
	margin: 0 0 6px;
}

#bioContact img
{
	background: #e8193a;
	vertical-align: top;
	position: relative;
	top: -2px;
	margin: 0 13px 0 0;
}

#bioContact a:hover img,
#bioContact a:focus img
{
	background: #ae001b;
}

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


.badgeList img
{
	max-width: 100px;
}

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

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

#bio_customUnion
{
	padding-bottom: 100px;
}

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

	#bioInfo
	{
		flex: 1 1 610px;
	}

	#bioPhoto
	{
		flex: 0 3 570px;
	}

	#bioContact
	{
		display: flex;
		flex-wrap: wrap;
	}

	#bioContact li
	{
		width: 50%;
	}
}

@media (min-width: 1024px)
{

	#bioInfoWrapper
	{
		align-items: flex-end;
		box-sizing: border-box;
	}

	#bioInfo
	{
		padding-bottom: 60px;
	}

}

@media (min-width: 1250px)
{
	#bioInfo h1
	{
		font-size: 72px;
		line-height: 72px;
	}
}

@media (max-width: 1023px)
{
	.people-item #breadCrumb
	{
		display: none;
	}
}

a.sectionTitle
{
	display: none;
}

h2.sectionTitle
{
	color: #4a494b;
	font: inherit;
	font-weight: 800;
	font-size: 14px;
	text-transform: uppercase;
	margin: 40px 0 15px;
	padding: 0;
}

#Overview h2.sectionTitle,
#Judicialclerkships h2.sectionTitle,
h2.sectionTitle.noShow
{
	height: 1px;
	overflow: hidden;
	margin: 0;
	padding: 1px 0 0 0;
	box-sizing: border-box;
}

.bioListClerkship h4
{
	margin: 30px 0 10px;
}

h2.sectionTitle + div > h2
{
	margin-top: 0;
}

h2.sectionTitle::after
{
	content: none;
}

#bio_credentials h3
{
	font-size: inherit;
	color: #491840;
	margin-top: 24px;
}

.blogLink a:not(:hover):not(:focus),
#page404 #bannerContent a:only-child:not(:hover):not(:focus),
#bio_area a:not(:hover):not(:focus),
#item_area a:not(:hover):not(:focus),
#item_blogcategory a:not(:hover):not(:focus),
#item_blogtag a:not(:hover):not(:focus),
#relatedLinks a:not(:hover):not(:focus),
#area_hierarchy a:not(:hover):not(:focus),
.listColumn .hierList a:not(:hover):not(:focus),
#area_relatedlinks a:not(:hover):not(:focus),
#area_relatedsame li a:not(:hover):not(:focus),
#area_newslettertopic li a:not(:hover):not(:focus)
{
	color: inherit;
}

.blogLink a::after,
#page404 #bannerContent a:only-child::after,
#bio_area a::after,
#item_area a::after,
#relatedLinks a::after,
#area_hierarchy a::after,
.listColumn .hierList a::after,
#area_relatedlinks a::after,
#area_relatedsame li a::after,
#area_newslettertopic li a::after
{
	content: '\a0>';
	color: #e71435;

	display: inline-block;

	/* this makes the generated content not wrap to it's own line */
	margin-right: -25px;
}

#subContent #relatedLinks h2
{
	margin: 0 0 20px 0;
	/*border-top: none;*/
}

/* Practice List */


body#practices #mainContent
{
	margin-top: 30px;
}

#mainContent .practiceList li > a:hover,
#mainContent .practiceList li > a:focus
{
	text-decoration: underline;
}

div.listColumn
{
	font-size: 18px;
}

div.listColumn > ul > li
{
	overflow: hidden;
	-webkit-column-break-inside: avoid;
	   page-break-inside: avoid;
		break-inside: avoid;

	position: relative;
}

/* to force break at nth spot
div.listColumn > ul > li:nth-child(3)
{
	-webkit-column-break-after: always;
	   -moz-break-after: column;
		break-after: column;
}
*/

div.listColumn ul,
div.listColumn ul li
{
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0 0 .5em 0;
	font-weight: bold;
	line-height: normal;
}

div.listColumn ul.hierList li
{
	font-weight: normal;
	break-inside: avoid;
}

div.listColumn ul ul
{
	padding: .5em 0 0;
}

div.listColumn li li li
{
	position: relative;
	padding-left: 44px;
}

div.listColumn li li li:before
{
	content: '';
	display: block;
	width: 4px;
	height: 3px;
	background: #414042;
	position: absolute;
	left: 28px;
	top: 13px;
}

.listColumn h2
{
	margin-bottom: 0px;
	padding-right: 45px;
}

.listColumn h2::after
{
	content: '';
	display: block;
	height: 5px;
	width: 24px;
	margin: 4px 0 10px 0;
	background: #e71435;
}

.areaExpand
{
	position: absolute;
	right: 0;
	top: 24px;

	background-image: none;
	padding: 0 0 8px;
	width: 30px;
	height: 30px;

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

.areaExpand span
{
	font-size: 30px;
	font-weight: 300;
}

.areaExpand:not(.expanded) span:last-child
{
	display: none;
}

.areaExpand.expanded span:first-child
{
	display: none;
}

#listColumnWrapper li > a:hover,
#listColumnWrapper li > a:focus,
#mainContent > div > ul > li > a:hover,
#mainContent > div > ul > li > a:focus
{
	text-decoration: none;
}

#listColumnWrapper li > a:hover h2,
#listColumnWrapper li > a:focus h2,
#mainContent > div > ul > li > a:hover h2,
#mainContent > div > ul > li > a:focus h2
{
	color: #e71435;
}

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

	.listColumn
	{
		flex-basis: calc(50% - 30px);
		margin-bottom: 108px;
	}
}

@media (min-width: 1200px)
{
	.listColumn
	{
		flex-basis: calc(42.5%);
	}
}

/* Practice profile --------------------------------------------------------> */

#area_intro p,
#bio_intro p
{
	margin: 0;
}

#area_intro p + p,
#bio_intro p + p
{
	margin-top: 20px;
}

#subContent #area_hierarchy ul li li
{
	margin-left: 20px;
}

.sideBioList ul,
.sideBioList li
{
	margin: 0;
	padding: 0;
}

#subContent .sideBioList h2
{
	margin-top: 12px;
}

#subContent .sideBioList li
{
	position: relative;
	padding: 0 0 24px 102px;
	margin: 0 0 24px;

	min-height: 92px;

	font-size: 16px;

	display: flex;
	flex-direction: column;

	border-bottom: 1px solid #e9eaeb;
}

#subContent .sideBioList li:last-child
{
	border-bottom: none;
}

.sideBioList + .sideStaticText
{
	border-top: 1px solid #e9eaeb;
	padding-top: 5px;
	margin-top: -25px;
}

.sideBioList .photo
{
	position: absolute;
	top: 2px;
	left: 0;
}

.sideBioList .photo img
{
	width: 94px;
}

.sideBioList .title
{
	font-weight: bold;
	font-size: 18px;
	color: #491840;
}

.sideBioList a
{
	color: inherit;
}

.sideBioList .bioposition
{
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 300;
}

#area_bio_contact li
{
	min-height: 118px;
	padding-left: 127px;
	border-bottom: 1px solid #ebecec;
}

.sideBioList .bioposition
{
	flex-grow: 1;
}

.sideBioList .email,
.sideBioList .phone
{
	line-height: 1;
	font-size: 16px;
	margin-top: 4px;
}


.sideBioList .email::before,
.sideBioList .phone::before
{
	content: '';
	width: 16px;
	height: 16px;
	margin-right: 5px;

	display: inline-block;

	background: #e8193a url(../i/phone.svgz) no-repeat;
	background-size: 16px;

	vertical-align: middle;
}

.sideBioList .email::before
{
	background-image: url(../i/email.svgz);
}

#area_bio_link
{
	font-weight: 600;
	line-height: 1;
	margin: 15px 0;
}

#subContent h2
{
	border-top: 1px solid #e9eaeb;
	padding-top: 20px;
}

#area_relatedsame,
#area_newslettertopic
{
	position: relative;
	padding-bottom: 50px;
}

#area_relatedsame button,
#area_newslettertopic button
{
	bottom: -10px;
}

#area_relatedsame li,
#area_newslettertopic li
{
	padding: 10px 0;
	margin: 0;
	list-style: none;
	border-bottom: 1px solid #ebecec;
}

#area_relatedsame li:nth-last-child(n+8) ~ li:nth-child(n+7)
{
	display: none;
}

#area_newslettertopic li:nth-last-child(n+5) ~ li:nth-child(n+4)
{
	display: none;
}

/* News/Pub/Event type Listing */

body#insights #mainContent
{
	margin-bottom: 10px;
}

body#insights #subContent
{
	margin-bottom: 20px;
}

.newsroomList
{
	margin: 0 -20px;
}

body.newInsightsResults .newsroomList
{
	margin: 0px;
}

.newsroomList li
{
	position: relative;
	padding: 17px 20px;
	border-top: 1px solid #d1d3d4;
}

.newsroomList.hasReadtime li
{
	padding: 17px 20px 105px;
}

.newsroomList .icon
{
	position: absolute;
	top: 0;
	right: 0;
	width: 35px;
}

.newsroomList .icon img
{
	width: 100%;
	background: #e8193a;
}

.newsroomList .readtime
{
	position: absolute;
	left: 20px;
	bottom: 40px;
	padding-left: 24px;
	background: url('../i/time.svgz') no-repeat; /* data-uri */
	background-size: 18px;
	background-position: 0 4px;
	font-size: 18px;
	line-height: 26px;
}

.newsroomList .dateHeader
{
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 12px;
	padding-bottom: 12px;
}

.newsroomList .dateHeader::after
{
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0 !important;
}


.newsroomList .pubType,
.dateType .articleType
{
	color: #808285;
	font-size: 14px;
	font-weight: 900;
	text-transform: uppercase;
}

.pubType a
{
	color: inherit;
	text-decoration: none;
}

.newsroomList .pubType::after
{
	position: relative;
	top: 2px;
	content: '|';
	margin: 0 4px;
	color: #d3d4d6;
	font-size: 18px;
	line-height: 12px;
}

body.newInsightsResults .newsroomList .pubType::after
{
	display: none;
}

.newsroomList .title
{
	color: #491840;
	font-weight: 700;
	font-size: 24px;
	line-height: 24px;
}

.newsroomList .title a
{
	line-height: 38px;
	color: inherit;
}

.newsroomList .title + div
{
	margin-top: 25px;
}

body.newInsightsResults .newsroomList .title + div
{
	margin-top: 5px;
}

body.newInsightsResults .newsroomList .title
{
	margin-top: 10px;
}

.newsroomList .title ~ div
{
	font-size: 16px;
}

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


@media (min-width: 768px)
{

	.newsroomList
	{
		margin: 50px 0;
	}

	.newsroomList li
	{
		padding: 25px 0;
	}

	body.newInsightsResults .newsroomList li
	{
		padding: 25px 0 0 0;
	}

	.newsroomList .icon
	{
		width: 45px;
	}

	.newsroomList .readtime
	{
		bottom: auto;
		left: auto;
		top: 10px;
		right: 65px;
		padding-left: 24px;
		font-size: 16px;
		color: #a7a9ac;
		background-size: 18px 18px;
		background-position: 0 5px;
	}

	.newsroomList .readtime span
	{
		font-weight: 700;
	}
}

@media (min-width: 920px)
{
	#insightsList
	{
		width: calc(59.3% - 20px)
	}
}

@media (min-width: 1280px)
{

	.newsroomList .dateHeader
	{
		margin: 0 0 25px;
	}

	body.newInsightsResults .newsroomList .dateHeader
	{
		margin: 20px 0 0 0;
	}

	.newsroomList .title
	{
		padding-right: 50px;
		font-size: 36px;
		line-height: 36px;
	}
}

@media (max-width: 767px)
{
	#insightsList li
	{
		display: flex;
		flex-direction: column;
	}

	.newsroomList .readtime
	{
		position: static;
		order: 4;
		margin-top: 25px;
	}
}


.results_criteria
{
	position: relative;
	bottom: -30px;
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 18px;
	font-size: 18px;
}

.results_criteria > p
{
	width: 100%;
	margin-top: 13px;
	padding-top: 10px;
	border-top: 2px solid #e5e6e7;
}

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

.results_criteria ul
{
	display: flex;
	flex-wrap: wrap;
	margin-left: 27px;
}

.results_criteria li:not(:first-child)
{
	margin-left: 30px;
}

.results_criteria a
{
	position: relative;
	padding-right: 18px;
	font-weight: 700;
	color: #e71435;
}

.results_criteria a::after,
.results_criteria a:before
{

	position: absolute;
	width: 10px;
	height: 2px;
	background-color: white;
	border-radius: 4px;
	display: block;
	content: "";
	top: 14px;
	right: 0;
	background-color: currentColor;
	transform: rotate(45deg);
}

.results_criteria a:before
{
	transform: rotate(-45deg);
}

.results_criteria > span
{
	text-transform: uppercase;
}

@media (max-width: 650px)
{
	.results_criteria > span
	{
		display: block;
	}

	.results_criteria ul,
	.results_criteria
	{
		display: block;
		margin: 0;
	}

	.results_criteria ul li,
	.results_criteria li:not(:first-child)
	{
		margin: 10px 0 0;
	}
}

body.newInsightsResults ul.results_criteria
{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	position: relative;
	width: 100%;
}

body.newInsightsResults ul.results_criteria li
{
	margin: 0px;
	padding: 0px;
}

body.newInsightsResults ul.results_criteria li:last-child
{
	margin-left: auto;
	justify-self: flex-end;
}

body.newInsightsResults .results_criteria a
{
	position: relative;
	display: flex;
	align-items: center;
	padding: 6px 44px 6px 24px;
	background: rgba(217, 217, 217, 0.20);
	color: #414042;
	font-weight: 400;
}

body.newInsightsResults .results_criteria a:hover,
body.newInsightsResults .results_criteria a:focus
{
	background: rgba(217, 217, 217, 0.40);
	text-decoration: none;
}

body.newInsightsResults .results_criteria a span
{
	display: inline-block;
	/*width: 15px;
	height: 15px;*/
	position: absolute;
	top: -19px;
	right: 24px;
	font-size: 5rem;
	font-weight: 200;
}

body.newInsightsResults ul.results_criteria li:last-child a
{
	color: #E71435;
	background: none;
	font-weight: 900;
	text-transform: uppercase;
	font-size: 1.2rem;
}

body.newInsightsResults ul.results_criteria li:last-child a span
{
	top: -24px
}

body.newInsightsResults .results_criteria a::after,
body.newInsightsResults .results_criteria a:before
{
	display: none;
}


/* News/Pub/Event type Profile */

div.blog,
div.publication,
span.publication
{
	font-style: italic;
}

#itemContent
{
	margin: 20px 0 0 0;
}

.photoRight
{
	float: right;
	margin-left: 14px;
}


/* Contact Main Listing */

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

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

#officeList ul
{
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
}

#officeList ul li
{
	float: left;
	width: calc(100% / 2 - 10px);
	margin: 0 0 10px 0;
	padding: 0 20px 0 0;
	box-sizing: border-box;
}

#officeList ul li .title
{
	font-weight: 700;
}

#officeList ul li .address
{
	margin: 10px 0;
}

#officeList ul li .contactperson
{
	margin: 10px 0;
}

@media (max-width: 479px)
{
	#officeList ul li
	{
		float: none;
		width: 100%;
		margin: 0 0 20px 0;
	}
}


/* Office Profile Pages */

#officeAddress
{
	margin: 10px 0 20px 0;
}

#officeAddressPhone
{
	margin: 10px 0 10px 0;
}


/* attachments */
.attachment_item > div
{
	margin: 0 0 6px 0;
}

#itemSubtitle
{
	font-weight: 500;
	font-size: 1.2em;
	line-height: 1.3;
}

/* Insights search --------------------------------------------------------> */

#insights #bannerSearch.active
{
	max-width: none;
}

#insights #popupForm
{
	padding: 10px 0;
}

@media (min-width: 768px)
{
	.dateTextWrapper
	{
		width: calc(25% - 7.5px);
	}
}


/* Webinars --------------------------------------------------------> */

body#insights-webinars #banner #bannerContent,
body.insights-webinars-item #banner #bannerContent
{
	width: 100%;
	max-width: 925px;
	text-align: left;
}

#bannerTitle
{
	position: relative;
	top: -5px;
}

.insights-webinars .articleType
{
	color: #808285;
	font-weight: 900;
	font-size: 14px;
	text-transform: uppercase;
}

#insights-webinars main
{
	margin: 0;
}

#webinarList
{
	padding: 0;
}

#webinarList h2
{
	margin: 0;
	padding-top: 55px;
}

#webinarList h2::after
{
	display: none;
}

/*#webinarList ul
{
	margin-bottom: 95px;
}*/

#webinarList:not(.searched) ul li:nth-child(n+9)
{
	display: none;
}

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

#demandForm h2
{
	margin-top: 0;
	font-size: 24px;
}

#demandForm #submit_wrapper
{
	text-align: right;
	margin-top: 30px;
}

#demandForm form > p
{
	position: absolute;
	bottom: 55px;
	font-size: 12px;
}

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

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

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

form > div
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

form > div > div
{
	position: relative;
	width: calc(50% - 5px);
	margin: 0 0 10px 0;
}

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

form > div > div.textarea_wrapper
{
	width: 100%;
}

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

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

label
{
	display: block;
	border-color: transparent !important;
	background: none !important;
}

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

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

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

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

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

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

form > div > div.radio_wrapper > div,
form > div > div#referrer > div > div
{
	display: flex;
	flex-wrap: wrap;
}

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#referrer > div > div label
{
	padding: 0 0 0 4px;
}

form > div > div.submit_wrapper
{
	width: 100%;

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

	padding-top: 14px;
}

/* WebForm uses an id */
#submit_wrapper
{
	width: 100%;
	align-self: flex-end;
}

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

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

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

input[type=submit],
button
{
	cursor: pointer;
}

input:not([type]),
input[type=text],
input[type=number],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect,
.search_form form > div > div:not(.sections) > label,
#demandForm label,
.blog .emailSignupForm label
{
	width: 100%;
	min-height: 43px; /* appease IE11 */
	margin: 0;
	padding: 6px 34px 6px 20px;
	color: inherit;
	background-color: white;
	border: 2px solid #e8e9ea;
	font: inherit;
	box-sizing: border-box;
	color: #404040;
}

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,
.emailSignupForm label,
#demandForm label
{
	position: absolute;
}

.customSelect
{
	display: block !important;
	overflow: hidden;
	padding-right: 40px;  /* make room for the arrow */

	position: relative;
}

.customSelect::after
{
	content: '';
	position: absolute;
	top: 14px;
	right: 15px;

	width: .5em;
	height: .5em;
	border: solid #e71435;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

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

.customSelectInner
{
	display: inline-block !important;
	white-space: nowrap;
	overflow: hidden;
}

input:not([type]):focus,
input[type=text]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus,
.customSelectFocus
{
	border-color: #e71435 !important;
}

/* 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.standardButton
{
	margin: 0;
	border: 0;

	font-weight: bold;
	vertical-align: top;
}

input[type=submit]:hover,
input[type=submit]:focus,
button.standardButton:is(:hover, :focus)
{
	text-decoration: underline;
}


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

#emailField
{
	display: none;
}

div.referrer_extra
{
	position: relative;
	left: 20px;
	display: none;

	width: 100%;
	margin: 10px 0 15px;
}

div.referrer_extra label
{
	position: absolute;
	top: 8px;
	left: 9px;
}

div.referrer_extra input
{
	max-width: 300px;
}

@media (max-width: 479px)
{
	form > div > div
	{
		width: 100%;
	}
}


/* auto complete js */

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

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

.autocomplete .selected
{
	background: #f0f0f0;
}

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

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

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

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


/* Share icons --------------------------------------------------------> */

#shareBox
{
	display: inline-flex;
	margin: 0 18px 20px 0;

	vertical-align: top;
}

#shareBox > div > a > img
{
	width: 30px;
	margin-right: 9px;
	display: block;

	background: #e8193a;
}

#shareBox > div > a:hover > img,
#shareBox > div > a:focus > img
{
	background: #ae001b;
}

#shareBox > div:last-child > a > img
{
	margin-right: 0;
}

#readTime
{
	display:inline-block;
	vertical-align: middle;

	padding: 0 0 4px 34px;
	background: url(../i/time.svgz) left no-repeat;
	background-size: 26px;
}

body.insights #itemContent > p:last-child::after
{
	content: '';
	display: inline-block;

	vertical-align: baseline;
	position: relative;
	top: 2px;
	margin-left: 5px;

	width: 14px;
	height: 14px;

	background: #491840 url(../i/w-white.svgz) 50% 50% no-repeat;

	background-size: 9px;
}

@media (max-width: 919px)
{

	#mainContent > #shareBox
	{
		margin: -20px 0 40px;
		width: 100%;
		justify-content: flex-end;
	}

	#mainContent > #readTime
	{
		float: right;
		margin: 0 0 20px;
	}


}

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

#footer
{
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 20px 0;
	margin: 0 -20px;
	background: linear-gradient(to right, #491840, #491840);
	box-sizing: border-box;
	color: #ffffff;
}

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


#footer::after
{
	clear: both;
	content: '';
	position: absolute;
	bottom: 0;
	right: calc(50% - 50vw);
	display: block;
	width: 132px;
	height: 80px;
	background: url('../i/w-red.svgz') no-repeat;
	background-size: 132px 80px;
}


#footer a
{
	color: #ffffff;
}

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

#footerNav li
{
	font-size: 2.4rem;
	line-height: 2.4rem;
	font-weight: 700;
	border-bottom: 1px solid #50344c;
}

#footerNav li a
{
	display: block;
	padding: 12px 19px 12px;
}

#footerSocial ul
{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	padding: 20px;
}

#footerSocial ul li
{
	height: 36px;
	width: auto;
	margin: 0 12px 12px 0;
}

#footerSocial ul li:last-child
{
	margin-right: 0;
}

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

	background: #e8193a;
}

#footerSocial li a:hover img,
#footerSocial li a:focus img
{
	background: #ae001b;
}

#footerSocial ul li#subscribe
{
	margin-right: 24px;
	height: auto;
}

#footerSocial ul li#subscribe a
{
	margin-top: 0;
}

#footerLinks
{
	order: 3;
	padding: 20px;
}

#footer #footerLinks li
{
	padding: 10px 20px;
}

#footer #footerLinks li
{
	border-top: 1px solid #50344c;
}

#bsiLogo
{
	order: 4;
	display: block;
	width: 98px;
	height: auto;
	margin: 20px 0 0 20px;
}

@media (min-width: 768px)
{

	#footer
	{
		padding: 45px 0;
		margin: 0;
	}

	#footerNav
	{
		padding-bottom: 30px;
		margin-bottom: 30px;
		border-bottom: 1px solid #50344c;
	}

	#footerNav ul,
	#footerLinks
	{
		display: flex;
		flex-wrap: wrap;
	}

	#footerNav li,
	#footerLinks li
	{
		border-bottom: none;
	}

	#footer #footerLinks li
	{
		margin: 0 0 19px;
	}

	#footer #footerNav li
	{
		margin: 0 0 0 19px;
	}

	#footer #footerNav li:first-child
	{
		margin: 0 0 0 0px;
	}

	#footer #footerLinks li:last-child,
	#footer #footerNav li:last-child
	{
		margin-right: 0;
	}

	#footerNav li a,
	#footer #footerLinks li
	{
		padding: 0 2px 0 0;
		margin-right: 6px;
		border-right: 1px solid #50344c;
	}

	#footerNav li:last-child a,
	#footer #footerLinks li:last-child
	{
		border-right: none;
	}

	#footer #footerLinks li
	{
		border-top: none;
	}

	#footerLinks
	{
		order: 0;
		font-size: 1.6rem;
	}


	#footerSocial
	{
		order: 3;
		margin-top: 40px;
	}

	#footerSocial ul
	{
		padding: 0;
	}
}

@media (min-width: 1350px)
{

	#footer #footerLinks
	{
		padding-right: 120px;
	}

	#footerSocial
	{
		position: absolute;
		right: 0px;
		top: 38px;
		margin: 0;
	}

	#footerSocial ul li#subscribe a
	{
		position: relative;

		height: 45px;
		margin: 0;
	}


	#bsiLogo
	{
		position: absolute;
		right: 0;
		top: 118px;
	}

}


/*	Statictext highlights */

#lowerContent
{
	clear: both;
}

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

#textHighlight
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	color: #ffffff;
}

#textHighlight li.darkText
{
	color: #491840;
}

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

#textHighlight .content
{
	position: absolute;
	bottom: 24px;
	left: 0;
	width: 100%;
	padding: 0 20px;
	box-sizing: border-box;
}

#textHighlight .abstract
{
	max-height: 52vw;
	overflow: hidden;
}

#textHighlight .abstract p
{
	max-width: 48%;
	font-size: 16px;
	line-height: 1.3;
}

#textHighlight .introtitle
{
	text-transform: uppercase;
	font-weight: 900;
	font-size: 12px;
}

#textHighlight .title
{
	margin: 5px 0 20px;
	font-size: 24px;
	line-height: 24px;
	font-weight: 700;
}

@media (min-width: 700px)
{
	#textHighlight ul
	{
		display: flex;
		flex-wrap: wrap;
	}

	#textHighlight ul li
	{
		width: 50%;
	}

	#textHighlight .abstract
	{
		max-height: 25vw;
	}
}

@media (min-width: 920px)
{
	#textHighlight .content
	{
		bottom: 41px;
		padding: 0 48px;
	}

	#textHighlight .content p
	{
		font-size: 18px;
	}
}

@media (min-width: 1200px)
{
	#textHighlight .content
	{
		bottom: 82px;
		padding: 0 0 0 95px;
	}

	#textHighlight .content p
	{
		max-width: 42%;
		line-height: inherit;
	}

	#textHighlight .introtitle
	{
		margin: 0 0 10px;
	}

	#textHighlight .title
	{
		font-size: 42px;
		line-height: 42px;
	}
}


/* Our firm section */

body#about #mainContent
{
	width: 100%;
}

.pillarBlocks
{
	margin: 0 auto 72px;
	max-width: calc(90vh - 80px);
}

.pillarBlocks .sp_pencil
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

.pillarBlocks ul,
.pillarBlocks li,
#pageSpot ul,
#pageSpot li,
#textPillars ul,
#textPillars li
{
	position: relative;
	margin: 0;
	list-style: none;
}

.pillarBlocks ul
{
	margin: 0 -20px;
}
.pillarBlocks .image
{
	/*position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;*/
	opacity: 1;
	transition: all 250ms ease;
}

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

.pillarBlocks .title
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	padding: 20px 20%;
	font-size: 36px;
	font-weight: bold;
	line-height: 36px;
	color: #ffffff;
	box-sizing: border-box;
	opacity: 1;

	transition: all 250ms ease;
}

.pillarBlocks .title span
{
	padding-top: 30px;
	background: url('../i/pillar.svgz') center top no-repeat; /* data-uri */
	background-size: 16px 18px;
}

.pillarBlocks .content
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: flex;
	align-items: center;
	height: 100%;
	width: 100%;
	padding: 0 20px 0px;
	overflow: hidden;
	box-sizing: border-box;
	background: #EAE7DF;


	transition: left 500ms ease;
}

.pillarBlocks .text
{
	padding: 30px 0;
	background: url('../i/pillar.svgz') left top no-repeat; /* data-uri */
	background-size: 16px 18px;
}

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

.pillarBlocks .content em
{
	font-size: 18px;
	font-style: normal;
	font-weight: 100;
	line-height: 1.2;
}

.pillarBlocks button
{
	position: absolute;
	bottom: 6px;
	left: 6px;
	width: 17px;
	height: 17px;
	border: none;
	background: url('../i/arrow-red.svgz') center no-repeat, #ffffff; /* data-uri */
	background-size: 15px 12px;
	cursor: pointer
}

.pillarBlocks li:last-child button
{
	left: auto;
	right: 6px;
	transform: rotate(180deg);
}

.pillarBlocks li.open button
{
	background: url('../i/red-x.svgz') no-repeat; /* data-uri */
}

#pageSpot
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
}

div#homeDiscussing #pageSpot
{
	left: unset;
}

#pageSpot li a::after
{
	position: absolute;
	right: 15px;
	bottom: 15px;
	z-index: 10;
	content: '';
	display: block;
	width: 15px;
	height: 12px;
	background: url('../i/arrow-red.svgz') no-repeat; /* data-uri */
	background-size: 15px 12px;
}

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

#pageSpot .content
{
	position: absolute;
	left: 0px;
	bottom: 40px;
	z-index: 10;
	width: 100%;
	padding: 0 20px 0;
	color: #ffffff;
	font-weight: 700;
	box-sizing: border-box;
}

#pageSpot li.darkText .content
{
	color: #491840;
}

#pageSpot .introtitle
{
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 16px;
	text-transform: uppercase;
}

#pageSpot .title
{
	font-size: 36px;
	line-height: 36px;
}


#textPillars
{
	margin: 0 0 72px;
}

#textPillars li
{
	padding: 38px 0 25px 0;
	margin: 0 0 25px;
	box-sizing: border-box;
}

#textPillars li::after
{
	content: '';
	position: absolute;
	bottom: 0;

	display: block;
	width: 97px;
	height: 2px;
	background: #e8e9ea;
}

#textPillars .title
{
	position: relative;
	/*margin: 0 0 5px;*/
	padding-top: 40px;
	color: #491840;
	font-size: 28px;
	font-weight: 700;
}

#textPillars .title::before
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 16px;
	height: 18px;
	background: url('../i/pillar.svgz') left top no-repeat; /* data-uri */
	background-size: 16px 18px;
}

#textPillars .subtitle
{
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 100;
}


@media (min-width: 650px)
{

	#pageSpot ul,
	#textPillars ul,
	#careerNumbers ul
	{
		display: flex;
		flex-wrap: wrap;
	}

	#pageSpot li,
	#careerNumbers li
	{
		width: 50%;
	}

	#textPillars li
	{
		width: 50%;
		padding-right: 30px;
	}

	#textPillars li:nth-child(even)
	{
		padding-left: 40px;
	}

	#textPillars li::after
	{
		right: 0;
		width: 2px;
		height: 90%;
		max-height: 286px;
	}

	#textPillars li:nth-child(even)::after
	{
		display: none;
	}
}


@media (min-width: 920px)
{
	.pillarBlocks
	{
		max-width: calc(180vh - 250px);
		max-width: none;
	}

	.pillarBlocks ul
	{
		display: flex;
	}

	.pillarBlocks li
	{
		width: 50%;
	}

	.pillarBlocks li.open,
	.pillarBlocks li.closing
	{
		z-index: 1;
	}

	.pillarBlocks li:first-child.open .content
	{
		padding-top: 50px;
		left: 100%;
	}

	.pillarBlocks li:last-child.open .content
	{
		left: -100%;
	}

	.pillarBlocks li:first-child.moveClose button
	{
		top: 20px;
		left: calc(200% - 60px);
	}

	.pillarBlocks li:last-child.moveClose button
	{
		top: 20px;
		left: -40px;
	}
}

@media (min-width: 1024px)
{
	#pageSpot li
	{
		width: 25%;
	}

	.pillarBlocks
	{
		margin: 0 auto 130px;
		max-width: calc(167vh - 320px);
		min-width: 988px;
	}

	.pillarBlocks .title
	{
		padding: 0 30px;
		font-size: 48px;
		line-height: 48px;
	}

	.pillarBlocks .content
	{
		padding: 0 45px;
	}

	.pillarBlocks .content em
	{
		font-size: 21px;
	}

	#textPillars
	{
		margin: 0 0 130px;
	}

	#textPillars ul
	{
		margin: 0 -38px;
	}

	#textPillars li
	{
		width: calc(100%/3);
		padding: 0 38px;
	}

	#textPillars li::after,
	#textPillars li:nth-child(even)::after
	{
		display: block;
		right: 0;
		width: 2px;
		height: 90%;
		max-height: 286px;
	}

	#textPillars li:nth-child(3n)::after
	{
		display: none;
	}
}

@media (min-width: 1280px)
{
	#careerNumbers li
	{
		width: 25%;
	}
}

@media (min-width: 1400px)
{

	#pageSpot .content
	{
		padding: 0 25px;
	}

	#pageSpot .title
	{
		font-size: 48px;
		line-height: 48px;
	}
}

@media (max-width: 919px)
{
	.pillarBlocks li.open .content
	{
		position: relative;
		z-index: 10;
		min-height: 300px;
		padding: 40px 20px;
	}

	.pillarBlocks li.open .image
	{
		display: none;
	}

	.pillarBlocks button
	{
		z-index: 12;
	}
}


/* Diversity section */

.diversity #banner #bannerContent
{
	width: 100%;
	max-width: 650px;
}

#content #diversitySpot
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	margin: 0;
}

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

#diversitySpot li
{
	background: #eae7df;
}

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

#diversitySpot .content
{
	padding: 40px 20px;
}

#diversitySpot .introtitle
{
	margin: 0 0 5px;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	color: #414042;
}

#diversitySpot .title
{
	margin: 0 0 10px;
	font-size: 28px;
	line-height: 32px;
	font-weight: 700;
	letter-spacing: -1px;

	color: #491840;
}

.diversitySpot h2
{
	margin: 0 0 25px;
}

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

	#diversitySpot .image
	{
		width: 50%;
	}

	#diversitySpot .content
	{
		width: 50%;
		max-width: 500px;
	}
}

@media (min-width: 1024px)
{
	#diversitySpot .content
	{
		padding: 20px 40px;
	}
}

@media (min-width: 1280px)
{
	#diversitySpot .content
	{
		padding: 20px 96px;
	}

	#diversitySpot .introtitle
	{
		font-size: 14px;
	}

	#diversitySpot .title
	{
		margin: 0 0 30px;
		font-size: 48px;
		line-height: 48px;
	}
}



/* Careers section */


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

#currentOpenings
{
	position: relative;
	width: 90%;
	max-width: 450px;
	height: 45px;
	margin: 40px auto;
	background: #ffffff;
	color: #404040;
	text-align: left;
}

@media (max-width: 750px)
{
	#currentOpenings
	{
		margin: 5vw auto;
	}
}

#currentOpenings button
{
	margin: 0;
	background: none;
	border: none;
	font: inherit;
	text-align: left;
	cursor: pointer;

	display: block;
	padding: 10px 20px;
	cursor: default;
}

#currentOpenings button::after
{
	content: '';
	position: absolute;
	top: 14px;
	right: 15px;
	width: .5em;
	height: .5em;
	border: solid #e71435;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

#currentOpenings ul
{
	position: absolute;
	top: calc(100% + 10px);
	width: 100%;
	height: 270px;
	display: none;

	background: #ffffff;
	overflow-y: scroll;
	outline: 1px solid #333333;
}

#currentOpenings ul li
{
	padding: 0 20px;
	box-sizing: border-box;
}

#currentOpenings ul li a
{
	display: flex;
	align-items: center;
	padding: 10px 0;
}


#currentOpenings ul li:not(:last-child) a
{
	border-bottom: 2px solid #a7a9ac;
}

#currentOpenings .image
{
	width: 45px;
	margin: 0 10px 0 0;
}

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

#currentOpenings ul li a:not(:hover):not(:focus)
{
	color: inherit;
}

#currentOpenings ul.isopen
{
	display: block;
}

#badgeList
{
	margin-top: 40px;
}

@media (max-width: 450px)
{
	#badgeList
	{
		margin: 0;
	}
}

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

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

#badgeList li
{
	margin: 0 20px 20px 0;
}

#badgeList li:last-child
{
	margin-right: 0;
}

#badgeList img
{
	display: block;
	height: 100px;
	width: auto;
}

#careersSpot
{
	margin: 0 0 80px;
}

#careersSpot ul li
{
	min-height: 0 !important;
	margin: 0 0 60px;
}


/*	By the numbers */

#careerNumbers
{
	position: relative;
	background: #e6e7e8;
}

#careerNumbers h2::after
{
	display: none;
}

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

#careerNumbers ul,
#careerNumbers li
{
	position: relative;
	margin: 0;
	list-style: none;
	text-align: center;
}

#careerNumbers li
{
	padding-bottom: 40px;
}

#careerNumbers li::after
{
	position: absolute;
	bottom: 0;
	left: calc(50% - 49px);
	content: '';
	display: block;
	width: 98px;
	height: 2px;
	background: #dcddde;
}

#careerNumbers .content
{
	width: 100%;
	max-width: 250px;
	margin: 0 auto;
}

#careerNumbers .title
{
	position: relative;
	font-size: 90px;
}


/* career section highlights */

#careerSectionsIntro
{
	padding: 0 0 40px;
}

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

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

#careerSections .content
{
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	padding: 24px 20px;
}

#careerSections .title
{
	margin: 0 0 10px;
	color: #ffffff;
	font-size: 36px;
	font-weight: bold;
	line-height: 36px;
}



#careersBioSpotlight .photo
{
	margin: 0 0 30px;
}

#careersFooter
{
	padding: 60px 0;
}

#careersFooter .contentWrapper
{
	width: 100%;
}

#careersFooter .content
{
	width: 100%;
	max-width: 720px;
	margin: 0 auto 40px;
}

#careersFooter .results_list > div > div[class^=bucket]
{
	width: 100%;
	max-width: 360px;
	margin: 0 auto 50px;
	text-align: center;
}

#careersFooter .results_list > div > div[class^=bucket] strong
{
	position: relative;
	display: block;
	padding-bottom: 20px;
	font-size: 24px;
}


/*	Career pillar blocks */

#careerPillars
{
	max-width: 100%;
}

#careerPillars .slick-slide
{
	position: relative;
	overflow: hidden;
}

#careerPillars .revealer button
{
	right: 6px;
	left: auto;
	width: 30px;
	height: 30px;
	transform: rotate(-90deg);
	z-index: 2;
}

#careerPillars .slick-slide.moveClose .revealer button
{
	top: 6px;
	background: url(../i/red-x.svgz) no-repeat;
}

#careerPillars .slick-slide .content
{
	z-index: 1;
	top: 100%;
	transition: all 500ms ease;
}

#careerPillars .slick-slide.open .content
{
	top: 0;
}

#careerPillars .slick-slide
{
	margin: 0 5px;
}

#careerPillarBlockIntro
{
	padding-bottom: 32px;
}


button.slick-next,
button.slick-prev
{
	position: absolute;
	top: calc(50% - 8px);
	left: -25px;
	font-size: 0;
	background: none;
	width: 13px;
	height: 19px;
	background: url('../i/nav-arrow.png') no-repeat; /* data-uri */
	cursor: pointer;

	border: 0;
}

button.slick-next
{
	left: auto;
	right: -25px;
	transform: rotate(180deg);
}

#careerPillars
{
	padding: 0 20px;
}

@media (min-width: 600px)
{
	#careerNumbers li::after
	{
		left: 100%;
		bottom: calc(50% - 49px);
		width: 2px;
		height: 98px;
	}

	#careerNumbers li p:last-child
	{
		margin-bottom: 0;
	}




	#careersFooter .results_list > div
	{
		display: flex;
		flex-wrap: wrap;
	}

	#careersFooter .results_list > div > div[class^=bucket]
	{
		position: relative;
		padding-bottom: 60px;
	}


	.bucket1linktext, .bucket2linktext, .bucket3linktext
	{
		position: absolute;
		bottom: 0;
		width: 100%;
	}

	.bucket1linktext a, .bucket2linktext a, .bucket3linktext a
	{
		margin: 0 auto;
	}
}

@media (min-width: 768px)
{

	#careerPillars .slick-slide
	{
		margin: 0 11px;
	}
}

@media (min-width: 920px)
{

	#careerSections .results_list
	{
		display: flex;
	}

	#careersSpot .readmore a:not(.sp_pencil)
	{
		position: absolute;
		bottom: 0;
		left: 0;
	}
}


@media (min-width: 1024px)
{

	#careersFooter
	{
		padding: 85px 0;
	}

	#careersFooter .results_list > div > div[class^=bucket]
	{
		box-sizing: border-box;
	}
}

@media (min-width: 1150px)
{

	#careerPillars
	{
		padding: 0 30px;
	}


	button.slick-prev
	{
		left: -35px;
	}


	button.slick-next
	{
		right: -35px;
	}

}

@media (min-width: 1280px)
{
	#careerNumbers li:last-child::after
	{
		display: none !important;
	}

	#careerSections .title
	{
		font-size: 48px;
		line-height: 48px;
	}
}


@media (min-width: 600px) and (max-width: 1280px)
{
	#careerNumbers li:nth-child(even)::after
	{
		display: none;
	}
}


@media (max-width: 500px)
{
	#careerPillars .slick-slide .content
	{
		font-size: 14px;
	}
}



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

.popupPlayerWrapper
{
	display: none;
	position: fixed;
	top: calc(50% - 40vh);
	left: calc(50% - 40vw);
	z-index: 99999999;
	height: 80vh;
	width: 80vw;
	background: #fff;
	border: 12px solid #cecece;
	color: #fff;
}

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

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

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

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

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

@media all and (orientation: portrait)
{
	.popupPlayerWrapper
	{
		left: calc(50% - 45vw);
		top: calc(50% - 20vh);
		width: 90vw;
		height: 40vh;
	}
}

span.popupPlayerClose
{
	display: block;
	position: absolute;
	z-index: 25;
	top: -15px;
	right: -15px;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	background: #333;
	color: #f1f1f1;
	font-size: 18px;
	line-height: 1;
	text-align: center;
	cursor: pointer;
}

span.popupPlayerClose:hover,
span.popupPlayerClose:focus
{
	background: #000;
	color: #fff;
}

.popupPlayerPlaylist
{
	display: none;
	position: absolute;
	z-index: 10;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 25%;
	max-width: 100%;
	overflow: hidden;
	background: #f5f5f5;
}

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

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

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

.popupPlayerPlaylist ul
{
	position: relative;
	left: 0;
	list-style: none;
	min-width: 100000px;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

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

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

.popupPlayerPlaylist ul li a
{
	display: block;
	width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.popupPlayerSidebar > div
{
	padding: 10px 16px 10px 16px;
}

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

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

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

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

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

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

.itemMultimediaList ul.results_list li .photo
{
	margin-right: 10px;
}

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

#item_relatedsame .results_list > li:nth-child(n+1)
{
	display: none;
}

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

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

.photo .triggerPopupPlayer,
.photo .triggerPopupPlayer img
{
	display: block;
}

/* start player icon - only edit attributes in this first block! */
.photo .triggerPopupPlayer::before,
.photo .triggerPopupPlayer::after
{
	/* font-size here is the full width/height of the icon */
	font-size: 70px;

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

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

	/* set the relative size of the triangle inside the circle */
	transform: scale(.5);
	/* left position of inner triangle, will need to adjust slightly based on scale */
	left: calc(50% - .35em);

	/* don't edit */
	content: '';
	display: block;
	position: absolute;
	top: calc(50% - 0.5em);
}

.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 */
	border: .05em solid currentColor;
	border-radius: 50%;
	top: calc(50% - 0.5em);
	left: calc(50% - 0.5em);
	width: 1em;
	height: 1em;
	box-sizing: border-box;
	transform: none;
}

.photo .triggerPopupPlayer::after
{
	width: 0;
	height: 0;
	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;

	background: none;
	box-shadow: none;
}
/* end player icon*/


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

#cookieBanner
{
	display: none;
	position: fixed;
	left: 80px;
	right: 80px;
	bottom: 0;

	z-index: 9999;
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem 2rem;

	color: white;

	overflow: visible !important;
}

#cookieBanner::before
{
	content: '';
	position: absolute;

	width: 100vw;
	left: calc(50% - 50vw);
	top: 0;
	bottom: 0;

	position: absolute;
	background: rgba(0,0,0,.85);
	z-index: -1;
}

#cookieBanner > div
{
	position: relative;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#cookieBanner > div > div
{
	flex-basis: 100%;

	padding-right: 40px;
	max-height: 70vh;
	overflow: auto;
}

#cookieBanner p
{
	margin: 0 0 1em 0;
	padding: 0;

	color: inherit;
	font-size: 18px;
	line-height: 28px;
}

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

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

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

#cookieBanner div button
{
	padding: 14px 13px 14px 15px;
	margin: 0 10px 10px 0;
	background: none;
	border: 1px solid currentColor;
	border-radius: 0;
	color: inherit;
	font-weight: 300;
	font-size: 16px;
	text-transform: uppercase;
	cursor: pointer;

	display: flex;

	white-space: nowrap;
}

#cookieManage:after,
#cookieAccept:after
{
	content: '×'; /* &times; */
	font-size: 33px;
	display: block;
	line-height: .4;
	margin-left: 18px;
}

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

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

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

@media (max-width: 919px)
{
	#cookieBanner
	{
		left: 16px;
		right: 16px;
		bottom: 0;
	}

	#cookieBanner > div
	{
		display: block;
	}

	#cookieBanner > div > div
	{
		padding: 0;
	}

	#cookieBanner p
	{
		font-size: 16px;
	}
}

@media (max-width: 767px)
{
	#cookieBanner
	{
		padding: 1rem;
	}
}

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

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

#cookieOptions button.closeButton
{
	top: 28px;
	right: 40px;
}

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

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

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

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

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

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

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

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

	position: sticky;
}

@media (max-width: 400px)
{
	#cookieOptions h2#cookieTitle
	{
		padding-right: 2em;
	}
}

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

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

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

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

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

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

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

	margin-bottom: 0.8em;

	align-items: center;
}

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

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

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

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

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

	background: inherit;

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

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

#cookieConfirm button
{
	font-size: 18px;
}

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

	color: #959595;
}

#cookieConfirm img
{
	vertical-align: middle;
	height: 1.5em;
}

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

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

	color: white;
}

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

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

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

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

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

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

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

/* second label needs to appear on the right */
.toggleGroup label ~ label
{
	padding: 0 0 0 45%;
	color: rgba(255,255,255,.8);
	cursor: pointer;
}

/* unchecked label should be the only one clickable */
.toggleGroup :checked + label
{
	pointer-events: none;
}

/* the slider is attached to the last label so it sits above everything else */
.toggleGroup label ~ label:after
{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 45%;
	width: 55%;

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

	background-image: linear-gradient(var(--switch-grad), var(--switch-grad));
	background-color: #e71435;
	background-clip: content-box;

	border-radius: inherit;
	border: 3px dotted transparent;
	box-sizing: border-box;
	transition: all 150ms;
}

/* off state - straight right edge */
.toggleGroup label ~ :checked + label:after
{
	left: 0;
	--switch-opacity: 0.8;
}

.closeButton
{
	border: 0;
	cursor: pointer;

	position: absolute;
	top: 25px;
	right: 45px;
	margin: 0;
	padding: 2px 0 2px 28px;

	color: white;
	font-size: 12px;
	text-transform: uppercase;
	background: transparent;

	padding-left: 28px;
}

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

#cookieOptions .closeButton
{
	color: black;
	right: 15px;
	top: 15px;
}

#bannerSearch .closeButton
{
	top: -27px;
	right: 0;

	display: none;
}

#bannerSearch.active .closeButton
{
	display: block;
}

.closeButton::after,
.closeButton::before
{
	display: block;
	content: "";

	position: absolute;

	top: 7px;
	left: 0;
	background-color: currentColor;

	transform: rotate(45deg);

	width: 20px;
	height: 4px;
	border-radius: 4px;
}

.closeButton::after
{
	transform: rotate(-45deg);
}

#emailPopupClose
{
	position: absolute;

	top: 24px;
	right: 24px;

	color: black;
}

/* Email Popup Support -------------------------------------------------> */

#emailPopupBackground
{
	display: none;
	position: fixed;
	z-index: 100000;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;

	background: black;
}

#emailPopup
{
	display: none;
	position: fixed;
	z-index: 99999999;
	top: calc(50% - 30vh);
	left: calc(50% - 30vw);
	height: auto;
	width: 60vw;
	background: #fff;

	padding: 72px;
}

#emailDisclaimerButtons
{
	text-align: center;
}

@media all and (orientation: portrait)
{
	#emailPopup
	{
		left: 5%;
		width: 90%;
		box-sizing: border-box;
	}

	#emailPopupContent
	{
		height: auto;
		overflow: scroll;
	}
}

@media (max-width: 767px)
{
	#emailPopup
	{
		top: calc(50% - 40vh);
		height: auto;
	}
}


/*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: currentColor;
	font-size: 08px;
}

@media (max-width: 767px)
{
	table,
	table th,
	table td,
	table tr
	{
		display: block;
		height: auto !important;
		padding: 0;
		text-align: left;
	}

	table.SITE_MAP td:nth-child(n + 4)
	{
		padding-left: 10px;
	}

	table.SITE_MAP td:nth-child(n + 6)
	{
		padding-left: 20px;
	}

	table.SITE_MAP .v_separator
	{
		display: none;
	}
}


/* Search Object Support */

#search #banner h1::after
{
	content: none;
}

#search #banner h1
{
	margin-bottom: 30px;
}

@media (min-width: 1024px)
{
	#search #banner
	{
		height: 450px;
		padding: 0;

		display: none;

		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

#search p.form-section-label
{
	margin: 1em 0 0 0;
	padding: 0;
	font-weight: bolder;
}

#search .search_text
{
	display: block;
	margin: 1em 0 1em 0;
}

#search #search_button
{
	margin-left: 8px;
}

#search main .search_form form div
{
	height: auto;
	width: 100%;
}

#search main .search_form input
{
	margin: 0;
	vertical-align: middle;
}

#search main .search_form br
{
	display: none;
}

#search main .search_form label
{
	display: block;
	position: relative;
	top: 0;
	left: 0;
	margin: -21px 0 0 0;
	padding: 0 0 0 20px;
	font-size: 16px;
	line-height: 1.4;
}

#search main .search_form input[type=radio],
#search main .search_form input[type=checkbox]
{
	margin: 0 4px 0 0;
	padding: 0;
}

#search main .search_form input#searchtext
{
	width: 60%;
	max-width: 100%;
	margin-right: 4px;
	box-sizing: border-box;
}

#search div.search_section_wrapper
{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

#search div.sections
{
	box-sizing: border-box;
	max-width: 30%;
}

#search div.search_type
{
	box-sizing: border-box;
}

#search #subContent div.search_section_wrapper
{
	flex-direction: column;
}

#search #subContent div.sections
{
	max-width: 100%;
}

#search #subContent form > div > div
{
	width: auto;
}

#search .search_result_date
{
	color: #888;
}


@media (max-width: 767px)
{
	#search div.search_section_wrapper
	{
		flex-direction: column;
	}

	#search div.sections
	{
		max-width: 100%;
	}

	.searchBioWrapper > div > div
	{
		flex-direction: column;
	}

	#search main .search_form input#searchtext
	{
		width: 100%;
	}

	#search main .search_form input[type=submit]
	{
		margin-top: 9px;
		width: 100%;
	}
}

#search div.sections input,
#search div.search_type  input
{
	border: 0;
}

#search a.more
{
	font-weight: bolder;
}

.searchfoundtext
{
	font-weight: bolder;
}

#search p
{
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 2px;
	margin-bottom: 18px;
}

#search p.link
{
	padding-top: 0;
	padding-bottom: 5px;
	margin-bottom: 0;
}

#search .section-header h3
{
	margin-top: 1em;
	margin-bottom: .5em;
	padding: 0;

	font-size: 24px;
	color: #491840;

	border-bottom: 1px solid #f3f3f4;
	padding-bottom: .5em;
}

#search .searchHeader
{
	border-bottom: 1px solid #a69e9d;
	margin: 0;
	padding: 0;
}

#search #searchTabLinks div
{
	border-top: 1px solid #a69e9d;
	margin: 0;
	padding: 6px 0;
}

#search #searchTabLinks a
{
	color: inherit;
}
#search #searchTabLinks a span
{
	color: #e71435;
}

#search #searchTabLinks .form-section-label
{
	border: none;
	margin-top: 27px;
	font-weight: bold;
}

#search #searchResultsFor span
{
	font-weight: bold;
	color: #a69e9d;
	text-transform: uppercase;
}

#search #searchResultsFor
{
	border-bottom: 1px solid #a69e9d;
	margin: 0;
	padding: 0 0 9px 0;
}

/* Bio section search results */
.searchBioWrapper div.results_list > div
{
	display: flex;
	margin-bottom: 18px;
}

.searchBioWrapper .photo
{
	padding: 0 0 9px 0;
	margin: 0;
}

.searchBioWrapper .photo img
{
	padding: 0 27px 0 0;
	max-width: 250px;
}

.searchBioWrapper .divider
{
	border-top: 2px solid #a69e9d;
	margin: 18px 0;
	max-width: 250px;
}
.searchBioWrapper:not(:last-of-type)
{
	border-bottom: 1px solid #a69e9d;
	margin: 0 0 32px 0;
}

/* Page not found -----------------------------------> */

#page404 #banner
{
	padding: 20vh 0 10vh;
	min-height: 450px;
	height: calc(100vh - 317px);
	box-sizing: border-box;
}

#page404 #content
{
	display: none;
}

/* Example Styles Support */

table#fontReference
{
	width: 100%;
	margin: 0 0 38px 0;
	font-size: 80%;
	/*white-space: nowrap;*/
	line-height: 1;
}

table#fontReference th,
table#fontReference td
{
	padding: 6px 6px 6px 0;
}


/* Map Object Support */

.sp_map
{
	margin: 2em 0 1em 0;
}

.printMap
{
	display: inline-block;
	padding: 4px;
	background: #e71435;
	color: #fff;
	text-align: center;
}

.printMap:hover,
.printMap:focus
{
	background: #6a747c;
	text-decoration: none;
}

div.toggleWrap,
.blockList .view_more
{
	text-align: right;
}

/* buttons to look like links */
button.toggleExpand:not(.buttonToggle)
{
	margin: 10px 0 1.5em 0;
	padding: 0 !important;
	background: none !important;
	border: none;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: #e71435 !important;
	font-weight: 700;

	border: none;
}

.expandableList
{
	position: relative;
	/*border-bottom: 1px solid #e9eaeb;*/

	margin-bottom: 50px;
}

/* Newsletter Object Support */

.newsletter-unsubscribe-form blockquote
{
	margin-left: 0;
	margin-right: 0;
}


/* Blogs ----------------------------------------------------------> */

#banner #blogLogo
{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
}

#banner.largeBlog h1#blogLogo::before
{
	content: none;
}

#blogLogo img
{
	max-height: 128px;
	max-width: 100%;
}

.small #blogLogo img
{
	max-height: 74px;
}

.blog #banner.small
{
	background: #48183F;
	padding: 34px 0;
}

.blog #upperContent
{
	position: relative;

	background: #EAE7DF;
}

@media (min-width: 1130px)
{
	.blog #upperContent
	{
		display: flex;
		justify-content: space-between;
	}
}

#relatedPosts
{
	background: #FAFAFA;
	position: relative;

	padding: 60px 0 0;
}

#relatedPosts h2
{
	text-align: center;
}

#relatedPosts h2::after
{
	content: none;
}

.blog #upperContent > button
{
	display: none;
}

@media (max-width: 1129px)
{
	.blog #upperContent > button
	{
		/* 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;
		appearance: none;
		/* end button reset */

		display: block;
		width: 100%;
		padding: 15px 0;

		background: url(../i/blog-nav-arrow.svgz ) right no-repeat;

		color: #48183F;
		font-size: 16px;
		font-weight: bold;
		text-transform: uppercase;
		display: flex;
		justify-content: space-between;
	}

	.blog #upperContent > button:not(.active) ~ *
	{
		display: none;
	}

	.blog #mainContent
	{
		margin-top: 20px;
	}
}

@media (min-width: 1130px)
{
	#blogNav
	{
		flex-grow: 1;
		max-width: 685px;
	}
}

#blogNav ul,
#blogNav li
{
	display: block;
	list-style: none;

	margin: 0;
	padding: 0;
}

@media (min-width: 1130px)
{
	#blogNav > ul
	{
		display: flex;
		flex-wrap: wrap;
	}
}

#blogNav > ul ul
{
	display: none;

	position: absolute;
	top: 100%;
	left: 0;

	z-index: 99;
	background: #EAE7DF;

	padding: 0;
	min-width: 100%;
}

#blogNav.multiColumn > ul ul
{
	width: auto;

	columns: 3;
	column-gap: 0;
}

#blogNav li
{
	padding: 0 24px;
	position: relative;
}

@media (min-width: 1130px)
{
	#blogNav li:first-child
	{
		margin-left: -24px;
	}

	#blogNav > ul > li:hover > ul
	{
		display: block;
	}
}

#blogNav li:focus-within > ul
{
	display: block;
}

#blogNav > ul ul li
{
	padding: 20px 31px;
	background: #EAE7DF;
	border-bottom: 1px solid rgba(112, 112, 112, .26);
	break-inside: avoid;

	width: 200px;
}

#blogNav > ul ul
{
	overflow: visible;
}

#blogNav > ul ul li:last-child
{
	border: 0;
}

#blogNav > ul ul li a:not(:hover):not(:focus)
{
	color: #48183F;
}

#blogNav > ul > li
{
	margin: 0;
}

@media (min-width: 600px)
{
	#blogNav > ul > li
	{
		display: inline-block;
	}
}

@media (min-width: 1130px)
{
	#blogNav > ul > li
	{
		display: flex;
		justify-content: center;
	}
}

#blogNav .subNavHeader
{
	display: none;
}

@media (min-width: 1130px)
{
	#blogNav > ul > li > a:not(:last-child):after
	{
		content: '';
		display: block;
		background: url(../i/blog-nav-arrow.svgz ) 50% 50% no-repeat;

		width: 11px;
		height:11px;

		margin-left: 13px;
	}
}

#blogNav > ul > li > a
{
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
	font-weight: bold;

	display: flex;
	align-items: center;
	padding: 23px 0 18px 0;
	height: 32px;
	border-bottom: 5px solid transparent;
}

#blogNav .current a
{
	border-bottom-color: #DC0028;
	text-decoration: none;
}

#blogNav > ul > li:hover
{
	background: #F4F3F0;
}

#blogNav > ul > li:focus-within
{
	background: #F4F3F0;
}

#blogNav .current a:hover
{
	cursor: default;
}

#blogSearch
{
	position: relative;

	width: 470px;
	max-width: 100%;
	background: #EAE7DF;

	padding: 15px 0 15px 15px;
	box-sizing: border-box;
}

#blogSearch .searchPopup
{
	top: calc(100% - 15px);
	left: 15px;
	width: calc(100% - 15px);
}

#blogSearch label
{
	text-transform: uppercase;
	line-height: 31px;
	padding-left: 18px;
}

#blogSearch input
{
	background: white;

	height: 48px;
	border: 0;
	border-radius: 24px;
	box-sizing: border-box;
}

#blogSearch .search_form > div
{
	padding: 0;
	margin: 0;
	width: auto;
}

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

#blogSearch button
{
	background: #DC0028;
	border-radius: 50%;
	border: 0;
	margin: 0;
	padding: 0;

	width: 48px;
	height: 48px;
	box-sizing: border-box;

	position: absolute;
	right: 0;
}

.blog #searchMessage
{
	padding-bottom: 8px;
	margin: 30px 0;
	border-bottom: 1px solid currentColor;
}

#blogCatNav
{
	background: #F0F3F2;
	position: relative;
	margin: 26px 0;
}

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

#blogCatNav ul
{
	display: flex;
	flex-wrap: wrap;

	padding: 13px 0 18px;

	font-size: 16px;
	font-weight: bold;
}

#blogCatNav li
{
	margin: 5px 5px 0 0;
}

#blogCatNav li:last-child
{
	margin-right: 0;
}

#blogCatNav li:nth-of-type(n + 10)
{
	display: none;
}

#blogCatNav li a:not(.sp_pencil)
{
	display: inline-block;
	background: white;
	padding: 12px;
}

#blogCatNav li.current a
{
	background: #DC0028;
	color: white;
}

.blog input[type=submit]
{
	background-image: none;
	padding-right: 29px;
	text-transform: uppercase;
}

.blogPosts > .results_list
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* fields within each blog post */
.blogPosts > div > div > div + div
{
	margin-top: 20px;
}

/* make all posts order 3 (shouldn't change actual order) */
.blogPosts > .results_list > div
{
	order: 3;
}

/* make the first seven divs order 1 (shouldn't change actual order) */
.blogPosts > .results_list > div:nth-child(-n+7)
{
	order: 1;
}

/* make this signup form order 2 to slide in after the 6th blog post */
.blogPosts #midPostSignup
{
	order: 2;
	width: 100%;

	background: #F0F3F2;
	padding: 4.58vw 9.16vw 5.5vw;
	box-sizing: border-box;
}

.blogPosts #midPostSignup .emailSignupForm form
{
	justify-content: flex-start;
}

.blogPosts #midPostSignup > p
{
	font-weight: bold;
	color: #48183F;

	flex-shrink: 1;
	margin-right: 30px;
	margin-top: 0;
}

@media (min-width: 1200px)
{
	.blogPosts #midPostSignup
	{
		padding: 55px 110px 66px;

		display: flex;
		align-items: flex-end;
		align-items: center;
	}

	.blogPosts #midPostSignup > p
	{
		margin-bottom: 0;
	}
}


/* fluid css (font-size 24px to 36px) - https://codepen.io/lowbatteries/full/qBEyXEP */
.blogPosts #midPostSignup > p
{
	font-size: calc(24px + (36 - 24) * ((100vw - 320px) / (1200 - 320)));
}

@media (min-width: 1200px)
{
	.blogPosts #midPostSignup > p
	{
		font-size: 36px;
	}
}


.blogPosts .emailSignupForm form > p
{
	position: relative;
	flex-wrap: wrap;
	margin: 0 0 10px 0;
	padding: 0;
}

.blogPosts .emailSignupForm form > p
{
	width: 100%;
}

.blogPosts .emailSignupForm form > p input
{
	width: 100%;
}

@media (min-width: 800px)
{
	.blogPosts .emailSignupForm form > p
	{
		width: 526px;
	}
}

.blogPosts .emailSignupForm form > p
{
	width: auto;
}

.blogPosts .emailSignupForm input
{
	height: 62px;
	line-height: 62px;
	border: 0;
}

.blogPosts #midPostSignup input[type=submit]
{
	background-image: none;
	padding-right: 29px;
	text-transform: uppercase;
}

.blogPosts .emailSignupForm input,
.blogPosts .emailSignupForm label
{
	height: 62px;
	border: 0;
}

.blogPosts #midPostSignup label
{
	line-height: 50px;
}

.blogPosts #midPostSignup
{
	position: relative;
}

.blogPosts #midPostSignup a.subscribeButton
{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 62px;
	margin-right: 16px;
	background: #e71435;
	box-sizing: border-box;
	text-transform: uppercase;
	text-decoration: none;
	color: #ffffff;
}

.blogPosts #midPostSignup a.subscribeButton:hover,
.blogPosts #midPostSignup a.subscribeButton:focus
{
	background-color: #ae001b;
}

@media (min-width: 800px)
{
	.blogPosts .emailSignupForm input[type=text]
	{
		width: 370px;
		max-width: 50vw;
		box-sizing: border-box;
	}

	.blogPosts #midPostSignup a.subscribeButton
	{
		width: 100vw;
		max-width: 500px;
		margin-right: 0px;
	}
}

.blogPosts > .results_list > div
{
	margin: 18px 0 18px;
}

@media (min-width: 600px)
{
	/* fixes a split between flex items when there are 2 instead of 3 per row */
	.blogPosts > .results_list::after
	{
		content: '';
		display: block;
		order: 999;
	}

	.blogPosts > .results_list::after,
	.blogPosts > .results_list > div
	{
		width: calc(50% - 16px);
		margin-bottom: 35px;
	}
}

@media (min-width: 800px)
{
	.blogPosts > .results_list::after,
	.blogPosts > .results_list > div
	{
		width: calc(100%/3 - 22px);
		margin-bottom: 65px;
	}
}

@media (min-width: 600px)
{
	.blogPosts .image
	{
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.blogPosts .image img
{
	max-width: 100%;
	max-height: 261px;

	display: block;
}

.blogPosts .title
{
	font-size: 24px;
	font-weight: bold;
}

@media (max-width: 599px)
{
	.blogPosts .results_list > div + div
	{
		border-top: 2px solid #F1F3F2;
		padding-top: 36px;
	}
}

.blogPosts ul,
.blogPosts ul li
{
	display: block;

	list-style: none;
	margin: 0;
	padding: 0;
}

.blogPosts ul,
.blogPosts ul li
{
	display: flex;
	flex-wrap: wrap;
}

.blogPosts .title a
{
	color: #48183F;
}

.blogPosts .blogcategory
{
	font-weight: bold;
}

.blogPosts .blogcategory::before
{
	content: '';
	display: block;

	width: 42px;
	height: 3px;
	margin: 40px 0 10px;

	background: #DC0028;
}

.blogcategory ul li:not(:last-child):after
{
	content: '\a0•\a0';
}

.blogPosts .blogcategory a
{
	background: none !important;
	color: inherit;
}

.blogPosts .blogComments
{
	margin-bottom: 0;
}

.blogPosts .blogComments > div > div
{
	padding: 10px 0;
	border: 1px solid currentColor;
	border-width: 1px 0 0 0;
}

.blogPosts .blogComments > div > div > div
{
	margin: 0 10px;
}

.blogPosts .blogComments .comment
{
	margin-top: 10px;
}

#featuredPosts
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#featuredPosts h2
{
	width: 100%;
	text-transform: uppercase;
}

#featuredPosts h2::after
{
	content: none;
}

@media screen and (min-width: 900px)
{
	#featuredPosts > div
	{
		width: calc(50% - 15px);
	}
}

#featuredPosts .blogPosts .results_list::after
{
	content: none;
}

@media (min-width: 500px)
{
	#featuredPosts .blogPosts > div > div
	{
		width: 100%;
		margin-top: 0;
		border: 0;
	}


	#featuredPosts .blogPosts > div > div .image img
	{
		max-height: 402px;
	}

	#featuredPosts .blogPosts + .blogPosts
	{
		padding-left: 230px;
		position: relative;
		box-sizing: border-box;
	}

	#featuredPosts .blogPosts + .blogPosts > div > div
	{
		min-height: 200px;
		box-sizing: border-box;

		padding: 0 0 1em;
		margin: 0 0 1em;
		border-bottom: 1px solid #DEDEDE;

		display: flex;
		flex-direction: column;
	}

	#featuredPosts .blogPosts + .blogPosts .title
	{
		flex-grow: 1;
	}

	#featuredPosts .blogPosts + .blogPosts .blogcategory::before
	{
		margin-top: 0;
	}

	#featuredPosts .blogPosts + .blogPosts .image
	{
		position: absolute;
		width: 200px;
		height: 200px;
		left: 0;
	}

	#featuredPosts .blogPosts + .blogPosts .image img
	{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

#featuredPosts .itemdate
{
	font-size: 16px;
	margin-top: 0;
}

#featuredPosts .blogPosts:first-of-type .itemdate
{
	margin-top: 32px;
}

#featuredPosts .blogPosts:first-of-type .title
{
	font-size: 36px;
}

#featuredPosts .blogPosts + .blogPosts .blogcategory:empty::before
{
	content: none;
}



/* fields within each blog post */
#featuredPosts .blogPosts + .blogPosts .title
{
	margin-top: 2px;
}

/* removed at client request
#postBanner
{
	min-height: 140px;
}
*/

.blog #pageTitle
{
	font-size: 2em;
	color: #48183F;

	margin-bottom: 20px;
}

@media (min-width: 920px)
{
	.blog #subContent
	{
		width: 30%;
		margin-right: 0;
	}
}

#blogShareBox
{
	display: flex;
	margin-bottom: 25px;
	padding-top: 166px;
}

#blogShareBox a
{
	display: flex;
	align-items: center;
	justify-content: center;

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

	background: #DC0028;

	margin-right: 15px;
}

#blogShareBox a.socialshare_button_print
{
	background: #48183F;
}

#blogShareBox a:hover,
#blogShareBox a:focus
{
	background: #AE001B;
}

.blog #subContent h2
{
	border-top: 0;
	padding-top: 0;
	margin-top: 100px;
}

.blog #blogShareBox + div h2
{
	margin-top: 50px;
}

#subContent .blogAuthorList ul,
#subContent .blogAuthorList li
{
	margin: 0;
	padding: 0;
}

#subContent .blogAuthorList li
{
	position: relative;
	padding: 0 0 0 153px;
	margin: 0 0 55px;

	min-height: 120px;

	display: flex;
	flex-direction: column;
}

.blogAuthorList .photo
{
	position: absolute;
	left: 0;

	border-radius: 50%;
	overflow: hidden;

	width: 120px;
	height: 120px;
}

.blogAuthorList .photo img
{
	width: 100%;
	height: 100%;
}

.blogAuthorList .title
{
	font-weight: bold;
}

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

.blogAuthorList .bioposition
{
	margin-bottom: 1em;
	flex-grow: 1;
}

#addComment
{
	border-top: 1px solid currentColor;
}

.blogtag
{
	line-height: 1.5;
	margin: 1em 0;
}

#blogPageLinks
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#blogPageLinks .nextPage,
#blogPageLinks .prevPage
{
	width: 0;
	height: 0;
	overflow: hidden;

	padding: 15px 0 0 24px;
	background: url(../i/blog-arrow.svgz) left 50% no-repeat;

	margin: 0 40px 0 17px;
}

#blogPageLinks .nextPage
{
	transform: rotate(180deg);
	margin: 0 17px 0 40px;
}

#blogPageLinks span.prevPage,
#blogPageLinks span.nextPage
{
	filter: grayscale(1);
	opacity: .2;
}

#blogPageLinks *:not(:first-child):not(:last-child)
{
	background: #F0F3F2;
	border-radius: 50%;
	width: 34px;
	height: 34px;
	line-height: 31px;

	display: block;
	text-align: center;

	color: #48183F;

	margin: 0 3px 6px;
}

#blogPageLinks a:not(:first-child):not(:last-child):hover,
#blogPageLinks a:not(:first-child):not(:last-child):focus
{
	background: #DC0028;
	color: white;
	text-decoration: none;
}

#blogPageLinks span:not(:first-child):not(:last-child)
{
	background: #48183F;
	color: white;
}

#mainContent #blogArchives .results_list
{
	column-count: 2;
}

@media (min-width: 480px)
{
	#mainContent #blogArchives .results_list
	{
		column-count: 3;
	}
}

#mainContent #blogArchives .results_list,
#mainContent #blogArchives .results_list > li
{
	display: block;
	list-style: none;
	margin: 0 0 15px 0;
}

#mainContent #blogArchives .results_list > li
{
	margin: 0;
	padding: 0;
}

#blogPageTitle
{
	padding-bottom: 36px;
	margin-bottom: 45px;
}

#blogPageTitle::after
{
	width: 50px;
}

.blogAuthors .title
{
	margin: 0 0 .3em 0;
	font-size: 1.3em;
}

.blogAuthors .photo img
{
	width: 100%;

	/*
		to calculate the height:
		(page width - page padding + wrapper negative margin)
		then, each <li> is calc(25% - 22px), so /4 and - 22px
		all that gives us the width, then times that by the image
		proportions, which is 315/378
	*/
	height: calc(((100vw - 40px + 22px) / 4 - 22px) * (315/378));
	max-height: 277px;
	min-height: 179px;

	object-fit: contain;
	background: #D6D6D6;
}

.blogAuthors ul,
.blogAuthors li
{
	list-style: none;
	margin: 0 0 10px 0;
}

.blogAuthors ul
{
	display: flex;
	flex-wrap: wrap;

	margin: 0 -11px;
}

.blogAuthors ul::after
{
	content: '';
}

.blogAuthors ul::after,
.blogAuthors li
{
	width: calc(25% - 22px);
	min-width: 215px;
	margin: 0 11px;

	overflow: hidden;
	padding-bottom: 10px;
}

.blogAuthors li
{
	margin-bottom: 3.875em;
}

@media (max-width: 548px )
{
	.blogAuthors li
	{
		margin-bottom: 2em;
	}
}

.blogAuthors .title
{
	color: #48183F;
	font-size: 24px;
}

.blogAuthors .title a,
.blogAuthors .email a
{
	color: inherit;
}

.blogAuthors .links
{
	padding-top: 18px;
}

.blogAuthors .links a
{
	margin-right: 22px;
}

.blogAuthors .links a::after
{
	content: ' ' url(../i/blog-caret.svgz);
}

#searchMessage.blogAuthors li
{
	padding-bottom: 0;
	border-bottom: 0;
}

.blogtagList
{
	margin: 1em 0;
}

.blogtagList *
{
	display: inline;
	margin: 0;
	padding: 0;
}

.blogtagList li:not(:last-child)::after
{
	content: ',';
}

.vlog .image
{
	position: relative;
}

.vlog .image a::before,
.vlog .image a::after
{
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	left: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 43.3px;
	border-color: transparent transparent transparent white;
}

.vlog .image a::before
{
	border-left-color: #808080;
	filter: blur(8px);
}

#blogFooter
{
	position: relative;
	background: #F0F3F2;

	padding: 26px 0;
}

#blogFooter > div
{
	height: 33px;
	line-height: 1;
}

#blogFooter img
{
	display: block;
}

#blogFooter > #footerSignup
{
	border: 0;
	height: auto;
}

#blogFooter h2
{
	font-size: 18px;
	padding: 0;
	margin: 20px 0 15px;
	white-space: nowrap;
}

#blogFooter h2::after
{
	content: none;
}

.emailSignupForm form
{
	display: flex;
	justify-content: flex-end;
}

.emailSignupForm form > p
{
	margin: 0;
	padding: 0;
	width: auto;
}

.emailSignupForm input
{
	height: 44px;
	border: 0;
}


@media (min-width: 800px)
{
	#blogFooter,
	#blogFooter > div
	{
		display: flex;
		align-items: center;
	}

	#blogFooter > div + div
	{
		border-left: 1px solid #707070;
		margin-left: 32px;
		padding-left: 32px;
	}

	#blogFooter h2
	{
		margin: 0 20px;
	}

	#blogFooter > #footerSignup
	{
		flex-grow: 1;
		display: flex;
		justify-content: flex-end;
	}

	.emailSignupForm form
	{
		flex-wrap: nowrap;
	}

	.emailSignupForm form > div > div:first-child
	{
		flex-grow: 1;
	}
}


#blogFooter label
{
	line-height: 28px;
}

#blogFooter a:not(:hover):not(:focus)
{
	color: inherit;
	font-weight: bold;
	font-size: 24px;
}

/**/

/* often copy/pasted from elsewhere */


/* Alignment */

figure
{
	margin: .5em 0;
}


.design-layout-inline
{
	max-width: 33%;
}

.design-layout-inline,
.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;
	box-sizing: border-box;
	background: transparent;
	border: none;
	text-align: left;
}

figure.image figcaption
{
	display: block !important;
	clear: both;
	padding: 5px 0 10px 0;
	font-size: 12px;
}


/* Home Page ------------------------------------------------------> */

#index #mainContent
{
	margin: 0;
	width: 100% !important;
	float: none !important;
	margin: 0;
	padding: 0;
}

#bannerImage
{
	position: absolute;
	width: calc(100% + 40px);
	left: -20px;
}

#homeAnimation
{
	position: relative;
	width: calc(100% + 40px);
	left: -20px;
}

#homeAnimation .sp_pencil
{
	position: absolute;
}

#homeAnimation ul,
#homeAnimation li
{
	list-style: none;
	margin: 0;
	width: 100%;
}

#homeBannerSearch
{
	position: absolute;
	top: calc(50% + 5px);
	z-index: 101;
	width: 100%;
}

#homeBannerSearch > div
{
	position: relative;
}

#homeAnimation li
{
	overflow: hidden;
	background: black;
}

#homeAnimation li:not(:first-child)
{
	display: none;
}

#homeAnimation li .image,
#homeAnimation li .imagemobile
{
	position: absolute;
	/*z-index: 2;*/
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

#homeAnimation li .image img,
#homeAnimation li .imagemobile img
{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right bottom;
}

#homeAnimation li .imagemobile img
{
	display: block;
	object-position: center top;
}

#homeAnimation li .image img
{
	display: none;
}

#homeAnimation li .mask
{
	content: '';
	position: absolute;
	/*z-index: 2;*/
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.45);
}

#homeAnimation > div,
#homeAnimation .results_list,
#homeAnimation li
{
	height: 100%;
}

#banner.full h1,
#banner.large h1,
#bannerTitle,
#homeAnimation .content
{
	position: relative;
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
}

#homeAnimation .introtitle
{
	margin-bottom: 15px;
	color: #E71435;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 900;
	line-height: normal;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

#banner.light,
#homeAnimation .content
{
	color: white;
}


#banner.full,
#banner.large,
#homeAnimation .content
{
	padding: 100px 0 165px;
}

#banner.largeBlog
{
	padding: 0;
}

#homeAnimation .content
{
	height: calc(100% - 150px);
	min-height: 590px;
	margin: 0px;
	padding: 0px 0 80px 20px;
	width: 100vw;
	max-width: calc(100vw - 40px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
	box-sizing: border-box;
	/*filter: drop-shadow(10px 4px 10px rgba(0, 0, 0, 0.25));*/
}

#banner.largeArea
{
	padding-bottom: 0;
}

#banner.full h1,
#banner.large h1,
#bannerTitle,
#homeAnimation .title
{
	position: relative;
	margin-bottom: .25em;
	font-size: 4.8rem;
	line-height: 1;
	font-weight: 700;
}

@media (max-width: 450px)
{
	#homeAnimation .abstract
	{
		font-size: 14px;
		margin: 0;
	}
}

@media (max-width: 550px)
{
	#banner.full h1,
	#banner.large h1,
	#bannerTitle,
	#homeAnimation .title
	{
		font-size: 26px;
		margin-bottom: .5em;
	}
}

@media (max-width: 750px)
{
	#banner.full h1,
	#banner.large h1,
	#bannerTitle,
	#homeAnimation .title
	{
		font-size: 30px;
	}
}

#banner.largeArea h1
{
	text-align: left;
	margin: 0;
}

@media (min-width: 1025px)
{
	#homeAnimation .content
	{
		min-height: auto;
		padding: 0px 0 80px max(16px, 13.8vw);
		max-width: calc(680px + max(16px, 13.8vw));
	}

	#banner.largeArea h1
	{
		font-size: 72px;
		line-height: 0.97;
	}

	#homeAnimation li .imagemobile img
	{
		display: none;
	}

	#homeAnimation li .image img
	{
		display: block;
	}

	#homeAnimation li .mask
	{
		background: none;
		background-image: linear-gradient(to right, rgba(0,0,0,0.50) 30%, transparent);
	}
}

#inlineBanner h1::before,
#banner.full h1::before,
#banner.large h1::before,
#bannerTitle::before
/*#homeAnimation .title::before*/
{
	content: '';
	position: absolute;
	top: -35px;
	left: calc(50% - 9px);
	display: block;
	width: 19px;
	height: 18px;
	background: url('../i/pillar.svgz') no-repeat; /* data-uri */
}

#inlineBanner h1::before,
#banner.largeArea h1::before
{
	left: 0;
}

#banner.full p,
#banner.large p
{
	margin: 0 0 20px;
}

#jumplink
{
	position: absolute;
	bottom: 14px;
	left: calc(50% - 21px);
	display: block;
	width: 42px;
	height: 42px;
}

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

#homeAnimation #jumplink
{
	z-index: 199;
}

#bannerSearch,
#homeBannerSearch > div
{
	max-width: 500px;
	margin: 0 auto;
}

#bannerSearch
{
	margin-top: 36px;
}

.small #bannerSearch
{
	max-width: 500px;
	margin: 0;
}

#homeAnimation #homeAnimationNav
{
	display: none;
}

#bannerSearch
{
	position: relative;
	z-index: 101;
}

#bannerSearch form button,
.searchIconButton button,
#homeBannerSearch button,
#siteSearch button[type=submit]
{
	position: absolute;
	top: 3px;
	right: 4px;
	background: none;
	border: none;

	padding: 8px;
	margin: 0;
}

#bannerSearch button img,
#homeBannerSearch button img,
#siteSearch button img
{
	height: 20px;
	display: block;
}

#homeBannerSearch input
{
	font-size: 3.8vw;
	border: none;
}

#banner input,
#bannerSearch
{
	border-color: transparent;
}

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

.blockList
{
	position: relative;
	padding: 55px 0;
	background: linear-gradient(to right, #e6e7e8, #e6e7e8);
}

.blockList h2
{
	margin-top: 0;
	margin: 0 0 24px;
}

.newBlockList h2
{
	font-size: 4.6rem;
}

.blockList .formFooter
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-weight: 700;
}

.blockList .formFooter a:last-child
{
	min-width: 158px;
	margin: 0 0 0 25px;
}

.blockList > div:first-child
{
	margin: 0 0 30px;
}

.blockList .itemList li
{
	margin: 0 0 24px;
	box-sizing: border-box;
	background: #ffffff;
	position: relative;
}

.blockList .itemList li a.sp_pencil
{
	position: absolute;
	top: 5px;
	left: 5px;
}

.blockList .itemList li a
{
	position: relative;
	display: block;
	height: 100%;
	min-height: 270px;
	padding: 20px 22px 80px;
	background: #ffffff;
	box-sizing: border-box;
	color: inherit;
	text-decoration: none;
}

.newBlockList .itemList li a
{
	display: flex;
	flex-direction: column;
	min-height: 166px;
	/* padding: 20px 100px 20px 22px; */
	padding: 20px 100px 20px 22px;
}

.newBlockList #insightsSpot1 .itemList li a
{
	padding-right: 22px;
	padding-bottom: 20px;
}

.blockList .itemList li a:hover,
.blockList .itemList li a:focus
{
	background: #491840;
	color: #ffffff;
}

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

.blockList .itemList li a:hover::after,
.blockList .itemList li a:focus::after
{
	content: '';
	position: absolute;
	right: 22px;
	bottom: 20px;
	width: 22px;
	height: 22px;
	background: url('../i/arrow-red.svgz') no-repeat; /* data-uri */
}

.newBlockList .itemList li a:hover,
.newBlockList .itemList li a:focus
{
	background: none;
	color: unset;
}

.newBlockList .itemList li:hover,
.newBlockList .itemList li:focus
{
	transform: scale(1.01);
	transition: transform 250ms ease-in;
	box-shadow: 5px 4px 5px #ccc;
}

.newBlockList .itemList li a:hover .title,
.newBlockList .itemList li a:focus .title
{
	text-decoration: underline;
}

.newBlockList .itemList li a:hover::after,
.newBlockList .itemList li a:focus::after
{
	background: none;
}

.newBlockList .itemList li:first-child .image
{
	overflow: hidden;
}

.newBlockList .itemList li:first-child .icon
{
	z-index: 2;
}

.newBlockList .itemList li:first-child:hover .image img,
.newBlockList .itemList li:first-child:focus .image img
{
	transform: scale(1.05);
	transition: transform 250ms ease-in;
}

.blockList .pubType
{
	font-size: 14px;
	text-transform: uppercase;
	color: #808285;
	font-weight: 900;
}

.newBlockList .itemList li a:hover .pubType,
.newBlockList .itemList li a:focus .pupType
{
	color: #808285;
}

.blockList .pubType::after,
.newsroomList .dateHeader::after,
#bioTitle::after
{
	content: '';
	display: block;
	height: 5px;
	width: 24px;
	margin: 12px 0 14px;
	background: #e71435;
}

.newBlockList .pubType::after
{
	display: none;
}

body.newInsightsResults .newsroomList .dateHeader::after
{
	display: none;
}

.blockList .icon
{
	position: absolute;
	top: 0;
	right: 0;
	width: 36px;
}

.blockList .icon img
{
	display: block;
	width: 100%;
	height: auto;

	background: #e8193a;
}

.blockList .title
{
	font-size: 24px;
	line-height: 28px;
	color: #491840;
	font-weight: 700;
}

.blockList .title ~ div
{
	margin-top: .5em;
}

.blockList .itemdate
{
	/* position: absolute; */ /*  unsure why this is absolute positioned.  It breaks on about-probono, so if this change has broken something somewhere else, make sure to account for the probono page when fixing */
	bottom: 20px;
	left: 22px;
}

#homeSpot .bottomInfo
{
	display: flex;
	align-items: center;
	gap: 40px;
	margin-top: auto;
}

#homeSpot .itemList li:first-child .bottomInfo
{
	margin-top: 0.5em;
}

#homeSpot .itemList li:not(:first-child) .bottomInfo::after
{
	content: "";
	display: inline-block;
	width: 15px;
	height: 12px;
	margin-left: -20px;
	background: url('../i/arrow-red.svgz') no-repeat; /* data-uri */
	background-size: 15px 12px;
}

.newBlockList .itemdate
{
	position: relative;
	bottom: unset;
	left: unset;
}

#homeSpot.newBlockList .itemList li:not(:first-child) a
{
	background: none;
}

#purpleContent
{
	position: relative;
}

#purpleContent.textBucketCenter
{
	max-width: 1200px;
	padding: 72px 0 50px;
	color: #ffffff;
	background: #491840;
}

#purpleContent > *
{
	color: inherit;
}

.textBucketCenter > img
{
	display: block;
	margin: 0 auto 30px;
}

.bioSpotlight,
#careerNumbers
{
	position: relative;
	padding: 77px 0;
	background: #f2f3f3;
}

.bioSpotlight#careersBioSpotlight
{
	padding: 77px 0 0 0;
}

body#index .bioSpotlight
{
	background: none;
}

.bioSpotlight h2,
#careerNumbers h2
{
	position: relative;
	padding-top: 30px;
	margin: 0 0 30px;
	text-align: center;
	background: url('../i/pillar.svgz') center top no-repeat; /* data-uri */
	background-size: 16px 18px;
}

.bioSpotlight ul,
#careersrSpot ul
{
	margin: 0;
}

.bioSpotlight li,
#careersSpot li
{
	position: relative;
	margin: 0 0 35px;
	list-style: none;
}

.bioSpotlight .photo,
#careersSpot .image
{
	margin: 0 0 10px;
}

.bioSpotlight .photo img,
#careersSpot .image img
{
	display: block;
	width: 100%;
	height: auto;
}

.bioSpotlight .title,
#careersSpot .title
{
	font-size: 24px;
	font-weight: 700;
	color: #414042;
}

.bioSpotlight .title a:not(:hover):not(:focus),
#careersSpot .title a:not(:hover):not(:focus)
{
	color: inherit;
}

.bioSpotlight .bioposition
{
	margin: 0 0 12px;
	font-size: 18px;
}

.bioSpotlight ul.slick-slider
{
	margin: 0 18px;
}

@media (min-width: 450px)
{
	#homeBannerSearch input
	{
		font-size: 1.6rem;
	}

	.bioSpotlight#careersBioSpotlight ul li
	{
		padding-bottom: 28px;
	}
}

@media (min-width: 600px)
{
	.blockList ul
	{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -12px;
	}

	.blockList .itemList li,
	.blockList .results_list li
	{
		width: calc(50% - 24px);
		margin: 0 12px 24px;
	}

	#homeSpot.blockList .itemList li:last-child
	{
		margin-bottom: 0px;
	}

	.bioSpotlight ul,
	#careersSpot ul
	{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -18px;
	}

	.bioSpotlight ul li,
	#careersSpot ul li
	{
		width: calc(50% - 36px);
		padding-bottom: 58px;
		margin: 0 18px 36px;
		box-sizing: border-box;
	}

	.bioSpotlight#careersBioSpotlight ul li
	{
		padding-bottom: 18px;
	}

	.bioSpotlight#careersBioSpotlight ul li
	{
		padding-bottom: 0px;
	}

	.bioSpotlight .readmore a:not(.sp_pencil)
	{
		position: absolute;
		bottom: 0;
		left: 0;
		margin: 0;
	}

	/*.bioSpotlight .title,
	#careersSpot .title
	{
		font-size: 24px;
	}*/

	#homeSpot ul
	{
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		position: relative;
	}
}

#banner.full,
#banner.large
{
	height: calc(100vh - 50px);
	min-height: 600px;
	max-height: 841px;

	box-sizing: border-box;
}

#banner.largeArea
{
	min-height: 0;
	height: auto;
	padding: 140px 0 40px 0;
}

#banner.largeBlog
{
	min-height: 0;
	max-height: 299px;
}

#homeAnimation
{
	max-height: 620px;
	box-sizing: border-box;
}

#bioCarousel
{
	position: relative;
	width: calc(100% + 40px);
	margin: 50px 0 0 -20px;
	background: #491840;
}

#bioCarousel .readmore
{
	margin-bottom: 30px;
}

#bioCarousel button.slick-next,
#bioCarousel button.slick-prev
{
	z-index: 500;
	top: unset;
	bottom: 20px;
	left: unset;
	right: 30px;
	width: 24px;
	height: 24px;
	background: #fff url('../i/arrow-red.svgz') center no-repeat; /* data-uri */
	background-size: 10px 8px;
	border-radius: 24px;
	transform: rotate(0deg);
}

#bioCarousel button.slick-prev
{
	right: 60px;
	transform: rotate(-180deg);
}

#bioCarousel button:hover,
#bioCarousel button:focus
{
	background-color: rgba(255, 255, 255, 0.30) !important;
}

#bioCarousel div.slick-list
{
	position: relative;
}

#bioCarousel li
{
	display: none;
	color: #fff;
	box-sizing: border-box;
}

#bioCarousel li .whiteStripe
{
	display: none;
	position: absolute;
	z-index: 10;
	top: 0px;
	left: -5px;
	width: calc(100% + 10px);
	height: 104px;
	background: white;
}

#bioCarousel li .redWedge
{
	content: '';
	display: block;
	position: absolute;
	z-index: 10;
	bottom: 0px;
	margin: 0px auto;
	width: 100%;
	height: 100%;
	max-height: 333px;
	background: url('../i/bio-carousel-wedge.svg') center bottom no-repeat; /* data-uri */
	background-size: auto calc(100% - 52px);
}

#bioCarousel div.slick-list li
{
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

#bioCarousel h2,
#bioCarousel h2 a
{
	color: #fff;
}

#bioCarousel h2
{
	margin-top: 10px;
}

#bioCarousel li .info
{
	position: relative;
	z-index: 10;
	flex-grow: 0;
	flex-shrink: 1;
	padding-top: 30px;
	padding-left: 20px;
	padding-right: 20px;
}

#bioCarousel li .snapshottitle
{
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: #E71435;
}

#bioCarousel li .photo
{
	position: relative;
	margin-right: 119px;
}

#bioCarousel li .photo img
{
	display: block;
	position: relative;
	z-index: 10;
	height: 100%;
	max-height: 320px;
	margin: 0px auto;
	object-fit: cover;
	object-position: bottom;
	aspect-ratio: 1/1;
}

#bioCarousel li .next
{
	position: absolute;
	right: 40px;
	bottom: 60px;
	z-index: 500;
	transform: rotate(90deg);
	transform-origin: right;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.8px;
}

#bioCarousel li .next span
{
	display: inline-block;
	margin: 0 10px 0 0;
	color: #E71435;
	font-size: 1.4rem;
	text-transform: uppercase;
}

@media (min-width: 1025px)
{
	#bioCarousel
	{
		width: 100%;
		margin: 100px 0px;
	}

	#bioCarousel li .info
	{
		padding-top: 104px;
		padding-left: max(16px, 8vw);
		padding-right: 0px;
		max-width: 450px;
	}

	#bioCarousel li
	{
		min-height: 604px;
	}

	#bioCarousel div.slick-list li
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	#bioCarousel li .whiteStripe
	{
		display: block;
	}

	#bioCarousel li .redWedge
	{
		bottom: 0px;
		right: 60px;
		margin: unset;
		width: 100%;
		height: 100%;
		max-height: unset;
		background-size: auto calc(100% - 52px);
		background-position: right bottom;
	}

	#bioCarousel li .photo img
	{
		min-width: 604px;
		max-height: unset;
		max-height: 670px;
		margin: unset;
	}

	#bioCarousel .readmore
	{
		margin-bottom: unset;
	}
}

#homeDiversity
{
	position: relative;
	margin: 50px 0px;
}

#index #purpleContent.textBucketCenter
{
	padding: 30px 0 10px 0px;
}

#homeDiversity ul.results_list > li
{
	position: relative;
	margin: 0;
	padding: 0;
}

#homeDiversity ul.results_list > li
{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}

#homeDiversity ul.results_list > li .image,
#homeDiversity ul.results_list > li .content
{
	position: relative;
	width: 100%;
}

#homeDiversity ul.results_list > li .image img
{
	display: block;
	width: 100%;
}

#homeDiversity ul.results_list > li .content .introtitle
{
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

#homeDiversity ul.results_list > li .content .title h3
{
	color: #491840;
	margin-top: 10px;
	margin-bottom: 30px;
}

#homeImpact
{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	width: 100%;
	margin: 50px 0px;
}

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

#homeImpact .content .introtitle
{
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

#homeImpact .content .title h3
{
	color: #491840;
	margin-top: 10px;
	margin-bottom: 30px;
	font-size: 4.6rem;
}

#homeImpact #careersTeasers
{
	width: 100%;
}

#homeImpact #careersTeasers ul.results_list
{
	display: flex;
	flex-direction: column;
	gap: 32px;
	position: relative;
	margin: 0;
	padding: 0;
}

#homeImpact #careersTeasers ul.results_list li:hover,
#homeImpact #careersTeasers ul.results_list li:focus
{
	transform: scale(1.01);
	transition: transform 250ms ease-in;
	box-shadow: 5px 4px 5px #ccc;
}

#homeImpact #careersTeasers ul.results_list > li > a
{
	display: block;
	position: relative;
	height: 100%;
	background: #f5f5f5;
}

#homeImpact #careersTeasers ul.results_list li a:hover,
#homeImpact #careersTeasers ul.results_list li a:focus
{
	text-decoration: none;
}

#homeImpact #careersTeasers ul.results_list > li .image
{
	position: relative;
	width: 100%;
	height: 160px;
	overflow: hidden;
}

#homeImpact #careersTeasers ul.results_list > li .image img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#homeImpact #careersTeasers ul.results_list li:hover .image img,
#homeImpact #careersTeasers ul.results_list li:focus .image img
{
	transform: scale(1.05);
	transition: transform 250ms ease-in;
}

#homeImpact #careersTeasers ul.results_list > li .content
{
	position: relative;
	z-index: 5;
	width: 100%;
	padding: 20px;
	padding-right: 0px;
	box-sizing: border-box;
	color: #404040;
	font-size: 1.4rem;
}

#homeImpact #careersTeasers ul.results_list > li .content h4
{
	color: #491840;
	font-size: 3.2rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: -0.1px;
}

#homeImpact #careersTeasers ul.results_list > li .readmore
{
	position: absolute;
	top: 160px;
	right: 0px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 60px 60px 0;
	border-color: transparent #E71435 transparent transparent;
}

#homeImpact #careersTeasers ul.results_list > li:hover .readmore,
#homeImpact #careersTeasers ul.results_list > li:focus .readmore
{
	border-color: transparent #333 transparent transparent;
}

#homeImpact #careersTeasers ul.results_list > li .readmore:after
{
	content: '';
	display: block;
	position: absolute;
	top: 11px;
	right: -51px;
	width: 21px;
	height: 15px;
	background: url('../i/arrow-white.svgz') center no-repeat; /* data-uri */
}

#homeImpact #careersTeasers ul.results_list > li a.sp_pencil
{
	position: absolute;
}

@media (min-width: 768px)
{
	#homeDiversity
	{
		margin: 100px 0px;
	}

	#homeDiversity ul.results_list > li
	{
		flex-direction: row;
		gap: 80px;
	}

	#homeDiversity ul.results_list > li .image,
	#homeDiversity ul.results_list > li .content
	{
		width: 50%;
	}

	#index #purpleContent.textBucketCenter
	{
		padding: 72px 0 50px;
	}

	#homeImpact
	{
		flex-direction: row;
		gap: 80px;
		margin: 100px 0px;
	}

	#homeImpact #careersTeasers ul.results_list > li > a
	{
		display: flex;
		/*align-items: center;*/
	}

	#homeImpact #careersTeasers
	{
		width: 60%;
	}

	#homeImpact .content
	{
		/*width: 50%;*/
		max-width: 446px;
	}

	#homeImpact #careersTeasers ul.results_list > li .image
	{
		width: 356px;
		height: auto;
	}


	#homeImpact #careersTeasers ul.results_list > li .readmore
	{
		top: 0px;
	}
}

/* blog listing */

#blogListing
{
	margin: 3em 0px;
}

#blogListing ul.results_list,
#blogListing ul.results_list > li
{
	display:block;

	list-style: none;
	margin: 0;
	padding: 0;
}

#blogListing ul.results_list > li
{
	display: flex;
	flex-direction: column;
	margin-bottom: 35px;
}

@media (min-width: 870px)
{
	#blogListing ul.results_list
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#blogListing ul.results_list > li
	{
		width: calc(33.3% - 20px);
		box-sizing: border-box;
		margin-bottom: 0;
	}
}

#blogListing .listing
{
	display: flex;
	align-items: flex-start;
	justify-content: center;

	height: 86px;
	margin-bottom: 20px;
}

#blogListing .listing img
{
	display: block;
	max-height: 86px;
	max-width: 100%;
}

#blogListing .view_more
{
	flex-grow: 1;

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

}

body#insights-podcasts #threeColLeft,
body#insights-podcasts #threeColRight
{
	display: none; /* yes, odd */
}

body#insights-podcasts #threeColMiddle
{
	max-width: 1420px;
	margin-left: auto;
	margin-right: auto;
}

body#insights-podcasts #resultsUpperSearch,
body#insights-podcasts .newsroomList,
body#insights-podcasts #resultPageLinks
{
	max-width: 952px;
	margin-left: auto;
	margin-right: auto;
}

h1#newsletterHeading
{
	margin-top: 1em;
}

.podland
{
	position: relative;
	z-index: 0;
}

.podlandHighlight
{
	margin-top: 3em;
}

.podlandCarousel
{
	margin-bottom: 3em;
}

.podland ul.results_list
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	padding: 0;
	margin: 0;
	list-style: none;
}

.podland ul.results_list li
{
	position: relative;
	overflow: hidden;

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

	color: white;

	padding: min(2.2vw, 30px);
	margin: 0 0 20px;

	width: 49%;
	height: min(286px, calc( (100vw - 40px - 25px) / 2 * .41 ));

	box-sizing: border-box;

	font-size: min(1.4vw, 20px);
}

.podland.podlandCarousel ul.results_list li
{
	width: 23.66%;
	height: min(286px, calc( (100vw - 40px - 75px) / 4 * .86 ));
}

.podland ul.results_list li a
{
	color: inherit;
}

.podland li div
{
	position: relative;
	z-index: 1;
}

.podland div.image
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	background: black;
}

.podland .image img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 100% 20%;
	object-position: center;
}

.podland a:hover::after,
.podland a:focus::after
{
	content: '';
	position: absolute;
	right: 22px;
	bottom: 20px;
	width: 22px;
	height: 22px;
	background: url('../i/arrow-white.svgz') no-repeat; /* data-uri */
}

.podland .iconImage
{
	position: absolute;
	top: 0;
	right: 0;
	width: min(3.2vw, 45px);
}

.podland .iconImage img
{
	width: 100%;
	background: #e8193a;
}

.podland .title
{
	font-size: max(16px, min(1.9vw, 27px));
	font-weight: bold;
	line-height: 1.1;
	padding-bottom: .3em;
}

.podland.podlandHighlight li .title
{
	max-width: 550px; /* force big titles to wrap a little tighter */
	font-size: max(20px, min(3vw, 42px));
}

/* if only title and image, move the title up a bit */
.podland.podlandHighlight li .title:nth-last-child(2)
{
	padding-bottom: 1.5em;
}

.podland p:first-child
{
	margin-top: 0;
}

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

.podland .sp_pencil
{
	position: absolute;
	right: 5px;
	bottom: 5px;

	z-index: 1;
}

.podland.podlandCarousel ul.results_list li.slick-slide
{
	margin: 0 10px; /* Adjust the spacing between slides */
}

.podland.podlandCarousel .slick-list
{
	margin: 0 -10px; /* Compensates for the slide margins */
}

.podland.podlandCarousel button.slick-next,
.podland.podlandCarousel button.slick-prev
{
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 5;
	top: calc(50% - 22px);
	left: -45px;
	width: 44px;
	height: 44px;
	background-position: center;
	border-radius: 44px;
}

.podland.podlandCarousel button.slick-next
{
	left: auto;
	right: -45px;
}

@media (max-width: 1510px)
{
	.podland.podlandCarousel button.slick-prev
	{
		left: 10px;
	}

	.podland.podlandCarousel button.slick-next
	{
		right: 10px;
	}

	.podland.podlandCarousel button.slick-next,
	.podland.podlandCarousel button.slick-prev
	{
		background-color: rgba(255,255,255,0.80);
	}

	.podland.podlandCarousel button.slick-next:is(:hover),
	.podland.podlandCarousel button.slick-prev:is(:hover)
	{
		background-color: rgba(255,255,255,0.94);
	}
}

@media (max-width: 768px)
{
	.podland.podlandCarousel
	{
		margin-bottom: 3.5em;
	}

	.podland ul.results_list li
	{
		width: 100%;
		height: min(286px, calc( (100vw - 40px - 25px) * .41 ));

		font-size: min(2.8vw, 40px);
	}

	.podland.podlandCarousel ul.results_list li
	{
		width: 49%;
		height: min(286px, calc( (100vw - 40px - 75px) / 2 * .86 ));
	}

	.podland .iconImage
	{
		width: min(6.4vw, 45px);
	}

	.podland .title
	{
		font-size: min(3.7vw, 44px);
	}

	.podland.podlandHighlight li .title
	{
		font-size: min(5.5vw, 54px);
	}
}

@media (max-width: 500px)
{
	.podland.podlandCarousel ul.results_list li
	{
		width: 100%;
		height: 360px;
		padding-left: 65px;
		padding-right: 65px;
	}
}



/*	The positioning of the text on the homepage keeps getting adjusted back and forth.
	This is probably the 2nd or 3rd time I've been asked to "fix" this because there is
	too much space above it.  Before making any major adjustments, include the other
	 programmer so that each understands why the adjustment is being made and to make
	 sure the "fix" doesn't get "fixed" again
*/
#homeAnimation li
{
	box-sizing: border-box;
}

#homeAnimation #homeAnimationNav
{
	display: flex;
	align-items: center;
	gap: 10px;
	position: absolute;
	z-index: 199;
	bottom: 40px;
	left: 20px;
	width: auto;
	height: auto;
}

#homeAnimation #homeAnimationNav #pager
{
	display: none;
}

#homeAnimation #homeAnimationNav #pager button
{
	position: relative;
	width: 16px;
	height: 16px;
	background: none;
	border: 2px solid #fff;
	border-radius: 16px;
	color: transparent;
	font-size: 1rem;
}

#homeAnimation #homeAnimationNav #pager button.current,
#homeAnimation #homeAnimationNav #pager button:is(:hover,:focus)
{
	background: #E71435;
}

#homeAnimation #nextSlide,
#homeAnimation #prevSlide
{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	/*background: rgba(217, 217, 217, 0.20);*/
	background: none;
	border: none;
	border-radius: 36px;
	/*transform: rotate(-45deg);*/
	cursor: pointer;
	box-sizing: border-box;
}

#homeAnimation #prevSlide
{
	transform: rotate(180deg);
}

#homeAnimation #nextSlide img,
#homeAnimation #prevSlide img
{
	display: block;
	width: 16px;
	height: 15px;
	/*transform: rotate(-45deg);*/
}

#homeDiscussing
{
	position: relative;
	z-index: 100;
	width: calc(100% + 40px);
	margin: 0 0 0 -20px;
	padding: 34px 20px 48px;
	background-color: #EAE7DF;
	box-sizing: border-box;
	color: #414042;
}

#homeDiscussing h2
{
	margin-top: 10px;
	color: #491840;
	font-size: 4.6rem;
	font-weight: 700;
	letter-spacing: -0.8px;
}

#homeDiscussing h2:after
{
	display: none;
}

.tinySubTitle
{
	color: #E71435;
	/*font-feature-settings: 'liga' off, 'clig' off;*/
	/*font-family: "Neuzeit Grotesk";*/
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 900;
	line-height: normal;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

#homeDiscussing #pageSpot
{
	width: 100%;
}

#homeDiscussing #pageSpot ul
{
	display: flex;
	flex-direction: column;
	gap: 21px;
}

#homeDiscussing #pageSpot ul.results_list > li
{
	height: 220px;
	overflow: hidden;
	width: 100%;
}

#homeDiscussing #pageSpot ul.results_list > li a:not(.sp_pencil)
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

#homeDiscussing #pageSpot ul.results_list > li .image
{
	position: relative;
	z-index: 5;
	width: 100%;
	height: 100%;
}

#homeDiscussing #pageSpot ul.results_list > li .image img
{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#homeDiscussing #pageSpot ul.results_list > li .image:before
{
	content: '';
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	border-top: 220px solid #E8193A;
	border-right: 60px solid transparent;
	height: 0;
	width: 60px;
	transition: width 0.3s ease-in-out;
}

#homeDiscussing #pageSpot ul.results_list > li a:not(.sp_pencil):hover .image:before,
#homeDiscussing #pageSpot ul.results_list > li a:not(.sp_pencil):focus .image:before
{
	width: calc(100% - 65px);
}

#homeDiscussing #pageSpot ul.results_list > li .title
{
	color: #ffffff;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.15;
	width: 80%;
}

#homeDiscussing #pageSpot ul.results_list > li a:not(.sp_pencil):hover .title,
#homeDiscussing #pageSpot ul.results_list > li a:not(.sp_pencil):focus .title
{
	font-size: 3.6rem;
	font-weight: 400;
	 line-height: 1.1;
}

#homeDiscussing #pageSpot ul.results_list > li .info
{
	position: absolute;
	left: 0px;
	bottom: 0px;
	z-index: 6;
	width: 100%;
	padding: 10px 20px 30px;
	color: #ffffff;
	box-sizing: border-box;
}

#homeDiscussing #pageSpot ul.results_list > li .info .abstract
{
   display: none;
   max-height: 0; /* Initially collapsed */
   overflow: hidden; /* Prevent content from spilling out */
   opacity: 0;
   transition: max-height 250ms ease-in-out, opacity 0 ease-in-out;
}

#homeDiscussing #pageSpot ul.results_list > li .info .abstract p
{
	margin-bottom: 0;
	padding-bottom: 0;
}

#homeDiscussing #pageSpot ul.results_list > li a:not(.sp_pencil):hover .info .abstract,
#homeDiscussing #pageSpot ul.results_list > li a:not(.sp_pencil):focus .info .abstract
{
   max-height: 220px;
   opacity: 1;
   transition: max-height 400ms ease-in-out, opacity 300ms ease-in-out;
}

#homeSpot li:nth-child(-n + 1)
{
	width: calc(100% - 24px);
	/*min-height: 354px;*/
	height: 100%;
	align-self: flex-start;
}

#homeSpot li:nth-child(-n + 1) a
{
	padding-right: 26px;
}

#homeSpot li:not(:first-child) .icon
{
	display: none;
}

#homeSpot li:nth-child(-n + 1) .icon
{
	top: 358px;
	right: unset;
	left: 26px;
	width: 46px;
	height: 46px;
}

#homeSpot li:nth-child(-n + 1) .title
{
	position: relative;
	margin-bottom: 24px;
	padding-bottom: 25px;
	font-size: 36px;
	line-height: 38px;
}

#homeSpot li:nth-child(-n + 1) .image
{
	background: gray;
	height: 390px;
	min-height: 390px;
	margin: -20px -26px 38px -22px;
}

#homeSpot li:nth-child(-n + 1) .image img
{
	display: block;
	width: 100%;
	/*height: auto;
	aspect-ratio: 690/390;*/
	min-height: 390px;
	height: 100%;
	object-fit: cover;
}

#homeSpot.blockList .itemList li,
#homeSpot.blockList .itemList li > div:first-child > div:first-child
{
	max-width: 100%;
	width: 100%;
}

/*#homeSpot.blockList .itemList li > a > div,*/
#insightsSpot2 .itemList ul.results_list > li > a > div
{
	position: relative;
	z-index: 10;
	margin-bottom: auto;
}

#homeSpot.blockList .itemList li > a,
#insightsSpot2 .itemList ul.results_list > li > a
{
	overflow: hidden;
	z-index: 1;
}

#homeSpot.blockList .itemList li .wedgeimage,
#insightsSpot2 .itemList ul.results_list > li .wedgeimage
{
	position: absolute;
	/* z-index: 5; */ /* I'm not sure where this all applies, but on the homepage, it covers the "Featured insights" text with a z-index of 5 */
	z-index: -1;
	top: 0px;
	right: 0px;
	width: 166px;
	height: 100%;
	overflow: hidden;
}

#insightsSpot2 .itemList ul.results_list > li .wedgeimage
{
	margin-top: 0;
}

#homeSpot.blockList .itemList li .wedgeimage:after,
#insightsSpot2 .itemList ul.results_list > li .wedgeimage:after
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: white; /* Opaque black mask */
	clip-path: polygon(0% 0%, 75% 0%, 40% 100%, 0% 100%); /* Defines the trapezoid shape */
	clip-path: polygon(0% 100%, 75% 100%, 40% 0%, 0% 0%);
	pointer-events: none; /* Ensure the mask doesn’t interfere with clicks on the image */
	transform: scale(1.1);
}

#homeSpot.blockList .itemList li .wedgeimage img,
#insightsSpot2 .itemList ul.results_list > li .wedgeimage img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: white;
	margin-left: 1px;
}

@media (min-width: 600px)
{
	#homeSpot.blockList .itemList li,
	#homeSpot.blockList .itemList li > div:first-child > div:first-child
	{
		max-width: calc(100% - 24px);
		width: calc(100% - 24px);
	}
}

@media (min-width: 1024px)
{
	#homeSpot > div:first-child
	{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}

	#homeSpot > div:first-child > div
	{
		width: 50%;
	}

	#homeDiscussing
	{
		width: 100%;
		margin: -150px 0 0 0px;
		padding: min(50px, 3.5vw) min(70px, 4.5vw) min(80px, 5vw);
		border: 10px solid #fff;
	}

	#homeDiscussing #pageSpot ul
	{
		flex-direction: row;
	}

	#homeDiscussing #pageSpot ul.results_list > li
	{
		width: calc(33.33% - 14px);
	}

	#banner.full,
	#banner.large,
	#homeAnimation
	{
		height: calc(100vh - 80px);
	}

	#homeAnimation
	{
		overflow: hidden;
	}

	#banner.large
	{
		max-height: 670px;
	}

	#banner.largeArea
	{
		max-height: 570px;
		padding-bottom: 0;
	}

	#banner.largeBlog
	{
		min-height: 0;
		max-height: 299px;
	}

	.blog #banner::after
	{
		content: none;
	}

	#banner::after
	/*#homeAnimation::after*/
	{
		content: '';

		position: absolute;
		bottom: -1px;
		right: 0;
		z-index: 101;

		display: block;
		width: 100%;
		height: 80px;
		background: url('../i/w-white.svgz') bottom right no-repeat; /* data-uri */
		background-size: 124px;
	}

	#banner::after
	{
		right: calc(50% - 50vw);
	}

	#banner.full:not(.light)::after,
	#banner.large:not(.light)::after
	{
		background-image: url('../i/w-purple.svgz');
	}

	#banner.small:not(.light)::after
	{
		background-image: url('../i/w-red.svgz');
		right: calc(50% - 50vw);
	}

	#homeAnimation > div,
	#homeAnimation .results_list,
	#homeAnimation li,
	#homeBannerSearch
	{
		height: 100%;
	}

	#homeAnimation .title
	{
		font-size: 3.6rem;
		line-height: 3.6rem;
	}

	#homeAnimation #homeAnimationNav
	{
		bottom: 180px;
		left: 0px;
		margin-left: max(16px, 13.8vw);
	}

	#homeAnimation #homeAnimationNav #pager
	{
		position: relative;
		height: 100%;
		display: flex;
		align-items: center;
		gap: 10px;
	}

	#jumplink
	{
		width: 60px;
		height: 60px;
		bottom: 48px;
		left: calc(50% - 30px)
	}

	#homeBannerSearch input
	{
		font-size: 1.8rem;
		padding-left: 20px;
	}

	#purpleContent::after
	{
		content: '';
		position: absolute;
		bottom: 0;
		right: calc(50% - 50vw);
		display: block;
		width: 132px;
		height: 80px;
		background: url('../i/w-red.svgz') no-repeat; /* data-uri */
		background-size: 132px 80px;
	}

	body#index #purpleContent::after
	{
		display: none;
	}

	.bioSpotlight ul li,
	#careersSpot ul li
	{
		width: calc(25% - 36px);
		min-height: 660px;
		padding-bottom: 58px;
		margin: 0 18px 36px;
	}

	.bioSpotlight#careersBioSpotlight ul li
	{
		min-height: 550px;
		padding-bottom: 0px;
	}

	#homeDiscussing #pageSpot ul.results_list > li .info .abstract
	{
		display: block;
	}

	#homeSpot li:nth-child(-n + 1)
	{
		width: calc(50% - 24px);
		position: absolute;
	}

	#homeSpot.blockList .itemList li,
	#homeSpot.blockList .itemList li > div:first-child > div:first-child
	{
		max-width: calc(50% - 24px);
		width: calc(50% - 24px);
	}
}

@media (min-width: 1200px)
{
	.blockList .itemList li
	{
		width: calc(50% - 24px);
	}

	.blockList .itemList li a
	{
		padding: 32px 26px 92px;
	}

	.newBlockList .itemList li a
	{
		padding: 32px 150px 32px 26px;
	}

	.newBlockList .itemList li:first-child a
	{
		padding-bottom: 22px;
	}

	.newBlockList .itemList li:not(:first-child) a
	{
		padding: 22px 150px 22px 26px;
	}

	.newBlockList #insightsSpot1 .itemList li a
	{
		padding-right: 26px;
	}

	.newBlockList #insightsSpot2 .itemList li a
	{
		padding-top: 22px;
	}

	.blockList .itemList li a:not(.sp_pencil):hover::after,
	.blockList .itemList li a:not(.sp_pencil):focus::after
	{
		right: 32px;
		bottom: 26px;
	}

	#homeSpot
	{
		padding-bottom: 96px;
	}

	#homeSpot.blockList:before
	{
		top: -200vh;
	}

	#homeSpot li:nth-child(-n + 1) .image
	{
		margin: -32px -26px 38px -26px;
	}

	.blockList .itemdate
	{
		bottom: 30px;
		left: 26px;
	}

	.newBlockList .itemdate
	{
		bottom: unset;
		left: unset;

		color: #404040;

		font-size: 1.4rem;
		font-style: normal;
		font-weight: 400;
		letter-spacing: -0.2px;
	}

	#homeDiscussing > div:first-child
	{
		display: flex;
		/*align-items: center;*/
		gap: 32px;
	}

	#homeDiscussing > div:first-child > div:first-child
	{
		flex: 1 0 auto;
	}

	#homeDiscussing > div:first-child p
	{
		margin-top: 0;
		padding-top: 0;
	}
}

@media (min-width: 1400px)
{
	#homeAnimation
	{
		width: 100vw;
		left: calc(50% - 50vw);
	}

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

@media (max-width: 420px)
{
	input[type=text],
	input:not([type]),
	select,
	.customSelect,
	.search_form form > div > div:not(.sections) > label
	#siteSearch input#searchtext2,
	.search_form form > div > div:not(.sections) > label,
	#demandForm label
	{
		padding-left: 10px;
		font-size: 16px;
		letter-spacing: -0.5px;
	}
}

@media (max-width: 767px)
{
	input[type=text],
	input:not([type]),
	select,
	.customSelect,
	.search_form form > div > div:not(.sections) > label
	#siteSearch input#searchtext2,
	.search_form form > div > div:not(.sections) > label,
	#demandForm label
	{
		font-size: 16px;
	}

	.active + #popupForm::before, #siteSearch:target, #siteSearch.target
	{
		top: 0;
	}
}

#topJump
{
	display: none;
}

@media (min-width: 1025px)
{
	#topJump
	{
		position: absolute;

		/* start the wrapper box 2 viewports down */
		top: 200vh;
		right: 20px;
		bottom: 100px;

		/* make this very tall div position child link in bottom right */
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;

		/* in case the div overlaps content, make clicks go through it */
		pointer-events: none;
	}

	#topJump > a
	{
		position: -webkit-sticky !important;
		position: sticky !important;

		bottom: 30px;
		flex-shrink: 1;

		display: block;
		box-shadow: 2px -3px 15px -2px rgba(0,0,0,0.58);
		border-radius: 50%;

		transform: rotate(180deg);

		/* let this link be clickable, parent div is not */
		pointer-events: initial;
	}

	#topJump img
	{
		display: block;
	}
}

/* Edit icons -----------------------------------------------> */

/* hopefully this makes it so edit icons don't keep getting messsed up	*/

.sp_pencil,
.sp_pencil img
{
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: normal !important;

	background: none !important;
	border: none !important;

	flex-grow: initial !important;
	flex-shrink: initial !important;
	flex-basis: initial !important;
}

.sp_pencil img
{
	display: inline-block !important;
}

.sp_pencil::before,
.sp_pencil::after
{
	content: none !important;
}

/* forms in flex pages, need to nuke some of our default styles */

.fsEmbed form,
.fsEmbed form div
{
	display: block;
	width: auto;
}

.fsEmbed *::after
{
	content: none !important;
}

.datepicker-container
{
	margin-left: calc(50% - 50vw);
}


/* Insights Landing Page */

body.newInsights #subNav::after
{
	display: none;
}

body.newInsights input:not([type])
{
	min-height: 50px;
	padding: 8px 34px 8px 40px;
	border: 2px solid #E71435;
	background: #E71435;
	color: #fff;
	text-transform: uppercase;

	font-size: 18px;
	font-style: normal;
	font-weight: 900;
	line-height: 25px; /* 138.889% */
	letter-spacing: -0.2px;
}

body.newInsights #bannerSearch
{
	max-width: unset;
}

body.newInsights #bannerSearch input::placeholder
{
	color: #fff;
	font-size: 18px;
	font-style: normal;
	font-weight: 900;
	line-height: 25px; /* 138.889% */
	letter-spacing: -0.2px;
}

body.newInsights #bannerSearch form button
{
	top: 6px;
}

.insightsDoubleCol
{
	position: relative;
	padding: 80px 0px;
}

.insightsDoubleCol h1
{
	position: relative;
	padding-top: 30px;
	margin: 0 0 30px 0;
	background: url('../i/pillar.svgz') left top no-repeat; /* data-uri */
	background-size: 16px 18px;
}

.preHeader
{
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

#insightsUpperNews
{
	position: relative;
	background: #f7f7f7;
}

body.newInsights #wrapUpperInsightsSpot
{
	position: relative;
	z-index: 2;
}

#insightsSpot1 ul,
#insightsSpot1 ul li
{
	position: relative;
	height: 100%;
	margin-bottom: 0px;
}

#insightsSpot1 .itemList
{
	position: relative;
	height: 100%;
}

#insightsSpot1 ul.results_list
{
	 display: block;
	 width: 100% !important;
}

#insightsSpot1 ul.results_list > li
{
	background: white;
	width: 100% !important;
}

#insightsSpot1 ul.results_list > li > a:not(.sp_pencil)
{
	position: relative;
	height: 100%;
}

#insightsSpot1 ul.results_list .image
{
	width: calc(100% + 44px);
	height: 390px;
	background: gray;
	color: gray;
	margin: -22px 0 50px -22px;
}

#insightsSpot1 ul.results_list .image img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	color: gray;
}

#insightsSpot1 ul.results_list .content
{
	padding-right: 22px;
	box-sizing: border-box;
	margin-bottom: auto;
}

#insightsSpot1 .icon
{
	position: absolute;
	top: 358px;
	right: unset;
	left: 26px;
	width: 46px;
	height: 46px;
}

#insightsSpot1 .title
{
	position: relative;
	padding-bottom: 25px;
	font-size: 36px;
	line-height: 38px;
}

#insightsSpot1 .title a:not(:hover, :focus)
{
	color: #404040;
}

#insightsSpot2 .itemList ul.results_list
{
	 width: 100% !important;
	 margin: 0 !important;
}

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

#insightsSpot2	div.itemList
{
	 margin-top: auto;
}

#insightsSpot2 .itemList ul.results_list > li
{
	position: relative;
	display: block;
	width: 100% !important;
	height: 100%;
	min-height: 270px;
	margin-right: 0px;
	background: #ffffff;
	box-sizing: border-box;
	color: inherit;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	min-height: 166px;
}

#insightsSpot2 .itemList ul.results_list > li:last-child
{
	margin-bottom: 0px;
}

#insightsSpot2 .itemList ul.results_list > li a
{
	background: none;
}

#insightsSpot1 .bottomInfo,
#insightsSpot2 .bottomInfo
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	/*margin-top: auto;*/
}

#insightsSpot2 .bottomInfo::after
{
	content: "";
	display: inline-block;
	width: 15px;
	height: 12px;
	margin-left: -20px;
	background: url('../i/arrow-red.svgz') no-repeat; /* data-uri */
	background-size: 15px 12px;
}

/*
#insightsSpot2 .image
{
	position: absolute;
	top: 0px;
	right: 0px;
	width: 120px;
	height: 100%;
	margin-top: 0px;
	overflow: hidden;
}

#insightsSpot2 .image:after
{
	content: '';
	position: absolute;
	top: -100px;
	right: 100px;
	z-index: 1;
	width: 400px;
	height: 400px;
	background: white;
	transform: rotate(-68deg);
}

#insightsSpot2 .image img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
*/

body.newInsights #bannerSearch
{
	margin: 30px 0px 36px 0;
}

.trendingList
{
	width: 100%;
	margin: 50px 0;
}

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

.trendingList ul.results_list
{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.trendingList ul.results_list > li > a
{
	display: inline-block;
	background: #d9d9d9;
	padding: 6px 24px;
	color: #404040;
}

.trendingList ul.results_list > li > a:hover,
.trendingList ul.results_list > li > a:focus
{
	background: #e71435;
	color: #fff;
	text-decoration: none;
}

#threeColLeft .trendingList ul.results_list > li > a
{
	background: #fff;
	color: #414042;
}

#threeColLeft .trendingList ul.results_list > li > a:hover,
#threeColLeft .trendingList ul.results_list > li > a:focus
{
	background: #d9d9d9;
	color: #404040;
}

#threeColLeft .trendingList ul.results_list > li > a.trendingSelected
{
	background: #E71435;
	color: #fff;
}

.sideCategoryList ul.results_list > li > a
{
	color: #414042;
}

.sideCategoryList ul.results_list > li > a.typeSelected
{
	color: #E71435;
}

#insightsBlog
{
	position: relative;
	padding: 80px 0px;
	background: #f5f5f5;
}

#signupWrapper
{
	position: relative;
	padding: 80px 0px;
	background: #491840;
	color: #fff;
}

#signupWrapper h2
{
	color: #fff;
}

#insightsEvents
{
	position: relative;
	margin: 80px 45px 80px 0;
	padding: 80px 0px 80px 0;
}

#insightsEvents h2
{
	margin-top: 10px;
}

#insightsEvents > div
{
	position: relative;
	z-index: 20;
	width: 100%;
	padding: 20px 10px;
	background: #ffffff;
	box-sizing: border-box;
}

#insightsEvents > div .wildWiley
{
	max-width: 776px;
	color: #491840;
}

#insightsEvents .preHeader
{
	color: #491840;
}

#insightsEvents > img
{
	position: absolute;
	z-index: 10;
	top: 0px;
	left: calc(50% - 50vw);
	width: calc(100vw + 20px);
	height: 100%;
	object-fit: cover;
}

#insightsEvents > div ul.results_list
{
	margin-top: 40px;
}

#insightsEvents > div ul.results_list > li
{
	display: flex;
	flex-direction: column;
	padding: 10px;
	box-sizing: border-box;
}

#insightsEvents > div ul.results_list > li:is(:hover,:focus)
{
	background: #f5f5f5;
}

#insightsEvents > div .pubType
{
	margin: 0 0 16px 0;
	color: #E71435;
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

#insightsEvents > div .title
{
	color: #000;
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: -0.08px;
}

#insightsEvents > div .title a
{
	color: #000;
}

#insightsEvents > div .dateHeader
{
	margin-top: auto;
	padding-top: 20px;
	color: #491840;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: -0.2px;
}

#insightsEvents > div#wildSideNav
{
	position: absolute;
	top: 80px;
	right: -45px;
	z-index: 20;
	width: 45px;
	height: 100%;
	padding: 0px;
	margin: 0;
	background: none;
	box-sizing: border-box;
}

#insightsEvents > div#wildSideNav > ul
{
	display: flex;
	gap: 14px;
	margin: 0;
	padding: 0;
	transform: rotate(90deg);
	/*transform-origin: right top;*/
}

#insightsEvents > div#wildSideNav > ul > li
{
	list-style: none;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

#insightsEvents > div#wildSideNav > ul > li a
{
	display: inline-flex;
	align-items: center;
	height: 45px;
	padding: 0px 18px;
	background: #E71435;
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
	font-style: normal;
	font-weight: 700;
}

#insightsEvents > div#wildSideNav > ul > li:nth-child(1) a
{
	padding: 0px 18px 0px 52px;
	background: #E71435 url('../i/events-icon-calendar.svgz') left 18px center no-repeat; /* data-uri */
	background-size: 25px;
}

#insightsEvents > div#wildSideNav > ul > li:nth-child(2) a
{
	padding: 0px 18px 0px 52px;
	background: #E71435 url('../i/events-icon-a.svgz') left 18px center no-repeat; /* data-uri */
	background-size: 23px;
}

#insightsEvents > div#wildSideNav > ul > li:nth-child(3) a
{
	padding: 0px 18px 0px 52px;
	background: #E71435 url('../i/events-icon-audio.svgz') left 18px center no-repeat; /* data-uri */
	background-size: 23px;
}


#insightsNewsWrapper.insightsDoubleCol
{
	padding: 0px 0px 80px 0px;
}

#insightsNewsWrapper h2:after
{
	height: 2px;
	width: 100%;
	bottom: 10px;
}

#insightsNewsWrapper .title
{
	color: #000;
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: -0.08px;
}

#insightsNewsWrapper .title a
{
	color: #000;
}

#insightsNewsWrapper ul.results_list > li
{
	display: flex;
	flex-direction: column;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #d8d8d8;
}

#insightsNewsWrapper ul.results_list > li .dateHeader
{
	margin-top: auto;
	padding-top: 20px;
	/*color: #491840;*/
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: -0.2px;
}

#insightsBlogInner
{
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
}

#insightsBlogInner > div
{
	position: relative;
	width: 100%;
}

#insightsBlogInner > div:last-child
{
	align-self: flex-end;
	margin-bottom: 20px;
}

#blogListing ul.results_list > li img
{
	position: relative;
	width: 100%;
}

#insightsBlogList ul.results_list
{
	margin: 30px 0 0 0;
}

/* #insightsBlogList ul.results_list > li
{

	display: flex;
	flex-direction: column;
	background: #fff;
	padding-left: 22px;
	padding-right: 22px;
	box-sizing: border-box;

} */

#insightsBlogList ul.results_list > li:hover,
#insightsBlogList ul.results_list > li:focus
{
	transform: scale(1.01);
	transition: transform 250ms ease-in;
	box-shadow: 5px 4px 5px #ccc;
}

#insightsBlogList ul.results_list > li > a:not(.sp_pencil)
{
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	height: 100%;
	background: #fff;
	padding-left: 22px;
	padding-right: 22px;
	box-sizing: border-box;
	overflow: hidden;
}

#insightsBlogList ul.results_list > li > a:hover,
#insightsBlogList ul.results_list > li > a:focus
{
	text-decoration: none;
}

#insightsBlogList ul.results_list > li .image
{
	position: relative;
	width: calc(100% + 44px);
	margin: 0 0 0 -22px;
}

#insightsBlogList ul.results_list > li .image img
{
	display: block;
	position: relative;
	width: 100%;
	height: 141px;
	object-fit: cover;
}

#insightsBlogList ul.results_list > li .title
{
	position: relative;
	margin: 30px 0 20px 0;
	padding: 0 0 20px 0;
	color: #491840;
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: -0.08px;
	line-height: 1.2;
}

#insightsBlogList ul.results_list > li .title a
{
	color: #491840;
}

#insightsBlogList ul.results_list > li .dateHeader
{
	display: flex;
	position: relative;
	align-self: flex-end;
	width: 100%;
	margin-top: auto;
	margin-bottom: 18px;
	color: #404040;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: -0.2px;
}

#insightsBlogList ul.results_list > li .readmore
{
	position: absolute;
	bottom: 0px;
	right: -150px;
	height: 49px;
	width: 150px;
	padding: 10px;
	font-size: 1.8rem;
	background: #E71435;
	color: #fff;
	box-sizing: border-box;
	white-space: nowrap;
	transition: all 300ms ease-in;
}

#insightsBlogList ul.results_list > li .readmore:before
{
	content: '';
	position: absolute;
	width: 0px;
	height: 0px;
	border-bottom: 49px solid #E71435;
	border-left: 36px solid transparent;
	bottom: 0px;
	right: 100%;
	transition: all 300ms ease-in;
}

#insightsBlogList ul.results_list > li > a:hover .readmore,
#insightsBlogList ul.results_list > li > a:focus .readmore
{
	right: 0;
}

#insightsBlogList ul.results_list > li .iconwrapper
{
	display: flex;
	gap: 16px;
	align-items: flex-end;
	margin-top: -12px;
}

#insightsBlogList ul.results_list > li .iconwrapper .icon
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 45px;
	height: 45px;
	background: #ED1A3B;
}

#insightsBlogList ul.results_list > li .iconwrapper .icon img
{
	display: block;
	width: 30px;
	height: auto;
}

#insightsBlogList ul.results_list > li div.blog
{
	margin-top: 10px;
	color: #E5273C;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 900;
	line-height: normal;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

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

#signupWrapper > img
{
	position: absolute;
	/*z-index: 1;*/
	top: 0px;
	left: calc(50% - 50vw);
	height: 100%;
	object-fit: cover;
}

#signupWrapper > div
{
	position: relative;
	/*z-index: 2;*/
}

#signupWrapper h2
{
	font-size: 4.6rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: -0.1px;
}

#insightsHandbook
{
	position: relative;
	padding: 80px 0px 120px 0px;
}

#insightsHandbook h3,
#insightsHandbook h3 a
{
	color: #491840;
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: -0.08px;
}

#insightsHandbook ul.results_list > li
{
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: relative;
}

#insightsHandbook ul.results_list > li .image
{
	position: relative;
	width: 100%;
	max-width: 643px;
}

#insightsHandbook ul.results_list > li .image img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.newInsightsResults #header + #content > main:only-child
{
	width: 100%;
	margin-bottom: 0px;
}

#threeColumWrapper
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

#threeColLeft
{
	order: 2;
	position: relative;
	background: rgba(217, 217, 217, 0.20);
	margin-bottom: 30px;
	padding: 0px 20px;
	box-sizing: border-box;
}

#threeColMiddle
{
	order: 1;
	position: relative;
	width: 100%;
	flex-grow: 1;
}

#threeColRight
{
	order: 3;
	position: relative;
	padding: 0px 20px;
	box-sizing: border-box;
}

body.newInsightsResults .search_form > form > .search_form div:not(:nth-of-type(1)):not(:nth-of-type(2))
{
	display: none;
}

body.newInsightsResults .search_form > form > .search_form > div:nth-of-type(1)
{
	width: 100%;
}

body.newInsightsResults .search_form > form > .search_form > div:nth-of-type(1) input
{
	width: 100%;
	height: 50px;
	border: 3px solid #E71435;
	color: #E71435;
	font-weight: 900;
	text-transform: uppercase;
}

body.newInsightsResults .search_form > form > .search_form > div:nth-of-type(1) label
{
	padding-top: 11px;
	color: #E71435;
	font-weight: 900;
	text-transform: uppercase;
}

body.newInsightsResults .search_form > form > .search_form > div.searchIconButton label
{
   display: none !important;
}

body.newInsightsResults .search_form > form > .search_form > div.searchIconButton button
{
   top: 7px;
}

#insightsBlogInner > div .fromBlogs h2
{
	margin-top: 10px;
	font-weight: 700;
	font-size: 4.6rem;
}

#threeColLeft h5
{
	padding-bottom: 8px;
	border-bottom: 1px solid #D8D8D8;
	font-size: 1.8rem;
	text-transform: uppercase;
}

body.newInsightsResults .results_criteria
{
	bottom: unset;
}

body.newInsightsResults .results_criteria ul
{
	margin-left: 0px;
}

body.newInsightsResults .newsroomList
{
	margin-top: 10px;
}

body.newInsightsResults .newsroomList li:first-child
{
	border-top: 0px solid gray;
}

#signupWrapper a.sp_pencil:first-of-type,
#signupWrapper a.sp_pencil:last-of-type
{
	position: absolute;
	left: 20px;
	top: 20px;
	z-index: 50;
}

#signupWrapper a.sp_pencil:last-of-type
{
	position: relative;

}

@media (min-width: 1025px)
{
	#threeColumWrapper
	{
		flex-direction: row;
		gap: 80px;
		width: 100vw;
		left: calc(50% - 50vw);
	}

	#threeColLeft
	{
		order: 1;
		width: 38vw;
		margin-bottom: 0px;
		padding-left: 50px;
		padding-right: 86px;
		padding-bottom: 50px;
		box-sizing: border-box;
	}

	#threeColRight
	{
		width: 38vw;
	}

	body.newInsights #wrapUpperInsightsSpot
	{
		margin-left: 48px;
	}

	.insightsDoubleCol
	{
		display: flex;
		gap: 80px;
	}

	.insightsDoubleCol > div
	{
		width: calc(50% - 40px);
	}

	#insightsUpperNews
	{
		display: flex;
		gap: 30px;
	}

	#insightsUpperNews > div
	{
		position: relative;
		width: calc(50% - 15px);
	}

	#insightsEvents > div
	{
		padding: 80px;
	}

	#insightsEvents ul.results_list
	{
		display: flex;
		flex-wrap: wrap;
		gap: 80px;
		gap: 30px;
		position: relative;
		margin-left: -30px;
		width: calc(100% + 60px);
	}

	#insightsEvents > div ul.results_list > li
	{
		position: relative;
		padding: 30px;
		width: calc(33.33% - 20px);
	}

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

	#insightsBlogInner > div
	{
		width: 57%;
	}

	#insightsBlogInner > div .fromBlogs
	{
		max-width: 596px;
	}

	#insightsBlogInner > div:last-child
	{
		width: 43%;
	}

	#insightsBlogList ul.results_list
	{
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
		position: relative;
		width: 100%;
	}

	#insightsBlogList ul.results_list > li
	{
		position: relative;
		width: calc(25% - 18px);
	}

	#blogListing ul.results_list > li
	{
		border-right: 1px solid #000;
		padding-right: 30px;
		margin-right: 30px;
	}

	#blogListing ul.results_list > li:last-child
	{
		border-right: 0px solid #000;
		padding-right: 0px;
		margin-right: 0px;
	}

	#signupWrapper
	{
		position: relative;
		/*z-index: -1;*/
		flex-direction: row;
		justify-content: flex-end;
		align-items: flex-end;
	}

	#signupWrapper > div:first-of-type
	{
		width: 30vw;
		max-width: 596px;
	}

	#signupWrapper > div:last-of-type
	{
		display: flex;
		justify-content: flex-end;
		width: 33%;
	}

	#insightsHandbook ul.results_list > li
	{
		flex-direction: row;
		gap: 79px;
	}

	#insightsHandbook ul.results_list > li > *
	{
		width: 50%;
	}

	#insightsSpot1
	{
		margin: 0px !important;
	}

	#homeSpot.newBlockList .itemList li:first-child .content,
	#insightsSpot1 .content
	{
		/*min-height: 98px;*/
		margin-top: auto;
	}
}

@media (min-width: 1200px)
{
	#insightsSpot1 ul.results_list .image
	{
		width: calc(100% + 52px);
		margin: -32px -26px 38px -26px;
	}
}


/* END DEFAULT CSS -----------------------------------------------> */

/* BEGIN PRINT CSS -----------------------------------------------> */

/* @media all and (max-width:8.5in) /* use while programming */


@media print
{
	html, body
	{
		min-width: 0;
		width:100%!important;
		max-width:none;
		padding:0;
		margin:0;
	}

	*
	{
		background: none!important;
		color: #333;
		overflow: visible!important;
		height: auto!important;
	}

	body, html, body a, h1, h2, h3, h4, h5, h6, a, .blockList .title
	{
		color: black!important;
	}

	.mobile,
	#siteSearch,
	.view_more,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink
	{
		display: none!important;
	}

	body,
	#content
	{
		position: relative!important;
		width: 100%!important;
		background: none!important;

		/* cancel out flexbox and float */
		display: block;
		float: none;
		width:100%;
		max-width:none;
	}

	body
	{
	padding: 0;
	}

	p, li
	{
		orphans: 3;
		widows: 2;
	}

	h1, h2, h3, h4, h5, h6
	{
		-webkit-column-break-after: avoid;
		   page-break-after: avoid;
				break-after: avoid-page;
	}

	.blockList .itemList li
	{
		-webkit-column-break-after: avoid;
		   page-break-after: avoid;
				break-after: avoid-page;
	}

	main, #subContent
	{
		margin-top:0;
	}

	#contentWrapper,
	#content,
	#header
	{
		background: none;
	}

	#navToggle,
	#searchJump,
	#map,
	#footer,
	#jumplink,
	#jumpNav,
	#banner::after,
	#homeAnimation::after,
	#homeBannerSearch,
	.readmore,
	#bannerImage,
	#bannerImage img,
	#practiceBioLink,
	#breadCrumb,
	#bioPDF,
	#bioVcard,
	.vcard,
	#bioContact img,
	.readmore,
	#bannerSearch,
	#navToggle,
	#bioLinkedIn,
	.wysButton,
	#jumpContent,
	#jumpMenu,
	.linktext,
	#subNav,
	#purpleContent::after
	{
		display:none;
	}

	.blogLink a::after, #page404 #bannerContent a:only-child::after, #bio_area a::after, #item_area a::after, #relatedLinks a::after, #area_hierarchy a::after, .listColumn .hierList a::after, #area_relatedlinks a::after, #area_relatedsame li a::after, #area_newslettertopic li a::after
	{
			display:none;
	}

	#header
	{
		padding-bottom:10px;
		/* border-bottom:1px solid #999; */
			position: inherit;
			display:block;
			clear:both;
			width:100%;
			left:0;
	}


	#logo
	{
		padding-top:24px;
		padding-bottom:12px;
		left:0;
		position:relative;
	}

	#cookieBanner
	{
		display:none!important;
	}

	/*home*/

	#content
	{
		width:100%;
	}

	#index #content #mainContent #homeAnimation
	{
		border-bottom: 4px solid #e6e7e8;
		width:100%;
		left:0;
	}

	#index #homeAnimation, #banner.full, #banner.large, #banner.small
	{
		min-height: 0!important;
		max-height:none;
	}

	#inlineBanner h1::before, #banner.full h1::before, #banner.large h1::before, #bannerTitle::before, #homeAnimation .title::before
	{
		display:none;
	}

	#index #content #homeAnimation li
	{
		padding-bottom:0!important;
		min-height:none!important;
		max-height:none;
		height:auto!important;
	}

	#footer #footerLinks li:last-child
	{
		display:block!important;
		color:black!important;
	}

	#homeAnimation .results_list li
	{
		display:none;
	}

	#homeAnimation .results_list li:first-child
	{
		margin-top:60px;
		margin-bottom:60px;
		display: block!important;
	}

	#banner, #banner.full, #banner.large, #banner.small
	{
		padding-bottom: 40px!important;
		padding-top:40px!important;
		display:block;
		border-bottom: 4px solid #e6e7e8;
		clear:both;
		width:100%;
		margin-bottom:40px;
	}

	#banner.full #bannerContent, #banner.large #bannerContent, #banner.small #bannerContent
	{
		clear:both;
		width:66%;
	}

	#mainContent
	{
		padding-left:20px;
		padding-right:20px;
	}

	#mainContent:not(:last-child)
	{
		padding-left:0px;
		padding-right:0px;
	}

	 #mainContent:not(:last-child)
	 {
		 width: 70%;
		float: left;
	 }

	 #subContent
	 {
		display: block;
		padding: 0;
		width: 25%;
		float: right;
		margin-right: auto;
	 }

	 /*side content*/

	.shareBox
	{
		display:none;
	}

	/*forms*/

	.formFooter, #resultPageLinks form
	{
		display:none!important;
	}

	/*two columns adjustments*/

	.blockList ul
	{
		display:block;
	}

	.textBucketCenter
	{
		width:66%;
		clear: both;
	}

	.textBucketCenter > img
	{
		display:none;
	}

	/*home*/

	#homeSpot
	{
		clear:both;
		width:100%;
	}

	#homeSpot li
	{
		width:48%;
		margin-right:20px;
		float:left;
		border: 4px solid #e6e7e8;
		min-height:none;
		margin-left:0;
	}

	#homeSpot li:nth-child(even)
	{
		margin-right:0px;
	}

	#homeSpot
	{
		clear:both;
		padding-bottom:0;
		left:0;
		display:block;
	}

	#homeSpot li:nth-child(-n+2)
	{
		width:48%;
		margin-right:20px;
		float:left;
		border: 4px solid #e6e7e8;
		min-height:300px;
		max-height:300px;
		margin-left:0;
	}

	#homeSpot li:nth-child(-n+2):nth-child(even)
	{
		margin-right:0px;
	}

	/*column items*/

	#textHighlight
	{
		left:0;
		display:block;
		clear:both;
	}

	#textHighlight .content
	{
		display:block;
	}

	#textPillars
	{
		clear:both;
	}

	#purpleContent
	{
		clear:both;
		width:88%;
		left:0;
		display:block;
	}

	#shareBox
	{
		display:none;
	}

	/*text highlight box*/

	#textHighlight, #careerPillars
	{
		display:block;
		float:left;
		clear:both;
		width:100%;
	}

	#textHighlight ul li
	{
		width:50%;
		float:left;
	}

	#textHighlight ul li:nth-child(even)
	{
		margin-right:0;
	}

	#textHighlight ul li:last-child
	{
		margin-right:0px;
	}

	#textHighlight .content
	{
		display:block;
		bottom:0;
		padding:20px 0px;
		position:relative;
	}

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

	.practices #mainContent, .insights-alerts-item #mainContent, .insights-pressreleases-item #mainContent, .people-item #mainContent, #wrtag-about #mainContent
	{
		width: 70%;
		float: left;
	}

	.practices #subContent, .insights-alerts-item #subContent, .insights-pressreleases-item #subContent, .people-item #subContent, #wrtag-about #subContent
	{
		display: block;
		padding: 0;
		width: 25%;
		float: right;
		margin-right: auto;
	}

	#practices #mainContent
	{
		width: 100%;
	}

	.people-item #banner #bannerContent
	{
		 width:100%!important;
	}

	/*news*/

	.newsroomList .readtime
	{
		display:none;
	}

	.newsroomList
	{
		clear:both;
	}

	#lowerContent .newsroomList .results_list li
	{
		border:0;
		width:100%;
		margin-right:0;
		float:none;
		display:block;
		border-top: 1px solid #d1d3d4;
	}

	/*diversity*/

	#diversitySpot li
	{
		display: block;
	}

	#diversitySpot
	{
		clear:both;
		width:100%;
		display:inline-block;
	}

	#diversitySpot .image, #diversitySpot .content
	{
		width:45%;
		margin-right:2%;
		flex:none;
		display:block;
	}

	#diversitySpot ul li .content
	{
		margin:0!important;
		float:left!important;
		padding:20px!important;
	}

	#diversitySpot ul li .image
	{
		float:left;
	}

	#content #diversitySpot
	{
		position: relative;
		width: 100%;
		left: 0;
		margin: 0;
		display:block;
	}

	#content #diversitySpot ul
	{
		display:block;
	}

	#content #diversitySpot ul li
	{
		border:0!important;
		width:100%;
		float:left;
		padding:0;
		margin-left:0;
	}

	/*four columns adjustments*/

	.bioSpotlight, #careerNumbers
	{
		padding:0;
		clear:both;
	}

	.itemList.newsroomList
	{
		width:100%;
	}

	/*bio spotlights*/

	.bioSpotlight ul, #careersSpot ul
	{
		display:block;
		margin: 0 auto;
		width:100%;
	}

	.bioSpotlight ul li, #careersSpot ul li
	{
		width:22%;
		margin-right:24px;
		float:left;
		margin-left:0;
	}

	.bioSpotlight ul li:last-child, #careersSpot ul li:last-child
	{
		margin-right:0;
	}

	.bioSpotlight ul li:last-child, #careersSpot ul li:last-child, #lowerContent .results_list li:last-child
	{
		margin-right:0px;
	}

	#area_intro::after, #bio_intro::after, h2:not(.standard)::after, #careerNumbers .title::after, #careersFooter .results_list > div > div[class^=bucket] strong::after
	{
		display:none;
	}

	#lowerContent .results_list li
	{
		width:22%;
		margin-right:24px;
		float:left;
		border: 4px solid #e6e7e8;
		margin-left:0;
	}

	#readTime {
		background:none;
		padding-left:0;
	}


	#lowerContent .blockList .title
	{
		line-height:22px;
		font-size:18px;
	}

	/*bio detail*/

	#bioInfoWrapper
	{
		display:inline-block;
	}

	#bioPhoto, #bioInfo
	{
		width:45%;
		margin-right:2%;
		flex:none;
	}

	#bioPhoto
	{
		float:right;
		clear:right;
	}

	#bioInfo
	{
		padding-top:80px;
	}

	/*bio listing*/

	.bioList .photo
	{
		float:left;
		min-height:auto;
		margin-right:20px;
		margin-bottom:20px!important;
	}

	.bioList li
	{
		-webkit-column-break-after: avoid;
		page-break-after: avoid;
		break-after: avoid-page;
	}

	.bioList .contact > div::before
	{
		display:none!important;
	}

	#subContent .sideBioList li
	{
		position: relative;
		padding: 0 0 24px 0px;
	}

	.bioList .title::after
	{
		display:none!important;
	}

	.sideBioList .photo
	{
		display: block;
		margin-bottom: 10px;
		margin-top:10px;
	}

	.sideBioList .email::before, .sideBioList .phone::before
	{
		display:none;
	}

	.bioList, .bioList > ul > li
	{
		display:block;
		clear:both;
		min-height:none;
		height:auto;
		min-height:120px;
		-webkit-column-break-after: avoid;
		page-break-after: avoid;
		break-after: avoid-page;
	}

	.sideBioList .photo
	{
		display:block;
		position:relative;
	}

	.results_criteria
	{
		display:none;
	}

	.small #breadCrumb + #sectionTitle, .small #breadCrumb + h1
	{
		padding-top:0;
	}

	/*careers*/

	#currentOpenings
	{
		display:none;
	}

	#careerPillars, .pillarBlocks
	{
		clear:both;
		width:100%;
	}

	.pillarBlocks .content
	{
		position:relative;
		margin-bottom:0;
		display:block;
	}

	#careerPillars ul li, .pillarBlocks li
	{
		margin-right:20px;
		width:48%;
		float:left;
	}

	#careerPillars ul li:last-child, .pillarBlocks li:last-child
	{
		margin-right:0px;
	}

	#careerSections ul
	{
		width:100%;
		display:block;
	}

	#careerSections ul li
	{
		width:33%;
		display:block;
		float:left;
		margin-right:0;
		margin-left:0;
	}

	#careerSections ul li .image
	 {
		display:block;
		clear:both;
	}

	#careersFooter .results_list > div > div[class^=bucket]
	{

		width:31%;
		float:left;
		margin-left:0;
		margin-right:20px;
	}

	.readmore
	{
		display:none;
	}

	#careersFooter, #careerSections
	{
		clear:both;
	}

	#careerSections .title
	{
		color:#444;
	}

	#careerSections .content
	{
	position: relative;
	}

	#careersFooter .results_list > div > div[class^=bucket]:last-child
	{
		margin-right:0;
	}

	#about #pageSpot li
	{
		display:block;
		width:50%!important;
		float:left!important;
		margin-left:0;
		margin-right:0;
		margin-bottom:20px;
	}

	#pageSpot .image
	{
		width:auto!important;
	}

	#pageSpot .image img
	{
		width:100%;
		display:block;
	}

	#pageSpot, .pillarBlocks
	{
		clear:both;
	}

	#pageSpot .content
	{
		display: block!important;
		bottom: 0;
		padding: 20px 0px;
		position: relative!important;
	}

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

	.about #textPillars li
	{
		width:30%;
		margin-left:0;
		margin-right:24px;
		float:left!important;
	}

	.about .results_list
	{

		display:block;
		clear:both;
		width:100%;
	}

	.pillarBlocks .title
	{
		display: block;
		position:relative;
	}

	#careersBioSpotlight, #resultPageLinks, #insightsList
	{
		clear:both;
		width:100%;
	}

	.bucket1linktext, .bucket2linktext, .bucket3linktext
	{
		display:none;
	}

	#area_intro::after, #bio_intro::after, h2:not(.standard)::after, #careerNumbers .title::after, #careersFooter .results_list > div > div[class^=bucket] strong::after
	{
		display:none!important;
	}

	#inlineBanner h1
	{
		margin-top:0;
	}

	/*lower content*/

	#lowerContent .results_list
	{
		display:block;
	}

	.blockList
	{
		padding:0;
		margin:0;
	}

	.blockList h2
	{
		margin:0;
	}

	/*removing after before visual elements*/

	.blockList .pubType::after, .newsroomList .dateHeader:after, #bioTitle:after
	{
		display:none;
	}

	#area_intro::after, #bio_intro::after, h2:not(.standard):after, #careerNumbers .title::after
	{
		display:none;
	}

	h1::before, h2::before, h3::before, h4::before, h5::before, h6::before
	{
		display:none!important;
	}

	h1::after, h2::after, h3::after, h4::after, h5::after, h6::after
	{
		display:none!important;
	}

	/* blogs */
	#blogNav,
	#blogSearch,
	#midPostSignup,
	#blogPageLinks,
	#blogCatNav,
	#blogShareBox,
	.blogAuthors .links,
	.blog #upperContent,
	.blog #lowerContent,
	.blog #banner
	{
		display: none !important;
	}

	/*
	.blog #banner
	{
		border: 0;
		height: auto;
		padding: 0 !important;
		margin: 0 !important;
	}

	.blog #banner #bannerContent
	{
		justify-content: flex-start;
		align-items: flex-start;
		background: none;
		filter: grayscale(1) invert(1) contrast(2);
		padding: 0;
		margin: 0;
		height: auto !important;
	}

	#blogLogo
	{
		display: block !important;
		height: auto !important;
	}
	*/

	#featuredPosts .blogPosts > div > div .image
	{
		display: block;
	}

	#featuredPosts .blogPosts > div > div .image img
	{
		max-height: 200px;
	}

	#subContent .blogAuthorList li
	{
		padding-left: 0;
		min-height: 0;
		margin-bottom: 2em;
	}

	.blogAuthorList .photo
	{
		position: static;
		padding-top: 1em;
	}

	.blog #subContent h2
	{
		margin: 40px 0 20px;
		padding: 0;
		font-size: 1.5em;
	}

	.blog #blogShareBox + div h2
	{
		margin: 20px 0 20px;
	}

	#postBanner
	{
		min-height: 0;
	}
}

/* END PRINT CSS -------------------------------------------------> */
