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

/*

Roboto - 'Roboto'
Roboto condensed - 'Roboto-Condensed'

Available weights:

100 Thin
300 Light
400 (normal) Normal
500 Medium
700 (bold) Bold
900 Black



*/

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

	/* bug 18870 -> https://home.firmseek.com/mwiki/index.php/IE_Page_Transition_Flicker */
	/* additional anti-flicker for IE, supports BlendTrans in the head */
	-ms-filter:"Alpha(opacity=99)";
	filter:progid:Alpha(opacity=99);
	zoom: 1;

	overflow-x: hidden;

	--link-color: #3874a8;
}

body
{
	position: relative;
	/*max-width: 1520px;*/
	margin: 0 auto;
	padding: 0 15px 0 15px;
	font: normal 14px Verdana, sans-serif;
	color: #333333;
	line-height: 22px;
	background: #EAEAEA;
}

@media (min-width: 1350px)
{
	body
	{
		padding: 0 54px;
	}
}

p
{
	margin: 0 0 1em 0;
}

sup, sub
{
   line-height: 0;
}

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

a
{
	color: var(--link-color);
	text-decoration: none;
	/*outline: none;*/
}

a:hover
{
	text-decoration: underline;
}

#experienceButton a,
div#pageTitleLikeH1,
h1, h2, h3, h4, h5, h6
{
	margin: 0 0 .5em 0;
	padding: 0;
	color: #00446a;
	line-height: normal;

	font-family: 'Roboto-Condensed', sans-serif;
	font-weight: 400;
}

h1, 
div#pageTitleLikeH1,
.newsevents-events h2.subtitle
{
	color: #000000;
	margin-bottom: 15px;
	font-size: 28px;
	font-family: 'Roboto-Condensed', sans-serif;
}

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

#homeAnimation .image::after,
#homeAnimation #pager::before,
#lowerFooter::before,
#homePageContent::before,
#footer::before,
#cookieBanner::before,
#lawyerSearch::before,
#otherProfessionals::before,
body.services-item #bannerSubContent::before,
#content #tabLinks::before,
#bannerContent .subNavList::before,
body.people-item #bannerContent::before,
.offices-item #bannerContent::before,
#area_subareas::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;
}


#bannerContent #pageTitle,
#bannerContent div#pageTitleLikeH1
{
	color: #DCFA8F;

	padding: 0;
	margin: 0;
	font-weight: 700;
	font-size: clamp(28px, 40/1600 * 100vw, 40px);
}

#bannerContent #pageTitle strong,
#bannerContent div#pageTitleLikeH1 strong
{
	color: white;
	font-weight: inherit;
}

#bannerContent
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	/*justify-content: center;*/

	min-height: 400px;

	margin-bottom: 72px;

	position: relative;
	text-shadow: 0 3px 6px rgba(0,0,0,.16);
	font-size: clamp(17px, 22/1600 * 100vw, 22px);
	font-weight: 500;
}

#bannerText
{
	position: relative;
	z-index: 10;
	width: 100%;
	padding-top: 100px;
	margin: 0 auto;
	color: #ffffff;
	line-height: 1.4;
}

#bannerText h1#pageTitle,
#bannerText div#pageTitleLikeH1,
#bannerText #bannerBlurb
{

	max-width: 600px;
	text-align: center;
	margin: 0 auto;
}

#bannerText h1#pageTitle em strong,
#bannerText div#pageTitleLikeH1 em strong
{
	font-style: normal;
	color: #ffffff;
}

#bannerImage
{
	display: block;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	height: 100%;
	width: 100vw;
	z-index: -1;
}

@media (min-width: 768px)
{
	#bannerText
	{
		padding-top: 30px;
	}
}


#bannerContent #pdfLink,
#sharebox
{
	position: absolute;
	bottom: 0;
	right: 112px;
	z-index: 10;

	color: white;
	font-size: 12px;
	text-transform: uppercase;

	line-height: 33px;
	padding: 0 45px 0 0;

	background: url(../i/white-box.png) bottom right no-repeat; /* data-uri */
}

body:not(.people-item):not(.services-item-parent).hasTablinks #bannerContent #pdfLink,
body:not(.people-item):not(.services-item-parent).hasTablinks #sharebox
{
	bottom: 50px;
}

@media (max-width: 1023px)
{

	body.careers #bannerContent #pdfLink,
	body.careers #sharebox
	{
		bottom: -40px;
		color: #333333;
	}
}

#sharebox
{
	right: 0;
}

#sharebox #shareButtonsHidden
{
	position: absolute;
	top: 33px;
	left: -10px;
	z-index: 1;

	width: 88px;
	padding: 4px;
	border: 1px solid #022441;
	border-top: 0;
	background: white;
	text-transform: none;
}

#sharebox #shareButtonsHidden,
#sharebox #shareButtonsHidden li
{
	display: block;
	margin: 0;
	list-style-type: none;
}

#sharebox #shareButtonsHidden li
{
	position: relative;
	padding: 0 5px;
	margin: 5px 0;
	color: #000;
}

#sharebox #shareButtonsHidden li a *
{
	float: none;
}

#sharebox #shareButtonsHidden li a:after
{
	position: absolute;
	top: 2px;
	left: 25px;
}

#sharebox #shareButtonsHidden li#share_0 a:after { content: "Facebook"; }
#sharebox #shareButtonsHidden li#share_1 a:after { content: "Twitter"; }
#sharebox #shareButtonsHidden li#share_2 a:after { content: "LinkedIn"; }
#sharebox #shareButtonsHidden li#share_3 a:after { content: "Email"; }

#bannerContent #pdfLink:after,
#sharebox:after
{
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	margin: 0;
	padding: 0;
	width: 33px;
	height: 33px;

	content: '';
	background: url(../i/print.png) 50% 50% no-repeat; /* data-uri */
}

#sharebox:after
{
	background-image: url(../i/share.png); /* data-uri */
}

#experienceButton a,
h2
{
	margin: 1.5em 0 1em 0;

	font-size: 20px;
	color: black;
}

#experienceButton a,
#subContent h2
{
	text-transform: uppercase;
	font-size: 18px;
	padding-bottom: 5px;
	border-bottom: 1px solid #b62e2c;
	font-weight: 700;
}

#bannerContent .subNavList
{
	position: absolute;
	bottom: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 100px;
	margin: 0;
	list-style: none;
}

#bannerContent .subNavList::before
{
	border-top: 1px solid rgba(255,255,255,.43);
	background: rgba(0,0,0,.46);
}

#bannerContent .subNavList li
{
	margin: 0;
	color: #CCCCCC;
	text-transform: uppercase;
	font-size: clamp(14px, 20/1600 * 100vw, 20px);
	font-weight: 700;
	font-family: 'Roboto-Condensed';
}

#bannerContent .subNavList li:not(:last-child)
{
	margin-right: clamp(30px, 70/1600 * 100vw, 70px);
}

#bannerContent .subNavList li a:not(:hover):not(:focus)
{
	color: inherit;
}

#bannerContent .subNavList li.here
{
	color: #DCFA8F;
}

h3
{
	margin: 25px 0 10px;
	color: #000;
	font-size: 18px;
	font-weight: 400;
}

#subContent h3
{
	font: inherit;
	margin-top: 1em;
}

h4
{
	text-transform: uppercase;
}

h5
{
	padding: 5px 0 5px 0;
	font-size: 125%;
}

/* Reserved for Print Pilot */
h6
{
	font-weight: 700;
	font-size: 100%;
}

ul
{
	padding: 0;
	margin: 0 0 0 9px;
	line-height: 16px;
}

ul li
{
	padding: 0;
	margin: 0;
	line-height: 16px;
}

ul li ul
{
	padding: 0;
	margin: 8px 0 0 0;
	line-height: 16px;
}

ul li p
{
	margin: 0;
	padding: 3px 0 2px 0;
	line-height: 22px;
}

blockquote blockquote
{
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

img
{
	border: 0;
}

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

/* Pages with custom fonts */

/* first paragraph of content is bolded - pencil icon prevents :first-child */
/*
#tab-overview .staticList:first-child > p:first-child,
#tab-profile .staticList:first-child > p:first-child
{
	font: 20px/32px 'Roboto', sans-serif;
	color: #000000;
}
*/

.js #secondaryPubs
{
	display: none;
}

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

#header
{
	position: absolute;
	left: calc(50% - 50vw);
	z-index: 9999;
	width: 100vw;
	height: 200px;
	padding: 20px 20px 0;
	background: linear-gradient(to bottom, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 100%);
	box-sizing: border-box;
}

/*#header a
{
	text-decoration: none;
	color: #fff;
}*/

#logo
{
	width: 40%;
	max-width: 261px;
}

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

#topLinks
{
	width: 60%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 15px;

	text-transform: uppercase;
}

#topLinks li a
{
	color: #CCCCCC;
}

#topLinks li
{
	margin: 0 0 8px;
}

#topLinks li:not(:last-child)
{
	margin-right: 20px;
}

#legalAlliance
{
	position: absolute;
	bottom: 50px;
	right: 0;
}

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

/*
	how these content jumps should work on desktop:

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

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

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

	background: white;
}

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

#searchJump
{
	width: 24px;
	height: 24px;
	fill: #ffffff;
}

@media (min-width: 768px)
{
	#topLinks
	{
		position: absolute;
		right: 15px;
		top: 50px;
		width: auto;
	}

	#legalAlliance
	{
		position: static;
	}
}

@media (min-width: 920px)
{

	#topLinks
	{
		position: absolute;
		right: 40px;
		width: auto;
	}
}

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

	#topLinks
	{
		top: 3px;
		right: 102px;
	}

	#searchJump
	{
		position: absolute;
		top: 36px;
		right: 52px;
	}
}


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

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

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

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

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

#mainNav li > a
{
	display: block;
	padding: 10px calc(16px + (24 - 16) * ((100vw - 1350px) / (1920 - 1350)));
}

#mainNav li li:hover > a,
html[data-whatintent="keyboard"] #mainNav li li:focus-within > a
{
	/* using data-whatintent, because some browsers don't understand focus-within */
	/*background: #aaa;
	color: white;*/
	color: #70c1ef;
	/*text-decoration: underline;*/
}

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

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

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

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

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

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

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


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

@media (min-width: 1350px)
{
	#mainNav
	{
		display: flex;
		position: absolute;
		z-index: 9999;
		top: 88px;
		right: 27px;

		transition: right 300ms;
	}

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

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

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

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

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

		background: rgba(12,49,93,.95);
		padding: 10px 0 18px 0;
	}

	#mainNav > ul ul ul
	{
		background: rgba(34,70,109, .95);
	}

	#mainNav > ul > li > a
	{
		padding-bottom: 20px;
		white-space: nowrap;
		font-size: 21px;
		font-family: 'Roboto-Condensed';
		font-weight: 700;
	}

	#mainNav > ul:first-of-type > li > a
	{
		text-transform: uppercase;
	}

	#mainNav > ul > li > a:hover,
	#mainNav > ul > li > a:focus,
	#mainNav > ul > li.current > a
	{
		background: none;
		color: #6ab7e5;
	}

	/*#mainNav > ul > li.current > a::after,
	#mainNav > ul > li > a:hover::after,
	#mainNav > ul > li > a:focus::after
	{
		content: '';

		height: 2px;
		background: white;

		position: absolute;
		bottom: 0;

		left: calc(16px + (24 - 16) * ((100vw - 1350px) / (1920 - 1350)));
		right: calc(16px + (24 - 16) * ((100vw - 1350px) / (1920 - 1350)));

		z-index: 99999999;
	}*/

	/* second-level links */
	#mainNav li li > a
	{
		font-size: 15px;
		color: #ffffff;
	}

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

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

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

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

		top: 0;
		left: 100%;
	}

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

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

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

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

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

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

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

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


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

	button#navToggle
	{
		display: none;
	}


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

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

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

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

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

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

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

	#mainNav #navButton-people > ul
	{
		width: 750px;
	}

	#navButton-people .megaMenu
	{
		position: absolute;
		right: 30px;
		bottom: 10px;
		z-index: 10;
	}

	#menuLetterLinks
	{
		margin-bottom: 20px;
		font-size: 18px;
		color: #cecece;
	}

	#menuLetterLinks a
	{
		color: #ffffff;
	}

	#navButton-people .megaMenu form > div
	{
		flex-wrap: nowrap;
	}

	#navButton-people .megaMenu form > div > div
	{
		width: calc((100%/3) - 20px);
	}

	.megaMenu form > div > div > label
	{
		font-size: 18px;
		color: #ffffff;
	}

	.megaMenu form > div > div input
	{
		color: #ffffff;
	}

	#mainNav ul ul li > a:first-child:not(:last-child)
	{
		position: relative;
		padding-right: 60px;
	}

	#mainNav ul ul li > a:first-child:not(:last-child)::after
	{
		content: '›';
		position: absolute;
		top: calc(50% - 11px);
		right: 20px;
		font-size: 28px;
		font-weight: 200;
	}

}

@media (min-width: 1600px)
{
	#mainNav
	{
		right: 252px;
	}
}

/* @media (min-width: 1840px)
{
	#mainNav
	{
		top: 35px;

		left: 400px;
		right: auto;
	}
} */

@media (min-width: 1920px)
{
	#mainNav li > a
	{
		padding: 10px 24px;
	}
}

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

@media (max-width: 1349px)
{
	#mainNav,
	#mainNav li ul
	{
		position: fixed;
		display: block;
		visibility: hidden;
		z-index: 9998;
		top: 0;
		right: -100vw;
		left: auto;
		width: 100vw;
		
		height: 100vh;                 /* fallback */
  		height: 100dvh;                /* override when supported */
  		min-height: -webkit-fill-available; /* helps some Safari versions */
  		
  		
		padding: 160px 48px 10px;
		background: #141414;
		box-sizing: border-box;
		box-shadow: 0 0 200px 15px rgba(0,0,0,.8);
		transition: right 0.7s;
	}

	#mainNav
	{
		overflow: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		
		
	}

	#mainNav::before
	{
		display: none;
	}

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

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

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

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

	#mainNav ul,
	#mainNav li
	{
		display: block;
		margin: 0;
		padding: 0;
	}
	
	#mainNav ul
	{
		padding-bottom: 100px;
	}

	#mainNav > ul,
	#mainNav li ul
	{
		width: auto;
		margin-left: 60vw;
	}

	#mainNav a
	{
		color: #ffffff;
	}

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

	#mainNav > ul > li
	{
		margin: 0.8rem 0;
		font-size: 1.2rem;
		text-transform: uppercase;
	}

	#mainNav > ul > li:hover > a,
	html[data-whatintent="keyboard"] #mainNav > ul > li:focus-within > a
	{
		/* using data-whatintent, because some browsers don't understand focus-within */
		background: none;
		color: #cccccc;
	}
	
	#mainNav > ul ul
	{
		padding-bottom: 120px !important;
		overflow-y: scroll;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
	
	#mainNav > ul ul > li
	{
		font-size: 1rem;
		text-transform: none;
		line-height: 1.1;
	}

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

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

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

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


	/* Mobile Nav 'Hamburger' Button */

	button#navToggle,
	#searchJump
	{
		display: block;
		position: absolute;
		z-index: 9999;
		top: 20px;
		right: 40px;
		font-size: 0;
	}

	#searchJump
	{
		top: 22px;
		right: 100px;
	}

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

}

/* mobile stlyles cont. - for  smaller screens */
@media (max-width: 919px)
{
	#mainNav,
	#mainNav li ul
	{
		padding: 140px 16px 10px;
	}

	#mainNav > ul > li
	{
		font-size: 1.6rem;
	}

	#mainNav > ul ul > li
	{
		font-size: 1.5rem;
	}

	#mainNav li > a:first-child:not(:last-child)::after
	{
		top: 2px;
		font-size: 2.4rem;
	}

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

	button#navToggle
	{
		right: 12px;
	}

	#searchJump
	{
		right: 75px;
	}
}

@media (max-width: 767px)
{
	#mainNav > ul,
	#mainNav li ul
	{
		width: 100%;
		margin-left: 0px;
	}

	#mainNav,
	#mainNav li ul
	{
		padding: 160px 16px 10px;
	}

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




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

#content .subNavList
{
	padding: 0;
	margin: 0 0 2.5em 0;

	background: #ededed;
}

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

#content .subNavList > li
{
	padding: 0 13px;
	background: #dcddde url(../i/side-nav-bg.png) repeat-x; /* data-uri */
}

#content .subNavList a
{
	background: url(../i/side-nav-divider.png) top repeat-x; /* data-uri */

	display: block;
	padding: 7px 5px;
}

#content .subNavList li li a
{
	background-image: url(../i/side-subnav-divider.png); /* data-uri */
}

#content .subNavList li:first-child > a
{
	background: transparent;
}

#content .subNavList li > ul
{
	position: relative;
}

#content .subNavList > li > a
{
	color: #004b8d;
}

#content .subNavList li > ul li a
{
	color: #666666;
}

#content .subNavList li > ul:before
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;

	background: url(../i/side-nav-divider.png); /* data-uri */
}

#content .subNavList ul
{
	padding-left: 24px;
	margin: 0;
}

#content .subNavList ul a
{
	color: inherit;
	padding-left: 16px;

	position: relative;
}

#content .subNavList ul a:before
{
	content: '› ';
	position: absolute;
	top: 0;
	left: 5px;

	line-height: 30px;
	color: #004b8d;
}

li.here > a,
li.hereParent > a
{
	color: inherit !important;
}

#subButton
{
	margin-top: 3em;
	background: #022441 url(../i/white-arrow.png) right no-repeat;

	color: white;
	border: 20px solid #022441;
	border-width: 10px 20px;
	display: block;
}

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

#content
{
	display: flex;
	flex-direction: column;
	min-height: 350px;
	height: auto !important;
	max-width: 1420px;
	margin: 0 auto;
}

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

#mainContent
{
	padding: 0 0 20px 0;
	margin-bottom: 50px;
	order: 1;

	z-index: 1;
}

#mainContent:only-child
{
	width: 80%;
}

#mainContent > :first-child:not(div)
{
	margin-top: 0;
}

#subContent
{
	order: 2;
	margin-bottom: 50px;
}

#subContent,
#subContent li,
#subContent p
{
	line-height: 1.3 !important;
}

/* seeing if adding a > solves some problems */
#content > ul li,
#content #mainContent > ul li,
#content #subContent > ul li
{
	margin: 0 0 8px 13px;
	line-height: 16px;
}

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

body.fullWidth #content,
body.fullWidth #mainContent
{
	width: 100%;
	max-width: 100%;
	margin-bottom: 0;
	padding-bottom: 0;
}

@media (min-width: 920px)
{

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

	#mainContent
	{
		width: calc(68% - 50px);
		margin-right: 50px;
		order: 0;
	}

	body.fullWidth #mainContent
	{
		margin-right: 0;
	}

	#subContent
	{
		flex: 0 0 25%;
		margin-bottom: 100px;
	}
}

/* tabs */


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

#content #tabLinks
{
	position: relative;
	top: -50px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
	background: #E2E2E2;
}

#content #tabLinks li
{
	position: relative;
	padding: 0;
	margin: 0 clamp(30px, 70/1600 * 100vw, 70px) 0 0 !important;
}

#tabLinks li a
{
	display: block;

	padding: clamp(18px, 26/1600 * 100vw, 26px) 0;

	font-size: clamp(14px, 20/1600 * 100vw, 20px);
	font-family: 'Roboto-Condensed', sans-serif;
	color: #666666;
	text-transform: uppercase;
	font-weight: 700;
}

#tabLinks li.selected a
{
	color: #BD403E;
}

#tabLinks li.selected a::after
{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
}


@media (min-width: 920px)
{

	body.hasTablinks #content
	{
		position: relative;
		padding-top:52px;
	}

	#content #tabLinks
	{
		position: absolute;
		top: -50px;
		left: 0;
	}

	#content #tabLinks::before
	{
		width: 200vw;
		left: calc(50% - 50vw);
	}
}

div.gm-style-iw > div
{
	overflow: hidden !important;
}

.js #tabContent > div
{
	display: none;
}

.js #tabContent > .selected
{
	display: block;
}

#tabContent > div > :first-child,
#tabContent > div > :first-child > h2:first-child,
#tabContent > div > :first-child .results_list
{
	margin-top: 0;
}

/* h6 expandos */
.js #mainContent h6 ~ ul,
.js #mainContent h6 ~ div,
.js #mainContent h6 ~ p
{
	   /* display: none;*/
}

#mainContent h2.expandableHeading + ul,
#mainContent h2.expandableHeading + div,
#mainContent h2.expandableHeading + p
{
		margin: 14px 0;
}


/*#mainContent h6,*/
h2.expandableHeading
{
		display: block !important;
		position: relative;
		margin: -1px 0 0 0;
		padding: 9px 0 9px 0;
		border-top: 1px solid #e7e7e7;
		border-bottom: 1px solid #e7e7e7;
		cursor: pointer;
		padding: 5px 0 5px 0;
		font-size: 125%;
		color: #00446a;
		line-height: normal;
		font-family: 'Roboto-Condensed', sans-serif;
		font-weight: 400 !important;
}

/*#mainContent h6:after,*/
h2.expandableHeading:after
{
		position: absolute;
		right: 0px;
		content: url('../i/service-toggle-plus.png'); /* data-uri */
		padding: 0px 6px 0px 8px;
}

/*#mainContent h6.expanded:after,*/
h2.expandableHeading.collapsed:after
{
		content: url('../i/service-toggle-minus.png') !important; /* data-uri */
}

#mainContent #quotesList
{
	margin-top: 18px;
}


/* banner sub content */
#bannerSubContent
{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	margin: 170px auto 0;

	/*position: absolute;
	height: 371px;
	bottom: 0;
	right: 0;*/
}

#bannerSubContent h1#pageTitle
{
	width: 100%;
	text-align: center;
	padding-bottom: 30px;
}


#bannerSubContent > div
{
	max-width: 324px;
	float: left;

	-moz-box-sizing: border-box;
	box-sizing: border-box;

	padding: 25px 32px;

	background: url('../i/banner-trans.png') repeat; /* data-uri */

	color: white;
}

#bannerSubContent > div ~ div
{
	margin-left: 14px;
}

/* the last banner div has a dark background */
#bannerSubContent #bannerMedia + div,
#bannerSubContent > div + div + div
{
	padding: 30px;
	background: #012441 url(../i/banner-pattern.png);
	width: 325px;
}

/* don't use the banner-pattern if there is a background image */
#bannerImage + #bannerSubContent #bannerMedia + div,
#bannerImage + #bannerSubContent > div + div + div
{
	background-image: none;
}

#bannerSubContent #bannerMedia
{
	max-width: 662px;
	width: 100%;
	/*padding: 35px 40px;*/
	box-sizing: border-box;
}

#bannerSubContent #bannerMedia img
{
	float: left;

	width: 100%;
	max-width: 346px;
	height: auto;
}

#bannerSubContent h2
{
	margin: 0 0 20px 0;
	color: white;
}

#bannerSubContent h2 a
{
	color: inherit;
}

#bannerSubContent ul,
#bannerSubContent ul li
{
	margin-left: 0 !important;
}

#bannerSubContent form > div
{
	display: block;
}

#bannerSubContent ul li
{
	position: relative;
	padding: 0 0 0 12px;
	margin-bottom: 20px !important;
	list-style: none;
}

#bannerSubContent ul li a:not(.sp_pencil)
{
	font-size: 13px;
	line-height: 16px;
	color: #FFFFFF;
}

#bannerSubContent ul li:before
{
	content: url('../i/list-arrow-white.png'); /* data-uri */
	position: absolute;
	top: -1px;
	left: 0;
}

#bannerSubContent .newsSpot
{
	padding: 17px 18px;
	position: relative;
	font-size: 16px;
}

#bannerSubContent .newsSpot:before
{
	content: url('../i/red-arrow.png'); /* data-uri */
	position: absolute;
	top: 215px;
	left: 0;
}

#bannerSubContent .newsSpot > div + div
{
	padding-left: 6px;
}

#bannerSubContent .newsSpot .eventalt,
#bannerSubContent .newsSpot .itemdate
{
	color: #89a4c6;
}

#bannerSubContent .newsSpot .eventalt li
{
	margin: 0 !important;
	padding: 0;
}

#bannerSubContent .newsSpot .eventalt li:before
{
	content: '';
}

#bannerSubContent .newsSpot .spotimage
{
	height: 195px;
}

#bannerSubContent .newsSpot a
{
	color: inherit;
	text-decoration: none;
}

@media (min-width: 920px)
{
	#bannerSubContent #bannerMedia,
	#bannerSubContent .newsSpot,
	#bannerSubContent #newsBanner
	{
		float: left;
		margin-bottom: 0;
	}

	#content,
	#bannerSubContent > div + div + div
	{
		clear: both;
	}

}

@media (min-width: 1024px)
{
	#bannerSubContent > div + div + div
	{
		float: left;
		clear: none;
		margin-bottom: 50px;
	}
}

@media (max-width: 1049px)
{


	#bannerSubContent #bannerMedia + div,
	#bannerSubContent > div + div + div,
	#bannerSubContent #bannerMedia
	{
		margin-left: 0;
	}
}

/* firm */

#bannerSubContent h1
{
	margin: 0 0 30px 0;
	color: #FFFFFF;
}

#videoContainer
{
	float: left;
	width: 346px;
	height: 226px;
	margin: 0 0 26px 0 ;
}

#mediaText
{
	margin-top: 10px;
}

#firm #mainContent ul li,
body#firm-university #mainContent ul li
{
	list-style-image: url('../i/red-arrows.gif'); /* data-uri */
}

body#firm #mainContent ul li p strong
{
	font-size: 18px;
}

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

#awardList .title
{
	margin: 30px 0 0 0;
	font-weight: 700;
	text-transform: uppercase;
}

body#firm-recognition #mainContent a
{
	color: #004b8d;
}


#quotesList ul,
#quotesList li
{
	margin-left: 0 !important;
	list-style: none !important;
}

#quotesList ul li
{
	position: relative;
	padding: 25px 0 32px 0;

	font: normal 16px/24px 'Roboto', sans-serif;
}

#quotesList li::before
{
	content: '';
	background: url('../i/quote-border.png') center no-repeat; /* data-uri */
	background-size: cover;
	height: 24px;
	width: 100%;
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
}

#quotesList cite
{
	font-style: normal;
}

#quotesList cite:before
{
	content: ' – ';
}

#firm-probono .sideStaticText p,
#firm-inclusivity .sideStaticText p,
#newsevents-news .sideStaticText p
{
	margin: 0;
}

#firm-probono .sideStaticText p ~p,
#firm-inclusivity .sideStaticText p ~ p
{
	color: inherit;
}

#firm-probono .sideStaticText p ~ p:after,
#firm-inclusivity .sideStaticText p ~ p:after
{
	content: '';
}

#firm-probono .sideContent ul,
#firm-probono .sideContent ul li
{
	margin-left: 0;
	list-style: none;
}

#shortAwardList .image
{
	float: left;
	margin: 0 15px 0 0;
}

#content #shortAwardList ul,
#content #shortAwardList ul li
{
	margin-left: 0;
	padding-left: 0;
	overflow: hidden;
}

#firm-probono .sideContent .subtitle
{
	font-size: 13px;
}

#firm-probono .sideContent .subtitle:after
{
	content: url('../i/list-arrow.gif'); /* data-uri */
	margin: 0 0 0 5px;
	position: relative;
	top: 2px;
}

/* services */



/* bios */

#hoverBox
{
	width: 410px;
	min-height: 168px;
	padding: 10px 15px;

	box-sizing: border-box;
	-moz-box-sizing: border-box;

	position: absolute;
	left:200px;
	z-index: 1;

	background: #062443;
	color: #ffffff;
}

#snippetTitle a
{
	font-size: 16px;
	color: inherit;
	text-decoration: none;
}

#snippetPhoto
{
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

#hoverBox dl
{
	overflow: hidden;
}

#hoverBox dl *
{
	float: left;
	margin: 0;
	padding: 0;
}

#hoverBox dt
{
	clear: both;
	width: 2em;
}

body.people-item
{
	/*background-image: url('../i/body-bg-bio.png');*/ /* data-uri */
}

body.people-item #bannerContent
{
	display: block;
	height: auto;
	padding-top: 200px;
	background: #053151
	/*background: #053151 url(../i/bio-banner-bg.jpg) right no-repeat;*/
}

#bioPhoto
{
	position: relative;
	display: block;
	width: 100%;
	max-width: 680px;
	height: auto;
	margin: 0 0 20px;
}

.people-item #subContent
{
	/*float: right;
	width: 280px;*/
}

.people-item #subContent div:first-child h2:first-child
{
	margin-top: 0;
}

.people-item #mainContent
{
	/*float: left !important;*/
}

.people-item #bannerContent
{

	/*background: #053151 url(../i/bio-banner-bg.jpg) right no-repeat;*/ /* data-uri */

	color: white;
}



#tabContent ul
{
	margin-left: 4px;
}

#tabContent ul li
{
	margin: 0 0 18px 12px !important;
	line-height: 22px;
}

#tabContent h2
{
	font-weight: 700;
}

#tabContent .selected
{
	display: block;
}

#bioInfo
{
	/*position: absolute;
	left: 721px;
	top: 56px;

	padding: 0;
	margin: 0;*/

	display: flex;
}

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

#bioInfo a
{
	width: 43px;
	padding: 37px 3px 6px;
	margin: 0 0 14px 0;

	background: #003d6d url(../i/bio-button-bg.png) repeat-x; /* data-uri */
	border: 1px solid #052a48;
	color: white;

	line-height: 12px;
	font-size: 10px;
	text-align: center;
	text-transform: uppercase;

	display: block;
	position: relative;
}

#bioInfo a:before
{
	position: absolute;
	top: 12px;
	left: 0;
	width: 100%;

	content: url(../i/email.png); /* data-uri */
}

#bioInfo a[href$=vcf]:before
{
	content: url(../i/vcard.png); /* data-uri */
}

#bioInfo #printPdf a:before
{
	content: url(../i/icon-bio-pdf.png); /* data-uri */
}

#bioInfo #briefPdf a:before
{
	content: url(../i/icon-bio-briefpdf.png); /* data-uri */
}

#bioInfo li + li + li + li a[href$=pdf]:before
{
	content: url(../i/print-bio-brief.png); /* data-uri */
}

#languagePDF
{
	position: absolute;
	bottom: -38px;
	right: 225px;
	font-weight: 700;
	font-color: #004b8d;
	font-size: 14px;
}

body.people-item #subContent > ul li,
body.people-item #subContent > .results ul li
{
	list-style: none;
}

#subContent .staticList ul,
#subContent .staticList li
{
	list-style-image: url('../i/list-square-bullet.gif'); /* data-uri */
}

#subContent .staticList ul
{
	margin-bottom: 1em;
}

#subContent .staticList li
{
	margin-left: 1.5em;
}

body.people-item #bio_industry ul li a,
body.people-item #bio_area ul li a
{
	color: inherit;
}

#bioOffices
{
	width: 194px;
	font-size: 12px;
}

#bioOffices h2
{
	margin: 0 0 0px 0;
	padding: 0;
	color: #2f87d0;
	font-size: 24px;
	font-weight: 400;
}

#bioOffices a
{
	color: white;
	font-weight: 700;
}

#bioOffices > div
{
	margin-top: 1em;
}

#bioOffices dl,
#bioOffices dl > *
{
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#bioOffices dl dt
{
	clear: both;
	float: left;
	width: 18px;
}

#bioOffices dl dd
{
	width: 176px;
	float: left;
}

@media (min-width: 1024px)
{

	body.people-item #content
	{
		position: relative;
	}

	body.people-item #bannerContent
	{
		display: block;
		height: 412px;
		background: #072442 url(../i/bio-banner-bg.jpg) center bottom no-repeat;
	}

	#bioPhoto
	{
		left: calc(50% - 502px);
	}

	#titleInfo
	{
		position: absolute;
		top: 350px;
		left: 10vw;
	}

	#bioInfo
	{
		position: absolute;
		right: 25vw;
		top: 240px;
		display: block;
	}

	#bioOffices
	{
		position: absolute;
		top: 240px;
		left: 75vw;
	}

}

/* hide any items after first 3 */

.js #bio_news .results_list > li:nth-child(n+4),
.js #bio_event .results_list > li:nth-child(n+4),
.js #bio_publication .results_list > li:nth-child(n+4)
{
	display: none;
}

#backLink
{
	font-weight: 700;
	margin-bottom: 14px;
}

#bioTitle
{
	padding: 0 0 10px 0;
}

#bioList
{
	margin-bottom: 100px;
}

#bioList .results_list > div
{
	position: relative;
	min-height: 46px;
	padding: 10px 15px 10px 15px;
	margin: 0 0 1px 0;
	overflow: hidden;
	background: #ececec;
	clear: both;
}

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

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



#bioList .results_list > div .position
{
	display: block;
	margin-right: 18px;
}



#bioList .results_list > div .email
{
	position: relative;
	width: 115px;
}

#bioList .results_list > div .email a:after
{
	content: url('../i/email-dark.png'); /* data-uri */
	position: absolute;
	top: 1px;
	left: 45px;
}


#bioList .results_list > div .phone
{
	width: 170px;
}

#bioList .results_list > div .fax
{
	display: none;
}

#bioList .results_list > div .vcard
{
	position: relative;
	width: 45px;
	text-align:right;
}

#bioList .results_list > div .vcard a:after
{
	content: url('../i/vcard.png'); /* data-uri */
	position: absolute;
	top: 1px;
	left: 50px;
}

#bioList .results_list > div .office
{
	width: 240px;
	padding: 4px 0 0 0;
}

#bioList .results_list > div .email a,
#bioList .results_list > div .vcard a,
#bioList .results_list > div .office a
{
	color: inherit;
}



#bioList .results_list > div .office ul li,
#bioList .results_list > div .office ul
{
	list-style: none;
	list-style-image: none;
	margin-left: 0 !important;
}

@media (min-width: 1100px)
{

	#bioList .results_list > div > div
	{
		float: left;
	}

	.bioList .results_list > div .startInline,
	#bioList .results_list > div .position,
	#bioList .results_list > div .title
	{
		width: 370px;
	}
}

div.listColumn
{
	width: 50%;
	float: left;
	margin-bottom: 1em;
}

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

div.listColumn ul.hierList li
{
	font-weight: 400;
}

div.listColumn ul
{
	border-right: 2em solid white;
}

div.listColumn ul ul
{
	margin: .25em 0;
	border-right: none;
}

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

div.itemRow div.title
{
	margin-top: 8px;
	margin-bottom: 0;
}

div.itemRow div.title p
{
	margin: 0;
	padding: 0;
}

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

.itemRowImg
{
	float: left;
	width: 110px;
	text-align: left;
}

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

#atic_auth,
#atic_auth + div
{
	display: none !important;
}

/* services */

.singleColumn > ul,
.singleColumn > ul > li
{
	margin-left: 0 !important;
	list-style: none;
}

.singleColumn > ul > li > a
{
	font-size: 16px;
	font-weight: 700;
	line-height: 30px;
	color: #000000;
}

.services-item #subContent h2:first-child
{
	margin-top: 0;
}

/* office listing */


#mainContent p + p strong
{
	font-family: inherit;
	font-weight: 700;
}

#contactOfficeList > div
{
	margin: 0 0 48px 0;
	overflow: hidden;
	line-height: 18px;

	font-size: 13px;
}

#contactOfficeList > div > div
{
	color: #58595b;
}

/*#contactOfficeList > .rowEnd
{
	margin: 0 !important;
}*/

#contactOfficeList h2
{
	padding: 0 0 5px 0;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #b62e2c;
}

#contactOfficeList h2 a
{
	font-size: 16px;
	color: #000000;
	text-transform: uppercase;
	text-decoration: none;
	font-weight: 700;
}

#officeBanner
{
	overflow: hidden;
	height: 256px;
	position: relative;
	margin-bottom: 40px;
}

#officePhoto
{
	max-width: 100%;
	height: inherit;
	object-fit: cover;
	object-position: right;
}

#officeInfo
{
	position: absolute;
	top: 0;
	right: 0;
	width: 247px;
	height: 245px;
	padding: 11px 35px 0  40px;
	background: #EEEEEE;
	line-height:22px;
}

#officeAddress
{
	margin: 0 0 9px 0;
	font-weight: 700;
}

/* office detail */

.offices-item #bannerContent
{
	position: relative;
	background: #072442;
	/*height: auto;
	overflow: hidden;*/
}


.offices-item #subContent
{
	float: right;
}

.offices-item #mainContent
{
	float: left !important;
}

#office_bio h2
{
	position: relative;
	cursor: pointer;
}

#office_bio h2:after
{
	content: "+";
	font-family: Helvetica !important;
	font-size: 25px;
	font-weight: 400;
	color: #004b8d;
	position: absolute;
	right: 0;
	top: -3px;
}

.listOpen:after
{
	content: "-" !important;
	top: -5px !important;
	right: 2px !important;

}

#office_bio .results
{
	display: none;
}

@media (min-width: 500px)
{
	#contactOfficeList
	{
		display: flex;
		flex-wrap:	wrap;
		margin: 0 -20px;
	}

	#contactOfficeList > div
	{
		width: calc(50% - 40px);
		margin: 0 20px 48px;
	}
}

@media (min-width: 768px)
{
	#contactOfficeList > div
	{
		width: calc((100%/3) - 40px);
		margin: 0 20px 48px;
	}
}

@media (min-width: 1280px)
{
	#contactOfficeList > div
	{
		width: calc(25% - 40px);
		margin: 0 20px 48px;
	}
}

/* News and events */

#newsevents #mainContent
{
	width: 100%;
}

#newsevents #mainContent h2
{
	margin-top: 0;
	margin-bottom: 5px !important;
	font-weight: 700;
}

#newsevents #mainContent #newsList
{
	float: right;
	width: 48%;
	margin: 0 0 0 4%;
}

#newsevents #mainContent #eventsList
{
	float: left;
	width: 48%;
}

#mainContent .itemList .results_list
{
	margin-left: 0;
}

#mainContent .itemList .results_list > li
{
	padding: 10px 0 18px 0;
	margin-left: 0;
	border-bottom: 1px solid #a3a3a3;
	list-style: none;
}

h2.subtitle
{
	margin-top: -.6em;
	padding-top: 0;
}

.rsvpButton
{
	margin: 6px 0;
	overflow: hidden;
	line-height: 35px;
}

.rsvpButton a
{
	float: left;
	color: white;
	background: #757679;
	padding: 0 11px;
	margin-right: 6px;
}

#eventDate
{
	float: left;
	padding: 18px 22px;
	margin: 20px 0 30px 0;
	background: #c63d3b;
	color: #FFFFFF;

	line-height: 1.4;
}

#eventDate .results
{
	margin-top: 1em;
}

#eventDate .results_list > div
{
	margin: 0 0 1em 0;
}

#eventDate .results_list > div:last-child
{
	margin: 0;
}

#eventDate + *
{
	display: block;
	clear: both;
}

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

#mainContent #eventDate li
{
	margin: 1em 0 0 0;
}

.results_list .itemdate,
.results_list .eventalt
{
	margin: 0 0 8px 0;
	color: #666666;
	text-transform: uppercase;
}

#content .eventalt ul,
#content .eventalt li
{
	display: block;
	list-style: none;
	margin: 0 0 8px 0;
	padding: 0;
}

.newsevents .view_more
{
	margin: 15px 0 0 0;
}

.newsevents .view_more a,
.sideLink a
{
	position: relative;
	padding: 0 0 0 24px;
	font-weight: 700;
}

.sideLink a
{
	font-weight: 400;
}

.newsevents .view_more a:before,
.sideLink a:before
{
	content: url('../i/red-arrow.png'); /* data-uri */
	position: absolute;
	left: 0;
	top: 0;
}

#subContent .results_list li
{
	margin-left: 0;
	list-style: none;
}

#subContent .results_list li
{
	position: relative;
	padding: 0 0 0 10px;
}

#subContent .ITEM_SEARCH li:before
{
	content: url('../i/list-arrow.gif'); /* data-uri */
	position: absolute;
	top: 1px;
	left: 0;
}

.newsevents-news #mainContent h1 + div
{
	color: inherit;
	font-weight: 700;
	margin: 5px 0 20px 0;
}

#bannerNews
{
	margin: 0 0 15px 0;
	background: url('../i/trans-green.png'); /* data-uri */
}

/* services */

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

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

#serviceList .sp_pencil
{
	position: absolute;
	right: 10px;
	top: 10px;
}

#serviceList .image img
{
	display: block;
	width: 100%;
	height: auto;
	transition: all 250ms ease;
}

#serviceList .title
{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	padding: 0 4vw;

	box-sizing: border-box;
	align-items: center;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #ffffff;
	font-family: 'Roboto-Condensed';
	font-size: clamp(20px, 26/1600 * 100vw, 26px);
	line-height: 1.2;
}

#serviceList .title > div
{
	text-align: center;
}

#serviceList .title > div > span
{
	/*flex: 0 0;*/
	display: inline-block;
	/*width: min-content;
	min-width: 100%;*/
	padding: 6px 10px;
	background: var(--link-color);
}

#serviceList li
{
	overflow: hidden;
}

#serviceList li:last-child
{
	background: #BD403E;
}

#serviceList a:hover .image img,
#serviceList a:focus .image img
{
	transform: scale(1.07);
}


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

	#serviceList ul li
	{
		width: calc(50% - 2px);
		margin: 1px !important;
	}
}

@media (min-width: 920px)
{
	#serviceList ul li
	{
		width: calc(25% - 2px);
	}
}




body.services-item #bannerContent
{
	margin-bottom: 0;
}

#area_subareas
{
	padding: 65px 0 50px;
	background: white;
	position: relative;

	z-index: 0;
}

body.noExpander #area_subareas
{
	margin-bottom: 50px;
}

#area_subareas h2
{
	margin-top: 0;

	color: #000000;
	text-transform: uppercase;
	font-weight: 700;
}

#area_subareas ul
{
	list-style: none;
	margin: 0;
	padding: 0;

	display: flex;
	flex-wrap: wrap;
}

#area_subareas ul li
{
	width: calc(50% - 4px);
	min-height: 140px;
	padding: 0;
	margin: 2px !important;
	text-align: center;
}

#area_subareas ul li:nth-child(n+9)
{
	display: none;
}

#area_subareas ul li::before
{
	display: none;
}

#area_subareas a:not(.sp_pencil)
{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(25px, 51/1600 * 100vw, 51px);
	box-sizing: border-box;
	background: #56ACDD;
	height: 100%;
	font-family: 'Roboto-Condensed';
	font-size: clamp(16px, 20/1600 * 100vw, 20px) !important;
	line-height: 1.2 !important;

	color: white;
}

#area_subareas a.sp_pencil
{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
}

#area_subareas .toggleExpand
{
	position: relative;
	top: -70px;
	z-index: 10;
	font-size: 15px;
	font-family: 'Roboto-Condensed';
	height: 100px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%);
	transition: top 250ms ease;
}

#area_subareas .toggleExpand span:first-child,
#area_subareas .toggleExpand.expanded span:last-child
{
	display: block !important;
	margin: 0 auto;
	width: 47px;
	padding-top: 55px;
	background: url('../i/icon-expander.svgz') no-repeat; /* data-uri */
	background-size: 47px;
	text-align: center;
	text-transform: uppercase;
}

#area_subareas .toggleExpand.expanded span:last-child
{
	background: url('../i/icon-expander-less.svgz') no-repeat; /* data-uri */
}

#area_subareas .toggleExpand.expanded span:first-child,
#area_subareas .toggleExpand span:last-child
{
	display: none !important;
}

#area_subareas .toggleExpand.expanded
{
	top: 0;
}

.services-item #subContent ul,
.services-item #subContent ul li
{
	margin-left: 0;
	list-style: none;
}

.services-item #subContent .areaSection
{
	margin: 0 0 30px 0;
	overflow: visible;
}

.services-item #subContent #area_bio_contact h2
{
	margin-bottom: 10px;
	border-bottom: none;
}

.services-item #area_award .photo
{
	float: left;
	margin: 0 15px 0 0;
}

.services-item .areaSection
{
	clear: both;
}

.services-item #subContent #area_article_spot li
{
	padding-left: 0;
	clear: both;
	overflow: hidden;
	margin-bottom: 20px;
}

.services-item #subContent #area_article_spot li .thumbnail
{
	float: left;
	width: 50px;
	margin-right: 10px;
}

.services-item #subContent #area_article_spot li .thumbnail img
{
	width: 100%;
	height: auto;
}

.services-item #subContent #area_article_spot li:before
{
	display: none;
}

.services-item #area_article
{
	margin: 0 0 20px 0;
}

.services-item #area_clienttest h2
{
	height: 12px;
	margin: 0 0 5px 0;
	border: none;

	background: url('../i/top-quote-border.png')no-repeat; /* data-uri */
}

.services-item .expandable h2
{
	position: relative
}

.services-item .expandable > div,
.industries-item  .expandable > div
{
	display: none;
}

.services-item .expandable h2:after,
.industries-item .expandable h2:after
{
	content: url('../i/service-toggle-plus.png'); /* data-uri */
	position: absolute;
	right: 0;
}

.services-item .expandable h2.practiceToggled:after,
.industries-item .expandable h2.practiceToggled:after
{
	content: url('../i/service-toggle-minus.png'); /* data-uri */
}

#subContent .expandable div h3:first-child
{
	margin-top: 0;
}

#subContent #area_bio_contact li
{
	min-height: 70px;
	margin-bottom: 10px;
}


#subContent #area_bio_contact .photo a:not(.sp_pencil) img,
#subContent #area_bio_contact .photo > img
{
	display: block;
	width: 100%;
	height: auto;
}

#subContent #area_bio_contact .contact
{
	position: absolute;
	top: 30%;
	left: 10%;
	font-size: 16px;
	color: #ffffff;
	line-height: 1.5;
}

#subContent #area_bio_contact .contact .title
{
	font-size: 20px;
	color: #ADE1FF;
	font-weight: 700;
	font-family: 'Roboto-Condensed';
}

#subContent #area_bio_contact .contact a:not(:hover):not(:focus)
{
	color: inherit;
}

#subContent #area_bio_contact .contact .email a
{
	border-bottom: 1px solid #ffffff;
}

#content #area_bio_contact li
{
	padding-left: 0;
}

#content #area_bio_contact li:before
{
	content: '';
}

@media (min-width: 1200px)
{
	#area_subareas ul li
	{
		width: calc(25% - 4px);
	}
}

/* video page ---------------------------------------------------------> */

#videoList .embedWrapper
{
	float: left;
	margin: 0 1em 1em 0;
}

#videoList .title
{
	font-weight: 700;
	margin: 0 0 1em 0;
	line-height: normal;
}

#videoList > div > div
{
	margin: 1.5em 0 2.5em 0;
	clear: both;
	overflow: hidden;
}

#videoList .area ul,
#videoList .area li,
#videoList .bio ul,
#videoList .bio li
{
	display: block;
	list-style: none;
	margin: .5em 0;
	padding: 0;
	line-height: 1.3;
}

#videoList .area li,
#videoList .bio li
{
	display: inline;
}

#videoList .area li + li:before,
#videoList .bio li + li:before
{
	content: ', ';
}

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

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

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

form > div > div
{
	position: relative;
	margin: 0 0 27px;
}

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

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

form > p
{
	clear: both;
}

form > div > div > label
{
	display: block;
	left: 0;
	font-family: 'Roboto-Condensed';
	font-size: 20px;
	padding-bottom: 5px;
}

.search_form form > div > div > label
{
	font-size: 22px;
	position: absolute;
	bottom: 10px;
	padding: 0;
}

#sf-nav label
{
	display: none;
}

input[type=text]
{
	/*margin: 0 0 5px 0;*/
	border: none;
	border-bottom: 1px solid #9A9A9A;
	font: inherit;
	color: inherit;

	width: 100%;
	height: 35px;

	box-sizing: border-box;
	background: none;

	padding-left: 0;
}

select
{
	width: 100% !important;
	margin: 0 0 5px 0;
	border: 1px solid #dedede;
	font-size: 22px;
	color: #333333;
}

select.hasCustomSelect
{
	z-index: 1;
}

.customSelect
{
	width: 100%;
	height: 35px;;
	padding: 5px 40px 3px 0;
	/*background: #ffffff url('../i/select-arrow.png') 283px 50% no-repeat;*/ /* data-uri */
	background: none;
	border: none;
	border-bottom: 1px solid #9A9A9A;
	color: #ffffff;
	font-size: 22px;
	line-height: 24px;
	overflow: hidden;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	font-family: 'Roboto-Condensed';

}

.customSelectInner
{
	width: 100% !important;
	text-align: left;
}

.customSelect::after
{
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	right: .5em;

	/* http://apps.eky.hk/css-triangle-generator/ */
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .5em .5em 0 .5em;
	border-color: currentColor transparent transparent transparent;
}

/*#mainContent > div.search_form
{
	margin-top: 100px;
}*/

#mainContent > div.search_form .customSelect,
#mainContent > div.search_form .viewAll,
#subscribeForm .customSelect
{
	color: #333333;
}


textarea
{
	width: 100%;
	min-height: 100px;
	border: 1px solid #dedede;

	font: inherit;
	color: inherit;

	box-sizing: border-box;
	-moz-box-sizing: border-box;

	padding: 5px 7px;
}

@media (min-width: 768px)
{
	form > div
	{
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}

	form > div > div
	{
		position: relative;
		width: calc(50% - 20px);
	}
}

@media (min-width: 1600px)
{
	form > div > div
	{
		position: relative;
		width: calc((100%/3) - 20px);
	}

	#otherProfessionals .buttonWrapper
	{
		width: calc(((100%/3)*2) - 10px);
	}
}

.optionsWrapper div
{
	margin-left: .3em;
}

.optionsWrapper > label
{
	display: block;
	font-weight: 700;
	position: static;
}

.buttonInput,
.standardButton,
.linkButton a
{
	min-width: 70px;
	margin: 0 20px 0 0;
	padding: 10px 15px;
	background: #BA3F3D;
	border: 0 solid #dedede;
	color: #ffffff;
	cursor: pointer;
	border-radius: 9px;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-appearance: none;

}

.viewAll
{
	position: relative;
	color: #ffffff;
	font-size: 22px;
	font-family: 'Roboto-Condensed';
}


#bannerSubContent .customSelect,
#bannerSubContent input[type=text]
{
	background-color: #3c587b;
	border-color: #496589;
}

#bannerSubContent .customSelect
{
	width: 100%;
	background-position: 228px 50%;
	color: white;
	border-color: #496589;
}

#bannerSubContent form div
{
	margin: .5em 0;
}

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

#bannerSubContent .customSelectInner,
#bannerSubContent select
{
	width: 100% !important;
}

#bannerSubContent form > div > div > label,
#bannerSubContent .customSelectInner,
#bannerSubContent select,
#searchSubscribe input[type=text],
#searchSubscribe label
{
	padding-left: 10px;
	font-size: 18px;
}

#searchSubscribe label
{
	bottom: 7px;
}

#feedburnerForm input[type=text]
{
	font-size: 16px;
}

#bannerSubContent input[type=text]
{
	padding-left: 10px;
}

#experienceButton,
#hotTopics,
#sideSearch
{
	padding: 13px 23px;
	background: #dcddde url(../i/bio-spot-bg.png) top repeat-x; /* data-uri */

	margin: 0;
}

#sideSearch
{
	margin: 1em 0;
}

#experienceButton a,
#hotTopics h2,
#sideSearch h2
{
	border: 0;
	position: relative;
	margin: 0;
	padding: 0 0 5px 0;
}

#experienceButton a:before,
#hotTopics h2:before,
#sideSearch h2:before
{
	content: url('../i/red-arrow.png'); /* data-uri */
	position: absolute;
	top: 1px;
	left: -23px;
}

#sideSearch .customSelect,
#sideSearch input[type=text]
{
	border-color: #ccc;
	width: 100%;
	color: #333333;
	font-size: 18px;
	padding-left: 10px;
	background: #ffffff;
}

#sideSearch label
{
	font-size: 18px;
	padding-left: 10px;
	top: 6px;
}

#sideSearch .customSelect
{
	background: white url('../i/select-arrow.png') calc(100% - 15px) 50% no-repeat; /* data-uri */
}

#sideSearch form div
{
	margin: .5em 0 .5em 0;
}

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

#sideSearch .customSelectInner
{
	width: 100% !important;
}

.sideStaticImage
{
	display: block;
	height: 174px;
	width: 278px;
}

#content #hotTopics ul
{
	list-style: none;
	margin: 0;
}



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


/* Page transition flicker fix causes fields to show through too quick.
 Suppress for js, then show with js later to fix. */

.js form
{
	display: none;
}

#emailField
{
	display: none;
}


/* auto complete js */

.autocomplete-suggestions
{
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 20001;

	max-height: 350px;
	overflow: auto;
	background: #ffffff;
	cursor: default;
	text-align: left;

	display: block !important;
}

.autocomplete-selected
{
	background: #f0f0f0;
}

.autocomplete-suggestion
{
	padding: 2px 5px;
	white-space: nowrap;
}

.autocomplete-suggestion strong
{
	font-weight: 700;
	color: var(--link-color);
}



/* People search */

.letterLinks
{
	font-family: 'Roboto-Condensed', sans-serif;
	font-size: 24px;
	margin-bottom: 40px;
	font-weight: 700;
}

.letterLinks *
{
	margin: 0 clamp(20px, 29/1314 * 100vw, 29px) 0 0;
	color: #ADE1FF;
}

.letterLinks a:last-child
{
	margin: 0;
}

#mainContent > .letterLinks
{
	width: 100%;
	max-width: 1250px;
	margin: 0 auto 60px;
}

#mainContent > .letterLinks *
{
	color: #000000;
}

#mainContent > .letterLinks a,
#mainContent > div:not(#otherProfessionals) > .letterLinks a
{
	display: inline-block;
	margin-bottom: 10px !important;
	color: #004b8d;
}

body.tallBanner #bannerContent
{
	height: auto;
	width: 100%;
	margin-bottom: 0;
}

body.tallBanner #bannerText
{
	padding-top: 200px;
}

#lawyerSearch
{
	position: relative;
	width: 100%;
	max-width: 1314px;
	margin: 0 auto;
	padding: 22px 0 58px;
	margin-top: clamp(50px, 103/1920 * 100vw, 103px);
	box-sizing: border-box;
}

#lawyerSearch::before
{
	background: rgba(0,0,0,.46);
}

#lawyerSearch h2,
#otherProfessionals h2
{
	text-transform: uppercase;
	color: #DCFA8F;
	text-align: left;
	font-weight: 700;
	font-size: 22px;
}

#otherProfessionals
{
	position: relative;
	max-width: 1314px;
	margin: 0 auto;
}

#otherProfessionals
{
	padding: 38px 0 60px;
	background: #6F7377;
}

#otherProfessionals form > div > div > label
{
	color: #ffffff;
}

#bioSpotlights
{
	position: relative;
	left: calc(50% - 50vw);
	width: 100vw;
	margin-top: 55px;
}

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

#bioSpotlights .photo
{
	height: 311px;
	position: relative;
	overflow: hidden;
}

#bioSpotlights .photo img
{
	position: absolute;
	display: block;

	width: 100%;
	min-height: 311px;

	object-fit: cover;
	object-position: right;
}

#bioSpotlights .namephoto
{
	position: relative;
}

#bioSpotlights .nametitle,
#careerBioSpotlight .content
{
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 44px 154px;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.2;
	font-family: Roboto;
}

#bioSpotlights .title,
#careerBioSpotlight .title
{
	font-family: 'Roboto-Condensed';
	color: inherit;
	font-size: 20px;
}

#bioSpotlights a:hover .title,
#careerBioSpotlight a:hover .title,
#bioSpotlights a:focus .title,
#careerBioSpotlight a:focus .title
{
	text-decoration: underline;
}

#bioSpotlights .spottext
{
	padding: 20px 44px;
	background: #DCDDDE;
	font-size: 17px;
	line-height: 1.5;
}

#bioSpotlights .spottext::before
{
	content: '';
	position: absolute;

	background: url(../i/red-arrow.png);
	background-size: cover;
	width: 23px;
	height: 26px;

	margin: 4px 0 0 -33px;
}

#bioSpotlights a
{
	color: inherit;
}

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

#peopleFooter #careersLink
{
	display: flex;
	align-items: center;
	justify-content: center;

	height: 50vw;
	max-height: 479px;
	margin-bottom: 30px;
	font-size: 26px;
	font-family: 'Roboto-Condensed';
	color: #ffffff;
	background: #BD403E;
}

#peopleFooter #blogSubscribe
{
	align-items: flex-end;
}

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

	#bioSpotlights li
	{
		width: calc(50% - 1px);
		margin: 0 1px 1px 0 !important;
		background: #DCDDDE;
	}
}

@media (min-width: 768px)
{
	#peopleFooter #careersLink
	{
		width: calc(50% - 1px);
	}
}

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

	#peopleFooter #careersLink
	{
		width: 50%;
	}

	#peopleFooter
	{
		padding-left: 50vw;
		box-sizing: border-box;
	}

	#peopleFooter #blogSubscribe
	{
		bottom: 0;
	}
}

@media (min-width: 1600px)
{
	#bioSpotlights .nametitle,
	#careerBioSpotlight .content
	{
		padding-left: 60px;
		padding-right: 60px;
	}

	#bioSpotlights .spottext
	{
		padding: 30px 60px;
	}
}

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

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

#cookieBanner::before
{
	background: rgba(0,0,0,.85);
}

/* if you need a specific color behind the cookie banner, use this along with
	adjustCookieBanner() in js/default.js */
/**
#cookieBanner
{
	--overFooter: 50%;
}

#cookieBanner::before
{
	background: rgba(0,0,0,.85) linear-gradient(to top, red var(--overFooter), transparent var(--overFooter));
}
/**/

#cookieBanner > div
{
	position: relative;
	overflow: hidden;
	max-height: 100%;
}

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

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

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

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

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

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

	transition: all 350ms;
}

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

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

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

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

@media (min-width: 920px)
{
	#cookieBanner > div
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

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

		max-height: 100%;
		overflow: hidden;
	}

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

#cookieOptions
{
	--min-font-size: 14px;
	font-size: 14px;

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

#cookieOptions button.closeButton
{
	top: 22px;
	right: 22px;
	background: none;
	padding: 0 24px 24px 0;
	background: none;
	border-radius: 0;

	color: black;
}

#cookieOptions button.closeButton:hover
{
	opacity: .5 !important;
}

#cookieOptions button.closeButton:before,
#cookieOptions button.closeButton:after
{
	width: 24px;
	left: 0;
	top: 10px;
}

#cookieOptions:not(.open)
{
	display: none;
}

#cookieOptions > div
{
	position: relative;
	width: calc(100vw - 40px);
	max-width: 650px;
	max-height: calc(100vh - 120px);
	overflow: auto;
	background: white;
	padding: 25px 0 0;
	box-sizing: border-box;

	--cookie-border: 1px solid #C1C1C1;
	border: var(--cookie-border);
	border-radius: 4px;
}

#cookieOptions > div > div,
#cookieOptions h2#cookieTitle
{
	padding: 0 40px;
}

#cookieOptions h2#cookieTitle
{
	font-size: 1.42em;
	font-weight: bolder;

	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 0.8em;

	border-bottom: var(--cookie-border);

	margin: 0 0 30px;
	padding-bottom: 8px;
	padding-right: 60px;

	position: sticky;
}

#cookieOptions h2#cookieTitle > *
{
	margin-bottom: 20px;
}

#cookieOptions h2#cookieTitle img
{
	max-height: 1.8em;
	width: auto;

	filter: invert(1) contrast(1);
}

#cookieOptions h2#cookieTitle::after
{
	content: '';
}

#cookieOptions h3
{
	margin: 0 0 .5em;
	padding: 0 0 0;

	font-size: 1.28em;
	font-weight: bolder;
}

#cookieOptions .cookieType
{
	overflow: hidden;
	margin-top: 2em;
}

#cookieOptions .cookieTypeLabel
{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.8em;

	margin-bottom: 0.8em;

	align-items: center;
}

#cookieOptions .cookieTypeLabel h3
{
	margin: 0;
	line-height: 1.1;
}

#cookieOptions .alwaysActive
{
	font-size: max(12px, .85em);

	font-weight: bolder;
	color: var(--link-color);
}

#cookieOptions p
{
	clear: both;
	width: 100%;
}

#cookieOptions #cookieConfirm
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap-reverse;
	gap: 0.8em;

	background: inherit;

	border-top: var(--cookie-border);
	padding-top: 22px;
	padding-bottom: 22px;
	margin: 0;

	/*
	position: sticky !important;
	bottom: 0;
	z-index: 1;
	*/
}

#cookieConfirm div
{
	display:flex;
	align-items: center;

	color: #959595;
}

#cookieConfirm img
{
	xvertical-align: middle;
	height: 1.5em;
}

/* the widget container */
.toggleGroup
{
	position: relative;
	width: 85px;
	height: 28px;
	background: var(--link-color);
	border-radius: 14px;

	/* goes to white on focus */
	border: 1px dashed transparent;

	color: white;
}

/* hide the real radio inputs */
.toggleGroup input
{
	position: absolute;
	z-index: -1;
}

/* normalize fonts for the labels, and make them cover the whole widget */
.toggleGroup label
{
	/* align the text in the space remaining */
	display: flex;
	align-items: center;
	justify-content: center;

	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	/* make the first label appear on the left by giving 50% right padding */
	padding: 0 45% 0 0;

	/* so the slider can inherit from the top level of the widget, this level has to inher it too */
	border-radius: inherit;

	font: inherit;
	font-size: 14px;
	text-transform: uppercase;
}

.toggleGroup:focus-within
{
	border-color: white;
	text-decoration: underline;
}

/* second label needs to appear on the right */
.toggleGroup label ~ label
{
	padding: 0 0 0 45%;
	color: rgba(255,255,255,.8);
	cursor: pointer;
}

/* unchecked label should be the only one clickable */
.toggleGroup :checked + label
{
	pointer-events: none;
}

/* the slider is attached to the last label so it sits above everything else */
.toggleGroup label ~ label:after
{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 45%;
	width: 55%;

	/* set a white background image with 100% opacity over a background color, then
	   later we'll dial down opacity on the background image for "off" state */
	--switch-opacity: 1;
	--switch-grad: rgba(255,255,255, var(--switch-opacity));

	background-image: linear-gradient(var(--switch-grad), var(--switch-grad));
	background-color: var(--link-color);
	background-clip: content-box;

	border-radius: inherit;
	border: 3px dotted transparent;
	box-sizing: border-box;
	transition: all 150ms;
}

/* off state - straight right edge */
.toggleGroup label ~ :checked + label:after
{
	left: 0;
	--switch-opacity: 0.8;
}

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

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

.popupShareButton::after
{
	content: "";
	opacity: 0.35;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 20px;
	height: 20px;
	background: #ddd url('../i/icon-share.svg') center center no-repeat; /* data-uri */
	background-size: 13px;
}

.popupShareButton:is(:hover,:focus)::after
{
	opacity: 0.9;
}

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

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

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

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

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

@media (min-width: 768px)
{
	.closeButton,
	.popupShareButton
	{
		top: 15px;
	}
}

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


#footer
{
	position: relative;
	background: #ffffff;
}

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

footer #footerSocial
{
	display: flex;
}

#upperFooter
{
	padding: 30px 0;
}

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

#footerSocial svg
{
	fill: #56ACDD;
}

#footerOffices
{
	margin: 60px 0;
	font-size: 14px;
	text-transform: uppercase;
	color: #666666;
}

#footerOffices ul
{
	columns: 2;
	column-rule: 1px solid #DEDEDE;
	column-gap: 80px;
}

#footerOffices li
{
	display: inline-block;
	width: 100%;
	margin: 0 0 7px;
}

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

#lowerFooter
{
	position: relative;
	padding: 24px 0;
	color: #CCCCCC;
	background: #072442;
	font-family: 'Roboto';
	font-size: 15px;
}

#lowerFooter ul
{
	display: flex;
	flex-wrap: wrap;
}

#lowerFooter li
{
	margin: 0 0 10px;
}

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

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

@media (min-width: 768px)
{
	#footerOffices ul
	{
		column-count: 3;
	}
}

#footerLogos
{
	padding: 20px 0;
	flex: 1 1 auto;
	display: flex;
	flex-wrap: wrap;
}

#footerLogos img
{
	margin: 5px;
}

#mansfieldRule
{
	display: block;
	width: auto;
	height: 80px;
	max-width: unset;
}

#socbadge
{
	display: block;
	width: 112px;
	height: 142px;
}

@media (min-width: 1350px)
{

	#upperFooter
	{
		display: flex;
		align-items: center;
		padding: 0 64px;
	}

	#footerOffices ul
	{
		max-width: 860px;
		padding-left: 60px;
		column-count: 4;
		column-gap: calc(56px + (80 - 56) * ((100vw - 1350px) / (1920 - 1350)));
	}

	#mansfieldRule
	{
	}

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

@media (min-width: 1600px)
{
	#upperFooter
	{

	}
}

@media (min-width: 1920px)
{
	#footerOffices ul
	{
		column-gap: 80px;
	}
}

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

/*SiteMap object */

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

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

table.SITE_MAP td.v_separator
{
	padding-left: 15px;
	padding-right: 15px;
	font-size: .8em;
	color: #666666;
}


/* EmailPage object */

div.EMAIL_PAGE div.email_form
{
	display: none;
}

p.EMAIL_PAGE-title
{
	font-weight: 700;
	margin-bottom: 0;
	padding-bottom: 0;
}

p.EMAIL_PAGE-url
{
	margin-top: 0;
	font-style: italic;
}

table.EMAIL_PAGE
{
	width: 500px;
}

table.EMAIL_PAGE td
{
	width: 47%;
}

table.EMAIL_PAGE td input
{
	width: 95%;
}

table.EMAIL_PAGE td textarea
{
	width: 100%;
	height: 120px;
}

div.EMAIL_PAGE ul.error
{
	color: red;
}


/* Search Object Support */

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

#search #content form div
{
	display: block;
	padding-bottom: .3em;
}

#search #content form div div
{
	width: auto;
}

#search #content .search_form label
{
	display: inline;
	margin: 3px;
}

#search #content .search_form label,
#search #content .search_form input
{
	width: auto;
	margin: 3px 4px;
	vertical-align: middle;
}

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

ul.errors
{
	margin-bottom: 1.8em;
}

#search #content .search_form input#searchtext
{
	width: 280px;
	padding-left: 20px;
}

#search div.sections,
#search div.search_type
{
	width: 35%;
	float: left;
	margin-top: 50px;
}

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

#search a.more
{
	font-weight: 700;
	font-size: 1.1em;
}

#search div#select_all_links
{
	margin-top: 8px;
}

.searchfoundtext
{
	font-weight: 700;
}

#search p
{
	padding-top: 0;
	padding-bottom: 10px;
}

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

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


/* Map Object Support */

#printMap
{
	display: block;
	background: var(--link-color);
	width: 70px;
	padding: 4px 4px 4px 4px;
	color: #ffffff;
	text-align: center;
}

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

.spMapIframeEmbed
{
	border: 1px solid #cccccc;
}



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


#homeAnimation
{
	position: relative;
	height: 90vh;
	width: 100vw;
	left: calc(50% - 50vw);
	overflow: hidden;
}

#homeAnimation #slides
{
	height: 100%;
}

#homeAnimation ul,
#homeAnimation li
{
	width: 100%;
	height: 100%;
	margin: 0 !important;
	list-style: none;
}

#homeAnimation .image
{
	position: relative;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

#homeAnimation .image::after
{
	background: #000000;
	opacity: .2;
	z-index: 1;
}

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

#homeAnimation .content
{
	position: absolute;
	top: 40%;
	/*top: clamp(5vh, 40%, 40%); not supported in older ios*/
	left: 20px;
	z-index: 2;
	width: calc(100% - 20px);
	max-width: 530px;
	min-height: 190px;
	padding: 0 clamp(119px, 171/1920 * 100vw, 171px) 50px 0;
	text-shadow: 0px 3px 6px rgba(0,0,0,.16);
}

#homeAnimation a
{
	color: inherit;
	/*text-decoration: none;*/
}

#homeAnimation .title
{
	margin: 0 0 3px;
	font-family: 'Roboto-Condensed';
	font-weight: 700;
	font-size: 35px;
	line-height: 40px;
	color: #DCFA8F;
}

#homeAnimation .abstract p
{
	color: #ffffff;
	font-size: 22px;
	line-height: 30px;
}

#homeAnimation .controls
{
	position: absolute;
	bottom: 0;
	left: 0v;
	width: 102px;
	display: flex;
	justify-content: space-between;
}

#homeAnimation .controls button
{
	display: block;
	padding: 0;
	width: 44px;
	height: 44px;
	background: url('../i/animation-button.svgz') no-repeat; /* data-uri */
	background-size: 44px;
	border: none;
	cursor: pointer;
	opacity: .43;
}

#homeAnimation .controls button:hover,
#homeAnimation .controls button:focus
{
	opacity: 1;
}

#homeAnimation .controls button + button
{
	transform: rotate(180deg);
}

#homeAnimation #pager
{
	display: none;
}

#homeAnimation video
{
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 100%;
	height: 100%;
	object-fit: cover;


}

#homePageContent
{
	position: relative;
	width: 100vw;
	left: calc(50% - 50vw);
	padding: 40px 0;
	background: #EAEAEA;
	margin-bottom: 71px;
}

#homePageContent [class^=image] img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fastfacts
{
	position: relative;
	display: flex;
	margin: 0 0 30px;
	left: 20px;
	width: calc(100% - 20px);
}

.fastfacts a:first-child,
.recruitmentcontact a:first-child
{
	display: block;
	width: 170px;
	height: 179px;
	padding-top: 120px;
	margin-right: 8px;
	box-sizing: border-box;
	color: #56ACDD;
	border-radius: 9px;
	text-align: center;
	text-transform: uppercase;
	font-size: 15px;
	font-family: 'Roboto-Condensed';
	background: url('../i/fastfacts.svgz') no-repeat, #ffffff; /* data-uri */
	background-position: center 26px;
	background-size: 68px 90px;
}

.recruitmentcontact a:first-child
{
	padding-top: 110px;
	background: url('../i/icon-phone.svgz') no-repeat, #ffffff; /* data-uri */
	background-size: 43px 73px;
	background-position: center 26px;
}

.fastfacts a:last-child
{
	display: block;
	width: 85px;
	height: 85px;
	padding-top: 55px;
	box-sizing: border-box;
	color: #ADE1FF;
	border-radius: 9px;
	text-align: center;
	text-transform: uppercase;
	font-size: 15px;
	font-family: 'Roboto-Condensed';
	background: url('../i/people-icon.svgz') no-repeat, #56ACDD; /* data-uri */
	background-position: center 14px;
	background-size: 39px 39px;
}

#homePageContent .box1,
#homePageContent .box3,
#homePageContent .box4,
#homePageContent .box7,
#careersTop .box1,
#careersTop .box4,
#careersBottom .box5
{

	width: 100%;
	height: 100vw;
	max-width: 481px;
	max-height: 384px;
}

#homePageContent .box1 [class^=title],
#homePageContent .box3 [class^=title],
#homePageContent .box4 [class^=title],
#homePageContent .box7 [class^=title],
#careersTop .box1 [class^=title],
#careersTop .box4 [class^=title],
#careersBottom .box5 [class^=title]
{
	height: 100%;
}

#homePageContent .box1 a,
#homePageContent .box3 a,
#homePageContent .box4 a,
#homePageContent .box7 a,
#careersTop .box1 a,
#careersTop .box4 a,
#careersBottom .box5 a
{
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100%;
	align-items: center;
	padding:  0 20px;
	background: #BD403E;
	color: #ffffff;
	text-align: center;
	font-size: 26px;
	font-family: 'Roboto-Condensed';
	box-sizing: border-box;
	line-height: 1.2;
}

#homePageContent .box7 a
{
	background: #072442;
}

#homePageContent .box2,
#homePageContent .box6,
#homePageContent .box5,
#careersTop .box3
{
	position: relative;
	height: 60vw;
	max-height: 768px;
}

#homePageContent .box2 a,
#homePageContent .box6 a,
#homePageContent .box5 a
{
	display: block;
	height: 100%;
	display: flex;
	align-items: flex-end;
	padding: 20px;
	box-sizing: border-box;
	color:	#ffffff;
}

#homePageContent .box2 a span,
#homePageContent .box6 a span,
#homePageContent .box5 a span
{
	display: block;
}

#homePageContent .box2 .content,
#homePageContent .box6 .content,
#homePageContent .box5 .content
{
	position: relative;
	z-index: 1;
	height: 100%;

	background: linear-gradient(to top, rgba(0,0,0,.46) 25%, rgba(0,0,0,0) 75%);
	font-family: 'Roboto-Condensed';
}

#homePageContent .box2 .title,
#homePageContent .box6 .title,
#homePageContent .box5 .title,
#careersTop .box3 .title,
#careersBottom #column2 .title6
{
	text-transform: uppercase;
	margin-bottom: 10px;
	font-weight: 700;
	font-size: clamp(21px, 30/1600 * 100vw, 30px);
	line-height: 28px;
	font-family: 'Roboto-Condensed';
}

#homePageContent .box2 .subtitle,
#homePageContent .box6 .subtitle,
#homePageContent .box5 .subtitle,
#careersTop .box3 .text,
#careersBottom #column2 .text6
{
	font-size: clamp(16px, 22/1600 * 100vw, 22px);
	line-height: 1.2;
}

#careersTop .box3 .text p,
#careersBottom #column2 .text6 p
{
	font: inherit;
}

#homePageContent .box3 a
{
	background: #072442;
}

#homePageContent .box4 a,
#careersTop .box1 a
{
	background: #56ACDD;
}


#homePageContent .box2 img,
#homePageContent .box6 img,
#homePageContent .box5 img
{
	position: absolute;
}

#blogSubscribe
{
	display: flex;
	align-items: flex-end;
	margin-top: 20px;
}

#blogSubscribe a:first-child,
.recruitmentcontact a#blogLink,
.recruitmentcontact a#applyLink
{
	display: block;
	width: 88px;
	height: 86px;
	padding-top: 60px;
	margin-right: 6px;
	background: url('../i/blog-icon.svgz') center 14px no-repeat, #99BC41; /* data-uri */
	color: #DBF2A1;
	text-align: center;
	background-size: 37px 37px;
	text-transform: uppercase;
	box-sizing: border-box;
	border-radius: 9px;
	font-family: "Roboto-Condensed";
}

.recruitmentcontact a#applyLink
{
	position: absolute;
	top: 93px;
	left: 232px;
	background: url('../i/apply-icon.svgz') center 14px no-repeat, #56ACDD; /* data-uri */
	color: #ADE1FF;
	background-size: 29px 38px;
}

#blogSubscribe a:last-child
{
	display: block;
	width: 173px;
	height: 173px;
	background: url('../i/subscribe.svgz') center 47px no-repeat, #ffffff; /* data-uri */
	background-size: 72px 54px;
	border-radius: 9px;
	box-sizing: border-box;
	padding-top: 105px;
	text-align: center;
	color: #56ACDD;
	text-transform: uppercase;
	font-size: 15px;
	font-family: "Roboto-Condensed";
}

#jumpToContent
{
	position: absolute;
	bottom: clamp(30px, 145/920 * 100vw, 145px);
	left: calc(50% - 35px);
	z-index: 400;
	display: block;
	width: 70px;
	height: 70px;
	opacity: .81;
}

#jumpToContent svg
{
	fill: #ffffff;
}

@media (min-width: 768px)
{
	#homeAnimation .image
	{
		height: 95vh;
	}

	#homeAnimation .content
	{
		left: auto;
		right: 0;
	}

	#homeAnimation #pager
	{
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		height: 100px;
	}

	#homeAnimation #pager::before
	{
		background: #000000;
		opacity: .46;
		border-top: 2px solid #FFFFFF;
	}

	#homeAnimation #pager ul
	{
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
	}

	#homeAnimation #pager ul li
	{
		width: auto;
		position: relative;
		display: flex;
		align-items: center;
		padding: 0 30px;
		height: 100%;
	}

	#homeAnimation #pager ul li.active::before
	{
		content: '';
		display: block;
		position: absolute;
		top: -1px;
		left: calc(50% - 72px);
		width: 144px;
		height: 3px;
		background: #DCFA8F;
	}

	#homeAnimation #pager button
	{
		width: 100%;
		padding: 0;
		border: none;
		background: none;
		color: #CCCCCC;
		font-size: calc(14px + (20 - 14) * ((100vw - 768px) / (1600 - 768)));
		text-align: center;
		text-transform: uppercase;
		cursor: pointer;
		font-family: 'Roboto-Condensed';
		font-weight: 700;
	}

	#homePageContent
	{
		display: flex;
		flex-wrap: wrap;
		padding: 300px 0;
	}

	.fastfacts
	{
		position: absolute;
		top: 45px;
		z-index: 1;
	}

	#homePageContent #topRow
	{
		width: 100%;
	}

	#homePageContent #topRow .results_list > div
	{
		width: 100%;
		display: flex;
		align-items: flex-end;
		height: 80vw;
		max-height: 768px;
	}

	#homePageContent .box1,
	#homePageContent .box3
	{
		width: auto;
		flex: 1 1 481px;
	}

	#homePageContent .box2
	{
		height: 100%;
		flex: 1 1 960px;
	}


	#homePageContent .box2 a,
	#homePageContent .box6 a,
	#homePageContent .box5 a
	{
		padding: 0 54px 54px;
	}

	#homePageContent #column1,
	#homePageContent #column2
	{
		width: 50%;
	}

	#homePageContent #column1 .results_list
	{
		width: 100%;
	}

	#homePageContent #column1 .results_list > div
	{
		display: flex;
		flex-direction: column;
		align-items: flex-end;
	}

	#homePageContent #column1 .box6
	{
		width: 100%;
	}

	#blogSubscribe
	{
		position: absolute;
		bottom: 0;
		right: 20px;
	}

}

@media (min-width: 920px)
{
	#homePageContent .box1,
	#homePageContent .box3,
	#homePageContent .box4,
	#homePageContent .box7,
	#careersTop .box4,
	#careersBottom .box5
	{

		width: 50%;
		height: 100vw;
		max-width: 50%;
		max-height: 384px;
	}

}

@media (min-width: 1024px)
{
	#homePageContent
	{
		padding: 0;
	}
}

@media (min-width: 1350px)
{
	.fastfacts
	{
		left: 54px;
	}

	#blogSubscribe
	{
		right: 54px;
		bottom: 0;
	}
}

@media (min-width: 1600px)
{
	#homeAnimation #pager button
	{
		font-size: 20px;
	}
}

/* payment form -----------------------------------------------> */

#payment #mainContent form > div > div
{
	overflow: hidden;
	border-bottom: 1px solid #dedede;
	padding: 1em 10px;
	margin-bottom: 1em;
	width: 800px;
}

#payment #mainContent form
{
	margin-bottom: 3em;
}

#payment .payNote
{
	padding: 1em 2em;
}

#payment #mainContent form > div > div > label
{
	display: block;
	position: static;
	float: left;
	width: 205px;
	font-weight: 700;
	padding-right: 20px;
}

#payment label span
{
	font-weight: 400;
	display: block;
}

#payment label span.inline
{
	display: inline;
}

#payment form fieldset > div > div > div
{
	/*float: left;
	padding-right: 1em;*/
	margin: 0 0 10px;
}

#payment form > div > div > div > div *
{
	vertical-align: middle;
}

#payment .expiration input
{
	width: 4em;
}

/* recruit calendar */

#recruitSort
{
	color: #666;
}

#recruitSort span
{
	color: black;
}

#recruitCal + div .title
{
	font-weight: 700;
	margin-bottom: .5em;
}


/* Blogs */

body.blog
{
	/*background: #fff url(../i/blog-body-bg.png) repeat-x;*/ /* data-uri */
}


body.blog #bannerContent
{
	/*height: auto;*/
	padding-top: 0;
	margin: 0 0 50px;
	border-bottom: none;
}

body.blog #bannerContent h1#pageTitle
{
	visibility: hidden;
	position: absolute;
}

body.blog #bannerImage
{
	display: block;
	/*position: relative;*/
	/*left: -450px;*/
}

body.blog a,
.blogPosts .addthis span
{
	color: #004b8d;
}

body.blog form > div > div
{
	margin: 0 0 10px;
}

body#blog-contact h1#pageTitle
{
	padding: 0 0 10px;
	margin: 0 0 30px;
	border-bottom: 2px solid #d8dbe0;
}

.blog #content .search_form div
{
	display: block;
	float: none;
	width: 100%;
}


.blog #topLinks
{
	display: none;
}

.blog #bannerText
{
	display: none;
	padding: 20px;
	background: #ddd;
	border-radius: 10px;
}

.blog #searchMessage
{
	background-size: 12px 1px;
	padding-bottom: .8rem;
	margin-bottom: 1.3rem;
}

.blogPosts div > div.byline
{
	color: #666666;
	font-size: 12px;
}

.blogPosts div > div.byline a
{
	color: inherit;
	text-decoration: underline;
}

.blogPosts div > div.title
{
	font-size: 20px;
	line-height: 30px;
	color: #000000;
	font-weight: 700;
	font-family: 'Roboto-Condensed';
}

.blogPosts div > div.title a
{
	color: inherit;
}

.blogPosts div > span.itemdate
{
	margin: 0;
	text-transform: none;
}

.blogPosts img
{
	max-width: 100%;
	height: auto;
}

.blogPosts .viewMore
{
	font-weight: 700;
	margin: 8px 0 0 0;
}

.blogPosts .addthis
{
	display: -webkit-flex;
	display: flex;

	-webkit-align-items: center;
		 -ms-flex-align: center;
			align-items: center;

	padding: 0 0 5px 0;

	border-bottom: 1px dashed #cccccc;
}

.blogPosts .addthis > *
{
	padding: 2px 15px 2px 0;
}

.blogPosts .addthis > span
{
	padding-right: 8px;
}

/*.blogPosts .addthis .addthis_button_email
{
	margin: 0 10px 0 0;
	border-right: 1px dotted #333333;
}*/

.blogPosts .intro
{
	overflow: hidden;
	margin: 18px 0 10px 0;
}

.blogPosts .intro > div
{
}

.blogPosts .image:not(:empty)
{
	float: left;
	margin: 0 25px 12px 0;
}

#searchSubscribe
{
	padding: 20px;
	background: #ededed;
}

#searchSubscribe h2
{
	padding: 0;
	margin: 0 0 3px;
	font-size: 14px;
	border-bottom: none;
}

#searchSubscribe form > div > div
{
	width: 100%;
	margin: 0;
}

#searchSubscribe form > div > div .buttonInput
{
	position: absolute;
	top: -25px;
	right: 7px;
	width: 11px;
	height: 14px;
	padding: 0;
	margin: 0;
	min-width: 0;
	background: url('../i/double-angle-gray.png') no-repeat; /* data-uri */
}

#searchSubscribe input[type=text]
{
	width: 100%;
	background: #ffffff;
}

#blogSearch
{
	margin: 0 0 15px 0;
}

#feedburnerForm
{
	position: relative;
	padding-bottom: 15px;
	border-bottom: 1px solid #e2e2e2;
}

#feedburnerForm input[type=image]
{
	position: absolute;
	top: -25px;
	right: 7px;
}

#rssFeed
{
	display: block;
	padding: 12px 0 0 0;
	border-top: 1px solid #ffffff;
}

#rssFeed img
{
	position: relative;
	top: 3px;
}

body.blog #subContent .results_list li
{
	padding: 0;
	margin: 0 0 20px 0;
}

#archiveSelect,
#categorySelect
{
	display: block;
	position: relative;
	border: 1px solid #d8dbe0;
	cursor: pointer;
	outline: 0;
	line-height: 28px;
	font-size: 12px;
	padding: 0 7px;
}

#archiveSelect:after,
#categorySelect:after
{
	content: url('../i/arrow-down-gray.png');
	position: absolute;
	right: 10px;
}

body.js:not([data-whatinput="keyboard"]) #archiveSelect:not(:focus) + #blogArchiveYears:not(:hover),
body.js:not([data-whatinput="keyboard"]) #categorySelect:not(:focus) + #topics:not(:hover)
{
	display: none;
}

#blogArchiveYears,
#topics
{
	border-top: 0;
	position: relative;
	top: -1px;
	cursor: pointer;
	background: #eeeeee;
	padding: 15px 12px 0px;
	overflow: hidden;
}

body.blog #subContent #blogAuthors li,
body.blog #mainContent .blogAuthors li
{
	margin: 0 0 10px;
}

/* in listing, make image a max height */
.blogPosts > div > div:not(:only-child) img
{
	display: block;
}

.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
{
	padding: 15px 0 40px 0;
	border-top: 3px solid #b62e2c;
}

.blogPosts > div > div:nth-child(2n)
{
	border-color: #afc9dc;
}

.blogPosts > div > div:nth-child(3n)
{
	border-color: #ff9420;
}

.blogPosts .blogComments
{
	margin-bottom: 0;
}

.blogPosts .blogComments > div > div
{
	padding: 1rem 0;
	border: 1px solid currentColor;
	border-width: 1px 0 0 0;
}

.blogPosts .blogComments > div > div > div
{
	margin: 0 1rem;
}

.blogPosts .blogComments .comment
{
	margin-top: 1rem;
}

#addComment
{
	border-top: 1px solid currentColor;
}

.blog #historyLinks a
{
	float: left;
}

.blog #historyLinks a
{
	display: block;
	padding: 12px 20px;
	margin: 0 20px 0 0;
	background: #1a3954;
	color: #ffffff;
}

.blog #historyLinks a#next:after,
.blog #historyLinks a#prev:before
{
	display: inline-block;
	content: url('../i/double-angle.png');
	position: relative;
	top: 2px;
	padding: 0 0 0 8px;
}

.blog #historyLinks a#prev:before
{
	top: -2px;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

.blogtag
{
	line-height: 1.5;
	margin: 1em 0;
}

.blogFilters ul,
.blogFilters li
{
	list-style: none;
	margin: 0 0 .5em 0;
}

.js #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 1.5rem 0;
}

#mainContent #blogArchives .results_list > li
{
	margin: 0;
	padding: 0;
}

.blogAuthors .title
{
	font-size: 1.3em;
	margin: 0 0 .3em 0;
}

.blogAuthors .photo
{
	float: left;
	margin-right: 1em;
}

.blogAuthors .positionid
{
	margin: 0 0 5px;
}

.blogAuthors ul,
.blogAuthors li
{
	list-style: none;
	margin: 0 0 1rem 0;
}

.blogAuthors li
{
	border-bottom: 1px solid currentColor;
	padding-bottom: 1rem;
	overflow: hidden;
}

#searchMessage.blogAuthors li
{
	border-bottom: 0;
	padding-bottom: 0;
}

.blogAuthors .abstract
{
	margin: .5rem 0;
}

.vlog .image
{
	position: relative;
}

.vlog .image a:before,
.vlog .image a:after
{
	content: '';
	display: block;

	position: absolute;
	top: 1rem;
	left: 1rem;

	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;
	-webkit-filter: blur(8px);
		filter: blur(8px);
}


/* Careers	*/

#careers.fullWidth #subContent
{
	display: none;
}

#careersTop
{
	margin: 0 0 50px;
}

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

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

#careersTop .recruitmentcontact
{
	display: flex;
	padding-left: 54px;
	box-sizing: border-box;
}

#careersTop .box3
{
	height: auto;
	min-height: 60vw;
	padding: clamp(70px, 100/1600 * 100vw, 100px) clamp(20px, 55/1600 * 100vw, 55px) clamp(42px, 61/1600 * 100vw, 61px);
	background: #072442;
	box-sizing: border-box;
	color: #ffffff;
}

#careersTop .infographic
{
	position: relative;
	max-width: 791px;
	margin: 0 auto clamp(62px, 89/1600 * 100vw, 89px);
}

#careersTop .infographic #infinityGraphic
{
	display: block;
	width: 100%;

}

#careersTop .infographic > div:not(#infinityGraphic)
{
	position: absolute;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;

	width: 50%;
	max-width: 400px;
	height: 100%;
	padding: 0 30px;
	text-align: center;
	box-sizing: border-box;
	font-size: clamp(18px, 26/1600 * 100vw, 26px);
}

#careersTop .infographic .infotitleright
{
	right: 0;
}

#careersTop .box2
{

	height: 60vw;
	max-height: 768px;
}

#careers.fullWidth #careersTop .box2
{
	height: auto;
	max-height: none;
}

#careers.fullWidth #careersTop .box2 .box2image
{
	display: none;
}

#careers.fullWidth #careersTop .box2 .video:empty + .box2image
{
	display: block;
}

.recruitmentcontact
{
	position: relative;
	margin-bottom: 30px;
}

#careersTop .box2 .video:not(:empty),
#careersTop .box2 .box2image,
#careersTop .box2 .box2image img,
#careersTop .box2 .jwplayer,
#careersTop .box2 .embedWrapper
{
	width: 100% !important;
	height: 100% !important;
}

#careers.fullWidth #careersTop .box2 .embedWrapper video
{
	display: block;
	max-width: 100%;
}

#careers.fullWidth #careersTop #column2 ul.results_list
{
	position: relative;
	height: 100%;
	overflow: hidden;
}

#careers.fullWidth #careersTop #column2 ul.results_list > li
{
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	height: 100%;
}

#careersTop .box2 .box2image img
{
	object-fit: cover;
}

#careersTop .jwdisplay .jwpreview
{
	background-size: cover !important;
}

#careerBioSpotlight li
{
	position: relative;
}

#careerBioSpotlight .photo img
{
	display: block;
	width: 100%;
	height: auto;
}

#careerBioSpotlight .content
{
	position: absolute;
	bottom: 0;
	left: 0;
	color: #ffffff;
}

#careersBottom .box5 a
{
	background: #6F7377;
}

#careersBottom #column2 .image6
{
	margin: 0 0 clamp(62px, 89/1600 * 100vw, 89px);
}

#careersBottom #column2 .image6 img
{
	display: block;
	width: 100%;
	height: auto;
}

#careersBottom #column2 li
{
	padding: clamp(70px, 100/1600 * 100vw, 100px) clamp(20px, 55/1600 * 100vw, 55px) clamp(42px, 61/1600 * 100vw, 61px);
	box-sizing: border-box;
	color: #ffffff;
	background: #99BC41;
}

#careersBottom #column2 a
{
	color: #ffffff;
}

#careerHighlights
{
	margin: 111px 0 61px;
}

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

#careerHighlights ul
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

}

#careerHighlights li
{
	width: 150px;
	padding-top: 170px;
	margin: 0 18px 50px;
	text-align: center;
	background: url('../i/career-highlight1.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
	font-size: 18px;
	line-height: 24px;
	color: #3B3B3B;
}

#careerHighlights li:nth-child(2)
{
	background: url('../i/career-highlight2.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
}

#careerHighlights li:nth-child(3)
{
	background: url('../i/career-highlight3.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
}

#careerHighlights li:nth-child(4)
{
	background: url('../i/career-highlight4.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
}

#careerHighlights li:nth-child(5)
{
	background: url('../i/career-highlight5.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
}

#careerHighlights li:nth-child(6)
{
	background: url('../i/career-highlight6.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
}

#careerHighlights li:nth-child(7)
{
	background: url('../i/career-highlight7.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
}

#careerHighlights li:nth-child(8)
{
	background: url('../i/career-highlight8.svgz') center top no-repeat; /* data-uri */
	background-size: 140px 157px;
}

@media (min-width: 768px)
{

	#careerHighlights li
	{
		width: calc((100%/3) - 36px);
	}

	#careersTop #column1 li
	{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		justify-content: space-between;
	}

	.recruitmentcontact,
	#careersTop .box1
	{
		width: 50%;
	}

	#careersTop .box3
	{
		width: 100%;
	}

	#careerBioSpotlight ul li
	{
		width: 50%;
		clear: both;
	}

	#careerBioSpotlight ul li:first-child
	{
		float: right;
	}

	#careersBottom #column1
	{
		position: relative;
	}

	#careersBottom .box5
	{
		position: absolute;
		bottom: 0;
		right: 0;
		width: 50%;
		height: 50%;
		max-height: 100%;
	}
}

@media (min-width: 1280px)
{
	#careersTop
	{
		display: flex;
	}

	#careersTop #column1,
	#careersTop #column2
	{
		width: 50%;
	}

	#careersTop .box3
	{
		min-height: 0;
		height: 60vw;
		box-sizing: border-box;
	}

	#careers.fullWidth #careersTop .box4
	{
		height: 100%;
		max-height: none;
	}

	#careersBottom
	{
		display: flex;
	}

	#careersBottom #column1,
	#careersBottom #column2
	{
		width: 50%;
	}

	#careerBioSpotlight,
	#careerBioSpotlight ul.results_list
	{
		height: 100%;
	}

	#careerBioSpotlight li
	{
		height: 50%;
	}

	#careerBioSpotlight .photo
	{
		height: 100%;
	}

	#careerBioSpotlight .photo img
	{
		height: 100%;
		object-fit: cover;
		object-position: top right;
	}

	#careersTop .infographic #infinityGraphic
	{
		max-height: 392px;
	}

	#careerHighlights li
	{
		width: calc(25% - 36px);
	}

}

@media (max-width: 1279px)
{
	#careers.fullWidth #careersTop .box2 .embedWrapper video
	{
		width: 100%;
		height: auto;
	}

	#careers.fullWidth #careersTop .box4
	{
		width: 100%;
		max-width: 100%;
	}
}

@media (min-width: 1600px)
{
	#careerHighlights li
	{
		width: 150px;
	}
}

/* hopefully this makes it so edit icons don't keep getting messsed up	*/

.sp_pencil,
.sp_pencil img
{
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: normal !important;

	background: none !important;
	border: none !important;

	align-self: flex-start !important;
	flex-grow: initial !important;
	flex-shrink: initial !important;
	flex-basis: initial !important;
}

.sp_pencil img
{
	display: inline-block !important;
}

.sp_pencil::before,
.sp_pencil::after
{
	content: none !important;
}



body.halfBanner #bannerContent
{
	min-height: 300px;
	padding-top: 100px;
	box-sizing: border-box;
}


@media (min-width: 768px)
{
	#subscribeForm form > div > div
	{
		width: calc(50% - 20px)
	}

	#subscribeForm div.optionsWrapper
	{
		width: 100%;
	}

	#subscribeForm div.optionsWrapper > div
	{
		margin: 10px 0 0 0;
	}
}


/* Resource Disclaimer Message */

#resourcePopup
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 9999; /* so we can be over the header div */
	top: calc(50% - 5vh);
	left: 10px;
	height: 10vw;
	max-height: 80vh;
	width: calc(100% - 20px);
}

#resourcePopup:not(.open)
{
	display: none;
}

#resourcePopup > div
{
	position: relative;
	z-index: 999999;
	overflow: hidden;
	width: 100%;
	background: rgba(0,0,0,0.90);
	border-radius: 4px;
	color: #ffffff;
	/*background: rgba(255,255,255, 0.98);*/
	/*color: #666666;*/
	font-size: 1.1rem;
}

#resourcePopup > div > div
{
	margin: 0;
	padding: 1.8em 3.5em 1.8em 2.5em;
}

#resourcePopup > div div p
{
	margin: 0;
	padding: 0;
}

.noticebuttons
{
	margin-top: 1em;
}

#resourcePopup .noticebuttons > *
{
	margin-right: 1em;
}

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

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

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

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

@media (min-width: 768px)
{
	#resourcePopup
	{
		left: calc(50% - 30vw);
		width: 60vw;
	}

	#resourcePopup .closeButton
	{
		top: 15px;
	}
}


/* 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;
		overflow-y: auto;
		overflow-x: auto;
		opacity: 1;
		transform: none;
		transition: none;
	}

	*
	{
		background: none !important;
		color: black;
		overflow: visible !important;
		height: auto !important;
		-webkit-print-color-adjust: exact;
		transition-delay: unset !important;
		transition: none !important;
		transform: none;
	}

	.mobile,
	#siteSearch,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink,
	#cookiePopup,
	#cookieOptions,
	#jumpContent,
	#jumpMenu,
	#contentJump,
	#pageJump,
	#mainNav,
	#navJump,
	#searchJump,
	#footer,
	#navToggle,
	#headerCareers,
	#jumpPage,
	.itemShareButton,
	button.toggleExpand,
	.view_more,
	.mapit,
	.contentSection .sectionTitle,
	.photo .triggerPopupPlayer::before,
	form,
	#footer,
	video,
	#homeAnimation,
	#content::after,
	#alertMessage,
	#homeAnimation,
	#topNav,
	.toggleMore,
	.view_more,
	#preFooter,
	#topLinks,
	#resourcePopup
	{
		display: none !important;
	}

	#content
	{
		margin: 20px 0 !important;
	}

	body.itemDetailPage #mainContent
	{
		margin: 0
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6
	{
		-webkit-column-break-after: avoid;
		page-break-after: avoid;
		break-after: avoid-page;
	}

	p a,
	a,
	p,
	p span,
	span,
	h1,
	h2,
	h3,
	h4,
	li,
	ul li,
	ol li
	{
		color:#000000 !important;
	}

	body,
	#content
	{
		position: relative !important;
		width: 100% !important;
		background: none !important;

		/* cancel out flexbox and float */
		display: block;
		float: none;
		color:#000000 !important;
		padding: 0;
		margin: 0;
	}


	#header
	{
		height: auto;
		margin: 0 0 20px 0;
	}

	#subContent
	{
		width: 25%;
		float: left;
	}

	table
	{
		width: auto !important;
	}

	.people-item #subContent
	{
		width: 25%;
	}

	.people #subContent img
	{
		width: 100%;
		height: auto;
	}

	#subContent + #mainContent
	{
		width: 70%;
		padding: 0;
	}

	#mainContent #homeItems li
	{
		margin: 0 20px 0 0 !important;
	}

	#bannerContent
	{
		height: auto;
		padding: 0 !important;
		border: none;
	}

	.hasBanner #bannerContent
	{
		min-height: 300px !important;
		height: auto;
		padding: 0;
		border: none;
	}

	.people-item #bannerContent
	{
		height: auto !important;
		margin: 0;
		border-bottom: none;
	}

	body#firm-probono #bannerContent
	{
		height: 100px !important;
	}

	#bannerSubContent
	{
		position: static;
	}

	#careerSpot
	{
		margin: 30px 0 0 0;
	}

	#careerSpot + p
	{
		clear: both;
	}

	#careerSpot ul li
	{
		display: block;
		height: auto;
	}

	#bannerSubContent
	{
		height: auto;
	}

	#bannerSubContent ul li:before
	{
		content: ">";
	}

	#firm-recognition #mainContent p img
	{
		width: 100%;
		height: auto;
	}

	#content #bioSpotlights li
	{
		display: inline-block;
	}

	#bioList .results_list > div
	{
		display: block;
	}

	#bioList .results_list > div .title
	{
		width: 170px;
	}

	#bioList .results_list > div .position
	{
		position: static;
		width: 170px;
	}

	#bioList .results_list > div .office
	{
		width: 100px;
		margin: 0 20px;
	}

	#bioList .results_list > div .phone
	{
		width: auto;
	}

	#bioPhoto,
	.sideStaticImage
	{
		width: 100%;
		height: auto;
	}

	#officePhoto
	{
		width: 70%;
		height: auto;
	}

	.people-item #bannerContent > *
	{
		position: static;
	}

	#officeInfo
	{
		width: 28%;
		padding: 0 0 0 2%;
	}

	#officeBanner,
	.services-item #bannerContent
	{
		width: 100%;
		height: auto;
	}

	#tabContent > div,
	#office_bio > div,
	.areaSection > div
	{
		display: block !important;
	}

	#contactOfficeList > div,
	#contactOfficeList > .rowEnd
	{
		display: inline-block;
		margin: 0 30px 0 0 !important;
	}

	.sp_map
	{
		display: inline-block;
	}

	#office_bio h2:after,
	.services-item .expandable h2:after
	{
		content: "" !important;
	}

	#serviceList > ul > li > ul
	{
		display: block;
	}

	.addToggle:after
	{
		content: "" !important;
	}

	.js #bio_news .results_list > li:nth-child(n+4),
	.js #bio_event .results_list > li:nth-child(n+4),
	.js #bio_publication .results_list > li:nth-child(n+4)
	{
		display: list-item;
	}


	.results_list
	 /*these results_lists often expand to reveal more content.  The height and max-height need to be set to 100% so content is not hidden */
	{
		height: auto !important;
		max-height: 100% !important;
	}

	img
	{
		page-break-inside: avoid;
	}


	/* Refresh Print CSS 8/13/21 */

	#content
	{
		display: block !important;
		clear: both !important;
		width: 100% !important;
	}

	#header
	{
		display: block !important;
		position: relative !important;
		clear: both !important;
		width: 100% !important;
		margin-top: 0px;
		margin-bottom: 0px;
		padding: 0;
		left: 0 !important;
		top: 0 !important;
		background-image: none;
		border-top: 130px solid #05192e !important;
	}

	#logo
	{
		display: block !important;
		position: relative !important;
		top: 0;
		left: 0;
		padding-top: 0;
		margin-left: 40px;
		margin-top: -94px;
		max-width: 190px;
		margin-left: 12px;
		width: 290px !important;
	}

	#searchJump
	{
		display: none;
	}

	/* homepage update*/

	#homePageContent
	{
		display: block !important;
		left: 0 !important;
		width: 100% !important;
	}

	#homeAnimation .image::after,
	#homeAnimation #pager::before,
	#lowerFooter::before,
	#homePageContent::before,
	#footer::before,
	#lawyerSearch::before,
	#otherProfessionals::before,
	body.services-item #bannerSubContent::before,
	#content #tabLinks::before,
	#bannerContent .subNavList::before,
	body.people-item #bannerContent::before,
	.offices-item #bannerContent::before
	{
		display: none;
	}

	.fastfacts
	{
		display: none;
	}

	#homePageContent #topRow .results_list > div,
	#homePageContent #column1 .results_list > div,
	#homePageContent .box2 a,
	#homePageContent .box6 a,
	#homePageContent .box5 a
	{
		display: block;
		height: auto;
	}

	#homePageContent .box1,
	#homePageContent .box3,
	#homePageContent .box4,
	#homePageContent .box7,
	#homePageContent .image2,
	#homePageContent .image6,
	#homePageContent .image5,
	#blogSubscribe
	{
		display: none !important;
	}

	#homePageContent .box2 .content,
	#homePageContent .box6 .content,
	#homePageContent .box5 .content
	{
		display: block;
		padding: 20px !important;
		background: none !important;
	}

	#homePageContent .box2 a,
	#homePageContent .box6 a,
	#homePageContent .box5 a
	{
		padding: 0;
	}

	#homePageContent #column1,
	#homePageContent #column2
	{
		width: 48% !important;
		float: left !important;
	}

	#homePageContent #column1
	{
		margin-right: 10px !important;
	}

	/* practice/service landing page*/

	#bannerText
	{
		clear: both;
	}

	#serviceList
	{
		position: relative;
		width: 100%;
		left: 0 !important;
	  }

	  #serviceList ul
	  {
		  display: block !important;
	  }

	  #serviceList ul li
	  {
		  display: block !important;
		  width: 24% !important;
		  float: left !important;
	  }

	  #serviceList .title
	  {
		  position: relative;
		  display: block;
		  min-height: 90px !important;
		  padding: 10px 0 0 0 !important;
	  }

	/* practice individual page */

	#area_subareas
	{
		width: 100%;
		clear: both;
	}

	#area_subareas ul
	{
		display: block !important;
	}

	#area_subareas ul li
	{
		width: 24% !important;
		min-height: 0 !important;
	}

	#area_subareas ul li:nth-child(n+9)
	{
		display: block !important;
	}

	#area_subareas a
	{
		display: block !important;
		padding: 10px !important;
	}

	#subContent .ITEM_SEARCH li:before
	{
		display: block;
	}

	.services-item #subContent
	{
		float: right !important
	}

	body.services-item #bannerSubContent
	{
		clear: both;
	}

	#subContent #area_bio_contact .contact
	{
		position: relative !important;
	}

	/* people landing */

	body.tallBanner #bannerText
	{
		padding-top: 20px !important;
	 }

	 #peopleFooter
	 {
		 display: none;
	 }

	 #bioSpotlights ul
	 {
		 display: block !important;
	 }

	 #bioSpotlights li
	 {
		 width: 24% !important;
		 float: left !important;
	 }

	 #bioSpotlights .nametitle,
	 #careerBioSpotlight .content
	 {
		 position: relative !important;
		 padding: 10px 10px 14px !important;
	 }

	 #bioSpotlights .spottext
	 {
		 padding: 10px !important;
	 }

	/* office landing */

	#contactOfficeList > div,
	#contactOfficeList > .rowEnd
	{
		width: 32% !important;
		float: left;
		padding: 10px !important;
	}

	.offices #subContent
	{
		display: none;
	}

	.offices #mainContent
	{
		width: 100% !important;
	}

	/* careers landing */

	.recruitmentcontact,
	.recruitmentcontact,
	#careersTop .box1,
	.infographic,
	#careersTop .recruitmentcontact,
	#careersTop .box3
	{
		display: none;
	}

	#careerHighlights
	{
		display: block;
		width: 100%;
		clear: both;
	}

	#careerHighlights ul
	{
		display: block !important;
	}

	#careerHighlights li
	{
		padding-top: 0 !important;
		background: none !important;
		float: left;
	}

	#careersBottom
	{
		display: block !important;
	}

	#careerBioSpotlight ul li:first-child
	{
		float: none;
	}

	#bioSpotlights .nametitle, #careerBioSpotlight .content
	{
		padding: 10px !important;
	}

	#careerBioSpotlight .content
	{
		position: relative !important;
	}

	#careersBottom #column2 li
	{
		padding: 10px !important;
	}

	#careersBottom #column2 .image6
	{
		margin: 10px;
	}

	#careersBottom #column1,
	#careersBottom #column2
	{
		width: 48% !important;
		float: left;
	}

	#careers #bannerContent
	{
		display: none;
	}

	#careerHighlights
	{
		margin: 0 !important;
	}

}

/* END PRINT CSS -------------------------------------------------> */
