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

/*

Roboto
Available weights:

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

*/

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

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

	font: normal 10px/1.6 'poppins', Arial, sans-serif;
	color: #3d3d3d;
}

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


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


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

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

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

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

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

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

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

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

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

sup, sub
{
	line-height: 0;
}

a
{
	color: #0A5A6A;
	text-decoration: none;
}

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

/* needed for IE11 */
main, nav, footer { display: block }

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

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

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

h1, h2, h3, h4, h5, h6
{
	margin: 0;
	padding: 0;
	color: #3d3d3d;
	line-height: normal;

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

h1
{
	padding: 5px 0 15px 0;
	font-size: 3rem;
	font-weight: 300;
	color: #065359;
}

h2
{
	padding: 12px 0 8px 0;
	font-size: 2.1rem;
	text-transform: uppercase;
	font-weight: 900;
	letter-spacing: 1px;
	color: #065359;
}

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


h3
{
	padding: 12px 0 4px 0;
	font-size: 2.1rem;
	font-weight: 500;
	color: #31c4f3;
}

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

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

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

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

ol
{
	padding-left: 1em;
}

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

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

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

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

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

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

img
{
	border: 0;
}

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

@media (min-width: 768px)
{

}

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

#header:before,
body.who-item #bannerContent:before,
#homeSpotlight:before,
body#who #content:before,
#lowerContent:before,
#homeExpertiseWrapper:before,
#homeSpotlightWrapper:before,
#lowerSubscribe:before,
#homeTile: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;
}

/* ie11 */
body.who-item #bannerContent:before
{
	background: #efefef;
}


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

/*
	how these content jumps should work on desktop:

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

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

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


/* make them transparent unless keyboard focused *\/

.contentJump
{
	z-index: 999 !important;
	color: #0A5A6A !important;
}

.contentJump:not(:focus),
html:not([data-whatintent="keyboard"]) .contentJump
{
	pointer-events: none;
	color: transparent !important;
	background: transparent !important;
	z-index: -1 !important;
}
*/

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

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

	background: white;
}

/* make them transparent unless keyboard focused */

.contentJump
{
	z-index: 999 !important;
	color: #0A5A6A !important;
}

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


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

#header
{
	position: relative;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 130px;
	padding: 16px 0 0 10px;
	background: #ffffff;
	box-sizing: border-box;
}

#header:after
{
	content: '';
	width: 100vw;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: calc(50% - 50vw);
	background: #0A5A6A;
}

#logo
{
	width: 100%;
	max-width: 238px;
}

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

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

/*
#upperSearchLink
{
	display: none;
}*/

#topLinks
{
	float: right;
}

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

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

#topLinks a
{
	margin: 0 3px 0 3px;
	color: #a5a5a5;
	font-size: 10px;
	text-transform: uppercase;
}

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

#topSearch form
{
	display: block;
	margin: -6px 14px 0 0;
	width: 200px;
	height: 30px;
	background:  #ebebeb;
	font-size: 11px;
	line-height: 14px;
	border-radius: 4px 4px 4px 4px;
}

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

#topSearch button
{
	float: right;
	padding-top: 6px;
	cursor: pointer;
	border: 0;
	background: transparent;
}

#topSearch input#searchtext
{
	width: 150px;
	margin: 6px 0 0 2px;
	padding: 2px 2px 2px 5px;
	border: 0;
	font:inherit;
	font-size: 14px;
	font-weight: inherit;
}

#upperSearchLink
{
	display: block;
	position: absolute;
	top: 40px;
	right: 50px;
	width: 22px;
	height: auto;
	background: white;
	border-radius: 2px;
	text-align: center;
}

#upperSearchLink img
{
	width: 100%;
	height: auto;
}

@media (min-width: 650px)
{
	#header
	{
		padding: 16px 0 0 10px;
	}

	#logo #mobileLogo
	{
		display: none;
	}
}

@media (min-width: 920px)
{
	#header
	{
		padding: 16px 0 0 10px;
	}

	#upperSearchLink
	{
		top: 70px;
		left: 535px;
		width: 10px;
	}
}

@media (min-width: 1350px)
{
	#header
	{
		padding-bottom: 0px;
		padding-left: 55px;
	}

	#upperSearchLink
	{
		top: 37px;
		left: auto;
		right: 20px;
	}
}

@media (min-width: 1280px)
{
	#upperSearchLink
	{
		right: 10px;
	}
}

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

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

	#topSearch form
	{
		display: none;
	}
}

@media (max-width: 649px)
{
	#upperSearchLink
	{
		top: 15px;
		right: 50px;
	}
	
	/*#logo img:first-child
	{
		display: none;
	}*/
}

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

#banner
{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 0 20px;
	background-color: #fff;
}

#banner:before
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + 20px);
	left: -10px;
	height: 100%;
	background: rgba(255,255,255, .76);
	z-index: 10;
}

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

#bannerContent
{
	position: relative;
	z-index: 20;
	width: 100%;
	height: 100%;
	padding: 0 30px 0 10px;
	margin-top: 10px;
}


#bannerContent
{
	display: flex;
	align-items: center;
	width: 100%;
}

#bannerContent h1
{
}

#bannerContent > div
{
	width: 100%;
	max-width: 1350px;
	margin: 0 auto;
}

#mainContent h1#pageTitle
{
	font-weight: 400;
}

#bannerContent
{
	position: absolute;
	top: 0;
	padding: 0;
	margin-top: 0;
}


@media (min-width: 768px)
{

	/*img#bannerImage
	{
		width: 100%;
	}
*/

	#bannerContent
	{
		padding: 0;
	}

	h1#pageTitle
	{
		font-size: 5.2rem;
	}

	#bannerContent h1#pageTitle
	{
		font-size: 3rem;
	}
}

@media (min-width: 920px)
{

	#banner
	{
		/*overflow: hidden;*/
	}

	#bannerContent #bannerText
	{
		font-size: 2rem;
		line-height: 3rem;
		color: #606060;
	}
}

@media (min-width: 1200px)
{

	h1#pageTitle
	{
		font-size: 7rem;
	}

	#bannerContent h1#pageTitle
	{
		font-size: 7rem;
	}

	#bannerContent #bannerText
	{
		font-size: 2.8rem;
		line-height: 3.8rem;
		color: #606060;
	}
}


/* 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
{
	width: 100%;
}

#mainNav li > a
{
	display: block;
	padding: 5px 16px;
	color: #323a40;
	font-size: 1.3rem;
	text-transform: uppercase;
}

#mainNav > ul > li:first-child > a
{
	padding-left: 0;
}

#mainNav li:hover > a,
#mainNav li:focus > a
{
	color: #0A5A6A;
	color: #217F92;
	text-decoration: none;
}

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


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


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

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

/* main nav items */
#mainNav > ul ul
{
	display: none;
	position: absolute;
	background: #ffffff;
	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%;
}
*/


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

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

	#navJump, #topJump
	{
		display: none;
	}

	#mainNav
	{
		position: absolute;
		z-index: 9999;
		top: 44px;
		left: auto;
		right: 0px;
	}

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

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

	/* focus-within separated because IE11 chokes on it, but if someone has focus within
		a menu we definitely want it to be visible */
	#mainNav > ul .keepOpen > ul:focus-within
	{
		display: block;
	}
	
	#mainNav > ul li:focus-within > ul
	{
		display: block;
	}
	
	/*
	#mainNav > ul > li:nth-child(5) a
	{
		color: #727579;
		color: #065359;
		/*text-transform: none;*\/
	}

	#mainNav > ul > li:nth-child(5):hover a,
	#mainNav > ul > li:nth-child(5):focus a
	{
		color: #0A5A6A;
	}
	*/

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

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

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

	#mainNav li > a
	{
		white-space: nowrap;
		letter-spacing: 1px;
	}

	#mainNav > ul > li > a
	{
		height: 34px;
		overflow: visible;
		font-size: 1.4rem;
		font-weight: 400;
		letter-spacing: 0.48px;
	}

	/*
	#mainNav > ul > li:hover:not(:last-child) > a:after,
	#mainNav > ul > li:focus:not(:last-child) > a:after
	*/
	#mainNav > ul > li:hover:not(:nth-child(n+4)) > a:after,
	#mainNav > ul > li:focus:not(:nth-child(n+4)) > a:after
	{
		position: absolute;
		bottom: -8px;
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 10px 0 10px;
		border-color: #0A5A6A transparent transparent transparent;
		z-index: 10;
	}

	#mainNav > ul > li:nth-child(5):hover > a:after,
	#mainNav > ul > li:nth-child(5):focus > a:after
	{
		display: none !important;
	}

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

	#mainNav > ul ul
	{
		width: 490px;
		padding: 20px;
		font-size: 1.4rem;
		box-shadow: 0px 4px 10px 0 rgba(0,0,0,.1);
		box-sizing: border-box;
	}

	#mainNav .megamenu
	{
		position: absolute;
		right: 0;
		top: 20px;
		width: 312px;
		font-size: 1.2rem;
		border-left: 1px solid #323a40;
		padding: 3px 20px 27px 20px;
		height: calc(100% - 40px);
		box-sizing: border-box;
	}

	#mainNav #navButton-who ul 
	{
		min-height: 100px;
	}	

	#mainNav > ul ul a
	{
		white-space: pre-wrap;
	}

	#mainNav #navButton-search a
	{
		display: block;
		color: black;
		/*text-indent: -9999em;*/
		width: 18px;
		height: 20px;
		/*background: url('../i/icon-search.svgz') no-repeat; /* data-uri *\/
		background-size: 100%;*/
		padding: 0;
		position: relative;
		top: -3px;
		margin-left: 20px;
	}

	#mainNav #navButton-search:hover a,
	#mainNav #navButton-search:focus a
	{
		opacity: 0.8;
	}

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

	/* mobile nav button is not visible at this screen width */
	button#navToggle
	{
		display: none;
	}
}


@media (min-width: 1025px)
{
	#mainNav > ul > li > a
	{
		font-size: 1.6rem;
	}
}

@media (min-width: 1200px)
{
	#mainNav > ul > li
	{
		margin-right: 10px;
	}
	
	#mainNav > ul > li > a
	{
		font-size: 1.8rem;
	}
}

@media (min-width: 1485px)
{
	#mainNav
	{
		right: 50px;
	}
	
	#mainNav > ul > li > a
	{
		height: 40px;
		font-size: 2.4rem;
	}
}

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

@media (max-width: 919px)
{
	#mainNav,
	#mainNav li ul
	{
		position: fixed;
		display: block;
		visibility: hidden;
		z-index: 9998;
		top: 0;
		right: -400px;
		left: auto;
		max-width: calc(100% - 80px);
		height: 100vh;
		padding: 40px 40px 20px 30px;
		background: #31c4f3;
		box-sizing: border-box;
		box-shadow: 0 0 30px 15px rgba(0,0,0,.4);
		transition: right 0.7s;
	}

	#mainNav
	{
		display: flex;
		flex-direction: column;
		align-items: flex-end; /* need to keep nested items to the right side of screen */
		overflow: auto;
		/*padding-left: 0px;
		padding-right: 0px;*/
	}

	#mainNav::before
	{
		display: none;
	}

	#mainNav > ul,
	#mainNav li ul
	{
		/*padding-left: 0px;
		padding-right: 0px;
		width: 40vw; /* put a max width on lists even though the parent expands the full viewport */
	}

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

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

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

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

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

	#mainNav li > a
	{
		padding: 0;
		margin: 20px 0 0;
		font-size: 2rem;
		color: #ffffff;
	}

	#mainNav li.current > a
	{
		color: #ffffff;
		text-decoration: underline;
	}

	#navButton-search
	{
		display: none !important;
	}

	#mainNav > ul > li:not(.current):hover > a,
	html[data-whatintent="keyboard"] #mainNav > ul > li:not(.current):focus-within > a
	{
		/* using data-whatintent, because some browsers don't understand focus-within */
		background: none;
		color: #0A5A6A;
	}

	#mainNav > ul ul > li
	{
		font-size: 1rem;
		text-transform: none;
	}

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

	#mainNav li > a:first-child:not(:last-child)::after
	{
		display: none !important; /* not on this site */
		content: '›';
		position: absolute;
		top: 0;
		right: 0;
		font-size: 2rem;
		font-weight: 200;
	}

	#mainNav #subNavBack
	{
		display: none !important; /* not on this site */
		position: absolute;
		top: 0;
		text-transform: uppercase;
		font-size: 20px;
		line-height: 20px;
	}

	#mainNav #subNavBack a
	{
		position: relative;
		margin-left: 20px;
	}

	#mainNav #subNavBack a::before
	{
		content: '‹';
		position: absolute;
		left: 0;
		font-size: 50px;
		line-height: 12px;
	}

	#mainNav ul ul li.subNavHeader
	{
		display: none !important; /* not on this site */
		margin-top: 12px;
		font-size: 1.2rem;
		text-transform: uppercase;
	}


	/* Mobile Nav 'Hamburger' Button */

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

@media (max-width: 649px)
{
	button#navToggle
	{
		top: 13px;
	}
}


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

ul.subNavList
{
	margin-bottom: 1em;
}

ul.subNavList li
{
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	font-size: 1.9rem;
	/*font-family: 'librebaskerville';*/
}

ul.subNavList li a
{
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
}

ul.subNavList ul
{
	padding-left: 10px;
}

li.here > a,
li.hereParent > a
{
	color: #065359;
}

#subNav #parentLink
{
	margin-bottom: 12px;
	padding-bottom: 0px;
	cursor: default;
	color: #3d3d3d;
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

#subNav #parentLink a
{
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	color: inherit;
}

@media (max-width: 767px)
{
	#subNav
	{
		padding: 30px;
		background: #efefef;
		margin-left: -10px;
		margin-right: -10px;
	}
}


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

@media (min-width: 768px)
{
	#tabLinks
	{
		margin: 1.5em 0px 2em 0px;
		border-bottom: 1px solid #003C5B;
	}

	#tabLinks a
	{
		display: inline-block;
		position: relative;
		top: 1px;
		margin-right: 2px;
		padding: .5em 1em;
		border: 1px solid #003C5B;
	}

	#tabLinks .current
	{
		border-bottom-color: white;
		color: inherit;
		text-decoration: none;
		cursor: default;
	}

	.js .contentSection
	{
		display: none;
	}

	.js .sectionTitle
	{
		display: none;
	}

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

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

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

		cursor: pointer;
	}

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

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

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

	.contentSection
	{
		display: block !important;
	}

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

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


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

#content
{
	height: auto !important;
	/*min-height: 350px;*/
	max-width: 1350px;
	margin: 0 auto;
}

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

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

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

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

#lowerContent
{
	clear: both;
	position: relative;
	clear: both;
	padding: 60px 0;
	background: #efefef;
}


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

	#subNav,
	#subContent
	{
		float: right;
		clear: right;
		width: 250px;
		margin-bottom: 30px;

	}

	#subContent
	{

	}

	#subNav
	{
		margin-top: 25px;
	}

	/*#subContent
	{
		margin-top: 170px !important;
	}*/

	/*#lowerContent
	{
		width: calc(100% - 270px);
	}
*/

	#lowerContent:before
	{
		width: calc(100vw + 270px);
	}
}

@media (min-width: 1024px)
{
	#mainContent:not(:only-child)
	{
		float: left;
		width: calc(100% - 350px);
	}

	/*#lowerContent
	{
		width: calc(100% - 350px);
	}*/

	#subNav,
	#subContent
	{
		float: right;
		clear: right;
		width: 250px;
	}

	#subContent
	{
		/*margin-top: 600px !important;*/
	}
}

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

	#subNav
	{
		order: 2;
	}
}

#subContent p
{
	/*margin: 0.5em 0 1em 0; */
	margin-top: 0;
	margin-bottom: 10px;
	line-height: 1.5;
	font-size: 1.7rem;
}

#subContent li
{
	margin-top: 0;
	margin-bottom: 10px;
	line-height: 1.5;
	font-size: 1.7rem;
}

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

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

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

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

/* if there are 5 or more, hide any items after first 3 */
.js .bioSection:not(#bio_news,#bio_publication) .expandableList .results_list > li:nth-last-child(n+5) ~ li:nth-child(n+4),
.js #item_publication .expandableList .results_list > li:nth-last-child(n+5) ~ li:nth-child(n+4),
.js #area_publication .expandableList .results_list > li:nth-last-child(n+5) ~ li:nth-child(n+4)
{
	display: none;
}

body.js.what-cases .expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6)
{
	display: none;
}

/* if there are 7 or more, hide any items after first 5 */
.js #bio_news .expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6),
.js #area_notablevictory .expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6),
.js #area_news .expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6),
.js #area_publication .expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6)
{
	display: none;
}

.js #bio_publication.bioSection .expandableList .results_list > li:nth-last-child(n+6) ~ li:nth-child(n+6)
{
	display: none;
}

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

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


#subContent #item_area ul li a:not(.sp_pencil)
{
	display: flex;
	min-width: 44px;
	min-height: 44px;
}

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

/* Bio Directory */

body#who-team
{
	background: #efefef;
}

ul#bioPositions
{
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
	list-style: none;
}

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

#bioPositions li:not(:last-child):after
{
	content: "/";
	margin: 0 13px;
}

#bioPositions li:last-child
{
	margin-right: 0;
}

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

	margin: 10px 0px 18px -9px;
	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);
	text-align: center;
}

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

.bioList ul
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}

.bioList li
{
	flex-basis: calc(50% - 20px);
	/*max-width: calc(50% - 20px);*/
	margin: 0 10px 30px;
	line-height: 2rem;
}

.bioList .listingimage
{
	margin: 0 0 10px;
}

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

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

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

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

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

}

@media (min-width: 920px)
{

	.bioList ul
	{
		margin: 0 -16px;
	}

	.bioList li
	{
		margin: 0 18px 36px;
		flex-basis: calc((100%/3) - 36px);
	}

}

@media (min-width: 1100px)
{

	.bioList li
	{
		flex-basis: calc((100%/4) - 36px);
	}
}

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

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

.bioList .results_list th
{
	border-bottom: 1px solid currentColor;
	padding: 0;
}

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

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


/* Bio Profile */


body.who-item #banner
{
	/*width: calc(100% + 20px);*/
}

body.who-item #banner:after
{
	display: none;
}

body.who-item #bannerContent
{
	position: relative;
	max-width: 1350px;
	margin: 0 auto;
	padding: 0 0 30px;
	background: #efefef;
	box-sizing: border-box;
}

#bioInfo
{
	padding-top: 40px;
	margin: 0 0 30px 0;
}

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

#bioInfo #bioPhoto
{
	display: block;
	width: 100%;
	max-width: 455px;
	height: auto;
	margin: 0 0 30px;
}

#bioInfo h1#pageTitle
{
	padding: 0 0 10px 0;
	font-weight: 400;
}

#bioInfo #bioTitle
{
	font-size: 2.7rem;
	line-height: 2.7rem;
	margin-bottom: 15px;
}

#bioContact
{
	font-size: 1.8rem;
}

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

ul#bioContact,
ul#bioAccessories
{
	/*float: left;
	width: 50%;*/
	overflow: hidden;
}

#bioLinkedin,
#bioTwitter
{
	float: left;
	margin: 0 0 0 10px;
	padding-top: 10px !important;
}

#bioLinkedin a,
#bioTwitter a
{
	position: relative;
	display: block;
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
	align-items: center;
	text-indent: -9999em;
	overflow: hidden;
}

#bioLinkedin a img,
#bioTwitter a img
{
	position: absolute;
	position: relative;
	top: 0;
	left: 0;
	height: 100%;
	width: auto;
	max-height: 20px;
	max-width: 30px;
}

#content .bioSection
{
	font-size: 1.8rem;
}


#bio_cases .title
{
	font-size: 1.9rem;
	color: #ff5f53;
}

#bio_cases li
{
	margin: 0 0 30px;
}

/*#bio_content
{
	line-height: 2.8rem;
}*/

body.who-item #mainContent ul.results_list li a,
body.what-practices-item #mainContent ul.results_list li a,
/*body#what-news #mainContent ul.results_list li a*/
{
	color: #3d3d3d;
}

body.who-item #mainContent ul.results_list li a:not(.sp_pencil):after,
body.what-practices-item #mainContent ul.results_list li a:not(.sp_pencil):after,
body#what-news #mainContent ul.results_list li a:not(.sp_pencil):after,
body#what-cases #mainContent ul.results_list li a:not(.sp_pencil):after
{
	content: '';
	display: inline-block;
	width: 14px;
	height: 13px;
	margin-left: 10px;
	background: url('../i/icon-link-arrow.svgz') no-repeat; /* data-uri */
}

/*body.who-item #mainContent ul.results_list li .itemdate,
body.what-practices-item #mainContent ul.results_list li .itemdate,
body.who-item #mainContent ul.results_list li .abstract,
body.what-practices-item #mainContent ul.results_list li .abstract,
body#what-news #mainContent ul.results_list li .itemdate,
body#what-cases #mainContent ul.results_list li .itemdate
{
	color: #8e8e8e;
}*/

/*body#what-cases #mainContent ul.results_list li .itemdate,
body#what-news #mainContent ul.results_list li .itemdate,
body#what-cases #mainContent ul.results_list li .itemdate,
body.who-item #mainContent ul.results_list li .itemdate
{
	font-size: 1.6rem;
}*/

@media (min-width: 768px)
{
	#bioInfo
	{
		display: flex;
	}

	#bioInfo #bioInfoLeft
	{
		flex: 0 1 305px;
		padding-right: 25px;
	}

	#bioInfo #bioInfoRight
	{
		flex: 1 1 600px;
		padding-left: 20px;
		box-sizing: border-box;
	}

	#bio_content p:first-child
	{
		margin-top: 0;
	}

	#bioInfo h1#pageTitle
	{
		font-size: 3rem;
	}

	body.who-item #mainContent:not(:only-child),
	body.what-practices-item #mainContent:not(:only-child)
	{
		float: right;
	}

	body.who-item #subNav,
	body.who-item #subContent,
	body.what-practices-item #subContent
	{
		float: left;
		clear: left;
		margin-top: 27px !important;
	}

}

@media (min-width: 1280px)
{
	body.who-item #mainContent:not(:only-child),
	body.what-practices-item #mainContent:not(:only-child)
	{
		float: right;
		width: calc(100% - 500px);
	}

	body.who-item #subNav,
	body.who-item #subContent,
	body.what-practices-item #subContent
	{
		float: left;
		clear: left;
		width: 400px;
	}

	#bioInfo #bioInfoLeft
	{
		flex: 0 1 454px;
	}

	#bioInfo h1#pageTitle
	{
		font-size: 5.2rem;
	}
}

@media (max-width: 767px)
{
	ul#bioContact,
	ul#bioAccessories
	{
		float: none;
		width: 100%;
	}
}


/* 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: 0;
	/*padding: 0;
	font-weight: bold;
	line-height: normal;*/
}

div.listColumn li .hierList
{
	display: none;
}

div.listColumn li
{
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.8rem;
}

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

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

div.listColumn ul
{
	display: flex;
	flex-wrap: wrap;
}

div.listColumn ul .listingimage,
div.listColumn ul .photo
{
	margin: 0 0 10px;
}

div.listColumn ul .listingimage img,
div.listColumn ul .photo img
{
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 400px)
{

	div.listColumn ul
	{
		margin: 0 -5px;
	}

	div.listColumn ul li
	{
		margin: 0 5px 25px;
		flex: 0 0 auto;
		flex-basis: calc(50% - 10px);
	}
}

@media (min-width: 1100px)
{
	div.listColumn ul
	{
		margin: 0 -18px;
	}

	div.listColumn ul li
	{
		margin: 0 18px 25px;
		flex: 0 0 auto;
		flex-basis: calc((100%/3) - 36px);
	}
}

/* Practice Profile */

body.what-practices-item #banner
{
	background: #eef0f1;
	padding: 45px 0;
}

body.what-practices-item #banner:before
{
	z-index: -1;
	background: #eef0f1;
}

body.what-practices-item #bannerContent
{
	display: block;
	position: static;
	max-width: 1350px;
	margin: 0 auto;
}

body.what-practices-item #bannerContent #spotImage
{
	margin: 0 0 20px;
}

body.what-practices-item #bannerContent #itemPhoto
{
	display: block;
	width: 100%;
	height: auto;
}

h2#mediaTitle
{
	padding-top: 45px;
	margin: 40px 0 10px;
	border-top: 1px solid #cccccc;
}

#area_mediatitle li
{
	margin-top: 10px;
}

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

@media (min-width: 768px)
{
	body.what-practices-item #bannerContent
	{
		display: flex;
		align-items: flex-start;
	}

	body.what-practices-item #bannerContent #spotImage
	{
		flex: 0 1 305px;
		padding-right: 50px;
	}

	body.what-practices-item #bannerContent #intro
	{
		flex: 1 1 455px;
	}
}

@media (min-width: 1280px)
{
	body.what-practices-item #bannerContent #spotImage
	{
		flex: 0 1 454px;
		padding-right: 50px;
	}
}

/* News/Pub/Event type Listing */

.view_more a
{
	display: inline-block;
	width: auto;
	margin: 0 0 28px 0;
	padding: 1px 25px 3px 25px;
	background: #0A5A6A;
	color: #ffffff;
	vertical-align: middle;
}

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

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


/* News/Pub/Event type Profile */

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

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

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


body.what-news-item #bannerContent,
body.what-publications-item #bannerContent,
body.what-cases-item #bannerContent,
body.what-featured-item #bannerContent
{
	display: block;
	position: static;
}

body.what-news-item #banner:before,
body.what-publications-item #banner:before,
body.what-cases-item #banner:before,
body.what-featured-item #banner:before
{
	display: none;
}

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

#officeList ul
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
	justify-content: space-between;
}

#officeList ul li
{
	width: calc(100% / 3 - 1rem);
	margin-bottom: 1rem;
	border-bottom: 1px solid currentColor;
}

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

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

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

@media (min-width: 768px)
{
	/*body.what-news-item h1#pageTitle
	{
		font-size: 4.5rem;
	}*/
}

@media (min-width: 1200px)
{
	body.what-featured-item #bannerContent h1#pageTitle,
	body.what-cases-item #bannerContent h1#pageTitle,
	body.what-news-item #bannerContent h1#pageTitle,
	body.what-publications-item #bannerContent h1#pageTitle,
	body.what-practices-item #bannerContent h1#pageTitle
	{
		font-size: 4.5rem;
	}
}

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

/* Office Profile Pages */

#officeInfo
{
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 50px;
	margin-bottom: 60px;
	border-bottom: 1px solid #000000;
}

#officeInfo > div
{
	flex: 1 1 270px;
}

#officeAddress
{
	margin: 10px 0 20px 0;
}

#officeAddressPhone
{
	margin: 10px 0 20px 0;
}

#officeSocialLinks
{
	display: flex;
	padding: 20px 0 0 0;
	box-sizing: border-box;
}

#officeSocialLinks a
{
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 22px;
	height: 22px;
	min-width: 44px;
	min-height: 44px;
	margin: 0 20px 0 0;
	text-indent: -9999em;
	overflow: hidden;
}

#officeSocialLinks a img
{
	position: absolute;
	position: relative;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	max-width: 22px;
	max-height: 22px;
	height: auto;
}

/* addthis support */

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

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

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

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

#itemSubtitle
{

	padding: 22px 0 4px 0;
	text-transform: uppercase;
	letter-spacing: 1px;
}

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

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

form > div > div.textarea_wrapper
{
	height: auto;
}

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

form > p
{
	clear: both;
}

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

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

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

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

input:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect,
.js form > div > div > label
{
	width: 100%;
	height: 34px;
	margin: 0;
	padding: 1px 7px 1px 27px;
	border: none;
	border-bottom: 2px solid #0A5A6A;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

select,
.customSelect
{
	width: 100% !important;
}

select
{
	background-color: #ffffff;  /* White background */
    color: #000000;  /* Black text for contrast */
}

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

.customSelect:after
{
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: 6px;

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

.customSelectFocus:after
{
	top: 11px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .5em .5em 0  .5em;
	border-color: #0A5A6A transparent transparent transparent;
}

#casesForm
{
	margin-bottom: 50px;
}

#casesForm input[type=text]
{
	background: url('../i/icon-search.svgz') no-repeat; /* data-uri */
	background-size: 15px;
	background-position: 5px 7px;
}


@media (min-width: 768px)
{
	#casesForm form > div
	{
		display: flex;
		flex-wrap: wrap;
	}

	#casesForm form > div > div
	{
		flex: 1 1 170px;
		margin-right: 25px;
	}
}

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

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

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

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

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

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

input[type=submit],
.view_more a
{
	width: auto;
	min-height: 25px;
	margin: 0 0 10px 0;
	padding: 1px 25px 3px 25px;
	background: #0A5A6A;
	border: none;
	color: #ffffff;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	cursor: pointer;
	border-radius: 15px;
	line-height: 25px;
}

a.clearAll
{
	float: right;
}

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

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

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

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

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

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

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



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

#emailField
{
	display: none;
}


/* auto complete js */

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

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

.autocomplete .selected
{
	background: #f0f0f0;
}

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

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

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

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


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

#footer
{
	position: relative;
	margin: 1em -10px 0;
	padding: 20px 10px 30px;
	background: url('../i/footer-bg.png') center bottom #065359 repeat-x; /* data-uri */
	background-size: auto 70%;
	color: #ffffff;
	font-size: 1.6rem;
	line-height: 2.1rem;
}

#innerFooter
{
	display: flex;
	max-width: 1350px;
	margin: 0 auto;
}

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

#footer a
{
	color: inherit;
}

#footer a:hover,
#footer a:focus
{
	color: #e3c52a;
	text-decoration: none;
}

#footer #innerFooter > div
{
	width: 390px;
}

#footer div.group1 div,
#footer div.group2 div
{
	display: inline-block;
	padding-right: 4px;
}

/*#footer div.address1:after,*/
#footer div.city:after
{
	content: ',';
}

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

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

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

#footer #socialLinks a
{
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	margin-right: 10px;
	padding: 10px;
	box-sizing: border-box;
}

#footer #innerFooter > div:last-child
{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

@media (min-width: 1024px)
{
	#footer
	{
		min-height: 95px;
		box-sizing: border-box;
		background-size: auto 100%;
	}
}

@media (min-width: 1280px)
{
	#footer
	{
		/*padding: 50px 68px 60px;*/
	}
}

@media (max-width: 1024px)
{
	#innerFooter
	{
		display: block;
	}

	#footer ul
	{
		margin: 10px 0 0 0px;
	}

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


/* Video Support -------------------------------------------------> */

#backgroundPopup
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
	height: 100%;
	width: 100%;
	background: #333;
	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: #fff;
	border: 12px solid #cecece;
	border-radius: 2px;
	box-sizing: border-box;
	color: #fff;
}

.popupPlayerWrapper.inlinePlayer
{
	position: relative;
	top: inherit;
	left: inherit;
	z-index: inherit;
	width: 100%;
	height: 425px;
	margin: 0 0 1.25em 0;

	/* make the player height the size of the iframe */
	height: 0;
	padding-bottom: 56.25%; /* 16:9 */
}

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

.mediaPlayer > iframe
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	z-index: 999999;
}

.mediaPlayer > video,
.mediaPlayer > audio
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	margin: auto;
	background: #000;
	box-sizing: border-box;
}

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

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

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

/* override some of the standard closeButton styles */
.popupPlayerWrapper button.closeButton
{
	z-index: 25;
	top: -15px;
	right: -15px;
}

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

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

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

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

.popupPlayerPlaylist ul
{
	position: relative;
	left: 0;
	list-style: none;
	width: 100%;
	min-width: 100000px;
	height: calc(100% - 10px);
	overflow-x: hidden;
	margin: 0;
	padding: 0;
}

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

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

.popupPlayerPlaylist ul li .photo
{
	position: relative;
	height: 100%;
}

.popupPlayerPlaylist ul li a
{
	display: block;
	position: relative;
	width: auto;
	height: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.popupPlayerSidebar > div
{
	padding: 10px 16px 10px 16px;
	/*font-size: 0.8rem;*/
}

.popupPlayerSidebar > div h2
{
	/*font-size: 0.9rem;*/
}

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

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

.itemMultimediaList ul.results_list li .photo img,
#item_relatedsame ul li .photo img,
.itemMultimediaList ul li .photo img,
.xrefMultimediaList ul li .photo img
{
	display: block;
	width: 100%;
	height: auto;
}

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

.itemMultimediaList ul.results_list li .photo,
.xrefMultimediaList ul li .photo
{
	margin: 0 0 10px;
	width: 100%;
	max-width: 290px;
	position: relative;
	z-index: 1;
}

.itemMultimediaList ul.results_list li .title,
.xrefMultimediaList ul li .title
{
	/*color: #0A5A6A;*/
}

#subContent .xrefMultimediaList ul li
{
	float: none;
	/*max-width: 300px;*/
	margin: 0 0 30px;
}

.itemMultimediaList ul.results_list li .photo
{

}

.xrefMultimediaList ul li
{
	position: relative;
	max-width: 674px;
}

.xrefMultimediaList ul li img
{
	width: 100%;
	height: auto;
}

.xrefMultimediaList ul li .photo a:after,
#item_itemvideo ul li a.triggerPopupPlayer:after
{
	position: absolute;
	top: calc(50% - 35px);
	left: calc(50% - 35px);
	display: block;
	content: '';
	width: 70px;
	height: 70px;
	background: url('../i/play-btn.svgz') no-repeat; /* data-uri */
}

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

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

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

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

.triggerPopupPlayer,
.triggerPopupPlayer img
{
	max-width: 100%;
	display: inline-block;
	position: relative;
}


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

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

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

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

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

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

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

@media (max-width: 767px)
{
	.closeButton
	{
		top: 4px;
	}
}


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

#emailPopupWrapper
{
	position: fixed;
	z-index: 99999;

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

	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	background: rgba(51, 51, 51, .7);

	transition: opacity .3s;
}

#emailPopupWrapper:not(.active)
{
	pointer-events: none;
	opacity: 0;
}

#emailPopup
{
	position: relative;
	background: white;
}

#emailPopupContent
{
	border: 12px solid #cecece;
	background: white;

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

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

	overflow: auto;
}

#emailDisclaimerButtons
{
	text-align: center;
}

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

#emailPopupClose
{
	position: absolute;
	top: -12px;
	right: -12px;
}


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

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

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

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

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

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

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

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

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

	table.results_list th
	{
		display: none;
	}
}

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

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

.itemList .title
{
	/*font-family: 'librebaskerville';*/
}

.expandableHeading
{
	cursor: pointer;
	text-transform: none;
}

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

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


/*SiteMap object */

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

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

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

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

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

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

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

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

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


/* Search Object Support */

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

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

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

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

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

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

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

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

	box-sizing: border-box;
}

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

}

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

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

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

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

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

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

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



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

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


.searchfoundtext
{
	font-weight: bolder;
}

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

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

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

/* Bio section search results */
#search .searchBioWrapper
{
	display: -webkit-flex;
	display: flex;
	margin-bottom: 18px;
}

#search .searchBioPic
{
	padding: 0 0 9px 0;
	margin: 0;
}

#search .searchBioPic img
{
	padding: 0 27px 0 0;
}

/* Map Object Support */

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

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

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

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

button.toggleExpand
{
	color: #3874a8;
	text-transform: uppercase;
	font-size: 1.6rem;
	font-weight: 900;
}

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

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

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

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

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

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

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

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

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

	border-bottom: 1px solid currentColor;
}

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

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

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

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

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

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

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

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

.blogPosts .blogComments
{
	margin-bottom: 0;
}

.blogPosts .blogComments > div > div
{
	padding: 1rem 0;
	border: 1px solid currentColor;
	border-width: 1px 0 0 0;
}

.blogPosts .blogComments > div > div > div
{
	margin: 0 1rem;
}

.blogPosts .blogComments .comment
{
	margin-top: 1rem;
}

#addComment
{
	border-top: 1px solid currentColor;
}

.blog #historyLinks a
{
	float: left;
}

.blog #historyLinks a:last-child
{
	float: right;
}

.blogtag
{
	line-height: 1.5;
	margin: 1em 0;
}

.blogFilters ul,
.blogFilters li
{
	list-style: none;
	margin: 0 0 .5em 0;
}

.js #subContent .blogFilters .results_list > li:nth-child(n+6)
{
	display: none;
}

#mainContent #blogArchives .results_list
{
	column-count: 2;
}


@media (min-width: 480px)
{
	#mainContent #blogArchives .results_list
	{
		column-count: 3;
	}
}

#mainContent #blogArchives .results_list,
#mainContent #blogArchives .results_list > li
{
	display: block;
	list-style: none;
	margin: 0 0 1.5rem 0;
}

#mainContent #blogArchives .results_list > li
{
	margin: 0;
	padding: 0;
}

.blogAuthors .title
{
	font-size: 1.3em;
	margin: 0 0 .3em 0;
}

.blogAuthors .photo
{
	float: left;
	margin-right: 1em;
}

.blogAuthors ul,
.blogAuthors li
{
	list-style: none;
	margin: 0 0 1rem 0;
}

.blogAuthors li
{
	border-bottom: 1px solid currentColor;
	padding-bottom: 1rem;
	overflow: hidden;
}

#searchMessage.blogAuthors li
{
	border-bottom: 0;
	padding-bottom: 0;
}

.blogAuthors .abstract
{
	margin: .5rem 0;
}

.vlog .image
{
	position: relative;
}

.vlog .image a:before,
.vlog .image a:after
{
	content: '';
	display: block;

	position: absolute;
	top: 1rem;
	left: 1rem;

	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 43.3px;
	border-color: transparent transparent transparent white;
}

.vlog .image a:before
{
	border-left-color: #808080;
	-webkit-filter: blur(8px);
		filter: blur(8px);
}

/**/

/* often copy/pasted from elsewhere */

/* Alignment */

figure
{
	margin: .5rem 0;
}

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

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

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

figure.image
{
	border: 1px solid #ccc;
	padding: 5px;
	box-sizing: border-box;

	text-align: center;

	display: table !important;
	background: transparent;
}

figure.image figcaption
{
	display: block !important;
	padding: 5px;
	font-size: .8rem;

	clear: both;
}


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

body#index #banner
{
	/*overflow: hidden;*/
	width: 100vw;
}

body#index #bannerContent
{
	position: relative;
	left: 0;
	top: 0;
	height: 100%;
	padding: 0;
	margin: 0;
}


/* probably won't need this since the video itself will have the overlay already*/
body#index #bannerContent:after
{
	content: '';
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255, .62);
}

body#index #banner,
body#who #banner
{
	margin: 0;
}

body#index #banner
{
	width: 100%;
	max-width: 100%;
	height: auto;
}

body#index #banner video
{
	width: 100%;
	height: auto;
}

body#index #content
{
	max-width: 1024px;
	max-width: unset;
	margin-bottom: 0;
}

body#index #mainContent
{
	padding-bottom: 0;
}

body#index #footer
{
	margin-top: 0;
}

#homeAnimationText
{
	display: flex;
	/*justify-content: center;*/
	align-items: center;
	/*position: absolute;*/
	top: 0;
	left: 0;
	z-index: 10;
	height: 100%;
	width: 100%;
	max-width: 100% !important;
	padding: 0px 50px;
	box-sizing: border-box;
}

#homeAnimationText > div
{
	width: 100%;
	/*padding-right: 10%;*/
	box-sizing: border-box;
}

#homeAnimationText .image
{
	position: absolute;
	top: 0;
	left: -10px;
	background: #8f8f8f;
	width: calc(100vw + 20px);
}

#homeAnimationText .image img
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 90px;
	object-fit: cover;
}

#homeAnimationText > div.results_list > div
{
	display: flex;
	/*align-items: center;*/
	flex-direction: column;
	gap: min(4vw, 40px);
	padding: calc(3vw + 90px) 0px 3vw 0px;
	text-align: center;
}

#homeAnimationText > div.results_list > div .title
{
	width: 100%;
}

#homeAnimationText > div.results_list > div .info
{
	width: 100%;
}

#homeAnimationText .title h1
{
	font: inherit;

	/*font-size: 7vw;
	line-height: 8vw;
	*/
	
	font-size: 3.9rem;
	line-height: 4.8rem;
		
	color: #065359;
	color: #000;
	margin: 0 0 10px 0;
	padding: 0;
	letter-spacing: 0;
}

#homeAnimationText .title span
{
	display: block;
}

#homeAnimationText a
{
	color: #0A5A6A;
	/*font-family: 'librebaskerville';*/
	font-size: 1.9rem;
}

#index .urltext .xrefMultimediaList ul li .title,
#index .urltext .xrefMultimediaList ul li .abstract,
#index .urltext .xrefMultimediaList ul li .videoMore,
#homeAnimation
{
	display: none;
}

#homeSpotlight
{
	position: relative;
	padding: 42px 0;
	background: #efefef;
}

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

#homeSpotlight ul li
{
	margin: 0 0 50px;
}

#homeSpotlight ul li:last-of-type
{
	margin-right: 0;
}

#homeSpotlight ul li li
{
	margin: 0;
	padding: 0;
	border: none;
	min-height: 0;
}

#homeSpotlight > ul > li > .photo
{
	margin: 0 0 20px;
}

#homeSpotlight .photo img
{
	display: block;
	width: 100%;
	height: auto;
	/*max-width: 555px;*/
}

#homeSpotlight .xrefMultimediaList ul li .photo
{
	max-width: 100%;
}

#homeSpotlight .title,
#homeSpotlight .title a
{
	margin-bottom: 15px;
	font-size: 2rem;
	line-height: 2rem;
	font-weight: 900;
	color: #065359;
	text-transform: uppercase;
}

#homeSpotlight .category
{
	font-weight: bold;
}

#homeSpotlight:after
{
	display: block;
	clear: both;
	content: '';
}

#homeSpotlight .links
{
	margin-top: 20px;
	/*font-family: 'librebaskerville';*/
	/*font-size: 1.7rem;*/
}

/*#homeSpotlight .links a:not(:last-of-type):after
{
	content: '/';
	padding: 0 4px 0 9px;
}
*/

body#index #mainContent
{
	margin: 0;
}

body#index h2
{
	position: relative;
	z-index: 10;
	margin-bottom: 32px;
	font-size: 4.8rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1; 
	text-align: center;
	text-transform: none;
}

body#index h2 a
{
	color: #065359;
}

#homeSpots .spotlightContent
{
	padding: 10px;
}

#homeSpotlightWrapper
{
	position: relative;
	background: #efefef;
	padding: 50px 0;
}

#homeExpertiseWrapper
{
	position: relative;
	background: #efefef;
	padding: 50px 0;
}

#homeExpertiseWrapper .newsSpotlight
{
	margin-top: 40px;
}

.newsSpotlight
{
	overflow: hidden;
	z-index: 100;
}

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

.newsSpotlight
{
	position: relative;
}

.newsSpotlight ul
{
	width: 200%;
	margin: 0 -10px;
}


.newsSpotlight.listColumn ul
{
	flex-wrap: nowrap;
}

.newsSpotlight li
{
	float: left;
	width: calc((100%/6) - 6px);
	margin-left: 10px;
	box-sizing: border-box;
}

.newsSpotlight.listColumn ul li
{
	background: #fff;
	padding: 10px;
	flex: 0 0 auto;
	width: calc((100% / 2) - 0px);
}

.newsSpotlight.listColumn ul li .title
{
	color: #0A5A6A;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2.8rem;
}

.newsSpotlight.listColumn ul li a
{
	color: #0A5A6A;
}

.newsSpotlight.listColumn ul li .info
{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 10px;
}

.newsSpotlight.listColumn ul li .spotlightContent .itemdate,
.newsSpotlight.listColumn ul li .spotlightContent .abstract
{
	font-weight: 400;
	line-height: initial;
}

.newsSpotlight.listColumn ul li .spotlightContent .abstract p
{
	margin: 0;
	padding: 0;
}

#homeExpertiseWrapper .newsSpotlight.listColumn ul li
{
	text-align: center;
}

.newsSpotlight li.previous:first-child,
.newsSpotlight li.current:first-child
{
	transition: margin 1s;
}

.newsSpotlight.animStarted li:first-child:not(.current)
{
	margin-left: calc(-51% + 10px);
}

.newsSpotlight li.previous.next
{
	transition: none !important;
}

.newsSpotlight.animStarted li:first-child:not(.current)
{
	margin-left: calc(-51% + 10px);
}

.newsSpotlight li .image
{
	margin: 0 0 10px;
}

.newsSpotlight .title
{
	font-size: 1.6rem;
	line-height: 2.4rem;
}

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

#homeSpots,
#homeExpertise,
.newsSpotlightWrapper
{
	position: relative;
}

#homeSpots .animControls,
#homeExpertise .animControls,
.newsSpotlightWrapper .animControls
{
	clear: both;
	position: absolute;
	top: 7vw;
	left: 0;
	width: 100%;
}

#homeExpertise .animControls
{
	top: calc(50% - 35px);
}

#homeSpots .animControls button,
#homeExpertise .animControls button,
.newsSpotlightWrapper .animControls button
{
	position: relative;
	z-index: 100;
	cursor: pointer;
	width: 70px;
	height: 70px;
	background: url('../i/anim-arrow.svgz') no-repeat; /* data-uri */
	background-size: 70px;
	text-indent: -9999em;
	border: none;
}

#homeSpots .animControls button:last-child,
#homeExpertise .animControls button:last-child,
.newsSpotlightWrapper .animControls button:last-child
{
	position: absolute;
	right: 0;
	top: 2px;
	transform: rotate(180deg);
}

#homeSpots .animControls button:is(:hover),
#homeExpertise .animControls button:is(:hover),
.newsSpotlightWrapper .animControls button :is(:hover)
{
	opacity: 0.8;
}

#homeSpots .animControls button.animPause,
#homeExpertise .animControls button.animPause,
.newsSpotlightWrapper .animControls button.animPause
{
	z-index: 0;
	visibility: hidden;
}

#homeSpotlight > ul.results_list > li
{
	position: relative;
	background: #fff;
}

.buttonmore 
{
	margin: 10px auto 20px auto;
	text-align: center;
}

.buttonmore a:not(.sp_pencil)
{
	display: inline-block;
	text-align: center;
	margin-top: 20px;
	padding: 15px 80px;
	background: #0A5A6A;
	color: #fff !important;
	font-size: 2.0rem;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

#homeAnimationText .buttonmore a:not(.sp_pencil)
{
	padding: 6px 80px;
	font-weight: 400;
	font-size: 1.6rem;
}

#homeTile .buttonmore a:not(.sp_pencil)
{
	padding: 6px 18px;
	font-weight: 400;
	font-size: 1.6rem;
	text-transform: uppercase;
}

#homeSpotlightWrapper .buttonmore a:not(.sp_pencil)
{
	background: #fff;
	padding: 18px 18px;
	color: rgb(68, 69, 70) !important;
	font-weight: 400;
	text-transform: uppercase;
}

.buttonmore a:not(.sp_pencil):is(:hover,:focus)
{
	text-decoration: none;
	opacity: 0.8;
}

#homeTile
{
	position: relative;
	padding: 60px 0px;
	text-align: center;
	background: #f9f9f9;
	box-sizing: border-box;
}

#homeTile ul.results_list
{
	display: flex;
	/*align-items: flex-start;*/
	gap: 20px;
	flex-wrap: wrap;
}

#homeTile ul.results_list > li
{
	display: flex;
	flex-direction: column;
	padding: min(32px, 3vw) 16px;
	background: #fff;
	font-size: 1.6rem;
}

#homeTile ul.results_list > li .title
{
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #0A5A6A;
	font-size: 3.0rem;
	line-height: 1.3;
	min-height: 80px;
}

#homeTile ul.results_list > li .abstract
{
	margin-top: 10px;
}

#homeTile ul.results_list > li .buttonmore
{
	margin-top: auto !important;
}

#lowerSubscribe
{
	display: flex;
	align-items: center;
	flex-direction: column;
	/*gap: min(8vw, 80px);*/
	position: relative;
	width: 100%;
	padding: 30px 0px 60px 0;
	background: #fafafa;
	box-sizing: border-box;
	text-align: center;
}

#lowerSubscribe h3
{
	color: #0A5A6A;
	font-size: 2.8rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
}

#lowerSubscribeLeft
{
	font-size: 2.0rem;
}

#lowerSubscribeRight form > div
{
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
}

#lowerSubscribeRight form > div > div:not(#submit_wrapper)
{
	width: 100%;
	max-width: 280px;
	height: 65px;
	margin: 0;
	text-align: left;
}

#lowerSubscribeRight form > div > div#submit_wrapper
{
	height: 65px;
	margin: 0;
}

#lowerSubscribeRight form > div > div > input[type=email]
{
	width: 100%;
	max-width: 280px;
	height: 65px;
	border: 1px solid #dcdcdc;
}

.js #lowerSubscribeRight form > div > div > label 
{
	top: 17px;
	height: 65px;
	color: #a9a9a9;
}

#lowerSubscribeRight form > div > div input[type=submit]
{
	height: 65px;
	background: #186677;
	border: 1px solid #186677;
	border-radius: unset;
}

#lowerSubscribeRight form > p
{
	display: none;
}

#lowerSubscribe #form-submitted
{
	color: #186677;
}


@media (min-width: 768px)
{
	#homeAnimationText .title h1
	{
		font-size: 4rem;
		line-height: normal;
	}
	
	.newsSpotlight.listColumn ul li
	{
		width: calc((100% / 6) - 6px);
	}
	
	.newsSpotlight li.previous:first-child,
	.newsSpotlight li.current:first-child
	{
		transition: margin 1s;
	}
	
	.newsSpotlight.animStarted li:first-child:not(.current)
	{
		margin-left: calc(-17% + 10px);
	}
	
	.newsSpotlight li.previous.next
	{
		transition: none !important;
	}
	
	.newsSpotlight.animStarted li:first-child:not(.current)
	{
		margin-left: calc(-17% + 10px);
	}
	
	#homeTile ul.results_list
	{
		flex-wrap: nowrap;
	}
}

@media (min-width: 920px)
{
	#homeAnimationText > div.results_list > div
	{
		flex-direction: row;
		gap: min(8vw, 80px);
		text-align: left;
	}
	
	#homeAnimationText > div.results_list > div .title
	{
		width: 48%;
	}
	
	#homeAnimationText > div.results_list > div .info
	{
		width: 52%;
	}

	#homeAnimationText .title h1
	{
		font-size: 3vw;
		line-height: 1.4;
	}
	
	#homeSpotlight .title,
	#homeSpotlight .title a
	{
		margin-bottom: 20px;
		font-size: 2.7rem;
		line-height: 2.7rem;
	}
}

@media (min-width: 1025px)
{
	#homeTile ul.results_list > li
	{
		padding: min(32px, 3vw) min(74px, 8vw);
	}
	
	
	.newsSpotlight.listColumn ul li .title
	{
		font-size: 2.9rem;
		line-height: 3.2rem;
	}
	
	.newsSpotlight.listColumn ul li .info
	{
		flex-direction: row;
	}

	
	#lowerSubscribe
	{
		padding: 30px 60px;
		padding: 30px 0 60px 0;
	}
	
	#lowerSubscribeLeft
	{
		width: 48%;
	}
	
	#lowerSubscribeRight
	{
		width: 52%;
	}
}

@media (min-width: 1100px)
{
	.newsSpotlight.listColumn ul li 
	{
        width: calc((100% / 6) - 24px);
    }
    
    .newsSpotlight li.previous:first-child,
	.newsSpotlight li.current:first-child
	{
		transition: margin 1s;
	}
	
	.newsSpotlight.animStarted li:first-child:not(.current)
	{
		margin-left: calc(-17% + 20px);
	}
	
	.newsSpotlight li.previous.next
	{
		transition: none !important;
	}
	
	.newsSpotlight.animStarted li:first-child:not(.current)
	{
		margin-left: calc(-17% + 20px);
	}
}

@media (min-width: 1280px)
{
	.newsSpotlight .title
	{
		font-size: 1.9rem;
		line-height: 2.8rem;
	}
}

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

@media (min-width: 1400px)
{
	#homeSpots .animControls,
	#homeExpertise .animControls,
	.newsSpotlightWrapper .animControls
	{
		top: calc(50% - 10px);
		width: calc(100% - 50px);
		left: 25px;
	}
	
	#homeSpots .animControls
	{
		top: calc(30% - 10px);
	}

	.newsSpotlight li .title
	{
		box-sizing: border-box;
	}
}

@media (max-width: 767px)
{
	.newsSpotlight li .title
	{
		font-size: 1.4rem;
		line-height: 2rem;
	}

	#homeSpotlight ul li li .photo
	{
		margin: 0 0 20px;
	}
}

/* Home Notice Message */

#noticeMessage
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 2000; /* so we can be over the header div */
	top: 10px;
	bottom: 10px;
	left: 16px;
	right: 16px;
	height: 40vh;
	max-height: 70vh;
	width: calc(100vw - 32px - 50px);
	max-width: 866px;
	margin: auto;
	padding: 3.5em 20px 1.5em 20px;
	background: rgba(0,0,0,0.95);
	background: rgba(24,102,119,0.97);
}

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

#noticeMessage > div
{
	position: relative;
	z-index: 999999;
	width: 100%;
	height: 100%;
	font-size: 1.8rem;
}

#noticeMessage > div > div
{
	position: relative;
	overflow: auto;
	height: 100%;
	max-height: 70vh;
	margin: 0;
	padding: 0 2.5em 0 0;
}

#noticeMessage > div > div *
{
	color: #ffffff;
}

body#index #noticeMessage h2
{
	font-size: 3rem;
	line-height: 1.3;
}

#noticeMessage > div div p:last-child
{
	margin-bottom: 0;
	padding-bottom: 0;
}

#noticeMessage .noticebuttons
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 20px;
}

#noticeMessage div button,
#noticeMessage a.standardButton
{
	display: inline-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;
}

#noticeMessage div button:last-of-type,
#noticeMessage a.standardButton:last-of-type
{
	margin-right: 0;
}

#noticeMessage div button:after
{
	content: 'x';
	display: inline-block;
	margin-left: 18px;
	font-size: 1rem;
	line-height: 1.4;
	vertical-align: middle;
}

#noticeMessage div button:is(:hover,:focus),
#noticeMessage a.standardButton:is(:hover,:focus)
{
	background: white;
	color: black;
}

#noticeMessage div button:is(:hover,:focus) div,
#noticeMessage a.standardButton:is(:hover,:focus)
{
	color: black;
}

#noticeMessage .closeButton
{
	position: absolute;
	top: 20px;
	right: 17px;
	padding: 24px 24px 0 0;
	background: none;
	border: none;
	color: #fff;
}

#noticeMessage .closeButton::before,
#noticeMessage .closeButton::after
{
	top: 10px;
	left: 0px;
	width: 24px;
	height: 2px;
}

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

@media (min-width: 969px)
{
	#noticeMessage
	{
		width: calc(100vw - 32px - 60px);
		padding: 3.5em 20px 1.5em 40px;
	}
}

/* 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,
	#subNav,
	#mainNav,
	#navJump,
	#upperSearchLink,
	footer,
	form,
	button.toggleExpand,
	#bioPositions,
	#bio_multimedia,
	#officeSocialLinks,
	#area_multimedia,
	#bioLinkedin,
	#bioTwitter
	{
		display: none !important;
	}

	body.js.what-cases .expandableList .results_list > li:nth-last-child(n+7) ~ li:nth-child(n+6)
	{
		display: block;
	}

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

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

	body
	{
		padding: 0;
	}

	#bannerContent
	{
		display: block;
	}

	#bannerContent h1#pageTitle
	{
		margin-left: 25px;
	}

	#mainContent:not(:only-child)
	{
		float: left;
		width: 65%;
	}

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

	body.who-item #bannerContent,
	body.who-item #bannerContent:before,
	body.what-practices-item #banner,
	body.what-practices-item #banner:before
	{
		background: none !important;
	}

	#bioInfo #bioInfoRight
	{
		padding-left: 0;
	}

	#bioInfo
	{
		display: block;
	}

	#bioInfo h1#pageTitle
	{
		margin-left: 0;
	}


	.bioList ul
	{
		display: block;
		margin: 0;
	}

	.bioList ul li
	{
		float: left;
		page-break-inside: avoid;
		width: calc((100%/3) - 15px);
		min-height: 300px;
		margin: 0 20px 20px 0;
	}

	.bioList ul li:nth-child(3n)
	{
		margin-right: 0;
	}

	body.who-item #subNav, body.who-item #subContent,
	body.what-practices-item #subContent
	{
		float: left;
		width: 30%;
	}

	body.who-item #mainContent:not(:only-child),
	body.what-practices-item #mainContent:not(:only-child)
	{
		float: right;
		width: calc(65%);
	}

	body#who-team #mainContent,
	body#what-practices #mainContent
	{
		width: 100%;
	}

	div.listColumn ul
	{
		display: block;
		margin: 0;
	}

	div.listColumn ul li
	{
		float: left;
		width: calc((100%/3) - 10px);
	}

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

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

    /* home page 2025 updates */

    #homeAnimationText > div.results_list > div
    {
        display: block;
    }

    #homeAnimationText
    {
        padding: 0px !important;
    }

    #banner:before
    {
        display: none !important;
    }

    #homeExpertise,
    #homeSpotlightWrapper
    {
        display: none !important;
    }

    #homeTile,
    #homeTile ul.results_list
    {
        display: block;
        width: 100%;
        clear: both;
    }

    #homeAnimationText .image
    {
        width: 100%;
        clear: both;
    }

    #header:before,
    body.who-item #bannerContent:before,
    #homeSpotlight:before,
    body#who #content:before,
    #lowerContent:before,
    #homeExpertiseWrapper:before,
    #homeSpotlightWrapper:before,
    #lowerSubscribe:before, #homeTile:before
    {
        display: none;
    }

    #homeAnimationText > div.results_list > div .title
    {
        display: block;
        float: left;
        width: 50%;
    }

    #homeAnimationText > div.results_list > div .info
    {
        display: block;
        width: 45%;
        float: left;
    }

    #homeTile ul.results_list > li
    {
        display: block !important;
        width: 30% !important;
        float: left !important;
        padding: 8px !important;
        margin-right: 8px;
    }

    #homeTile
    {
        padding: 0px;
    }

    #lowerSubscribe
    {
        display: block !important;
        width: 100%;
        clear: both;
    }

    #homeTile:before
    {
        display: none;
    }

    #footer,
    .sp_pencil
    {
        display: none;
    }

    .buttonmore
    {
        display: none;
    }

     #homeAnimationText
     {
        clear: both;
     }

    body#index #bannerContent:after
    {
        display: none !important;
    }

    #homeAnimationText .title h1
    {
        text-align: left !important;
    }

    /* header fix */

    	
	#header
	{
		display: block !important;
		position: relative !important;
		clear: both !important;
		width: 100% !important;
		margin-top: 0px;
		margin-bottom: 20px;
		padding: 0;
		left: 0 !important;
		top: 0 !important;
		background-image: none;
		border-top: 70px solid #fff !important;
		border-bottom: none !important;
		clear: both;
	}

	#logo
	{
		display: block !important;
		top: 0px;
		margin: 15px 0 0 0 !important;
	}
	
	#logo img
	{
	    position: relative !important;
	    top: 0;
	    left: 0;
	    padding-top: 0;
	    margin-left: 10px;
	    margin-top: -65px;
	    max-width: 230px;
	    width: 230px !important;
	}

	body.scrolled #header
	{
		box-shadow: none !important;
	}

    body
    {
        margin-top: 0px !important;
    }
}

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