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

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 20px/1.6 'Roboto', Arial, sans-serif;
	color: #666;
}

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

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

body
{
	position: relative;
	min-width: 320px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 123px 10px 0px 10px; /* top padding match fixed header height */
	background-color: #fff;
	box-sizing: border-box;
}

@media (max-width: 1119px)
{
	body
	{
		padding: 72px 10px 0px 10px; /* top padding match fixed header height */
	}
}

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

@media (max-width: 590px)
{
	body
	{
		padding: 126px 10px 0px 10px; /* top padding match fixed header height */
	}
}

p
{
	margin: 0 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: #005696;
	text-decoration: none;
}

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

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

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

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

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

h1, h2, h3, h4, h5, h6
{
	margin: 0 0 1rem 0;
	padding: 0;
	color: #003;
	font-weight: 500;
	line-height: normal;
}

h1
{
	line-height: 1.1;
}

/* fluid type - https://codepen.io/lowbatteries/full/qBEyXEP */
h1
{
	font-size: calc(28px + (35 - 28) * ((100vw - 320px) / (1400 - 320)));
}

@media screen and (min-width: 1400px)
{
	h1
	{
		font-size: 35px;
	}
}

h2
{
	font-weight: 500;
}

/* fluid type - https://codepen.io/lowbatteries/full/qBEyXEP */
h2
{
	font-size: calc(22px + (28 - 22) * ((100vw - 320px) / (1440 - 320)));
}

@media screen and (min-width: 1440px)
{
	h2
	{
		font-size: 28px;
	}
}

#subContent h2
{
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;

	margin-bottom: 10px;
}

/* fluid type - https://codepen.io/lowbatteries/full/qBEyXEP */
h2
{
	font-size: calc(20px + (24 - 20) * ((100vw - 320px) / (1440 - 320)));
}

@media screen and (min-width: 1440px)
{
	h2
	{
		font-size: 24px;
	}
}

h4, h5
{
	text-transform: uppercase;
	font-size: 18px;
}

h5
{
	color: #717074;
}

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

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

ol
{
	padding-left: 1em;
}

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

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

/* bullet graphic */
ul > li
{
	list-style: none url('../i/bullet-icon.svgz');
}

ul ul > li
{
	list-style: none url('../i/sub-bullet-icon.svgz');
}

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

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

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

img
{
	border: 0;
}

#pdfLink
{
	position: absolute;
	z-index: 5;
	top: 18px;
	right: 3px;
	color: #58c2e3;
	font-size: 16px;

	background: url(../i/icon-pdf.svgz) left no-repeat;
	padding-left: 28px;
}

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

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

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

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


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

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

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

#footer::before,
#tabLinks::before,
#yearList ul::before,
#header::before,
#banner::before,
#banner::after,
#mainNav ul + ul::before,
#newsroom #mainContent::before,
#events #mainContent::before,
#publications #mainContent::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;
}

#footer::before,
#header::before,
#mainNav ul + ul::before
{
	height: inherit; /* IE 11 fix */
	min-height: inherit; /* IE 11 fix */
}


@media (max-width: 1119px)
{
	#mainNav ul + ul::before
	{
		content: none;
	}
}

#banner::before,
#banner::after
{
	background-color: #02142e;
	background-position: center;

	background-size: cover;

	transition: opacity 500ms;
}

@media( min-width:  320px ) {#banner::after { opacity: .50 } }
@media( min-width:  600px ) {#banner::after { opacity: .35 } }
@media( min-width:  880px ) {#banner::after { opacity: .20 } }
@media( min-width: 1160px ) {#banner::after { opacity: .10 } }
@media( min-width: 1440px ) {#banner::after { opacity: 0 } }

@media( min-width:  320px ) {#homeAnimation .image { opacity: .50 } }
@media( min-width:  600px ) {#homeAnimation .image { opacity: .65 } }
@media( min-width:  880px ) {#homeAnimation .image { opacity: .80 } }
@media( min-width: 1160px ) {#homeAnimation .image { opacity: .90 } }
@media( min-width: 1440px ) {#homeAnimation .image { opacity: 1 } }


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

#banner,
#header,
body:not(#index) #mainContent,
#subNav,
#subContent,
.letterLinks > *,
#footerSocial
{
	transition: all 0.3s;
}


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

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

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

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

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

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

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

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

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

	table.results_list th
	{
		display: none;
	}
}

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

.itemList > ul > li,
.itemMultimediaList > ul > li,
.xrefMultimediaList > ul > li
{
	margin: 0 0 .8em 0;
	padding: 0 0 .8em 0;

	border-bottom: 1px solid #e6e8eb;
}

#resultPageLinks
{
	margin: 1em 0;
}

h2.expandableHeading
{
	position: relative;
	cursor: pointer;
	font-weight: normal;
	color: #000033;

	border-top: 1px solid #ccc;
	border-width: 1px 0;
	padding: 18px 0;
	margin: 0;
}

/* fluid type - https://codepen.io/lowbatteries/full/qBEyXEP */
h2.expandableHeading
{
	font-size: calc(20px + (24 - 20) * ((100vw - 320px) / (1440 - 320)));
}

@media screen and (min-width: 1440px)
{
	h2.expandableHeading
	{
		font-size: 24px;
	}
}

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

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

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

	width: 100%;
}

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

.expandableHeading button strong
{
	font: inherit;
}

h2.expandableHeading button::after
{
	content: '';
	position: absolute;
	top: 18px;
}

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

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

/*
	how these content jumps should work on desktop:

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

.contentJump
{
	display: block;

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

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


/* make them transparent unless keyboard focused */

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


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

#header
{
	display: flex;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
	width: 100%;
	height: 123px;
	padding: 32px 10px 0px 10px;
	box-sizing: border-box;
	background: white;
}

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

#index #header
{
	padding: 32px 10px 0px 36px;
}

#logo
{
	padding: 0;
	color: #ffffff;
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
}

#logo img
{
	display: block;
	max-width: 100%;
}

#topLinks
{
	float: right;
}

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

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

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

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

#upperLogoStripe
{
	position: absolute;
	z-index: 10000;
	top: 0px;
	left: 0px;
	width: 455px;
	height: 28px;
	background: #015696;
}

#index #upperLogoStripe
{
	width: 507px;
}

@media (max-width: 1349px)
{
	#upperLogoStripe
	{
		display: none;
	}
}

@media (max-width: 1119px)
{
	#header
	{
		padding: 10px 10px 10px 10px;
		height: 72px;
	}

	#logo
	{
		padding: 8px 0 2px 0;
	}

	#topLinks
	{
		position: absolute;
		top: 106px;
		right: 0;
		margin: 0;
	}

	#topLinks li
	{
		margin: 0 0 0 3px;
		font-size: 12px;
	}
}

@media (max-width: 590px)
{
	#header
	{
		padding: 63px 10px 17px 10px;
		height: 126px;
	}
}


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

#searchJump
{
	position: absolute;
	top: 60px;
	right: 10px;

	height: 40px;
	width: 40px;

	margin: 0;
	padding: 0;
	background: url(../i/icon-search.svgz) 50% 50% no-repeat;
	border: none;
	border-radius: 50%;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: #005696;
}

#searchJump:hover,
#searchJump:focus
{
	background: #005696 url(../i/icon-search-white.svgz) 50% 50% no-repeat;
}


@media (max-width: 1119px)
{
	#searchJump
	{
		top: 40px;
		right: 3px;

		padding: 30px;
	}
}

@media (max-width: 1119px)
{
	#searchJump
	{
		top: 17px;
		right: 60px;
		padding: 0;
	}
}

#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.5s, 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.5s, 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;
}

#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: 32px 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%;
	outline: 2.5px solid white;

	transform: rotate(-30deg);
}

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

#siteSearch label
{
	display: none !important;
}

#searchPopup
{
	display: block;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	box-shadow: 0 0 1px black;

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

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

.searchPopup
{
	display: block;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	top: 0;
	background: #005696;
	color: white;
}

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

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

	bottom: 0;
	background: #005696;
}

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

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

#banner
{
	position: relative;

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

	color: #fff;
	font-size: 16px;

	box-sizing: border-box;
	padding: 30px 0;
	width: 100%;
	min-height: 12.7vw;
}

#banner *
{
	color: inherit;
}

#banner > h1:only-child
{
	margin: 2.2vw 0; /* IE11 and it's dumb min-height flex bug */
}

#banner,
#homeAnimation li
{
	padding-left: calc(17px + 5vw);
}

@media (min-width: 1920px)
{
	#banner
	{
		min-height: 244px;
	}

	#banner > h1:only-child
	{
		margin: 42px 0; /* IE11 and it's dumb min-height flex bug */
	}

	#banner,
	#homeAnimation li
	{
		padding-left: 113px;
	}
}

#banner h1,
#homeAnimation .title
{
	position: relative;
	margin: 0;

	font-size: 28px;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
}

/* fluid type - https://codepen.io/lowbatteries/full/qBEyXEP */
@media screen and (min-width: 320px)
{
	#banner h1,
	#homeAnimation .title
	{
		font-size: calc(28px + (55 - 28) * ((100vw - 320px) / (1920 - 320)));
	}
}

@media screen and (min-width: 1920px)
{
	#banner h1,
	#homeAnimation .title
	{
		font-size: 55px;
	}
}

#banner h1 + p
{
	margin-top: 10px;
}

#banner h1::before,
#homeAnimation .title::before
{
	content: '';
	position: absolute;
	right: calc(100% + .38em);
	top: .35em;
	width: 1em;
	height: .5em;

	background: url(../i/arrow-yellow.svgz) right no-repeat;
	background-size: contain;
}

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

#mainNav
{
	position: relative;
	background: white;
	line-height: normal;
	color: #717074;
	font-weight: 400;
	font-size: 20px;
}

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

/* all menu links (includes mega menu links) */
#mainNav a
{
	color: #005696;
}

#mainNav li > a
{
	color: #005696;
	text-decoration: none;

	display: block;
	padding: 8px 0;
	line-height: 20px;
}

/* main nav items */
#mainNav > ul > li > a
{
	padding: 3px 0;
	margin: 5px 24px 5px 0;
	border-bottom: 2px solid transparent;
}

@media (min-width: 1440px)
{
	#mainNav > ul > li > a
	{
		margin-right: 30px;
	}
}

#mainNav > ul > li:hover > a
{
	/* make sure to repeat these styles in the block below */
	border-bottom: 2px solid currentColor;
}

/* styles above, repeated, because some browsers don't understand focus-within */
html[data-whatintent="keyboard"] #mainNav > ul > li:focus-within > a
{
	border-bottom: 2px solid currentColor;
}

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

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

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

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

@media (min-width: 1120px)
{
	#mainNav li#navButton-careers
	{
		padding-right: 26px;
		margin-right: 22px;
	}


	#navButton-careers::after
	{
		content: '|';
		color: #8282a8;
		position: absolute;
		right: 0;
		top: 1px;
	}
}

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

#megaSearch form
{
	padding-top: 7px;
}

#megaSearch input:not([type=submit])
{
	background: none;
}

#megaSearch .letterLinks
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#megaSearch .letterLinks > a,
#megaSearch .letterLinks > span
{
	text-align: center;
	width: calc(100%/13.1);
	padding: 6px 2px;
	box-sizing: border-box;
	flex-grow: 1;
	font-size: 20px;
	font-weight: bold;
}

#megaSearch .letterLinks > div
{
	width: 100%;
	padding-top: 24px;
	text-align: left;
	color: #005696;
	font-size: 17px;
}

#megaSearch .letterLinks > div a
{
	padding: 0 9px;
	display: inline-block;
}

#megaSearchTitle
{
	font-size: 24px;
	color: #717074;
	padding-bottom: 5px;
}

@media (max-width: 1119px)
{
	#navButton-practices > ul,
	#navButton-industries > ul,
	#navButton-offices > ul
	{
		display: none !important;
	}

	#navButton-practices > a::after,
	#navButton-industries > a::after,
	#navButton-offices > a::after
	{
		content: none !important;
	}
}

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

@media (min-width: 1120px)
{
	#mainNav
	{
		display: flex;
		position: absolute;
		z-index: 9999;
		top: 0;

		/* body's padding minus menu item's padding */
		left: 0;
		right: 0;

		background: none;
	}

	#mainNav > ul
	{
		position: absolute;

		top: 60px;
		right: 60px;
	}

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

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

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

		background: rgba(255,255,255,.95);
		padding: 15px 25px 20px;
		margin-top: 2px;
		box-shadow: 0 10px 5px -10px rgba(0,0,0,.1);
	}

	#mainNav > ul:first-child > li > ul
	{
		background-image: linear-gradient(to bottom, white, white 24px, #dedede 25px, transparent 26px);
		padding: 65px 50px 40px;
		margin-top: 0;
	}

	#mainNav ul ul li
	{
		background: none;
	}

	#mainNav > ul > li > a
	{
		white-space: nowrap;
	}

	/* second-level links */
	#mainNav li li > a
	{

	}

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

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

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

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

		top: 0;
		left: 100%;
	}

	#mainNav > ul:first-child
	{
		border-right: 1px solid #ccc;
	}

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

	/* position the second nav above and make it smaller */
	#mainNav > ul + ul
	{
		position: absolute;
		right: 0;
		left: 0;
		top: 0;
		width: auto;
		min-height: 28px;
		background: #000033;

		padding-right: 10px;
	}

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

	#mainNav > ul + ul > li:not(:last-child)
	{
		margin-right: 28px;
	}

	#mainNav > ul + ul > li > a
	{
		padding: 3px 0;
		margin: 0;
		color: white;
		font-size: 13px;
	}

	#mainNav > ul + ul > li:hover > a
	{
		text-decoration: underline;
		background: none !important;
		border: 0;
		text-decoration: none;

		color: #58c2e3;
	}

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

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

	/* languages gets a drop-down arrow for some reason */
	#navButton-langlink > a:after
	{
		content: '';

		display: inline-block;

		width: 0;
		height: 0;
		border: solid transparent;
		border-width: 7px 5px 0 5px;
		border-top-color: white;

		margin-left: 3px;
	}

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


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

	button#navToggle
	{
		display: none;
	}

	/* mega menu styles */
	#mainNav #navButton-about ul,
	#mainNav #navButton-diversity ul,
	#mainNav #navButton-people ul,
	#mainNav #navButton-practices ul,
	#mainNav #navButton-industries ul,
	#mainNav #navButton-offices ul
	{
		width: 100vw;
		max-width: 933px;
		box-sizing: border-box;
	}

	#mainNav #navButton-about ul,
	#mainNav #navButton-diversity ul,
	#mainNav #navButton-offices ul
	{
		max-width: 450px;
	}

	#megaSearch
	{
		display: flex;
		align-items: flex-start;
	}

	#megaSearch > div
	{
		position: relative;
		width: 50%;
	}

	#megaSearch > div + div
	{
		padding-left: 50px;
	}

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

	#navButton-industries > ul
	{
		columns: 3;
		column-gap: 30px;
	}

	nav li
	{
		break-inside: avoid;
	}

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

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

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

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


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

@media (max-width: 1119px)
{
	#mainNav,
	#mainNav li ul
	{
		position: fixed;
		display: block;
		z-index: 99;
		top: 0;
		right: -1000px !important;
		left: auto !important;
		min-width: 30vw;
		width: 100vw;
		max-width: 280px;
		height: 100vh;
		padding: 55px 10px 10px;
		box-sizing: border-box;
		box-shadow: 0 0 200px 15px rgba(0,0,0,.8);
	}

	#mainNav::before
	{
		display: none;
	}

	#mainNav.target,
	#mainNav.target li ul
	{
		transition: right 0.5s;
	}

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

	#mainNav #subNavBack
	{
		position: absolute;
		top: 10px;
		font-weight: bold;
		text-transform: uppercase;
		font-size: .8em;
	}

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

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

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

	#mainNav li > a:first-child:not(:last-child)::after
	{
		content: '›';
		font-size: 2em;
		position: absolute;
		right: 5px;
		opacity: .4;
	}

	#mainNav li#navButton-practices ul,
	#mainNav li#navButton-industries ul
	{
		overflow: auto;
	}

	/* Mobile Nav 'Hamburger' Button */

	button#navToggle
	{
		display: block;
		position: absolute;
		z-index: 100;
		top: 17px;
		right: 6px;
	}

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

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

	button#navToggle.isActive
	{
		position: fixed !important;
		right: 6px;
	}

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

	.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: 40px;
		height: 4px;
		background-color: #005695;
		border-radius: 4px;
		transition-timing-function: ease;
		transition-duration: .15s;
		transition-property: transform;
	}

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

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

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


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

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


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

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


	/* BORING - optional mobile nav button style */
	/* change #navToggle class to .mobileNavBoring in Page/Local */
	/*
	.mobileNavBoring .mobileNavInner,
	.mobileNavBoring .mobileNavInner:after,
	.mobileNavBoring .mobileNavInner:before
	{
		transition-property: none
	}

	.mobileNavBoring.isActive .mobileNavInner
	{
		transform: rotate(45deg)
	}

	.mobileNavBoring.isActive .mobileNavInner:before
	{
		top: 0;
		opacity: 0
	}

	.mobileNavBoring.isActive .mobileNavInner:after
	{
		bottom: 0;
		transform: rotate(-90deg)
	}
	*/


	/* SQUEEZE - optional mobile nav button style */
	/* change #navToggle class to .mobileNavSqueeze in Page/Local */
	/*
	.mobileNavSqueeze .mobileNavInner
	{
		transition-timing-function: cubic-bezier(.55, .055, .675, .19);
		transition-duration: 75ms;
	}

	.mobileNavSqueeze .mobileNavInner:before
	{
		transition: top 75ms ease .12s, opacity 75ms ease;
	}

	.mobileNavSqueeze .mobileNavInner:after
	{
		transition: bottom 75ms ease .12s, transform 75ms cubic-bezier(.55, .055, .675, .19);
	}

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

	.mobileNavSqueeze.isActive .mobileNavInner:before
	{
		top: 0;
		transition: top 75ms ease, opacity 75ms ease .12s;
		opacity: 0;
	}

	.mobileNavSqueeze.isActive .mobileNavInner:after
	{
		bottom: 0;
		transition: bottom 75ms ease, transform 75ms cubic-bezier(.215, .61, .355, 1) .12s;
		transform: rotate(-90deg);
	}
	*/


	/* ARROW - optional mobile nav button style */
	/* change #navToggle class to .mobileNavArrow in Page/Local */
	/*
	.mobileNavArrow.isActive .mobileNavInner:before
	{
		transform: translate3d(-8px, 0, 0) rotate(-45deg) scaleX(.7);
	}

	.mobileNavArrow.isActive .mobileNavInner:after
	{
		transform: translate3d(-8px, 0, 0) rotate(45deg) scaleX(.7);
	}
	*/


	/* ARROW ALT - optional mobile nav button style */
	/* change #navToggle class to .mobileNavArrowAlt in Page/Local */
	/*
	.mobileNavArrowAlt .mobileNavInner:before
	{
	transition: top .1s ease .1s, transform .1s cubic-bezier(.165, .84, .44, 1);
	}

	.mobileNavArrowAlt .mobileNavInner:after
	{
		transition: bottom .1s ease .1s, transform .1s cubic-bezier(.165, .84, .44, 1);
	}

	.mobileNavArrowAlt.isActive .mobileNavInner:before
	{
		top: 0;
		transition: top .1s ease, transform .1s cubic-bezier(.895, .03, .685, .22) .1s;
		transform: translate3d(-8px, -10px, 0) rotate(-45deg) scaleX(.7);
	}

	.mobileNavArrowAlt.isActive .mobileNavInner:after
	{
		bottom: 0;
		transition: bottom .1s ease, transform .1s cubic-bezier(.895, .03, .685, .22) .1s;
		transform: translate3d(-8px, 10px, 0) rotate(45deg) scaleX(.7);
	}
	*/


	/* SPIN - optional mobile nav button style */
	/* change #navToggle class to .mobileNavSpin in Page/Local */
	/*
	.mobileNavSpin .mobileNavInner
	{
		transition-timing-function: cubic-bezier(.55, .055, .675, .19);
		transition-duration: .22s;
	}

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

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

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

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

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


	/* COLLAPSE - optional mobile nav button style */
	/* change #navToggle class to .mobileNavCollapse in Page/Local */
	/*
	.mobileNavCollapse .mobileNavInner
	{
		top: 16px;
		transition-delay: .13s;
		transition-timing-function: cubic-bezier(.55, .055, .675, .19);
		transition-duration: .13s;
	}

	.mobileNavCollapse .mobileNavInner:after
	{
		top: -20px;
		transition: top .2s cubic-bezier(.33333, .66667, .66667, 1) .2s, opacity .1s linear;
	}

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

	.mobileNavCollapse.isActive .mobileNavInner
	{
		transition-delay: .22s;
		transition-timing-function: cubic-bezier(.215, .61, .355, 1);
		transform: translate3d(0, -10px, 0) rotate(-45deg);
	}

	.mobileNavCollapse.isActive .mobileNavInner:after
	{
		top: 0;
		transition: top .2s cubic-bezier(.33333, 0, .66667, .33333), opacity .1s linear .22s;
		opacity: 0;
	}

	.mobileNavCollapse.isActive .mobileNavInner:before
	{
		top: 0;
		transition: top .1s cubic-bezier(.33333, 0, .66667, .33333) .16s, transform .13s cubic-bezier(.215, .61, .355, 1) .25s;
		transform: rotate(-90deg);
	}
	*/
}


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

ul.subNavList
{
	margin: 0;
	font-size: 18px;
}

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

ul.subNavList ul
{
	margin: 0;
	padding: 0;
}

#Blog-tab a,
ul.subNavList a,
h2.sectionTitle
{
	font-size: 18px;
	font-weight: normal;

	display: block;
	padding: 16px 17px 14px;
	background: #e6e8eb;
	line-height: 1.2;
	margin: 0 0 3px 0;
	color: #005696;
}

ul.subNavList a:hover,
ul.subNavList a:focus,
h2.sectionTitle:hover,
xhtml[data-whatintent="keyboard"] h2.sectionTitle:focus
{
	background: #d6d8db;
	text-decoration: none;
}

ul.subNavList ul a
{
	padding-left: 34px;
}

ul.subNavList li.here > a,
ul.subNavList li.hereParent > a
{
	color: white;
	background: #005696;
	cursor: default;
}


/* Tabs -------------------------------------------------------> */
#content #tabLinks,
#content #yearList ul
{
	width: 100%;

	box-sizing: border-box;
	height: 71px;
	margin: -128px 0 57px;
	z-index: 9;

	text-transform: uppercase;
	font-size: 17px;
	letter-spacing: .5px;

	display: flex;
}

#tabLinks::before,
#yearList ul::before
{
	height: inherit;

	bottom: auto;
	top: -71px;

	background: rgba(0,0,51,.38);
}

#tabLinks a,
#yearList li
{
	color: white;

	padding: 0 30px;
	margin: 0;
	flex-shrink: 1;

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

/* six or more items? reduce padding and add flex-grow */
#tabLinks a:first-child:nth-last-child(n + 6),
#tabLinks a:first-child:nth-last-child(n + 6) ~ a {
	padding: 0 10px;
	flex-grow: 1;
}

#tabLinks a:first-child:nth-last-child(n + 6) ~ a
{
	justify-content: center;
	text-align: center;
}

#tabLinks a:first-child,
#yearList li:first-child
{
	padding-left: 0;
}

#tabLinks .current,
#yearList .selectedYear
{
	border-bottom-color: white;
	color: #58c2e3;
	text-decoration: none;
	cursor: default;
}

.contentSection
{
	display: none;
}

h2.sectionTitle
{
	display: none;
}


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

@media (max-width: 1300px)
{
	#tabLinks a,
	#yearList li
	{
		font-size: 15px;
	}
}

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

	#Blog-tab a,
	h2.sectionTitle
	{
		display: block;
		position: relative;
	}

	#Blog-tab a:hover,
	h2.sectionTitle:hover
	{
		background: #D6D8DB;
		cursor: pointer;
	}

	h2.sectionTitle::after
	{
		content: '+';
		position: absolute;
		top: 13px;
		right: 16px;
		font-size: 22px;
	}

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


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

#content
{
	position: relative;
	min-height: calc(100vh - 226px);

	/* making room for Print PDF */
	padding-top: 30px;
	box-sizing: border-box;
}

#banner + #content
{
	min-height: calc(100vh - 226px - 12.7vw);
}

@media (min-width: 1920px)
{
	#banner + #content
	{
		min-height: calc(100vh - 226px - 244px);
	}
}

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

main
{
	width: 100%;
	margin: 27px 0 0 0;
	padding: 0 0 20px 0;
	box-sizing: border-box;
}

#subNav,
#subContent
{
	position: relative;
	width: 100%;
	margin: 27px 0 0 0;
	box-sizing: border-box;
}

@media (min-width: 920px)
{
	#mainContent:not(:only-child),
	#bioInfo
	{
		float: right;
		width: calc(100% - 28.5% - 40px);
	}

	main:only-child form
	{
		width: calc(100% - 28.5% - 40px);
	}

	#subNav,
	#subContent
	{
		float: left;
		clear: left;
		width: 28.5%;
	}
}

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

	main
	{
		order: 1;
	}

	#subContent
	{
		order: 2;
	}

	#subNav
	{
		order: 3;
	}
}

#subContent li,
#subContent p
{
	margin-top: 0;
	margin-bottom: .5em;
	line-height: 1.3;
}

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

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

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

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


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


#area_event .expandableList .results_list > li:nth-last-child(n+5) ~ li:nth-child(n+4)
{
	display: list-item;
}

#area_event .expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6)
{
	display: none;
}

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

#subContent .itemSection
{
	font-size: 18px;
}

#subContent .itemSection > :last-child
{
	margin-bottom: 25px;
}

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

#subContent ul.hierList
{
	padding-left: 30px;
}

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

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


/* Bio Directory */

#bioSearch > .search_form
{
	flex-basis: 0;
	flex-grow: 1;
}

#bioSearch form > div > div
{
	margin-bottom: 1%;
}

#bioSearch .submit_wrapper
{
	flex-basis: 100%;
}

#bioSearch input:not([type]),
#bioSearch input[type=text],
#bioSearch select,
#bioSearch .customSelect,
#bioSearch form > div > div > label
{
	border-color: white;
	padding: 0 19px;
	height: 57px;
	line-height: 57px;
}

main .letterLinks
{
	font-size: 22px;
	flex-basis: 407px;
	margin-top: 40px;

	display: flex;
	flex-wrap: wrap;
}

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

main .letterLinks > a,
main .letterLinks > span
{
	display: block;

	width: 51px;

	margin: 0 16px 16px 0;

	line-height: 51px;
	text-align: center;
	color: white;

	background: #58c2e3;
	border-radius: 50px;
}

main .letterLinks > div
{
	display: inline-block;
	vertical-align: top;
	height: 51px;
	padding-left: 3px;

	display: flex;
	align-items: center;
}

main .letterLinks > div a
{
	color: white;
	font-size: 20px;
}

@media (min-width: 1050px)
{
	#bioSearch
	{
		display: flex;
		align-items: flex-start;
	}

	main .letterLinks
	{
		margin: 0 0 0 56px;
	}
}

@media (max-width: 919px)
{
	.bioList
	{
		padding: 0 0 40px 0;
		margin: 0 -10px;
	}

	.bioList h2,
	.bioList h4
	{
		padding-left: 10px;
	}

	.bioList .results_list > div
	{
		position: relative;
		padding: 20px 60px 20px 10px;
		margin: 0 0 0 0;
		overflow: auto;
		background: #ffffff;
		line-height: normal;
	}

	.bioList .results_list > div.odd
	{
		background: #eeeeee;
	}

	.bioList .results_list > div div.attyListPic
	{
		float: left;
		width: 102px;
		height: 68px;
		margin-right: 14px;
		overflow: hidden;
	}

	.bioList .results_list > div .title
	{
		margin: 0 0 5px 0;
		font-weight: bold;
	}

	.bioList .results_list > div .title a
	{
		margin: 0 0 5px 0;
		font-size: 22px;
		font-weight: bold;
	}

	.bioList .results_list > div .title span.bioListPosition
	{
		display: block;
		font-weight: normal;
		font-size: 16px;
	}

	.bioList .results_list > div .office
	{
		margin-bottom: 15px;
		font-size: 16px;
	}

	.bioList .results_list > div .phone
	{
		margin-bottom: 5px;
	}

	.bioList .results_list > div .phone a
	{
		display: block;
		padding: 5px 0 5px 20px;
		font-size: 16px;
		background: url('../i/icon-phone.svgz')left 7px no-repeat; /* data-uri */
		background-size: 15px;
	}

	.bioList .results_list > div .email,
	.bioList .results_list > div .vcard
	{
		position: absolute;
		bottom: 22px;
		right: 10px;
	}

	.bioList .results_list > div .vcard
	{
		right: 60px;
	}

	.bioList .results_list > div .email a,
	.bioList .results_list > div .vcard a
	{
		display: block;
		width: 41px;
		height: 30px;
		text-indent: -9999em;
		background: #005696 url('../i/icon-email.svgz') 50% 50% no-repeat; /* data-uri */
		background-size: 35px;
		border-radius: 3px;
	}

	.bioList .results_list > div .vcard a
	{
		background-image: url('../i/icon-vcard.svgz'); /* data-uri */
	}

	.bioList .results_list > div .office ul li
	{
		list-style: none;
		list-style-image: none;
	}

	.bioList .results_list > div.popupAtty
	{
		display: none;
		position: absolute;
		left: 200px;
		width: 544px;
		height: 234px;
		overflow: hidden;
		z-index: -10000;
		background: #005696;
	}
}

@media (max-width: 920px)
{
	.popupAtty
	{
		display: none !important;
	}
}

.popupContent
{
	position: relative;
	width: 544px;
	height: 234px;
	overflow: hidden;
	background: #005696;
	font-weight: normal;
	line-height: normal;
}

.popupContent .popLeft
{
	position: absolute;
	top: 36px;
	left: 30px;
}

.popupContent .popLeft img.popupPic
{
	display: block;
	background: #cccccc;
	border: 3px solid #aca9a2;
}

.popupContent .popRight
{
	position: absolute;
	top: 36px;
	right: 15px;
	width: 350px;
	color: #ffffff;
	font-size: 15px;
}

.popupPosition
{
	font-size: 19px;
	display: block;
	padding-bottom: 1.3em;
	font-style: italic;
}

.popupContent .popRight a
{
	color: #ffffff;
}

.popupContent .popRight a:not([href^="tel:"]):first-child
{
	display: block;
	font-weight: bold;
	font-size: 22px;
}

.popupContent a.bioPopReadAll
{
	display: inline-block;
	margin-top: 8px;
	font-size: 14px;
}

@media (min-width:920px)
{
	.bioList
	{
		position: relative;

		max-width: 939px;
		margin: 0 auto;
		padding: 0 0 40px 0;
		clear: both;
	}

	.bioList .results_list > div
	{
		padding: 0 2px .8em 2px;
		margin: 0 0 0 0;
		overflow: hidden;
		height: 100%;
		background: #ffffff;
		line-height: normal;
	}

	.bioList .results_list > div.odd
	{
		background: #eeeeee;
	}

	.bioList .results_list > div > div
	{
		float: left;
		min-height: 1em;
	}

	.bioList .results_list > div .title
	{
		width: 260px;
		font-weight: bold;
		padding: 12px 20px 0 15px;
	}

	.bioList .results_list > div .title span.bioListPosition
	{
		display: block;
		font-weight: normal;
	}

	.bioList .results_list > div .office
	{
		width: 134px;
		padding: 20px 20px 0 20px;
	}

	.bioList .results_list > div .phone
	{
		width: 180px;
		padding: 20px 20px 0 20px;
	}

	.bioList .results_list > div .email
	{
		width: 95px;
		padding: 20px  0 0 0;
	}

	.bioList .results_list > div .email a,
	.bioList .results_list > div .vcard a
	{
		padding: 0 26px 0 0;
		background: url('../i/email.png') right no-repeat; /*data-uri*/
	}

	.bioList .results_list > div .vcard
	{
		width: 75px;
		padding: 20px 0 0 0;
	}

	.bioList .results_list > div .vcard a
	{
		background-image: url('../i/vcard.png'); /*data-uri*/
	}

	.bioList .results_list > div .office ul li
	{
		list-style: none;
		list-style-image: none;
	}

	.bioList .results_list > div.popupAtty
	{
		display: none;
		position: absolute;
		left: 200px;
		width: 544px;
		height: 234px;
		overflow: hidden;
		z-index: -10000;
		background: #005696;
	}
}

/* Bio Profile */

.people-item #banner
{
	max-height: none;
	min-height: 456px;
	padding-left: 0;
}

#bioHeader
{
	display: flex;
	margin: 0 0 30px 0;
	width: 100%;
	box-sizing: border-box;
	min-height: 385px;

	justify-content: space-between;
}

@media (max-width: 1024px)
{
	#bioHeader,
	.people-item #banner
	{
		min-height: 0;
	}

	#bioHeader
	{
		padding: 10px;
		margin: 0;
	}
}

#bioInfo
{
	display: flex;
	align-items: center;
	flex-grow: 1;
}

#bioInfo > div
{
	flex-grow: 1;
}

#bioInfo #bioNameTitle
{
	flex-grow: 2;
	padding-right: 30px;

	position: relative;
}

#bioPhoto
{
	display: flex;

	flex-grow: 1;
	padding-right: 10vw;
}

#bioPhoto img
{
	align-self: center;
	width: 22.5vw;
}

@media (min-width: 1120px)
{
	#bioPhoto img
	{
		margin-left: 54px;
		width: 252px;
	}
}

#pronouns
{
	margin-top: 5px;
	font-style: italic;
	color: #58C2E3;
	letter-spacing: 1.1px;
}

#bioTitle
{
	padding: 20px 0 0;
	font-weight: 300;
	font-size: 20px;
	line-height: 1;
}

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

#bioContact
{
	border-left: 1px solid #6b9ac1;
	padding: 12px 0 12px 30px;
}

#bioOffice
{
	display: flex;
	flex-wrap: wrap;

	font-size: 18px;
}

#bioOffice li:not(:last-child)
{
	padding-right: 30px;
}

#bioOffice div
{
	margin-bottom: 10px;
	white-space: nowrap;
}

#bioOffice .title a
{
	padding-bottom: 2px;
	border-bottom: 1px solid #2f82ad;
}

#bioOffice li span:first-child
{
	display: inline-block;
	text-transform: lowercase;
	background: #2f82ad;
	border-radius: 50%;

	width: 23px;
	height: 23px;
	line-height: 23px;
	text-align: center;

	margin-right: 3px;
}

ul#bioAccessories
{
	padding-top: 20px;
}

#bioAccessories a
{
	padding-left: 28px;
	background: url(../i/icon-vcard.svgz) left no-repeat;
}

#bioAccessories #bioEmail a
{
	background: url(../i/icon-email.svgz) left no-repeat;
}

#bioAccessories #bioTwitter a
{
	background: url(../i/footer-twitter.svgz) left no-repeat;
	background-size: 17px auto;
}

#bioAccessories #bioLinkedin a
{
	background: url(../i/footer-linkedin.svgz) left no-repeat;
	background-size: 15px auto;
}

#bioAccessories #bioPDF a
{
	background: url(../i/icon-pdf-bio.svgz) left no-repeat;
}

@media (max-width: 800px)
{
	#bioHeader,
	#bioInfo
	{
		display: block;
	}

	#bioNameTitle,
	#bioContact
	{
		padding-left: 5vw;
		border: 0;
	}

	#bioContact
	{
		display: block;
		width: calc(100% - 248px);
	}

	#bioPhoto
	{
		position: absolute;
		right: 10px;
		bottom: 40px;
		padding: 0;
	}

	#bioPhoto img
	{
		height: 233px;
		width: auto;
	}
}

@media (max-width: 560px)
{
	#bioHeader
	{
		padding-bottom: calc(90vw + 40px);
	}

	#bioContact
	{
		width: calc(100% - 10vw);
	}

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

	#bioAccessories li:not(:last-child)
	{
		margin-right: 15px;
	}

	#bioAccessories a
	{
		padding-left: 22px;
	}

	#bioPhoto
	{
		bottom: 40px;
		left: 5vw;
		right: 5vw;
		padding: 10px;
	}

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

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

/* Practice List */

#content #areaExpanders
{
	text-align: right;
	padding-bottom: 10px;
}

@media( min-width: 920px )
{
	#content #areaExpanders
	{
		margin-top: -60px;
	}
}

#areaExpanders button
{
	position: relative;

	margin: 0 0 6px 3px;
	padding: 10px 17px;

	border: none;
	font: inherit;
	text-align: left;
	cursor: pointer;

	background: rgba(9, 87, 151, .7) calc(100% - 14px) no-repeat;
	color: white;
	font-size: 15px;
	text-transform: uppercase;
}

#areaExpanders button.expandAll
{
	background-image: url(../i/expand-arrow-white.svgz);
	padding-right: 38px;
}

#areaExpanders button:not(.active):hover,
#areaExpanders button:not(.active):focus
{
	background-color: rgba(9, 87, 151);
}

#areaExpanders button.active
{
	background-color: rgba(113, 112, 116, .7);
	cursor: default;
}

@media( min-width: 920px )
{

	#practiceList
	{
		display: flex;
		justify-content: space-between;
	}

	#practiceList > div
	{
		flex-basis: calc(33.33% - 5.33px);
	}
}

.listColumn ul,
.listColumn ul li
{
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
	line-height: normal;

	position: relative;
}

.listColumn ul li
{
	padding: .2em 0;
}

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

	background: white;
	margin: 0 0 6px;
	padding: 0 15px;
}

/* client manually putting <br> tags in titles */
.listColumn > ul > li br
{
	display: none;
}

.listColumn > ul > li > .title
{
	display: inline-block;

	box-sizing: border-box;
	padding: 12px 33px 12px 0;

	color: #1a2944;
}


@media( min-width: 920px )
{
	.listColumn > ul > li
	{
		padding: 0 27px;
	}

	.listColumn > ul > li > .title
	{
		display: inline-flex;
		align-items: center;

		min-height: 78px;
	}
}

.listColumn > ul > li > ul
{
	padding-bottom: 32px;
	margin-top: -14px;
	display: none;
}

.listColumn ul ul ul
{
	padding: .4em 1em 0;
}

.listColumn ul ul ul li::before
{
	content: '–';
	color: #1a2944;

	position: absolute;
	left: -1em;
}

.listColumn ul ul li
{
	font-weight: normal;
	font-size: 18px;
}

@media (max-width: 479px)
{
	.listColumn
	{
		columns: 1;
		margin-bottom: 0;
	}
}

.listColumn button,
.expandableHeading button::after
{
	margin: 0;
	padding: 0;

	overflow: hidden;
	border: 1px solid #58c2e3;
	border-radius: 50%;
	font: inherit;
	text-align: left;
	cursor: pointer;

	background: url(../i/expand-arrow.svgz) center no-repeat;
	width: 31px;
	height: 31px;

	position: absolute;
	top: 8px;
	right: 19px;

	transition: transform 400ms ease-out;
}

@media( min-width: 920px )
{
	.listColumn button
	{
		top: 23px;
	}
}

.listColumn button.expanded,
.expandableHeading.expanded button::after
{
	transform: rotate(-180deg);
}

.listColumn button img
{
	display: block;
}

.listColumn button:hover,
.listColumn button:focus,
.expandableHeading button:hover::after,
.expandableHeading button:focus::after
{
	border-color: #005696;
	background-color: #005696;
	background-image: url(../i/expand-arrow-white.svgz);
}


/* Practice Profile */

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


/* News/Pub/Event type Listing */

button.toggleExpand span,
.view_more a,
.tileNav .more
{
	position: relative;

	text-align: right;

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

	color: #58c2e3;
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;

	z-index: 0;
}

#publications-blogs button.toggleExpand
{
	float: right;
}

button.toggleExpand span::after,
.view_more a::after,
.tileNav .more::after,
#homeSpot .homeMore::after
{
	content: '';
	background: currentColor url(../i/home-spot-arrow.svgz) center no-repeat;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	margin-left: 10px;
}

.rsvpButton
{
	margin: 10px 0 0 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 */
#officeMap ul,
#officeMap ul li
{
	list-style: none;
	margin-left: 0;
	padding: 0;
}

#offices input#hoverCoordinates
{
	min-height: 18px;
	width: auto;
	padding: 0;

}

.officeSection h2
{
	color: #005596;
	border: 0;
	text-transform: uppercase;
	padding: 0;
	margin: 0 0 3px;
	font-size: 17px;
	font-weight: bold;
}


@media (min-width: 920px)
{
	#offices h1
	{
		position: absolute;
		z-index: 19;

		top: 52px;
		left: 55px;
		max-width: 800px;
		padding: 18px 28px 18px 28px;
		background: rgba(0,0,0, .53);
		color: #ffffff;
		font-size: 40px;
		line-height: 45px;
	}

	#offices #mainContent
	{
		min-height: 680px;
		margin: 0;
		background: none;
	}

	#officeMap
	{
		position: absolute;
		top: 0;
		left: -50px;
		z-index: 10;
		width: 1499px;
		min-height: 729px;
		background: url('../i/world-map.jpg') no-repeat;
	}

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

	#officeMap .officeSection
	{
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(240,242,244,.9);
		width: 180px;
		padding: 12px 17px;
		box-sizing: border-box;

		font-size: 14px;
	}

	#officeMap #officeSection1 { top: 279px; left: 127px }
	#officeMap #officeSection2 { top: 235px; left: 774px }
	#officeMap #officeSection3 { top: 271px; left: 1208px }
	@media (max-width: 1250px)
	{
		#officeMap #officeSection1 { top: 380px; left: 303px; width: auto; }
		#officeMap #officeSection3 { top: 380px; left: 1020px }
	}

	.officeSection a
	{
		color: inherit;
	}

	#officeDots ul,
	#officeDots ul li
	{
		position: absolute;
		margin: 0;
		padding: 0;
		list-style: none;
		display: block;
	}
	#officeDots a
	{
		position: absolute;

		font-size: 10px;
		text-decoration: none;
		white-space: nowrap;

		line-height: 7px;
		padding-left: 7px;
		margin-top: -4px;
		margin-left: -4px;
		box-sizing: border-box;

		text-shadow:
			0 0 3px white,
			0 0 2px white,
			0 0 2px white,
			0 0 2px white,
			0 0 2px white,
			0 0 2px white;
	}

	#officeDots a:not(.hover),
	#officeDots a:not(.hover):before
	{
		width: 0;
		overflow: hidden;
		color: transparent;
		text-shadow: none;
	}

	#officeDots a:before
	{
		content: '‹‹';
		padding: 0 2px;

		font-size: 140%;
		letter-spacing: -1px;
	}

	/* actual indicator dot */
	#officeDots a:after
	{
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: #005596;
	}
	#officeDots .office1  { top: 328px; left: 327px } /* Century City */
	#officeDots .office2  { top: 307px; left: 503px } /* New York */
	#officeDots .office3  { top: 327px; left: 323px } /* Los Angeles */
	#officeDots .office4  { top: 305px; left: 322px } /* San Fransisco */
	#officeDots .office5  { top: 325px; left: 477px } /* Washington DC */
	#officeDots .office6  { top: 331px; left: 330px } /* Orange County */
	#officeDots .office7  { top: 343px; left: 335px } /* San Diego */
	#officeDots .office8  { top: 336px; left: 332px } /* Del Mar */
	#officeDots .office10 { top: 347px; left: 1156px } /* Shanghai */
	#officeDots .office11 { top: 312px; left: 324px } /* Silicon Valley */
	#officeDots .office13 { top: 273px; left: 751px } /* Brussels */
	#officeDots .office14 { top: 308px; left: 1129px } /* Beijing */
	#officeDots .office15 { top: 270px; left: 734px } /* London */
	#officeDots .office16 { top: 309px; left: 442px } /* Chicago */
	#officeDots .office17 { top: 318px; left: 1169px } /* Seoul */
	#officeDots .office19 { top: 347px; left: 404px } /* Dallas */

	/* Los Angeles and Century City need a little extra padding */
	#officeDots .office1 a { padding-left: 10px }
	#officeDots .office3 a { padding-left: 14px }

	/* cities that point up */
	#officeDots .office7  a.hover,
	#officeDots .office13 a.hover
	{
		left: -28px;
		padding-top: 22px;
	}

	#officeDots .office7  a.hover:after,
	#officeDots .office13 a.hover:after
	{
		left: 28px;
	}

	#officeDots .office7  a.hover:before,
	#officeDots .office13 a.hover:before
	{
		position: absolute;
		top: 10px;
		left: 27px;
		transform: rotate(90deg);
	}

	/* cities that point down */
	#officeDots .office2  a.hover,
	#officeDots .office17 a.hover
	{
		left: -25px;
		top: -23px;
	}
	#officeDots .office2  a.hover:after,
	#officeDots .office17 a.hover:after
	{
		left: 25px;
		top: 23px;
	}

	#officeDots .office2  a.hover:before,
	#officeDots .office17 a.hover:before
	{
		position: absolute;
		top: 12px;
		left: 21px;
		transform: rotate(-90deg);
	}

	/* cities that point right */
	#officeDots .office5  a,
	#officeDots .office10 a,
	#officeDots .office14 a,
	#officeDots .office15 a,
	#officeDots .office16 a
	{
		right: calc(100% - 3px);
		padding: 0 20px 0 0;

		width: auto;
	}

	#officeDots .office5  a:before,
	#officeDots .office10 a:before,
	#officeDots .office14 a:before,
	#officeDots .office15 a:before,
	#officeDots .office16 a:before
	{
		position: absolute;
		right: 8px;
		content: '››';
	}

	#officeDots .office5  a:after,
	#officeDots .office10 a:after,
	#officeDots .office14 a:after,
	#officeDots .office15 a:after,
	#officeDots .office16 a:after
	{
		left: auto;
		right: 0;
	}
}

@media (max-width: 1499px) and (min-width: 920px)
{
	#officeMap
	{
		left: calc(50vw - 750px);
	}
}

@media (max-width: 919px)
{
	#officeMap li
	{
		margin: 0 0 .8em 0;
	}

	#offices #content::before
	{
		content: '';
		display: block;
		position: relative;
		width: 100vw;
		left: -10px;
		height: 47vw;
		max-height: calc(50vh - 100px);

		background: red url('../i/world-map.jpg') center no-repeat;
		background-size: 100%;
	}

	#officeDots
	{
		display: none;
	}

	#officeMap ul,
	#officeMap ul li
	{
		line-height: normal;
	}

	.officeSection:first-of-type ul
	{
		columns: 250px;
	}

	.officeSection h2
	{
		margin: 1.5em 0 0;
		font-size: inherit;
	}
}

/* Office Profile Pages */

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

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


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

#itemSubtitle
{
	padding: 12px 0 4px 0;
	color: #000033;
	font-size: 1.35rem;
	line-height: normal;
}

/* temp brochure image is wider than raw site side column */
#probono .sideStaticText img
{
	max-width: 260px;
	height: auto;
	border: 3px solid #484e51;
}

@media (min-width: 920px)
{
	#probono h1
	{
		position: absolute;
		z-index: 19;

		top: -57px;
		left: 0;
		max-width: 800px;
		padding: 0 28px 0 28px;
		background: rgba(0,0,0, .53);
		color: #ffffff;
		font-size: 23px;
		line-height: 57px;
	}

	#probono #content
	{
		background: white;
		box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, .5);

		padding: 0 30px 29px;
		box-sizing: border-box;
		max-width: 990px;
		margin: 178px auto 0;
	}

	#probono #content::before
	{
		content: '';

		position: absolute;
		top: -178px;
		left: calc(50% - 50vw);
		width: 100vw;
		height: 100%;

		background: url('../i/probono-bg.jpg') top no-repeat;

		z-index: -1;
	}

	#probono #mainContent
	{
		float: left;
		clear: left;
	}

	#probono #subContent
	{
		float: right;
		clear: right;
	}
}


/* about history */

#recruitcal .school
{
	font-weight: 700;
}

/* Gallery */

#galleryContainer
{
	clear: both;
	padding-left: 376px;
}

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

#gallerySelect
{
	display: none;
	width: 100%;
	height: 52px;
	margin: 30px 0 20px;
	background: #ffffff;
	box-sizing: border-box;

}

#gallerySelect button
{
	/* button reset */
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	font: inherit;
	color: inherit !important;
	text-align: left;
	box-sizing: border-box;
	display: block;
	width: 100%;
	position: relative;
	height: 100%;
	padding: 10px 5px 10px 10px;
	border: 1px solid #999999;
	box-sizing: border-box;
	cursor: pointer;
}

#gallerySelect button:after,
#gallerySelect button:before
{
	content: '';
	position: absolute;
	top: 26px;
	right: 22px;
	width: 10px;
	height: 5px;
	background: #bababa;
	transform: skew(0,-45deg);

}

#gallerySelect button:before
{
        right: 32px;
        transform: skew(0,45deg);
}

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

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

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

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

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

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

#galleryContent li
{
	position: relative;
	transition: all 250ms ease;
}

#galleryThumbnail li
{
	cursor: pointer;
}

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

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

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

#galleryImage .galleryImageCaption
{
	width: 100%;
	background: rgba(0,0,0, .75);
	color: #ffffff;
	padding: 10px;
	font-size: 16px;
	box-sizing: border-box;
}

#gallery
{
	margin-bottom: 50px;
}

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

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

#gallerContent #galleryThumbnail li.current
{
	border-color: #7b7b7b;
}
#galleryContent #galleryThumbnail li img
{
	display: block;
	width: 100%;
	height: auto;
	opacity: .9;
	transition: all 250ms ease;
}

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

@media (min-width: 1280px )
{
	#galleryContainer
	{
		width: calc(90% - 400px);
		max-width: 1080px;
	}

	#gallerySelect
	{
		width: 80%;
	}

	#galleryContent
	{
		display: flex;
		justify-content: space-between;
		position: relative;
		padding-right: 20%;
	}

	#galleryImage img
	{
		height: 100%;
	}

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

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

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

	#galleryImage .galleryImageCaption
	{
		padding: 0;
	}

	#galleryImage .galleryImageCaption:not(:empty)
	{
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 15px 30px;
		font-size: 18px;
		line-height: 24px;
		color: #ffffff;
	}
}

/* Careers Landing */
@media (max-width: 1109px)
{
	#careers #contentMenu li
	{
		list-style: none;
		padding: 0;
		margin: 18px 0;
		border-bottom: 1px solid #e2e2e2;
	}

	#careers #contentMenuBottom
	{
		display: none;
	}
}

@media (min-width: 1110px)
{
	body.careersLanding #mainContent
	{
		min-height: 651px;
		margin: 0 auto;
	}

	#careers #careersBackground
	{
		background: url('../i/career-bg.jpg');
	}

	#careers .largeBackground
	{
		position: absolute;
		top: 0;
		height: 728px;
		width: 1500px;

		left: -40px;
	}

	#careers h2
	{
		margin: 5px 0 10px 0;
		padding: 12px 0 8px 0;
		border-bottom: 1px solid #d2d2d2;
		color: #333333;
		font-size: 17px;
		font-weight: normal;
	}

	#contentMenuWrapper
	{
		position: relative;
		margin-top: 182px;
		left: 160px;
		background: #FFFFFF;
		width: 1100px;
		min-height: 305px;
		box-shadow: 0 0 10px rgba(0, 0, 0, .15);
	}

	#careers #careersWhatWeSay
	{
		position: relative;
		float: right;
		display: inline-block;
		padding: 0px 20px 0px 0;
		margin: 40px 0px 0 0;
		color: #484e51;
		font-weight: normal;
		background: url('../i/arrow-right-gray.png') right 5px no-repeat;
		font-size: 15px;

	}

	#careers #contentMenu
	{
		position: relative;
		padding: 10px 30px;
		border-bottom: 1px solid #e2e2e2;
	}

	#careers #navTriggers
	{
		display: flex;
	}

	#careers #navTriggers li
	{
		display: inline-block;
		list-style: none;
		padding: 10px 18px;
		margin: 0;
		border-left: 1px solid #e2e2e2;
		border-right: 1px solid #e2e2e2;

		flex-grow: 1;
	}

	#careers #contentMenu li:first-child
	{
		border-right: none;
	}

	#careers #contentMenu h3
	{
		font-size: 20px;
		text-align: center;
		margin: 0;
	}

	#careers #contentMenuBottom
	{
		padding: 10px 30px;
	}

	#iconLinks
	{
		float: right;
	}

	#iconLinks ul li
	{
		position: relative;
		display: inline-block;
		list-style: none;
		margin-bottom: 0;
		cursor: pointer;
	}

	#iconLinks ul li span
	{
		position: absolute;
		top: -19px;
		left: 30px;
		display: none;
	}

	#careers .careerHover
	{
		display: none;
		position: absolute;
		bottom: 130px;
		left: 0;
		width: 1000px;
		height: auto;
		padding: 42px 50px 0 50px;
		background: #FFFFFF;
		font-size: .75em;
	}

	#careers .careerHover #testimonialPhoto
	{
		float: left;
		display: inline-block;
		min-height: 100px;
		margin: 0 34px 0 0;
		border: 3px solid #aca9a2;
		line-height: 0;
	}

	#careers .careerHover h2
	{
		padding: 0;
		margin: 0;
		border: none;
		font-size: 1.8em;
		color: #005696;
	}
	#careers .careerHover h4
	{
		margin: 0 0 10px 0;
		font-size: 1em;
		text-transform: none;
		color: #706f73;
		font-weight: normal;
	}

	#contentMenuTextBox .contentTextBoxes
	{
		display: none;
	}
	#contentMenuTextBox .contentTextBoxes h1
	{
		color: #005696;
		margin: -20px 0 0 0px;
		padding: 0 0 15px 0;
		font-size: 40px;
		line-height: normal;
	}

	#contentMenuTextBox .contentTextBoxes img:first-child
	{
		border: 3px solid #aca9a2;
	}
}


@media (max-width: 1440px)
{
	#contentMenuWrapper
	{
		left: calc(50% - 550px);
	}

	#careers .largeBackground
	{
		left: calc(50% - 750px);
	}
}

#contentMenuWrapper .xrefMultimediaList .title,
#contentMenuWrapper .xrefMultimediaList .itemdate
{
	display: none;
}

#contentMenuWrapper .xrefMultimediaList
{
	float: right;
	margin: 10px 0 10px 30px;
}

.diversity #contentMenuTextBox
{
	padding-top: 20px;
}

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

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

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

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

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

#subContent form > div > div
{
	width: auto;
	margin: 0 0 -1px 0;
	flex-basis: 100%;
}

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
{
	/* flex-basis: 100%;  uncomment if you want this on its own line */
}

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

/* 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]
{
	-webkit-appearance: none;
	border-radius: 0;
}

input:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect,
.search_form form > div > div > label
{
	width: 100%;
	min-height: 49px; /* appease IE11 */
	margin: 0;
	padding: 8px 16px;

	color: #666766;
	font: inherit;
	font-size: 18px;

	background-color: #fff;
	border: 1px solid #e6e8eb;
	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
***/
.search_form form > div > div > label
{
	position: absolute;
	border: 0;
	background: none;

	line-height: 2;
}

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

    position: relative;
}

.customSelect::after
{
	content: '';
	position: absolute;
	top: 18px;
	right: 16px;

	width: 12px;
	height: 12px;
	box-sizing: border-box;
	border: solid #53575e;
	border-width: 0 0 2px 2px;

	transform: rotate(-45deg);
}

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

.customSelectInner
{
	display: inline-block !important;
	white-space: nowrap;
	width: calc(100% - 20px) !important;

	overflow: hidden;
}

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]
{
	box-sizing: border-box;
	min-height: 49px;
	margin: 0 0 0px 0;
	padding: 15px 25px;

	display: inline-flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	border: 0 solid #005696;

	background: #005696;

	font: inherit;
	font-size: 18px;
	line-height: 1;
	color: #fff;
	cursor: pointer;
	text-transform: uppercase;

	vertical-align: top;

	width: 100%;
	text-transform: uppercase;
}

a.clearAll
{
	color: white;
}

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

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


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

#emailField
{
	display: none;
}

@media (max-width: 479px)
{
	form > div > div
	{
		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%;
	color: #005696;
}

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

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

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


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

#footer
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: 1;

	margin: 50px 0 0;

	padding: 15px 0;

	min-height: 54px;
	background: #02142e;
	box-sizing: border-box;
	color: #93959a;
	text-transform: uppercase;
	font-size: 12px;
	order: 10;
}

#footer a
{
	color: inherit;
}

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

#footer ul li
{
	margin-right: 20px;
}

#footerSocial ul
{
	display: flex;
	align-items: center;
}

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

@media (max-width: 479px)
{
	#footerOffices .results_list > li
	{
		float: none;
		width: 100%;
		margin: 10px 0 0 0;
	}
}


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

.popupPlayerWrapper
{
	display: none;
	position: fixed;
	top: calc(50% - 40vh);
	left: calc(50% - 40vw);
	z-index: 99999999;
	height: 80vh;
	width: 80vw;
	background: #fff;
	border: 12px solid #cecece;
	color: #fff;
}

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

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

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

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

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

@media all and (orientation: portrait)
{
	.popupPlayerWrapper
	{
		left: calc(50% - 45vw);
		top: calc(50% - 20vh);
		width: 90vw;
		height: 40vh;
	}
}

span.popupPlayerClose
{
	display: block;
	position: absolute;
	z-index: 25;
	top: -15px;
	right: -15px;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	background: #333;
	color: #f1f1f1;
	font-size: 18px;
	line-height: 1;
	text-align: center;
	cursor: pointer;
}

span.popupPlayerClose:hover,
span.popupPlayerClose:focus
{
	background: #000;
	color: #fff;
}

.popupPlayerPlaylist
{
	display: none;
	position: absolute;
	z-index: 10;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 25%;
	max-width: 100%;
	overflow: hidden;
	background: #f5f5f5;
}

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

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

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

.popupPlayerPlaylist ul
{
	position: relative;
	left: 0;
	list-style: none;
	min-width: 100000px;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

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

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

.popupPlayerPlaylist ul li a
{
	display: block;
	width: 100%;
}

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

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

.popupPlayerPlaylist ul li .sp_pencil
{
	display: none;
}

.popupPlayerPlaylist ul li .title a
{
	color: #fff;
}

.popupPlayerPlaylist ul li .title a:hover,
.popupPlayerPlaylist ul li .title a:focus
{
	text-decoration: none;
}

.popupPlayerPlaylist ul li .title a::after
{
	content: '\00A0\25B6';
}

a#playlistPrev,
a#playlistNext
{
	display: none;
	position: absolute;
	z-index: 50;
	top: 0;
	width: 25px;
	height: calc(100% - 10px);
	margin: 0;
	border-top: 5px solid #f5f5f5;
	border-bottom: 5px solid #f5f5f5;
	background: #d8d8d8;
	text-align: center;
}

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

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

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

a#playlistPrev:hover,
a#playlistPrev:focus,
a#playlistNext:hover,
a#playlistNext:focus
{
	background-color: #d1d1d1;
}

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

.popupPlayerSidebar
{
	position: absolute;
	z-index: 10;
	top: 0;
	right: 0;
	width: 25%;
	height: 100%;
	overflow: hidden;
	overflow-y: auto;
	background: #f5f5f5;
}

.popupPlayerSidebar > div
{
	padding: 0 16px;
}

.popupPlayerSidebar li
{
	margin: 0;
}

.popupPlayerSidebar h2
{
	border: 0;
	font-weight: bold;
	font-size: 1em;
	text-transform: uppercase;
	margin: 1em 0;
	padding: 0;
}

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

.itemMultimediaList ul.results_list li .photo,
#item_relatedsame ul li .photo,
.itemMultimediaList ul li .photo,
.xrefMultimediaList ul li .photo
{
	width: 260px;
	max-width: 100%;
	margin-bottom: 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: 100%;
}

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

@media (min-width: 530px)
{
	main .itemMultimediaList ul.results_list li .photo,
	main .xrefMultimediaList ul li .photo
	{
		position: relative;
		z-index: 1;
		float: left;
		margin-right: 10px;
	}
}

#subContent .xrefMultimediaList ul li .photo
{
	float: none;
	margin: 0 0 10px;
}

.itemMultimediaList ul.results_list li .photo
{
	margin-right: 10px;
}

#item_relatedsame .results_list > li:nth-child(n+1)
{
	display: none;
}

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

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

.photo .triggerPopupPlayer,
.photo .triggerPopupPlayer img
{
	display: block;
}

.photo .triggerPopupPlayer
{
	position: relative;
}

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

	/* color sets the solid color of the icon */
	color: white;

	/* set the relative size of the triangle inside the circle */
	transform: scale(.5);

	/* set shadow and background of the icon */
	filter: drop-shadow(0 0 2px rgba(0,0,0,.3));

	/* left position of inner triangle, will need to adjust slightly based on scale */
	right: 6%;
	bottom: 6%;

	/* don't edit */
	content: '';
	display: block;
	position: absolute;
}

.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%;
	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: 0;
	bottom: 0;
	right: 0;
	width: calc(100% - 30px);
	overflow: hidden;
	z-index: 9999;
	background: rgba(0,0,0,.85);
	padding: .25em 1em;
}

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

.closeButton
{
	position: relative;
	float: right;
	margin: 1em;
	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;
}

#emailPopupClose
{
	position: absolute;

	top: -28px;
	right: -28px;
}

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

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

#emailPopup
{
	display: none;
	position: fixed;
	z-index: 99999999;
	top: calc(50% - 30vh);
	left: calc(50% - 30vw);
	height: 60vh;
	width: 60vw;
	background: #fff;
	border: 12px solid #cecece;
}

#emailDisclaimerContentWrapper
{
	padding: 20px 20px 0 20px;
}

#emailDisclaimerButtons
{
	text-align: center;
}

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

@media all and (orientation: portrait)
{
	#emailPopup
	{
		left: 5%;
		width: 90%;
		box-sizing: border-box;
	}

	#emailPopupContent
	{
		height: 100%;
		overflow: scroll;
	}
}

@media (max-width: 767px)
{
	#emailPopup
	{
		top: calc(50% - 40vh);
		height: 80vh;
	}
}


/*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 p.form-section-label
{
	margin: 1em 0 0 0;
	padding: 0;
	font-weight: bolder;
}

#search .search_text
{
	display: block;
	margin: 1em 0 1em 0;
}

#search #search_button
{
	margin-left: 8px;
}

#search main .search_form form div
{
	height: auto;
	width: 100%;
}

#search main .search_form input
{
	margin: 0;
	vertical-align: middle;
}

#search main .search_form br
{
	display: none;
}

#search main .search_form label
{
	display: block;
	position: relative;
	top: 0;
	left: 0;
	margin: -24px 0 0 0;
	padding: 0 0 0 20px;
	vertical-align: middle;
	font: normal 16px/1.4 Helvetica, Arial, sans-serif;
	min-height: initial;
}

#search input[type=submit]
{
	width: auto;
}

#search main .search_form input[type=radio],
#search main .search_form input[type=checkbox]
{
	margin: 0 4px 0 0;
	padding: 0;
}

#search main .search_form input#searchtext
{
	width: 60%;
	max-width: 100%;
	margin-right: 4px;
	box-sizing: border-box;
}

#search div.search_section_wrapper
{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

#search div.search_type,
#search div.sections
{
	box-sizing: border-box;
	max-width: 30%;
}

#search div.search_type
{
	box-sizing: border-box;
}

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

#search #subContent div.sections
{
	max-width: 100%;
}

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

#search .search_result_date
{
	color: #888;
}


@media (max-width: 767px)
{
	#search div.search_section_wrapper
	{
		flex-direction: column;
	}

	#search div.sections
	{
		max-width: 100%;
	}

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

	#search main .search_form input#searchtext
	{
		width: 100%;
	}
}

#search 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
{
	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 #a69e9d;
	margin: 0;
	padding: 6px 0;
}

#search #searchTabLinks a
{
	color: #666;
}
#search #searchTabLinks a span
{
	color: #005696;
}

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

#search #searchResultsFor span
{
	font-weight: bold;
	color: #004461;
	text-transform: uppercase;
}

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

/* Bio section search results */
.searchBioWrapper div.results_list > div
{
	display: flex;
	margin-bottom: 18px;
}

.searchBioWrapper .photo
{
	padding: 0 0 9px 0;
	margin: 0;
}

.searchBioWrapper .photo img
{
	padding: 0 27px 0 0;
}

.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: #005696;
	color: #fff;
	text-align: center;
}

.printMap:hover,
.printMap:focus
{
	background: #6a747c;
	text-decoration: none;
}

/* buttons to look like links */
button.toggleExpand
{
	margin: 0 0 1.5em 0;
	padding: 0 !important;
	background: none !important;
	border: none;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: #005696;
}


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


/* Home Page ------------------------------------------------------> */

html
{
	position: relative;
}

#index #mainContent
{
	margin: 0;
	padding: 0;

	width: 100vw;
	position: relative;
	left: calc(50% - 50vw);
	box-sizing:border-box;
}

#index #content,
#index #homeAnimation
{
	min-height: 450px;
	padding-top: 0;
}

#index #footer
{
	margin-top: 0;
}

#index #homeAnimation
{
	position: relative;
	z-index: 10;
	height: calc(100vh - 124px);
	width: 100vw;
	padding: 20px;
	box-sizing: border-box;

	overflow: hidden;

	background: #02142e;
}

@media (min-width: 590px)
{
	#index #homeAnimation
	{
		height: calc(100vh - 71px);
	}
}

@media (min-width: 1119px) and (min-aspect-ratio: 1920/1070)
{
	#index #homeAnimation
	{
		min-height: 42.7vw;
	}
}

@media (min-width: 1119px)
{
	#index #homeAnimation
	{
		height: calc(100vh - 177px);
	}

	#footer
	{
		clear: both;
	}
}


#homeAnimation li
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	margin: 0;

	opacity: 0;
	transition: opacity .5s;
}

#homeAnimation li.current
{
	opacity: 1;
}

#homeAnimation .image
{
	position: absolute;
	left: 0;
	right: 0;
}

#homeAnimation .image img
{
	width: 100%;
}

#homeAnimation .title,
#homeAnimation .abstract
{
	color: white;

	max-width: 1420px;

	padding-right: 40px;
	margin: 0 auto;
	position: relative;

	top: 15%;
	z-index: 20;
}

#homeAnimation .title a
{
	color: inherit;
	text-decoration: none;
}

#homeAnimation li .abstract
{
	font-size: 18px;
	padding-top: 10px;
}

@media (max-aspect-ratio: 220/155)
{
	#homeAnimation .image img
	{
		width: auto;
		height: 100%;
	}

	#homeAnimation .image
	{
		height: 100%;
		display: flex;
		justify-content: center;
	}
}

.animPagers
{
	position: absolute;
	top: calc(47.2% - 55px);
	left: 0;
	right: 0;

	display: flex;
	justify-content: center;
}

.animPagers button
{
	display: block;
	width: 23px;
	height: 23px;

	border-radius: 50%;
	text-indent: -9999em;
	padding: 0;
	box-sizing: border-box;

	cursor: pointer;

	opacity: .48;
	background: transparent;

	border: 2px solid white;
	margin: 0 9px;
}

.animPagers button.current
{
	border-color: #ffcb27;
	opacity: 1;
}

.animPagers button:hover,
.animPagers button:focus
{
	opacity: 1;
}

#homeSpotWrapper
{
	padding: 39px 0;

	z-index: 10;

	box-sizing: border-box;
}

#homeSpot
{
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	box-sizing: border-box;

	min-width: 320px;
	max-width: 1420px;
}

#homeSpot > div
{
	position: relative;
	z-index: 10;

	display: flex;
	flex-direction: column;

	background: white;
	padding: 27px;
	box-sizing: border-box;
}

@media (min-width: 920px)
{
	#homeSpotWrapper
	{
		position: absolute;
		top: 47.2%;
		left: -100vw;
		width: 100vw;

		background: rgba(255,255,255,.2); /* data-uri */
		animation: news 750ms forwards 1000ms;
	}


	@keyframes news
	{
		0%
		{
			left: -100vw;
		}

		100%
		{
			left: 0;
		}
	}

	@keyframes homeSpot
	{
		0%
		{
			left: -150%;
			opacity: 0;
		}

		60%
		{
			opacity: .1;
			left: 2%;
		}

		100%
		{
			left: 0;
			opacity: 1;
		}
	}

	#homeSpot > div
	{
		left: -150%;
		flex: 0 0 auto;
		width: calc((100%/3) - 19px);

		opacity: 0;
		animation: homeSpot 750ms forwards 1200ms;
	}
}

#homeSpot > div > div
{
	flex-grow:1;
	padding-bottom: 48px;
}

#homeSpot h3
{
	font-size: 14px;
	color: #58c2e3;
	font-weight: bold;
	text-transform: uppercase;

	padding: 0;
	margin: 0 0 10px 0;
}

#homeSpot h3 a
{
	color: inherit;
}

#homeSpot > :nth-child(2)
{
	animation-delay: 1300ms
}

#homeSpot > :nth-child(3)
{
	animation-delay: 1400ms;
}

#homeSpot .homeMore
{
	position: relative;

	text-align: right;
	height: 53px;

	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 30px;

	color: #ffcb27;
	font-weight: bold;
	text-transform: uppercase;

	background-repeat: no-repeat;
	background-size: cover;

	max-width: 500px;

	z-index: 0;
}

#homeSpot .homeMore::before
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background: black;
	opacity: 0;
	z-index: -1;

	transition: opacity .3s;
}

#homeSpot .homeMore:focus::before,
#homeSpot .homeMore:hover::before
{
	opacity: .6;
}

#homeSpot .eventSpot .homeMore
{
	color: #58c2e3;
}

#homeSpot .publicationSpot .homeMore
{
	color: #ff7932;
}

@media (max-width: 919px)
{
	#homeSpotWrapper
	{
		position: relative;
		display: block;
	}

	#homeSpot
	{
		flex-direction: column;
		display: block;
	}

	#homeSpot > div
	{
		width: auto;
	}

	.animPagers
	{
		top:auto;
		bottom: 65px;
	}

	#homeAnimation li
	{
		padding-left: 45px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		box-sizing: border-box;
	}

	#homeAnimation li .title,
	#homeAnimation li .abstract
	{
		top: -35px;
	}
}

/* News page  -------------------------------------------------> */

#newsroom #content > *,
#events #content > *,
#publications #content > *
{
	float: none;
	width: auto;
}

#newsroom #mainContent,
#events #mainContent,
#publications #mainContent
{
	background: #e6e8eb;
	position: relative;
	margin: 0;
	padding: 40px 0 100px 0;
}

#newsroom #footer,
#events #footer,
#publications #footer
{
	margin-top: 0;
}

#newsroom #subNav,
#events #subNav,
#publications #subNav
{
	margin: 0;
	padding: 15px 0;
}

#newsroom #content,
#events #content,
#publications #content
{
	padding-top: 0;
}

@media (min-width: 920px)
{
	#newsroom .subNavList,
	#events .subNavList,
	#publications .subNavList
	{
		display: flex;
	}

	#newsroom .subNavList li + li,
	#events .subNavList li + li,
	#publications .subNavList li + li
	{
		margin-left: 39px;
	}

	#newsroom .subNavList a,
	#events .subNavList a,
	#publications .subNavList a
	{
		background: none;
		display: inline;
		padding: 0;
		margin: 0;
	}

	.newsColumns .results_list
	{
		display: flex;
		flex-direction: column;
	}

	.newsColumns,
	.newsColumns > div:only-child ul.results_list
	{
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		justify-content: space-between;
		width: 100%;
	}

	.newsColumns:after,
	.newsColumns > div:only-child ul.results_list:after
	{
		content: '';
	}

	/* first three */
	.newsColumns:after,
	.newsColumns > div:only-child ul.results_list:after,
	.newsColumns > div:not(:only-child),
	.newsColumns > div:only-child ul.results_list li
	{
		width: calc(33.33% - 19px);
		box-sizing: border-box;
	}

	.newsColumns > div:only-child
	{
		width: 100%;
		padding: 0;
	}
}

.newsColumns h2
{
	font-weight: 300;
	color: #717074;
}

.newsColumns .results_list
{
	margin: 0;
}

.newsColumns .results_list > li
{
	background: white;
	min-height: 275px;
	box-sizing: border-box;
	padding: 25px 25px;
	margin: 0 0 29px;

	color: #1a2944;

	justify-content: flex-start;
}

.newsColumns .results_list > li .photo
{
	flex-grow: 0;
	flex-shrink: 1;
	max-height: 153px;
}

.newsColumns .results_list > li,
.newsColumns .results_list > li > a
{
	display: flex;

	flex-direction: column;
}

.newsColumns li a
{
	text-decoration: none;
	color: inherit;
	flex-grow: 1;
}

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

.newsColumns .image
{
	flex-grow: 1;
	display: flex;
	align-items:flex-end;
	margin-top: 1.5em;
}

#events .newsColumns .title
{
	flex-grow: 0;
}

#events .newsColumns .subtitle
{
	flex-grow: 1;
	font-size: 16px;
}


.newsColumns .itemdate
{
	color: #58c2e3;
	font-size: 14px;
	font-weight: bold;
}


.newsColumns .itemMultimediaList .photo
{
	margin-right: 0;
	align-self: flex-start;
}

.newsColumns .image img,
.newsColumns .photo img
{
	width: 100%;
}

.newsColumns > div:not(:last-child) .view_more
{
	margin-bottom: 33px;
}

.newsColumns .itemMultimediaList .photo img
{
	width: auto;
}

.newsColumns .itemMultimediaList .title
{
	padding-top: 15px;
}

/* About history -------------------------------------------------> */

#content #yearList ul
{
	margin: 0;
	position: absolute;
	top: -98px;

	justify-content: center;
}

#yearList ul::before
{
	top: 0;
}

#yearList ul li
{
	list-style: none;
	cursor: pointer;
}

#historyContainer
{
	position: relative;
	height: 400px;
	padding: 0 40px 0 60px;
	overflow: hidden;
}

#historyLeft,
#historyRight
{
	position: absolute;
	top: 38px;
	height: 54px;
	width: 32px;
	cursor: pointer;
}

#historyLeft
{
	left: 0;
	background: url('../i/history-arrow-left.gif');
}

#historyRight
{
	right: 0;
	background: url('../i/history-arrow-right.gif');
}

#historyList
{
	position: relative;
	overflow: hidden;
	height: 100%;
}

#historyList ul
{
	position: absolute;
	width: 10000%;
	display: block;
	left: 0px;
	height: 100%;
	margin: 0;
	overflow: hidden;
}

#historyList ul li
{
	display: inline;
	height: 100%;
	list-style: none;
	margin: 0;
	overflow: hidden;
}

.historyItem
{
	float: left;
	display: inline-block;
	width: calc(.25% - 20px);
	box-sizing: border-box;

	height: 100%;
	background: #EEEEEE;
	padding: 15px 25px 0 25px;
	margin: 0 20px 0 0;
	border-top: 4px solid #CCCCCC;
}

@media (max-width: 1300px)
{
	.historyItem
	{
		width: calc(.33% - 16px);
	}
}

@media (max-width: 1100px)
{
	.historyItem
	{
		width: calc(.50% - 20px);
	}
}

.historyItem h2
{
	margin: 0;
	padding: 0;
	font-size: 30px;
	font-weight: bold;
	color: #005696;
	border: none;
}

.historyAbstract
{
	height: calc(100% - 50px);
	box-sizing: border-box;
	overflow: hidden;

	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.historyAbstract p
{
	margin: 0;
	padding: 0;
}

.historyAbstract p:last-of-type
{
	flex-grow: 1;
}

.historyAbstract .more
{
	display: block;
	font-weight: bold;
	cursor: pointer;
	background: none !important;
}

.historyAbstract h1
{
	font-size: 18px !important;
	font-weight: normal;
}

#historyContent
{
	display: none;
	padding: 30px;
	margin: 30px 60px;
	border: 3px solid #EEEEEE;
}

.historyReveal
{
	display: none;
	overflow: auto;
}

h2.historyTitle
{
	color: #005696;
	font-size: calc(28px + (35 - 28) * ((100vw - 320px) / (1400 - 320)));
}

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

.historyPhoto img
{
	border: 4px solid #ACA9A2;
	display: block;
}

@media( min-width: 600px )
{
	.historyPhoto
	{
		float: left;
		margin: 0 20px 0 0;
		max-width: 50%;
	}

	.historyPhoto img
	{
		max-width: 100%;
	}
}

.historyReveal h1
{
	color: #005696;
}

@media (min-width: 920px) and (max-width: 1024px)
{
	#content #yearList ul
	{
		position: relative;
		top: 0;
		margin-bottom: 20px;
	}

	#content #yearList ul::before
	{
		top: 0;
		background: #005695;
	}
}

@media (max-width: 919px)
{
	#historyContainer,
	#yearList
	{
		display: none;
	}

	#historyContent,
	.historyReveal
	{
		display: block;
		margin: 0;
	}
}

/* Full Scale BG  -------------------------------------------------> */

.fullScale,
.fullScale body
{
	position: relative;
	min-height: 100%;
}

.fullScale body
{
	color: white;
}

.fullScale #content
{
	display: flex;
	flex-direction: column;
	position: relative;
	min-height: calc(100vh - 226px - 12.7vw);
	padding-top: 0;
}

@media (max-width: 920px)
{
	.fullScale #content
	{
		padding: 0 3vw;
	}
}

.fullScale #mainContent
{
	margin-top: 0;
}

.fullScale #banner
{
	position: static;
}

@media (min-width: 1025px)
{
	body.practices-item #banner,
	body.industries-item #banner,
	body.offices-item #banner,
	body#about-history #banner
	{
		min-height: calc(12.7vw + 71px);
		padding-bottom: 101px;
	}
}

.fullScale #banner::before,
.fullScale #banner::after
{
	top: 0;
	min-height: 680px;
	position: fixed;
}

.fullScale #subNav
{
	order: 2;
	position: relative;
	float: none;
	width: 100%;
}

.fullScale #mainContent
{
	order: 1;
	width: 100%;
}

@media (max-width: 1024px)
{
	.fullScale
	{
		height: auto !important;
	}
}

.tileNav ul,
.tileNav li
{
	display: flex;
	margin: 0;
	padding: 0;
}

.tileNav ul
{
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}

.tileNav li
{
	box-sizing: border-box;
	width: calc(33.33% - 19px);
	margin-bottom: 29px;
}

.tileNav li a
{
	position: relative;

	color: #eff1f4;
	text-decoration: none;

	line-height: 1.3;
	font-size: 26px;

	display: flex;
	width: 100%;
	height: 100%;
	padding: 70px 30px;
	box-sizing: border-box;

	flex-direction: column;
	text-align: center;
	justify-content: center;
}

/* fluid type - https://codepen.io/lowbatteries/full/qBEyXEP */
.tileNav li
{
	min-height: calc(180px + (275 - 180) * ((100vw - 320px) / (1440 - 320)));
}

@media screen and (min-width: 1440px)
{
	.tileNav li
	{
		min-height: 275px;
	}
}

.tileNav li .image
{
	position: absolute;

	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;

	overflow: hidden;

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

	background: #333333;
}

.tileNav li .image img
{
	min-height: 100%;
	min-width: 100%;
	transition: all 300ms;
	display: block;
}

.tileNav li a:hover,
.tileNav li a:focus
{
	color: white;
}

.tileNav li a:hover .image img,
.tileNav li a:focus .image img
{
	opacity: .33;
}

@media (max-width: 1000px)
{
	.tileNav li
	{
		width: calc(50% - 15px);
	}
}

@media (max-width: 600px)
{
	.tileNav li
	{
		width: 100%;
		margin-bottom: 10px;
	}
}

.tileNav .more
{
	position: absolute;
	bottom: 19px;
	right: 23px;
	color: #ff7932;
}

#bannerMessage
{
	background: rgba(255,255,255,.8);
	padding: 63px 32px;
	width: calc(100% - 17px - 5vw);
	max-width: 750px;
	box-sizing: border-box;
	margin: 30px 0 0;

	font-size: 20px;

	color: #333;
}

#bannerMessage p
{
	margin: 0;
}

#bannerMessage h2
{
	font-size: 1.8em;
	line-height: normal;
	margin: 0 0 20px 0;
	padding-top: 0;
}

#banner .xrefMultimediaList
{
	margin: 20px 0 0;
}

#banner .xrefMultimediaList li div:not(.photo)
{
	display: none;
}

#banner .xrefMultimediaList ul,
#banner .xrefMultimediaList li
{
	border: 0;
	padding: 0;
	margin: 0;
}

@media (min-width: 925px)
{
	#bannerMessage h2
	{
		max-width: 240px;
	}

	#bannerMessage
	{
		position: relative;
		padding-right: 370px;
	}

	#banner .xrefMultimediaList
	{
		position: absolute;
		top: 60px;
		bottom: 60px;
		right: 0;
		width: 313px;
		box-sizing: border-box;
		padding: 0;
		margin: 0;

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

		overflow: hidden;
	}

	#banner .xrefMultimediaList .photo
	{
		width: 313px;
		height: 200px;

		box-sizing: border-box;
		overflow: hidden;
		position: relative;
	}

	#banner .xrefMultimediaList .photo a
	{
		width: inherit;
		height: inherit;
	}

	#banner .xrefMultimediaList .photo::after
	{
		content: '';

		position: absolute;
		bottom: 12px;
		right: 45px;
		top: 0;
		left: 0;

		border: solid #58c2e3;
		border-width: 0 1px 1px 0;

		pointer-events: none;
	}

	#banner .xrefMultimediaList .photo::before
	{
		content: '';
		position: absolute;
		bottom: 34px;
		right: 0;
		width: 81px;
		height: 65px;

		background: #ff7932;

		z-index: 1;

		pointer-events: none;
	}

	#banner .photo .triggerPopupPlayer:before,
	#banner .photo .triggerPopupPlayer:after
	{
		font-size: 37px;
		filter: none;
		right: 22px;
		bottom: 47px;

		z-index: 2;
	}

	#banner .xrefMultimediaList div.photo img
	{
		width: auto;
		position: absolute;
		right: 32px;
	}
}

@media (min-width: 1125px)
{
	body.aboutLanding #banner
	{
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;

		padding-bottom: 60px;
		padding-top: 60px;
	}

	#bannerMessage
	{
		align-self: flex-end;
		margin-top: 0;
	}
}

/* Edit icons -----------------------------------------------> */

/* hopefully this makes it so edit icons don't keep getting messsed up  */

.sp_pencil,
.sp_pencil img
{

	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: normal !important;

	background: none !important;
	border: none !important;

	flex-grow: initial !important;
	flex-shrink: initial !important;
	flex-basis: initial !important;
	align-items: start;
}

.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;
		print-color-adjust: exact;
	}

	p a,
	a
	{
		color: black;
		text-decoration: underline;
	}

	.mobile,
	#siteSearch,
	.view_more,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink,
	#subNav,
	#cookiePopup,
	#jumpContent,
	#jumpMenu,
	#mainNav,
	#searchJump,
	#footer,
	.animPagers,
	#banner h1::before,
	#homeAnimation .title::before,
	#homeSpot .homeMore,
	#navToggle,
	#jumpPage
	{
		display: none!important;
	}

	body,
	#content
	{
		position: relative!important;
		width: 100%!important;
		background: none!important;

		/* cancel out flexbox and float */
		display: block;
		float: none;
	}

	body
	{
		padding: 0;
	}

	#subContent img,
	#mainContent img
	{
		max-width: 100%;
		height: auto;
	}

	.contentSection,
	.js #area_bio .results_list > li:nth-child(n+1),
	.js #industry_bio .results_list > li:nth-child(n+1),
	.js #office_bio .results_list > li:nth-child(n+1)
	{
		display: block!important;
	}

	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;
				color: black!important;
	}


	/*header*/

	#header
	{
		display: block!important;
		clear: both!Important;
		width: 100%;
		margin-top: 20px;
		margin-bottom: 20px;
		padding: 0;
	}

	#footer::before,
	#header::before,
	#mainNav ul+ul::before
	{
		display: none;
	}

	#logo
	{
		position: relative;
		top: 0px;
		left: 0px;
		z-index: 100;
		clear: both;
	}

	#banner
	{
		position: relative;
		width: 100%!important;
		height: auto!Important;
	}

	img
	{
		page-break-inside: avoid;
	}

	/*two column*/

	#mainContent:not(:only-child)
	{
	    float: right;
	    width: 65%;
	}

	#subNav,
	#subContent
	{
	    float: left;
	    clear: left;
	    width: 30%;
	}

	/*home page*/

	#homeAnimation,
	#index #homeAnimation
	{
		height: 100%!important;
		width: 100%!important;
		clear: both!important;
		border-top: 1px solid #ccc!important;
		border-bottom: 1px solid #ccc!important;
		background: #ededed!important;
		padding-left: 20px!Important;
		-webkit-print-color-adjust: exact!important;
        color-adjust: exact!important;
	}

	#homeAnimation .title,
	#homeAnimation .abstract
	{
		display: block!important;
		clear: both!important;
		color: black;
	}

	#homeAnimation li.current,
	#homeAnimation li
	{
		display: block!important;
		position: relative;
		background-image: none;
		background-color: none;
		height: auto!important;
		min-height: 0!important;
		clear: both!important;
		left: 0;
	}

	#homeAnimation li
	{
		display: none!important;
	}

	#index #mainContent,
	#mainContent
	{
		display: block;
		left: 0;
		width: 100%!important,

	}

	#index #content,
	#index #homeAnimation
	{
		clear: both!important;
		min-height: auto!important;
		display: block!Important;
		position: relative!important;
		width: 100%!important;
		animation: none!important;

	}


	#homeAnimation .image
	{
		display: none!important;
	}

	#homeAnimation .title
	{
		position: relative;
		display: block;
		margin-top: 90px;
		margin-bottom: 60px;
	}

	#banner,
	#homeAnimation li
	{
		padding-left: 0!important;
	}

	#homeAnimation > li:not(:first-child)
	{
		display: none;
	}

	/*Banners*/

	#banner
	{
		display: block!important;
		clear: both!important;
		width: 100%;
		padding-left: 20px!important;
		margin-left: 0!important;
		border-top: 1px solid #ccc!important;
		border-bottom: 1px solid #ccc!important;
		background: #ededed!important;
		color: black!important;
		-webkit-print-color-adjust: exact!important;
        color-adjust: exact!important;
	}

	#banner *
	{
		color: black;
	}

	#banner + #content
	{
		min-height: 0;
	}

	#bannerContent

	{
		position: static;
	}

	#banner #pageTitle

	{
		text-shadow: none;
	}

	img#bannerImage
	{
		position: static;
		width: 100%;
		height: auto;
	}

	#banner::before, #banner::after
	{
		display: none!important;
	}

	/*main content*/

	#content,
	#homeAnimation
	{
		clear: both;
		min-height: 100%!important;
		display: block!Important;
	}

	.contentSection .sectionTitle,
	.contentSection .itemSection,
	.contentSection .itemSection p,
	.contentSection .itemSection ul
	{
		display: block!important;
	}

	/*column lists*/

	#homeSpot ul.results_list,
	#lowerHighlight ul,
	.newsroomList ul.results_list
	{
		clear: both!important;
		display: block!important;
		width: 100%!important;
		margin-left: 0;
		position: relative;
		border: none!Important;
		border: none!Important;
		padding-bottom: 40px;
	}

	#homeSpot ul.results_list li,
	#lowerHighlight ul li,
	.newsroomList ul.results_list li
	{
		width: 30%!important;
		position: relative!important;
		float: left!important;
		margin-right: 0px!important;
		margin-left: 0!important;
		display: block!Important;
		border: none!Important;
		padding: 15px!important;
	}

	#homeSpot
	{
		clear: both!important;
		display: block!important;
		width: 100%!important;
		margin-left: 0;
		position: relative!important;
		border: none!Important;
		padding-bottom: 40px;
		min-height:270px!important;
		animation: none;
		left: 0;
		opacity:1!important;
	}

	#homeSpot > div,
	.newsSpot,
	.eventSpot,
	.publicationSpot

	{
		display: block!Important;
		position: relative!important;
		width: 31%!important;
		float: left!important;
		margin-right: 15px!important;
		margin-left: 0!important;
		opacity:1!important;
		padding: 15px!important;
		border: 1px solid #ccc!important;
		animation: none;
		min-height:270px!important;
		left: 0!important;
	}

	#homeSpotWrapper
	{
		display:block!Important;
		position:relative!important;
		left:0!important;
		width:100%!important;
		animation:none!important;
		min-height:100%!important;
	}

	#homeSpot > div:last-child
	{
		margin-right: 0!important;
	}

	#homeSpot h3 a
	{
		text-decoration: none!important;
	}

	#homeSpot a
	{
		text-decoration: none!important;
	}

	/*email*/

	.email a:after /* This will make the actual email address appear if needed */
	{
		content: "["attr(href)"]"!important;
	}

	.email, .vcard
	{
		display: none;
	}

	/*full width*/

	html.fullScale #content
	{
		display: block;
		position: relative;
	}

	html.fullScale #content
	{
		display: block;
		position: relative;
		min-height: none!important;
	}

	.fullScale #banner::before,
	.fullScale #banner::after
	{
		display: none;
	}

	.search_form,
	.letterLinks
	{
		display: none;
	}

	/*people bio*/

	#bioList a
	{
		text-decoration: none!important;
	}

	.bioList .results_list > div
	{
		position: relative;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		width: 100%;
		clear: both;
	}

	.bioList .results_list > div .phone a
	{
		position: relative;
		padding: 0!important;
	}

	/*bio detail*/

	#tabLinks
	{
		display: none!important;
	}


	#bioAccessories
	{
		display: none;
	}

	.people-item #banner
	{
		display: block!important;
		clear: both!important;
		height: auto!important;
		min-height: 0!important;
		float: left!important;
		background-color:ededed!important;
		border-top: 1px solid #ccc!important;
		border-bottom: 1px solid #ccc!important;
		left: 0!Important;
		width: 100%!Important;
		max-height: 340px!Important;
		position: relative!important;
		-webkit-print-color-adjust: exact!important;
        color-adjust: exact!important;

	}

	#bioPhoto
	{
		display: block!important;
		width: 33%;
		margin-right: 30px!important;
		float: left;
		margin-top: 0px!important;
		margin-right: 20px!important;
		position: relative!Important;
		display: block!Important;
		margin-left: 0!important;
		padding-left: 0!Important;
		padding-right: 0!important;
		left: 0!Important;
		overflow: hidden;
		margin-bottom:30px!important;

	}

	.people-item #bioInfo
	{
		display: block;
		width: 60%!important;
		padding-right:0!Important;
		float: left!important;
		margin-left: 0px;
		padding-left:20px;
		height: auto;
		width: auto;
	}

	#bioPhoto img
	{
		margin-left: 0;
		width: auto;
		margin-right: 20px;
	}

	#bioOffice .title a
	{
		text-decoration: none;
	}

	.people-item #bioHeader
	{
		display: block!important;
		min-height: 0!important;
		clear: both!important;
		max-height: 340px!Important;
		width: 100%!Important;
	}

	#subContent .itemSection p,
	#subContent .itemSection ul,
	#subContent .itemSection .results
	{
		display: block!important;
	}

	#subContent .itemSection p,
	#subContent .itemSection ul,
	#subContent .itemSection .results
	#subContent .itemSection .results_list
	{
		display: block!important;
		width: 100%;
		position: relative!important;
		height: auto!important;
		overflow: visible!important;
		max-height: auto!important;
		min-height: auto;
	}

	.listColumn button,
	.expandableHeading button::after
	{
		display: none!important;
	}

	.people-item #content #contentSection,
	#Recognitions-tab,
	#Thoughtleadership-tab,
	.expandableList .results_list > li:nth-last-child(n+5)~li:nth-child(n+4)
	{
		display: block!important;
	}

	.people-item #expandableList .results_list
	{
		overflow: visible!important;
		display: block!important;
	}

	#expandableList button.toggleExpand,
	.expandableList .toggleExpand
	{
		display: none!important;
	}

	/*practices*/

	#practiceList
	{
		margin-top: 20px;
		display: block!Important;
		justify-content: left;
	}

	#practiceList > div
	{
		display: block;
	}

	#practiceList .hierList
	{
		display: block!important;
		margin-top: 14px;
		text-decoration: none!Important;
	}

	.listColumn button,
	.expandableHeading button::after
	{
		display: none;
	}

	#practiceList .listColumn
	{
		display: block;
		width: 47%!important;
		float: left;
		margin-right: 10px;
		text-decoration: none!Important;
	}

	#areaExpanders
	{
		display: none;
	}

	#practiceList .listColumn a
	{
		text-decoration: none!Important;
	}

	.listColumn > ul > li
	{
		padding-left: 0!important;
	}

	.Overview-tab .itemSection p,
	.Overview-tab .itemSection ul
	{
		display: block!Important;
	}

	#subContent .expandableList,
	#area_event
	{
		display: block!Important;
	}

	#Directions-tab
	{
		display: none;
	}

	.offices-item .subNavList,
	#office_map
	{
		display: none!important;
	}

	.offices-item #mainContent:not(:only-child),
	.offices-item #mainContent
	{
		display: block;
		position:relative;
		clear: both!important;
		float: left!important;
		width: 100%!important;
		left: 0;
	}

	.offices-item #Attorneys-tab,
	.offices-item #Overview-tab,
	.offices-item #Events-tab,
	#Overview-tab,
	#officeAddress,
	#item_bio
	{
		display: block!important;
		position: relative;
		clear: both;
		width: 100%!important;
		overflow: visible!important;
		height: auto;
		min-height:auto;
	}

	/*about us */

	.tileNav
	{
		display: none!important;
	}

	.about #subNav
	{
		display: none!important;
	}

	.about #mainContent

	{
		width: 100%!important;
	}

	#pdfLink
	{
		display: none;
	}

	/*search*/

		.search_form, form
	{
		display: none;
	}

	/*form*/

	#loginForm, .stndForm
	{
		display: none;
	}

	.expandableList .results_list
	{
		overflow: visible;
		clear: both;
		display: block;
	}

	/*blogs and insights*/

	.newsColumns
	{
		clear: both!important;
		display: block!important;
		width: 100%!important;
		margin-left: 0;
		position: relative;
		border: none!Important;
		padding-bottom: 40px;
		animation: none;
		left: 0;
	}

	.newsColumns > li
	{
		width: 31%!important;
		float: left!important;
		margin-right: 10px!important;
		margin-left: 0!important;
		display: block!Important;
		padding: 15px!important;
		border: 1px solid #ccc!important;
		animation: none;
		left: 0;
	}


	.newsColumns .results_list > li,
	.newsColumns .results_list > li > a
	{
		display: block;
	}
	.newsColumns:after,
	.newsColumns > div:only-child ul.results_list:after
	{
		display: block;
		width:100%;
	}

	.newsColumns h2
	{
		font-size:28px;
	}


	#Blog-tab a, ul.subNavList a, h2.sectionTitle
	{
		font-size: 28px;
		padding-left: 0!Important;
	}
	.practices-item  #Blog-tab
	{
		display: none;
	}

	/*careers*/


	.itemSection p,
	.itemSection ul,
	.itemSection li
	{
		display: block!important;
	}

	#careers .careerHover
	{
		display: block!important;
		width: 100%;
		clear: both;
	}

	/*hide side nav on select pages*/

	#newsroom-pressreleases #mainContent,
	#newsroom-mentions #mainContent,
	#newsroom-awards #mainContent,
	#newsroom-media #mainContent,
	#newsroom-video #mainContent,
	#diversity-color #mainContent,
	#diversity-leadership #mainContent,
	#diversity-women #mainContent,
	#diversity-veterans #mainContent,
	#diversity-groups #mainContent,
	#publications-blogs #mainContent,
	#publications-multimedia #mainContent,
	#publications-articles #mainContent,
	#publications-books #mainContent,
	#careers-staff #mainContent,
	.careers-item #mainContent,
	#careers-lawstudents #mainContent,
	#careers-associate #mainContent,
	#careers-staff #mainContent
	{
		display: block;
		width: 100%!important;
	}

	#newsroom-pressreleases #subContent,
	#newsroom-mentions #subContent,
	#newsroom-awards #subContent,
	#newsroom-media #subContent,
	#newsroom-video #subContent,
	#diversity-color #subContent,
	#diversity-leadership #subContent,
	#diversity-women #subContent,
	#diversity-veterans #subContent,
	#diversity-groups #subContent,
	#publications-blogs #subContent,
	#publications-multimedia #subContent,
	#publications-articles #subContent,
	#publications-books #subContent,
	#careers-staff #subContent,
	.careers-item #subContent,
	#careers-lawstudents #subContent,
	#careers-associate #subContent,
	#careers-staff #subContent
	{
		display: none!important;
	}

	#contentMenuWrapper,
	#contentMenuBottom,
	#contentMenuTextBox
	{
		display: block;
		left: 0;
	}

	#probono .sideStaticText img
	{
		max-width: 100%;
	}

	#navTriggers
	{
		display:none;
	}

}

/* END PRINT CSS -------------------------------------------------> */
