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

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

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

	font: normal 18px/1.8 Lato, Arial, sans-serif;
	color: #353535;
}

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

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

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

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

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

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

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

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

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

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

sup, sub
{
	line-height: 0;
}

a
{
	color: #1595d3;
	text-decoration: none;
}

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

/* needed for IE11 */
main { display: block }

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

	text-shadow: -1px 0 0 white, 0 1px 0 white, 1px 0 0 white, 0 -1px 0 white, -1px -1px 0 white, 1px 1px 0 white, 1px -1px 0 white, -1px 1px 0 white;
}

/* 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;
	color: #00446a;
	line-height: normal;

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

h1
{
	margin: 0 0 15px 0;
	padding: 5px 0 3px 0;
	border-bottom: 2px solid #b6b7bd;
	color: #000000;
	font-size: 1.8rem;
	font-weight: 900;
	text-transform: uppercase;
}

h2
{
	margin: 0 0 0 0;
	padding: 12px 0 8px 0;
	font-size: 1.6rem;
	line-height: 1.2;
	color: #000000;
}

#subContent h2
{
	padding: 12px 0 4px 0;
	font-size: 1.10rem;
	text-transform: uppercase;
}


h3
{
	padding: 12px 0 4px 0;
	font-size: 1.35rem;
}

h4
{
	padding: 12px 0 4px 0;
	color: #000;
	font-size: 1.35rem;
	font-weight: inherit;
}

h5
{
	padding: 12px 0 4px 0;
	font-size: 1.10rem;
	text-transform: uppercase;
}

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

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

ol
{
	padding-left: 1em;
}

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

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

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

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

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

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

img
{
	border: 0;
}

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

@media (max-width: 767px)
{
	h1
	{
		font-size: 1.4rem;
	}

	h2
	{
		font-size: 1.3rem;
	}

	/* make wys tables take up full width on smaller screens */
	#mainContent table[style*=width]
	{
		width: 100% !important;
		height: auto !important;
	}
}

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


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

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

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

/*
#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: absolute;
	z-index: 5;
	top: 0px;
	left: 0px;
	right: 0px;
	width: 100%;
	height: 151px;
	background: rgba(0,0,0,0.7);
	box-sizing: border-box;
}

#logo
{
	position: relative;
	float: left;
	margin: 25px 0 0 30px;
}

#logo img#mainLogo
{
	display: block;
	max-width: 528px;
}

#logo img#anniversaryLogo
{
	display: block;
	position: absolute;
	top: -4px;
	left: 550px;
	width: 70px;
	height: 70px;
}

#topLinks
{
	float: right;
	margin-top: 38px;
}

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

#topLinks li
{
	display: inline-block;
	margin: 0 10px 0 0px;
}

#topLinks a
{
	display: inline-block;
	margin: 0 3px 0 3px;
	color: #fe2818;
	font-size: 18px;
	font-weight: 400;
	font-style: italic;
	vertical-align: middle;
}

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

#upperSearchLink
{
	display: block;
	width: 39px;
	height: 39px;
	background: rgba(255,255,255,0.16) url('../i/icon-search.svgz') 10px center no-repeat; /* data-uri */
	border-radius: 50%;
}

#upperSearchLink:hover
{
	background-color: rgba(255,255,255,0.36);
}

@media (max-width: 1024px)
{
	#header
	{
		position: relative;
		left: -10px;
		width: calc(100% + 20px);
		height: 120px;
	}

	#logo
	{
		float: left;
		margin: 58px 0 0 10px;
	}

	#logo img#mainLogo
	{
		display: block;
		width: calc(100% - 20px);
		max-width: 400px;
	}
	
	#logo img#anniversaryLogo
	{
		top: -2px;
		left: 400px;
		width: 50px;
		height: 50px;
	}

	#topLinks
	{
		position: absolute;
		top: 5px;
		right: 40px;
		float: none;
		margin: 0;
	}

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

	#topLinks a
	{
		margin: 0 3px 0 3px;
		font-size: 15px;
		font-weight: 400;
	}

	#upperSearchLink
	{
		width: 26px;
		height: 22px;
		background: rgba(255,255,255,0.8) url('../i/icon-search-gray.svgz') center center no-repeat; /* data-uri */
		border-radius: 2px;
	}

	#upperSearchLink:hover
	{
		background-color: rgba(255,255,255,0.8);
	}
}

@media (max-width: 767px)
{
	#logo img#mainLogo
	{
		max-width: 300px;
		margin-top: 8px;
	}
	
	#logo img#anniversaryLogo
	{
		top: -2px;
		left: 300px;
		width: 50px;
		height: 50px;
	}
}


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

#banner
{
	position: relative;
	left: -10px;
	width: calc(100% + 20px);
	/*min-height: 380px;*/
	/*max-height: 500px;*/
}

body.attorneys-item #banner
{
	min-height: 590px;
	overflow: hidden;
}

img#bannerImage
{
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	/*min-height: 380px;*/
}

/*
#bannerMask:after
{
	position: absolute;
	top: 0px;
	z-index: 2;
	content: ' ';
	width: 100%;
	height: 100%;
	background: url('../i/banner-mask.png') 0px 0px no-repeat;
}
*/

body.attorneys-item img#bannerImage
{
	width: auto;
	height: 590px;
	min-height: 590px;
}

#bannerContent
{
	position: absolute;
	z-index: 2;
	top: 10%;
	right: 5%;
	width: 30%;
}

#sectionTitle
{
	position: absolute;
	z-index: 2;
	bottom: 0px;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 1500px;
	margin: 0px auto;
	padding: 0 0 0 0;
	color: #ffffff;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 0.75;
	text-transform: uppercase;
	text-align: right;
	opacity: 0.27;
}

#bannerContentAbstract
{
	position: relative;
	width: 85%;
	color: #ffffff;
	font-size: 1rem;
}

@media (max-width: 1550px)
{
	#sectionTitle
	{
		width: calc(100% - 20px);
		padding: 0 10px 0 10px;
	}
}

@media (max-width: 1550px)
{
	body.attorneys-item img#bannerImage
	{
		right: 220px;
	}
}

@media (max-width: 767px)
{
	body.attorneys-item #banner
	{
		min-height: 0px;
	}

	body.attorneys-item img#bannerImage
	{
		right: 0px;
		width: 100%;
		height: auto;
		min-height: 0px;
	}

	#sectionTitle
	{
		font-size: 1.4rem;
		line-height: 0.75;
	}
}


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

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

/* base style resets */

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

#mainNav > ul > li > a
{
	font-size: 17px;
	text-transform: uppercase;
}

#mainNav li > a
{
	display: block;
	padding: 15px 1.4vw;
	color: white;
	line-height: 20px;
}

#mainNav li:hover > a
{
	background: rgba(0,0,0,0.40);
	color: #8ab16a;
	text-decoration: none;
}

#mainNav li ul a
{
	color: #ffffff;
	padding: 8px 1.4vw;
}


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


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


/* main nav items */
#mainNav > ul ul
{
	display: none;
	position: absolute;
	background: #000000;
	padding: 10px 0 18px 0;

	width: 350px;
	/*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: 1025px)
{
	#navJump, #topJump
	{
		display: none;
	}

	#mainNav
	{
		position: absolute;
		z-index: 9999;
		top: 100px;
		right: 10px;
	}

	#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
	{
		display: none !important;
		top: 0px;
		left: 100%;
	}

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


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

@media (max-width: 1024px)
{
	#mainNav
	{
		position: fixed;
		z-index: 99;
		top: 0;
		left: -400px;
		right: auto;
		max-width: calc(100% - 80px);
		height: 100vh;
		padding: 10px;
		background: rgba(0,0,0,0.9);
		box-sizing: border-box;
		box-shadow: 0 0 200px 15px rgba(0,0,0,.8);
		transition-duration: 0.5s;
	}

	#mainNav:before
	{
		display: none;
	}

	#mainNav:target,
	#mainNav.target
	{
		left: 0 !important;
	}

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

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

	#topJump,
	#navJump
	{
		display: block;
		position: absolute;
		z-index: 5;
		top: 14px;
		right: 10px;
		width: 0;
		height: 0;
		overflow: hidden;
		padding: 14px 28px 0 0;
		border: solid rgba(255,255,255,0.8);
		border-width: 4px 0;
		cursor: pointer;
	}

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

	#topJump
	{
		display: none;
		background: white;
	}

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

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

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


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

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

ul.subNavList li
{
	/*
	list-style: none url('../i/bullet-subnav.png');
	list-style-position: inside;
	*/
	list-style: none;

	margin: 0;
	padding: 8px 0 8px 28px;
	background: url('../i/bullet-subnav.png') 0px 14px no-repeat; /* data-uri */
	border-bottom: 1px solid #dedfe4;
}

ul.subNavList li a
{
	font-size: 20px;
	font-weight: 300;
	text-transform: uppercase;
}

ul.subNavList li ul
{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	border-top: 1px solid #dedfe4;
}

ul.subNavList li ul li
{
	padding-left: 30px;
}

ul.subNavList li ul li:last-child
{
	padding: 8px 0 0px 30px;
	border-bottom: 0px solid #dedfe4;
}

ul.subNavList li.here > a
{
	font-weight: 900;
}


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

@media (min-width: 1025px)
{
	#tabLinks
	{
		position: relative;
		margin: 1em 0px 2em 0px;
		border-bottom: 1px solid #cfd1d8;
	}

	#tabLinks a
	{
		display: inline-block;
		position: relative;
		margin: 0 0 0 20px;
		padding: 5px 0 10px 0;
		border-top: 5px solid #b6b7bd;
		color: #353535;
		font-size: 20px;
		font-weight: 500;
	}

	#tabLinks a:first-child
	{
		margin: 0 0 0 0;
	}

	#tabLinks .current
	{
		border-top: 5px solid #1595d3;
		color: #1595d3;
		text-decoration: none;
		cursor: default;
	}

	.js .contentSection
	{
		display: none;
	}

	.js .sectionTitle
	{
		display: none;
	}

	.js #tabLinks a#tabViewAll
	{
		position: absolute;
		bottom: -42px;
		right: 0px;
		border: none;
		font-size: 16px;
		color: #999999;
		text-transform: uppercase;
	}
}

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

	h2.sectionTitle
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 1px 0 0 0;
		padding: 13px 20px 13px 20px;
		background: #dddddd;
		color: #666666;
		font-size: 20px;
		box-sizing: border-box;
		text-decoration: none;

		cursor: pointer;
	}

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

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

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

	.contentSection:last-child
	{
		margin-bottom: 30px;
	}

	.contentSection
	{
		display: block !important;
	}

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

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


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

h1#pageTitle
{
	position: relative;
	max-width: 1500px;
	margin: 30px auto 30px auto;
}

@media (max-width: 767px)
{
	h1#pageTitle
	{
		margin: 30px auto 10px auto;
	}
}

#content
{
	position: relative;
	z-index: 1;
	height: auto !important;
	min-height: 350px;
	max-width: 1500px;
	margin: 30px auto 30px auto;
}

h1#pageTitle + #content
{
	margin: 0px auto 30px auto;
}

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

main
{
	display: block;
	box-sizing: border-box;
}

#subNav,
#subContent
{
	box-sizing: border-box;
}

#lowerContent
{
	clear: both;
	position: relative;
	width: 100%;
}

@media (min-width: 1025px)
{
	#mainContent:not(:only-child)
	{
		float: left;
		clear: left;
		width: calc(100% - 28% - 60px);
	}

	#subNav,
	#subContent
	{
		clear: right;
		float: right;
		width: 28%;
		/*max-width: 425px;*/
	}
}

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

	#mainContent
	{
		order: 1;
		clear: both;
		float: none;
		width: 100%;
		margin: 0 0 0 0;
		padding: 0 0 0 0;
	}

	#subContent
	{
		order: 2;
		clear: both;
		float: none;
		width: 100%;
		margin: 0 0 0 0;
		padding: 0 0 0 0;
	}

	#subNav
	{
		order: 3;
		clear: both;
		float: none;
		width: 100%;
		margin: 0 0 0 0;
		padding: 0 0 0 0;
	}

	#lowerContent
	{
		order: 4;
	}
}

#anniversarySideLogo
{
	position: absolute;
	top: -90px;
	left: -110px;
}

#anniversarySideLogo img
{
	display: block;
	width: 80px;
	height: 80px;
}

@media (max-width: 1750px)
{
	#anniversarySideLogo
	{
		clear: right;
		float: right;
		position: relative;
		top: inherit;
		left: inherit;
		width: 28%;
	}
}

@media (max-width: 1024px)
{
	#anniversarySideLogo
	{
		order: 4;
		clear: both;
		float: none;
		width: 100%;
	}
}

.sideStaticText p
{
	margin: 0.5em 0 1em 0;
	font-size: 15px;
	line-height: 1.4;
}

.sideStaticText li
{
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	line-height: 1.4;
}

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

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

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

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

/* if there are 5 or more, hide any items after first 3 */
.js .expandableList .results_list > li:nth-last-child(n+5) ~ 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 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
{
	list-style: none;
	margin: 0.5em 0em 0.8em 0;
	line-height: 1.4;
}

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

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

.sideStaticText p > a:not(sp_pencil) > img,
.sideStaticText p > img
{
	max-width: 100% !important;
	height: auto !important;
}

#areaContactBox,
.sideStaticText #contactMoreInfo
{
	margin: 32px 0 38px 0 !important;
	padding: 20px 18px 20px 18px;
	background: #e8e9ec;
	font-size: 18px;
	line-height: 1.6;
}

#areaContactBox p,
.sideStaticText #contactMoreInfo p
{
	font-size: 18px;
	line-height: 1.6;
}


/* Bio Directory */

.letterLinks
{
	font-weight: 300;
	font-size: 24px;

	margin: 10px 0px 34px 0px;
	color: #999999;
}

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

.letterLinks a,
.letterLinks span
{
	display: block;
	float: left;
	width: 35px;
	height: 35px;
	margin: 0 4px 4px 0;
	background: #1595d3 !important;
	border-radius: 50%;
	color: #ffffff;
	font-size: 0.9rem;
	line-height: 2.1;
	font-weight: 700;
	text-shadow: none !important;
	text-align: center;
}

.letterLinks span
{
	color: #cccccc;
}

.letterLinks > *:last-child
{
	margin: 0 0 4px 0;
}

.bioList
{
	padding: 30px 0 0 0;
}

.bioList .results_list
{
	display: flex;
	flex-wrap: wrap;
}

.bioList .results_list > div
{
	flex-grow: 1;
	float: left;
	width: calc(100% / 4 - 24px);
	max-width: calc(100% / 4 - 24px);
	/*flex-basis: calc(100% / 4 - 24px);*/
	/*flex-basis: calc(25% - 24px);*/
	min-height: 250px;
	margin: 0 32px 44px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #dedfe4;
	box-sizing: border-box;
}

.bioList .results_list > div:nth-child(4n)
{
	margin: 0 0 44px 0;
}

.bioList .results_list > div .directoryphoto
{
	position: relative;
	overflow: hidden;
}

.bioList .results_list > div .directoryphoto img
{
	position: relative;
	display: block;
	/*width: 180%;*/ /* chop the right side off with overflow rule above */
	width: 100%;
	/*margin-top: -28px;*/
	background: #f2f2f2;
}

.bioList .results_list > div .bioListingPerson
{
	position: relative;
	float: left;
	width: calc(100% - 92px);
	margin: 14px 10px 0 0;
}

.bioList .results_list > div .bioListingPerson .title a
{
	/*font-size: 1.2rem;*/
	font-weight: 700;
	line-height: 0.9;
	color: #333333;
}

.bioList .office ul,
.bioList .office li
{
	margin: 0;
}

.bioList ul li
{
	list-style: none;
	list-style-image: none;
}

.bioList .results_list > div .bioListingPerson .office a
{
	color: #333333;
}

.bioList .results_list > div .bioListingContact
{
	position: relative;
	float: right;
	width: 82px;
	margin: 18px 0 0 0;
}

.bioList .results_list > div .bioListingContact > div
{
	position: relative;
	float: left;
}

.bioList .results_list > div .bioListingContact > div:last-child
{
	margin-left: 12px;
}

#subContent #bioSpotlight
{
	margin: 0 0 50px 0 !important;
	cursor: pointer;
}

#subContent #bioSpotlight > h2
{
	text-align: center !important;
}

#subContent #bioSpotlight .info .title a:not(.sp_pencil)
{
	display: none;
}

#subContent #bioSpotlight .spotlightphoto
{
	position: relative;
	width: 100%;
	max-width: 190px;
	margin: 0px auto;
}

#subContent #bioSpotlight .spotlightphoto a,
#subContent #bioSpotlight .spotlightphoto a img
{
	display: block;
	position: relative;
	width: 100%;
}

#subContent #bioSpotlight .spotlightphoto:after
{
	position: absolute;
	top: 0px;
    left: 0px;
    content: ' ';
    width: 100%;
    height: 100%;
	background: url('../i/highlight-mask.png') 0px 0px no-repeat; /* data-uri */
}

@media (max-width: 1100px)
{
	.bioList .results_list > div
	{
		width: calc(100% / 3 - 24px);
		max-width: calc(100% / 3 - 24px);
	}

	.bioList .results_list > div:nth-child(4n)
	{
		margin: 0 32px 44px 0;
	}

	.bioList .results_list > div:nth-child(3n)
	{
		margin: 0 0 44px 0;
	}
}

@media (max-width: 900px)
{
	.bioList .results_list > div
	{
		width: calc(100% / 2 - 24px);
		max-width: calc(100% / 2 - 24px);
	}

	.bioList .results_list > div:nth-child(4n),
	.bioList .results_list > div:nth-child(3n)
	{
		margin: 0 32px 44px 0;
	}

	.bioList .results_list > div:nth-child(2n)
	{
		margin: 0 0 44px 0;
	}
}

@media (max-width: 767px)
{
	.bioList .results_list > div
	{
		width: 100%;
		max-width: none;
		min-height: auto;
	}

	.bioList .results_list > div
	{
		margin: 0 0 44px 0 !important;
	}
}


/* Bio Profile */

#bioInfo
{
	display: flex;
	position: absolute;
	z-index: 2;
	bottom: 40px;
	right: 8%;
	color: #ffffff;
}

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


#bioInfo a
{
	color: #ffffff;
}

#bioInfoLeft,
#bioInfoRight
{
	display: flex;
	flex-direction: column;
	width: calc(50% - 6px);
	height: 360px;
	max-width: 325px;
	width: 325px;
	padding: 30px 30px 30px 30px;
	box-sizing: border-box;
}

#bioInfoLeft
{
	margin-right: 12px;
	background: rgba(0,0,0,0.70);
}

#bioInfoRight
{
	background: rgba(124,156,98,0.75);
	background: rgba(21,149,211,0.75);
}

#bioNameWrapper
{
	flex-grow: 1;
}

#bioName
{
 	margin: 0 0 0 0;
 	padding: 0 0 0 0;
 	border: 0px;
 	color: #ffffff;
 	font-size: 1.7rem;
 	font-weight: 900;
 	text-transform: uppercase;
}

#bioTitle
{
	font-size: 1.2rem;
	color: #b7b7b7;
}

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

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

#bioInfoLeft ul li#bioVcard
{
	background: url('../i/bio-vcard.png') 0px 8px no-repeat; /* data-uri */
}

#bioInfoLeft ul li#bioEmail a,
#bioInfoLeft ul li#bioVcard a
{
	padding-left: 42px;
}

#bioInfoRight ul li
{
	display: inline-block;
	margin: 0 5px -20px 0;
	padding: 0;
}

#bioInfoRight ul li#bioPDF
{
	background: url('../i/bio-pdf.png') center center no-repeat; /* data-uri */
}

#bioInfoRight ul li#bioLinkedin
{
	padding-bottom: 6px;
	background: url('../i/bio-linkedin.png') center center no-repeat; /* data-uri */
}

#bioInfoRight ul li#bioTwitter
{
	background: url('../i/bio-twitter.png') center center no-repeat; /* data-uri */
}

#bioInfoRight ul li#bioPDF a,
#bioInfoRight ul li#bioLinkedin a,
#bioInfoRight ul li#bioTwitter a
{
	display: block;
	width: 41px;
	height: 30px;
	padding: 5px;
}

#bioInfoRight ul li#bioPDF:hover,
#bioInfoRight ul li#bioLinkedin:hover,
#bioInfoRight ul li#bioTwitter:hover
{
	background-color: #618058;
	border-radius: 4px;
	text-decoration: none;
	cursor: pointer;
}

#bioContactWrapper
{
	flex-grow: 1;
}

@media (max-width: 1500px)
{
	#bioInfo
	{
		right: 10px;
	}
}

@media (max-width: 1500px)
{
	#bioInfoLeft,
	#bioInfoRight
	{
		height: 260px;
		max-width: 270px;
		width: 270px;
		padding: 18px 18px 18px 18px;
	}

	#bioName
	{
		font-size: 1.5rem;
	}

	#bioTitle
	{
		font-size: 1.0rem;
	}
}

@media (max-width: 1024px)
{
	#bioInfo
	{
		display: block;
		top: 0px;
		bottom: inherit;
		right: 0px;
		left: 0px;
		height: 100%;
	}

	#bioInfoLeft
	{
		display: block;
		width: 100%;
		height: auto;
		max-width: none;
	}

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


	#bioInfoLeft #bioNameWrapper
	{
		float: left;
		width: calc(100% - 90px);
	}

	#bioInfoLeft ul
	{
		float: right;
		width: 70px;
	}

	#bioInfoLeft ul li
	{
		height: 30px;
		font-size: 0.7rem;
		line-height: 2rem;
	}

	#bioInfoRight
	{
		position: absolute;
		bottom: 10px;
		right: 10px;
	}
}

@media (max-width: 850px)
{
	#bioInfoRight
	{
		position: relative;
		top: inherit;
		bottom: inherit;
		right: inherit;
		left: -10px;
		width: calc(100% + 20px);
		height: auto;
		max-width: none;
		color: #ffffff;
	}

	#bioInfoRight a
	{
		color: #ffffff;
	}
}

@media (max-width: 767px)
{
	#bioInfo
	{
		position: relative;
	}

	#bioInfoRight ul li#bioPDF
	{
		display: none; /* bug 35288 */
	}
}


/* New bio layout */



body.attorneys-item.newLayout img#bannerImage
{
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	right: auto !important;
	left: auto !important;
	min-height: unset;
}

#bioInfoNew #bioPhoto 
{
	width: 100%;
	max-width: 315px;
	margin: 40px auto;
}

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

#bioInfoNew #bioInfoLeft #bioNameWrapper,
#bioInfoNew #bioInfoLeft ul
{
	float: none;
}

#bioInfoNew #bioInfoLeft ul li#bioEmail a,
#bioInfoNew #bioInfoLeft ul li#bioVcard a
{
	color: #ffffff;
}

#bioInfoNew #bioInfoLeft ul li#bioEmail,
#bioInfoNew #bioInfoLeft ul li#bioVcard
{
	margin-top: 20px;
}

#bioInfoNew #bioInfoLeft
{
	display: block;
}


@media (min-width: 768px)
{
	#bioInfoNew
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 55px 10px;
		box-sizing: border-box;

	}

	#bioInfoNew #bioPhoto
	{
		width: auto;
		margin: 0;
		/*order: 1;*/
		margin-right: 13px;
		width: 315px;
	}

	#bioInfoNew #bioInfoLeft 
	{
		position: relative !important;
		/*order: 2;*/
		width: calc(100% - 330px);
		padding: 25px 29px;
		box-sizing: border-box;
		margin: 0;
		max-width: unset !important;
		height: auto;
	}

	#bioInfoNew #bioInfoRight
	{
		/*order: 3;*/
		position: relative !important;
		margin: 13px 0 0 0;
		left: auto;
		right: auto;
		bottom: auto;
		height: auto;
		max-width: unset !important;
		width: 100%;
		margin: 13px 0 0 0;
		padding: 25px 29px;
		color: #ffffff !important;
	}

	#bioInfoNew #bioInfoRight a
	{
		color: #ffffff;
	}

	#bioInfoNew #bioLowerLeft
	{
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 25px 29px;
	}


}

@media (min-width: 1024px)
{
	#bioInfoNew 
	{
		padding-top: 200px;

	}


}


@media (min-width: 1280px)
{
	#bioInfoNew
	{
		flex-wrap: nowrap;
		max-width: 1500px;
		margin: 0 auto;
	}

	#bioInfoNew #bioPhoto
	{
		flex: 0 0 315px;
	}

	#bioInfoNew #bioInfoLeft
	{
		margin-right: 13px;
		flex: 0 1 541px;
	}

	#bioInfoNew #bioInfoRight
	{
		margin: 0;
		flex: 0 1 541px;
	}

	#bioInfoNew #bioName 
	{
		font-size: 45px;
	}
}

@media (min-width: 1540px)
{
	#bioInfoNew 
	{
		padding-left: 0;
		padding-right: 0;
	}
}

/* Practice List */

.practicesStatic
{
	padding: 0 25% 0 0;
}

#mainContent div.listColumnWrapper
{
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 20px 0 60px 0;
}

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

#mainContent div.listColumn
{
	float: left;
	width: calc(50% - 10px);
	border-bottom: 1px solid #b6b7bd;
}

#mainContent div.listColumn ul.results_list > li > .title
{
	display: inline;
}

#mainContent div.listColumnTwo
{
	margin-left: 20px;
}

#mainContent div.listColumn ul
{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

.js div.listColumn > ul > li > ul.hierList
{
	display: none;
}

#mainContent div.listColumn > ul > li
{
	list-style: none;
	background: url('../i/bullet-subnav.png') 0px 12px no-repeat; /* data-uri */
	position: relative;
	margin: 0 0 0px 0px;
	padding: 8px 40px 8px 0px;
	border-top: 1px solid #b6b7bd;
	font-size: 1.2rem;
}

#mainContent div.listColumn > ul > li > a
{
	display: inline-block;
	margin: 0 0 0 30px;
	padding: 0 0 0 0px;
}

#mainContent div.listColumn ul.hierList li,
#mainContent div.listColumn ul.hierList li a
{
	font-size: 1rem;
}

#mainContent div.listColumn ul.hierList li
{
	list-style: none;
	padding: 0px 0 0px 0px;
}

#mainContent div.listColumn ul ul
{
	margin: 0px 0 0 30px;
	padding-top: 0px;
}

#mainContent div.listColumn .title a.sp_pencil
{
	display: inline-block;
	margin-right: 3px;
}

#mainContent .listColumn .practiceExpander
{
	position: absolute;
	top: 20px;
	right: -10px;
	display: block;
	width: 15px;
	height: 15px;
	margin: 0 0 0 0;
	padding: 3px 10px 3px 10px;
	background: url('../i/toggle-plus.png') 0px 0px no-repeat; /* data-uri */
	cursor: pointer;
}

#mainContent .listColumn .open .practiceExpander
{
	background: url('../i/toggle-minus.png') 0px 0px no-repeat; /* data-uri */
}

#areaListExpandAll
{
	display: none; /* no longer have this ability */
	position: relative;
	z-index: 3;
	margin: 20px 0 0 0;
	padding: 4px 7px 4px 7px;
	background-color: #7d9b64;
	color: #ffffff;
	cursor: pointer;
	font-size: 0.9rem;
	text-transform: uppercase;
}

#areaListExpandAll:after
{
	content: ' +';
}

#areaListExpandAll.allAreExpanded:after
{
	content: ' -';
}

@media (max-width: 920px)
{
	.practicesStatic
	{
		padding: 0 0% 0 0;
	}

	#mainContent div.listColumn
	{
		float: none;
		width: calc(100% - 0px);
	}

	#mainContent div.listColumnTwo
	{
		margin-left: 0px;
	}
}




/* Practice Profile */

#areaPDF
{
	position: relative;
	width: 40px;
	height: 40px;
	background: #e8e9ec;
	border-radius: 50%;
}

#areaPDF:hover
{
	background: #ccc;
}

#areaPDF a
{
	display: block;
	width: 40px;
	height: 40px;
	font-size: 15px;
	font-weight: 900;
	line-height: 2.4;
	text-align: center;
	vertical-align: middle;
}

#areaPDF a:hover
{
	color: #ffffff;
	text-decoration: none;
}

#areaPageTitle
{
	margin-top: 20px;
	border-bottom: 0px;
}

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

	#areaPDF
	{
		display: none; /* bug 35288 */
	}
}


/* News/Pub/Event type Listing */

h2.newsroomHeader
{
	margin-bottom: 20px;
	border-bottom: 1px solid #b6b7bd;
}

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

.itemList > ul li
{
	list-style: none url('../i/bullet-subnav.png');
	margin: 0em 0em 1em 1em;
	font-weight: 700;
}

.itemList ul.formattedCriteria li
{
	list-style: none !important;
	margin-left: 0px;
	font-weight: 400;
}

p.numberResults
{
	font-weight: 700;
}

.view_more
{
	text-align: right;
	font-size: 0.8rem;
}

.register
{
	font-size: 0.8rem;
}

.view_more a,
.register a
{
	display: inline-block;
	width: auto;
	margin: 0 0 28px 0;
	padding: 0px 40px 0px 40px;
	background: #7d9b64;
	color: #ffffff;
	text-transform: uppercase;
	vertical-align: middle;
}

.register a
{
	margin: 0 0 0px 0;
	padding: 0px 10px 0px 10px;
	background: #ccc;
}

.view_more a:hover,
.register a:hover
{
	background: #868686;
	text-decoration: none;
}

.rsvpButton
{
	margin: 10px 0 0 0;
	text-align: left;
}


/* side spotlights */

#sideSpotlight
{
	max-width: 500px;
	margin: 20px 0 30px 0 !important;
}

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

#sideSpotlight ul li
{
	margin: 0 0 28px 0;
	padding: 0px 0px 30px 0px;
	background: #000000;
}

#sideSpotlight ul li .image img
{
	display: block;
	width: 100%;
}

#sideSpotlight ul li .title
{
	padding: 20px 20px 0px 20px;
	color: #ffffff;
	font-size: 1.3rem;
	line-height: 1.4;
}

#sideSpotlight ul li .title a
{
	color: #ffffff;
}

#sideSpotlight ul li .info .sideabstract:not(:empty)
{
	display: block;
	padding: 20px 20px 0px 20px;
	color: #ffffff;
	font-size: 0.9rem;
	/*text-transform: uppercase;*/
}


/* News/Pub/Event type Profile */

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

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

#itemDate
{
	font-weight: 700;
}

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

body.itemPage h1#pageTitle
{
	border-bottom: 0px;
}

@media (max-width: 767px)
{
	body.itemPage h1#pageTitle
	{
		margin-top: 0px;
	}
}


/* Contact Main Listing */

#officeList
{
	position: relative;
	width: 100%;
}

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

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

#officeList ul
{
	display: flex;
 	position: relative;
 	width: 100%;
 	margin: 0 0 0px 0;
}

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

#officeList ul li
{
	display: flex;
	position: relative;
	width: calc(100% / 2 - 22px);
}

#officeList ul li:nth-child(odd)
{
	margin-right: 44px;
}

#officeList ul li .photo
{
	flex: 1;
 	flex-basis: 50%;
 	position: relative;
 	float: left;
 	width: 50%;
 	max-height: none;
 	box-sizing: border-box;
}

#officeList ul li .photo a,
#officeList ul li .photo a img
{
	display: block;
 	width: 100%;
 	height: auto;
 	max-height: 425px;
}

#officeList ul li .info
{
	flex: 1;
 	flex-basis: 50%;
 	position: relative;
 	float: left;
 	width: 50%;
 	height: 100%;
 	padding: 20px 30px 8px 30px;
 	background: #1595d3;
 	border-left: 11px solid #ffffff;
 	color: #ffffff;
 	box-sizing: border-box;
}

#officeList ul li:nth-child(even) .info
{
	background: #77787b;
}

#officeList ul li .info *
{
	color: #ffffff;
}

#officeList ul li .info span
{
	display: block;
}

#officeList ul li .info span.title
{
	font-size: 1.2rem;
	font-weight: 700;
}

#officeList ul li .info span.title a:not(.sp_pencil):after
{
	display: inline-block;
	content: ' ';
	width: 20px;
	height: 20px;
	background: url('../i/white-dots.png') right 5px no-repeat; /* data-uri */
}

#officeList ul li .info span.title,
#officeList ul li .info span.address
{
	margin: 0 0 20px 0;
}

#contactNavigation
{
	clear: both;
	margin: 40px 0 40px 0;
	padding: 11px 0 11px 0;
	border-top: 1px solid #b6b7bd;
	border-bottom: 1px solid #b6b7bd;
}

#contactNavigation a
{
	display: inline-block;
	padding: 4px 0 4px 20px;
	background: url('../i/bullet-subnav.png') 0px 9px no-repeat; /* data-uri */
}

@media (max-width: 1382px)
{
	#officeList ul
	{
		display: block;
	}

	#officeList ul li
	{
		display: block;
		float: none;
		clear: left;
		width: 100%;
		height: 100%;
		margin-bottom: 40px;
		background: #1595d3;
	}

	#officeList ul li:nth-child(even)
	{
		background: #77787b;
	}

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

	#officeList ul li .photo
	{
		flex: none;
		width: 42%;
		border-right: 11px solid #ffffff;
	}

	#officeList ul li .photo a,
	#officeList ul li .photo a img
	{
		display: block;
		width: 100%;
		height: auto;
		max-height: none;
	}

	#officeList ul li .info
	{
		flex: none;
		width: 58%;
		border-left: 0px solid #ffffff;
	}

	#officeList ul li .info span.title,
	#officeList ul li .info span.address
	{
		margin: 0 0 10px 0;
	}
}

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

	#officeList ul li .photo
	{
		flex: 1;
		flex-basis: 50%;

		float: none;
		width: 100%;

		border-right: 0px solid #ffffff;
	}

	#officeList ul li .info
	{
		flex: 1;
		flex-basis: 50%;

		float: none;
		width: 100%;
		border-left: 0px;
		border-top: 11px solid #ffffff;
	}
}


/* Office Profile Pages */

#officeAddress
{
 	display: flex;
 	position: relative;
 	width: 100%;
 	margin: 0 0 11px 0;
}

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

#officeAddress #officeAddressImage
{
 	flex: 1;
 	flex-basis: 57%;
 	position: relative;
 	float: left;
 	width: 70%;
 	box-sizing: border-box;
}

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

#officeAddress #officeAddressText
{
 	flex: 1;
 	flex-basis: 30%;
 	position: relative;
 	float: left;
 	width: 30%;
 	padding: 20px 30px 8px 30px;
 	background: #1595d3;
 	border-left: 11px solid #ffffff;
 	color: #ffffff;
 	box-sizing: border-box;
}

#officeAddress #officeAddressText *
{
	color: #ffffff;
}

#officeAddress #officeAddressText .title
{
	font-size: 1.2rem;
	font-weight: 700;
}

#officeAddress #officeAddressText .officeAddressBlock,
#officeAddress #officeAddressText .officeAddressPhone
{
	margin: 20px 0 0 0;
}

@media (max-width: 1360px)
{
	#officeAddress
	{
		display: block;
	}

	#officeAddress #officeAddressImage
	{
		flex: 1;
		flex-basis: 50%;

		float: none;
		width: 100%;
	}

	#officeAddress #officeAddressText
	{
		flex: 1;
		flex-basis: 50%;

		float: none;
		width: 100%;
		padding-bottom: 20px;
		border-left: 0px;
		border-top: 11px solid #ffffff;
	}
}



/* addthis support */

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

#at15s
{
	margin-left: calc(50% - 50vw) !important;
}

.atm-f
{
	display: none !important;
}

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

#itemSubtitle
{
	color: #00446a;
	line-height: normal;

	padding: 12px 0 4px 0;
	font-size: 1.35rem;
}


/* Visual Callouts (bottom of static/about/careers) */

#visualCallout
{
 	display: flex;
 	position: relative;
 	max-width: 860px;
 	width: 100%;
 	margin: 0 0 40px 0;
}

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

#visualCallout #visualCalloutImage
{
 	flex: 1;
 	flex-basis: 50%;
 	position: relative;
 	float: left;
 	width: 50%;
 	max-height: 425px;
 	box-sizing: border-box;
}

#visualCallout #visualCalloutImage img
{
 	display: block;
 	width: 100%;
 	height: auto;
 	max-height: 425px;
}

#visualCallout #visualCalloutText
{
 	flex: 1;
 	flex-basis: 50%;
 	position: relative;
 	float: left;
 	width: 50%;
 	padding: 20px 30px 8px 30px;
 	background: #1595d3;
 	border-left: 11px solid #ffffff;
 	color: #ffffff;
 	box-sizing: border-box;
}

#visualCallout #visualCalloutText *
{
	color: #ffffff;
}

#visualCallout #visualCalloutText a
{
	background: none !important;
	text-shadow: none !important;
}

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

	#visualCallout #visualCalloutImage
	{
		flex: 1;
		flex-basis: 50%;

		float: none;
		width: 100%;
		max-height: none;
	}

	#visualCallout #visualCalloutImage img
	{
		max-height: none;
	}

	#visualCallout #visualCalloutText
	{
		flex: 1;
		flex-basis: 50%;

		float: none;
		width: 100%;
		border-left: 0px;
		border-top: 11px solid #ffffff;
	}
}


/* 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: 42px;
	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);
	color: #999999;
	font-size: 16px;
}

form > p
{
	clear: both;
}

.js form > div > div.radio_wrapper > label
{
	position: static;
	padding-left: 0;
}

/* 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:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect,
.js form > div > div > label
{
	width: 100%;
	height: 42px;
	margin: 0;
	padding: 1px 7px 1px 7px;
	color: #666766;
	border: 1px solid #b6b7bd;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

textarea
{
	max-width: none;
	line-height: normal;
	padding-top: .5em;
	min-height: 6.5em;
}

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

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

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

.customSelect:after
{
	content: ' ';
	display: block;
	position: absolute;
	top: 1px;
	right: 1px;
	width: 48px;
	height: 40px;
	background: url('../i/select-arrow.png') 0px 0px no-repeat; /* data-uri */

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

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

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

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

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

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

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

input[type=submit]
{
	width: auto;
	height: 40px;
	margin: 0 0 10px 0;
	padding: 1px 8px 1px 8px;
	background: none;
	border: 0 solid #d6d6d6;
	color: #1595d3;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	font-weight: 700;
	cursor: pointer;
	text-transform: uppercase;
}

a.clearAll
{
	margin: 0 0 0 6px;
	color: #999;
	font-weight: 700;
	text-transform: uppercase;
}

a.viewAll
{
	display: inline-block;
	width: auto;
	margin: 0 0 10px 0;
	padding: 4px 14px 5px 14px;
	background: #969696;
	color: #ffffff;
}

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

a.viewAll:hover
{
	background: #868686;
	text-decoration: none;
}

.js form > div > div.checkbox_wrapper > label
{
	display: block;
	position: relative;
	padding: 0 0 0 3px;
	line-height: normal;
}

.js form > div > div.checkbox_wrapper > div > div > label
{
	display: inline-block;
	position: relative;
	padding: 0 0 0 4px;
	vertical-align: middle;
}

form > div > div.radio_wrapper:not(.customOptions) > div
{
	display: -webkit-flex;
	display: flex;
}

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

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



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

#emailField
{
	display: none;
}

body.newsroom #mainContent form
{
	margin: 40px 0 20px 0;
}

body.newsroom #mainContent form > div > div
{
	max-width: 500px;
}

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

	body.newsroom #mainContent form
	{
		margin: 0px 0 20px 0;
	}
}

/* auto complete js */

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

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

.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: bolder;
	color: #3874a8;
}

/* custom autocomplete suggestion: bio */

.autocomplete .acBio
{
	padding: 0 5px 0 0;
}

.autocomplete .acBioPic
{
	display: inline-block;
}

.autocomplete .acBioPic img
{
	width: 50px;
	height: 50px;
}

.autocomplete .acBioText
{
	display: inline-block;
}

.autocomplete .acBioName
{
	padding: 0;
	line-height: 100%;
}

.autocomplete .acBioTitle
{
	padding: 0;
	line-height: 100%;
	font-size: 80%;
	color: #555;
}



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

#footer
{
	position: relative;
	margin: 1.2em 0 2em 0;
	padding: 1em 0 0 0;
	background: #ffffff;
	border-top: 1px solid #cfd1d8;
	color: #949494;
	font-size: 1rem;
}

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

#footer a
{
	color: #949494;
}

#footer a:hover
{

}

#footerOffices
{
	float: left;
	margin: 0 20px 30px 0;
}

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

#footerOffices ul
{
	margin-top: 5px;
}

#footerOffices ul li
{
	float: left;
	margin-left: 1.8rem;
}

#footerOffices ul li > div
{
	float: left;
}

#footerOffices ul li > div.city
{
	font-weight: 700;
	text-transform: uppercase;
}

#footerOffices ul li > div,
#footerOffices ul li > div a
{
	color: #333333;
}

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

ul#footerLinks
{
	float: left;
	margin-top: 5px;
}

ul#footerLinks li
{
	float: left;
	margin: 0 0 0 1.8rem;
}

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

ul#socialLinks
{
	float: right;
}

ul#socialLinks li
{
	float: left;
	margin-left: 10px;
}

#footerDisclaimer
{
	clear: both;
}

#footerDisclaimer p
{
	margin: 0;
	padding: 0;
	font-size: 0.8rem;
}

@media (max-width: 1900px)
{
	ul#footerLinks
	{
		float: none;
		clear: left;
	}
}

@media (max-width: 850px)
{
	#footerOffices
	{
		float: none;
		margin: 0px;
	}

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

	#footerOffices ul li
	{
		clear: left;
		float: none;
		margin: 0px;
	}

	ul#socialLinks
	{
		float: none;
		clear: left;
		margin: 15px 0 15px 0;
	}

	ul#socialLinks li
	{
		margin: 0px 10px 0 0;
	}

	ul#footerLinks
	{
		float: none;
		margin-top: 0px;
	}

	ul#footerLinks li
	{
		float: none;
		margin: 0;
	}
}


/* 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% !important;
	height: 100% !important;
	box-sizing: border-box;
}

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

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

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

span.popupPlayerClose
{
	display: block;
	position: absolute;
	z-index: 25;
	top: -15px;
	right: -15px;
	padding-left: 1px;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	background: #333333;
	color: #f1f1f1;
	font-size: 14px;
	line-height: 15px;
	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: 100%;
	height: 25%;
	max-width: 100%;
	overflow: hidden;
	background: #f5f5f5;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.itemMultimediaList ul.results_list,
.itemMultimediaList ul.results_list li,
#item_itemvideo > div ul,
#item_itemvideo > div ul li,
.xrefMultimediaList ul,
.xrefMultimediaList ul li,
.popupPlayerSidebar > div ul,
.popupPlayerSidebar > div ul li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

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

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

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

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

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

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

#mainContent .xrefMultimediaList ul li .videomore,
#mainContent .xrefMultimediaList ul li .title,
#mainContent .xrefMultimediaList ul li .abstract
{
	margin: 0 0 0 150px;
}

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

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

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


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

#emailDisclaimerButtons
{
	text-align: center;
}

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

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
	{
		width: 90%;
		left: 5%;
		box-sizing: border-box;
	}
	#emailPopupContent
	{
		overflow: scroll;
		height: 100%;
	}

}



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

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

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

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

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

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

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

table.results_list td + 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;
	}
}

.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 td:nth-child(n + 4)
	{
		padding-left: 1rem;
	}

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

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


/* Search Object Support */

#search p.form-section-label
{
	margin: 1em 0 0 0;
	padding: 0;
	font-weight: bolder;
}

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

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

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

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

#search .search_form label
{
	display: inline;
	position: static;
	left: 0px;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

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

#search .search_form input#searchtext
{
	width: 60%;
	max-width: 100%;
	margin-right: 4px;

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

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

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

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

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

	#search .searchBioWrapper
	{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
}



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

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


.searchfoundtext
{
	font-weight: bolder;
}

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

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

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

/* Bio section search results */
#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;
}

/* Map Object Support */

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

.printMap
{
	display: inline-block;
	padding: 4px 4px 4px 4px;
	background: #3874a8;
	color: #ffffff;
	text-align: center;
}

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

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

button.toggleExpand
{
	color: #1595d3;
}

/* Blogs ----------------------------------------------------------> */

/* IF-BLOG
.blog .search_form div
{
	float: none;
}

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

.blog #searchMessage
{
	border-bottom: 1px solid currentColor;

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

.blogPosts div > div.title
{
	font-size: 1.5rem;
	margin-bottom: .3em;
}

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

.blogPosts .viewMore
{
	text-align: right;
}

.blogPosts .addthis
{
	text-align: right;
	padding: .5em 0;

	border-bottom: 1px solid currentColor;
}

.blogPosts .intro
{
	overflow: hidden;
	margin: 1rem 0;
}

.blogPosts .intro > div
{
	display: inline;
}

.blogPosts .image:not(:empty)
{
	float: left;
	margin: 0 1em 1em 0;
}

/* in listing, make image a max height */
/* IF-BLOG
.blogPosts > div > div:not(:only-child) img
{
	display: block;
	max-height: 9.5em;
}

.blogPosts .sp_pencil img
{
	display: inline !important;
}

/* in listing, make sure the read more shows inline with the intro */
/* IF-BLOG
.blogPosts > div > div:not(:only-child) .intro p:last-child
{
	display: inline;
}

.blogPosts > div > div > div + div
{
	margin-top: .5em;
	clear: both;
	overflow: hidden;
}

.blogPosts > div > div
{
	margin-bottom: 2.5em;
}

.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:last-child
{
	float: right;
}

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

/**/

/* 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
{
	min-height: auto;
}

#index #header
{
	background: none;
}

#index #banner
{
	max-height: none;
}

#index #homeAnimation
{
	display: none;
	overflow: hidden;
	margin: 0 0 40px 0;
}

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

#index #homeAnimation ul,
#index #homeAnimation ul li
{
	position: relative;
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	width: 100%;

}

#index #homeAnimation ul
{
	z-index: 1;
}

#index #homeAnimation ul li .photo
{
	position: relative;
	z-index: 1;
	left: 0px;
}

#index #homeAnimation ul li .photo img
{
	display: block;

	max-width: 1920px;
}

#index #homeAnimation ul li .slideContent
{
	display: flex;
	align-items: stretch;
	position: absolute;
	z-index: 2;
	bottom: 240px;
	right: 90px;
	width: 100%;
	height: 50%;
	max-width: 870px;
	max-height: 360px;
}

#index #homeAnimation ul li .slideContent .tagwrapper
{
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 50%;
	padding: 30px 30px 30px 30px;
	background: rgba(0,0,0,0.70);
	box-sizing: border-box;
}

#index #homeAnimation ul li .slideContent .tagwrapper .tagline
{
	color: #ffffff;
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

#index #homeAnimation ul li .slideContent .tagwrapper .tagtext
{
	margin-top: 10px;
	color: #b7b7b7;
	font-size: 1.2rem;
	line-height: 1.6;
}

#index #homeAnimation ul li .slideContent .quote
{
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 50%;
	margin: 0px 0 0 11px;
	padding: 30px 30px 30px 30px;
	background: rgba(124,158,98,0.75);
	color: #ffffff;
	font-size: 1.2rem;
	line-height: 1.6;
	box-sizing: border-box;
}

#index #animationPagers
{
	display: none;
	position: absolute;
	z-index: 2;
	bottom: 48px;
	right: 0px;
	padding: 10px 11px 10px 11px;
	background: #d2d0ce;
}

#index #per-slide-template
{
	float: left
}

#index #per-slide-template div
{
	position: relative;
	float: left
}

#index #per-slide-template div:last-child
{
	margin-right: 10px;
}

#index #per-slide-template div img
{
	display: block;
	position: relative;
	z-index: 1;

	width: 46px;
	height: 67px;
	margin-right: 3px;
}

#index #per-slide-template div.cycle-pager-active:after
{
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 2;
	width: 9px;
	height: 9px;
	content: ' ';
	background: blue url('../i/animation-current.png') 0px 0px no-repeat; /* data-uri */
}

#index #animationPagers span#thumbDesc
{
	float: left;
	width: 218px;
	padding: 0 10px 0 0px;
	font-size: 15px;
	line-height: 1.4;
	color: #333333;
	box-sizing: border-box;
}

#index #animationPagers span#thumbDesc *
{
	display: inline;
}

h2#whatIsNew
{
	float: left;
	width: 230px;
	margin: 0px 0 40px -10px;
	padding: 20px 10px 20px 10px;
	background: #1595d3;
	border: 0px;
	color: #ffffff;
	font-size: 22px;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	box-sizing: border-box;
}

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

#homeNewsList ul
{
	margin: 0 0 40px 260px;
}

#homeNewsList ul li
{
	margin: 2px 0 8px 0;
	padding: 0 0 0 0;
	list-style: none url('../i/bullet-home.png'); /* data-uri */
}

#homeNewsList ul li,
#homeNewsList ul li a
{
	color: #353535;
	font-size: 18px;
	font-weight: 700;
}

#lowerBanner
{
	clear: both;
	position: relative;
	left: -10px;
	width: calc(100% + 20px);
}

#lowerBanner img#lowerBannerImg
{
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
}

#lowerBannerContent
{
	position: absolute;
	z-index: 2;
	top: 20%;
	right: 90px;
	width: 45%;
	padding: 20px 150px 20px 26px;
	padding: 20px 26px 20px 26px;
	background: rgba(255,255,255,0.86);
	box-sizing: border-box;
}

#lowerBannerContent h2
{
	margin: 0px 0 0px 0px;
	padding: 10px 0px 4px 0px;
	background: none;
	border: 0px;
	color: #000000;
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 900;
	text-align: left;
	letter-spacing: 1px;
	text-transform: uppercase;
}

#lowerBannerContent p
{
	margin: 10px 0 18px 0px;
	padding: 0px 0px 0px 0px;
	background: none;
	border: 0px;
	color: #333333;
	font-size: 1rem;
	line-height: 1.6;
	font-weight: 700;
	text-align: left;
	text-transform: none;
	box-sizing: border-box;
}

#index #footer
{
	margin: 1em 0 2em 0;
	padding: 0 0 0 0;
	border-top: 0px solid #cfd1d8;
}

@media (max-width: 1700px)
{
	#lowerBannerContent
	{
		top: 100px;
		padding: 20px 26px 20px 26px;
	}
}

@media (max-width: 1600px)
{
	#index #homeAnimation ul li .slideContent
	{
		bottom: 160px;
		right: 90px;
		width: calc(100% - 20px);
		height: 40%;
		max-height: 260px;
	}

	#index #homeAnimation ul li .slideContent .tagwrapper
	{
		padding: 20px 20px 20px 20px;
	}

	#index #homeAnimation ul li .slideContent .tagwrapper .tagline
	{
		font-size: 1.8rem;
		line-height: 1;
	}

	#index #homeAnimation ul li .slideContent .tagwrapper .tagtext
	{
		font-size: 1rem;
		line-height: 1.3;
	}

	#index #homeAnimation ul li .slideContent .quote
	{
		padding: 20px 20px 20px 20px;
		font-size: 1rem;
		line-height: 1.3;
	}
}

@media (max-width: 1500px)
{
	#lowerBannerContent
	{
		top: 60px;
		padding: 14px 20px 14px 20px;
	}
}

@media (max-width: 1350px)
{
	#lowerBannerContent
	{
		position: relative;
		top: inherit;
		bottom: inherit;
		right: inherit;
		left: 0px;
		width: calc(100vw - 20px);
		padding: 14px 10px 14px 10px;
	}
}

@media (max-width: 1100px)
{
	#index #homeAnimation ul li .slideContent
	{
		bottom: 120px;
		right: 10px;
	}

	#index #animationPagers
	{
		bottom: 10px;
	}
}

@media (max-width: 1024px)
{
	#index #header
	{
		background: rgba(0,0,0,0.7);
	}

	#index #homeAnimation ul li .slideContent
	{
		height: 55%;
		max-height: 310px;
	}
}

@media (max-width: 767px)
{
	h2#whatIsNew
	{
		float: none;
		width: calc(100% + 10px);
		margin: 0px 0 20px -10px;
		padding: 20px 0px 20px 0px;
	}

	#homeNewsList ul
	{
		width: calc(100% - 30px);
		margin: 0 0 10px -10px;
		padding: 0 0 0 20px;
	}

	#index #homeAnimation
	{
		margin: 0 0 20px 0;
		overflow: visible;
	}

	#index #animationPagers
	{
		display: none !important;
	}

	#index #homeAnimation ul li .slideContent
	{
		display: block;
		position: relative;
		bottom: 50%;
		right: inherit;
		left: 10px;
		width: 100%;
		max-width: none;
		height: auto;
		max-height: none;
	}

	#index #homeAnimation ul li .slideContent .tagwrapper
	{
		width: 100%;
		height: auto;
		max-width: calc(100% - 20px);
		padding: 12px 12px 12px 12px;
	}

	#index #homeAnimation ul li .slideContent .tagwrapper .tagline
	{
		width: 100%;
		height: auto;
		font-size: 1.5rem;
		line-height: 1;
	}

	#index #homeAnimation ul li .slideContent .tagwrapper .tagtext
	{
		font-size: 1rem;
		line-height: 1.3;
	}

	#index #homeAnimation ul li .slideContent .quote
	{
		right: inherit;
		left: 0px;
		width: 100%;
		max-width: calc(100% - 20px);
		margin: 11px 0 0 0;
		padding: 12px 12px 12px 12px;
		font-size: 1rem;
		line-height: 1.3;
	}

	#lowerBannerContent h2
	{
		font-size: 1.5rem;
		line-height: 1.1;
		letter-spacing: 0px;
	}
}




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


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

/*@media all and (max-width:8.5in) /* use while programming */
@media print
{
	html
	{
		font-size: 14pt;
	}

	*
	{
		background: none !important;
		color: #333333 !important;
	}

	.noPrint,
	.mobile,
	#topLinks,
	#topSearch,
	#tabLinks,
	.view_more,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink,
	#areaPDF,
	#subNav,
	#navJump,
	#topJump,
	#mainNav,
	#bioLowerLeft,
	#bioLowerRight,
	h2.sectionTitle,
	.practiceExpanderAll,
	#contactNavigation,
	.toggleExpand
	{
		display: none !important;
	}

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

		/* cancel out flexbox and float */
		display: block;
		float: none;
	}

	body
	{
		padding: 0;
	}

	#header
	{
		position: relative;
		height: 60px;
	}

	#logo
	{
		margin-top: 8px;
		padding-left: 10px;
	}

	#banner
	{
		margin-top: -60px;
		border-top: 60px solid #525252;
	}

	p, li
	{
		orphans: 3;
		widows: 2;
	}

	h1, h2, h3, h4, h5, h6
	{
		-webkit-column-break-after: avoid;
		   page-break-after: avoid;
				break-after: avoid-page;
	}

	.bioList .results_list
	{
		display: block;
	}

	body.attorneys-item #banner
	{
    	min-height: auto;
    	overflow: visible;
	}

	#bioInfoLeft
	{
		display: block;
		height: auto;
		padding: 10px 10px 10px 10px;
	}

	#bioInfoRight
	{
		display: block;
		padding: 0 10px 0 10px;
	}

	.contentSection,
	.contentSection > *
	{
		display: block !important;
	}

	#visualCallout
	{
		display: block;
	}

	#visualCallout #visualCalloutImage
	{
		width: 50%;
	}

	#visualCallout #visualCalloutText
	{
		padding-left: 0px;
	}

	#areaContactBox
	{
		padding-left: 0px;
	}

	#officeList ul
	{
		display: block !important;
	}

	#officeList ul li .photo
	{
		width: 42%;
	}

	#officeList ul li .info
	{
		padding-left: 0px;
	}

	.js #office_bio .results_list > li
	{
		display: block !important;
	}

	#officeAddress
	{
		display: block !important;
	}

	#officeAddressImage
	{
		width: 42% !important;
	}

	#officeAddressText
	{
		padding-left: 0px !important;
	}

	#index #homeAnimation ul li .photo img
	{
		width: 100%;
	}

	#index h2#whatIsNew
	{
		margin-bottom: 0px;
	}
}

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