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

/*


Raleway (raleway)
-------------------------------------

Available weights:

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

*/


/*

Road map
---------------------

.noFooterMargin = get rid of any spacing on the footer so content stacks right on top of it

.fullWidth = make the mainContent full width

*/



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 14px/1.6 'raleway', Arial, sans-serif;
	color: #000;
}

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;
	max-width: 1375px;
	min-width: 320px;
	margin: 0 auto;
	padding: 0 80px 0 80px;
	background: #fff;}

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

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

	}
}

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

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: #0883a1;
	text-decoration: none;
}

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

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

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

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

h1, h2, h3, h4, h5, h6
{
	margin: 0;
	padding: 0;
	color: #000000;
	font-weight: bolder; /* relative, works better if you have a light base font */
	line-height: normal;
}

h1
{
	padding: 5px 0 15px 0;
	color: #000;
	font-weight: 400;
}

h2
{
	padding: 12px 0 calc(12px + (20 - 12) * ((100vw - 320px) / (1280 - 320))) 0;
	font-weight: 600;
}

#subContent h2
{
	padding: 12px 0 4px 0;
	margin-bottom: 10px;
	text-transform: uppercase;
	color: #0483a3;
	font-weight: 700;
	border-bottom: none;
}

h3
{
	padding: 12px 0 4px 0;
	color: #0483a3;
	text-transform: uppercase;
}

h4
{
	padding: 12px 0 4px 0;
	color: #000000;
	font-weight: inherit;
}

h5
{
	padding: 12px 0 4px 0;
	color: #db1f28;
	font-weight: 600;
}

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

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

ol
{
	padding-left: 1em;
}

li
{
	padding: 0 0 0 .25em;
	margin: 1em 0em 1em 1.25em;
}

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

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

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


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

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

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

img
{
	border: 0;
}

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

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

/* Fluid Fonts */
/* https://css-tricks.com/snippets/css/fluid-typography/ */
/* want to roll your own? https://codepen.io/lowbatteries/full/qBEyXEP */

/* Starting fonts at a 70% reduction from their full sizing shown in design*/
@media screen and (min-width: 320px)
{
	html
	{
		font-size: calc(14px + (20 - 14) * ((100vw - 320px) / (1280 - 320)));
	}

	h1
	{
		font-size: calc(48px + (70 - 48) * ((100vw - 320px) / (1280 - 320)));
	}

	h2:not(#subContent h2):not(#homeNewsSpotHeader h2)
	{
		margin-bottom: calc(24px + (30 - 24) * ((100vw - 320px) / (1280 - 320)));
		font-size: calc(18px + (30 - 18) * ((100vw - 320px) / (1280 - 320)));
		line-height: 1.1;
		border-bottom: 1px solid #e1e1e1;
	}

	h2:not(.expandableHeading):not(#subContent h2):not(#homeNewsSpotHeader h2):not(#homeArea h2)
	{

		padding-left: calc(30px + (45 - 30) * ((100vw - 320px) / (1280 - 320)));
		background: url('../i/icon-boxedarrow.svgz') left 12px no-repeat; /* data-uri */
		background-size: calc(18px + (28 - 18) * ((100vw - 320px) / (1280 - 320)));
	}

	#subContent h2
	{
		font-size: calc(17px + (24 - 17) * ((100vw - 320px) / (1280 - 320)));
	}

	h3
	{
		font-size: calc(17px + (24 - 17) * ((100vw - 320px) / (1280 - 320)));
	}

	h4
	{
		font-size: calc(20px + (25 - 20) * ((100vw - 320px) / (1280 - 320)));
	}

	h5
	{
		padding-left: calc(22px + (35 - 22) * ((100vw - 320px) / (1280 - 320)));
		font-size: calc(15px + (22 - 15) * ((100vw - 320px) / (1280 - 320)));
		background: url('../i/icon-boxedarrow.svgz') left 13px no-repeat; /* data-uri */
		background-size: calc(15px + (22 - 15) * ((100vw - 320px) / (1280 - 320)));
	}

	h6
	{
		font-size: calc(14px + 8 * ((100vw - 320px) / 960));
	}
}

@media (min-width: 920px)
{
	/* bullet graphic*/
	ul li
	{
		list-style: none url('../i/bullet.png'); /* data-uri */
	}

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

@media screen and (min-width: 1280px)
{
	html
	{
		font-size: 20px;
	}

	h1
	{
		font-size: 70px;
	}

	h2
	{
		font-size: 35px;
		padding-bottom: 20px;
		margin-bottom: 30px;
		border-bottom: 1px solid #e1e1e1;
	}

	h2:not(.expandableHeading):not(#subContent h2):not(#homeNewsSpotHeader h2):not(#homeArea h2)
	{

		padding-left: 45px;
		background: url('../i/icon-boxedarrow.svgz') left 14px no-repeat; /* data-uri */
		background-size: 28px;
		font-size: 30px;
	}

	#subContent
	{
		font-size: 18px;
	}

	#subContent h2
	{
		font-size: 23px;
	}

	h3
	{
		font-size: 24px;
	}

	h4
	{
		font-size: 25px;
	}

	h5
	{
		font-size: 22px;
	}

	h6
	{
		font-size: 22px;
	}
}

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

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


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

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

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

#footer::before,
#homeNewsHeader::before,
#subContent::before,
#subNav::before,
#bottomBadges::before,
#linkBanner a::before,
#footerCopyright::before,
#homeBioList .view_more::before,
#upperContent::before,
#officeInfo::before,
#repClients::before,
#homeNewsSpot.officeNewsSpot::before
{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	/*
		we need to be left offset by the width of the left margin, which is half the
		difference between page width and viewport width

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


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

#banner,
#mainContent,
#subNav,
#subContent,
.letterLinks > *,
.bioList > ul > li,
#footerSocial,
#homeNewsHeader,
#alertMessage
{
	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;
	width: 300px;
	flex-basis: auto;
}

#captcha_wrapper img
{
	margin-top: 10px;
	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;
	padding-left: 0;
}

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

#resultPageLinks
{
	margin: 1em 0;
}

.expandableHeading
{
	/*width: 100%;
	max-width: 918px;
	margin: 0 auto;*/
	position: relative;
	cursor: pointer;
	font-weight: 400;
	padding: 0;
	margin: -1px 0 0 0 !important;
	font-size: calc(17px + (24 - 17) * ((100vw - 320px) / (1280 - 320)));
	font-weight: 600;
	border-bottom: 1px solid #e1e1e1;
}

/* buttons to look like links */
.expandableHeading button
{
	position: relative;
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: calc(14px + (20 - 14) * ((100vw - 320px) / (1280 - 320))) 35px calc(14px + (20 - 14) * ((100vw - 320px) / (1280 - 320))) 0!important;
	background: none !important;
	border: none;
	border-top: 1px solid #e1e1e1;
	font-size: calc(17px + (24 - 17) * ((100vw - 320px) / (1280 - 320)));
	color: inherit;

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

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


/*h2.expandableHeading:last-of-type button
{
	border-bottom: 1px solid #e1e1e1;
}
*/

.expandableHeading button::after
{
	content: '';
	display: block;
	position: absolute;
	right: 3px;
	top: calc(50% - 8px);
	width: calc(20px + (28 - 20) * ((100vw - 320px) / (1280 - 320)));
	height: 16px;
	background: url('../i/icon-arrow-red.svgz') no-repeat center; /* data-uri */
	background-size: contain;
}

.expandableHeading.expanded button::after
{
	transform: rotate(-90deg);
	filter: grayscale(100%);
	opacity: .5;
}

.expandableHeading.expanded
{
	border-bottom: none !important;
}

div.expandableContent
{
	display: none;
	padding-bottom: 20px;
}

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


@media (min-width: 1280px)
{

	.expandableHeading button
	{
		font-size: 24px;
		padding: 20px 0!important;
	}

	.expandableHeading button::after
	{
		width: 28px;
	}
}

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

/*
	how these content jumps should work on desktop:

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

.contentJump
{
	display: block;

	position: absolute;
	z-index: 999;
	top: 5px;
	right: 50%;

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


/* make them transparent unless keyboard focused */

.contentJump:not(:focus),
html:not([data-whatintent="keyboard"]) .contentJump
{
	pointer-events: none;
	color: transparent !important;
	background: transparent !important;
	z-index: -1;
}


/* Alert Message -------------------------------------------------> */

#alertMessage
{
	position: absolute;
	bottom: 0;
	left: 0px;
	z-index: 1990;
	width: 100%;
	padding: calc(10px + (30 - 15) * ((100vw - 320px) / (920 - 320))) calc(20px + (40 - 20) * ((100vw - 320px) / (920 - 320)));
	background: rgba(219,31,40, .65);
	box-sizing: border-box;
	color: #ffffff;
	line-height: 1.41;
	text-align: center;
	font-size: calc(14px + (17 - 14) * ((100vw - 320px) / (1280 - 320)));
}

#alertMessage *
{
	margin: 0;
	padding: 0;
	color: #ffffff;
}

#alertMessage a
{
	text-decoration: none;
}

@media (min-width: 768px)
{
	#alertMessage
	{
		bottom: calc(32px + (64 - 32) * ((100vw - 768px) / (1280 - 768)));
		width: 353px;
		text-align: left;
	}
}

@media (min-width: 920px)
{
	#alertMessage
	{
		padding: 30px 40px;
	}
}

@media (min-width: 1280px)
{
	#alertMessage
	{
		bottom: 64px;
		font-size: 17px;
	}
}

/* Home Notice Message--------------------------------------------> */
#noticeMessageWrapper
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

#noticeMessage
{

	position: relative;
	width: 90vw;
	font-size: 1.1rem;
	overflow: hidden;
	z-index: 999999;
	background: #000000;
	color: #ffffff;
}

#noticeMessage > div
{
	margin: 0;
	padding: .5em 2.5em;
}

#noticeMessage button
{
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
	font-weight: 400;
	font-size: 42px;
	line-height: 20px;
	color: black;
	padding: 0;
	text-align: center;
	border: none;
	background-color: #ffffff;
}

#noticeMessage button:after,
#noticeMessage button:before
{
	content: '';
	display: block;
	position: absolute;
	top: 14px;
	width: 30px;
	height: 2px;
	background-color: #333333;
}

#noticeMessage button:before
{
	transform: rotate(-45deg);
}

#noticeMessage button:after
{
	transform: rotate(45deg);
}

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

#header
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2000;
	width: 100vw;
	left: calc(50% - 50vw);
	height: auto;
	/*padding: 0 80px 0 80px;*/
	padding: 0 16px 50px;
	box-sizing: border-box;
}

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

#logo
{
	display: block;
	width: 50%;
	max-width: 434px;
	padding: 14px 0 0 0;
}

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

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

#searchJump
{
	position: absolute;
	top: 22px;
	/*top: calc(88px + (118 - 88) * ((100vw - 320px) / (500 - 320)));*/
	right: 120px;
}

#searchJump svg path
{
	fill: #8bbee8;
}

#searchJump:hover svg path,
#searchJump:focus svg path
{
	fill: #d31b2c;
}

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

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

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

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

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

#siteSearch > div
{
	margin: auto;

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

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

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

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

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

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

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

	color: white;

	flex-grow: 1;
}

#searchClose
{
	display: none;
}

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

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

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

#searchPopup
{
	display: block;

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

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

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

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

	/*background: #8bbee8;*/
	background: #ffffff;
	box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

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

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

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

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

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

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

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

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

	box-shadow: 0 0 1px black;

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

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

.searchPopup
{
	display: block;

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

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

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

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

	/*background: #8bbee8;*/
	background: #ffffff;
	box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

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

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

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

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

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

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

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

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

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

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

	box-shadow: 0 0 1px black;

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

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

	top: 0;

	background: #8bbee8;
	color: black;
	font-size: 19px !important;
	text-transform: uppercase;
	margin-top: 14px;
}

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

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

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

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

.acBio a
{
	font-weight: bold;
}

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

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

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

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

	font-size: 16px !important;
	bottom: 0;
	background: #3a3a3a;
	margin: 0 18px;
	width: calc(100% - 36px);
	padding: 10px 20px;
}

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

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

#banner
{
	position: relative;
	width: 100%;
	height: 340px;
}

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

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


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

#bannerContent
{
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: 100vw;
	left: calc(50% - 50vw);
	color: #fff;
	font-size: 16px;
}

#bannerContent *:not(a),
#bannerContent a:not(:hover):not(:focus)
{
	color: inherit;
}

#bannerContent h1
{
	width: 100%;
	max-width: 1375px;
	margin: 0 auto;
	padding-bottom: 0;
	text-align: right;
}

#bannerContent #sectionTitle
{
	position: absolute;
	bottom: 0;
	right: -10px;
	font-size: calc(30px + (200 - 30) * ((100vw - 320px) / (1400 - 320)));
	text-transform: uppercase;
	opacity: .2;
	line-height: .65;
	font-weight: 700;
}

#banner #pdfLink
{
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 5;
}

#topNav
{
	display: none;
}

h1#upperContentTitle
{
	padding: 0;
	margin: 0;
	font-size: calc(24px + (35 - 24) * ((100vw - 320px) / (1280 - 320)));
	color: #ffffff;
	font-weight: 600;
}

@media (min-width: 1280px)
{
	h1#upperContentTitle
	{
		font-size: 35px;
	}

	#bannerImage > picture > img
	{
		width: auto;
	}
}

@media (min-width: 1400px)
{
	#bannerContent #sectionTitle
	{
		font-size: 200px;
	}
}

@media (min-width: 1920px)
{

	#bannerImage
	{
		overflow: hidden;
	}

	#bannerImage > picture > img
	{
		width: 100%;
		height: auto;
	}
}

@media (max-width: 699px)
{
	#bannerContent h1
	{
		padding-bottom: 50px;
	}
}

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

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

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

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

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

#topNav > ul > li > a
{
	display: block;
	padding: 10px 0 20px;
}

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

}

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

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

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

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

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

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

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


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

@media (min-width: 920px)
{
	#topNav
	{
		display: flex;
		position: absolute;
		z-index: 100;
		top: 30px;
		width: calc(270px + (309 - 270) * ((100vw - 920px) / (1280 - 920)));
		right: 180px;
	}

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

	#topNav > ul
	{
		display: flex;
		justify-content: space-between;
	}

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

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

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

	#topNav > ul ul
	{
		/*** center the drops ***/
		left: -42px;
		width: 561px;

		background: rgba(62,81,97, .95);
		padding: 40px;
		box-sizing: border-box;
	}

	#topNav > ul ul:after
	{
		position: absolute;
		top: -11px;
		left: 51px;
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 10px 11px 10px;
		border-color: transparent transparent rgba(62,81,97, .8) transparent;
	}

	#topNav > ul ul li:not(:last-child)
	{
		margin-bottom: 15px
	}

	#topNav > ul ul li a
	{
		font-size: 19px;
	}

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


	#topNav a:hover,
	#topNav a:focus
	{
		background: none;
		color: #8bbee8;
	}

	#topNav > ul > li.current > a::after
	{
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		background: #ffffff;
	}

	/* second-level links */
	#topNav li li > a
	{
		color: #ffffff;
	}

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

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

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

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

		top: 0;
		left: 100%;
	}

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

	/* position the second nav above and make it smaller */
	#topNav > ul + ul
	{
		position: absolute;
		right: 0px;
		bottom: calc(100% + 28px);
		width: auto;
	}

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

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

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

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

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

	#topNav > ul + ul > li#navButton-search a svg path
	{
		fill: #000;
	}

	#mainNav > ul + ul > li#navButton-search.current a svg path,
	#mainNav > ul + ul > li#navButton-search:hover a svg path,
	#mainNav > ul + ul > li#navButton-search.focus a svg path
	{
		fill: #888;
	}

	#topNav #navButton-people > ul
	{
		left: -125px;
	}

	#topNav #navButton-people > ul:after
	{
		left: 145px;
	}

	#topNav #navButton-capabilities > ul
	{
		left: -228px;
	}

	#topNav #navButton-capabilities > ul:after
	{
		left: 268px;
	}


}


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

/*@media (max-width: 1349px)
{*/
	#mainNav,
	#mainNav li ul
	{
		position: fixed;
		display: block;
		visibility: hidden;
		z-index: 9998;
		top: 0;
		right: -1000px;
		left: auto;
		min-width: 40vw;
		width: 90vw;
		max-width: 565px;
		height: 100vh;
		max-height: 604px;
		/*padding: 112px 0 10px 80px;*/
		padding: 112px 0 10px calc(40px + (80 - 40) * ((100vw - 320px) / (550 - 320)));
		background: #3e5161;
		box-sizing: border-box;
		box-shadow: 0 0 200px 15px rgba(0,0,0,.8);
	}

	#mainNav
	{
		overflow: auto;
	}

	#mainNav::before
	{
		display: none;
	}

	#mainNav.target,
	#mainNav.target li ul
	{
		left: auto !important; /* might be set by repositionDrops, ignore it */
		transition: right 0.7s;
	}

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

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

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

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

	#mainNav > ul a
	{
		display: block;
		color: #ffffff;
		font-size: calc(30px + (40 - 30) * ((100vw - 320px) / (550 - 320)));
		line-height: 1;
		text-transform: none;
		font-weight: 500;
	}

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

	#mainNav > ul > li
	{
		position: relative;
		margin: 0 0 23.5px;
		font-size: 20px;
		line-height: 1.4;
		text-transform: uppercase;
	}

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

	#mainNav > ul ul > li:not(.subNavHeader) a
	{
		font-size: 20px;
		text-transform: none;
	}

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

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

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

	#mainNav > ul + ul > li#navButton-search
	{
		margin: 0px;
		background: none;
	}

	#mainNav > ul + ul > li#navButton-search
	{
		position: fixed;
		z-index: 99;
		top: 17px;
		right: 92px;
		opacity: 0;
	}

	body.mobileActive #mainNav > ul + ul > li#navButton-search
	{
		opacity: 1;
		transition: all 0.3s 0.3s;
	}

	#mainNav > ul + ul > li#navButton-search a
	{
		padding: 10px;
	}

	#mainNav > ul + ul > li#navButton-search a span
	{
		display: block;
	}

	#mainNav > ul + ul > li#navButton-search a svg path
	{
		fill: #ffffff;
	}

	#mainNav > ul + ul > li#navButton-search:hover a svg path
	{
		opacity: .7;
	}

	#mainNav #subNavBack
	{
		position: absolute;
		top: 25px;
		text-transform: uppercase;
		/*font-size: 2.4rem;*/ /* force this */
		font-weight: 200;
	}

	#mainNav #subNavBack a
	{
		display: inline-block;
		width: 14px;
		height: 14px;
		border: solid #ffffff;
		border-width: 4px 0 0 4px;
		transform: rotate(-45deg);
	}

	#mainNav #subNavBack a:hover,
	#mainNav #subNavBack a:focus
	{
		border-color: #cccccc;
	}

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


	/* Mobile Nav 'Hamburger' Button */

	button#navToggle
	{
		display: block;
		position: absolute;
		z-index: 9999;
		/*top: 41px;*/
		/*top: calc(80px + (110 - 80) * ((100vw - 320px) / (500 - 320)));*/
		top: 14px;
		right: 10px;
		line-height: 1;
		color: #8bbee8;
	}

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

	button#navToggle.mobileNav.isActive,
	button#navToggle.mobileNav.isActive + a#searchJump
	{
		position: fixed; /* allows for home page alert message repositioning */
		/*top: 31px;*/
		z-index: 9999;
	}


	button#navToggle.mobileNav.isActive:hover,
	button#navToggle.mobileNav.isActive:focus,
	button#navToggle.mobileNav:hover,
	button#navToggle.mobileNav:focus
	{
		color: #d31b2c;
	}

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

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

	.mobileNavInner,
	.mobileNavInner::after,
	.mobileNavInner::before
	{
		position: absolute;
		width: 38px;
		height: 2px;
		/*background-color: #db1f28*/;
		background-color: currentColor;
		border-radius: 4px;
		transition-timing-function: ease;
		transition-duration: .15s;
		transition-property: transform;
	}

	.mobileNav.isActive .mobileNavInner,
	.mobileNav.isActive .mobileNavInner::after,
	.mobileNav.isActive .mobileNavInner::before
	{
		width: 36px;
		height: 2px;
	}

	.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
	{
		position: relative;
		top: 4px;
		display: inline-block;
		width: 40px;
		margin-left: 0;
		font-weight: 600;
		text-transform: uppercase;
		font-size: 12px;
		line-height: 13px;
		text-align: left;
	}


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

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

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

	.mobileNavSpring .mobileNavInner::after
	{
		top: 20px;
		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, 10px, 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, 10px, 0) rotate(-45deg);
	}
/*}*/

@media (min-width: 550px)
{
	#mainNav, #mainNav li ul
	{
		padding: 112px 0 10px 80px;
	}

	#mainNav > ul a
	{
		font-size: 40px;
	}

	#mainNav #subNavBack
	{
		top: 40px;
	}
}

#mainNav #navButton-espanol
{
	margin-top: 26px;
}

#mainNav #navButton-espanol a
{
	font-size: 20px;
	font-weight: 400;
}

#mainNav #navButton-espanol a:not(:hover):not(:focus)
{
	color: #8bbee8;
}

.socialLinks .socialshare_toolbox svg
{
	width: 21px;
	height: 17px;
}

.socialLinks #linkedin svg
{
	width: 18px;
	height: 17px;
}

.socialLinks #twitter svg
{
	width: 19px;
	height: 16px;
}

.socialLinks #facebook svg
{
	width: 10px;
	height: 19px;
}

#navSocial
{
	position: absolute;
	/*left: 212px;
	bottom: 90px;*/
	bottom: 45px;
	left: calc(40px + (80 - 40) * ((100vw - 320px) / (550 - 320)));
	width: 148px;
}

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

#navSocial a
{
	display: block;
}

#navSocial span
{
	display: none;
}

#navSocial li:first-child svg
{
	position: relative;
	top: 3px;
}

#navSocial svg
{
	display: block;
}

#navSocial svg path
{
	fill: #8bbee8;
}


@media (min-width: 550px)
{

	#header
	{
		height: 130px;
		padding-bottom: 0;
	}

	#logo
	{
		width: 60%;
	}

	#searchJump
	{
		top: 38px;
	}

	button#navToggle
	{
		top: 31px;
	}

	#mainNav #navButton-espanol
	{
		margin-top: 46px;
	}

	#navSocial
	{
		left: 212px;
		bottom: 69px;
	}

}

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

	#logo
	{
		width: 40%;
		padding-top: calc(14px + (34 - 14) * ((100vw - 920px) / (1280 - 920)));
	}

	#topNav
	{
		display: block;
	}

}

@media (min-width: 1280px)
{

	#logo
	{
		padding-top: 34px;
	}

	button#navToggle
	{
		right: 35px;
	}

	#searchJump
	{
		right: 145px;
	}

	#topNav
	{
		right: 220px;
		width: 309px;
	}
}


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

ul.subNavList
{
	margin-bottom: 0;
	font-size: 1.2rem;
	text-transform: uppercase;
}

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

ul.subNavList > li:last-child
{
	margin-bottom: 0;
}

ul.subNavList li.here
{
	color: #db1f28;
}

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

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

ul.subNavList li > a:not(:hover):not(:focus),
ul.subNavList li a:not(:hover):not(:focus)
{
	color: inherit;
}

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

ul.subNavList li li
{
	text-transform: none;
	font-size: 16px;
}

#upperSubNav li
{
	color: #cccccc;
}

#upperSubNav li a
{
	display: block;
	padding: 20px 15px;
	background: #465a6b;
}

#upperSubNav li.here a
{
	background: #526a7e;
}

@media (min-width: 768px)
{
	#upperSubNav > ul
	{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -16px;
	}

	#upperSubNav > ul > li
	{
		flex: 1 1 auto;
		margin: 0 16px 16px;
		flex-basis: calc((100%/4) - 32px);
		text-align: center;
	}

	#upperSubNav > ul > li a
	{
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		box-sizing: border-box;
		white-space: nowrap;
	}
}

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

#tabLinks
{
	margin: 25px 0 41px 0;
	border-bottom: 1px solid #000000;
}

#tabLinks a
{
	display: inline-block;
	position: relative;
	bottom: -3px;
	padding-bottom: calc(20px + (30 - 20) * ((100vw - 1024px) / (1500 - 1024)));
	margin-right: calc(40px + (78 - 40) * ((100vw - 1024px) / (1600 - 1024)));
	color: #666666;
	font-size: calc(16px + (24 - 16) * ((100vw - 1024px) / (1600 - 1024)));
	border-bottom: 3px solid transparent;
}

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

#tabLinks a:last-child
{
	margin-right: 0;
}

#tabLinks .current
{
	border-bottom-color: white;
	color: #cf1821;
	text-decoration: none;
	cursor: default;
	border-bottom: 5px solid #cf1821;
}

.contentSection
{
	display: none;
}

.sectionTitle
{
	display: none;
}

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

@media (min-width: 1600px)
{
	#tabLinks a
	{
		padding-bottom: 30px;
		margin-right: 78px;
		font-size: 24px;
	}
}


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

	h2.sectionTitle
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 1px 0 0 0 !important;
		padding: 13px 20px 13px 20px !important;
		background: #ddd;
		color: #666;
		font-size: 27px;
		box-sizing: border-box;
		text-decoration: none;
		cursor: pointer;
		transition: margin 250ms ease;
		border: none !important;
		background: #f3f3f3 !important;
		font-size: 23px !important;
	}

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

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

	h2.sectionTitle.isOpen
	{
		margin-bottom: 20px !important;
	}

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

	.contentSection
	{
		display: block !important;
	}

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

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


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

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

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

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

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

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

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

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

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


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

#content
{
	position: relative;
	max-width: 1375px;
	min-height: 350px;
	margin: 50px auto 0;
}

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

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


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

#subContent
{
	position: relative;
	width: 100%;
	margin: 0 0 0 0;
	padding: 0 0 0.5rem 0;
	box-sizing: border-box;
	/*border-top: 1px solid #e4e4e4;*/ /* this mandatory for mobile at least - NO IT ISN'T */
}

.lowerStaticText
{
	width: 100%;
	max-width: 918px;
	margin: 80px auto 80px;
}

#lowerContent
{
	clear: both;
	/*margin-top: 75px;*/
}

#subNav
{
	padding: 20px 0;
}

#sideHighlight
{
	margin-top: 45px;
	font-size: 19px;
}

#sideHighlight .image
{
	max-width: 359px;
}

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

#sideHighlight p:last-child
{
	margin-bottom: 0;
}

#sideHighlight .title
{
	margin-top: 20px;
	color: #ea942f;
	font-size: 14px;
	text-transform: uppercase;
	font-weight: 600;
}

#linkBanner
{
	padding-top: 75px;
	margin-bottom: 75px;
	clear: both;
	text-align: center;
}

#linkBanner a
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 128px;
	padding: 20px;
	box-sizing: border-box;
	background:  url('../i/hwh-mark.svgz') no-repeat; /* data-uri */
	color: #ffffff;
	font-size: 26px;
	line-height: 1.2;
}

#linkBanner a::before
{

	background: linear-gradient(to right, #db1f28, #e0676c);
}

#linkBanner a:hover,
#linkBanner a:focus,
#linkBanner a:hover::before,
#linkBanner a:focus::before
{
	background: #db1f28;
}

#linkBanner svg
{
	padding-left: 10px;
}

#linkBanner svg path
{
	fill: #ffffff;
}

#upperContent
{
	position: relative;
	padding: calc(30px + (70 - 30) * ((100vw - 320px) / (1280 - 320))) 0 calc(50px + (70 - 50) * ((100vw - 320px) / (1280 - 320)));
	background: #3e5161;
	box-sizing: border-box;
	color: #ffffff;
	z-index: 10;
}

#itemAccessories
{
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	height: 40px;
}

#itemAccessories .socialshare_toolbox a,
#itemAccessories #pdfLink,
#banner #pdfLink
{
	display: block;
	width: 40px;
	height: 40px;
	padding: 11px 0 0 11px;
	background: #cf1821;
	box-sizing: border-box;
	line-height: 0;
	font-size: 0;
}

#itemAccessories .socialshare_toolbox
{
	margin-right: 5px;
}

#upperContent .socialshare_toolbox svg
{
	width: 19px;
	height: 15px;
	fill: #ffffff;
}

#itemAccessories a#pdfLink svg,
#banner #pdfLink svg
{
	width: 17px;
	height: 19px;
	fill: #ffffff;
}

#itemAccessories a:hover svg,
#itemAccessories a:focus svg,
#banner #pdfLink:hover svg,
#banner #pdfLink:focus svg
{
	fill: #cf1821 !important;
}

#itemAccessories a:hover,
#itemAccessories a:focus,
#banner #pdfLink:focus,
#banner #pdfLink:hover
{
	background: #ffffff !important;
}

#openPositions
{
	margin-top: 35px;
}

@media (min-width: 920px)
{
	#mainContent:not(:only-child)
	{
		float: left;
		width: calc(64.5% - 75px);
	}

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

	#subNav,
	#subContent
	{
		float: right;
		clear: right;
		width: 35.5%;
	}

	#subNav
	{
		margin-top: 20px;
		padding: calc(30px + (60 - 30) * ((100vw - 920px) / (1280 - 920))) calc(30px + (60 - 30) * ((100vw - 920px) / (1280 - 920)));
	}

	#subContent
	{
		padding: 0 0 30px calc(30px + (60 - 30) * ((100vw - 920px) / (1280 - 920)));
		margin-top: 1em;
	}

	#subNav ~ #subContent
	{
		padding-top: 30px;
	}

	#subNav:before,
	#subContent:before
	{
		display: none;
	}
}

@media (min-width: 1280px)
{
	#subNav
	{
		padding: 60px;
	}

	#subContent
	{
		padding: 0 0 0 60px;
	}

	#upperContent
	{
		padding: 70px 0;
	}
}

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

	main
	{
		order: 1;
	}

	#subContent
	{
		position: relative;
		order: 3;
	}

	#lowerContent
	{
		order: 2;
	}

	#subNav
	{
		position: relative;
		order: 4;
	}

	#linkBanner
	{
		order: 4;
	}
}

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

#subContent ul.results_list li
{
	list-style: none url('../i/bullet-arrow.png');
	/*margin-left: 15px;*/
	color: #666666;
}

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

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

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

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

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

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

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

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

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

/*#mainContent .results_list li,*/
#mainContent ul.noBullet li
{
	list-style: none;
	margin-left: 0;
}

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

#mainContent .itemSection ul.results_list > li:first-child
{
	margin-top: 0;
}

#mainContent .itemSection
{
	margin-bottom: 46px;
}

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

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

#subContent .itemSection:not(:last-of-type):not(#area_bio_contact)
{
	padding-bottom: 15px;
	margin-bottom: 30px;
	border-bottom: 1px solid #e1e1e1;
}

/* Bio Directory */

.letterLinks
{
	margin: 10px 0 40px -9px;
	color: #999;
	font-weight: 600;
	font-size: 30px;
}

.letterLinks a
{
	color: #000000;
}

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

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

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

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

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

@media (min-width: 1024px)
{
	.letterLinks
	{
		padding-left: 50px;
		background: url('../i/icon-boxedarrow.svgz') 9px 7px no-repeat; /* data-uri */
		background-size: 32px;
	}
}

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

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

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

.bioList > div.results-criteria-wrapper ul.results_criteria,
.bioList > div.results-criteria-wrapper ul.results_criteria > li
{
	display: inline;
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bioList > div.results-criteria-wrapper ul.results_criteria > li:after
{
	content: ',\00a0';
}

.bioList > div.results-criteria-wrapper ul.results_criteria > li:last-child:after
{
	display: none;
}

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

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

.bioList > ul.results_list > li
{
	margin: 0 0 60px;
}

.bioList .title
{
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	color: #333333;
}

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

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

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

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

.bioList > ul.results_list > li .photo a:hover img,
.bioList > ul.results_list > li .photo a:focus img
{
	transform: scale(1.05);
	box-shadow: 0 0 10px 0 rgba(0,0,0,.5);
}

/*
.bioList > ul.results_list > li:hover .photo a:not(.sp_class) img,
.bioList > ul.results_list > li:focus-within .photo a:not(.sp_class) img,
.bioList > ul.results_list > li .photo a:focus:not(.sp_class) img
{
	transform: scale(1.04);
	opacity: 0.8;
}
*/


@media (min-width: 500px)
{
	.bioList > ul.results_list
	{
		display: flex;
		flex-wrap: wrap;
	}

	#mainContent .bioList > ul.results_list > li
	{
		width: calc(50% - 12px);
		margin: 0 6px 60px;
	}

	.bioList .title
	{
		font-size: calc(18px + (26 - 18) * ((100vw - 320px) / (1280 - 320)));
	}
}

@media (min-width: 920px)
{
	#mainContent .bioList > ul.results_list > li
	{
		width: calc((100%/3) - 12px);
	}
}

@media (min-width: 1280px)
{
	.bioList .title
	{
		font-size: 26px;
	}
}

/* Bio Profile */

body.people-item #banner
{
	height: auto;
	padding-top: 130px;
}

body.people-item #content,
body.capabilities-item #content,
body.about-offices-item #content
{
	margin-top: 20px;
}

body.people-item #bannerContent
{
	position: relative;
	width: 100%;
	left: 0;
	color: #333333;
}

body.people-item #header
{
	background: #3e5161;
	padding-bottom: 20px;
}

body.people-item #mainContent
{
	margin-top: 0;
}

body.people-item #subContent
{
	background: none;
	padding-top: 0;
}

/*body.people-item #mainContent .itemSection ul li
{
	margin-left: 0;
	list-style: none;
}*/

#bioPhoto
{
	position: relative;
	left: -70%;
	width: 175%;
	margin: 0 0 20px;
}

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


body.people-item #bannerContent h1
{
	margin: 0 0 10px;
	font-size: calc(30px + (45 - 30) * ((100vw - 320px) / (768 - 320)));
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	text-align: left;
}

#bioTitle
{
	margin-bottom: 20px;
	font-size: calc(20px + (28 - 20) * ((100vw - 320px) / (768 - 320)));
	line-height: 1.2;
}

#bioExtras
{
	padding: 20px;
	background: #cf1821;
	color: #ffffff;
	font-size: calc(18px + (20 - 18) * ((100vw - 320px) / (1280 - 320)));
}

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

ul#bioContact
{
	color: #ffffff;
}

ul#bioContact li
{
	margin-bottom: 6px;
}

ul#bioContact li a
{
	color: #ffffff !important;
	border-bottom: 1px solid rgba(255,255,255, .3);
}

ul#bioContact li a:focus,
ul#bioContact li a:hover
{
	border-bottom: 1px solid rgba(255,255,255, 1);
}

ul#bioContact li a[href^=tel]
{
	border-bottom: none;
}

ul#bioAccessories,
#officeExtras
{
	display: flex;
	width: 265px;
	margin-top: 20px;
}

ul#bioAccessories li:not(:last-child),
#officeExtras > div:not(:last-child)
{
	margin-right: 24px;
}

ul#bioAccessories svg path,
#officeExtras
{
	fill: #ffffff;
}

#bioPDF svg,
#officePDF svg
{
	width: 22px;
	height: 25px;
}

#bioLinkedin svg
{
	width: 17px;
	height: 16px;
}

#bioShare svg
{
	width: 19px;
	height: 15px;
}

#bioTwitter svg
{
	width: 18px;
	height: 16px;
}

#bioVcard a
{
	display: block;
	width: 80px;
	height: 31px;
	padding: 7px 0;
	border: 1px solid #ffffff;
	text-transform: uppercase;
	font-size: 14px;
	line-height: 14px;
	text-align: center;
	box-sizing: border-box;
	color: #ffffff !important;
}

#bioVcard a:hover,
#bioVcard a:focus
{
	background: #ffffff;
	color: #cf1821 !important;
}

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


@media (min-width: 768px)
{
	body.people-item #banner
	{
		padding-top: 0;
	}

	body.people-item #header
	{
		background: none;
	}

	body.people-item #bannerContent h1
	{
		font-size: 45px;
	}

	#bioPhoto
	{
		width: 100vw;
		left: calc(50% - 50vw);
	}
}

@media (min-width: 920px)
{

	body.people-item #bannerContent
	{
		color: #ffffff;
	}

	body.people-item #bannerContent h1
	{
		margin-bottom: 0;
		color: rgba(255,255,255,.54);
		font-size: calc(30px + (75 - 30) * ((100vw - 920px) / (1900 - 920)));
	}

	#bioPhoto::before
	{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: linear-gradient(to right, rgba(0,0,0,.47) 40%, rgba(0,0,0,0) 55%);
	}

	#bioPhoto::after
	{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: linear-gradient(to bottom, rgba(0,0,0,.27) -2%, rgba(0,0,0,0) 15%);
	}

	#bioTitle
	{
		margin: 0;
		font-size: calc(18px + (34 - 18) * ((100vw - 920px) / (1900 - 920)));
	}

	#bioInfo
	{
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: flex-end;
		height: 100%;
		width: 50%;
		max-width: 650px;
		padding-bottom: 6.5vw;
		box-sizing: border-box;
	}

	#bioExtras
	{
		max-width: 471px;
		margin-top: calc(20px + (45 - 20) * ((100vw - 920px) / (1900 - 920)));
		box-sizing: border-box;
	}
}

@media (min-width: 1280px)
{
	#bioExtras
	{
		padding: 30px 34px 34px;
	}
}

@media (min-width: 1900px)
{
	body.people-item #bannerContent h1
	{
		font-size: 75px;
	}

	#bioTitle
	{
		font-size: 34px;
	}

	#bioExtras
	{
		margin-top: 45px;
	}
}

@media (max-width: 549px)
{
	body.people-item #header
	{
		position: relative;
	}

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


/* Practice List */

div#listColumnWrapper
{
}

div.listColumn
{
	position: relative;
}

div.listColumn ul,
div.listColumn ul li
{
	position: relative;
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
}

div.listColumn > ul > li
{
	font-size: 20px;
	line-height: 1.2;
	padding: 20px 0 20px 40px;
	background: url('../i/icon-arrow-red.svgz') 5px 26px no-repeat; /* data-uri */
	background-size: 20px 12px;
	color: #333333;
	border-bottom: 1px solid #e1e1e1;
}

div.listColumn > ul > li a:not(:hover):not(:focus)
{
	color: inherit;
}

div.listColumn ul.hierList li
{
	font-weight: normal;
	margin: 0.25em 0 0 0;
}

div.listColumn li li
{
	padding-left: 1em;
}

div.listColumn.areaToggle ul.hierList
{
	display: none;
	font-size: 18px;
}

div.listColumn.areaToggle .areaExpand
{
	position: relative;
	top: -3px;
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0 0 0 5px;
	padding: 0px;
	border: 0px;
	background: none;
	cursor: pointer;
	text-align: center;
	vertical-align: top;
	font-size: 40px;
	line-height: 1;
}

div.listColumn.areaToggle .areaExpand::after,
div.listColumn.areaToggle .areaExpand::before
{
	position: absolute;
	left: 7px;
	top: 14px;
	display: block;
	content: '';
	width: 15px;
	height: 3px;
	background: #999999;
}

div.listColumn.areaToggle .areaExpand::before
{
	width: 3px;
	height: 15px;
	left: 13px;
	top: 8px;
}

div.listColumn.areaToggle .areaExpand.expanded::before
{
	display: none;
}


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

	div#listColumnWrapper > div
	{
		flex: 0 1 385px;
		border-top: 1px solid #e1e1e1;
	}

	div#listColumnWrapper > div:not(:last-child)
	{
		margin-right: 30px;
	}
}

#practiceSearch
{
	width: 100%;
	max-width: 811px;
	position: relative;
	margin-bottom: 38px;
}

#practiceSearch form
{
	position: relative;
	flex: 1 1 800px;
}

#practiceSearch form > div > div
{
	width: 100%;
}

#practiceSearch form  > div
{
	display: block;
}

#upperContent #practiceSearch form button
{
	position: absolute;
	right: 0;
	top: 14px;
	width: 27px;
	height: 27px;
	background: none;
	border: none;
	overflow: hidden;
	text-indent: -9999em;
}

#upperContent form button svg
{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: auto;
	fill: #ffffff;
}


#upperContent form button:hover,
#upperContent form button:focus
{
	cursor: pointer
}

#upperContent input,
#upperContent select,
#upperContent .customSelect
{
	height: 55px;
	font-size: 20px;
	background: none;
	border: none;
	border-bottom: 1px solid #858f97;
	color: #ffffff;
	padding: 4px 0 0 0;
}

#upperContent select
{
	color: #3e5161;
}

#upperContent .customSelect
{
	padding-top: 10px;
	background: none;
	color: #ffffff;
}

#upperContent .customSelect::after
{
	top: 1.2em;
}

#upperContent option
{
	color: #333333 !important;
}

#upperContent label
{
	padding: 10px 0 0 0;
	left: 0;
	color: #ffffff;
	background: none !important;
}

#upperContent div:not(.hasFocus) > label
{
	font-size: 20px;
}

#upperContent #newsroomSearch
{
	margin-bottom: 45px;
}

#upperContent #newsroomSearch button
{
	position: relative;
	top: 23px;
	display: block;
	padding: 0 37px 5px 0;
	margin: 0;
	background: none;
	border: none;
	border-bottom: 3px solid currentColor;
	color: #8bbee8;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 600;
	text-align: left;
}

#upperContent #newsroomSearch button svg
{
	right: 6px;
	top: 3px;
	width: 19px;
	height: auto;
	fill: #8bbee8;
}

@media (min-width: 1024px)
{
	#upperContent #newsroomSearch.newsroomIndividual form > div
	{
		flex-wrap: nowrap;
	}

	#upperContent #newsroomSearch.newsroomIndividual form > div > div:not(:last-child)
	{
		flex-basis: auto;
		width: calc(100% - 60px);
		margin-right: 28px;
	}

	#upperContent #newsroomSearch.newsroomIndividual form > div > div:last-child
	{
		flex-basis: auto;
		width: 110px;
	}
}

/* Practice Profile */

#area_bio_contact .photosquare
{
	max-width: 123px;
}

#area_bio_contact + #area_bio
{
	margin-top: 30px;
}

#subContent #area_bio_contact li
{
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	padding: 20px;
	margin-left: 0;
	box-sizing: border-box;
	list-style: none;
	border: 3px solid #e1e1e1;
}

#area_bio_contact .photosquare img
{
	display: block;
	width: 100%;
	height: auto;
}

#subContent #area_bio_contact .title
{
	padding-left: 20px;
	margin-left: 23px;
	font-size: 20px;
	line-height: 24px;
	background: url('../i/bullet-arrow.png') left 7px no-repeat; /* data-uri */
}

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


/* News/Pub/Event type Listing */

#pastEvents
{
	margin-top: 40px;
}

.newsroomItem
{
	margin-bottom: 32px;
}

.newsroomItem ul li
{
	margin: 0 0 30px;
	list-style: none;
}

.newsroomItem .info,
#itemInfo
{
	margin: 0 0 3px;
	color: #666666;
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
}

.newsroomItem .info span + span::before,
#itemInfo span + span::before
{
	content: '|';
	padding: 0 5px;
}

.newsroomItem .title
{
	font-weight: 600;
}

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

.view_more a
{
	display: inline-block;
	width: auto;
	margin: 0 0 28px 0;
	padding: 7px 14px 7px 0;

	vertical-align: middle;
}

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

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

#newsroomSubscribe
{
}

#newsroomSubscribe h2
{
	width: 100%;
}

#subscribeImage
{
	float: left;
	max-width: 160px;

	margin-right: 35px;
}

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

#subscribeContent
{
	max-width: 560px;
}

#subscribeContent .content
{
	font-weight: 500;
}


@media (min-width: 768px)
{
	#newsroomSections
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 -30px;
	}

	.newsroomItem
	{
		width: calc(50% - 60px);
		max-width: 640px;
		margin: 0 30px 32px;
	}

	.newsroomListing
	{
		width: 100%;
		max-width: 100%;
		margin: 0;
	}
}


/* 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 ul,
#officeList li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

#officeList li
{
	margin: 0 0 60px;
	font-size: 19px;
}

#officeList .imagetitle
{
	position: relative;
	background: #000000;
}

#officeList .imagetitle:before
{
	content: 'FL';
	position: absolute;
	left: -13px;
	bottom: 0;
	font-size: 160px;
	line-height: .65;
	font-weight: 600;
	color: #ffffff;
	opacity: .25;
}

#officeList .listingimage img
{
	display: block;
	width: 100%;
	height: auto;
	opacity: .75;
}

#officeList .content
{
	min-height: 212px;
	padding: 20px 20px 40px;
	border: 1px solid #e1e1e1;
	box-sizing: border-box;
}

#officeList .title
{
	position: absolute;
	bottom: 0px;
	left: 0;
	padding: 0 20px;
	color: #ffffff;
	font-weight: 300;
	font-size: calc(35px + (45 - 35) * ((100vw - 320px) / (1280 - 320)));
	line-height: 1.4;
}

#officeList .title a
{
	color: inherit;
}

#homeNewsSpot.officeNewsSpot
{
	position: relative;
	padding: calc(50px + (95 - 50) * ((100vw - 320px) / (1280 - 320))) 0;
	background: #eeeded;
}

@media (min-width: 600px)
{
	#officeList ul
	{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -10px;
	}

	#officeList li
	{
		width: calc(50% - 20px);
		margin: 0 10px 60px;
	}
}

@media (min-width: 920px)
{
	#officeList li
	{
		width: 100%;
	}

	#officeList .title
	{
		font-size: calc(25px + (45 - 25) * ((100vw - 920px) / (1280 - 920)));
		line-height: 1.2;
	}
}

@media (min-width: 1024px)
{
	#officeList ul
	{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -25px;
	}

	#officeList li
	{
		width: calc(50% - 50px);
		margin: 0 25px 60px;
	}

	#officeList .content
	{
		padding: 25px calc(20px + (42 - 20) * ((100vw - 1024px) / (1280 - 1024)));
	}

	#officeList .title
	{
		padding: 0 calc(20px + (42 - 20) * ((100vw - 1024px) / (1280 - 1024)));
	}
}

@media (min-width: 1280px)
{
	#officeList .title
	{
		font-size: 45px;
	}

	#officeList .content
	{
		padding: 25px 42px;
	}

	#officeList .title
	{
		padding: 0 42px;
	}

	#homeNewsSpot.officeNewsSpot
	{
		padding: 95px 0;
	}
}

/* Office Profile Pages */

body.about-offices-item #banner
{
	height: auto;
}

body.about-offices-item #bannerContent
{
	position: relative;
	width: 100%;
	left: auto;
	color: inherit;
	box-sizing: border-box;
}

body.about-offices-item h1#pageTitle
{
	padding: 20px 0;
	font-weight: 700;
	text-transform: uppercase;
	text-align: left;
	font-size: 40px;
	color: #333333;
	/*font-size: calc(40px + (75 - 40) * ((100vw - 320px) / (1600 - 320)));*/
}

body.about-offices-item #bannerImage img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#officeInfo
{
	position: relative;
	padding: 20px 0;
	background: #cf1821;
	color: #ffffff !important;
	line-height: 1.5;
	font-size: calc(16px + (20 - 16) * ((100vw - 320px) / (1280 - 320)));
}

#officeAddressPhone
{
	display: flex;
}

#officeAddressPhone > div + div:before
{
	content: '|';
	padding: 0 20px;
}

#officeExtras
{
	display: flex;
}

#office_map a
{
	position: relative;
	width: 150px;
	display: block;
	padding: 10px 30px;
	margin: 0 auto;
	border: 3px solid #cf1821;
	background: none;
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	color: #cf1821;
	overflow: hidden;

}

#office_map a::before
{
	position: absolute;
	top: 0;
	right: calc(100% + 3px);
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #cf1821;
	transition: all 350ms ease;
	z-index: -1;
}

#office_map a:hover
{
	color: #ffffff;
}

#office_map a:hover::before
{
	right: 0;
}


@media (min-width: 920px)
{
	body.about-offices-item #bannerImage::after
	{
		background: linear-gradient(to right, rgba(0,0,0,0.36) 30%, transparent 50%);
	}

	body.about-offices-item #bannerImage::before
	{
		content: '';
	    position: absolute;
	    z-index: 2;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
		background: linear-gradient(to bottom, rgba(0,0,0,0.36) 10%, transparent 25%);
	}

	body.about-offices-item #bannerImage img
	{
		width: 125%;
		height: auto;
	}

	body.about-offices-item #bannerContent
	{
		position: absolute;
		bottom: calc(40px + (128 - 40) * ((100vw - 920px) / (1920 - 920)));
	}

	body.about-offices-item h1#pageTitle
	{
		color: #ffffff;
		opacity: .54;
	}

	#officeInfo
	{
		width: 471px;
		padding: 30px 35px;
		line-height: 1.5;
	}

	#officeInfo::before
	{
		display: none;
	}
}

@media (min-width: 1100px)
{
	body.about-offices-item #bannerImage img
	{
		width: 110%;
	}
}

@media (min-width: 1280px)
{
	body.about-offices-item #bannerImage img
	{
		width: 100%;
	}

	body.about-offices-item h1#pageTitle
	{
		font-size: calc(40px + (75 - 40) * ((100vw - 1280px) / (1600 - 1280)));
	}

	#officeInfo
	{
		line-height: 1.6;
		font-size: 20px;
	}

	#overviewLeft
	{
		width: 50%;
		padding-right: 30px;
		float: left;
		box-sizing: border-box;
	}

	#office_map
	{
		float: right;
		width: 45%;
	}
}

@media (min-width: 1600px)
{
	body.about-offices-item h1#pageTitle
	{
		font-size: 75px;
	}

	body.about-offices-item #bannerContent
	{
		bottom: 128px;
	}

	#officeInfo
	{
		line-height: 2;
	}
}

@media (min-width: 1920px)
{
	body.about-offices-item #bannerContent
	{
		bottom: 128px;
	}
}

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

/*
	from here down to 'Form' is non raw site
	- spotlight mimic kmk version, used on resource landing page
	and newsroom-event landing page

	- resource alert notice: Alert on the newsroom landing page
	text from site settings wys

	- badge: text-detail, about pages only, cross reference field
*/


/* experience/articles & presentations */

.featuredHighlight
{
	margin: 0 0 70px;
}

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

.featuredHighlight .image
{
	max-width: 490px;
	margin: 0 0 20px;
}

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

.featuredHighlight .title
{
	margin: 0 0 15px;
	font-weight: 600;
	font-size: calc(24px + (35 - 24) * ((100vw - 320px) / (767 - 320)));
}

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

.featuredHighlight .spottext
{
	font-size: calc(21px + (30 - 21) * ((100vw - 320px) / (767 - 320)));
}

.featuredHighlight #pager
{
	display: flex;
	margin-top: 30px;
}

.featuredHighlight .readmore
{
	margin-top: 20px;
}

.featuredHighlight button
{
	display: block;
	width: 32px;
	height: 32px;
	border: 2px solid #cf1821;
	background: url('../i/icon-arrow-red.svgz') center 8px no-repeat; /* data-uri */
	background-size: 20px;
	cursor: pointer;
}

.featuredHighlight button:first-child
{
	transform: rotate(-180deg);
}


@media (min-width: 768px)
{
	.featuredHighlight
	{
		position: relative;
		overflow: hidden;
	}

	.featuredHighlight:before
	{
		position: absolute;
		right: 0;
		top: 0;
		z-index: -1;
		content: '';
		display: block;
		height: calc(100% - 4px);
		width: 83%;
		border: 2px solid #e1e1e1;
	}

	.featuredHighlight li,
	.featuredHighlight > div,
	.featuredHighlight ul
	{
		width: 100%;
		height: 100%;
		overflow: hidden;
	}

	.featuredHighlight li > div
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 35px 0;
	}

	.featuredHighlight li .image
	{
		width: 36%;
		max-width: 490px;
		margin: 0;
	}

	.featuredHighlight li .content
	{
		width: 57%;
		max-width: 765px;
		padding: 0 60px 45px 0;
		box-sizing: border-box;
	}

	.featuredHighlight .title
	{
		font-size: calc(24px + (35 - 24) * ((100vw - 768px) / (1280 - 768)));
		line-height: 1.4;
	}

	.featuredHighlight .spottext
	{
		font-size: calc(21px + (30 - 21) * ((100vw - 768px) / (1280 - 768)));
		line-height: 1.5;
	}

	.featuredHighlight #pager
	{
		position: absolute;
		z-index: 1000;
		width: 57%;
		max-width: 765px;
		float: right;
		margin-top: 0;
		bottom: 35px;
		right: 0;
		height: auto;
	}
}


@media (min-width: 1280px)
{
	.featuredHighlight .title
	{
		font-size: 35px;
	}

	.featuredHighlight .spottext
	{
		font-size: 30px;
	}
}


#repClients
{
	position: relative;
	padding: calc(40px + (100 - 40) * ((100vw - 320px) / (1280 - 320))) 0;
	background: #eeeded;
}

#repClients h2
{
	border-bottom: none !important;
}

/*#repClients ul.results_list
{
	columns: 3;
	column-width: 385px;
	column-gap: 86px;
}

#repClients ul.results_list li
{
	display: inline-block;
	width: 100%;
}*/

@media (min-width: 1280px)
{
	#repClients
	{
		padding: 100px 0;
	}
}

/* resource alert notice */
#resourceNoticeMessage
{
	padding: 18px 36px;
	border: 1px solid #ccc;
	margin-bottom: 2rem;
}

/* awards / noteworthy: about pages - from mnat */

#bottomBadges
{
	position: relative;
	padding: calc(30px + (62 - 30) * ((100vw - 320px) / (1280 - 320))) 0;
	margin-top: 80px;
	background: #eeeded;
}

#bottomBadges ul,
#bottomBadges li
{
	list-style: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

#bottomBadges ul
{
	margin-top: 20px;
}

#bottomBadges li
{
	width: 100%;
	background: #ffffff;
	padding: 35px calc(15px + (35 - 15) * ((100vw - 320px) / (1280 - 320)));
	margin-bottom: 22px;
	border: 1px solid #e1e1e1;
	transition: all 250ms ease;
}

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

#bottomBadges li:hover,
#bottomBadges li:focus
{
	transform: scale(1.07);
	color: #db1f28;
}

#bottomBadges .image
{
	max-width: 260px;
	margin: 0 auto 50px;
}

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

#bottomBadges .datetype
{
	color: #ea942f;
	font-weight: 600;
}

@media (min-width: 600px)
{
	#bottomBadges ul
	{
		display: flex;
		flex-wrap: wrap;
		margin-left: -11px;
		margin-right: -11px;
	}

	#bottomBadges li
	{
		width: calc(50% - 22px);
		margin: 0 11px 22px 11px;
	}
}

@media (min-width: 1024px)
{
	#bottomBadges li
	{
		width: calc((100%/3) - 22px);
		margin: 0 11px 22px 11px;
	}
}

@media (min-width: 1280px)
{
	#bottomBadges
	{
		display: flex;
		padding: 62px 0 40px;
	}

	#bottomBadges ul
	{
		margin: 10px -22px 0;
	}

	#bottomBadges li
	{
		width: calc((100%/3) - 44px);
		margin: 0 22px 44px 22px;
	}

	#bottomBadges h3
	{
		flex: 0 0 206px;
	}
}


/* Careers */

/* The "simpleHighlight has some subtle differences - arrow before title and it doesn't rotate*/

/*.simpleHighlight
{
	margin-bottom: 0;
}*/

.simpleHighlight .title
{
	padding-left: calc(30px + (52 - 30) * ((100vw - 320px) / (767 - 320)));
	background: url('../i/icon-boxedarrow.svgz') left 9px no-repeat; /* data-uri */
	background-size: calc(20px + (32 - 20) * ((100vw - 320px) / (767 - 320)));
}

@media (min-width: 768px)
{
	.simpleHighlight .title
	{
		position: relative;
		left: -30px;
		padding-left: 30px;
		background-size: 20px;
		background-position: left 7px;
	}
}

@media (min-width: 1024px)
{
	.simpleHighlight .title
	{
		left: -50px;
		padding-left: 50px;
		background-size: 32px;
		background-position: left calc(4px + (7 - 4) * ((100vw - 1024px) / (1280 - 1024)));
	}
}

@media (min-width: 1280px)
{
	.simpleHighlight .title
	{
		background-position: left 7px;
	}
}

/* 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-flow: row wrap;
	justify-content: space-between;
}

form > div > div
{
	position: relative;
	flex-basis: calc(50% - 14px);
	margin: 0 0 28px 0;
}

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

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

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

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

label
{
	display: block;
}

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

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

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

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

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

form > div > div.radio_wrapper
{
	flex-basis: 100%;
	padding: 10px 0 0 0;
}

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

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

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

form > div > div.submit_wrapper
{
	display: flex;
	align-items: flex-end;
	font-size: 16px;
}

form > div > div.submit_wrapper a,
form > div > div.submit_wrapper span
{
	padding-bottom: 8px;
	color: #666666;
}

form > div > div.submit_wrapper a:hover,
form > div > div.submit_wrapper a:focus
{
	color: #db1f28;
}

form > div > div.submit_wrapper button,
form > div > div#submit_wrapper input[type=submit]
{
	position: relative;
	height: 38px;
	padding: 0 38px 0 0;
	margin: 0 32px 0 0;
	color: #db1f28;
	border: none;
	background: none;
	font-size: 16px;
	text-align: left;
	text-transform: uppercase;
	font-weight: 600;
	border-bottom: 3px solid #db1f28;
	box-sizing: border-box;
	cursor: pointer;
}

form > div > div#submit_wrapper input[type=submit]
{
	padding-right: 0;
}

form > div > div.submit_wrapper button svg
{
	position: absolute;
	right: 7px;
	top: 3px;
	width: 20px;
	fill: #db1f28;
}


form > div > div.submit_wrapper span
{
	margin: 0 8px;
}

form > div > div.submit_wrapper > *
{
	display: block;
}

form > div > div.submit_wrapper .clearAll
{
	vertical-align: top;
}

#contactForm
{
	margin: 10px 0 60px;
}

/* sigh */
#contactForm h2
{
	padding-bottom: 0;
	border-bottom: none !important;
}

/* WebForm uses an id */
#submit_wrapper
{
	flex-basis: 100%;
}

form > p
{
	flex-basis: 100%;
}

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

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

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

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

input:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect
{
	width: 100%;
	min-height: 33px; /* appease IE11 */
	margin: 0;
	padding: 1px 7px 6px 0;
	vertical-align: top;
	color: #666766;
	background-color: #fff;
	border: none;
	border-bottom: 1px solid #d6d6d6;
	font: normal 20px/1.8 Helvetica, Arial, sans-serif;
	box-sizing: border-box;
	border-radius: 0;
}

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
***/
form > div > div:not(.textarea_wrapper) > label
{
	position: absolute;
	padding: 2px 7px 6px 0;
	color: #666766;
	font: normal 20px/1.8 Helvetica, Arial, sans-serif;
}

form > div > div.checkbox_wrapper > label
{
	position: static;
}

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

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

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

    position: relative;
}

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

	width: 16px;
	height: 10px;
	background: url('../i/select-arrow.svgz') no-repeat; /* data-uri */
	width: 16px;
	height: 10px;

}

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

	/* customSelect tries to be useful and set the width, but it
		breaks a lot */
	width: 100% !important;
	box-sizing: border-box;
}

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

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

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

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus,
.customSelectFocus
{
	/*background-color: #eee;*/
}

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

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

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

input[type=submit],
::-webkit-file-upload-button,
button#reviseSearch
{
	box-sizing: border-box;
	width: auto;
	height: 34px;
	margin: 0 0 10px 0;
	padding: 1px 14px 1px 14px;

	border: 0 solid #d6d6d6;

	background: #969696;
	color: #fff;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	cursor: pointer;

	vertical-align: top;
}

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


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

#emailField
{
	display: none;
}

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

/*@media (max-width: 767px)
{
	form > div > div.submit_wrapper
	{
		flex-basis: 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: #3874a8;
	font-size: 11px;
}

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

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


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

#footer
{
	position: relative;
	max-width: 1375px;
	padding: calc(40px + (82 - 40) * ((100vw - 320px) / (1280 - 320))) 0 0;
	margin: 65px auto 0;
	background: #3e5161;
	box-sizing: border-box;
	color: #c5c4c4;
	font-size: 19px;
}

body.noFooterMargin #footer
{
	margin-top: 0;
}

/*body.noFooterMargin main
{
	padding-bottom: 0;
	margin-bottom: 0;
}*/

#footer a
{
	color: #acdaff;
}

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

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


#footer ul li
{
	margin: 0 0 12px;
}

#footer > div:not(:last-child)
{
	margin: 0 0 30px;
}


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

#footer h4
{
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #ffffff;
}



#footerOffices ul li
{
	display: flex;
	margin: 0 0 12px;
}

#footerOffices .title
{
	margin-right: 7px;
}

#footerSocial li a
{
	position: relative;
	display: block;
	padding-left: 30px;
}


#footerSocial li a svg
{
	position: absolute;
	left: 0;
	top: 0;
}


#footerSocial li a svg path
{
	fill: #8bbee8;
}

#footerSocial li a:hover svg path,
#footerSocial li a:focus svg path
{
	fill: #ffffff;
}

#footerSocial li#facebook a svg
{
	left: 3px;
	top: 3px;
}

#footerSocial li#linkedin a svg
{
	top: 4px;
}

#footerSocial li#twitter a svg
{
	top: 4px;
}

#footerLogos li img
{
	max-width: 205px;
}



#footerCopyright
{
	flex-basis: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 23px 0;
	margin-top: calc(40px + (62 - 40) * ((100vw - 320px) / (1280 - 320)));
	background: #ffffff;
	color: #333333;
	font-size: 16px;
}

#footerCopyright a
{
	color: #333333;
}

#footerCopyright a:hover,
#footerCopyright a:focus
{
	color: #0883a1;
}


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

		justify-content: space-between;
		flex-wrap: wrap;
	}

	#footer > div:not(:last-child)
	{
		padding-right: 50px;
		box-sizing: border-box;
	}
}


@media (min-width: 1280px)
{
	#footer
	{
		padding-top: 82px;
		font-size: 19px;
	}

	#footerContact
	{
		flex: 1 1 350px;
	}
	#footerSocial
	{
		flex: 0 0 333px;
	}
	#footerDisclaimer
	{
		flex: 0 0 400px;
	}

	#footerCopyright
	{
		margin-top: 62px;
	}
}

@media (max-width: 767px)
{
	#footerCopyright
	{
		display: block;
	}
}

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

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

.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%;
	height: 100%;
	margin: 10px 0 0 10px;
}

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

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

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

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

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

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

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

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

.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;
	font-size: 0.8rem;
}

.popupPlayerSidebar > div h2
{
	font-size: 0.9rem;
}

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

.xrefMultimediaList ul.results_list li
{
	margin: 10px 0px 0px 0;
}

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

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

.videomore
{
	font-size: 0.8rem;
}

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

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

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

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

.itemMultimediaList ul.results_list li .photo,
.xrefMultimediaList 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;
}

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

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

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

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

.photo .triggerPopupPlayer,
.photo .triggerPopupPlayer img
{
	display: inline-block;
	position: relative;

	max-width: 100%;
}

/* 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);
	z-index: 5;
}

.photo .triggerPopupPlayer::before
{
	/* these ems are set so you can just use font-size: a few blocks above to set
		the size of the icon */
	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 popup -------------------------------------------------> */

#cookiePopup
{
	display: none;
	position: fixed;
	left: 80px;
	right: 80px;
	bottom: 0;
	overflow: hidden;
	z-index: 9999;
	max-width: 1100px;
	margin: 0px auto;
	padding: 1rem 2rem;
	background: rgba(0,0,0,.85);
}

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

#cookiePopup p
{
	margin: 1em 0;
	padding: 0;
	float: left;
	max-width: calc(100% - 300px);
	color: #ffffff;
	font-size: 0.85rem;
}

#cookiePopup a
{
	color: #ffffff;
	text-decoration: underline;
}

#cookiePopup a:hover,
#cookiePopup a:focus
{
	color: #cccccc;
}

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

#cookiePopup button
{
	padding: 0.2rem 0.8rem;
	background: none;
	border: 1px solid #ffffff;
	border-radius: 0px;
	color: #ffffff;
	font-weight: 300;
	text-transform: uppercase;
	cursor: pointer;
}

#cookiePopup button:hover,
#cookiePopup button:focus
{
	border: 1px solid #cccccc;
	color: #cccccc;
}

@media (max-width: 1349px)
{
	#cookiePopup
	{
		left: 44px;
		right: 44px;
	}
}

@media (max-width: 919px)
{
	#cookiePopup
	{
		left: 16px;
		right: 16px;
		bottom: 16px;
	}

	#cookiePopup p
	{
		max-width: calc(100% - 200px);
		margin: 0.4em 0 0.2em 0;
	}
}

@media (max-width: 767px)
{
	#cookiePopup
	{
		padding: 1rem;
	}

	#cookiePopup > div
	{
		display: block;
		text-align: center;
	}

	#cookiePopup p
	{
		float: none;
		max-width: none;
	}

	#cookiePopup button
	{
		margin: 1rem 0px 1.3rem 0px;
	}
}


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

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

.closeButton::before,
.closeButton::after
{
	position: absolute;
	top: 9px;
	left: 3px;
	width: 14px;
	height: 3px;
	content: "";
	background-color: currentColor;
	transform: rotate(-45deg);
}

.closeButton::after,
.closeButton::after
{
	transform: rotate(45deg);
}

.closeButton:hover,
.closeButton:focus
{
	color: #262626;
}

.acceptButton
{
	position: absolute;
	top: 15px;
	right: 15px;
	padding: 0.3vw 0.5vw;
	border: 2px solid #fff;
	background-color: #ddd;
	border-radius: 3px;
	cursor: pointer;
	color: #333333;
	text-transform: uppercase;
}

.acceptButton:hover,
.acceptButton:focus
{
	background-color: green;
	color: #ffffff;
}

@media (max-width: 767px)
{
	.closeButton
	{
		top: 4px;
	}
}


/* Email Popup Support -------------------------------------------------> */

#emailPopupWrapper
{
	position: fixed;
	z-index: 99999;

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

	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	background: rgba(51, 51, 51, .7);

	transition: opacity .3s;
}

#emailPopupWrapper:not(.active)
{
	pointer-events: none;
	opacity: 0;
}

#emailPopup
{
	position: relative;
	background: white;
}

#emailPopupContent
{
	border: 12px solid #cecece;
	background: white;

	max-height: calc(100vh - 40px);
	width: calc(100vw - 40px);
	max-width: 800px;

	padding: 20px;
	box-sizing: border-box;

	overflow: auto;
}

#emailDisclaimerButtons
{
	text-align: center;
}

#emailDisclaimerButtons a
{
	display: inline-block;
	margin: 10px;
	padding: 4px 6px;
	background: #3874a8;
	color: #fff;
	text-align: center;
}

#emailPopupClose
{
	position: absolute;
	top: -12px;
	right: -12px;
}

/*SiteMap object */

table.SITE_MAP
{
	margin-top: 5px;
	border-collapse: collapse;
}

table.SITE_MAP th
{
	padding-top: 5px;
	text-align: right;
}

table.SITE_MAP td
{
	padding-top: 5px;
}

table.SITE_MAP td.h_separator
{
	height: 5px;
	border-bottom: solid 1px #ccc;
}

table.SITE_MAP td.v_separator
{
	padding-left: 15px;
	padding-right: 15px;
	color: #666;
	font-size: 08px;
}

@media (max-width: 767px)
{
	table.SITE_MAP,
	table.SITE_MAP th,
	table.SITE_MAP td,
	table.SITE_MAP tr
	{
		display: block;
		padding: 0;
		text-align: left;
	}

	table.SITE_MAP td:nth-child(n + 4)
	{
		padding-left: 10px;
	}

	table.SITE_MAP td:nth-child(n + 6)
	{
		padding-left: 20px;
	}

	table.SITE_MAP .v_separator
	{
		display: none;
	}
}


/* Search Object Support */
#search form
{
	margin: 0 0 2rem 0;
}

#sp_class_search form div
{
	width: 100%;
	flex-basis: 100%;
}

/* search text input and button */
#sp_class_search .search_text
{
	display: flex;
	justify-content: flex-end;

	align-items: stretch;

	margin: 1em 0 0;
}

#sp_class_search .search_text input
{
	vertical-align: bottom;
	margin: 0;

	display: block;

	height: auto;
}

#sp_class_search #searchtext
{
	flex-grow: 1;
	flex-basis: 0;
	width: auto;

	margin-right: 1rem;
}

#sp_class_search p.form-section-label
{
	margin: 1.5rem 0 0.5rem 0;
	padding: 0;

	font-weight: bolder;
}

.search_section_wrapper
{
	display: flex;
}

#subContent .search_section_wrapper
{
	flex-direction: column;
}

/* list of categories can expand as needed */
.search_section_wrapper .sections
{
	flex-grow: 1;
}

/* checkbox/radio rows */
#sp_class_search .sections > div,
#sp_class_search .search_type > div > div
{
	padding: 0 0 0.8rem .3rem;

	display: flex;
	align-items: center;
}

.search_section_wrapper input[type=radio],
.search_section_wrapper input[type=checkbox]
{
	margin: 0;
	padding: 0;
}

#sp_class_search label
{
	font-size: 1rem;
	line-height: 1;

	display: flex;
	align-content: center;
	align-items: flex-end;

	padding-top: 1px;
	padding-left: 0.5rem;
}

#search .SEARCH
{
	margin: 2.5rem 0 0 0;
}

#search #subContent
{
	border: none;
	margin: .5rem 0 0 0;
}

#search #subContent form > div > div
{
	flex-basis: auto;
}

#search #advSearchLink a
{
	color: #888;
}

#search .search_result_date
{
	color: #888;
}


@media (max-width: 767px)
{
	#sp_class_search .search_text
	{
		flex-direction: column;

		align-items: flex-start;
	}

	#search main .search_form input[type=submit]
	{
		margin-top: .5rem;
	}

	#sp_class_search #searchtext
	{
		width: 100%;
	}

	#sp_class_search .search_section_wrapper
	{
		flex-direction: column;
	}

	#search div.form-section
	{
		margin-bottom: 0;
	}

	.searchBioWrapper > div > div
	{
		flex-direction: column;
	}
}

#search div.sections input,
#search div.search_type  input
{
	border: 0;
}

#search a.more
{
	font-weight: bolder;
}

.searchfoundtext
{
	font-weight: bolder;
}

#search p
{
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 2px;
	margin-bottom: 18px;
}

#search p.link
{
	padding-top: 5px;
	padding-bottom: 0;
	margin-bottom: 0;
}

#search #mainContent h3
{
	font-size: 1rem;
	margin-top: 1em;
	margin-bottom: .5em;
	padding: 0;
}

#search .view_more a
{
	position: relative;
	padding: 7px 36px 7px 36px;
}

#search .searchHeader
{
	border-bottom: 1px solid #a69e9d;
	margin: 0;
	padding: 0;
}

#search #searchTabLinks div
{
	border-top: 1px solid #e9e9e9;
	margin: 0;
	padding: 6px 0;
}

#search #searchTabLinks .form-section-label
{
	color: #000;
}

#search #searchTabLinks,
#search #searchTabLinks a
{
	color: #0a80ca;
}

#search #searchTabLinks a span
{
	color: #0a80ca;
}

#search #searchTabLinks .form-section-label
{
	border: none;
	margin-top: 27px;
	font-weight: bold;
}

#search #searchResultsFor span
{
	color: #000;
}

#search #searchResultsFor
{
	margin: 0 0 .5rem 0;
	padding: 0;
	color: #888;
}

#search .searchOptionsWrapper
{
	position: relative;
	border: 1px solid #a69e9d;
	width: 400px;
	min-height: 32px;
	padding-left: 9px;
}

#search .searchOptionsWrapper,
#search #searchOptions
{
	display: inline-block;
	font-size: 18px;
}

#search #searchOptions
{
	position: absolute;
	min-width: 400px;
}

#search .customSelect
{
	font-size: 18px;
}

#search .customSelect,
#search select
{
	border: 0 !important;
	padding: 0;
	background: inherit;
}

#search select:hover
{
	cursor: pointer;
}


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

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


/* 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: #3874a8;
	color: #fff;
	text-align: center;
}

.printMap:hover,
.printMap:focus
{
	background: #6a747c;
	text-decoration: none;
}

/* buttons to look like links */
button.toggleExpand
{
	position: relative;
	padding-left: 0;
	margin: 0 0 20px 0;
	background: none !important;
	border: none;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: #666666;
}

button.toggleExpand span
{
	direction: block;
	position: relative;
	padding-right: 22px;
}

button.toggleExpand span::after
{
	position: absolute;
	top: 0px;
	right: 0;
	content: '+';
	font-size: calc(32px + (46 - 32) * ((100vw - 320px) / (1280 - 320)));
	font-weight: 400;
	line-height: .5;
	color: #cf1821;
}

button.toggleExpand.expanded span::after
{
	content: '-';
	top: -1px;
}

.toggleMore
{
	margin-top: 32px;
}

button.toggleExpand:hover,
button.toggleExpand:focus,
.toggleMore a:hover,
.toggleMore a:focus
{
	color: #9f0604;
}

button.toggleExpand.extraContentExpander
{
	padding: 0 0 0 35px !important;
	/*margin-top: 10px;*/
}

button.toggleExpand.extraContentExpander::before
{
	position: absolute;
	left: 0;
	top: calc(50% - 16px);
	content: '+';
	display: block;
	width: 32px;
	height: 32px;
	/*background: #cf1821;*/
	text-align: center;
	font-size: 48px;
	line-height: 32px;
	color: #cf1821;
	font-weight: 300;
}

button.toggleExpand.extraContentExpander.expanded::before
{
	content: '-';
	line-height: 26px;
}

button.toggleExpand.extraContentExpander span::after
{
	display: none;
}


@media (min-width: 1280px)
{
	button.toggleExpand span::after
	{
		font-size: 46px;
	}
}

/* Newsletter Object Support */

.newsletter-unsubscribe-form blockquote
{
	margin-left: 0;
	margin-right: 0;
}


/* Blogs ----------------------------------------------------------> */

.blog .search_form div
{
	float: none;
}

.blog #subContent form > div > div:last-of-type
{
	 text-align: right;
}

.blog #subContent form > div > div
{
    flex-basis: 100%;
}

.blog #bannerText
{
	padding: 20px;
	background: #ddd;
	border-radius: 10px;
}

.blog #searchMessage
{
	padding-bottom: 8px;
	margin-bottom: 1.3em;
	border-bottom: 1px solid currentColor;
	background-size: 12px 1px;
}

.blogPosts div.title
{
	margin-bottom: 1em;
	font-size: 1.3em;
}

.blogPosts img
{
	height: auto;
	max-width: 100%;
}

.blogPosts .socialshare
{
	padding: .5em 0;
	border-bottom: 1px solid currentColor;
	text-align: right;
}

.blogPosts .image:not(:empty)
{
	float: left;
	margin-right: 1em;
}

/* in listing, make image a max height */
.blogPosts > div > div:not(.postDetail) img
{
	display: block;
	width: auto;
	max-height: 9.5em;
}

.blogPosts .sp_pencil img
{
	display: inline !important;
}

/* in listing, make sure the read more shows inline with the intro */
.blogPosts > div > div:not(:only-child) .intro p:last-child
{
	display: inline;
}

.blogPosts > div > div
{
	clear: both;
	margin-bottom: 2.5em;
}

/* fields within each blog post */
.blogPosts > div > div > div + div
{
	margin-top: .5em;
}

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

#addComment
{
	border-top: 1px solid currentColor;
}

.blog #historyLinks a
{
	float: left;
}

.blog #historyLinks a:last-child
{
	float: right;
}

.blogtag
{
	line-height: 1.5;
	margin: 1em 0;
}

.blogFilters ul,
.blogFilters li
{
	list-style: none;
	margin: 0 0 .5em 0;
}

#subContent .blogFilters .results_list > li:nth-child(n+6)
{
	display: none;
}

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

.blogAuthors .title
{
	margin: 0 0 .3em 0;
	font-size: 1.3em;
}

.blogAuthors .photo
{
	float: left;
	margin-right: 1em;
}

.blogAuthors ul,
.blogAuthors li
{
	list-style: none;
	margin: 0 0 10px 0;
}

.blogAuthors li
{
	overflow: hidden;
	padding-bottom: 10px;
	border-bottom: 1px solid currentColor;
}

#searchMessage.blogAuthors li
{
	padding-bottom: 0;
	border-bottom: 0;
}

.blogAuthors .abstract
{
	margin: 5px 0;
}

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

/**/

/* often copy/pasted from elsewhere */


/* Alignment */

figure
{
	margin: .5em 0;
}

.alignleft,
.align-left,
img[style*='float: left']
{
	float: left;
	margin: .5em 1.5em .5em 0;
}

.alignright,
.align-right,
img[style*='float: right']
{
	float: right;
	margin: .5em 0 .5em 1.5em;
}

.aligncenter,
.align-center,
.alignnone
{
	clear: both;
	display: block;
	margin: .5em auto;
}

figure.image
{
	display: table !important;
	padding: 5px;
	box-sizing: border-box;
	background: transparent;
	border: 1px solid #ccc;
	text-align: center;
}

figure.image figcaption
{
	display: block !important;
	clear: both;
	padding: 5px;
	font-size: 0.8rem;
}


/* Home Page ------------------------------------------------------> */

#index #content
{
	max-width: none;
	margin: 0px auto;
}

#index #mainContent
{
	margin: 0;
	padding: 0;
}

#homeAnimation
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	height: 60vh;
	max-height: 881px;
	overflow: hidden;
	margin: 0 0 calc(30px + (72 - 30) * ((100vw - 320px) / (1280 - 320)));
	background: #ccc;
	opacity: 0;
}

#homeAnimation li::after
{
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to left, rgba(0,0,0, .57) 60%, rgba(0,0,0,0));
}


#homeAnimation div.results
{
	height: 100%;
}

#homeAnimation #next
{
	position: absolute;
	bottom: 300px;
	left: 50px;
	font-size: 40px;
	z-index: 1000;
}

#homeAnimation ul,
#homeAnimation ul li
{
	position: relative;
	list-style: none;
	width: 100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
}

/*#homeAnimation ul li.current
{
	z-index: 200 !important;
}*/

#homeAnimation .image
{
	height: 100%;
}

#homeAnimation .image img
{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	transform: scale(1);
	transition: transform 7000ms linear 1000ms;
}

#homeAnimation li.current .image img
{
	transform: scale(1.14);
}

/* To fix FF issue.  See homeanimation stuff in default.js for more info */
#homeAnimation li.firstSlide .image img
{
	transition: none;
	transform: scale(1);
}

#homeAnimation .info
{
	position: absolute;
	top: 130px;
	right: 0;
	width: 100%;
	padding: 0 20px;
	color: #ffffff;
	box-sizing: border-box;
	text-align: right;
	z-index: 1;
}

#homeAnimation .title
{
	position: relative;
	right: -100%;
	font-size: 100px;
	line-height: .6;
	font-weight: 800;
	text-transform: uppercase;
	opacity: .2;
	transition: right 1000ms;
	transition-timing-function: cubic-bezier(.3,.5,.46,1);
	transition-delay: 750ms;
}

body.startAnimation #homeAnimation .title
{
	right: -20px
}

#homeAnimation .subtitle
{
	position: relative;
	top: -30px;
	opacity: 0;
	font-size: 40px;
	line-height: 1;
	transition: top 750ms ease, opacity 750ms;
	/*transition-timing-function: cubic-bezier(0,.01,.15,1.28);*/
	transition-delay: 1750ms;
}

/*body.startAnimation #homeAnimation .subtitle*/
#homeAnimation ul li.current .subtitle
{
	top: 0;
	opacity: 1;
}

#homeAnimation .abstract
{
	margin-top: 10px;
	font-size: 16px;
	opacity: 0;
	transition: opacity 1000ms ease 2000ms;
}

#homeAnimation .abstract a
{
	color: inherit;
}

#homeAnimation .abstract a svg
{
	width: calc(15px + (20 - 15) * ((100vw - 320px) / (1280 - 320)));
	margin-left: 5px;
	fill: #ffffff;
}

#homeAnimation .abstract a:focus,
#homeAnimation .abstract a:hover
{
	color: #8bbee8;
}

#homeAnimation .abstract a:focus svg,
#homeAnimation .abstract a:hover svg
{
	fill: #8bbee8;
}

/*change the transition delay once the initial intro animation is completed so subsequent text fades in faster*/
/*body.introAnimationFinished #homeAnimation .abstract
{
	transition-delay: 1000ms;
}*/

body.startAnimation #homeAnimation li.current .abstract
{
	opacity: 1;
}

#homeAnimation ul li .sp_pencil
{
	position: absolute;
	bottom: 10px;
	right: 10px;
}

#homeNewsSpotHeader
{
	margin-bottom: 30px;
}

#homeNewsSpotHeader h2
{
	padding-left: 0;
	margin-bottom: 0;
	border-bottom: none !important;
	font-size: calc(32px + (65 - 32) * ((100vw - 320px) / (1280 - 320)));
	font-weight: 500;
	background: none;
}

#homeNewsSpotHeader a
{

	display: inline-block;
	height: 32px;
	padding-left: 50px;
	background: url('../i/icon-boxedarrow.svgz') no-repeat; /* data-uri */
	background-size: 32px;
	font-size: 20px;
}

#homeNewsSpotHeader a:not(:hover):not(:focus)
{
	color: #000000;
}

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

#homeNewsSpot li
{
	max-width: 360px;
	background: #3e5161;
	color: #ffffff;
	transition: all 250ms ease;
}

#homeNewsSpot li:hover
{
	transform: scale(1.05);
}

#homeNewsSpot li a:not(:hover):not(:focus) .title
{
	color: #ffffff;
}

#homeNewsSpot li a:hover,
#homeNewsSpot li a:focus
{
	color: #8bbee8;
}

#homeNewsSpot .image
{
	margin-bottom: 33px;
}

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

#homeNewsSpot .info
{
	padding: 0 35px;
	margin: 0 0 10px;
	color: #ea942f;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
}

#homeNewsSpot li .title
{
	padding: 0 35px;
	min-height: 200px;
	font-size: 19px;
	line-height: 28px;
}

#homeBioList
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	margin: 85px 0;
}


#homeBioList ul
{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}

#homeBioList li
{
	position: relative;
	margin: 0;
	width: 100%;
}

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

#homeBioList .view_more
{
	position: relative;
	display: flex;
	align-items: center;
	width: 90%;
	max-width: 1375px;
	margin: 0 auto;
	height: calc(75px + (153 - 75) * ((100vw - 320px) / (1280 - 320)));
	box-sizing: border-box;
	background: #cf1821;
}

#homeBioList .view_more a
{
	color: #ffffff;
	padding: 0;
	margin: 0;
	font-size: calc(18px + (26 - 18) * ((100vw - 320px) / (1280 - 320)));
	background: none;
	border-bottom: 2px solid transparent;
}

#homeBioList .view_more a:hover,
#homeBioList .view_more a:focus
{
	color: #FEE1E6;
	border-bottom: 2px solid #FEE1E6;
}

#homeBioList .view_more svg
{
	width: calc(15px + (26 - 15) * ((100vw - 320px) / (1280 - 320)));
	padding-left: 5px;
}

#homeBioList .view_more svg path
{
	fill: #ffffff;
}

#homeBioList li .content
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: calc(15px + (40 - 15) * ((100vw - 320px) / (1023 - 320)));
	box-sizing: border-box;
	color: #ffffff;
}

#homeBioList .title
{
	font-size: calc(18px + (26 - 18) * ((100vw - 320px) / (1023 - 320)));
	font-weight: 600;
	line-height: 1.5;
}

#homeBioList .hometext
{
	font-size: calc(13px + (19 - 13) * ((100vw - 320px) / (1023 - 320)));
}

#homeBioList li a
{
	display: block;
	height: 100%;
}

#homeBioList li a::before
{
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0,0,0, .6) 30%, rgba(0,0,0,0));

}

#homeArea
{
	margin: 60px 0;
}

#homeArea h2
{
	margin-bottom: 0 !important;
}

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

#homeArea .list
{
	flex: 0 1 623px;
}

#homeArea li
{
	padding: 20px 0;
	font-size: calc(15px + (22 - 15) * ((100vw - 320px) / (1280 - 320)));
	border-bottom: 1px solid #e1e1e1;
	color: #666666;
}

#homeArea li a
{
	position: relative;
	display: block;
	padding-right: 50px;
}

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

#homeArea li a:after
{
	content: '';
	position: absolute;
	right: 0;
	top: calc(50% - 4px);
	display: block;
	width: calc(30px + (73 - 30) * ((100vw - 320px) / (1500 - 320)));
	height: 9px;
	background: url('../i/icon-long-red-arrow.png') right center no-repeat; /* data-uri */
}

#homeArea .text
{
	flex: 0 1 610px;
	padding-left: calc(50px + (100 - 50) * ((100vw - 320px) / (1280 - 320)));
	background: url('../i/icon-quote.svgz') left 5px no-repeat; /* data-uri */
	background-size: calc(35px + (68 - 35) * ((100vw - 320px) / (1280 - 320)));
	font-weight: 600;
	font-size: calc(17px + (24 - 17) * ((100vw - 320px) / (1280 - 320)));
	line-height: 1.58;
}


#homeArea .text em
{
	font-size: calc(12px + (16 - 12) * ((100vw - 320px) / (1280 - 320)));
	color: #666666;
	font-style: normal;
	font-weight: 500;
}

@media (min-width: 600px)
{
	#homeNewsSpot ul
	{
		margin: 0 -22px;
	}

	#homeNewsSpot li
	{
		width: calc(50% - 44px);
		max-width: 360px;
		margin: 0 22px 44px;
		background: #3e5161;
		color: #ffffff;
	}

	#homeBioList li
	{
		width: 50%;
	}

	#homeBioList::after
	{
		position: absolute;
		bottom: calc(-11px + (-30 - -11) * ((100vw - 600px) / (1280 - 600)));
		right: 20px;
		z-index: 1;
		content: '';
		display: block;
		width: calc(250px + (649 - 250) * ((100vw - 600px) / (1280 - 600)));
		height: calc(91px + (235 - 91) * ((100vw - 600px) / (1280 - 600)));
		background: url('../i/white-logo.png') no-repeat; /* data-uri */
		background-size: cover;
	}
}

@media (min-width: 768px)
{

	#homeAnimation .info
	{
		top: 0;
		height: 100%;
		/*display: flex;
		justify-content: flex-end;*/
		padding-right: 0;
		padding-top: 30vh;
	}

	#homeAnimation .title
	{
		font-size: calc(140px + (360 - 140) * ((100vw - 768px) / (1500 - 768)));
	}

	body.startAnimation #homeAnimation .title
	{
		right: calc(-20px + (-50 - -20) * ((100vw - 768px) / (1500 - 768)));
	}

	#homeAnimation .subtitle
	{
		top: calc(-5px + (-50 - -5) * ((100vw - 320px) / (1500 - 768)));
		margin-bottom: calc(10px + (25 - 10) * ((100vw - 768px) / (1500 - 768)));
		font-size: calc(33px + (100 - 33) * ((100vw - 768px) / (1500 - 768)));
	}

	#homeAnimation .abstract
	{
		font-size: calc(16px + (20 - 16) * ((100vw - 768px) / (1500 - 768)));
	}

	#homeAnimation .subtitle,
	#homeAnimation .abstract
	{
		width: 55%;
		clear: both;
		float: right;
		max-width: 640px;
		/*padding-right: calc(20px + (130 - 20) * ((100vw - 768px) / (1500 - 768)));*/
		/*padding-right: 20px;*/
		text-align: left;
	}

	#homeAnimation .abstract p
	{
		max-width: 500px;
	}


}

@media (min-height: 650px) and (min-width: 768px)
{

	#homeAnimation
	{
		min-height: 70vh;
		height: 100vh;
	}
}

@media (min-width: 920px)
{

}

@media (min-width: 1024px)
{

	#homeAnimation
	{
		min-height: 700px;
	}

	#homeNewsSpot
	{
		height: 1315px;
	}

	#homeNewsSpotHeader
	{
		position: absolute;
		max-width: 370px;
	}

	#homeNewsSpot .itemList
	{
		height: 100%;
	}

	#homeNewsSpot ul
	{
		float: right;
		flex-direction: column;
		width: 100%;
		max-width: 1170px;
		height: 100%;
		margin: 0;
		align-items: flex-end;
	}

	#homeNewsSpot li
	{
		width: calc(100%/3);
		height: 635px;
		margin: 0 0 0 5px;
	}

	#homeNewsSpot li:first-child
	{
		margin: 100px 0;
	}

	#homeNewsSpot li:nth-child(2)
	{
		margin: 0 0 5px;
	}

	#homeBioList li
	{
		width: 25%;
		background: #3e5161;
	}

	#homeBioList li a::before
	{
		opacity: 0;
		background: rgba(62,81,97, .5);
		transition: all 250ms ease;
		z-index: 19;
	}

	#homeBioList li .content
	{
		opacity: 0;
		padding: calc(15px + (40 - 15) * ((100vw - 1023px) / (1900 - 1023)));
		transition: all 250ms ease;
		z-index: 20;
	}

	#homeBioList .title
	{
		font-size: calc(18px + (26 - 18) * ((100vw - 1023px) / (1900 - 1023)));
	}

	#homeBioList .hometext
	{
		font-size: calc(13px + (19 - 13) * ((100vw - 1023px) / (1900 - 1023)));
	}

	#homeBioList li:hover .content,
	#homeBioList li:focus .content
	{
		opacity: 1;
	}

	#homeBioList li a:hover::before,
	#homeBioList li a:focus::before
	{
		opacity: 1;
	}

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

	#homeArea .text
	{
		padding-right: 30px;
		box-sizing: border-box;
	}

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

	#homeArea .list
	{
		padding-left: 30px;
		box-sizing: border-box;
	}
}

@media (min-width: 1280px)
{

	#homeAnimation
	{
		margin-bottom: 72px;
	}

	#homeAnimation .abstract a svg
	{
		width: 20px;
	}

	#homeNewsSpotHeader h2
	{
		font-size: 65px;
	}

	#homeBioList::after
	{
		bottom: -30px;
	}

	#homeBioList .view_more
	{
		height: 153px;
	}

	#homeBioList .view_more a
	{
		font-size: 26px;
	}

	#homeBioList .view_more svg
	{
		width: 26px;
	}

	#homeBioList::after
	{
		width: 649px;
		height: 235px;
	}

	#homeNewsSpot li
	{
		margin: 0 0 0 44px;
	}

	#homeNewsSpot li:nth-child(2)
	{
		margin: 0 0 40px;
	}

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

	#homeArea li
	{
		font-size: 22px;
	}
	#homeArea .text
	{
		padding-left: 100px;
		background-size: 68px;
		font-size: 24px;
	}
	#homeArea .text em
	{
		font-size: 16px;
	}
}

@media (min-width: 1500px)
{
	#homeArea li a:after
	{
		width: 73px;
	}

	#homeAnimation .title
	{
		font-size: 360px;
	}

	body.startAnimation #homeAnimation .title
	{
		right: -50px;
	}

	#homeAnimation .subtitle
	{
		top: -50px;
		margin-bottom: 25px;
		font-size: 100px;
	}

	#homeAnimation .abstract
	{
		font-size: 20px;

	}
}

@media (min-width: 1900px)
{
	#homeBioList li .content
	{
		padding: 40px;
	}

	#homeBioList .title
	{
		font-size: 26px;
	}

	#homeBioList .hometext
	{
		font-size: 19px;
	}
}

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

	align-self: flex-start !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;
}

/* END DEFAULT CSS -----------------------------------------------> */


/* BEGIN PRINT CSS -----------------------------------------------> */

/* @media all and (max-width:8.5in) /* use while programming */
@media print
{
	html
	{
	    min-width: 0;
	    width: 100% !important;
	    max-width: none;
	    padding: 0;
	    margin: 0;
	}

	*
	{
	    background: none !important;
	    color: black;
	    overflow: visible !important;
	    height: auto !important;
	    -webkit-print-color-adjust: exact;
	}

	.mobile,
	#siteSearch,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink,
	#cookiePopup,
	#jumpContent,
	#jumpMenu,
	#contentJump,
	#pageJump,
	#mainNav,
	#navJump,
	#searchJump,
	#footer,
	#navToggle,
	#headerCareers,
	#jumpPage,
	.itemShareButton,
	button.toggleExpand,
	.view_more,
	.mapit,
	.contentSection .sectionTitle,
	.photo .triggerPopupPlayer::before,
	form,
	#footer,
	video,
	#homeAnimation,
	#content::after,
	#alertMessage,
	#homeAnimation,
	#topNav,
	.toggleMore,
	.view_more
	{
	    display: none !important;
	}

	p a,
	a,
	h1,
	h2,
	h3,
	h4,
	li,
	ul li,
	ol li
	{
	    color:#000000 !important;
	}

	body,
	#content
	{
	    position: relative !important;
	    width: 100% !important;
	    background: none !important;

	    /* cancel out flexbox and float */
	    display: block;
	    float: none;
	    color:#000000 !important;
	    padding: 0;
	}

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

	#header
	{
		display: block !important;
		position: relative !important;
		clear: both !important;
		width: 100% !important;
		margin-top: 0px;
		margin-bottom: 0px;
		padding: 0;
		left: 0 !important;
		top: 0 !important;
		background-image: none;
		border-top: 100px solid #3e5161 !important;
	}

	#logo
	{
	    position: relative !important;
	    top: 0;
	    left: 0;
	    padding-top: 0;
	    margin-left: 40px;
	    margin-top: -92px;
	    max-width: 320px;
	    width: 320px !important;
	}

	/*  home page */

	#homeNewsSpotHeader
	{
		position: relative;
		width: 100%;
		clear: both;
	}

	#homeNewsSpotHeader a
	{
		display: none;
	}

	#homeNewsSpot
	{
		clear: both;
		width: 100%;
	}

	#homeArea li a:after
	{
		display: none;
	}

	#homeNewsSpot li:first-child
	{
		margin: 0;
	}

	#homeNewsSpot ul
	{
		display: block;
		width: 100%;
		margin: 0;
	}

	#homeNewsSpot li
	{
		width: 30%;
		float: left;
		margin: 0 15px 0 0 !important;
		min-height: 410px;
	}

	#homeNewsSpot li:nth-child(3n)
	{
		clear: right;
		margin-right: 0;
	}

	#homeNewsSpot li a:not(:hover):not(:focus) .title,
	#homeNewsSpot .info
	{
		color: #000 !important;
	}

	#homeNewsSpot .info,
	#homeNewsSpot li .title
	{
		padding: 0;
	}

	#homeNewsSpot li .title
	{
		min-height: 120px;
	}

	#homeBioList
	{
		clear: both;
		width: 100%;
		left: 0;
		padding-top: 60px;
	}

	#homeBioList ul
	{
		display: block;
		clear: both;
		width: 100%;;
	}

	#homeBioList li
	{
		width: 24%;
		float: left;
		margin: 0;
	}

	#homeBioList .view_more
	{
		display: none;
	}

	#contactForm
	{
		display: none;
	}

	#homeArea
	{
		width: 100%;
		clear: both;
		padding-top: 60px;
	}

	#homeArea .results_list > div
	{
		display: block;
		clear: both;
		width: 100%;
	}

	#homeArea .text
	{
		width: 48%;
		float: left;
		margin-right: 15px;
		padding-left: 0;
		font-size: 21px;
	}

	#homeBioList .hometext
	{
		font-size: 19px;
	}

	#homeBioList .title,
	#homeArea li
	{
		font-size: 21px;;
	}

	#homeArea .list
	{
		width: 48%;
		float: left;
		margin-right: 0;
	}

	#homeBioList::after,
	#homeBioList li a::before
	{
		display: none;
	}

	#homeBioList li .content
	{
		position: relative;
		padding: 5px;
	}

	#homeBioList li:hover .content, #homeBioList li:focus .content
	{
		opacity: 1 !important;
	}

	/* main content inner pages */

	#bannerImage,
	#bannerContent #sectionTitle
	{
		display: none;
	}

	#content
	{
		padding-top: 20px;
		margin: 0;
	}

	#subNav
	{
		padding: 20px;
		width: 35% !important;
		float: right;
	}

	#sideHighlight
	{
		margin-top: 0;
	}

	#sideHighlight .title
	{
		color: #000;
	}

	#banner
	{
		clear: both;
	}

	#bannerContent
	{
		position: relative;
		left: 0;
		width: 100%;
		color: #000 !important;
	}

	#bannerContent h1
	{
		text-align: left;
		padding-top: 20px;
	}

	#mainContent:not(:only-child)
	{
		width: 60% !important;
		float: left !important;
	}

	#footer::before, #homeNewsHeader::before, #subContent::before, #subNav::before, #bottomBadges::before, #linkBanner a::before, #footerCopyright::before, #homeBioList .view_more::before, #upperContent::before
	{
		display: none;
	}

	.subNavList
	{
		display: none;
	}

	.expandableHeading.expanded button::after,
	.expandableHeading button::after
	{
		display: none;
	}

	.expandableContent
	{
		display: block !important;
	}

	#lowerContent
	{
		padding-top: 30px;
		clear: both;
	}

	.lowerStaticText
	{
		max-width: none;
	}

	/* bottom badges */

	#bottomBadges ul,
	#bottomBadges
	{
		display: block;
		width: 100%;
		clear: both;
	}

	#bottomBadges li:hover,
	#bottomBadges li:focus
	{
		transform: none;
	}

	#bottomBadges li
	{
		width: 31%;
		float: left;
		margin-right: 10px;
		padding: 10px;
		min-height: 320px;
	}

	#bottomBadges li:nth-child(3n)
	{
		margin-right: 0;
		clear: right;
	}

	#bottomBadges .datetype
	{
		color: #000;
	}

	#linkBanner
	{
		display: none;
	}

	/* office list */

	#officeList ul,
	#officeList
	{
		display: block;
		width: 100%;
		clear: both;
	}

	#officeList ul li
	{
		width: 31%;
		float: left;
		margin-right: 10px;
	}

	.search_form
	{
		display: none;
	}

	#homeNewsSpot.officeNewsSpot
	{
		padding: 0;
	}

	/* attorney listing */

	.people #subNav,
	#people-attorneys #subNav
	{
		display: none;
	}

	#people-attorneys #mainContent,
	.people #mainContent
	{
		width: 100% !important;
	}

	.bioList > ul.results_list
	{
		display: block;
		width: 100%;
		clear: both;
	}

	.bioList > ul.results_list > li
	{
		width: 31% !important;
		float: left !important;
		margin-right: 10px !important;
		min-height: 370px !important;
	}

	.bioList > ul.results_list > li:nth-child(3n)
	{
		margin-right: 0 !important;
		clear: right !important;
	}

	.bioList > ul.results_list > li,
	.bioList > ul.results_list > li:nth-child(3n+1)
	{
		width: 31% !important;
	}

	.bioList > ul.results_list > li:nth-child(3n+1)
	{
		margin: 0 10px 30px 0 !important;
	}

	.bioList > ul.results_list > li .photo a:not(.sp_class) img
	{
		position: relative !important;
	}

	.bioList .email,
	.bioList .vcard
	{
		display: none !important;
	}

	 #newsroom #upperContent,
	.letterLinks,
	.search_form
	{
		display: none;
	}

	/* bio detail */

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

	#bioPhoto
	{
		position: relative;
		left: 0;
		width: 100%;
		clear: both;
	}

	ul#bioAccessories
	{
		display: none !important;
	}

	.extraItems
	{
		display: block !important;
		max-height: 100%;
		overflow: visible !important;
		height: 100%;
	}

	#bioInfo
	{
		display: block;
		position: relative;
		padding-bottom: 0;
	}

	#bannerContent *:not(a),
	#bannerContent a:not(:hover):not(:focus)
	{
		color: #000 !important;
	}

	#bioExtras
	{
		padding: 0 !important;
	}

	#mainContent .contentSection,
	.contentSection,
	.contentSection div,
	#mainContent .contentSection .itemSection,
	#mainContent .contentSection .itemSection div
	{
		display: block !important;
		width: 100% !important;
		overflow: visible !important;
	}

	#mainContent .itemSection
	{
		margin-bottom: 30px;

	}
	#tabLinks
	{
		display: none;
	}

	#subContent
	{
		width: 35%;
		float: right;
	}

	#banner, #mainContent, #subNav, #subContent, .letterLinks>*, .bioList>ul>li, #footerSocial, #homeNewsHeader, #alertMessage
	{
		transition: none;
		opacity: 1;
	}

	.people-item #mainContent
	{
		width: 60% !important;
		float: left !important;
	}

	#subContent h2
	{
		color: #000 !important;
	}

	/* capabilities */

	div.listColumn.areaToggle ul.hierList
	{
		display: block !important;
	}

	.capabilities #upperContent
	{
		display: none !important;
	}

	.expandableFullList .results_list
	{
		display: block !important;
		overflow: visible !important;
		width: 100%;
	}

	button.toggleExpand span,
	.toggleExpand
	{
		display: none;
	}

	#subContent
	{
		padding: 0;
	}

	#subContent ul.results_list li
	{
		display: block !important;
	}

	#subContent #area_bio_contact .title
	{
		margin-left: 0;
		padding-left: 0;
		margin-bottom: 10px;
	}

	/* careers */

	.careers #upperContent
	{
		display: none;
	}

	#bannerContent h1
	{
		padding-top: 40px;
	}

	.simpleHighlight .title
	{
		padding-left: 0;
		left: 0;
	}

	.featuredHighlight li .content
	{
		width: 100%;
		max-width: auto;
	}

	.readmore
	{
		display: none;
	}

	.featuredHighlight
	{
		margin: 0;
	}

	/* news */

	#footer::before, #homeNewsHeader::before, #subContent::before, #subNav::before, #bottomBadges::before, #linkBanner a::before, #footerCopyright::before, #homeBioList .view_more::before, #upperContent::before, #officeInfo::before, #repClients::before, #homeNewsSpot.officeNewsSpot::before
	{
		display: none;
	}

	#upperContent
	{
		color: #000;
	}

	#itemAccessories
	{
		display: none;
	}

	.subNavList,
	#upperSubNav
	{
		display: none !important;
	}

	#newsroomSections
	{
		display: block;
		width: 100%;
		clear: both;
	}

	.newsroomItem
	{
		width: 46%;
		float: left;
		margin-right: 10px;
	}

	.newsroomListing
	{
		width: 100%;
		clear: both;
	}

	#resultPageLinks
	{
		width: 100%;
		clear: both;
	}

	.featuredHighlight,
	.featuredHighlight ul
	{
		display: block;
		width: 100%;
		clear: both;
	}

	.featuredHighlight li > div
	{
		display: block !important;
		width: 100%;
		clear: both;
	}

	.featuredHighlight li .image
	{
		float: left;
		width: 33%;
		max-width: none;
		margin-right: 20px;
	}

	.featuredHighlight li .image img
	{
		display: block;
		width: 100%;
	}

	.featuredHighlight li .content
	{
		display: block;
		position: relative;
		float: left;
		clear: right;
		width: 60%;
		margin-left: 20px !important;
		max-width: 100% !important;
	}

	.simpleHighlight .title
	{
		left: 0;
	}

	.featuredHighlight:before
	{
		display: none;
	}

	#newsroom #upperContent,
	#newsroom-news #upperContent,
	#newsroom-news-archive #upperContent,
	#newsroom-events #upperContent,
	#newsroom-events-archive #upperContent,
	#newsroom-advisories #upperContent,
	#newsroom-advisories-archive #upperContent,
	#newsroom-publications #upperContent,
	#newsroom-publications-archive #upperContent,
	#newsroom-publications-archive #upperContent
	{
		display: none;
	}

      .newsroom #upperContent
      {
            padding: 20px 0 20px 0;
      }

	#subContent ul.results_list li
	{
		padding-left: 0;
		margin-left: 0;
		color: #000;
	}

	/* offices */

	#officeList .imagetitle:before
	{
		display: none;
	}

	#officeList .title
	{
		padding: 0;
	}

	#officeList ul
	{
		display: block;
		width: 100%;
	}

	#officeList ul li
	{
		width: 47% !important;
		float: left;
	}
}

/* END PRINT CSS -------------------------------------------------> */
