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

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

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

	font: 400 17px/1.7 'sourcesans', Helvetica, Arial, sans-serif;
	color: #666666;
}

body
{
	position: relative;
	min-width: 320px;
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 10px 0 10px;
	background: #fff;
	box-sizing: border-box;
}

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

@media (max-device-width: 768px)
{
	body
	{
		overflow: hidden;
	}
}

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

p
{
	margin: 1.3em 0 .875em 0;
}

#mainContent p:first-of-type
{
	margin-top: 0;
}

@media (min-width: 768px)
{
	#mainContent p
	{
		font-size: 1.125rem;
	}

	/*#mainContent > p:first-of-type:first-line
	{
		line-height: 32px;
	}

	#mainContent > p:first-of-type
	{
		margin: 20px 0 0 0;
	}

	#mainContent > p:first-of-type::first-letter
	{
		font-size: 48px;
		line-height: 24px;
	}*/
}

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

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

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

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

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

sup, sub
{
	line-height: 0;
}

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

#mainContent a
{
	color: #3375a4;
}

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

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

h1, h2, h3, h4, h5, h6
{
	margin: 0;
	padding: 0;
	line-height: normal;
}

h1,
body#careers #careerSpotlight h2
{
	display: inline-block;
	position: relative;
	padding: 5px 0 5px 0;
	color: #00274d;
	font-weight: 700;
	font-size: 2.4rem;
	letter-spacing: 7px;
	text-transform: uppercase;
	border-bottom: 3px solid #00274d;
}

h1#pageTitle,
body#careers #careerSpotlight h2
{
	margin: 21px 0 43px 0;
}

body.attorneys-item h1#pageTitle
{
	margin: 0 0 0px 0;
	border-bottom: 0px solid #00274d;
	line-height: 40px;
}

body.practices-item h1#pageTitle
{
	border-bottom: 0px solid #00274d;
	margin-bottom: 20px;
}

body.practices-item h1#pageTitle:after
{
	content: '';
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 54px;
	border-bottom: 3px solid #00274d;
}

body.about-news-item h1#pageTitle,
body.experience-item h1#pageTitle
{
	margin: 21px 0 2px 0;
	border-bottom: 0px solid #00274d;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 2px;
	text-transform: none;
}

h2
{
	padding: 12px 0 8px 0;
	color: #850600;
	font-weight: 700;
	font-size: 1.3125rem;
	letter-spacing: 2px;
	text-transform: uppercase;
}

#subContent h2
{
	padding: 12px 0 2px 0;
}

h3
{
	padding: 5px 0 5px 0;
	color: #000;
	font-size: 1.35rem;
	font-weight: normal;
}

h4
{
	text-transform: uppercase;
}

h5
{
	padding: 5px 0 5px 0;
	font-size: 1.25rem;
}

/* Reserved for Print Pilot */
h6
{
	font-weight: bold;
	font-size: 1em;
}

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

ol
{
	padding-left: 1em;
}

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

li ~ li
{
	margin-top: .5em;
}

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

ul li li
{
	list-style: disc;
}

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

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

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

img
{
	border: 0;
}

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

.editableWrapper
{
	display: inline;
}

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

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

	body.about-news-item h1#pageTitle,
	body.experience-item h1#pageTitle
	{
		margin: 0;
	}

	p
	{
		margin: 0 0 1rem;
	}
}


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

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

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

#footer:before,
#mainNav:before
{
	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);
	content: '';
	width: 100vw;
	background: inherit;
}


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

#header
{
	position: fixed;
	z-index: 200;
	top: 0;
	left: 0px;
	width: 100%;
	height: 226px;
	background: #ffffff;
	box-sizing: border-box;
}


@keyframes slidein
{
	0%
	{
	    top: -231px;
	}

	100%
	{
		top: 0;
	}
}


@media (min-width: 768px)
{

	#index #header
	{
		top: -231px;
		animation-name: slidein;
		animation-duration: 1.5s;
		animation-timing-function: ease;
		animation-delay: .5s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		animation-play-state: running;
	}
}

#headerInner
{
	position: relative;
	max-width: 1000px;
	margin: 0px auto;
	padding: 0 10px 0 10px;
}

#logo
{
	float: left;
	margin: 47px 0 0 0;
}

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

/*
#upperSearchLink
{
	display: block;
	width: 26px;
	height: 22px;
	background: #ffffff url('../i/icon-search.svgz') center center no-repeat;
	border-radius: 2px;
}
*/

#topLinks
{
	position: absolute;
	top: 10px;
	right: 10px;
}

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

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

#topLinks li#upperIcon_search
{
	width: 15px;
	height: 22px;
	background: url('../i/upper-icon-search.png') 0px 7px no-repeat; /* data-uri */
}

#topLinks li#upperIcon_print
{
	width: 19px;
	height: 22px;
	background: url('../i/upper-icon-print.png') 0px 7px no-repeat; /* data-uri */
}

#topLinks li#upperIcon_share
{
	width: 16px;
	height: 22px;
	background: url('../i/upper-icon-share.png') 0px 7px no-repeat; /* data-uri */
}

#topLinks li#upperIcon_share > div
{
	width: 16px;
	height: 22px;
}

#topLinks li#upperIcon_linkedin
{
	width: 16px;
	height: 22px;
	background: url('../i/upper-icon-linkedin.png') 0px 7px no-repeat; /* data-uri */
}

#topLinks a
{
	display: block;
	width: 100%;
	height: 100%;
	color: #a5a5a5;
	font-size: 10px;
	text-transform: uppercase;
}

#topLinks > div
{
	width: 16px;
	height: 15px !important;
}

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

#topSearch
{
	overflow: hidden;
	margin-left: 0 !important;
}

#topSearch form
{
	margin: 0px 0 0 0;
	width: 0;
	max-width: 200px;
	height: 30px;
	/*background:  #ebebeb;*/
	font-size: 11px;
	line-height: 14px;
	-webkit-border-radius: 4px 4px 4px 4px;
	border-radius: 4px 4px 4px 4px;

}

#topSearch.open form
{
	width: 49vw;
}

#topSearch input
{
	float: left;
	margin: 0;
	padding: 6px 4px 0 0;
	border: 0px;
	background:  #ebebeb;
	height: auto;
}

#topSearch button
{
	position: absolute;
	top: 6px;
	right: 0;
	cursor: pointer;
	border: 0;
	background: transparent;
}

#topSearch button img
{
	padding-right: 0px;
}

#topSearch input#searchtext
{
	width: 100%;
	height: 30px;
	margin: 0px 0 0 2px;
	padding: 2px 35px 2px 5px;
	border: 0;
	font:inherit;
	font-size: 14px;
	font-weight: normal;
}






@media (max-width: 919px)
{
	#header
	{
		position: relative;
		height: 130px;
	}

	#topLinks
	{
		position: absolute;
		top: 10px;
		right: 60px;
	}

	/*#topSearch form
	{
		display: none;
	}*/
}



@media (max-width: 768px)
{

	#logo
	{
		float: none;
		width: 100%;
		max-width: 450px;
	}

	#logo img
	{
		width: 100%;
	}

	#headerInner
	{
		display: -webkit-flex;
		display: flex;
		flex-direction: column;
		-webkit-flex-direction: column;
		padding: 0;
	}

	#header
	{
		height: 100px;
	}
}

@media (min-width: 1035px)
{
	#topLinks
	{
		top: 74px;
		right: 0;
	}
}

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

#mainNav
{
	position: relative;
	line-height: normal;
	background: #ffffff;
}

/* base style resets */

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

#mainNav > ul
{
	width: calc(100% + 20px);
}

#mainNav a
{
	display: block;
	padding: 5px 25px;
	color: #333333;
	line-height: 20px;
}

#mainNav li:hover > a
{
	color: white;
	text-decoration: none;
}

#mainNav > ul > li:hover > a
{
	color: #333333;
}

#mainNav > ul > li:hover > a:after
{
	content: '';
	position: absolute;
	right: 25px;
	left: 25px;
	bottom: 0;
	border-bottom: 3px solid #850600;
}

#mainNav li ul a
{
	color: #333333;
}


/* main nav tab current page highlight */
/*#mainNav .current > a:not(:hover)*/
#mainNav .current > a
{
	display: inline-block;
	position: relative;
	color: #333333;
}

#mainNav > ul > li.current > a:after
{
	content: '';
	position: absolute;
	right: 25px;
	left: 25px;
	bottom: 0;
	border-bottom: 1px solid #333333;
}


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

#mainNav > ul > li > ul .current > a
{
	border-bottom: 0px solid black;
}


/* main nav items */
#mainNav > ul ul
{
	display: none;
	position: absolute;
	background: rgba(212,217,223, 0.93);
	padding: 10px 0 18px 0;
	margin-left: 25px;

	/*** un-comment to center the drops***
	width: 300px;
	left: calc(50% - 150px);
	/***/
}

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

@media (min-width: 920px)
{
	#navJump, #topJump
	{
		display: none;
	}

	#mainNav
	{
		position: fixed;
		z-index: 20000;
		top: 130px;
		right: 0;
		left: -10px;
		width: 1020px;
		margin: 0px auto;

	}



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

	#mainNav > ul :hover > ul
	{
		display: block;
	}

	/* push double drops out the width of the parent */
	#mainNav > ul li > ul ul
	{
		top: 0px;
		left: 100%;
	}

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



@media (min-width: 768px)
{

/*	#header.animate
	{
		top: 0px;
	}

	#mainNav.animate
	{
		top: 140px;
	}*/

}


/* Mobile navigation ------------------------------------------------> */

@media (max-width: 919px)
{
	#mainNav
	{
		position: absolute;
		z-index: 300;
		top: 0;
		left: -400px;
		max-width: calc(100% - 80px);
		height: 100vh;
		padding: 10px;
		background: #0b3c5d;
		box-sizing: border-box;
		box-shadow: 0 0 20px 5px rgba(0,0,0,.8);
		transition-duration: 0.1s;
	}

	#mainNav:before
	{
		display: none;
	}

	#mainNav:target,
	#mainNav.target
	{
		left: -10px !important;
	}

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

	#mainNav li ul
	{
		display: none !important;
	}

	#mainNav li a
	{
		display: inline-block;
		color: #f2f2f2;
		font-size: 1.5rem;
		line-height: 2.25rem;
	}

	#mainNav li a:hover
	{
		display: inline-block;
		color: #cccccc !important;
	}

	#mainNav > ul > li:hover > a:after
	{
		border-bottom: 0px solid #850600;
	}

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

	#mainNav > ul > li.current > a:after
	{
		border-bottom: 0px solid #cccccc;
	}

	#topJump,
	#navJump
	{
		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		width: 0;
		height: 0;
		overflow: hidden;
		padding: 14px 28px 0 0;
		border: 0 solid black;
		border-width: 4px 0;
		cursor: pointer;
	}

	#navJump
	{
		z-index: 299;
		top: 10px;
		right: 10px;
	}

	#topJump::before,
	#topJump::after,
	#navJump::after
	{
		position: absolute;
		top: 5px;
		left: 0px;
		content: '';
		width: 100%;
		border-top: inherit;
	}

	#topJump
	{
		display: none;
		z-index: 300;
		background: black;
	}

	#mainNav.target ~ #topJump,
	#mainNav:target ~ #topJump
	{
		display: block;
	}

	#topJump:after,
	#topJump:before
	{
		left: 20%;
		width: 60%;
		border-color: #ffffff;
		border-radius: 2px;
		transform:rotate(-35deg);
	}

	#topJump:before
	{
		transform:rotate(35deg);
	}
}


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

#subNav,
#upperBanner #tabLinks
{
	position: absolute;
	left: 450px;
	top: 27px;
}

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

ul.subNavList li
{
	display: inline-block;
}

ul.subNavList li a
{
	display: block;
	padding: 4px 14px 4px 14px;
	color: #ffffff;
	font-size: 13px;
	letter-spacing: 2px;
	box-sizing: border-box;
	text-transform: uppercase;
}

@media (min-width: 768px)
{

	ul.subNavList li a:hover
	{
		color: #f3f3f3;
		text-decoration: none;
	}

	/* ul.subNavList li.hereParent > a */
	ul.subNavList li.here > a,
	ul.subNavList li.hereParent > a,
	body.experience-item ul.subNavList li:first-child > a,
	body.contact-item ul.subNavList li:first-child > a
	{
		border: 2px solid #dbe5f4;
		color: #ffffff;
	}

	ul.subNavList li.here > a:hover,
	ul.subNavList li.hereParent > a:hover,
	body.experience-item ul.subNavList li:first-child > a:hover,
	body.contact-item ul.subNavList li:first-child > a:hover
	{
		border: 2px solid #dbe5f4;
		color: #ffffff;
	}

	#pdfLink
	{
		position: absolute;
		left: calc(50% + 25vw);
		top: 27px;
	}


}

ul.subNavList li.here > a,
ul.subNavList li.hereParent > a,
body.experience-item ul.subNavList li:first-child > a,
body.contact-item ul.subNavList li:first-child > a
{
	border: 2px solid #dbe5f4;
}


@media (min-width: 1000px)
{
	#subNav
	{
		top: 24px;
	}


	ul.subNavList li a
	{
		padding: 7px 23px 7px 23px;
		font-size: 15px;
	}

	#pdfLink
	{
		position: absolute;
		left: 75%;
		top: 27px;
	}

}


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

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

	h2.sectionTitle
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 1px 0 0 0;
		padding: 13px 20px 13px 20px !important;
		background: #dddddd;
		color: #666666;
		font-size: 20px;
		box-sizing: border-box;
		text-decoration: none;
		cursor: pointer;
		
		letter-spacing: 7px;
    	text-transform: uppercase;
   		border-bottom: 3px solid #00274d;
	}

	h2.sectionTitle:hover
	{
		background: #cccccc;
	}

	h2.sectionTitle:after
	{
		content: '+';
		position: absolute;
		top: -1px;
		right: 10px;
		font-weight: 300;
		font-size: 2rem;
	}

	h2.sectionTitle.isOpen:after
	{
		content: '-';
	}

	.contentSection
	{
		display: block !important;
	}

	.contentSection > *
	{
		display: none;
	}

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


	body.contact-item h2.sectionTitle
	{
		display: none !important;
	}

	body.contact-item .contentSection > *
	{
		display: block !important;
	}

	#content > #subNav
	{
		margin-top: 0;
		position: static;
	}

	ul.subNavList li
	{
		display: block;
	}

	ul.subNavList li a,
	ul.subNavList li.here > a,
	ul.subNavList li.hereParent > a,
	body.experience-item ul.subNavList li:first-child > a,
	body.contact-item ul.subNavList li:first-child > a
	{
		color: #00274d;
	}

	ul.subNavList li.here > a,
	ul.subNavList li.hereParent > a,
	body.experience-item ul.subNavList li:first-child > a,
	body.contact-item ul.subNavList li:first-child > a
	{
		font-weight: bold;
	}

	#content > #upperBanner
	{
		height: auto !important;
	}

	body#index #content > #upperBanner
	{
		height: 200px !important;
	}

	h1#pageTitle
	{
		margin: 0 0 20px 0;
		font-size: 1.5rem;
		letter-spacing: 2px;
	}
	
	#tabViewAll
	{
		display: none !important;
	}

}

@media (min-width: 768px)
{
	#tabLinks
	{
		position: absolute;
		z-index: 300;
		top: 27px;
	}

	#tabLinks a
	{
		display: inline-block;
		position: relative;
		top: 1px;
		margin-right: 2px;
		padding: 4px 14px 4px 14px;
		color: #ffffff;
		font-size: 13px;
		letter-spacing: 2px;
		box-sizing: border-box;
		text-transform: uppercase;
		text-decoration: none;
	}

	#tabLinks .current
	{
		border: 2px solid #dbe5f4;
		color: #ffffff;
		cursor: default;
	}

	#tabLinks a:hover
	{
		color: #cccccc;
		text-decoration: none;
	}

	#tabLinks .current:hover
	{
		border: 2px solid #dbe5f4;
		color: #ffffff;
		cursor: default;
	}

	.js .contentSection
	{
		display: none;
	}

	.js .sectionTitle
	{
		display: none;
	}

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

	/*#mainContent #tabViewAll
	{
		display: inline-block;
		padding: 2px 10px;
		background: #850600;
		font-size: .825rem;
		color: #ffffff;
		text-transform: uppercase;
		letter-spacing: 1px;
		word-spacing: 2px;
	}*/

	body.contact-item #tabLinks
	{
		width: 150px;
		float: right;
		position: relative;
		top: inherit;
		margin: -50px 0 20px 0;
		text-align: right;
	}

	body.contact-item #tabLinks:after
	{
		/* make div stretch to height of content */
		display: block;
		clear: both;
		content: '';
	}

	body.contact-item #tabLinks a
	{
		top: inherit;
		margin: 0px;
		padding: 0px 0 0 22px;
		background: url('../i/viewall-arrow.png') 0px 10px no-repeat; /* data-uri */
		color: #333333;
		font-size: 17px;
		letter-spacing: inherit;
		text-transform: none;
	}

	body.contact-item #tabLinks a:hover
	{
		text-decoration: underline;
	}

	body.contact-item #tabLinks .current
	{
		display: none !important;
	}
}

@media (min-width: 1000px)
{
	#tabLinks
	{
		top: 24px;
	}

	#tabLinks a
	{
		padding: 7px 23px 7px 23px;
		font-size: 15px;
	}
}


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

#content
{
	position: relative;
	z-index: 100;
	height: auto !important;
	min-height: 350px;
	margin: 314px 0 0 0;
}

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

#content > div
{
	margin: 27px 0 0 0;
}

#content > #upperBanner
{
	position: relative;
	top: 0px;
	left: -450px;
	width: 1900px;
	height: 88px;
	margin-top: 0px;
}

#content > #upperBanner img
{
	display: block;
}

@media (max-width: 919px)
{
	#content
	{
		min-height: 50px;
		margin: 0px 0 0 0;
	}
}

@media (max-width: 768px)
{
	#content > #upperBanner
	{
		left: -900px;
	}

	#pdfLink
	{
		position: absolute;
		top: 27px;
		left: 900px;
	}

}

@media (min-width: 920px)
{

	body.loaded:not(#index) #header,
	body.loaded #logo,
	body.loaded #logo img,
	body.loaded:not(#index) #mainNav,
	body.loaded #topLinks,
	body.loaded :not(#index) #content,
	body.loaded #content > #upperBanner
	{
		-webkit-transition: all 750ms ease;
		-moz-transition: all 750ms ease;
		-ms-transition: all 750ms ease;
		-o-transition: all 750ms ease;
		transition: all 750ms ease;
	}

	#logo img
	{
		width: 712px;
		height: 68px;
	}


	body.scrolled:not(#index) #header
	{
		height: 105px;
	}

	body.scrolled:not(#index) #logo
	{
		margin: 10px 0 0 0;
	}

	body.scrolled:not(#index) #logo img
	{
		width: 400px;
		height: 38px;
	}

	body.scrolled:not(#index) #mainNav
	{
		top: 56px;
		left: -18px;
	}

	body.scrolled:not(#index) #topLinks
	{
		top: 20px;
	}

	body:not(#index) #content > #upperBanner
	{

		position: fixed;
		top: 226px;
		left: calc(50% - 950px);
		z-index: 100;

		/*position: fixed;
		top: 110px;
		left: calc(50% - 950px);
		z-index: 100;*/
	}


	body.scrolled #content
	{
		margin: 280px 0 0 0;
	}

	body.scrolled:not(#index) #content > #upperBanner
	{
		position: fixed;
		top: 105px;
		left: calc(50% - 950px);
		z-index: 100;
		border-bottom: 3px solid #850600;
	}
}

main
{
	display: block;
	margin: 27px 0 0 0;
	padding: 0 0 20px 0;
	box-sizing: border-box;
}

#subContent
{
	padding: 20px 0px 50px 0px;
	font-size: 94%;
	line-height: 1.5;
	box-sizing: border-box;
}

@media (min-width: 768px)
{
	/* #mainContent:not(:only-child) we have another child '#banner' here so only will not cut it */
	#mainContent:not(:last-child)
	{
		float: left;
		width: calc(100% - 309px);
	}

	#subContent
	{
		float: right;
		clear: right;
		width: 241px;
	}
}

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

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

/* hide any items after first 3 */
.js .expandableList .results_list > li:nth-child(n+4)
{
	display: none;
}

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

#mainContent .xrefSection ul,
#mainContent .xrefSection:not(#bio_news) ul li,
#mainContent #bio_bars ul li,
#mainContent #bio_clerkships ul li,
#subContent .bioSection:not(#bio_education) ul,
#subContent .bioSection:not(#bio_education) ul li,
#subContent .areaSection ul,
#subContent .areaSection ul li,
#subContent .itemSection ul,
#subContent .itemSection ul li,
#subContent .officeSection ul,
#subContent .officeSection ul li,
#mainContent #bio_area ul,
#mainContent #bio_area ul li
{
	list-style: none;
	margin-left: 0;
}

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

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

#pullQuote
{
	float: right;
	width: 300px;
	margin: 178px 0 0px 48px;
	border-top: 1px solid #00446a;
	color: #00446a;
	font-family: Times, Georgia, serif;
	font-style: italic;
	font-size: 1.3rem;
	text-align: center;
}

#pullQuote h2
{
	margin: 18px 0 5px 0;
	padding: 0 0 0 0;
	color: #00446a;
	font-size: 2rem;
	font-style: normal;
}

@media (max-width: 919px)
{
	#pullQuote
	{
		float: none;
		width: 100%;
		margin: 0px 0 0px 0px;
		border-top: 0px solid #00446a;
	}
}


/* Bio Directory */

#letterLinks
{
	margin: -10px 0px 38px -9px;
	color: #666666;
	font-family: "Times New Roman", serif;
	font-style: italic;
	text-transform: lowercase;
}

#letterLinks a
{
	color: #850600;
}

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

#letterLinks a,
#letterLinks span
{
	display: inline-block;
	float: left;
	width: 3.84%;
	font-weight: 300;
	font-size: 24px;
	text-align: center;
}

.bioList
{
	margin: 1rem 0 1em 0;
}

.bioList tr
{
	border-bottom: 1px solid #e1e1e1;
	padding: 1rem 0;
}

.bioList tr:first-child
{
	padding: 1rem 0;
	background: #ebebeb;
	border-bottom: 0px solid #e1e1e1;
	border-top: 1px solid #e1e1e1;
}

.bioList .results_list th
{
	font-size: 90%;
	text-transform: uppercase;
	font-weight: 400;
	color: #999999;
}

.bioList .results_list th:first-child
{
	padding-left: 10px;
}

.bioList .results_list td
{
	padding: 0;
	line-height: normal;
}

.bioList .results_list .title
{

	font-weight: 600;
	text-transform: uppercase;
}

.bioList .results_list .email a
{
	padding: 0 0 0 24px;
	background: url('../i/icon-email.png') 0px 6px no-repeat; /* data-uri */
}

.bioList .results_list .vcard a
{
	padding: 0 0 0 24px;
	background: url('../i/icon-vcard.png') 0px 6px no-repeat; /* data-uri */
}

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

.bioList ul
{
	padding: 0 0 12px 0;
}

.bioList ul li
{
	padding: 0 0 6px 0;
}


@media (min-width: 768px)
{
	.bioList .results_list td
	{
		padding: inherit;
	}

	.bioList td + td
	{
		padding-left: 1em;
		padding: 1rem 0;
	}
}

@media (max-width: 768px)
{
	#letterLinks a,
	#letterLinks span
	{
		width: 7.5%;
	}

	.bioList table.results_list tr:first-child
	{
		display: none !important;
	}
}


/* Bio Profile */

#bioPhoto
{
	display: block;
	max-width: 241px;
	padding: 42px 0 18px 0;
}

#bioInfoName
{
	margin: 50px 0 20px 0;
}

#bioInfo
{
	margin: 0 0 30px 0;
}

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

#bioTitle
{
	position: relative;
	padding: 0 0 12px 0;
	font-weight: 500;
	color: #999999;
	font-size: 18px;
	line-height: 30px;
	text-transform: uppercase;
}

#bioTitle:after
{
	content: '';
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 54px;
	border-bottom: 3px solid #00274d;
}

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

ul#bioContact li,
ul#bioContact li a
{
	color: #333333;
	font-size: 16px;
}

ul#bioContact li#phoneLine div
{
	display: inline;
}

ul#bioContact li div#bioPhone
{
	padding: 0 5px 0 24px;
	background: url('../i/icon-phone.png') 0px 0px no-repeat; /* data-uri */
}

ul#bioContact li div#bioPhone a
{
	padding: 0 5px 0 0px;
}

ul#bioContact li div#bioVcard
{
	overflow: visible;
	margin: 0 0 0 3px;
	padding: 0 0 0 24px;
	background: url('../i/icon-vcard.png') 0px 5px no-repeat; /* data-uri */
}

ul#bioContact li#bioEmail
{
	padding: 0 0 0 26px;
	background: url('../i/icon-email.png') 0px 8px no-repeat; /* data-uri */
}
ul#bioContact li#bioPDF
{
	padding: 0 0 0 26px;
	background: url('../i/icon-pdf-bio.png') 0px 0px no-repeat; /* data-uri */
}

#bio_education
{
	padding: 15px 0 25px 0 !important;
}

#bio_education p
{
	margin: 0.5em 0 0px 0;
}

#bio_education p:nth-of-type(1)
{
	margin: 1em 0 0px 0;
}

@media (max-width: 767px)
{
	#content #subContent
	{
		margin-top: 0;
		padding: 0;
	}

	#bioInfoName
	{
		margin-top: 0 !important;
	}

	#bioPhoto
	{
		padding: 20px 0 10px 0;
	}

	body.attorneys-item h1#pageTitle
	{
		padding-bottom: 0;
	}
}

/* Practice List */

/*div.listColumn
{
    -webkit-columns: 2;
       -moz-columns: 2;
	    columns: 2;
	-webkit-column-gap: 50px;
	-moz-column-gap: 50px;
	column-gap: 50px;

    margin: 1em 0 1em 0;
}*/


@media (min-width: 768px)
{

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

		width: 47.5%;
		float: left;

		min-height: 280px;
	}

	div.listColumn > ul > li:nth-child(even)
	{
		float: right;
	}

	div.listColumn > ul > li:nth-child(n+1):nth-child(odd)
	{
		clear: left;
	}
}

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

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

div.listColumn ul li
{
	padding: 5px 0 5PX 0;
	border-top: 1px solid #cccccc;
}

div.listColumn ul li .title
{
	color: #333333;
	font-weight: 700;
	text-transform: uppercase;
}

div.listColumn ul li .abstract
{
	font-size: 95%;
	font-style: italic;
}

@media (max-width: 768px)
{
	div.listColumn
	{
		-webkit-columns: 1;
		   -moz-columns: 1;
			columns: 1;
		-webkit-column-gap: 0px; /* Chrome, Safari, Opera */
			-moz-column-gap: 0px; /* Firefox */
			column-gap: 0px;
	}
}


/* Practice Profile */

#subContent > div:first-child
{
	margin: 19px 0 0 0;
}

#area_bio_contact ul
{
	margin-bottom: 28px;
}

#area_bio_contact ul li
{
	clear: left;
}

#area_bio_contact ul li div
{
	margin-left: 68px;
}

#area_bio_contact ul li div.photo
{
	margin-left: 0px;
}

#area_bio_contact ul li div.photo img
{
	display: block;
	float: left;
	max-width: 58px;
}

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

#area_pullquote
{
	color: #00446a;
	font-family: Times, Georgia, serif;
	font-style: italic;
	font-size: 1.3rem;
	text-align: center;
}

#area_pullquote h2
{
	margin: 18px 0 5px 0;
	padding: 0 0 0 0;
	color: #00446a;
	font-size: 2rem;
	font-style: normal;
}


/* News/Pub/Event type Listing */

.view_more a,
#emailDisclaimerButtons a,
#mainContent #tabViewAll,
input[type=submit],
button.toggleExpand span
{
	display: inline-block;
	width: auto;
	margin: 0 0 10px 0;
	padding: 1px 14px 1px 14px;
	background: #ebebeb;
	border: 1px solid #cccccc;
	color: #3375a4;
}

@media (max-width: 767px)
{
	#mainContent #tabViewAll
	{
		display: none;
	}
}

.view_more a:hover
{
	background: #868686;
	color: #ffffff;
	text-decoration: none;
}

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


/* News/Pub/Event type Profile */

#itemUpperDetails
{
	position: relative;
	margin: 0 0 30px 0;
	padding: 0 0 10px 0;
}

#itemUpperDetails:after
{
	content: '';
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 54px;
	border-bottom: 3px solid #00274d;
}

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

.itemList ul li
{
	list-style: none url('../i/viewall-arrow.png');
	padding-left: 10px;
	padding: 0 0 20px 0;
}

.itemList div.title
{
	font-weight: 600;
	font-style: italic;
}

.itemList div.itemdate
{
	color: #999999;
}

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

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


/* Experience Main Page */

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

.experienceSpotlight ul li
{
	padding: 5px 0 45px;
	position: relative;
}

.experienceSpotlight ul li:nth-child(n+6)
{
	display: none;
}

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

.experienceSpotlight ul li .title
{
	margin: 0 0 3px;
	color: #333333;
	font-size: 17px;
	line-height: 24px;
	font-weight: 700;
	/*font-family: 'Times New Roman', serif;*/
}

.experienceSpotlight ul li .title a
{
	color: inherit;
}

.experienceSpotlight ul li .photo,
.experienceSpotlight ul li .itemdate
{
	display: none;
}

.experienceSpotlight ul li .title
{
	text-transform: none;
	font-size: 24px;
	line-height: 32px;
}

.experienceSpotlight ul li .photo
{
	display: block;
}

#mainContent .experienceSpotlight ul li .abstract p
{
	font-size: 20px;
	line-height: 32px;
	font-style: normal;
}

.experienceSpotlight button.toggleExpand
{
	font-size: 1.25rem;
	color: #850600;
	text-transform: uppercase;
}

@media (min-width: 768px)
{

	.experienceSpotlight ul li:first-child .photo
	{
		float: right;
		padding: 10px 10px 0 60px;
	}

	.experienceSpotlight ul li .title
	{
		margin: 0 0 6px;
		font-size: 22px;
		line-height: 30px;
	}

	.experienceSpotlight ul li .abstract
	{
		line-height: 26px;
		font-size: 18px;
	}

	.experienceSpotlight ul li:first-child .title
	{
		text-transform: none;
		font-size: 24px;
		line-height: 36px;
		margin-bottom: 12px;
	}
}

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

.itemExperienceList ul li
{
	margin: 0 0 20px 0;
	padding: 6px 0 20px 0;
	border-top: 1px solid #cccccc;
}

.itemExperienceList div.title
{
	font-weight: 600;
	text-transform: uppercase;
}

.itemExperienceList .itemdate
{
	color: #999999;
	font-size: 15px;
}

.itemExperienceList div.abstract
{
	font-style: italic;
	font-size: 15px;
}



/* Contact Main Listing */

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

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

#officeList ul li
{
	float: left;
	width: calc(33.33% - 20px);
	margin: 0 20px 20px 0;
}

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

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

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

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

	.experienceSpotlight ul li .photo
	{
		float: none;
		margin: 10px 0;
	}
}


/* Office Profile Pages */

#officeAddress
{
	margin: 10px 0 20px 0;
	color: #850600;
	font-weight: 700;
	text-transform: uppercase;
}

body.contact-item #mainContent p > img
{
	float: none !important;
	margin: 10px 0 18px 0 !important;
	width: 100% !important;
	height: auto !important;
}


/* Catch-All Profile Pages */

#mainContent .bioSection,
#mainContent .areaSection,
#mainContent .itemSection
{
	padding: 0 0 8px 0;
	border-top: 3px solid #00274d;
}

#mainContent #bio_content
{
	padding-bottom: 0;
}

#mainContent .contentSection > div.bioSection:first-of-type,
#mainContent .contentSection > div.areaSection:first-of-type,
#mainContent .contentSection > div.itemSection:first-of-type
{
	border-top: 0px solid #00274d;
}

#subContent .bioSection,
#subContent .areaSection,
#subContent .itemSection
{
	padding: 15px 0 15px 0;
	border-top: 1px solid #00274d;
}


/* Home and News Page Blue Boxes */

#blueBoxes
{
	padding: 24px 0 14px 0;
}

#index #blueBoxes
{
	padding: 50px 0 20px 0;
}

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

#blueBoxes ul.results_list,
#blueBoxes ul.results_list li
{
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

#blueBoxes ul.results_list li
{
	position: relative;
	float: left;
	width: calc(25% - 10px);
	height: 150px;
	overflow: hidden;
	padding: 0 5px;
	margin: 0 0 11px 11px;
	background: #00274c;
	color: #859cb2;
	text-align: center;
	box-sizing: border-box;

	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	-webkit-flex-direction: column;

	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center

}


@keyframes boxmove
{
	0%
	{
		height: 0px;
	}

	100%
	{
		height: 150px;
	}
}

@media (min-width: 1025px)
{

	#index #blueBoxes
	{
		height: 150px;
	}


	#blueBoxes ul.results_list
	{
		overflow: hidden;
	}

	#blueBoxes ul.results_list li
	{

		height: 0px;

		animation-name: boxmove;
		animation-duration: 1s;
		animation-timing-function: ease;
		animation-delay: .75s;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
		animation-play-state: running;
	}

	#blueBoxes ul.results_list li .abstract
	{
		width: 214px;
	}
}

#blueBoxes ul.results_list li:first-child
{
	margin: 0 0 11px 0;
}

#blueBoxes ul.results_list li .abstract
{
	position: relative;
	padding: 0 8px 0px 8px;
}

#blueBoxes ul.results_list li a:not(.sp_pencil),
#blueBoxes ul.results_list li span:not(.sp_pencil)
{
	color: #859cb2;
}

#blueBoxes ul.results_list li a:hover
{
	color: #ffffff;
	text-decoration: none;
}

#blueBoxes ul.results_list li a.sp_pencil
{
	position: absolute;
	top: 10px;
	left: 10px;
}

@media (max-width: 1000px)
{
	#blueBoxes ul.results_list li
	{
		width: calc(50% - 10px);
	}

	#blueBoxes ul.results_list li:nth-child(3)
	{
		clear: left;
		margin: 0 0 11px 0;
	}
}

@media (max-width: 768px)
{
	#blueBoxes ul.results_list li
	{
		clear: left;
		width: calc(100% - 0px);
		margin: 0 0 11px 0;
	}

	body.attorneys #mainContent form a.clearAll
	{
		display: none;
	}
}

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

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

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

form > div > div
{
	position: relative;
	float: left;
	width: calc(50% - 12px);
	height: 30px;
	margin: 0 12px 12px 0;
}

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

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

form > div > div.radio_wrapper
{
	clear: both;
	float: none;
	height: auto;
	width: calc(100% - 7px);
	padding: 10px 0 5px 0;
}

form > div > div.checkbox_wrapper
{
	clear: both;
	float: none;
	height: auto;
	width: calc(100% - 7px);
	padding: 5px 0 10px 0;
}

/*
form > div > div.submit_wrapper
{
	width: calc(100% - 12px);
}
*/

form > p
{
	clear: both;
}

form > div > div.radio_wrapper > label
{
	position: relative;
}

/* hide the label via CSS by default if it has a value (class added in ItemSearch) */
.js form > div > div.hasValue > label
{
	visibility: hidden;
}

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

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

input[type=text],
input[type=password],
textarea,
select,
.customSelect,
.js form > div > div > label
{
	max-width: 558px;
	width: 100%;
	height: 30px;
	margin: 0;
	padding: 1px 7px 1px 7px;
	color: #666766;
	border: 1px solid #d6d6d6;
	font: normal 15px/1.8 Helvetica, Arial, sans-serif;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.js form > div > div > label
{
	position: absolute;
	top: 1px;
	left: 1px;
	border: 0;
	background: none;
}

.customSelect
{
    display: block !important;
    overflow: hidden;

    /* make room for the arrow */
    padding-right: 40px;
}

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

	/* 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;
	*/
	width: 13px;
	height: 9px;
	background: url('../i/select-dropdown.png') 0px 2px no-repeat;
}

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

.customSelectInner
{
	display: inline !important;
}

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

input[type=submit]
{
	width: auto;
	height: 30px;
	margin: 0 0 10px 0;
	padding: 1px 24px 1px 24px;
	background: #ebebeb;
	border: 1px solid #cccccc;
	font: normal 15px/1.8 Helvetica, Arial, sans-serif;
	cursor: pointer;
}

a.viewAll
{
	margin: 0 0 0 12px;
	padding: 0 0 0 22px;
	background: url('../i/viewall-arrow.png') 0px 6px no-repeat; /* data-uri */
	font-weight: 400;
}

input[type=submit]:hover
{
	background: #868686;
	color: #ffffff;
	text-decoration: none;
}

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


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

#emailField
{
	display: none;
}

body.attorneys #mainContent form
{
	margin: 0 0 0 0;
	padding: 0 0 50px 0;
	border-bottom: 1px solid #00274d;
}

body.attorneys #mainContent form a.clearAll
{
	position: absolute;
	bottom: 3px;
	right: 0px;
	font-size: 16px;
	font-weight: 300;
}


/* auto complete js */

.autocomplete-w1
{
	position: absolute;
	top: 0;
	left: 0;
	margin: 8px 0 0 6px;
	background: url('../i/autocomplete-shadow.png') no-repeat bottom right;
}

.autocomplete
{
	max-height: 350px;
	overflow: auto;
	margin: -6px 6px 6px -6px;
	background: #ffffff;
	border: 1px solid #999999;
	text-align: left;
	cursor: default;
	padding-left: 10px;
}

.autocomplete .selected
{
	background: #f0f0f0;
}

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

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

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

.autocomplete strong
{
	font-weight: bold;
	color: #3874a8;
}


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

#footer
{
	position: relative;
	margin: 1em 0 0 0;
	padding: .8em 0;
	color: #777777;
	font-size: 14px;
	font-weight: 400;
}

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

#footer a
{
	color: #777777;
}

#footer a:hover
{
	color: #0b3c5d;
	text-decoration: none;
}

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

#footer ul
{
	float: left;
}

#footer ul li
{
	float: left;
	margin-right: 1em;
}

#footer ul li#footerCopyright,
#footer ul li#footerAdvertising
{
	clear: left;
	float: none;
}

#footer p
{
	margin: 0;
	padding: 0;
	font-size: .9em;
}

#footerOffices
{
	float: left;
	margin-left: 118px;
	padding-left: 20px;
	border-left: 1px solid #d0d0d0;
}

@media (max-width: 919px)
{
	#footerOffices
	{
		float: none;
		clear: left;
		margin-left: 0px;
		padding-left: 0px;
		padding-top: 20px;
		border-left: 0px solid #d0d0d0;
	}
}


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

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

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

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

span.popupPlayerClose
{
	display: block;
	position: absolute;
	top: -15px;
	right: -15px;
	border-radius: 50%;
	width: 15px;
	height: 15px;
	background: #333333;
	color: #f1f1f1;
	font-size: 14px;
	line-height: 13px;
	text-align: center;
	cursor: pointer;
}

span.popupPlayerClose:hover
{
	background: #000000;
	color: #ffffff;
}

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

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

.popupPlayerPlaylist ul li
{
	width: 100%;
	margin: 1px 1px 1px 1px;
	padding: 10px 10px 10px 10px;
	background: #d5d4d4;
}

.popupPlayerPlaylist ul li:hover
{
	background: #c7c7c7;
	cursor: pointer;
}

.popupPlayerPlaylist ul li a
{
	text-decoration: none;
}

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

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

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

.popupPlayerSidebar > div ul,
.popupPlayerSidebar > div ul li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

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

.itemMultimediaList ul li .photo img,
.xrefMultimediaList ul li .photo img
{
	width: 130px;
}
*/


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

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

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

#emailDisclaimerContentWrapper
{
	padding: 20px 20px 0px 20px;
	text-align: center;
}

#emailDisclaimerButtons a
{
	margin: 10px;
}

span#emailPopupClose
{
	display: block;
	position: absolute;
	top: -15px;
	right: -15px;
	border-radius: 50%;
	width: 15px;
	height: 15px;
	background: #333333;
	color: #f1f1f1;
	font-size: 14px;
	line-height: 13px;
	text-align: center;
	text-indent: 1px;
	cursor: pointer;
}

span#emailPopupClose:hover
{
	background: #000000;
	color: #ffffff;
}

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

@media (max-width: 767px)
{
	#emailPopup
	{
		width: 86vw;
		left: calc(50% - 46vw);
		overflow: scroll;
	}
}



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

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

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

table.results_list td + td
{
	padding-left: 1rem;
}

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

	table.results_list th
	{
		display: none;
		background: red;
	}
}

.expandableHeading
{
	cursor: pointer;
}

.expandableHeading:after
{
	content: ' +';
}

.expandableHeading.expanded:after
{
	content: ' –';
}


/*SiteMap object */

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

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

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

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

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

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

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


/* Search Object Support */

.form-section-label
{
	margin: 1em 0 0 0;
	font-weight: bold;
}

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

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

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

#search .search_form label
{
	position: relative;
	display: inline;

}

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

#search .search_form input[type=radio]
{
	margin: 8px 4px;
}

#search .search_form input#searchtext
{
	width: 60%;
	max-width: 100%;
	height: 34px;
	margin: 0;
	padding: 0;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	color: #666766;
	border: 1px solid #d6d6d6;
	background: #ffffff;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

#search div.search_section_wrapper
{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;

}

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

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

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

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



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

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


.searchfoundtext
{
	font-weight: bold;
}

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

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

#search .link a
{
	color: #850600;
	font-weight: bold;
}

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


#search .searchBioWrapper
{
	display: -webkit-flex;
	display: flex;
	margin-bottom: 18px;
}

#search .searchBioPic
{
	padding: 0 0 9px 0;
	margin: 0;
}
#search .searchBioPic img
{
	padding: 0 27px 0 0;
}
#search .searchBioInfo .position
{
	font-size: 95%;
}

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



/* Map Object Support */

.sp_map
{
	margin: 8px 0 1em 0;
}

@media (max-width: 767px)
{
	.sp_map
	{
		height: 250px !important;
	}
}

.printMap
{
	display: inline-block;
	padding: 0px 0 0 22px;
	background: url('../i/viewall-arrow.png') 0px 10px no-repeat; /* data-uri */
	color: #333333;
	font-size: 17px;
}


/* buttons to look like links */
button.toggleExpand
{
	margin: 0 0 1.5em 0;
	padding: 0 !important;
	background: none !important;
	border: none;
	font: inherit;
	white-space: nowrap;
	cursor: pointer;
	color: #850600;
}

button.toggleExpand
{
	/*color: #3874a8;*/ /* inherit #333333 instead */
}


/* often copy/pasted from elsewhere */


/* Alignment */

.alignleft {
	float: left;
	margin: 0 1.5em .5em 0;
}
.alignright {
	float: right;
	margin: 0 0 .5em 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: .5em auto;
}


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

#index #content
{
	margin: 226px 0 0 0;
}

#index #content > #upperBanner
{
	height: 210px;
	margin-top: 0px;
}

#index #homeAnimation
{
	display: none;
}

#index #animationSlides div.results_list > div
{
	position: relative;
}

#index #homeAnimation #abstract
{
	position: absolute;
	top: 0px;
	width: 100% !important;
	left: 450px;
	z-index: 100;
}

#index #homeAnimation #abstract .animationAbstract
{
	width: auto !important;
	background: inherit !important; /* bug 47850  the js upgrade seems to force in a bg color, not sure why */
}

#index #images
{
	width: 100% !important;
	height: auto !important;
}

#index #images img
{
	display: block;
	width: 100% !important;
	height: auto !important;
}

#index #homeAnimation #abstract
{
	top: 100px;
	left: 450px;
	width: 1000px;
	max-width: calc(100vw - 20px);
	color: #000000;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
}

#index #homeAnimation #abstract a
{
	color: #000000;
}

#index #homeAnimation #abstract .whiteText,
#index #homeAnimation #abstract .whiteText a
{
	color: #ffffff;
}

#index #animationSlides div.results_list > div > div.abstract a
{
	text-decoration: none;
}

#index #newsTeaser
{
	padding: 40px 0 20px 0;
}

#index #newsTeaser ul.results_list,
#index #newsTeaser ul.results_list li
{
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

#index #newsTeaser ul.results_list li
{
	display: none;
	color: #000000;
	font-weight: 200;
	font-size: 30px;
	line-height: 38px;
	letter-spacing: 0px;
	word-spacing: 3px;
	text-align: center;
}

#index #newsTeaser ul.results_list li a
{
	color: #000000;
	font-weight: 500;
}

#index #newsTeaser ul.results_list li .title a:first-child:after
{
	content: '›';
	padding-left: 5px;
}

@media (max-width: 919px)
{
	#index #content
	{
		min-height: 50px;
		margin: 0px 0 0 0;
	}

	#index #newsTeaser
	{
		padding: 20px 0 0px 0;
	}

	#index #newsTeaser ul.results_list li
	{
		font-size: 26px;
	}
}

@media (max-width: 768px)
{

	#index #homeAnimation #abstract
	{
		width: calc(100vw - 30px) !important;
		left: 900px;
		height: 100px;
	}

	#index #animationSlides div.results_list > div > div.abstract
	{
		top: 70px;
		width: 100% !important;
	}

	#index #homeAnimation #abstract .whiteText, #index #homeAnimation #abstract .whiteText a
	{
		width: 100% !important;
		height: auto !important;
	}
}

/* Careers ------------------------------------> */

#careerSpotlight ul.results_list
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#careerSpotlight li
{
	flex: 0 1 450px;
	margin: 0 0 70px;
	padding: 0 20px 0 0;
	list-style: none;
	box-sizing: border-box;
	text-transform: uppercase;
}

#careerSpotlight li .image
{
	float: left;
	width: 200px;
	margin-right: 25px;
}

#careerSpotlight li .image img
{
	width: 100%;
	height: auto;
}

#careerSpotlight li .spotInfo
{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: calc(100% - 55px);
	padding: 40px 0 35px;
	box-sizing: border-box;
	font-size: 22px;
	line-height: 26px;
}

#careerSpotlight li .spotInfo:after
{
	position: absolute;
	bottom: 0;
	left: -25px;
	width: calc(100% + 25px);
	content: '';
	display: block;
	background: #00274d;
	height: 15px;
}

#careerSpotlight li .organization
{
	font-weight: 300;
	color: #000000;
}

#careerSpotlight li .title a
{
	text-decoration: underline;
}

#spotlightInfo
{
	padding-top: 80px;
	overflow: hidden;
}

#spotlightPhoto
{
	display: block;
	width: 300px;
	height: auto;
	float: left;
	margin-right: 50px;
}

body.careers-item h1#pageTitle
{
	padding: 0;
	margin: 0;
	border: none;
	line-height: 2.4rem;
}

#spotlightInfo #position
{
	font-size: 20px;
	text-transform: uppercase;
}

#spotlightInfo #position span
{
	font-weight: 600;
}

#spotlightInfo #position span + span
{
	color: #000000;
}

#spotlightInfo #position span + span:before
{
	position: relative;
	top: -1px;
	content: '|';
	margin-left: 7px;
	margin-right: 8px;
}

#spotlightInfo #abstract
{
	position: relative;
	padding-bottom: 30px;
}

#spotlightInfo #abstract:after
{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	display: block;
	width: 100%;
	height: 15px;
	background: #00274d;
}

#spotlightInfo #abstract p
{
	margin-top: 20px;
	/*font-size: 19px;
	line-height: 24px;
	color: #000000;*/
}

#spotlightInfo #abstract p:first-child::first-letter
{
	font-size: 72px;
	line-height: 58px;
	float: left;
	padding-top: 2px;
	padding-right: 6px;
	color: #666666;
}

body.careers-item #questions,
body.careers-item #summary
{
	margin-top: 50px;
	clear: both;
}

body.careers-item #questions,
body.careers-item #summary
{
	padding-bottom: 30px;
	border-bottom: 5px solid #666666;
}

body.careers-item #summary
{
	margin-bottom: 70px;
}

body.careers-item h5
{
	margin-top: 35px;
	color: #00274d;
}

body.careers-item h5 ~ p
{
	margin-top: 0px;
	/*color: #000000;*/
}

body.careers-item #summary
{
	/*color: #000000;*/
}

body.careers-item #summary strong
{
	color: #00274d;
}

@media (max-width: 1024px)
{
	#spotlightPhoto
	{
		width: 30%;
		min-width: 150px;
	}
}

@media (max-width: 767px)
{
	#spotlightPhoto
	{
		width: 50%;
		min-width: 280px;
		float: none;
	}

	#careerSpotlight li .image
	{
		width: 30%;
		min-width: 140px;
	}

	#careerSpotlight li .spotInfo
	{
		height: calc(100% - 20px);
	}
}

@media (max-width: 450px)
{
	#careerSpotlight li .image
	{
		float: none;
	}

	#careerSpotlight li .spotInfo
	{
		display: block;
		height: auto;
		padding-top: 0;
	}

	#careerSpotlight li .spotInfo:after
	{
		bottom: auto;
		top: -40px;
		z-index: -1;
		left: 0;
		width: 100%;
	}
}



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

#cookieBanner
{
	display: none;
	position: fixed;
	left: 80px;
	right: 80px;
	bottom: 0;

	z-index: 9999;
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem 2rem;

	color: white;

	overflow: visible !important;
}

#cookieBanner::before
{
	content: '';
	position: absolute;

	width: 100vw;
	left: calc(50% - 50vw);
	top: 0;
	bottom: 0;

	position: absolute;
	background: rgba(0,0,0,.85);
	z-index: -1;
}

#cookieBanner > div
{
	position: relative;

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

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

#cookieBanner p
{
	margin: 0 0 1em 0;
	padding: 0;

	color: inherit;
	font-size: 18px;
	line-height: 28px;
}

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

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

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

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

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

	display: flex;

	white-space: nowrap;
}

#cookieManage:after,
#cookieAccept:after
{
	content: '×'; /* &times; */
	font-size: 33px;
	display: block;
	line-height: .6;
	margin-left: 18px;
}

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

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

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

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

	#cookieBanner > div
	{
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

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

	#cookieBanner p
	{
		font-size: 15px;
		line-height: 1.5;
	}
}

#cookieOptions
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background: rgba(0,0,0,.5);
	z-index: 9999;

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

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

#cookieOptions > div
{
	position: relative;

	border: 8px solid #999;
	background: white;

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

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

	overflow: auto;
}

#cookieOptions h2
{
	padding: 0;
	margin-bottom: .5em;
}

#cookieOptions div + div h2
{
	float: left;
	clear: both;
}

#cookieOptions .toggleGroup
{
	float: right;
}

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



/* END DEFAULT CSS -----------------------------------------------> */


/* BEGIN PRINT CSS -----------------------------------------------> */

/* @media all and (max-width:1400px) /* use while programming */
@media print
{
	*
	{
		color: #333333;
	}

	.mobile,
	#topSearch,
	.view_more,
	.sp_map,
	.printMap,
	#letterLinks,
	#pdfLink,
	nav,
	#navJump,
	#footer,
	#topLinks,
	#subNav,
	form,
	h1.sectionTitle,
	#relatedMaterials,
	.toggleExpand,
	#bioVcard,
	.sp_map
	{
		display: none !important;
	}

	.contentSection,
	.contentSection > *,
	#content,
	.js #area_bio .results_list > li:nth-child(n+1),
	.js #industry_bio .results_list > li:nth-child(n+1),
	.js #office_bio .results_list > li:nth-child(n+1),
	#mainContent .xrefSection ul, #mainContent .xrefSection ul li,
	#subContent .bioSection:not(#bio_education) ul,
	#subContent .bioSection:not(#bio_education) ul li,
	#subContent .areaSection ul, #subContent .areaSection ul li,
	#subContent .itemSection ul, #subContent .itemSection ul li,
	#subContent .officeSection ul,
	#subContent .officeSection ul li, #mainContent #bio_area ul,
	#mainContent #bio_area ul li
	{
		display: block !important;
	}

	body.contact-item .contentSection .sp_map,
	body.contact-item .contentSection .printMap
	{
		display: none !important;
	}

	body,
	#content
	{
		position: relative !important;
		width: 100% !important;
		background: none !important;
		padding: 0;
		margin: 0;
	}


	#content:after
	{
		clear: both;
		display: table;
		content: '';
	}

	#content,
	#index #content
	{
		display: block;
		margin: 0;
	}

	#header
	{
		position: static;
		height: 110px;
	}

	#logo
	{
		margin: 25px 0 0 0;
	}

	#headerInner
	{
		padding: 0;
	}

	body
	{
		padding: 0 0 0 0;
	}

	#mainContent:not(:last-child)
	{
	    float: left;
	    width: 60%;
	}

	#mainContent
	{
		padding: 0;
	}

	#subContent
	{
	    float: right;
	    clear: none;
	    width: 35%;
	    margin-top: 27px !important;
	    padding-bottom: 0;
	}

	#bioInfo:after
	{
		clear: none;
	}


	#blueBoxes ul.results_list li
	{
		clear: none;
		width: calc(50% - 6px);
		margin-left: 0;
	}

	#blueBoxes ul.results_list li:nth-child(even)
	{
		margin-left: 12px;
	}

	#blueBoxes ul.results_list li a:not(.sp_pencil),
	#blueBoxes ul.results_list li span:not(.sp_pencil)
	{
		color: #ffffff;
	}

	#pullQuote
	{
	    float: right;
	    width: 40%;
	    margin: 150px 0 0px 48px;
	    border-top: 1px solid #00446a;
	    font-size: 1.2rem;
	}

	table.results_list td
	{
	    display: table-cell;
	    padding: 0 25px 0 0 !important;
	}

	table.results_list tr
	{
		display: table-row;
	}

	table.results_list td.vcardlink
	{
		display: none;
	}

	tbody tr:first-child th:last-child
	{
		display: none;
	}

	#bioInfoName
	{
		margin: 0;
	}

}

/* END PRINT CSS -------------------------------------------------> */

