/* 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: 15px/1.6 'opensans', sans-serif;
	font-weight: 300;
	color: #464646;
}

body
{
	position: relative;
	min-width: 320px;
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 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;
	}
}

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

#cookieBanner::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;

}

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

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

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

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

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

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

sup, sub
{
	line-height: 0;
}

a
{
	color: #3874a8;
	text-decoration: none;
}

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

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

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

h1
{
	padding: 5px 0 15px 0;
	color: #000;
	font-size: 1.9rem;
}

h2
{
	padding: 12px 0 8px 0;
	color: #333333;
	font-size: 1.75rem;
}

.staticMainText > h2:first-child
{
	padding: 5px 0 8px 0;
}

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

body.practices-item #subContent h2,
body.industries-item #subContent h2,
body.people-item #subContent h2
{
	margin: 0 0 14px 0;
	padding: 12px 0 10px 0;
	border-bottom: 1px solid #EBEBEB;
}

body.practices-item #subContent h2 span,
body.industries-item #subContent h2 span,
body.people-item #subContent h2 span
{
	padding: 0 10px 7px 0;
	border-bottom: 4px solid #146EC8;
	color: #757575;
	font-weight: normal;
}

body.practices-item #subContent #area_bio h2,
body.industries-item #subContent #area_bio h2
{
	margin: 0 0 0px 0;
}

h3
{
	display: block;
	position: relative;
	margin: 0 0 18px 0;
	padding: 20px 0 10px 0px;
	border-bottom: 1px solid #EBEBEB;
	color: #464646;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}

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

h5
{
	padding: 12px 0 4px 0;
	font-size: 24px;
    line-height: 38px;
    color: #509FEE;
    font-weight: 300;
}

/* Reserved for Print Pilot */
h6
{
	color: #509FEE;
	font-weight: 500;
	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');
}

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

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

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

img
{
	border: 0;
}

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

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

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

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


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

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

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

#index #homeAnimation:before,
#index #content:before,
#footer:before,
#footerNav:before,
body.practices-item #tabLinks:before,
body.industries-item #tabLinks:before,
body.firm-locations-item #tabLinks:before,
body.people-item #tabLinks: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;
}

#index #content:before
{
	min-height: 350px;
	height: 100%;
}


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

#header
{
	position: relative;
	height: 154px;
	background: url('../i/soft-slit-separator.png') center top 120px no-repeat; /* data-uri */
	box-sizing: border-box;
}

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

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

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

#upperSearchLink
{
	display: none;
}

#topLinks
{
	position: relative;
	float: right;
}

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

#topLinks li
{
	float: left;
}

#topLinks a
{
	display: inline-block;
	position: relative;
	margin: 18px 28px 0 0;
	color: #CA4F02;
	font-size: 19px;
	font-weight: 200;
	line-height: 22px;
	text-transform: uppercase;
}

#topLinks a:before
{
    font-family: 'FontAwesome';

}

#topLinks li#social_linkedin a:before
{
	content: "\f0e1";
}

#topLinks li#social_twitter a:before
{
	content: "\f099";
}

#topLinks li#social_rss a:before
{
	content: "\f09e";
}

#topLinks li#social_share a:before
{
	content: "\f1e0";
}

#topLinks a:hover
{
	color: #509fee;
	text-decoration: none;
}

#topSearch form
{
	display: block;
	margin: 16px 0px 0 0;
	width: 200px;
	height: 23px;
	border: 1px solid #ebebeb;
	font-size: 12px;
	line-height: 16px;
}

#topSearch form > div,
#topSearch form > div > div
{
	width: calc(100% - 0px);
}

#topSearch form > div > div label
{
	top: 4px;
	left: 0px;
	font-size: 12px;
	line-height: 14px;
	width: 174px;
}

#topSearch input
{
	margin: 0;
	padding: 0px 4px 0 0;
	border: 0px;
	background: none;
	height: auto;
}

#topSearch button
{
	float: right;
	width: 18px;
	height: 21px;
	padding: 1px 3px 0 0;
	cursor: pointer !important;
	border: 0px solid blue;
	background: transparent;
}

#topSearch input#searchtext
{
	width: 174px;
	margin: 4px 0 0 2px;
	padding: 0px 2px 2px 5px;
	border: 0;
	font:inherit;
	font-size: 12px;
	line-height: 16px;
	font-weight: normal;
}

@media (max-width: 1179px)
{
	#topLinks
	{
		position: absolute;
		top: 106px;
		right: 10px;
		margin: 0 0 0 0;
	}

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

	#topLinks li a
	{
		margin: 18px 0px 0 10px;
	}

	#topSearch form
	{
		display: none;
	}

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

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

/*
	how these content jumps should work on desktop:

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

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

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

	background: white;
	color: #CA4F02;
	font-weight: bold;
}

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


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

}

#mainNav li > a
{
	display: block;
	padding: 5px 20px 5px 20px;
	color: #757575;
	font-weight: 400;
	line-height: 20px;
	text-transform: uppercase;
}

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

#mainNav li ul a
{
	color: #575252;
	text-transform: none;
}


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


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


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

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

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

#navToggle
{
	display: none;
}

@media (min-width: 1180px)
{
	#mainNav
	{
		position: absolute;
		z-index: 9999;
		top: 64px;
		right: 0px;
	}

	#index #mainNav
	{
		right: 10px;
	}

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

	#mainNav > ul > li
	{

	}

	#mainNav > ul > li > a
	{
		position: relative;
		z-index: 5;
		padding: 18px 18px 18px 18px;
		font-size: 14px;
		box-sizing: border-box;
	}

	#mainNav > ul > li:hover > a
	{
		color: #ffffff;
		background: #CA4F02;
	}

	#mainNav > ul > li > a:before,
	#mainNav > ul > li > a:after
	{
		position: absolute;
		top: 0px;
		left: 0px;
		z-index: 10;
		content: ' ';
		height: 100%;
		border-left: 0px solid #eaeaea;
	}

	#mainNav > ul > li > a:after
	{
		right: 0px;
		border-right: 1px solid #eaeaea;
	}

	#mainNav > ul > li:last-child > a
	{
		padding-right: 10px;
	}

	#mainNav > ul > li:last-child > a:after
	{
		border-right: 0px solid gray;
	}

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

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

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


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

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

		visibility: hidden;
	}

	#mainNav:before
	{
		display: none;
	}

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

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

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

	#navToggle
	{
		/* button reset */
		border: none;
		margin: 0;
		padding: 0;
		width: auto;
		overflow: visible;
		background: transparent;
		color: inherit;
		font: inherit;
		text-transform: inherit;
		text-align: inherit;
		line-height: inherit;

		/* Corrects font smoothing for webkit */
		-webkit-font-smoothing: inherit;
		/* Corrects inability to style clickable `input` types in iOS */
		-webkit-appearance: none;
		/* end button reset */

		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		width: 0;
		height: 0;
		overflow: hidden;
		padding: 14px 28px 0 0;
		border: 0 solid #3874a8;
		border-width: 4px 0;
		cursor: pointer;
	}

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


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

ul.subNavList
{
	position: relative;
	margin: 20px 0 0px 0;
}

ul.subNavList li
{
	position: relative;
	list-style: none;
	margin: 0 0 10px 0;
	padding: 0;
	color: #757575;
	font-weight: 500;
	font-size: 16px;
}

ul.subNavList li a
{
	display: block;
	position: relative;
	padding: 10px 10px 10px 10px;
	border: 1px solid #f2efef;
	color: #757575;
	box-sizing: border-box;
}

ul.subNavList li a:hover
{
	background: #EDEDED;
	border: 1px solid #EDEDED;
	text-decoration: none;
	color: #6B6B6B;
}

ul.subNavList li .expander
{
    position: absolute;
    top: 0px;
    right: 0px;
    margin: 0 0px 0 0;
    background: none;
    border: 0px;
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;
}

ul.subNavList li .expander:hover
{
	border: 0px;
	background: none;
}

ul.subNavList li .expander:after
{
    content: '\0a0+\0a0';
}

ul.subNavList li .expander.isOpen:after
{
    content: '\0a0-\0a0';
}

ul.subNavList li .expander:after
{
    color: #5d7f32;
}

ul.subNavList li .expander.isOpen:after
{
    color: #5d7f32;
}

ul.subNavList ul
{
	display: none;
	margin: 2px 0 0 0;
	padding: 10px 0 0 40px;
	border-left: 1px solid #f2efef;
	border-right: 1px solid #f2efef;
	border-bottom: 1px solid #f2efef;
}

ul.subNavList li.hereParent ul
{
	display: block;
}

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

ul.subNavList ul li a
{
	padding: 0px 0px 0px 0px;
	border: 0px solid #f2efef;
	background: none;
	font-weight: 300;
}

ul.subNavList ul li a:hover
{
	padding: 0px 0px 0px 0px;
	border: 0px solid #f2efef;
	background: none;
	color: #CA4F02;
}

ul.subNavList li.here > a,
ul.subNavList li.hereParent > span > a
{
	background: #EDEDED;
	border: 1px solid #EDEDED;
	color: #6B6B6B;
}

ul.subNavList li.hereParent > span > a.expander:hover
{
	background: none;
	border: 1px solid transparent;
}

ul.subNavList li.hereParent > ul > li.here a
{
	background: none;
	border: 0px;
	font-weight: 700;
}


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

@media (min-width: 1180px)
{
	#tabLinks
	{
		position: relative;
		margin: 0px 0px 0px 0px;
		padding: 28px 0 0 0;
		border-bottom: 1px solid #e0dfdf;
	}

	#tabLinks a
	{
		display: inline-block;
		position: relative;
		margin: 0 1px 0 0;
		padding: 16px 30px 16px 30px;
		background: #ffffff;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		color: #757575;
		font-weight: 400;
		font-size: 19px;
		line-height: 26px;
		text-align: center;
		box-sizing: border-box;
	}

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

	#tabLinks .current
	{
		background: #CA4F02;
		color: #ffffff;
		text-decoration: none;
		cursor: default;
	}

	#tabLinks .current:after
	{
		position: absolute;
		bottom: -16px;
		left: calc(50% - 10px);
		content: ' ';
		width: 0;
  		height: 0;
  		border-left: 16px solid transparent;
  		border-right: 16px solid transparent;
 		border-top: 16px solid #CA4F02;
	}

	#tabLinks a.current:hover
	{
		color: #ffffff;
	}

	.js .contentSection:not(.visibleTab)
	{
		display: none;
	}

	.js .sectionTitle
	{
		display: none;
	}

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

	#index #tabLinks a
	{
		width: calc(33.33% - 1px);
	}

	body.practices-item #tabLinks,
	body.industries-item #tabLinks,
	body.firm-locations-item #tabLinks,
	body.people-item #tabLinks
	{
		clear: both;
		padding: 0px 0 0 0;
		background: #233D59;
		border-bottom: 0px solid #e0dfdf;
	}

	body.people-item #tabLinks
	{
		z-index: 3;
	}

	body.practices-item #tabLinks a,
	body.industries-item #tabLinks a,
	body.firm-locations-item #tabLinks a,
	body.people-item #tabLinks a
	{
		padding: 16px 40px 16px 40px;
		background: none;
		border-top-left-radius: 0px;
		border-top-right-radius: 0px;
		color: #ffffff;
		font-size: 16px;
	}

	body.practices-item #tabLinks a:hover,
	body.industries-item #tabLinks a:hover,
	body.firm-locations-item #tabLinks a:hover,
	body.people-item #tabLinks a:hover
	{
		color: #cccccc;
		border-bottom: 4px solid #CA4F02;
		text-decoration: none;
	}

	body.practices-item #tabLinks a.current,
	body.industries-item #tabLinks a.current,
	body.firm-locations-item #tabLinks a.current,
	body.people-item #tabLinks a.current
	{
		border-bottom: 4px solid #CA4F02;
		color: #ffffff;
	}

	body.practices-item #tabLinks .current:after,
	body.industries-item #tabLinks .current:after,
	body.firm-locations-item #tabLinks .current:after,
	body.people-item #tabLinks .current:after
	{
		display: none;
	}

	body.practices-item #tabLinks a.current:hover,
	body.industries-item #tabLinks a.current:hover,
	body.firm-locations-item #tabLinks a.current:hover,
	body.people-item #tabLinks a.current:hover
	{
		color: #ffffff;
	}
}

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

	h2.sectionTitle
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 1px 0 0 0;
		padding: 13px 20px 13px 20px;
		background: #ffffff;
		color: #757575;
		font-weight: 400;
		font-size: 19px;
		line-height: 26px;
		box-sizing: border-box;
		text-decoration: none;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
	}

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

	h2.sectionTitle.isOpen
	{
		background: #CA4F02;
		color: #ffffff;
	}

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

	.contentSection
	{
		display: block !important;
	}

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

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

	body.practices-item h2.sectionTitle,
	body.industries-item h2.sectionTitle,
	body.firm-locations-item h2.sectionTitle,
	body.people-item h2.sectionTitle
	{
		background: #233D59;
		color: #cccccc;
		border-top-left-radius: 3px;
		border-top-right-radius: 3px;
		padding-left: 10px;
		padding-right: 10px;
	}

	body.practices-item h2.sectionTitle.isOpen,
	body.industries-item h2.sectionTitle.isOpen,
	body.firm-locations-item h2.sectionTitle.isOpen,
	body.people-item h2.sectionTitle.isOpen
	{
		background: #CA4F02;
		color: #ffffff;
	}
}


/* Upper page title -----------------------------------------------> */

#upperTitleBox
{
	position: relative;
	min-height: 182px;
	border-top: 24px solid #CA4F02;
	box-sizing: border-box;
}

#upperTitleBox:before
{
	position: absolute;
	top: -24px;
	left: calc(50% - 50vw);
	width: 100vw;
	border-top: inherit;
	content: '';
	display: block;
}

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

#content:before
{
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	display: block;
	content: '';
	width: 100vw;
	height: 1px;
	background: #EBEBEB;
}

#header:after
{
	position: absolute;
	bottom: 33px;
	left: calc(50% - 50vw);
	display: block;
	content: '';
	width: 100vw;
	height: 1px;
	background: #EBEBEB;
}

body.practices #upperTitleBox,
body.industries #upperTitleBox
{
	border-top: 24px solid #233D59;
}

body.people #upperTitleBox
{
	border-top: 24px solid #48AFC0;
}

body.newsroom #upperTitleBox
{
	border-top: 24px solid #648d09;
}

body.resources #upperTitleBox
{
	border-top: 24px solid #509FEE;
}

body.careers #upperTitleBox
{
	border-top: 24px solid #3366d8;
}


#logoMark
{
	float: left;
	width: 90px;
	height: 80px;
	margin: 18px 0 0 12px;
	background: url('../i/mark.svgz') no-repeat;
	background-size: contain;
}

h1#pageTitle,
span#sectionTitle
{
	float: left;
	display: inline-block;
	margin: 24px 0 0 0;
	padding: 0 0 0 0;
	color: #464646;
    font-size: 68px;
    font-family: 'lato', sans-serif;
    font-weight: 900;
    line-height: 68px;
    text-transform: uppercase;
}

#bannerContent
{
	float: right;
	width: 595px;
	padding: 0 30px 0 0;
	color: #5a5a5a;
	font-size: 18px;
	box-sizing: border-box;
}

#bannerContent h2
{
	margin: 22px 0 0 0;
	padding: 0 0 0 0;
	border: 0px;
	color: #5A5A5A;
	font-family: 'lato';
	font-size: 36px;
	font-weight: 300;
}

@media (max-width: 1179px)
{
	#upperTitleBox
	{
		min-height: 122px;
	}

	#logoMark
	{
		width: 60px;
		height: 50px;
		margin: 18px 0 0 12px;
	}

	h1#pageTitle,
	span#sectionTitle
	{
		margin: 24px 0 0 0;
		font-size: 36px;
		font-weight: 900;
		line-height: 36px;
	}

	#bannerContent
	{
		clear: left;
		float: none;
		width: auto;
		padding: 10px 0px 10px 0;

	}
}


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

#content
{
	position: relative;
	height: auto !important;
	min-height: 350px;
	background: url('../i/soft-slit-separator.png') center 0px no-repeat; /* data-uri */
}

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

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

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

#subNav
{
	padding: 20px 10px 0px 10px;
	box-sizing: border-box;
}

#subContent
{
	position: relative;
	padding: 20px 10px 50px 10px;
	box-sizing: border-box;
}

@media (min-width: 768px)
{
	#mainContent:not(:only-child)
	{
		float: right;
		width: calc(100% - 340px);
		padding: 27px 0 50px 0;
	}

	body.people-item #mainContent:not(:only-child),
	body.practices-item #mainContent:not(:only-child),
	body.industries-item #mainContent:not(:only-child)
	{
		float: left;
	}

	#subNav,
	#subContent
	{
		float: left;
		clear: left;
		width: 280px;
	}

	body.people-item #subContent,
	body.practices-item #subContent,
	body.industries-item #subContent
	{
		float: right;
		clear: right;
	}
}

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

		padding-left: 10px;
		padding-right: 10px;
	}

	#subNav
	{
		-webkit-order: 2;
			order: 2;

		padding: 0px 0px 30px 0px;
	}

	#subContent
	{
		padding: 0px 0px 30px 0px;
		box-sizing: border-box;
	}
}

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

#subContent li
{
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	line-height: 1.4;
}

#subContent a
{
	color: #1575D5;
}

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

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

#mainContent .bioSection h2,
#mainContent .areaSection h2
{
	display: block;
	position: relative;
	margin: 0 0 18px 0;
	padding: 20px 0 10px 0px;
	border-bottom: 1px solid #EBEBEB;
	color: #464646;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}

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

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

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

/* hide all items for area, industry, and office 'professionals' */
/*.js #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-left: 0;
}

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

.expandableList .results_list li .startInline .category
{
	text-transform: uppercase;
}

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

#pdfLink
{
	display: block;
	margin: 0px 0 30px 0 !important;
}


/* Bio Directory */

#peopleSearchBox
{
	margin: 0 0 30px 0;
	padding: 16px 20px 7px 20px;
	background-color: #DADADA;
}

.letterLinks
{
	font-weight: 300;
	font-size: 24px;
	margin: 10px 0px 18px 0px;
	color: #999999;
}

.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% / 26 - 3px);
	margin: 0 3px 3px 0;
	padding: 10px 0 0 0;
	background: #5A5A5A;
	font-size: 14px;
	text-align: center;
	vertical-align: bottom;
}

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

.letterLinks a
{
	color: #ffffff;
}

.letterLinks a:hover
{
	padding: 4px 0 6px 0;
	background: #48AFC0;
	text-decoration: none;
}

#people-search-directory .bioList #form-search-results h2,
#people .bioList #form-search-results h2
{
	padding: 0;
	margin: 0;
	font-size: 0px
}

.bioList > div.results_list
{
	position: relative;
}

.bioList > div.results_list > div
{
	position: relative;
	clear: left;
	min-height: 82px;
	margin: 0 0 50px 0;
}

.bioList > div.results_list > div > div
{
	float: left;
	padding: 7px 0 0px 0;
}

.bioList > div.results_list > div > div.title
{
	float: none;
	padding: 0px 0 7px 0;
	margin-left: 110px;
	border-bottom: 1px solid #48AFC0;
	color: #464646;
	font-family: 'lato';
	font-size: 28px;
	font-weight: 900;
	line-height: normal;
}

.bioList > div.results_list > div > div.title a
{

	color: #464646;
	font-family: 'lato';
	font-size: 28px;
	font-weight: 900;
	line-height: normal;
}

.bioList > div.results_list > div > div.title a:hover
{
	color: #48AFC0;
	text-decoration: none;
}

.bioList > div.results_list > div > div.title > a span:first-child
{
	font-weight: 300;
}

.bioList > div.results_list > div > div.photo
{
	width: 110px;
	padding: 0px 0 0px 0;
}

.bioList > div.results_list > div > div.photo a
{
	display: block;
}

.bioList > div.results_list > div > div.photo img
{
	display: block;
}

.bioList > div.results_list > div > div.position,
.bioList > div.results_list > div > div.phone,
.bioList > div.results_list > div > div.email
{
	width: calc(20% - 0px);
	padding: 8px 20px 0 0px;
	line-height: 19px;
    color: #757575;
    font-size: 16px;
    letter-spacing: 1px;
	box-sizing: border-box;
}

.bioList > div.results_list > div > div.email
{
	width: auto;
}

.bioList > div.results_list > div > div.email a
{
	color: #757575;
}

.bioList > div.results_list > div > div.email a:hover
{
	color: #48AFC0;
	text-decoration: none;
}

.bioList > div.results_list > div > div.vcard,
.bioList > div.results_list > div > div.linkedin
{
	text-align: right;
	float: right;
	font-size: 38px;
	line-height: 0px;
}

.bioList > div.results_list > div > div.vcard a:hover,
.bioList > div.results_list > div > div.linkedin a:hover
{
	color: #48AFC0;
}

.bioList > div.results_list > div > div.linkedin
{
	margin: 0 20px 0 0;
}

#sidePeopleSearch
{
	padding: 10px 10px 20px 10px;
	background: #509FEE;
	background: #3366d8;
	/*background: #648d09;
	background: #357E8D;*/
	color: #ffffff;
}

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

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

	.bioList > div.results_list > div > div.title
	{
		min-height: 72px;
		margin-left: 0px;
	}

	.bioList > div.results_list > div > div.position,
	.bioList > div.results_list > div > div.phone,
	.bioList > div.results_list > div > div.email
	{
		float: none;
		clear: both;
		width: calc(100% - 0px);
		padding: 8px 20px 0 0px;
		margin: 0 0 0 0px;
	}

	.bioList > div.results_list > div > div.vcard,
	.bioList > div.results_list > div > div.linkedin
	{
		float: none;
		clear: both;
		display: inline-block;
		font-size: 20px;
		margin: 0 0 0 0px;
	}

	.bioList > div.results_list > div > div.linkedin
	{
		margin: 0 4px 0 0px;
	}
}


/* Bio Profile */

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

#bioContent #bioPhoto
{
	display: block;
	position: absolute;
	z-index: 1;
	right: 0px;
	top: 0px;
	max-height: 450px;
}

#bioInfo
{
	height: 450px;
	margin: 0 0 0px 0;
}

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

#bioInfoInner
{
	position: relative;
	z-index: 2;
	width: 1150px;
	height: 450px;
	padding: 50px 0 0 38px;
	background: url('../i/bio-mask.png') left 73% top 0px no-repeat; /* data-uri */
	-moz-box-shadow:    0 0 6px #ccc;
   	-webkit-box-shadow: 0 0 6px #ccc;
   	box-shadow:         0 0 6px #ccc;
   	box-sizing: border-box;
}

#bioInfoInner h1#pageTitle
{
	float: none;
	margin: 0 0 20px 0;
}

#bioInfoInner h1#pageTitle a.sp_pencil
{
	position: absolute;
	top: 18px;
	left: 18px;
}

#bioInfoInner h1#pageTitle span
{
	display: block;
	font-size: 75px;
    line-height: 71px;
    letter-spacing: 1px;
    color: #5A5A5A;
    font-family: 'lato';
    font-weight: 400;
}

#bioInfoInner h1#pageTitle span:first-child
{
	color: #CA4F02;
	font-size: 60px;
	font-weight: 300;
	text-transform: none;
}

#bioTitle
{
	padding: 0 0 18px 0;
	font-size: 26px;
	line-height: 36px;
    letter-spacing: 1px;
    color: #5A5A5A;
}

#bioTitle a
{
    display: inline-block;
    color: #5A5A5A;
    font-size: 22px;
    line-height: 31px;
    text-transform: uppercase;
}

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

ul#bioContact
{
	float: left;
	margin: 0px 0 10px 0;
}

ul#bioContact li
{
	font-size: 18px;
    line-height: 36px;
    letter-spacing: 1px;
    color: #5A5A5A;
}

ul#bioContact li > span:first-child
{
	 display: inline-block;
	 width: 10px;
	 margin: 0 10px 0 0;
	 padding: 0 10px 0 0;
	 border-right: 1px solid #5a5a5a;
	 color: #CA4F02;
	 font-weight: 500;
}

ul#bioEmailSection
{
	float: left;
	margin: 2px 0 0 20px;
}

ul#bioAccessories
{
	clear: both;
}

ul#bioAccessories li,
ul#bioEmailSection li
{
	display: inline-block;
	margin: 10px 0 0 0;
}

ul#bioAccessories li a,
ul#bioEmailSection li a
{
	display: block;
	margin: 0 20px 0 0;
	padding: 10px 18px 10px 28px;
	border: 1px solid #757575;
	border-radius: 5px;
	letter-spacing: 1px;
    color: #757575;
	text-transform: uppercase;
}

ul#bioAccessories li a:hover,
ul#bioEmailSection li a:hover
{
	 border: 1px solid #CA4F02;
	 color: #CA4F02;
	 text-decoration: none;
}

ul#bioAccessories li a:before,
ul#bioEmailSection li a:before
{
	position: absolute;
	left: 10px;
	top: 11px;
	font-family: FontAwesome;
}

/*ul#bioEmailSection li#bioEmail a:before*/
ul#bioAccessories li#bioEmail a:before
{
	content: '\f0e0';
}

ul#bioAccessories li#bioVcard a:before
{
	content: '\f2bb';
}

ul#bioAccessories li#bioLinkedin a:before
{
	content: '\f0e1';
	left: 12px;
}

ul#bioAccessories li#bioTwitter a:before
{
	content: '\f099';
	left: 12px;
}

ul#bioAccessories li#bioPDF a:before
{
	content: '\f1c1';
	left: 12px;
}

ul#bioSocial
{
	display: flex;
	flex-direction: row;
	padding: 10px 0 0 6px;
}

ul#bioSocial li
{
	margin-right: 5px;
}

ul#bioSocial a
{
	display: block;
	font-size: 16px;
	color: #757575;
}

ul#bioSocial a:hover
{
	text-decoration: none;
	color: #CA4F02;
}

ul#bioSocial a:before
{
	font-size: 22px;
	margin: 0 5px 0 0;
}

#bioQuote
{
	position: relative;
	z-index: 3;
	min-height: 132px;
	padding: 80px 0 80px 110px;
	border-top: 48px solid #CA4F02;
	line-height: 45px;
    font-size: 28px;
    color: #5A5A5A;
    background: url('../i/bio-arrow.png') 0px center no-repeat; /* data-uri */
    box-sizing: border-box;
}

#bioQuote p
{
	margin: 0px;
	padding: 0px;
}

#subContent .bioSection ul li
{
	color: #757575;
}

#subContent .bioSection ul li a
{
	 color: #CA4F02;
}

@media (max-width: 1130px)
{
	#bioInfoInner
	{
		background-position: left 78% top 0px;
	}

	#bioInfoInner h1#pageTitle span
	{
		font-size: 55px;
		line-height: 51px;
	}

	#bioInfoInner h1#pageTitle span:first-child
	{
		font-size: 40px;
	}

	#bioTitle
	{
		font-size: 18px;
		line-height: 26px;
	}

	#bioTitle a
	{
		font-size: 16px;
		line-height: 21px;
	}

	ul#bioContact li
	{
		font-size: 14px;
		line-height: 26px;
	}

	ul#bioAccessories li a,
	ul#bioEmailSection li a
	{
		margin: 0 10px 0 0;
		padding: 3px 8px 3px 28px;
		font-size: 12px;
		border-radius: 3px;
	}

	ul#bioAccessories li a:before,
	ul#bioEmailSection li a:before
	{
		left: 6px;
		top: 5px;
	}
}

@media (max-width: 1090px)
{
	#bioInfoInner
	{
		background-position: left 83% top 0px;
	}
}

@media (max-width: 1060px)
{
	#bioInfoInner
	{
		background-position: left 87% top 0px;
	}
}

@media (max-width: 980px)
{
	#bioInfoInner
	{
		background-position: left 95% top 0px;
	}
}

@media (max-width: 900px)
{
	#bioInfoInner
	{
		background-position: left 102% top 0px;
	}

	#bioInfoInner h1#pageTitle span
	{
		font-size: 45px;
		line-height: 41px;
	}

	#bioInfoInner h1#pageTitle span:first-child
	{
		font-size: 30px;
	}
}

@media (max-width: 850px)
{
	#bioInfoInner
	{
		background-position: left 111% top 0px;
	}

	#bioInfoInner h1#pageTitle span
	{
		font-size: 35px;
		line-height: 31px;
	}

	#bioInfoInner h1#pageTitle span:first-child
	{
		font-size: 20px;
	}

	ul#bioAccessories li,
	ul#bioEmailSection li
	{
		display: block;
	}

	ul#bioAccessories li a,
	ul#bioEmailSection li a
	{
		display: inline-block;
	}
}

@media (max-width: 767px)
{
	#bioInfo
	{
		height: auto;
		margin: 0 0 0px 0;
	}

	#bioInfoInner
	{
		width: calc(100% - 0px);
		height: auto;
		padding: 20px 0px 20px 0px;
		background: none;
	}

	#bioInfoInner > div:first-child
	{
		margin-top: -168px !important;
		margin-bottom: 30px;
		background: rgba(253,99,3,0.8);
	}

	#bioInfoInner h1#pageTitle
	{
		margin: 10px 0 0px 10px;
	}

	#bioInfoInner h1#pageTitle span
	{
		font-size: 45px;
		line-height: 51px;
		color: #cccccc;
	}

	#bioInfoInner h1#pageTitle span:first-child
	{
		color: #ffffff;
		font-size: 36px;
	}

	#bioTitle
	{
		padding: 0 0 0px 10px;
		font-size: 19px;
		line-height: 36px;
		color: #ffffff;
	}

	#bioTitle a
	{
		font-size: 18px;
		line-height: 31px;
		color: #ffffff;
	}

	#bioContent #bioPhoto
	{
		display: block;
		position: relative;
		z-index: 1;
		right: inherit;
		top: inherit;
		max-height: none;
		height: auto;
		width: calc(100% - 0px);
	}

	ul#bioContact
	{
		margin: 0px 0 20px 10px;
	}

	ul#bioAccessories,
	ul#bioSocial
	{
		margin: 0px 0 0px 10px;
	}

	#bioQuote
	{
		position: relative;
		z-index: 3;
		min-height: 132px;
		padding: 30px 0 30px 0px;
		line-height: 35px;
		font-size: 18px;
		background: none;
	}
}


@media (max-width: 767px)
{
	#bioInfoInner > div:first-child
	{
		margin-top: 0px !important;
		margin-bottom: 30px;
		background: none;
	}

	#bioInfoInner h1#pageTitle span
	{
		color: #5A5A5A;
	}

	#bioInfoInner h1#pageTitle span:first-child
	{
		color: #CA4F02;
	}

	#bioTitle
	{
		color: #5A5A5A;
	}

	#bioTitle a
	{
		color: #5A5A5A;
	}
}


/* Practice List */

div.listColumn
{
    -webkit-columns: 2;
       -moz-columns: 2;
	    columns: 2;
    margin-bottom: 1em;
}

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

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

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

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

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

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

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

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

#areaList div.results_list
{
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
}

#areaList div.results_list:after
{
	display: block;
	clear: both;
	content: '';
}

/* entire container, keeps perspective */
#areaList .flip-container
{
	perspective: 1000px;
	display: table;
	position: relative;
	/*float: left;*/

	/* done via JS now
	min-height: 190px;
	height: 190px;
	*/

	width: calc(33.33% - 15px);
	margin: 0 0 20px 20px;
	cursor: pointer;
}

#areaList .flip-container:nth-child(3n+1)
{
   margin: 0 0 20px 0px;
}

/* flip the pane when hovered */
#areaList .flip-container:hover .flipper,
#areaList .flip-container.hover .flipper
{
	transform: rotateY(180deg);
	/*-ms-transform: rotateY(180deg);*/
}

#areaList .flip-container .flipper
{
	position: relative;
	float: left;
	height: 100%;
	width: 100%;
	cursor: pointer;
}

#areaList .front
{
	display: table;
	position: relative;
	height: 100%;
	width: 100%;
 	text-align: center;
  	vertical-align: middle;
	background: #727272;
	z-index: 2;
	font-family: 'lato';
	font-weight: 400;
	text-transform: uppercase;
}

#areaList .front a
{
	display: table-cell;
	padding: 10px;
	vertical-align: middle;
	color: #ffffff;
}

#areaList .front a:hover
{
	text-decoration: none;
}

#areaList .back img
{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#areaList .back:after
{
	display: block;
	position: absolute;
	bottom: 0px;
	content: 'Read More';
	width: 100%;
	text-align: right;
	background: #727272;
	padding: 3px 8px 3px 8px;
	color: #ffffff;
	font-family: 'lato';
	font-weight: 400;
	text-transform: uppercase;
	box-sizing: border-box;
}

#areaList .flip-container:nth-child(1) .front,
#areaList .flip-container:nth-child(1) .back:after
{
	background: #81c2cf; /* blue */
}

#areaList .flip-container:nth-child(2) .front,
#areaList .flip-container:nth-child(2) .back:after
{
	background: #464646; /* dark gray */
}

#areaList .flip-container:nth-child(3) .front,
#areaList .flip-container:nth-child(3) .back:after
{
	background: #727272; /* light gray */
}

#areaList .flip-container:nth-child(4) .front,
#areaList .flip-container:nth-child(4) .back:after
{
	background: #fb6421; /* orange */
}

#areaList .flip-container:nth-child(5) .front,
#areaList .flip-container:nth-child(5) .back:after
{
	background: #727272; /* light gray */
}

#areaList .flip-container:nth-child(6) .front,
#areaList .flip-container:nth-child(6) .back:after
{
	background: #81c2cf; /* blue */
}

#areaList .flip-container:nth-child(7) .front,
#areaList .flip-container:nth-child(7) .back:after
{
	background: #464646; /* dark gray */
}

#areaList .flip-container:nth-child(8) .front,
#areaList .flip-container:nth-child(8) .back:after
{
	background: #81c2cf; /* blue */
}

#areaList .flip-container:nth-child(9) .front,
#areaList .flip-container:nth-child(9) .back:after
{
	background: #fb6421; /* orange */
}

#areaList .flip-container:nth-child(10) .front,
#areaList .flip-container:nth-child(10) .back:after
{
	background: #727272; /* light gray */
}



/* flip speed goes here */
#areaList .flipper
{
	transition: 0.6s;
	transform-style: preserve-3d;
	position: relative;
}

/* hide back of pane during swap */
#areaList .front,
#areaList .back
{
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
}

/* front pane, placed above back */
#areaList .front
{
	z-index: 2;
	/* for firefox 31 */
	transform: rotateY(0deg);
}

/* back, initially hidden pane */
#areaList .back
{
	transform: rotateY(180deg);
}


/* for IE11 */
#areaList .flip-container:hover .back
{
	transition: 0.6s;
	-ms-backface-visibility: visible;
	z-index: 3;
}


#areaList .back img
{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#areaSelect,
#focusSelect
{
	margin-bottom: 18px;
}

@media (max-width: 1179px)
{
	#areaList .flip-container,
	#areaList .flip-container:nth-child(3n+1)
	{
		width: calc(50% - 15px);
		margin: 0 0 20px 20px;
	}

	#areaList .flip-container:nth-child(odd)
	{
   		margin: 0 0 20px 0px;
	}
}


/* Practice Profile */

#areaContent
{
	position: relative;
	width: 100%;

	-moz-box-shadow:    inset 0 0 5px #ccc;
   	-webkit-box-shadow: inset 0 0 5px #ccc;
   	box-shadow:         inset 0 0 5px #ccc;
}

#areaContentLower
{
	clear: both;
	width: 100%;
	height: 62px;
	background: #233D59;
}

#areaContent #itemPhoto
{
	display: block;
	float: left;
	width: 60%;
	max-width: 620px;
}

#areaTitleBlock,
#projectTitleBlock
{
	float: left;
	width: calc(40% - 0px);
	height: 100%;
	margin: 40px 0 0 30px;
	padding: 0 0 0 10px;
	border-left: 10px solid #CA4F02;
   	box-sizing: border-box;
}

#areaTitleBlock h1,
#projectTitleBlock h1
{
	display: inline-block;
	width: 100%;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	line-height: normal;
	text-transform: uppercase;
}

#areaTitleBlock h1 span,
#projectTitleBlock h1
{
	line-height: 72px;
    color: #5A5A5A;
    font-size: 50px;
    line-height: 50px;
    font-family: 'lato';
    font-weight: 300;
}


#areaTitleBlock span:first-child,
#projectTitleBlock h1 em
{
	display: block;
	line-height: 72px;
    color: #CA4F02;
    font-size: 50px;
    line-height: 50px;
    font-family: 'lato';
    font-weight: 900;
    font-style: normal;
}

#projectTitleBlock h1,
#projectTitleBlock h1 em
{
	font-size: 34px;
	line-height: 1;
}

#areaTitleBlock span#areaTitleLower
{
	display: block;
	line-height: 43px;
    color: #5A5A5A;
    font-size: 24px;
    font-family: 'lato';
    font-weight: 300;
}

#subContent .areaSection ul li
{
	color: #757575;
}

#subContent .areaSection ul li a
{
	 color: #CA4F02;
}

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

#subContent #area_bio_contact.areaSection ul li,
#subContent #industry_bio_contact.areaSection ul li
{
	margin: 0 0 18px 0;
}

#subContent #area_bio_contact.areaSection ul li:after,
#subContent #industry_bio_contact.areaSection ul li:after
{
	/* make div stretch to height of content */
	display: block;
	clear: both;
	content: '';
}

#subContent #area_bio_contact.areaSection ul li > div,
#subContent #industry_bio_contact.areaSection ul li > div
{
	margin: 0 0 0 94px;
	font-size: 11px;
	line-height: 18px;
}

#subContent #area_bio_contact.areaSection ul li > div.title,
#subContent #industry_bio_contact.areaSection ul li > div.title
{
	font-size: 14px;
	line-height: 18px;
}

#subContent #area_bio_contact.areaSection ul li div.photo,
#subContent #industry_bio_contact.areaSection ul li div.photo
{
	float: left;
	margin: 0 0 0 0;
	background: #cccccc;
}

#subContent #area_bio_contact.areaSection ul li div.photo img,
#subContent #area_bio_contact.areaSection ul li div.photo a,
#subContent #industry_bio_contact.areaSection ul li div.photo img,
#subContent #industry_bio_contact.areaSection ul li div.photo a
{
	display: block;
	width: 82px;
	/*height: 82px;*/
	max-height: 62px;
}

#subContent #area_bio_contact.areaSection ul li a[href^=tel],
#subContent #industry_bio_contact.areaSection ul li a[href^=tel]
{
    color: #757575;
}

#area_connected a
{
	color: #CA4F02;
}

#area_connected a:before
{
	content: '\f003';
	padding: 0 10px 0 0;
	font-family: 'FontAwesome';
}

#area_connected a:hover
{
	color: #509FEE;
	text-decoration: none;
}

@media (max-width: 1179px)
{
	#areaContent
	{
		padding: 0 0 30px 0;
	}

	#areaContentLower
	{
		display: none;
	}

	#areaContent #itemPhoto
	{
		float: none;
		width: 100%;
		max-width: 1200px;
	}

	#areaTitleBlock,
	#projectTitleBlock
	{
		float: none;
		width: calc(100% - 40px);
		margin: 30px 0 0px 40px;
		padding: 0 0px 0 14px;
	}
}

@media (max-width: 767px)
{
	#areaTitleBlock h1 span
	{
		font-size: 2rem;
		line-height: normal;
	}

	#areaTitleBlock span:first-child
	{
		font-size: 2rem;
		line-height: normal;
	}
}

/* News/Pub/Event type Listing */

#newsroomListContainer
{
	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
  	overflow: hidden;
}

.newsroomColumn
{
	position: relative;
	flex: 1;
	-webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
	margin: 25px 0 40px 28px;
	padding: 20px 36px 110px 36px;
	background: #357E8D;
	box-sizing: border-box;
}

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

.newsroomColumn:first-child
{
	-webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
	margin: 25px 0 40px 0px;
}

.newsroomColumn h2
{
	margin: 0 0 2px 0;
	padding: 0 0 0 0;
	color: #ffffff;
	font-size: 34px;
}

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

.newsroomList ul li
{
	margin: 0 0 0 0;
	padding: 24px 0 24px 0;
	border-bottom: 1px solid #eaeaea;
	color: #333333;
	font-weight: 500;
	font-size: 16px;
}

body#newsroom .newsroomList ul li,
body#resources .newsroomList ul li
{
	border-bottom: 1px solid #a6d4dd;
	color: #ffffff;
}

.newsroomList ul li .startInline
{
	color: #000000;
}

.newsroomList ul li .itemdate
{
	color: #000000;
	font-size: 12px;
	font-weight: 500;
}

body#newsroom .newsroomList ul li .title a,
body#resources .newsroomList ul li .title a
{
	color: #ffffff;
}

.newsroomList ul li span.category
{
	color: #000000;
	text-transform: uppercase;
}

.view_more_training a,
.view_more a
{
	display: inline-block;
	width: auto;
	margin: 20px 0 20px 0;
	padding: 7px 14px 7px 14px;
	border: 1px solid #CE4A0D;
	border-radius: 6px;
	color: #CE4A0D;
	font-size: 14px;
	font-weight: 500;
	vertical-align: middle;
	text-transform: uppercase;
}

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

.view_more_training a
{
	border: 1px solid #ffffff;
	color: #ffffff;
}

.newsroomColumn .view_more a
{
	position: absolute;
	bottom: 38px;
	margin: 0px 0 0 0;
	border: 1px solid #ffffff;
	color: #ffffff;
}

.newsroomColumn .view_more a:hover
{
	background: #CE4A0D;
}

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

@media (max-width: 1179px)
{
	#newsroomListContainer
	{
		display: block;
		overflow: visible;
	}

	#newsroomListContainer .newsroomColumn
	{
		margin-left: 0px;
	}

	.newsroomColumn:first-child
	{
		margin: 25px 0 20px 0px;
	}
}


/* News/Pub/Event type Profile */

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

div#itemDate
{
	font-weight: 500;
}

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

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

#itemCategory
{
	font-weight: 700;
	font-size: 22px;
	text-transform: uppercase;
}


/* Contact Main Listing */

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

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

#officeList ul
{
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#officeList ul li
{
	width: calc(100% / 3 - 3rem);
	margin-bottom: 3rem;
	margin-right: 3rem;
}

#officeList ul li:nth-child(3n)
{
	margin-right: 0rem;
}

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

#officeList ul li .address
{
	margin: 1rem 0;
}

#officeList ul li .contactperson
{
	margin: 1rem 0;
}

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

/* Office Profile Pages */

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

#officeContent #itemPhoto
{
	display: block;
	width: 100%;
}

#officeTitleBlock
{
	position: absolute;
	bottom: 62px;
	left: 0px;
	width: 100%;
	min-height: 94px;
	background: rgba(253,99,3,0.8);
   	box-sizing: border-box;
}

#officeTitleBlock h1
{
	float: left;
	margin: 8px 0 0 28px;
    color: #FFFFFF;
    font-size: 60px;
    font-family: 'lato';
    font-weight: 900;
    line-height: 72px;
    text-transform: uppercase;
}

#officeTitleBlock > div
{
	position: relative;
	float: left;
	margin: 20px 0 0 74px;
	padding: 0 0 0 10px;
    color: #FFFFFF;
    font-weight: 400;
    line-height: 21px;
    border-left: 1px solid #ffffff;
}

#officeTitleBlock > div#officeAddress:before
{
	position: absolute;
	top: 2px;
	left: -22px;
	content: '\f041';
	font-family: 'FontAwesome';
	font-size: 20px;
}

#officeTitleBlock > div#officeAddressPhone:before
{
	position: absolute;
	top: 2px;
	left: -24px;
	content: '\f095';
	font-family: 'FontAwesome';
	font-size: 20px;
}

#officeTitleBlock > div > div#officeEmail:before
{
	position: absolute;
	top: 1px;
	left: -30px;
	content: '\f003';
	font-family: 'FontAwesome';
	font-size: 18px;
}

#officeTitleBlock > div > div#officePdfLink:before
{
	position: absolute;
	left: -30px;
	content: '\f1c1';
	padding-top: 3px;
	padding-left: 3px;
	font-family: 'FontAwesome';
	font-size: 16px;
}

#officeTitleBlock a
{
	color: #ffffff;
}

@media (max-width: 1179px)
{
	#officeTitleBlock
	{
		position: relative;
		bottom: inherit;
		left: inherit;
		width: 100%;
		padding: 0 0 20px 0;
		background: rgba(253,99,3,1);
	}

	#officeTitleBlock h1
	{
		float: none;
		margin: 8px 0 0 40px;
		 font-size: 38px;
	}

	#officeTitleBlock > div
	{
		float: none;
		clear: left;
		margin: 0px 0 20px 40px;
	}
}


/* Testimonials */

#testimonialList
{
	margin: 40px 0 20px 0;
}

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

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

#testimonialList ul li
{
	float: left;
	width: calc(50% - 40px);
	max-width: 370px;
	margin: 0 0 40px 40px;
	padding: 0 0 20px 0;
	color: #ffffff;
	box-sizing: border-box;
}

#testimonialList ul li:nth-child(2n+1)
{
   margin: 0 0 40px 0px;
}

#testimonialList ul li:nth-child(1)
{
   background: #357E8D;
}

#testimonialList ul li:nth-child(2)
{
   background: #727272;
}

#testimonialList ul li:nth-child(3)
{
   background: #464646;
}

#testimonialList ul li:nth-child(4)
{
   background: #fc6118;
}

#testimonialList ul li .startInline
{
	position: relative;
}

#testimonialList ul li .title
{
	position: absolute;
	z-index: 1;
	top: 0px;
	left: 0px;

	opacity: 0;
	visibility: hidden;
    transition: opacity .25s ease-in-out, visibility .25s ease-in-out;
   -moz-transition: opacity .25s ease-in-out, visibility .25s ease-in-out;
   -webkit-transition: opacity .25s ease-in-out, visibility .25s ease-in-out;
}

#testimonialList ul li:hover .title,
#testimonialList ul li:hover .title a:not(.sp_pencil)
{
	display: block;
	opacity: 1;
	visibility: visible;
	z-index: 3;
	width: 100%;
	height: 100%;
	background: #365ed7;
	color: #ffffff;
	font-size: 28px;
	line-height: 34px;
	font-weight: 700;
	text-transform: uppercase;
	box-sizing: border-box;


}

#testimonialList ul li:hover .title a:not(.sp_pencil)
{
	position: relative;
	padding: 30% 30px 0 30px;
}

#testimonialList ul li:hover .title a:not(.sp_pencil):hover
{
	text-decoration: none;
}

#testimonialList ul li .photo
{
	position: relative;
	z-index: 2;
	max-width: 370px;
}

#testimonialList ul li .photo a:not(.sp_pencil)
{
	display: block;
	position: relative;
}

#testimonialList ul li .photo img
{
	display: block;
	position: relative;
	width: 100%;
}

#testimonialList ul li .quote
{
	position: relative;
	padding: 24px 28px 0px 28px;
	font-size: 18px;
	line-height: 30px;
}

#testimonialList ul li .quote:before
{
	position: absolute;
	top: -16px;
	left: 14px;
	z-index: 6;
	content: ' ';
	width: 38px;
	height: 32px;
	background: url('../i/careers-mark.png') 0px 0px no-repeat; /* data-uri */
}

#testimonialList ul li .attribution
{
	padding: 0px 28px 0px 0px;
	font-style: italic;
	text-align: right;
}

@media (max-width: 1179px)
{
	#testimonialList ul li:hover .title,
	#testimonialList ul li:hover .title a:not(.sp_pencil)
	{
		font-size: 18px;
		line-height: 24px;
	}
}

.itemQuote
{
	font-size: 28px;
	line-height: 34px;
}

.itemQuote p
{
	margin: 0 0 0 0;
	padding: 0 0 10px 0;
}

.itemAttribution
{
	padding: 0px 28px 0px 0px;
	font-style: italic;
	text-align: right;
}

.itemContent
{
	margin: 30px 0 0 0;
}

.itemContent #itemPhoto
{
	display: block;
	float: left;
	margin: 0 20px 20px 0;
	max-width: 280px;
}

#subContent #itemPhoto
{
	display: block;
	float: left;
	margin: 20px 20px 20px 0;
	max-width: calc(100% - 20px);
}

@media (max-width: 900px)
{
	#testimonialList ul li:hover .title,
	#testimonialList ul li:hover .title a:not(.sp_pencil)
	{
		font-size: 28px;
		line-height: 34px;
	}

	#testimonialList ul li
	{
		float: none;
		width: calc(100% - 0px);
		max-width: 100%;
		margin: 0 0 40px 0px;
	}

	#testimonialList ul li:nth-child(2n+1)
	{
	   margin: 0 0 40px 0px;
	}

	.itemContent #itemPhoto
	{
		float: none;
		margin: 0 0px 20px 0;
		max-width: none;
		width: 100%;
	}
}

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



/* 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: 34px;
	margin: 0 12px 12px 0;
}

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

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

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

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

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

form > p
{
	clear: both;
}

.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
{
	/*max-width: 458px;*/
	width: 100%;
	height: 34px;
	margin: 0;
	padding: 1px 7px 1px 7px;
	color: #666766;
	border: 1px solid #d6d6d6;
	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: 2px;
	left: 1px;
	border: 0;
	background: none;
}

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

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

    background: #ffffff;
}

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

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

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

.customSelectInner
{
	display: inline !important;
}

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

/* 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: 34px;
	margin: 0 0 10px 0;
	padding: 1px 54px 1px 54px;
	background: #fb6421;
	border: 0 solid #fb6421;
	border-radius: 3px;
	color: #ffffff;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	cursor: pointer;
}

a.clearAll
{
	float: right;
	padding: 7px 0px 7px 14px;
	color: #fb6421;
	text-transform: uppercase;
}

a.viewAll
{
	display: inline-block;
	width: auto;
	margin: 0 0 10px 0;
	padding: 7px 14px 7px 14px;
	color: #fb6421;
	text-transform: uppercase;
}

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

a.viewAll:hover,
a.clearAll:hover
{
	color: #48AFC0;
	text-decoration: none;
}

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

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

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


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

#emailField
{
	display: none;
}


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

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

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

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

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

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

.autocomplete .acBioPic img
{
	width: 70px;
	height: 52px;
}

.autocomplete .acBioText
{
	display: inline-block;
	white-space: no-wrap;
}

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

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

@media (max-width: 1024px)
{
	a.clearAll
	{
		float: none;
	}
}

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

	#peopleSearchBox form > div > div.submit_wrapper
	{
		height: auto;
	}

	#peopleSearchBox form > div > div.submit_wrapper input
	{
		padding: 2px 15px 2px 15px;
	}

	a.viewAll
	{
		font-size: 12px;
		padding: 7px 4px 7px 4px;
		margin: 0px 0 0 0;
	}

	a.clearAll
	{
		float: none;
		font-size: 12px;
		padding: 7px 4px 7px 4px;
		margin: 0px 0 0 0;
	}
}


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

#footer
{
	position: relative;
	margin: 0 ;
	padding: 2em 0;
	background: #353535;
	color: #fff;
	font-size: .9em;
}

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

#footer a
{
	color: #FD7521;
}

#footer a:hover
{
	color: #509fee;
	text-decoration: none;
}

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

#footer ul li
{
	margin-right: 1em;
	line-height: normal;
}

#footer > ul > li
{
	margin: 0 10px 0 0;
	padding: 0 0px 0 10px;
	border-left: 1px solid #ffffff;
	line-height: 12px;
}

#footer > ul > li:first-child
{
	margin: 0 10px 0 0;
	padding: 0 0px 0 0px;
	border-left: 0px solid #ffffff;
}

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

#footerSocial
{
	float: right;
}

#footerSocial ul li
{
	margin: 0px;
}

#footerSocial a
{
	display: inline-block;
	position: relative;
	margin: 0px 0px 0 28px;
	color: #ffffff;
	font-size: 19px;
	font-weight: 200;
	line-height: 22px;
	text-transform: uppercase;
}

#footerSocial a:before
{
    font-family: 'FontAwesome';

}

#footerSocial li#social_linkedin a:before
{
	content: "\f0e1";
}

#footerSocial li#social_twitter a:before
{
	content: "\f099";
}

#footerSocial li#social_rss a:before
{
	content: "\f09e";
}

#footerSocial li#social_subscribe a:before
{
	content: "\f0e0";
}

#footerSocial a:hover
{
	color: #509fee;
	text-decoration: none;
}

#footerNav
{
	position: relative;
	min-height: 460px;
	padding: 44px 0 44px 0;
	background: #EBEBEB;
	box-sizing: border-box;
}

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

#footerNav > div
{
	float: left;
	box-sizing: border-box;
}

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

#footerNav ul,
#footerNav ul li
{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12px;
	color: #696969;
}

#footerNav #footerCol1 a
{
	font-size: 14px;
	color: #B64702;
}

#footerNav > div#footerCol1
{
	width: 460px;
	padding: 0 44px 0 0;
}

#footerNav > div#footerCol1 > div > img
{
	display: block;
	margin-bottom: 20px;
}

#footerNav > div#footerCol2
{
	width: 490px;
}

#footerNav > div#footerCol2 > div
{
	float: left;
	width: calc(50% - 74px);
	max-width: 162px;
	margin: 0 74px 0 0;
	box-sizing: border-box;
}

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

#footerNav > div#footerCol2 ul li
{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

#footerNav > div#footerCol2 ul li a
{
	color: #696969;
}

#footerNav > div#footerCol2 ul li.footerSitemapTopLevel
{
	margin: 16px 0 0 0;
	padding: 44px 0 0 0;
	border-top: 1px solid #cccccc;
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
}

#footerNav > div#footerCol2 ul:first-child li.footerSitemapTopLevel
{
	margin: 0px 0 0 0;
	padding: 0px 0 0 0;
	border-top: 0px solid #cccccc;
}

#footerNav #footerCol3 h2
{
	margin-top: 20px;
	font-size: 15px;
	line-height: 17px;
	font-weight: 700;
	color: #696969;
	text-transform: uppercase;
	padding: 18px 0 0 0;
}

#footerNav #footerCol3 h2:first-of-type
{
	margin-top: 4px;
	padding-top: 0;
}

#footerNav #footerCol3 p,
#footerNav #footerCol3 a
{
	color: #696969;
	font-size: 11px;
	line-height: 24px;
}

#footerNav > div#footerCol3
{
	width: 200px;
}

#footerNav > div#footerCol3 ul
{
	margin: 0;
	padding: 0;
}

#footerNav > div#footerCol3 ul li
{
	padding: 0;
	margin: 0;
}

#footerNav > div#footerCol3 ul li:before
{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-top: solid transparent;
	border-bottom: solid transparent;
	border-left: solid #E2E2E2;
	border-width: 5px;
	margin-right: 5px;
}

#footerNav > div#footerCol3 #footerSubscribe a
{
	display: inline-block;
	width: 171px;
	padding: 6px 36px;
	background: #CA4F02;
	border-radius: 6px;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	text-transform: uppercase;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

#footerNav > div#footerCol3 #footerSubscribe a:hover
{
	text-decoration: none;
	opacity: 0.9;
}

@media (max-width: 1190px)
{
	#footerNav > div#footerCol1
	{
		width: 360px;
	}
}

@media (max-width: 1090px)
{
	#footerSocial
	{
		clear: left;
		float: left;
	}

	#footerSocial a
	{
		margin: 10px 28px 0 0px;
	}

	#footerNav > div#footerCol1
	{
		float: none;
		width: 100%;
	}

	#footerNav > div#footerCol2,
	#footerNav > div#footerCol3
	{
		margin-top: 20px;
	}
}

@media (max-width: 767px)
{
	#footerNav > div#footerCol1,
	#footerNav > div#footerCol2,
	#footerNav > div#footerCol3
	{
		float: none;
		width: 100%;
	}

	#footerNav > div#footerCol2,
	#footerNav > div#footerCol3
	{
		margin-top: 30px;
	}

	#footerNav > div#footerCol2 > div
	{
		width: calc(50% - 20px);
		max-width: 100%;
		margin: 0 0px 0 0;
	}

	#footerNav > div#footerCol2 > div:first-child
	{
		width: calc(50% - 20px);
		margin: 0 40px 0 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%;
	width: 75% !important;
	height: 100%;
	height: 75% !important;
	box-sizing: border-box;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.popupPlayerPlaylist ul li .videomore,
.popupPlayerPlaylist ul li .title,
.popupPlayerPlaylist ul li .abstract,
#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;
}

*/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#cookieOptions > div
{
	position: relative;
	width: calc(100vw - 40px);
	max-width: 800px;
	max-height: calc(100vh - 120px);
	overflow: auto;
	padding: 20px;
	background: white;
	border: 8px solid #999;
	box-sizing: border-box;
}

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

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

#cookieOptions .toggleGroup
{
	float: right;
}

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

/* the widget container */
.toggleGroup
{
	position: relative;
	width: 85px;
	height: 28px;
	background: black;
	border-radius: 14px;

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

	color: white;
}

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

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

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

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

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

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

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

/* second label needs to appear on the right */
.toggleGroup label ~ label
{
	padding: 0 0 0 45%;
	color: #ccc;
	cursor: pointer;
}

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

/* the slider is attached to the last label so it sits above everything else */
.toggleGroup label ~ label:after
{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 45%;
	width: 55%;
	background-color: white;
	background-clip: content-box;
	border-radius: inherit;
	border: 3px dotted transparent;
	box-sizing: border-box;
	transition: all 150ms;
}

/* off state - straight right edge */
.toggleGroup label ~ :checked + label:after
{
	left: 0;
	background-color: #ccc;
}


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

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

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

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

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

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

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

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

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

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


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

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

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

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

#emailDisclaimerButtons a
{
	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
	{
		left: calc(50% - 45vw);
		top: calc(50% - 20vh);
		width: 90vw;
		height: 40vh;
	}
}

@media (max-width: 767px)
{
	#emailPopup
	{
		position: fixed;
		left: 10px;
		top: 90px;
		width: calc(100% - 20px);
		height: auto;
		font-size: 12px;
		box-sizing: border-box;
	}
}



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

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

#resources-training .mandatory
{
	color: #666766;
}

.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;
		background: red;
	}
}

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

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

.expandableHeading
{
	display: block;
	position: relative;
	padding: 20px 0 10px 20px;
	border-bottom: 1px solid #EBEBEB;
	color: #464646;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}

.expandableHeading:after
{
	position: absolute;
	right: 0px;
	content: ' +';
	color: #cccccc;
}

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

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

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

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

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

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

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

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

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

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

}

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

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

#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: bold;
	font-size: 1.1em;
}


.searchfoundtext
{
	font-weight: bold;
}

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

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

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

/* Bio section seearch 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: 2em 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: #CA4F02;
}

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

.blog .search_form div
{
	float: none;
}

.blog #topLinks
{
	display: 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 */
.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 */
.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 ------------------------------------------------------> */

body#index
{
	max-width: 1910px;
	padding: 0 0px 0 0px;
}

#index #header
{
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 10px 0 10px;
}

#index #content
{
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 10px 0 10px;
	background: #F4F2F1;
}

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

@media (max-width: 1179px)
{
	#index #content
	{
		min-height: 1px;
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

#index #homeAnimation
{
	position: relative;
	background: #091b2e;
}

#index #homeSlideshow
{
	display: none;
	position: relative;
	overflow: hidden;
}

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

#index #homeSlideshow ul
{
	position: relative;
	z-index: 5;
}

#index #homeSlideshow li
{
	position: relative;
	z-index: 5;
	height: 467px;
	width: 100%;
	background-size: cover !important;
	/*cursor: pointer;*/
}

#index #homeSlideshow li:after
{
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 10;
	content: ' ';
	height: 467px;
	width: 100%;
	background: url('../i/home-animation-mask.png') no-repeat; /* data-uri */
	/*background-size: cover !important;*/
}

#index #homeSlideshow li .slideContent
{
	position: relative;
	z-index: 15;
	width: 1170px;
	max-width: 1170px;
	height: calc(100% - 60px);
	min-width: 420px;
	max-height: 450px;
	margin: 0 auto;
	padding: 0 10px 0 10px;
	background: url('../i/home-animation-logo.png') bottom left no-repeat; /* data-uri */
	box-sizing: border-box;
}

#index #homeSlideshow h1
{
	margin: 0 0 5px 0;
	padding: 0 0 0 0;
	color: #ffffff;
	font-weight: 700;
	font-size: 34px;
	line-height: 28px;
}

#index #homeSlideshow h2
{
	margin: 0 0 18px 0;
	padding: 0 0 0 0;
	color: #ffffff;
	font-weight: 300;
	font-size: 26px;
	line-height: 30px;
}

#index #homeSlideshow .content
{
	max-width: 372px;
	padding: 60px 0 0 0;
	color: #ffffff;
	font-size: 16px;
	line-height: 28px;
	box-sizing: border-box;
}

#index #homeSlideshow a.slideMoreLink
{
	display: inline-block;
	margin: 18px 0 0 0;
	padding: 7px 16px 7px 16px;
	border: 1px solid #ffffff;
	border-radius: 3px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 400;
	text-transform: uppercase;
}

#index #homeSlideshow a.slideMoreLink:hover
{
	background: #CA4F02;
	color: #ffffff;
	text-decoration: none;
}

#index #animationNav
{
	position: absolute;
	bottom: 20px;
	left: 0;
	z-index: 10;
	width: 100%;
}

#index #animationNav #cycle-pager
{
    text-align: center;
}

#index #animationNav #cycle-pager span
{
    display: inline-block;
    font-family: arial;
    font-size: 50px;
    line-height: 50px;
    width: 16px;
    height: 16px;
    margin: 0 4px 0 4px;
    color: rgba(255,255,255,0.4);
    cursor: pointer;
}

#index #animationNav #cycle-pager span.cycle-pager-active
{
	color: rgba(253,99,3,1);
}

#index #animationNav #cycle-pager > *
{
	cursor: pointer;
}

#index #cycle-prev,
#index #cycle-next
{
	display: none; /* not in mocks */
	position: absolute;
	bottom: calc(50% - 20px);
	width: 23px;
	height: 33px;
	padding: 2px 0px 2px 0px;
	opacity: 0.5;
	filter: alpha(opacity=50);
	z-index: 800;
	cursor: pointer;
}

#index #cycle-prev
{
	left: 20px;
	background: url('../i/home-animation-prev.png') 0px 0px no-repeat; /* data-uri */
}

#index #cycle-next
{
	right: 20px;
	background: url('../i/home-animation-next.png') 0px 0px no-repeat; /* data-uri */
}

#index #cycle-prev:hover,
#index #cycle-next:hover
{
	opacity: 0.8;
	filter: alpha(opacity=80);
}

@media (max-width: 1300px)
{
	#index #homeSlideshow li
	{
		min-height: 467px;
	}

	#index #homeSlideshow li .slideContent
	{
		width: calc(100% - 0px);
		height: calc(100% - 100px);
		min-width: 1px;
		min-height: none;
		max-height: none;
		padding: 24px 10px 24px 10px;
		box-sizing: border-box;
	}

	#index #homeSlideshow .content
	{
		max-width: auto;
		padding: 20px 0 0 0;
		color: #ffffff;
		font-size: 15px;
		line-height: 26px;
		box-sizing: border-box;
	}

	#index #cycle-prev
	{
		bottom: 20px;
		left: 20px;
	}

	#index #cycle-next
	{
		bottom: 20px;
		right: 20px;
	}

	#index #animationNav
	{
		bottom: 20px;
	}
}


#index #News-tab:after,
#index #Events-tab:after
{
	/* make div stretch to height of content */
	display: block;
	clear: both;
	content: '';
}

#index #News-tab ul,
#index #News-tab ul li,
#index #Events-tab ul,
#index #Events-tab ul li
{
	position: relative;
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

#index #News-tab ul li,
#index #Events-tab ul li
{
	float: left;
	width: calc(33.33% - 68px);
	margin: 20px 0 30px 100px;
}

#index #News-tab ul li:first-child,
#index #Events-tab ul li:first-child
{
	width: calc(33.33% - 68px);
	margin: 20px 0 30px 0px;
}

#index #News-tab ul li .startInline,
#index #Events-tab ul li .startInline
{
	display: block;
	min-height: 70px;
	margin: 0 0 20px 0;
	padding: 0px 0 10px 0;
	border-bottom: 1px solid #bdbdbd;
	font-weight: 500;
}

#index #News-tab ul li .startInline,
#index #Events-tab ul li .startInline
{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

#index #News-tab ul li .itemdate,
#index #Events-tab ul li .itemdate
{
	display: block;
	height: 18px;
	color: #333333;
	font-size: 12px;
	font-weight: 500;
}

#index #News-tab ul li .startInline .category,
#index #Events-tab ul li .startInline .category
{
	text-transform: uppercase;
	color: #333333;
}

#index #News-tab ul li .title,
#index #Events-tab ul li .title
{

	color: #146EC8;
	font-weight: 500;
	font-size: 16px;
}

#index #News-tab ul li .title a,
#index #Events-tab ul li .title a
{
	color: #146EC8;
}

#index #News-tab ul li .photo,
#index #Events-tab ul li .photo
{
	position: relative;
	float: left;
	max-width: 100px;
	margin: 6px 20px 0 0;
	box-shadow: 3px 3px 5px #cccccc;
}

#index #News-tab ul li .photo img,
#index #Events-tab ul li .photo img
{
	display: block;
	width: 100%;
	min-width: 100px;
}

#index #News-tab ul li .abstract,
#index #Events-tab ul li .abstract
{
	color: #666666;
	font-size: 16px;
}

#index #News-tab ul li .readmore a,
#index #Events-tab ul li .readmore a
{
	color: #146EC8;
	font-size: 16px;
}

#index #News-tab ul li a.sp_pencil,
#index #Events-tab ul li a.sp_pencil
{
	position: absolute;
    /* top: 0px; */
    left: -15px;
}

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

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

#index #Profiles-tab ul li
{
	float: left;
	width: calc(33.33% - 68px);
	margin: 30px 0 40px 100px;
}

#index #Profiles-tab ul li:first-child
{
	width: calc(33.33% - 68px);
	margin: 30px 0 40px 0px;
}

.nametitle h2 a
{
	color: #333333;
}

#index #Profiles-tab ul li .photo
{
	position: relative;
	float: left;
	max-width: 100px;
	margin: 6px 20px 0 0;
	box-shadow: 3px 3px 5px #cccccc;
}

#index #Profiles-tab ul li .photo img
{
	display: block;
	width: 100%;
	min-width: 100px;
}

#index #Profiles-tab ul li .abstract
{
	color: #666666;
	font-size: 16px;
}

@media (max-width: 1179px)
{
	#index #News-tab ul li .photo,
	#index #Events-tab ul li .photo,
	#index #Profiles-tab ul li .photo
	{
		float: none;
		max-width: 100%;
		margin: 6px 0px 10px 0;
	}
}

@media (max-width: 767px)
{
	#index #News-tab ul li,
	#index #Events-tab ul li,
	#index #Profiles-tab ul li
	{
		float: none;
		width: 100%;
		margin: 30px 0 40px 0px;
	}

	#index #News-tab ul li:first-child,
	#index #Events-tab ul li:first-child,
	#index #Profiles-tab ul li:first-child
	{
		width: 100%;
		margin: 10px 0 40px 0px;
	}

	#index #News-tab ul li .startInline,
	#index #Events-tab ul li .startInline
	{
		min-height: 10px;
	}

	#index #News-tab ul li .photo,
	#index #Events-tab ul li .photo,
	#index #Profiles-tab ul li .photo
	{
		float: left;
		max-width: 100px;
		margin: 6px 20px 10px 0;
	}
}

@media (max-width: 320px)
{
	#index #News-tab ul li .photo,
	#index #Events-tab ul li .photo,
	#index #Profiles-tab ul li .photo
	{
		float: none;
		max-width: 100%;
		margin: 6px 0px 10px 0;
	}

	#index #homeSlideshow li .slideContent
	{
		background-position: bottom 0px left -100px;
	}
}

#index #footerNav
{
	max-width: 1170px;
	margin: 0 auto;
	padding: 44px 10px 44px 10px;
	background: #464646;
}

#index #footerNav ul,
#index #footerNav ul li
{
	color: #cccccc;
}

#index #footerNav #footerCol1
{
	color: #cccccc;
}

#index #footerNav #footerCol1 a
{
	color: #FD9B5D;
}

#index #footerNav > div#footerCol2 ul li a
{
	color: #cccccc;
}

#index #footerNav > div#footerCol2 ul li.footerSitemapTopLevel,
#index #footerNav > div#footerCol2 ul li.footerSitemapTopLevel a
{
	color: #ffffff;
}

#index #footerNav #footerCol3 h2
{
	color: #ffffff;
}

#index #footerNav #footerCol3 p,
#index #footerNav #footerCol3 a
{
	color: #ffffff;
}

#index #footer
{
	max-width: 1170px;
	margin: 0 auto;
	padding: 2em 10px 2em 10px;
}


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


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

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

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

	.mobile,
	#topSearch,
	.view_more,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink,
	#mainNav,
	form,
	#tabLinks,
	#footerNav,
	footer,
	#homeAnimation,
	#topLinks,
	h2.sectionTitle,
	#navToggle,
	#subNav,
	.expandableHeading:after,
	#officeEmail,
	#logoMark,
	.toggleExpand,
	.vcard,
	.linkedin,
	#header:after,
	#bioAccessories,
	#bioSocial,
	.readmore
	{
		display: none !important;
	}

	.contentSection,
	.contentSection > *,
	.expandableHeading + *,
	.js #area_bio .results_list > li:nth-child(n+1),
	.js #industry_bio .results_list > li:nth-child(n+1)
	{
		display: block !important;
	}

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

	#header
	{
		height: auto;
		padding: 40px 0 20px;
	}

	#logo
	{
		float: none;
		margin: 0;
	}

	#content
	{
		/* cancel out flexbox? */
		display: block;
		padding: 0 !important;
	}

	#subContent
	{
		width: 30%;
		float: left;
	}

	#mainContent
	{
		width: 65% !important;
		float: right;
	}

	#index #mainContent
	{
		float: none;
		width: 100%;
	}

	#index #News-tab ul li:first-child, #index #Events-tab ul li:first-child
	{
	    width: calc(33.33% - 20px);
	    margin: 30px 0 68px 0px;
	}

	#index #News-tab ul li, #index #Events-tab ul li,
	#index #Profiles-tab ul li
	{
	    float: left;
	    width: calc(33.33% - 15px);
	    margin: 30px 0 68px 20px;
	}

	#index #Profiles-tab ul li:first-child
	{
		width: calc(33.33% - 10px);
		margin-left: 0;
	}

	body
	{
		padding: 0 0 0 0;
	}

	#officeList ul li
	{
		width: 100%;
	}

	#officeTitleBlock,
	#officeTitleBlock h1,
	#officeTitleBlock > div,
	#officeTitleBlock a
	{
		color: #333333;
	}

	#areaList .front a
	{
		color: #333333;
	}

	body.practices-item #subContent h2 span,
	body.industries-item #subContent h2 span,
	body.people-item #subContent h2 span
	{
		line-height: 42px;
	}

	ul#bioContact
	{
		float: none;
	}

	body#newsroom #mainContent,
	body#resources #mainContent,
	body#index #mainContent
	{
		width: 100% !important;
	}

	body#newsroom .newsroomList ul li .title a, body#resources .newsroomList ul li .title a
	{
		color: #333333;
	}

	.bioList > div.results_list > div
	{
		overflow: hidden;
	}

	body#index #mainContent section li,
	#areaList .flip-container,
	.bioList > div.results_list > div,
	img
	{
		page-break-inside: avoid;
	}

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

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