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


/*@font-face {
    font-family: 'merriweather';
    font-weight: 400;
    font-style: italic;
    src: url('../fonts/merriweather-italic.woff') format('woff');
}*/

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 10px/1.5 Lato, Arial, sans-serif;
	color: #666;
}

body
{
	position: relative;
	min-width: 320px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	font-size: 2rem;
	line-height: 2.8rem;
}

body[data-whatinput="mouse"] *:focus,
body[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;
	}
}

@media (min-width: 1220px)
{
	body
	{
		padding: 0;

	}
}

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

p
{
	margin: 0.5em 0 1.25em 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;
}

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

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

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

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

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

h1,
h1#pageTitle,
#bannerTitle
{
	padding: 5px 0 15px 0;
	color: #8bbee8;
	font-size: 3.5rem;
	font-weight: 400;
}

#bannerTitle
{
	color: #8BBEE8 !important;
}

h1#item_title
{
	font-size: 3rem;
	line-height: 4.5rem;
	color: #000000;
	font-weight: 700;
	padding: 0;
}

h2
{
	padding: 12px 0 8px 0;
	font-size: 2.4rem;
	color: #2a2a2a;
}

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

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

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

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

h6
{
	font-weight: bolder;
	font-size: 1.6rem;
}

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

ol
{
	padding-left: 1em;
}

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

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

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 > * > :first-child,
#content > * > :first-child > :first-child
{
	margin-top: 0;
}


@media (min-width: 920px)
{
	h1,
	h1#pageTitle,
	#bannerTitle
	{
		font-size: 5rem;

	}
}


/* ---- FLEXIBLE  ---- */

#header::before,
#footer::before,
#lowerSpotlight::before,
#tabLinks::before,
#newsroomList li:before
{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	/*
		we need to be left offset by the width of the left margin, which is half the
		difference between page width and viewport width

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


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

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

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

.itemList .title
{
	margin-bottom: 10px;
	font-size: 2.1rem;
	line-height: 2.8rem;
	color: #000000;
	font-weight: 300;
}

.itemList .title a
{
	color: inherit;
}

.expandableHeading,
.expandableReadMore
{
	position: relative;
	cursor: pointer;
	font-weight: 400;
}

.expandableHeading button::after,
.expandableReadMore::after
{
	content: '+';
    margin-left: 10px;
    display: inline-block;
    padding-top: 10px;
    width: 2.3rem;
    height: 2.3rem;
    color: #00206b;
    font-size: 2.2rem;
    line-height: 0;
    font-weight: 400;
    border: 2px solid #2a2a2a;
    border-radius: 100%;
    text-align: center;
    box-sizing: border-box;
}

.expandableHeading.expanded button::after,
.expandableReadMore.expanded::after
{
	content: ' –';
	padding-top: 9px;
}

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

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


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

#header
{
	position: relative;
/*	height: 106px;
*/	padding: 15px 10px 35px;
	box-sizing: border-box;
	overflow: hidden;
	z-index: 500;
	background: rgba(180,255,255, .7);
}

#logo
{
	width: 95%;
	max-width: 500px;
	padding-top: 40px;
}

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

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


@media (min-width: 768px)
{

	#header
	{
		padding-top: 0px;
	}

	#logo
	{
		padding-top: 30px;
	}

}


@media (min-width: 1400px)
{
	#header
	{
		position: fixed;
		width: 100vw;
		left: calc(50% - 50vw);
		z-index: 1000;
		padding-left: 20px;
		
		transition: background 500ms ease;
	}

	#header.scrolled
	{
		background: rgba(180,255,255, 1);
	}

	#searchButton
	{
		right: 25px;
	}
}

@media (min-width: 1380px)
{
	#header
	{
		padding-left: 100px;
	}
}



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

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

img#bannerImage
{
	display: block;
	position: relative;
	z-index: 1;
	width: 100vw;
	left: calc(50% - 50vw);
	height: auto;
}

#bannerContent
{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 1200px;
	height: 100%;
	padding: 0 10px;
	margin-top: 10px;
	box-sizing: border-box;
}

#bannerContent *
{
	color: inherit;
}

@media (min-width: 768px)
{

	#banner
	{
		margin: 0 0 55px;
	}

	/*#banner:before
	{
		position: absolute;
		left: calc(50% - 50vw);
		z-index: 2;
		display: block;
		content: '';
		height: 100%;
		width: 100vw;
		background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 50%);
	}*/

	#bannerContent
	{
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		padding: 0 10px 30px;
	}

	#bannerContent h1
	{
		padding: 0;
		margin: 0;
	}

	#bannerContent #pdfLink
	{
		position: relative;
		top: -4px;
		color: #ffffff;
	}
}

@media (min-width: 920px)
{

	#banner:before
	{

		background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 0%,rgba(0,0,0,0.31) 75%);
	}

	#bannerContent #pdfLink
	{
		top: -12px;
	}
}

@media (min-width: 1220px)
{
	#bannerContent
	{
		left: calc(50% - 610px);
	}
}

@media (min-width: 1400px)
{
	img#bannerImage
	{
		min-width: 1650px;
	}
}

@media (max-width: 767px)
{
	#bannerContent
	{
		position: static;
	}
}

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

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

/* all menu links */
#mainNav li > a
{
	display: block;
	padding: 5px 18px;
	color: #2a2a2a;
	line-height: 20px;
}

/* top level links */
#mainNav > ul > li > a
{
	color: #2a2a2a;
}

#mainNav a
{
	text-decoration: none !important;
}

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

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

/* main nav items */
#mainNav > ul ul
{
	display: none;
	position: absolute;

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

	background: #aaa;
	padding: 10px 0 18px 0;
}

#mainNav .subNavHeader
{
	font-weight: bold;
	text-transform: uppercase;
	font-size: .8em;
}

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

/* by default, hidden */
.contentJump
{
	display: none;
	z-index: 1;
	background: inherit;
}

/* on desktop, these function as jump links, make them visible to keyboard users */
body[data-whatinput="keyboard"] .contentJump
{
	display: block;
}

/* make them transparent unless keyboard focused */
.contentJump:not(:focus)
{
	color: transparent;
	background: transparent;
	z-index: -1;
}

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

	padding: 5px 15px;
}

@media (min-width: 1250px)
{
	#mainNav
	{
		position: absolute;
		z-index: 9999;
		top: 54px;

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

		/*display: flex;*/
	}

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

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

	#mainNav li:hover > a,
	#mainNav li:focus > a
	{
		color: #8BBEE8;
		text-decoration: none;
	}

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

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

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

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

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

	/* position the second nav above and make it smaller */
	#mainNav > ul + ul
	{
		position: absolute;
		right: 110px;
		bottom: 41px;
	}

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

	#mainNav > ul + ul > li > a
	{
		padding: 3px 0;
		font-size: 1.8rem;

		color: #75787b;
	}

	#mainNav > ul + ul > li > a:hover
	{
		background: none !important;
	}
	/*** end split menu styles ***/
}

@media (min-width: 1400px)
{
	#mainNav
	{
		position: fixed;
	}
}

@media (min-width: 1380px)
{
	#mainNav
	{
		right: 75px;
	}
}

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

@media (max-width: 1249px)
{

	#mainNav
	{
		padding: 0 10px;
		box-sizing: border-box;
		background: #ABC7CA;
	}

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

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

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

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

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

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

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

	.contentJump.navJump
	{
		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		width: 0;
		height: 0;
		overflow: hidden;
		padding: 22px 22px 0 0;

		background: #509e2f;

		cursor: pointer;
		box-sizing: border-box;

		z-index: 99;
	}

	.navJump::after,
	.navJump::before
	{
		content: '';
		display: block;

		position: absolute;
		top: 20%;
		width: 100%;
		height: 20%;
		background: #ffffff;

		transition: transform .3s;
	}

	.navJump::after
	{
		top: 60%;
	}

	#pageJump
	{
		pointer-events: none;
		right: 10px;
	}

	#mainNav.target ~ #pageJump,
	#mainNav:target ~ #pageJump
	{
		pointer-events: auto;
		background: #333;
	}

	#mainNav.target ~ #pageJump::after,
	#mainNav.target ~ #pageJump::before,
	#mainNav:target ~ #pageJump::after,
	#mainNav:target ~ #pageJump::before
	{
		top: 40%;
		background: white;

		transform: rotate(135deg);
	}

	#mainNav.target ~ #pageJump::before,
	#mainNav:target ~ #pageJump::before
	{
		transform: rotate(45deg);
	}

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

	#mainNav > ul li a
	{
		font-size: 24px;
		color: #44693D;
	}

	#mainNav > ul li.subNavHeader a,
	#mainNav > ul li#subNavBack a
	{
		font-size: 20px;
	}

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

	#mainNav li ul
	{
		background: #ABC7CA;
	}
}


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

ul.subNavList
{
	font-size: 1.5rem;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0;
	padding: 0;
}

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

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

ul.subNavList ul
{
	padding-left: 15px;
	text-transform: none;
}

ul.subNavList ul li 
{
	margin-bottom: 5px;
}

ul.subNavList li a
{
	color: #75787b;
}

ul.subNavList li.here > a,
ul.subNavList li.hereParent > a
{
	color: #94450b;
}

ul.subNavList li:not(.hereParent) ul
{
	display: none;
}

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

#content
{
	position: relative;
	height: auto !important;
	min-height: 350px;
	padding-left: 10px;
	padding-right: 10px;

	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}

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

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

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

#subNav
{
	position: relative;
	z-index: 10;
	padding: 30px 20px 30px 20px;
	background: #f2f2f2;
	box-sizing: border-box;
}

#subNav
{
	margin: 0 -10px;
}

.lowerStaticText
{
	padding: 70px 10px;
	text-align: center;
	color: #ffffff;
	background: url('../i/home-box-background.jpg') no-repeat; /* data-uri */
	background-size: cover;
}

.lowerStaticText > h1,
.lowerStaticText > h2,
.lowerStaticText > h3,
.lowerStaticText > h4,
.lowerStaticText > h5,
.lowerStaticText > h6
{
	color: inherit;
}

@media (min-width: 768px)
{
	#mainContent:not(:only-child)
	{
		/*float: right;
		width: calc(100% - 270px);*/
	}

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

	#subNav
	{
		float: right;
		width: 308px;
		margin: 0 0 40px 40px;
	}
}

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

	main
	{
		order: 1;
	}

	#subContent
	{
		order: 2;
	}

	#subNav
	{
		order: 3;
	}
}

#subContent p
{
	margin: 0.5em 0 1em 0;
	font-size: 1.8rem;
	line-height: 1.4;
}

#subContent li
{
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	font-size: 1.8rem;
	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 */
.expandableList .results_list > li:nth-last-child(n+5) ~ li:nth-child(n+4),
.blogFilters:not(#blogTags) li:nth-last-child(n+5) ~ li:nth-child(n+4), #recentPosts li:nth-last-child(n+5) ~ li:nth-child(n+4)
{
	display: none;
}

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

#mainContent .xrefSection ul.results_list,
#mainContent .xrefSection ul.results_list 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-left: 0;
}

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

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


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

#searchHeader > div
{
	width: 100%:;
}

#professionalSpotlight .results_list
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -9px;
}

#professionalSpotlight li
{
	flex: 1 1 308px;
	margin: 0 9px 19px;
	list-style: none;
	background: #d5e3e4;
	padding: 10px;
	font-size: 1.8rem;
	line-height: 2.4rem;
	font-weight: 300;
	box-sizing: border-box;
}

#professionalSpotlight .spottitle
{
	margin: 0 0 .8rem;
	font-size: 3rem;
	line-height: 3.2rem;
	text-transform: uppercase;
	font-weight: 700;
}

#professionalSpotlight .spottitle em
{
	display: block;
	font-style: normal;
	color: #94450b;
}

body#professionals
{
	background: none;
}

body:not([data-whatinput="keyboard"]) #blogTags > span:not(:focus) + div
{
    display: none;
}

#blogTags > span + div:focus
{
	display: block !important;
}

#blogTags
{
	height: 130px;
}

#blogTags > span
{
    display: block;
    position: relative;
    border: 1px solid #d8dbe0;
    cursor: pointer;
    outline: 0;
    line-height: 40px;
    /*font-size: 1.125rem;*/
    padding: 0 7px;
    background: #ffffff;
}

#blogTags > div
{

    border: 1px solid #d8dbe0;
	position: relative;
	top: -1px;
	cursor: pointer;
	background: #ffffff;
	padding: 15px 15px 0;
	overflow-y: scroll;
	max-height: 250px;
}

#blogTags > span:after 
{
    content: '';
    position: absolute;
    right: 10px;
    top: 16px;
    width: 0;
    height: 0;
    border: solid transparent;
    border-width: 8px 7px 0 7px;
    border-top-color: #999;
}

#blogTags > span.expanded + div
{
	display: block !important;
}

@media (min-width: 768px)
{

	body#professionals #banner
	{
		margin-bottom: 70px;
	}

	body#professionals #lowerContent
	{
		margin-top: 50px;
	}

	#professionalSpotlight li
	{
		padding: 25px;
	}
}


@media (min-width: 1190px)
{

	#searchHeader
	{
		justify-content: space-between;
		flex-wrap: nowrap;
	}

	#searchHeader > div
	{
		flex: 0 1 820px;
		/*margin-right: 20px;*/
	}

	#searchHeader > div + div
	{
		/*margin-right: 0;*/
		flex: 0 1 308px;
	}
}

/* Bio Directory */

.letterLinks
{
	margin: 10px 0 18px -9px;
	color: #999;
	font-weight: 300;
	font-size: 2.4rem;
}

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

.letterLinks a,
.letterLinks span
{
	display: inline-block;
	float: left;
	width: calc(100% / 13.1);
	margin: 0 0 10px;
	text-align: center;
	color: #509e2e;
	font-size: 3rem;
	line-height: 3rem;
	text-shadow: none;
	background: none;
}

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

.bioList
{
	margin: 1rem 0;
}

.bioList h3
{
	margin: 20px 0 10px 0;
}

body#about-firm-leadership .bioList
{
	margin-bottom: 50px;
}

body#about-firm-leadership #attorneyLeadershipList h2
{
	font-size: 38px;
	margin-bottom: 30px;
	border-bottom: 1px solid currentColor;
}

@media (min-width: 768px)
{

	body#about-firm-leadership #mainContent
	{
		float: left;
		width: calc(100% - 348px);
		margin-top: 0;
	}

	/*#partnerChairmanList
	{
		display: flex;
	}

	#partnerChairmanList .bioList li
	{
		flex-basis: auto;
		max-width: 100% !important;
	}*/
}

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

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

@media (min-width: 768px)
{

	.letterLinks
	{
		margin-bottom: 0;
	}

	.letterLinks a,
	.letterLinks span
	{
		font-size: 5rem;
		margin-bottom: 40px;
	}
}

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

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

.bioList .results_list
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -7px 0 -8px;
}

.bioList .results_list li
{
	flex: 1 1 300px;
	display: flex;
	flex-direction: column;
	align-items: center;
	/*padding: 27px 20px;*/
	padding: 27px 0;
	margin: 0 7px 15px 8px;
	/*background: #f2f2f2;*/
	box-sizing: border-box;
}

.bioList .photo
{
	width: 169px;
	height: 196px;
	overflow: hidden;
}

.bioList .photo img
{
	display: block;
	width: 100%;
	height: auto;
}

.bioList .title
{
	text-align: center;
	margin-top: 15px;
	font-weight: 900;
	text-transform: uppercase;
	color: #333333;
}

.bioList .title a
{
	color: inherit;
}

.bioList .position
{
	width: 100%;
	margin: 5px 0;
	font-weight: 700;
	font-size: 1.5rem;
	color: #75787b;
	text-align: center;
	line-height: 1.8rem;
}

.bioList .contact
{
	display: flex;
	justify-content: center;

	flex-wrap: wrap;
	font-size: 1.8rem;
	color: #333333;
}

.bioList .contact > div:not(:last-child):after
{
	content: '|';
	margin: 0 7px;
	color: #999999;
}

.bioList .contact a
{
	color: inherit;
}

@media (min-width: 652px)
{
	
	.bioList .results_list li:last-child:nth-child(odd)
	{
		max-width: calc(50% - 15px);
	}
}

@media (min-width: 950px)
{
	.bioList .results_list li
	{
		flex-grow: 0;
		flex-basis: calc((100%/3) - 15px);
	}
}

/* Bio Profile */


body.attorneys-item #bannerContent,
body.contact-item #bannerContent
{
	justify-content: center;
	align-items: center;
}

@media (min-width: 768px)
{

	body.attorneys-item #banner,
	body.services-practices-item #banner,
	body.contact-item #banner
	{
		margin: 0 0 95px;
	}

	body.attorneys-item #mainContent,
	body.services-practices-item #mainContent,
	body.newsroom-news-item #mainContent,
	body.newsroom-events-item #mainContent,
	body.newsroom-publications-item #mainContent,
	body.clients-item #mainContent,
	body.careers-item:not(#careers-a-culture-of-success) #mainContent
	{
		float: right;
		width: calc(100% - 400px);
	}

	body.attorneys-item #subContent,
	body.services-practices-item #subContent,
	body.newsroom-news-item #subContent,
	body.newsroom-events-item #subContent,
	body.newsroom-publications-item #subContent,
	body.clients-item #subContent,
	body.careers-item #subContent
	{
		float: left;
		clear: none;
		width: 325px;
		box-sizing: border-box;
	}
}

#bioInfo,
#officeInfo
{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1024px;
	padding-top: 110px;
	color: #ffffff;
	font-weight: 300;
}

#bioPhoto,
#officePhoto
{
	display: block;
	max-width: 252px;
	flex: 1 0 252px;
	height: auto;
}

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

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

#bioInfoContent,
#officeInfoContent
{
	padding-top: 30px;
	flex: 0 1 675px;
	box-sizing: border-box;
	padding-left: 30px;
}

#bioInfoContent h1,
#officeInfoContent h1
{
	margin-bottom: 10px;
	width: 100%;
}

#bioTitle
{
	margin-bottom: 30px;
	text-transform: uppercase;
}

ul#bioContact,
#officeAddress
{
	padding-top: 10px;
	float: left;
}

#bioAssistant,
#officeContact
{
	float: right;
	padding: 10px 0 10px 18px;
	color: #ffffff;
	line-height: 3rem;
	border-left: 1px solid rgba(242,242,242, .3);
	box-sizing: border-box;
}

#bioAssistant p,
#officeContact div
{
	margin: 0;
	line-height: 3rem;
}

#bioAssistant h2
{
	margin: 0;
	padding: 0;
	font-size: 2rem;
	line-height: 3rem;
	font-weight: 700;
}

ul#bioAccessories,
#officeAccessories
{
	padding-top: 10px;
	clear: both;
	display: flex;
	width: 100%;
}

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

ul#bioAccessories a,
#officeAccessories > div:first-child a
{
	display: block;
	width: 100px;
	border: 1px solid #ffffff;
	border-radius: 20px;
	text-transform: uppercase;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.8rem;
	text-align: center;
}

#subContent .bioSection,
#subContent .areaSection,
#subContent .itemSection
{
	margin: 0 0 15px;
}

body.attorneys-item #banner
{
	background: url('../i/bio-background.jpg') no-repeat; /* data-uri */
	background-size: cover;
}

#bio_contentextra
{
	display: none;
}

#readMore
{
	display: block;
	padding: 0;
	margin-top: 30px;
	background: none;
	border: none;
	font-size: 2rem;
	color: #0067b9;
	font-weight: 100;
	cursor: pointer;
}

#readMore + div
{
	margin-top: 40px !important;
}

#readMore img
{
	width: 19px;
	height: auto;
	margin-left: 4px;
}

#item_badgeimage
{
	padding-top: 20px;
}

#item_badgeimage ul.results_list
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#item_badgeimage ul.results_list li:not(:first-child)
{
	margin-left: 30px;
}

@media (min-width: 768px)
{
	body.attorneys-item #banner,
	body.contact-item #banner
	{
		height: 565px;
	}


}

@media (max-width: 1399px)
{
	#bioInfo,
	#officeInfo
	{
		padding-top: 0;
	}
}

@media (max-width: 767px)
{

	body.attorneys-item #banner,
	body.contact-item #banner
	{
		padding: 30px 0;
		margin: 0;
	}

	#bioInfo,
	#officeInfo
	{
		display: block;
	}

	#bioInfoContent,
	#officeInfoContent
	{
		padding: 20px 0 0 0;
	}

	#bioAssistant,
	#officeContact
	{
		border: none;
		border-top: 1px solid rgba(242,242,242, .3);
		padding: 10px 0;
		margin-top: 10px;
		float: none;
	}

	#bioTitle
	{
		margin: 0 0 10px;
	}

	#bioInfoContent h1,
	#officeInfoContent h1
	{
		margin-bottom: 0;
	}

	ul#bioContact,
	ul#bioAccessories,
	#officeAddress,
	#officeContact
	{
		float: none;
		width: 100%;
	}
}



/* Careers */

body#careers-a-culture-of-success #bannerContent
{
	width: 100%;
	max-width: 100%;
	display: block !important;
	left: 0;
}

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

#bannerMenu ul
{
	margin: 0 -10px;
}

#bannerMenu li
{
	margin: 0 0 1px;
}

#bannerMenu li a
{
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 20px 10px;
	box-sizing: border-box;
	background: rgba(80,158,47, .95);
	color: #ffffff;
	text-transform: uppercase;
	text-align: center;
	transition: background 250ms ease;
}

#bannerMenu li:nth-child(2) a
{
	background: rgba(139,190,232, .95);
}

#bannerMenu li:nth-child(3) a
{
	background: rgba(0,47,108, .95);
}

#bannerMenu li:nth-child(4) a
{
	background: rgba(232,119,34, .95);
}



#bannerMenu li a:hover
{
	background: rgba(239,209,159, .95);
	text-decoration: none;
}

@media (min-width: 768px)
{

	body#careers-a-culture-of-success #bannerContent
	{
		padding: 0;
	}

	#bannerMenu
	{
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;

		position: absolute;
		height: 100%;
		z-index: 10;
	}

	#bannerMenu ul
	{
		display: flex;
		width: 100%;
		justify-content: center;

	}

	#bannerMenu li
	{
		flex: 1 1 25%;
		max-width: 370px;
		height: 20vw;
		max-height: 313px;
		margin: 0 5px;
	}

	#bannerMenu li a
	{
		justify-content: center;
	}
}

@media (min-width: 1220px)
{

	#bannerMenu li
	{
		margin: 0 13px;
	}

	#bannerMenu li a
	{
		justify-content: center;
		padding: 40px;
		font-size: 3rem;
		line-height: 4rem;
	}
}

/* Practice List */

div.listColumnWrapper a
{
	font-size: 2rem;
	font-weight: 500;
}

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

div.listColumnWrapper ul.hierList li
{
	font-weight: normal;
}

div.listColumnWrapper ul
{
	border-right: 2em solid transparent;
}

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

div.listColumnWrapper li li
{
	padding-left: 1em;
}
/* service list expander */
div.listColumnWrapper ul.results_list > li > ul.hierList
{
    display: none;
}

div.listColumnWrapper ul li .expander
{
    cursor: pointer;
    text-decoration: none;
}

/*div.listColumnWrapper ul li .expander:after
{
	content: '\0a0+\0a0';
}

div.listColumnWrapper ul li .expander.isOpen:after
{
	content: '\0a0-\0a0';
}*/

#servicesSearch
{
	margin: 0 0 30px;
}

#servicesSearch input:not([type=submit])
{
	height: 62px;
	border-color: #8bbee8;
}


#servicesSearch label
{
	top: 7px;
}

/* Service tiles */

#featured
{
	padding-bottom: 28px;
}

#featured .results_list
{
	display: flex;
	flex-wrap: wrap;
}

#featured .results_list li
{
	position: relative;
	flex: 1 1 230px;
	margin: 0 2px 3px 1px;
	list-style: none;
}

#featured .results_list li .sp_pencil
{
	position: absolute;
	z-index: 10;
	top: 10px;
	left: 10px;
}

#featured .results_list li:last-child:nth-child(odd)
{
	max-width: calc(50% - 3px);
}

#featured .results_list li .image img
{
	display: block;
	width: 100%;
	height: auto;
}

#featured .results_list li .title
{
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 10px;
	display: flex;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
	color: #ffffff;
	background: rgba(0,47,108, .4);
	transition: all 250ms ease;
}

#featured .results_list li .title span
{
	display: block;
	width: 100%;
}

#featured .results_list li .title img
{
	position: relative;
	top: 2px;
	left: 6px;
	width: 18px;
	height: 16px;
	transition: all 250ms ease;
}



/* Rep clients */

body#clients #banner
{
	margin: 0;
}

body#clients #banner:before,
body#contact #banner:before
{
	display: none;
}

body#clients #content
{
	max-width: 100%;
	background: url('../i/clients-bg.jpg') no-repeat; /* data-uri */
	background-size: cover;
}

body#clients #mainContent
{
	padding-top: 65px;
	margin: 0 auto;
	max-width: 1200px;
}

#clientSpotlight
{
	width: 100%;
	max-width: 1558px;
	margin: 0 auto;
}

#clientSpotlight .sp_pencil
{
	position: absolute;
	z-index: 100;
}

#clientSpotlight ul
{
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#clientSpotlight li
{
	position: relative;
	margin: 0 0 30px;
	list-style: none;
	flex: 0 1 370px;
	color: #ffffff;
}

#clientSpotlight .spotlightBox
{
	position: relative;
}

#clientSpotlight a
{

	text-decoration: none !important;
}

#clientSpotlight .image
{
	position: relative;
	overflow: hidden;
}

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

#clientSpotlight .title
{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;

	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	padding: 50px 10px 0;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

#clientSpotlight .hovertext
{
	text-decoration: none !important;
	padding: 10px;
}

#clientSpotlight .image:after
{
	position: absolute;
	top: calc(50% - 65px);
	left: calc(50% - 24px);
	content: '';
	display: block;
	width: 47px;
	height: 47px;
	background: url('../i/icon-playbtn.svgz') no-repeat; /* data-uri */
	background-size: 47px;
}

#repClients,
#repClients h2
{
	color: #fff;
}

#repClients h2
{
	margin: 0 0 20px;
}

#repClients li
{
	list-style: none;
	margin: 0 0 10px;
}

#clientChevron
{
	display: none;
}

@media (min-width: 768px)
{


	#clientChevron
	{
		display: block;
		position: absolute;
		left: 0;
		bottom: -10px;
		z-index: -1;
		width: 30%;
		height: auto;
		max-width: 415px;
	}

	#clientSpotlight ul
	{
		margin: 0 -5px;
	}

	#clientSpotlight li
	{
		width: calc(50% - 10px);
		flex: 0 0 auto;
		/*flex-basis: calc(50% - 10px);*/
		margin: 0 5px 30px;
	}

	#repClients ul
	{
		columns: 2;
	}
}

@media (min-width: 920px)
{

	body#clients #bannerContent
	{
		justify-content: center;

		align-items: center;
		max-width: 100%;
		left: 0;
	}

	#clientSpotlight ul
	{
		flex-wrap: nowrap;
		margin: 0;
	}

	#clientSpotlight li
	{
		width: calc(25% - 10px);
		flex: 0 0 auto;
		margin: 0 5px 30px;
	}

	#clientSpotlight .title,
	#clientSpotlight .hovertext
	{
		font-size: 1.8rem;
		line-height: 1.8rem;
	}

	#clientSpotlight .hovertext
	{
		display: flex;
		align-items: center;
		justify-content: center;

		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		background: #8bbee8;
		box-sizing: border-box;
		opacity: 0;
		text-align: center;
		transition: all 150ms ease;
	}

	#clientSpotlight li:hover .hovertext
	{
		opacity: 1;
	}
}

@media (min-width: 1024px)
{

	#clientSpotlight .title,
	#clientSpotlight .hovertext
	{
		padding-top: 50px;
		font-size: 2.4rem;
		line-height: 2.4rem;
	}

	#clientSpotlight .image:after
	{
		z-index: 20;
	}
}

@media (min-width: 1220px)
{
	body#clients #bannerContent
	{
		padding-top: 100px;
	}

	#clientSpotlight ul
	{
		margin: 0 -13px;
	}

	#clientSpotlight li
	{
		width: calc(25% - 26px);
		margin: 0 13px;
	}
}

@media (max-width: 919px)
{

	body#clients #bannerImage
	{
		position: absolute;
		z-index: 0;
		height: 100%;
		width: auto;
	}

	body#clients #bannerContent
	{
		padding-top: 50px;
		position: static;
	}
}

/* Practice listing */
div.listColumnWrapper ul.results_list
{
	margin-bottom: 1em;
}

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

}

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

#serviceList h2
{
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 25px;
	border-bottom: 1px solid #c8c9c7;
	font-size: 2.6rem;
	font-weight: 400;
	color: #75787b;
	text-transform: uppercase;
}

#serviceList h2 span
{
	font-size: 1.8rem;
	color: #0067b9;
	text-transform: none;
	cursor: pointer;
}

#serviceList h2 span:after
{
	position: relative;
	left: 4px;
	content: '+';
}

#serviceList h2 span.open:after
{
	content: '-';
}

/*#serviceList > div
{
	display: flex;
	flex-wrap: wrap;
}*/

#serviceList .results_list > li
{
	position: relative;
	margin-bottom: 15px;
	padding-left: 30px;
}

#serviceList .results_list > li li a
{
	font-weight: 300;
}

#serviceList  ul li .expander
{
	position: absolute;
	left: 0;
	top: 5px;
}

#serviceList  ul li .expander img
{
	display: block;
	width: 14px;
	height: auto;
	transform: rotate(180deg);
}

@media (min-width: 720px)
{
	#featured .results_list li
	{
		flex-grow: 0;
		flex-basis: calc((100%/3) - 3px);
	}
}

@media (min-width: 768px)
{

	div.listColumnWrapper ul.results_list
	{
		columns: 2;
	}

	#servicesSearch input[type=submit]
	{
		position: absolute;
		right: 12px;
		top: 12px;
	}

	#serviceList h2 span
	{
		position: absolute;
		right: 0;
		top: 20px;
	}

	#featured .results_list li .image img
	{
		position: relative;
		z-index: -1;
		transition: width 250ms ease;
	}

	#featured .results_list li .image
	{
		overflow: hidden;
		/*height: 14.5vw;
		max-height: 234px;*/
	}


	#featured .results_list li .title
	{
		text-shadow: 2px 2px 20px #000000;
	}

	#featured .results_list li:hover .title
	{
		text-shadow: 2px 2px 15px #000000;
		background: rgba(0,47,108, .8);
	}
}

@media (min-width: 1024px)
{
	#featured .results_list li
	{
		flex-basis: calc(25% - 3px);
		height: 19vw;
		max-height: 233px;
		overflow: hidden;
	}

	#featured .results_list li .image img
	{
		position: absolute;
	}

	#featured .results_list li:hover .image img
	{
		width: 110%;
	}

	#featured .results_list li:hover .title img
	{
		left: 10px;
	}

	div.listColumnWrapper ul.results_list
	{
		columns: 3;
	}


	/*
	#serviceList > div
	{
		flex-wrap: nowrap;
	}

	#serviceList > div > div
	{
		flex: 1 1 50%;
	}
*/
}

@media (max-width: 767px)
{

	#servicesSearch label
	{
		position: static !important;
		padding: 0 !important;
	}

	#servicesSearch input[type=submit]
	{
		margin-top: 15px;
	}
}

/* Practice Profile */

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

#subContent #area_bio_contact
{
	padding: 20px 10px;
	margin: 0 -10px 30px;
	background: #abc7ca;
}

#area_bio_contact h2
{
	margin: 0 0 20px;
}

#area_bio_contact li
{
	clear: both;
	margin: 0 0 20px;
	overflow: hidden;
}

#area_bio_contact .photo
{
	float: left;
	width: 98px;
	height: 98px;
	margin-right: 19px;
	overflow: hidden;
}

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

#area_bio_contact > a
{
	color: #0067b9;
	font-weight: 700;
	font-size: 1.8rem;
	text-decoration: none !important;
}

#area_bio_contact > a span
{
	position: relative;
	top: 3px;
	font-size: 3.4rem;
	line-height: 1.8rem;
}

@media (min-width: 768px)
{
	#subContent #area_bio_contact
	{
		padding: 28px;
		margin: 0 0 30px;
	}
}

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

/* News/Pub/Event type Listing */

#newsroomHighlight
{
	margin: 0 0 40px;
}

#newsroomHighlight .title
{
	font-size: 3rem;
	line-height: 4.5rem;
	color: #000000;
}

#newsroomHighlight .itemdate,
#newsroomList .info,
.itemList .itemdate,
.itemList .location
{
	margin-top: 10px;
	color: #94450b;
}

#newsroomHighlight .abstract
{
	margin-top: 25px;
	/*margin-bottom: 20px;*/
}

#newsroomHighlight .abstract p:last-child
{
	margin-bottom: 15px;
}

#newsroomHighlight .title a
{
	color: inherit;
}

#newsroomList
{
	clear: both;
}

#newsroomList li
{
	position: relative;
	padding: 30px 0;
	margin: 0;
	list-style: none;
}

#newsroomList > li:nth-child(odd)
{
	background: #f2f2f2;
}

#newsroomList li h2
{
	padding-top: 85px;
	margin-bottom: 20px;
	text-align: center;
	background: url('../i/icon-blog.png') no-repeat; /* data-uri */
	background-size: 88px;
	background-position: top center;
	color: #000000;
}

#newsroomList li h2 a
{
	color: inherit;
}

#newsroomList li#newsList h2
{
	background: url('../i/icon-news.png') no-repeat; /* data-uri */

	background-size: 67px;
	background-position: top center;
}


#newsroomList li#publicationList h2
{
	background: url('../i/icon-publications.png') no-repeat; /* data-uri */

	background-size: 64px;
	background-position: top center;
}

#newsroomList li#eventList h2
{
	background: url('../i/icon-events.png') no-repeat; /* data-uri */

	background-size: 72px;
	background-position: top center;
}

#newsroomList .title
{
	font-size: 2rem;
	line-height: 2.8rem;
	color: #5f6164;
}

#newsroomList .title a
{
	color: inherit;
}


#newsroomHighlight .morelink a,
.view_more a
{
	display: inline-block;
	height: 19px;
	padding: 0 15px;
	background: #509e2e;
	font-size: 1.2rem;
	line-height: 19px;
	color: #dae3d6;
	text-align: center;
	border-radius: 8px;
	text-transform: uppercase;
}


/*.view_more a
{
	display: inline-block;
	width: auto;
	margin: 0 0 28px 0;
	padding: 7px 14px 7px 14px;
	background: #969696;
	color: #fff;
	vertical-align: middle;
}*/

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

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

@media (min-width: 768px)
{


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

	#newsroomList ul.results_list li
	{
		flex: 1 1 50%;
	}

	#newsroomList ul.results_list li + li
	{
		padding-left: 42px;
		margin-left: 42px;
		border-left: 1px solid #c9c9c9;
	}

	#newsroomList .view_more
	{
		text-align: right;
	}
}


/* News/Pub/Event type Profile */

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

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

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

#newsroomSubscribe
{
	display: block;
	margin: 0 0 40px;
}

#newsroomSubscribe img
{
	display: block;
	width: 100%;
	height: auto;
	max-width: 230px;
}

/* Contact Main Listing */

#officeList
{
	position: relative;
	z-index: 10;
}

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


#officeList ul li
{
	
	background: rgba(80,158,47, .95);
	color: #ffffff;
	box-sizing: border-box;
	transition: all 250ms ease;
}

#officeList ul li:not(:last-child) a
{
	display: block;
	padding: 25px 15px;
}

#officeList ul li:not(:last-child) a:hover
{
	text-decoration: none;
}

#officeList ul li:nth-child(2)
{
	padding: 25px 15px;
	background:  rgba(117,120,123, .95);
}

#officeList ul li .title
{
	margin: 0 0 5px;
	font-weight: 400;
	font-size: 3rem;
	line-height: 3rem;
}

#officeList ul li .mainoffice
{
	color: #c5e86c;
}

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

#officeList ul li .email
{
	margin-top: 15px;
}

/*  The last <li> should always be the statictext content */
#officeList ul.results_list > li:last-child h2
{
	font-size: 3.5rem;
	font-weight: 400;
}

body#contact #banner
{
	margin: 0;
}

body#contact #content
{
	min-height: 0;
}

body#contact #mainContent
{
	margin: 0;
	padding: 0;
}

#officeList ul li:hover
{
	background: rgba(68,105,61, .95);
	text-decoration: none;
}

@media (min-width: 768px)
{
	body#contact #bannerContent
	{
		justify-content: center;

		align-items: center;
		max-width: 100%;
		left: 0;
	}

	#officeList ul
	{
		display: flex;
		justify-content: center;

	}

	#officeList ul li
	{
		flex: 0 1 484px;
		margin: 0 5px;
	}
}

@media (min-width: 920px)
{

	#officeList ul li:not(:last-child) a
	{
		padding: 30px;
	}

	#officeList ul li:last-child
	{
		padding: 30px;
	}

	#officeList ul li .title
	{
		margin: 0 0 10px;
		font-size: 3.5rem;
		line-height: 3.5rem;
	}

	#officeList ul li .email
	{
		margin-top: 30px;
	}

	#officeList ul li .address
	{
		margin-top: 20px;
	}
}

@media (min-width: 1024px)
{

	#officeList ul li
	{
		margin: 29px;
	}

	#officeList ul li:not(:last-child) a
	{
		padding: 50px 60px;
	}

	#officeList ul li:last-child
	{
		padding: 50px 60px;
	}
}

@media (min-width: 1220px)
{
	body#contact #bannerContent
	{
		padding-top: 100px;
	}
}

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



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

#itemSubtitle
{
	margin: 0 0 35px;
	color: #75787b;
	text-transform: uppercase;
}

#itemDate
{
	color: #94450b;
}

#badgeImage img
{
	max-width: 100px;
}

#item_related li
{
	margin: 0 0 20px;
	list-style: none;
}

#item_related .itemdate
{
	font-size: 1.5rem;
	color: #94450b;
}

 /*  Lower content spotlight */

#lowerContent
{
	overflow: hidden;
}

#lowerSpotlight
{
	position: relative;
	width: 100%;
	max-width: 1200px;
	padding: 40px 10px 10px;
	margin: 0 auto;
	background: #f2f2f2;
	box-sizing: border-box;
}

#lowerSpotlight .results_list
{
	margin: 0;
}

#lowerSpotlight .results_list li
{
	margin: 0 0 40px 0;
	list-style: none;
}

#lowerSpotlight .title
{
	margin: 0 0 10px;
	color: #000000;
	font-weight: 700;
	font-size: 2.1rem;
	line-height: 2.8rem;
}

#lowerSpotlight .title a
{
	color: inherit;

}

#lowerSpotlight .results_list li .image
{
	width: 100%;
}

#lowerSpotlight .results_list li .image img
{
	display: block;
}

#lowerSpotlight .title a:not(.sp_pencil):after
{
	display: inline-block;
	margin-left: 10px;
	width: 18px;
	height: 16px;
	content: '';
	margin-right: -18px;

	
}

#lowerSpotlight .abstract
{
	color: #5f6164;
}

@media (min-width: 768px)
{

	#lowerSpotlight
	{
		padding: 80px 10px 40px;
	}

	#lowerSpotlight .results_list
	{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -25px;
	}

	#lowerSpotlight .results_list li
	{
		flex-basis: calc(50% - 50px);
		margin: 0 25px 40px;
	}
}

@media (min-width: 1024px)
{
	#lowerSpotlight .results_list li
	{
		flex-basis: calc((100%/3) - 50px);
		margin: 0 25px 40px;
	}
}

@media (min-width: 1200px)
{

	#lowerSpotlight .results_list
	{
		margin: 0 -50px;
	}

	#lowerSpotlight .results_list li
	{
		flex-basis: calc((100%/3) - 100px);
		margin: 0 50px 40px;
	}
}

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

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

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

#mainContent form
{
	/*position: static;*/
	position: relative;
}

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

form > div > div
{
	position: relative;
	flex-basis: 100%;
	margin: 0 0 13px 0;
	overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

label
{
	max-width: 100% !important;

}

form > div > div.submit_wrapper
{
	/* flex-basis: 100%;  uncomment if you want this on its own line */
}

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

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

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

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

input:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect
{
	width: 100%;
	min-height: 46px; /* appease IE11 */
	margin: 0;
	padding: 8px 7px 0 16px;
	color: #666766;
	border: 1px solid #cccccc;
	font: normal 18px/1.8 Lato, Arial, sans-serif;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	border-radius: 6px;
	background: none;
}

textarea
{
	min-height: 6.5em;
}

form > div > div > label,
#servicesSearch label
{
	position: absolute;
	padding: 8px 7px 0 16px;
	font: normal 18px/1.8 Lato, Arial, sans-serif;
}

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

.customSelect::after
{
	content: '';
	display: block;
	position: absolute;
	top: 19px;
	right: 15px;

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

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

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

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

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

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

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

form > div > div.submit_wrapper
{
	padding-top: 3px;
	display: flex;
}

input[type=submit]
{
	display: block;
	width: auto;
	height: 38px;
	padding: 0 26px;
	margin-right: 7px;
	background: #509e2e;
	border: 0 solid #d6d6d6;
	color: #fff;
	font: normal 16px Lato, Arial, sans-serif;
	line-height: 38px;
	cursor: pointer;
	box-sizing: border-box;
	text-transform: uppercase;
	border-radius: 19px;
}

a.clearAll
{
	float: right;
}

a.viewAll
{
	display: block;
	width: auto;
	height: 38px;
	padding: 0 26px;
	background: #509e2e;
	color: #fff;
	font: normal 16px Lato, Arial, sans-serif;
	line-height: 38px;
	box-sizing: border-box;
	text-transform: uppercase;
	border-radius: 19px;
}

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


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

#emailField
{
	display: none;
}

@media (min-width: 920px)
{
	
	form > div > div
	{
		position: relative;
		flex-basis: calc(50% - 6px);
		margin: 0 0 13px 0;
	}

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

@media (max-width: 920px)
{
	form > div > div > label, 
	#servicesSearch label 
	{
	    font: normal 16px/1.8 Lato, Arial, sans-serif;
	}
}

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


/* auto complete js */

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

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

.autocomplete .selected
{
	background: #f0f0f0;
}

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

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

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

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

/* custom autocomplete suggestion: bio */

.acBio .results_list > div
{
	display: flex;
	padding-bottom: 10px;
}

.acBio a
{
	font-weight: bold;
}

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

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

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



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

#footer
{
	position: relative;
	margin: 0;
	padding: 20px 10px;
	background: #75787b;
	color: #cccccc;
	font-size: 1.6rem;
	line-height: 2.6rem;
	text-align: center;
}

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

#footer a
{
	color: #cccccc ;
}

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

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

#footer p
{
	margin: 0;
	padding: 0;
	font-size: 1.4rem;
}


/* Alignment */

figure
{
	margin: .5rem 0;
}

.alignleft,
.align-left,
img[style*='float: left']
{
	float: left;
	margin: .5em 1.5rem .5rem 0;
}

.alignright,
.align-right,
img[style*='float: right']
{
	float: right;
	margin: .5em 0 .5rem 1.5rem;
}

.aligncenter,
.align-center,
.alignnone
{
	clear: both;
	display: block;
	margin: .5rem auto;
}

figure.image
{
	display: table !important;
	padding: 5px;
	box-sizing: border-box;
	background: transparent;
	border: 1px solid #ccc;
	text-align: center;
}

figure.image figcaption
{
	display: block !important;
	clear: both;
	padding: 5px;
	font-size: 1.2rem;
}


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

body#index
{
	background: none;
}

body#index #banner
{
	margin: 0;
}

body#index #bannerContent
{
	position: static;
	display: block;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

body#index #content
{
	max-width: 100%;
	padding: 0;
}

body#index #mainContent
{
	padding: 0;
	margin: 0 !important;
}


#homeAnimation ul
{
	margin: 0;
}

#homeAnimation li
{
	position: relative;
	margin: 0;
	list-style: none;
}

#homeAnimation li .link
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	display: block;
	height: 100%;
	width: 100%;
}

#homeAnimation li .link a:not(.sp_pencil)
{
	display: block;
	width: 100%;
	height: 100%;
}

#homeAnimation .image
{
	max-width: 800px;
}

#homeAnimation .content
{
	max-width: 600px;
	padding: 10px 10px 40px;
}

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

#homeAnimation .title
{
	margin-bottom: 20px;
	font-size: 3rem;
	line-height: 4rem;
	text-align: center;
	text-transform: uppercase;
	font-weight: 700;
}

#homeAnimation .title strong
{
	display: block;
	font-size: 4rem;
	color: #495677;
}


.content_loading *
{
	animation-play-state: paused !important;
}

@keyframes fadeIn
{
	0%
	{
		opacity: 0;
	}

	100%
	{
		opacity: 1;
	}
}


#homeAnimation .abstract
{
	text-align: center;
	font-size: 1.8rem;
	opacity: 0;

		animation: fadeIn 1s 1;
		animation-play-state: start;
	    animation-fill-mode: forwards;
	    animation-delay: 1.25s;

}

#homeAnimation .abstract em
{
	font-size: 1.6rem;
	line-height: 2rem;
	font-style: italic;
}

/* Home arrow animation */
@keyframes slideRight
{
	0% {
		left: -100%;
		}

	60% {
		left: 0%;
		}

	/*65% {
		left: -2.5%;
		}*/

	100% {
		left: -1%;
		}
}

#homeChevron
{
	display: block;
	position: absolute;
	width: 30%;
	max-width: 450px;
	height: auto;
	top: 21vw;
	z-index: 1;
	left: -100%;

		animation: slideRight 1.5s 1;
		animation-play-state: start;
	    animation-fill-mode: forwards;
	    animation-delay: .5s;
}

#homeSpotlight
{
	position: relative;
	padding: 70px 0 0;
	background: #f2f2f2;
}

#homeSpotlight ul
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
}

#homeSpotlight li
{
	flex: 0 1 450px;
	margin: 0 0 70px;
	text-align: center;
	list-style: none;
}

#homeSpotlight .image
{
	width: 85px;
	height: auto;
	margin: 0 auto 30px;
	font-size: 6.5rem;
}

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

#homeSpotlight .introtitle
{
	margin: 0 0 10px;
	font-size: 2.1rem;
	color: #000000;
	line-height: 2.8rem;
	font-weight: 700;
}

#homeSpotlight .title
{
	color: #5f6164;
}


#homeSpotlight li a:hover .introtitle,
#homeSpotlight li a:hover .title,
#homeSpotlight li a:hover
{
	color: #f26739 !important;
	text-decoration: none;
}


#homeBoxes
{
	position: relative;
}

#homeBoxes .sp_pencil
{
	position: absolute;
	top: 0;
	left: 10px;
}

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

#homeBoxes .box1
{
	padding: 30px 0;
	background: #e2e2e2;
}

#homeBoxes .box1,
#homeBoxes .box2,
#homeBoxes .box3
{
	box-sizing: border-box;
}

#homeBoxes .box1 > *:not(.image)
{
	padding: 0 10px;
}

#homeBoxes .b1content
{
	font-weight: 300;
}

#homeBoxes .box1 .image,
#homeBoxes .video
{
	overflow: hidden;
}

#homeBoxes video
{
	display: block;
	width: 101%;
	height: auto;
	background: #ffffff !important;
	cursor: pointer;
}

#homeBoxes .b1title,
#homeBoxes .subtitle
{
	margin-top: 10px;
	font-weight: 700;
	color: #5f6164;
	font-size: 2.6rem;
	line-height: 3.6rem;
}

#homeBoxes .subtitle
{
	margin: 0 0 15px;
	color: #509e2e;
}

#homeBoxes .box2
{
	padding: 30px 20% 30px 10px;
	background-size: 30%;
	background-position: 95% center;
	font-size: 2.2rem;
	line-height: 3.8rem;
}

#homeBoxes .box3
{
	padding: 30px 10px;
	color: #ffffff;

}

#homeBoxes .b3title
{
	font-size: 2.6rem;
	font-weight: 700;
	margin: 0 0 5px;
}

#homeBoxes .b3content
{
	width: 100%;
	max-width: 1210px;
	margin: 0 auto;
	font-weight: 300;
}

#homeBoxes .b3content a
{
	color: #8bbee8;
}

.orderButton
{
	display: block;
	width: 317px;
	height: 56px;
	margin: 66px auto;
	text-align: center;
	line-height: 56px;
	border: 1px solid #8bbee8;
	border-radius: 8px;
	color: #002f6c;

}

.orderButton:hover
{
	color: #ffffff;
	background: #002f6c;
	text-decoration: none;
}


#header .orderButton
{
	width: 130px;
	height: 35px;
	margin: 20px 0 0 0;
	line-height: 35px;

}

#header .orderButton:not(:hover):not(:focus)
{
	background: #ffffff;
	color: #333333;
}

#actionShots
{
	padding: 50px;
	max-width: 1400px;
	margin: 0 auto;
	text-align: center;
}

#actionShots video
{
	display: block;
	width: 80%;
	max-width: 600px;
	margin: 0 auto;
}

@media (min-width: 768px)
{

	#homeAnimation li
	{
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: center;
		
	}

	#homeAnimation .content
	{
		/*position: absolute;
		z-index: 100;
		bottom: 30px;*/
		padding: 0 10vw;

		text-shadow: 8px 8px 10px rgba(0,0,0, .08);
	}

	#homeAnimation .title
	{
		margin-bottom: 0;
	}

	#homeBoxes li
	{
		display: flex;
		flex-wrap: wrap;
	}

	#homeBoxes .box1,
	#homeBoxes .box2
	{
		flex: 0 0 50%;

		/*max width is for IE11*/
		max-width: 50%;
	}

	#homeBoxes .box1 .image
	{
		width: 70%;
	}

	#homeBoxes .box2
	{
		padding: 30px 20px;
	}

	#homeBoxes .box3
	{
		width: 100%;
		text-align: center;
	}

	#header .orderButton
	{
		position: absolute;
		top: 30px;
		right: 50px;
		margin: 0;
	}
}

@media (min-width: 1050px)
{
	#homeAnimation .content
	{
		width: 950px;
		left: calc(50% - 475px);
		padding: 0 0 60px 50px;
	}

	#homeAnimation .title
	{
		font-size: calc(28px + (40 - 28) * ((100vw - 1050px) / (1400 - 1050)));
		line-height: 1.4;
	}

	#homeAnimation .title strong
	{
		font-size: calc(40px + (80 - 40) * ((100vw - 1050px) / (1400 - 1050)));
		line-height: 1.1;
	}

	#homeAnimation .abstract
	{
		margin-top: 15px;
		font-size: 2.2rem;
		line-height: 3.4rem;
		font-weight: 400;
	}

	#homeAnimation .abstract em
	{
		color: #cccccc;
	}

	#homeSpotlight li
	{
		padding: 0 20px;
		box-sizing: border-box;
	}
}

/*@keyframes swoopText
{
	0%
	{
		transform: rotate3d(2, 2, -1, -60deg);
		bottom: 80%;
		left: 50%;
		text-shadow: none;
	}

	50%
	{
		bottom: 30px;
		left: calc(50% - 475px);
	}

	100%
	{
		transform: rotate3d(0, 0, 0, 0);
		text-shadow: 10px 10px 50px rgba(0,0,0, .7);
	}
}
*/
@media (min-width: 1220px)
{

	#homeChevron
	{
		top: auto;
		bottom: -3.5vw;
	}

	#homeBoxes .box1 .image
	{
		float: left;
		width: 40%;
		margin: 0 50px 20px 0;
	}

	#homeAnimation
	{
		overflow: hidden;
	}

	#homeAnimation .content
	{
		/*bottom: 50%;
		left: 40vw;*/
		/*transform: rotate3d(5, 6, 0, 60deg);*/

			/*animation: swoopText 1.5s 1;
			animation-play-state: start;
		    animation-fill-mode: forwards;
		    animation-delay: 0s;*/

			animation: fadeIn 1s 1;
			animation-play-state: start;
		    animation-fill-mode: forwards;
		    animation-delay: 0s;
	}
}



@media (min-width: 1350px)
{

	#homeBoxes .box1,
	#homeBoxes .box2,
	#homeBoxes .box3
	{
		padding: 52px;
	}

	#homeBoxes .box1
	{
		padding-left: 0;
	}

	#homeBoxes .box2
	{
		padding-right: 154px;
	}

	#homeBoxes .box3
	{
		padding: 80px 52px;
	}

}

@media (min-width: 1400px)
{
	#homeAnimation li
	{
		padding-top: 100px;
	}

	#homeAnimation .title
	{
		font-size: 40px
	}
	#homeAnimation .title strong
	{
		font-size: 80px;
	}
}

@media (min-width: 1500px)
{
	#homeChevron
	{
		bottom: -51px;
	}
}

/* experience maps */

#expMap h2
{
	padding: 20px 0 0;
	margin: 0 0 -15px 0;
	width: 100%;
	box-sizing: border-box;

	font-size: 23px;
	text-align: center;
}

#expMap
{
	position: absolute;
	width: 1038px;
	height: 676px;

	left: calc(50% - 519px);
	top: 115px;

	background: white;
	border-radius: 4px;
	-moz-border-radius: 4px;

	z-index: 100001;
}

#expMap .results_list > div
{
	display: none;

	position: absolute;
	top: 85px;
	left: 128px;

	width: 787px;
	height: 490px;

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

	border: 1px solid black;
	border-radius: 4px;
	-moz-border-radius: 4px;

	padding: 27px 34px 26px 323px;

	background: white;

	z-index: 100009;
}

#expMap .results_list > div > div
{
	padding-left: 19px;
}

#expMap #topState
{
	display: none;

	position: absolute;
	top: 113px;
	left: 157px;
	z-index: 100010;

	padding: 67px 60px;

	width: 295px;
	height: 437px;

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

	background: #d1cebb;
}

#expMap .title
{
	border-bottom: 4px solid #d1cebb;
	padding: 0 194px 2px 0;

	font-size: 30px;
	font-weight: bold;
	line-height: normal;

	color: #1a2841;
}

#expMap a.return
{
	position: absolute;
	top: 39px;
	right: 34px;


	font-size: 18px;
	color: #1a2841;
}

#expMap .experience
{
	margin-top: 23px;

	max-height: 377px;
	overflow: auto;
}

#mapLabel
{
	display: none;

	position: absolute;
	background: white;
	padding: 4px 7px;

	border: 1px solid #007659;

	border-radius: 4px;
	-moz-border-radius: 4px;

	z-index: 100002;
}

#expUnderlay
{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;

	background: rgba( 137, 137, 137, .44 );

	z-index: 100000;
}

#mapClose
{
	position: absolute;
	top: 8px;
	right: 8px;

	background: #1a2841;
	width: 30px;
	height: 30px;

	border-radius: 4px;
	-moz-border-radius: 4px;

	font-size: 40px;
	text-transform: uppercase;
	text-align: center;
	font-weight: normal;

	color: white;
	text-decoration: none;
	cursor: pointer;
}

#mapClose:before,
#mapClose:after
{
	content: '';
	display: block;
	background: white;
	transform: rotate(45deg);

	position: absolute;
	top: calc(50% - 1px);
	right: 15%;
	width: 70%;
	height: 2px;
}

#mapClose:after
{
	transform: rotate(135deg);
}

#iconInternational
{
	background: url(../i/int-matters.png);
	width: 166px;
	height: 88px;

	position: absolute;
	right: 32px;
	bottom: 32px;
	z-index: 100002;

	cursor: pointer;
}

#iconInternational:hover
{
	background-position: bottom;
}

#expMapLink
{
	display: block;

	background: url(../i/exp-map-icon.png) no-repeat;
	background-size: auto calc(100% - 40px);
	padding-top: 160px;
	margin: 1.5em 0 1em 0;

	color: inherit;
	font-weight: bold;
	text-decoration: none;
}

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

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


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

/* @media all and (max-width: 1350px) /* use while programming */
@media print
{
	html
	{
	
	}

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

	#bannerContent *,
	h2.sectionTitle,
	body#clients #mainContent span
	{
		color: #333333 !important;
	}

	.mobile,
	#siteSearch,
	.view_more,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink,
	#subNav,
	nav,
	.orderButton,
	footer,
	.xrefMultimediaList,
	form,
	.vcard,
	.bioList .email,
	.bioList .contact > div:not(:last-child):after,
	#bioAccessories,
	#readMore,
	#mainContent div.expander > h2:after,
	#serviceList h2 span,
	h2.sectionTitle:after,
	#newsroomSubscribe,
	#banner:before,
	#officeAccessories > div:first-child
	{
		display: none !important;
	}

	div.expander > *:not(h2),
	#bio_contentextra,
	div.listColumnWrapper ul.results_list > li > ul.hierList,
	.contentSection > *,
	.contentSection
	{
		display: block !important;
	}

	.contentSection iframe
	{
		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;
		margin: 0;
	}

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

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

	#homeSpotlight ul,
	#homeBoxes li,
	.bioList .results_list,
	#featured .results_list,
	#officeList ul,
	#newsroomList ul.results_list,
	#bannerMenu ul
	{
		display: block;
		margin: 0;
	}

	img#bannerImage
	{
		left: 0;
		width: 100%;
	}

	#bannerContent
	{
		position: static;
	}

	#content
	{
		padding: 0;
	}

	body.attorneys-item #banner, body.contact-item #banner
	{
		height: auto;
	}

	#homeBoxes,
	#serviceList
	{
		clear: both;
	}

	#homeSpotlight ul li 
	{
		float: left;
		width: calc(100%/3);
	}

	#homeBoxes .box1, #homeBoxes .box2
	{
		max-width: 100%;
	}

	.bioList .results_list li
	{
		page-break-inside: avoid;
		float: left;
		width: 275px;
		height: 375px;
	}

	.bioList .results_list:after,
	#banner:after
	{
		display: table;
		content: '';
		clear: both;
	}

	#featured .results_list li 
	{
		height: 300px;
		float: left;
		width: calc(198px - 3px);
	}

	#featured .results_list li a
	{
		display: flex;
		flex-direction: column;
	}

	#featured .results_list li .title
	{
		order: 2;
		position: relative;
	}

	div.listColumnWrapper
	{
		columns: 2;
	}

	#newsroomList > li
	{
		clear: both;
	}

	#newsroomList ul.results_list li 
	{
		float: left;
		width: calc(50% - 44px);
	}

	body.attorneys-item #subContent, body.services-practices-item #subContent, body.newsroom-news-item #subContent, body.newsroom-events-item #subContent, body.newsroom-publications-item #subContent, body.clients-item #subContent, body.careers-item #subContent
	{
		width: 30%;
	}

	body.attorneys-item #mainContent, body.services-practices-item #mainContent, body.newsroom-news-item #mainContent, body.newsroom-events-item #mainContent, body.newsroom-publications-item #mainContent, body.clients-item #mainContent, body.careers-item #mainContent
	{
		width: 65%;
	}

	#bannerMenu
	{
		position: static;
	}

	#bannerMenu ul li 
	{
		float: left;
		width: calc(25% - 10px);
	}
}

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