/* 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: 300 10px/1.4 'Akzidenz', Arial, sans-serif;
	color: #231f20;
}

body
{
	position: relative;
	min-width: 320px;
	margin: 0 auto;
	padding: 0 54px 0 54px;
	background: #fff;
	box-sizing: border-box;
	font-size: 2.2rem;

	/*
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	*/
}

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

/* make sure the browser doesn't go smaller than 320, and throws a scrollbar */
@media (max-width: 1400px)
{
	body
	{
		padding: 0 10px 0 10px;
	}
}

/* try to ensure we never trigger Google's Mobile-Friendly-Test's "content too wide" error */
/* this messes with the '::before' pseudo background stretching, see if we can get by without
@media (max-width: 767px)
{
	header,
	main,
	footer,
	body > div,
	body > div > div
	{
		overflow-x: 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;
}

/* normalize cell padding in tables - https://codepen.io/lowbatteries/pen/vRPBar */
td p:first-child
{
	margin-top: 0;
	padding-top: 0;
}

td p:last-child
{
	margin-bottom: 0;
	padding-bottom: 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
}

/* added via the tinymce.js 'formats' like their previous site */
p.blockquote
{
	padding: 15px 40px !important;
}

sup, sub
{
	line-height: 0;
}

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

a:hover,
a:focus
{
	color: #5c7f9f;
	/*text-decoration: underline;*/
}

/* search results highlight */
mark
{
	background: #D31245;
	color: white;
}

/* 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 !important;
    text-decoration: inherit !important;
    cursor: default !important;
}

h1, h2, h3, h4, h5, h6
{
	margin: 0;
	padding: 0;
	color: #231f20;
	font-family: 'Optima', 'Times New Roman', 'Times', serif;
	/*font-weight: bolder; /* relative, works better if you have a light base font */
	font-weight: 700;
	line-height: normal;
}

h1
{
	padding: 5px 0 15px 0;
	font-size: 4.0rem;
	line-height: 1.2;
}

h1#pageTitle sup
{
	font-size: 50%;
	line-height: 1;
}

h1#areaPageTitle
{
	font-weight: 400;
}

h2
{
	margin: 12px 0 8px 0;
	padding: 0 0 0 0;
	font-size: 2.5rem;
}

.splitColumnsLeft h2
{
	font-size: 4.0rem;
	font-weight: 400;
}

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

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

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

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

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

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

ol
{
	padding-left: 1em;
}

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

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

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

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

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

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

#banner::before,
#subNav::before,
.bioList::before,
.splitColumns#splitColumnsArea::before,
.splitColumns#splitColumnsBioContact::before,
.splitColumns#splitColumnsTrending::before,
.splitColumns#splitColumnsNoContact::before,
.splitColumns#splitColumnsRelatedPractices::before,
.splitColumns#splitColumnsMap::before,
#footer::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;
}

#subNav::before,
.bioList::before,
.splitColumns#splitColumnsArea::before,
.splitColumns#splitColumnsBioContact::before,
.splitColumns#splitColumnsTrending::before,
.splitColumns#splitColumnsNoContact::before,
.splitColumns#splitColumnsRelatedPractices::before,
.splitColumns#splitColumnsMap::before
{
	left: calc(50% - 200vw);
	width: 1000vw;
	border-top: 1px solid #cccccc;
}

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

	.bioList::before,
	.splitColumns#splitColumnsArea::before,
	.splitColumns#splitColumnsBioContact::before,
	.splitColumns#splitColumnsTrending::before,
	.splitColumns#splitColumnsNoContact::before,
	.splitColumns#splitColumnsRelatedPractices::before,
	.splitColumns#splitColumnsMap::before
	{
		left: calc(50% - 50vw);
		width: 100vw;
	}
}

@media (max-width: 919px)
{
	.splitColumns#splitColumnsArea::before,
	.splitColumns#splitColumnsBioContact::before,
	.splitColumns#splitColumnsTrending::before,
	.splitColumns#splitColumnsNoContact::before,
	.splitColumns#splitColumnsRelatedPractices::before,
	.splitColumns#splitColumnsMap::before
	{
		display: none;
	}
}


/* 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.results_list,
.itemList ul.results_list li
{
	list-style: none;
	margin-left: 0;
}

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

.expandableHeading
{
	position: relative;
	cursor: pointer;
	font-weight: 700;
}

/* buttons to look like links */
.expandableHeading button
{
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;

	border: none;
	font: inherit;
	color: inherit;

	cursor: pointer;
	text-transform: inherit;
	text-align: left;
	text-align: inherit;
}

.expandableHeading button::after
{
	content: '+';
	/*display: inline-block;*/
	vertical-align: middle;
	color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
	width: 1.1em;
	height: 1.1em;
	padding: 0.1em 0.3em;
	line-height: 1.1;
	background: #5c7f9f;
	border: 0px solid currentColor;
	text-align: center;
	border-radius: 5px;
	margin: 0 0 .3rem 1rem;
}

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

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


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

#header
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	height: 104px;
	width: 100%;
	padding: 16px 0px 0 0px;
	/*background: rgba(255,255,255,0.95);*/
	background: #ffffff;
	box-sizing: border-box;
	transition: all 0.3s ease-in-out
}

body.scrolled #header
{
	height: 80px;
	padding: 10px 0px 0px 0px;
	box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
}

#logo
{
	float: left;
	position: relative;
	width: 417px;
	margin-left: 54px;
	transition: all 0.3s ease-in-out
}

#logo a,
#logo img
{
	display: block;
	width: 100%;
}

body.scrolled #logo
{
	width: 350px;
}

@media (max-width: 1400px)
{
	#logo
	{
		margin-left: 10px;
	}
}

@media (max-width: 1100px)
{
	#logo
	{
		width: 334px;
	}
}

@media (max-width: 767px)
{
	#logo
	{
		margin-top: 10px;
		max-width: calc(100% - 50px);
	}

	body.scrolled #logo
	{
		margin-top: 0px;
	}
}

/* Popup search --------------------------------------------------------> */

#searchJump
{
	position: absolute;
	top: 15px;
	right: 2vw;
}

@media (max-width: 919px)
{
	#searchJump
	{
		top: 40px;
		right: 3px;
	}
}

#siteSearch
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: rgba(0,0,0,.85) !important;

	opacity: 1;
	height: 0;
	overflow: hidden;

	/* this is the close transition - fade out, hide height */
	transition: opacity 0.5s, height 0 1s, visibility 0 1s;
	visibility: hidden;
}

#siteSearch label
{
	display: none !important;
}

#siteSearch.target
{
	opacity: 1;
	height: 100vh;

	/* this is the fade in transition, fade in - change height immediately */
	transition: opacity 0.5s, height 0;
	visibility: visible;
}

#siteSearch > div
{
	margin: auto;

	width: 70vw;
	min-width: 290px;
	max-width: 1500px;
	margin-top: 20vh;

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

	border-bottom: 2px solid white !important;
}

#siteSearch div > *
{
	background: none;
	overflow: hidden;
	display: block;
	margin: 0;
}

#siteSearch div button
{
	position: static;
	margin-left: 2px;
	padding: 10px;
	margin: 0;
	box-sizing: border-box;
	width: 60px;
	min-width: none;
	border: 0;
	cursor: pointer;
}

#siteSearch div button img
{
	height: 25px;
}

#siteSearch input#searchtext2
{
	width: calc(100% - 70px);
	padding: 2px 2px 2px 5px;
	border: 0;
	font:inherit;
	font-size: 30px;
	font-weight: bold;
	min-height: auto;

	color: white;
}

#searchClose
{
	border: none;
	font: inherit;
	color: inherit;
	background: none !important;

	cursor: pointer;
	text-transform: inherit
	text-align: left;
	text-align: inherit;

	display: block;
	position: absolute;
	top: 15px;
	right: 10px;
	width: 0;
	height: 0;
	overflow: hidden;
	padding: 32px 28px 0 0;

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

#searchClose::after,
#searchClose::before
{
	content: '';
	display: block;

	position: absolute;
	top: -2px;
	bottom: -2px;
	width: 0;
	left: 50%;
	outline: 2.5px solid white;

	transform: rotate(-30deg);
}

#searchClose::before
{
	transform: rotate(30deg);
}

#searchPopup
{
	display: block;

	position: fixed;
	overflow: auto;
	z-index: 10000;

	width: calc(70vw);
	min-width: 290px;
	max-width: 2000px;

	max-height: calc(70vh - 84px);

	top: calc(20vh + 54px);
	left: calc(50% - 50vw + 15vw);

	background: white;
	box-shadow: 0px 4px 8px rgba(0,0,0,0.5);
}

@media (max-width: 580px)
{
	#searchPopup
	{
		left: calc(50% - 145px);
	}
}

#searchPopup > *
{
	padding: 10px 20px;
	margin: 0;
	display: block;
	width: 100%;
	box-sizing: border-box;

	font-size: 16px !important;
	line-height: 1.4;
}

#searchPopup > :not(:last-child)
{
	border-bottom: 1px solid #ddd
}

#searchPopup * p
{
	margin: 0;
	padding: 0;
}

#searchPopup .link
{
	font-weight: bold;
	margin-bottom: 10px;
}

#searchPopup .selected
{
	background: #ddd;
	position: relative;
}

#searchPopup .selected:after
{
	content: '»';
	color: #999;

	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 1.3em;
	height: 1.3em;
	line-height: 1.3em;
	text-align: center;

	box-shadow: 0 0 1px black;

	background: white;
	border-radius: 50%;
}

/* search popup results: bio */
.acBio .results_list > div
{
	display: flex;
	padding-bottom: 10px;
}

.acBio a
{
	font-weight: bold;
}

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

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

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

#allSearch
{
	position: -webkit-sticky;
	position: sticky;

	bottom: 0;
	background: #5c7f9f;
}

#allSearch a
{
	color: white;
	font-weight: bold;
}

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

#banner
{
	position: relative;
	width: 100%;
	/*max-height: 60px;*/
	height: 141px;
	/*overflow: hidden;*/
	background: #322e2f;
}

body.blog #banner
{
	height: auto;
	min-height: 200px;
}

body.team-item #banner
{
	width: calc(100% + 108px);
	height: 550px;
	margin: 0 0 0 -54px;
}

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

body.blog  img#bannerImage
{
	width: calc(100% + 108px);
	height: auto;
	margin: 0 0 0 -54px;
}

#bannerContent
{
	position: absolute;
	z-index: 2;
	top: 0px;
	left: 0px;
	color: #fff;
	font-size: 1.6rem;
}

body.team-item #bannerContent
{
	position: relative;
	top: inherit;
	left: inherit;
}

body.blog #bannerImageMask
{
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 2;
	content: ' ';
	width: calc(100% + 108px);
	height: 100%;
	margin: 0 0 0 -54px;
	background-image: linear-gradient(to left, rgba(0,0,0,0), rgba(0,0,0,0.8));
}

.blog #bannerContent
{
	top: calc(50% - 40px);
	font-size: 3.0rem;
}

.blog #bannerContent h1
{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	font-size: 4.5rem;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

#bannerContent *
{
	color: inherit;
}

#sectionTitle
{
	position: relative;
	margin: 46px 0 0 0;
	color: #ffffff;
	font-family: 'Optima', 'Times New Roman', 'Times', serif;
	font-size: 5.5rem;
	font-weight: 400;
	line-height: 1;
}

#sectionTitle > h1
{
	margin: 0;
	padding: 0;
	font-size: 5.5rem;
	font-weight: 400;
	line-height: 1;
}

@media (max-width: 1400px)
{
	body.team-item #banner
	{
		width: calc(100% + 20px);
		margin: 0 0 0 -10px;
	}

	body.blog  img#bannerImage
	{
		width: calc(100% + 20px);
		height: auto;
		margin: 0 0 0 -10px;
	}

	body.blog #bannerImageMask
	{
		width: calc(100% + 20px);
		margin: 0 0 0 -10px;
	}
}

@media (max-width: 919px)
{
	body.team-item #banner
	{
		height: auto;
	}

	body.blog #banner
	{
		height: auto;
		min-height: auto;
	}
}

@media (max-width: 767px)
{
	.blog #bannerContent
	{
		position: relative;
		top: inherit;
		left: inherit;
		padding: 18px 0 18px 0;
	}
}


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

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

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

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

/* all menu links */
#mainNav a,
#mainSiteLink
{
	color: #575252;
}

#mainNav li > a,
#mainSiteLink
{
	display: block;
	padding: 6px 1.8vw;
	line-height: 20px;
}

/* top level links */
#mainNav > ul > li > a,
#mainSiteLink
{
	color: #231f20;
	font-family: 'Optima', 'Times New Roman', 'Times', serif;
	font-size: 2.2rem;
	font-weight: 400;
}

#mainNav li:hover > a,
#mainSiteLink:hover,
#mainSiteLink:focus
{
	/* make sure to repeat these styles in the block below */
	color: #5c7f9f;
	text-decoration: none;
}

/* styles above, repeated, because some browsers don't understand focus-within */
#mainNav li:focus-within > a
{
	color: #5c7f9f;
	text-decoration: none;
}

#mainNav > ul > li:hover > a
{
	/* make sure to repeat these styles in the block below */
	background: #ebebeb;
}

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

#mainNav li ul li > a
{
	color: #5c7f9f;
}

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

/* styles above, repeated, because some browsers don't understand focus-within */
#mainNav li ul li:focus-within > a
{
	color: #d31145;
}

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

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

/* main nav items */
#mainNav > ul ul
{
	display: none;
	position: absolute;
	background: #aaa;
	background: #5c7f9f;
	padding: 18px 0 18px 0;
	font-size: 1.9rem;
	border-bottom: 2px solid #5c7f9f;
}

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

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

/*
	how these content jumps should work on desktop:

	1. Initially completely hidden (display: none)
	2. On keyboard input, displayed but transparent (so they can be focused by tabbing)
	3. On focus, they are made fully visible
*/
.contentJump
{
	display: none;

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

	padding: 5px 15px;
	background: inherit;
}

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

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

#mainNav #navButton-team ul
{
	width: 100vw;
	max-width: 600px;
	box-sizing: border-box;

	color: white;
}

#mainNav #navButton-team ul
{
	max-width: 1000px;
	padding-left: 20px;
	padding-right: 20px;
	color: white;
}

#mainNav .letterLinks
{
	color: #ccc;
}

a#intranet-search img,
#navButton-search a img
{
	width: 22px;
	height: 17px;
	vertical-align: middle;
}
a#intranet-search img
{
	margin-left: 18px;
}

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

	#mainNav,
	#mainSiteLink
	{
		display: flex;
		position: fixed;
		z-index: 9999;
		top: 39px;
		right: calc(54px - 1.8vw);
		transition: top 0.3s ease-in-out;
	}

	body.scrolled #mainNav,
	.scrolled #mainSiteLink
	{
		top: 25px;
	}

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

	#mainNav > ul > li > a,
	#mainSiteLink
	{
		padding: 17px 1.8vw 28px 1.8vw;
	}

	body.scrolled #mainNav > ul > li > a,
	body.scrolled #mainSiteLink
	{
		padding: 17px 1.8vw 18px 1.8vw;
	}

	#mainNav > ul ul
	{
		left: calc(50% - 150px);
		width: 300px;
		background: #ffffff;
		box-shadow: 0 4px 8px rgba(0,0,0,0.19);
	}

	/*
	#mainNav > ul > li:hover > a:after,
	#mainNav > ul > li:focus > a:after
	{
	    content: " ";
		display: block;
		height: 0;
		position: absolute;
		width: 0;
	    left: 50%;
   	 	margin-left: -10px;
   	 	border-left: 10px solid transparent;
    	border-right: 10px solid transparent;
    	border-bottom: 10px solid #000000;
		border-top: none;
		bottom: 0px;
		border-bottom-color: #FFFFFF;
   	 }
	*/

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

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

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

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

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

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

@media (max-width: 1400px)
{
	#mainNav,
	#header #mainSiteLink
	{
		right: calc(10px - 1.8vw);
	}
}

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

@media (max-width: 919px)
{
	#header #mainSiteLink
	{
		display: none;
	}

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

	#mainNav::before
	{
		display: none;
	}

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

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

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

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

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

	#mainNav li ul li > a
	{
		color: #231f20;
	}

	#mainNav li ul li:hover > a
	{
		color: #5c7f9f;
		background: #ebebeb;
	}

	#mainNav li ul li:focus-within > a
	{
		color: #5c7f9f;
		background: #ebebeb;
	}

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

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

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

	/* Mobile Nav 'Hamburger' Button */

	button#navToggle
	{
		display: block;
		position: absolute;
		position: fixed;
		z-index: 9999;
		top: 10px;
		right: 7px;
		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: 6px;
	}

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

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

	.mobileNavBox span
	{
		position: absolute;
		top: 0;
		width: 22px;
		height: 4.5px;
		background-color: #134262;
		transition-timing-function: ease;
		transition-duration: .15s;
		transition-property: transform;
	}

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

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

	/* 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
	{
		transition: top .1s cubic-bezier(.33333, .66667, .66667, 1) .2s, transform .13s cubic-bezier(.55, .055, .675, .19);
	}

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

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


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

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

ul.subNavList
{
	display: flex;
	flex-wrap: wrap;
}

ul.subNavList > li
{
	width: calc(33.33% - 36px);
	margin: 0 0 50px 50px;
	overflow: hidden;
	background: #666666;
	cursor: pointer;
}

ul.subNavList > li.here
{
	background: #000000;
}

ul.subNavList > li:nth-child(3n+1)
{
	margin: 0 0 50px 0px;
}

ul.subNavList > li > a:not(.sp_pencil) img
{
	display: block;
	width: 100%;
	transition: all 0.6s ease-out;
}

ul.subNavList > li > a:not(.sp_pencil):hover img,
ul.subNavList > li > a:not(.sp_pencil):focus img
{
	transform: scale(1.04);
	opacity: 0.88;
}

ul.subNavList > li.here > a:not(.sp_pencil) img
{
	opacity: 0.68;
}

ul.subNavList > li > a > span
{
	position: absolute;
	bottom: 20px;
	left: 20px;
	padding-right: 10px;
	color: #ffffff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

ul.subNavList > li > a:hover > span,
ul.subNavList > li > a:focus > span
{
	color: #98bcdd;
}

ul.subNavList ul
{
	display: none; /* probably temp */
}

/*
ul.subNavList > li.here,
ul.subNavList > li.hereParent
{
	display: none; /* probably temp *\/
}
*/

ul.subNavList > li.here > a,
ul.subNavList > li.hereParent > a
{
	color: inherit;
}


/* child subnav side col */

div.sideNav
{
	margin: 10px 0 2em 0;
}

/* if we're tacking on an additional sideNav remove the top margin */
ul.sideNav + .sideStaticText div.sideNav
{
	margin: 0 0 2em 0;
}

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

.sideNav a
{
    display: block;
	position: relative;
	padding: 4px 0 4px 0;
	/*color: #949494;*/
	font-family: 'Optima', 'Times New Roman', 'Times', serif;
	font-size: 2.5rem;
}

.sideNav .current > a,
.sideNav a.current,
.sideNav a:hover,
.sideNav a:focus
{
    color: #231f20;
	text-decoration: none;
}

.sideNav .current > a,
.sideNav a.current
{
		cursor: default;
}

.sideNav a.current:after,
.sideNav a:hover:after,
.sideNav a:focus:after
{
	content: url(../i/tab-arrow.png);
	position: absolute;
	margin-left: 6px;
}

ul.sideNav li.here > a,
ul.sideNav li.hereParent > a
{
	color: #000000;
}

ul.sideNav ul
{
	margin: 0;
}

ul.sideNav ul a
{
	font-size: 2rem;
}

ul.sideNav ul a::before
{
	content: '\a0–\a0';
}

ul.sideNav ul ul
{
	padding-left: 1.5rem;
}

@media (max-width: 1200px)
{
	ul.subNavList > li
	{
		width: calc(33.33% - 15px);
		margin: 0 0 20px 20px;
	}

	ul.subNavList > li:nth-child(3n+1)
	{
		margin: 0 0 20px 0px;
	}
}

@media (max-width: 919px)
{
	ul.subNavList > li > a > span
	{
		bottom: 10px;
		left: 10px;
		font-size: 1.3rem;
	}
}

@media (max-width: 767px)
{
	ul.subNavList > li,
	ul.subNavList > li:nth-child(3n+1)
	{
		width: calc(50% - 5px);
		margin: 0 0 10px 10px;
	}

	ul.subNavList > li:nth-child(2n+1)
	{
		margin: 0 0 10px 0px;
	}
}


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

@media (min-width: 920px)
{
	#tabLinks
	{
		margin: 10px 0 0 0;
	}

	#tabLinks a
	{
		display: block;
		position: relative;
		padding: 4px 0 4px 0;
		color: #949494;
		font-family: 'Optima', 'Times New Roman', 'Times', serif;
		font-size: 2.5rem;
	}

	#tabLinks .current
	{
		color: #231f20;
		text-decoration: none;
		cursor: default;
	}

	#tabLinks a:not(.current):hover,
	#tabLinks a:not(.current):focus
	{
		color: #000000;
	}

	#tabLinks .current:after
	{
		content: '';
		position: absolute;
		top: calc(50% - 8px);
		width: 27px;
		height: 13px;
		padding-left: 6px;
		background: url('../i/tab-arrow.png') right center no-repeat; /* data-uri */
	}

	.contentSection
	{
		display: none;
	}

	.sectionTitle
	{
		display: none;
	}

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

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

	h2.sectionTitle
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 1px 0 0 0;
		padding: 13px 20px 13px 20px;
		background: #ddd;
		color: #666;
		font-size: 2.0rem;
		box-sizing: border-box;
		text-decoration: none;
		cursor: pointer;
	}

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

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

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

	.contentSection
	{
		display: block !important;
	}

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

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


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

#contentWrapper
{
	position: relative;
	z-index: 10;
	max-width: 1920px;
	/*max-width: 1738px;*/
	margin: 0px auto;
	padding-top: 104px; /* top - make up for fixed header */
	transition: all 0.3s ease-in-out;
}

body.scrolled #contentWrapper
{
	padding-top: 80px; /* top - make up for fixed header */
}

#content
{
	position: relative;
	min-height: 350px;
	padding: 30px 0 20px 0;
}

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

h1#pageTitle
{
	margin: 30px 0 0px 0;
	padding: 0 30px 20px 0;
	font-weight: 400;
	box-sizing: border-box;
}

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

#subContent
{
	position: relative;
	margin: 0px 0 0 0;
	padding: 20px 30px 20px 0px;
	box-sizing: border-box;
	color: #666666;
	line-height: 1.2;
}

#subNav
{
	position: relative;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	box-sizing: border-box;
	/*border-top: 1px solid #cccccc; do this in the ::before statement */
}

@media (min-width: 920px)
{
	h1#pageTitle
	{
		float: left;
		clear: left;
		width: 250px;
	}

	body.services.noRightPadding h1#pageTitle
	{
		width: auto;
		max-width: 356px;
		padding-bottom: 0px;
		line-height: 1.1;
	}

	#mainContent:not(:only-child)
	{
		float: right;
		width: calc(100% - 376px);
		padding-right: 15%;
	}

	body.noRightPadding #mainContent:not(:only-child),
	body.intranet #mainContent:not(:only-child)
	{
		padding-right: 0px;
	}

	#subContent
	{
		float: left;
		clear: left;
		width: 356px;
	}

	#subNav
	{
		clear: both;
		float: right;
		width: calc(100% - 376px);
		padding: 60px 0 0 0;
	}

	#galleryContainer
	{
		padding-left: 376px;
	}


	/* split columns */

	body.fullWidth #mainContent
	{
		float: none;
		width: 100%;
		min-height: 500px;
		padding-right: 0px;
	}

	.splitColumns
	{
		display: flex;
		align-items: center;
		position: relative;
		z-index: 10;
	}

	#splitColumnsTop.splitColumns
	{
		align-items: flex-start;
		border: 0px;
	}

	#splitColumnsTitle.splitColumns
	{
		align-items: flex-start;
		border: 0px;
	}

	.splitColumns .splitColumnsLeft
	{
		width: 356px;
		min-width: 356px;
	}

	#splitColumnsTop.splitColumns .splitColumnsLeft
	{
		padding: 0px 0 60px 0;
	}

	.splitColumns .splitColumnsRight
	{
		width: calc(100% - 376px);
		padding-right: 15%;
		box-sizing: border-box;
	}

	.splitColumns#splitColumnsArea .splitColumnsRight,
	.splitColumns#splitColumnsBioContact .splitColumnsRight,
	.splitColumns#splitColumnsRelatedPractices .splitColumnsRight
	{
		padding: 80px 0 80px 0;
	}

	.splitColumns#splitColumnsTrending .splitColumnsRight,
	.splitColumns#splitColumnsNoContact .splitColumnsRight
	{
		padding: 80px 0 0px 0;
	}

	#splitColumnsTop.splitColumns .splitColumnsRight
	{
		padding: 0px 15% 60px 0;
	}

	body.contact-item #splitColumnsTop.splitColumns .splitColumnsRight
	{
		padding: 0px 15% 30px 0;
	}

	body.team-item #splitColumnsTop.splitColumns .splitColumnsRight
	{
		padding: 0px 15% 0px 0;
	}

	#splitColumnsTitle.splitColumns .splitColumnsRight
	{
		padding: 0px 15% 0px 0;
	}

	#splitColumnsBio.splitColumns .splitColumnsRight
	{
		padding: 0px 0px 0px 0;
	}

	.splitColumns#splitColumnsMap .splitColumnsRight
	{
		padding: 80px 15% 80px 0;
	}
}

@media (min-width: 1280px)
{
	#galleryContainer
	{
		width: calc(90% - 400px);
		max-width: 1080px;
	}
}

@media (min-width: 1400px)
{
	#mainContent:not(:only-child),
	.splitColumns .splitColumnsRight,
	#splitColumnsTop.splitColumns .splitColumnsRight,
	#splitColumnsTitle.splitColumns .splitColumnsRight,
	.splitColumns#splitColumnsMap .splitColumnsRight
	{
		padding-right: 25%;
	}
}

@media (max-width: 1200px)
{
	.splitColumns .splitColumnsRight,
	#splitColumnsTop.splitColumns .splitColumnsRight,
	#splitColumnsBio.splitColumns .splitColumnsRight,
	.splitColumns#splitColumnsMap .splitColumnsRight
	{
		padding-right: 0px;
	}

}

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

	h1#pageTitle
	{
		order: 1;
	}

	main
	{
		order: 2;
	}

	#subContent
	{
		order: 3;
	}

	#subNav,
	#galleryContainer
	{
		order: 4;
		padding: 30px 0 0 0;
	}
}

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

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

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

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

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

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

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

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

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

#item_bio ul.results_list li,
#item_area ul.results_list li
{
	margin: 0 0 0.6em 0;
}

#pdfLink
{
	position: absolute;
	z-index: 80;
	top: 54px;
	right: 0px;
	width: 50px;
	height: 50px;
    background-color: #ffffff;
    border: 2px solid #d31145;
    border-radius: 50%;
    color: #d31145;
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
    line-height: 3.6;
    vertical-align: middle;
}

#pdfLink:hover,
#pdfLink:focus
{
	background: #cccccc;
	color: #ffffff;
	text-decoration: none;
}

.sideStaticText
{
	padding: 0 10px 60px 0;
	background: url('../i/logo-mark.svgz') center bottom no-repeat; /* data-uri */
	background-size: 51px 74px;
	box-sizing: border-box;
	font-size: 2.0rem;
}


@media (max-width: 919px)
{
	#pdfLink
	{
		top: 20px;
		width: 30px;
		height: 30px;
		 font-size: 1rem;
    	line-height: 3.2;
	}
}


/* Bio Directory */

#attySearchWrapper
{
	display: flex;
}

#attySearchWrapper > .search_form
{
	width: 66.66%;
	flex-basis: 66.66%;
}

#attySearchWrapper > .letterLinks
{
	width: 33.33%;
	flex-basis: 33.33%;
	padding: 0 0 0 2%;
	box-sizing: border-box;
}

.letterLinks
{
	order: 2;
	margin-top: -12px !important;
	color: #949494;
	font-weight: 300;
	font-size: 2.8rem;
}

.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% / 7 - 1px);
	margin: 0 0 4px 0;
	padding: 1% 0 1% 0;
	text-align: center;
}

.letterLinks a
{
	color: #5c7f9f;
}

.letterLinks a:hover,
.letterLinks a:focus
{
	background: #5c7f9f;
	border-radius: 2px;
	color: #ffffff;
	text-decoration: none;
}

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

.bioList
{
	position: relative;
	margin: 4rem 0 0 0;
	padding: 6rem 0 0 0;
}

.bioList > div
{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.bioList > div > div
{
	position: relative;
	width: calc(33.33% - 38px);
	margin: 0 0 56px 56px;

	background: #322e2f;
}

.bioList > div > div:nth-child(3n+1)
{
	margin: 0 0 56px 0;
}

.bioList > div > div .photo
{
	position: relative;
	z-index: 1;
	width: 100%;
	/*max-width: 419px;*/
	aspect-ratio: 500/373;
	background: #322e2f;
}

.bioList > div > div .photo img
{
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
}

.bioList > div > div .photo:after
{
	content: '';
	position: absolute;
	z-index: 5;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(to top, rgba(0,0,0,0.60) 10%, rgba(0,0,0,0.01) 50%);
}

.bioList > div > div .nametitle
{
	position: absolute;
	z-index: 10;
	bottom: 10px;
	left: 30px;
	padding: 0 10px 10px 0;
	color: #cccccc;
	font-size: 1.6rem;
	line-height: 1.2;
}

.bioList > div > div .nametitle .title
{
	margin: 0 0 4px 0;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
}

.bioList > div > div .nametitle .title
{
	color: #ffffff;
}

.bioList a:hover .nametitle .title,
.bioList a:focus .nametitle .title
{
	color: #98bcdd;
}

@media (max-width: 1200px)
{
	#attySearchWrapper
	{
		display: block;
	}

	#attySearchWrapper > .search_form
	{
		width: 100%;
	}

	#attySearchWrapper > .letterLinks
	{
		width: 100%;
		padding: 0px 0 20px 0;
	}

	.letterLinks a,
	.letterLinks span
	{
		width: calc(100% / 13 - 1px);
		margin: 0 0 0px 0;
		padding: 0 0 0 0;
	}

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

	.bioList > div > div,
	.bioList > div > div:nth-child(3n+1)
	{
		width: calc(50% - 15px);
		margin: 0 0 30px 30px;
	}

	.bioList > div > div:nth-child(2n+1)
	{
		width: calc(50% - 15px);
		margin: 0 0 30px 0px;
	}

}

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

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

	.bioList > div > div,
	.bioList > div > div:nth-child(3n+1),
	.bioList > div > div:nth-child(2n+1)
	{
		width: 100%;
		margin: 0 0 20px 0;
	}

	.bioList > div > div .photo
	{
		max-width: none;
	}
}

.bioMediaList > div > div .photo img
{
	width: 100%;
}

.bioMediaList > div > div .photo,
.bioMediaList > div > div .nametitle
{
	float: left;
}

.bioMediaList > div > div .photo
{
	max-width: 419px;
	padding-right: 18px;
}


/* Bio Profile */

body.team-item #bannerContent
{
	display: flex;
}

#bioPhoto
{
	display: block;
	float: left;
	width: auto;
	height: 550px;
	max-height: 550px;
}

#bioInfo
{
	width: 100%;
	height: 550px;
	padding: 80px 10px 10px 90px;
	background: rgba(35,31,32,0.85);
	box-sizing: border-box;
}

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

#bioInfo h1#bioPageTitle
{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	font-size: 5.5rem;
	font-weight: 400;
	line-height: 1;
}

#bioTitle
{
	padding: 5px 0 0px 0;
	font-family: 'Optima', 'Times New Roman', 'Times', serif;
	font-size: 2.4rem;
	font-weight: 400;
	text-transform: uppercase;
}

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

#bioPronouns
{
	font-size: 2.0rem;
}

ul#bioContact,
ul#bioContact li,
ul#bioAccessories,
ul#bioAccessories li,
ul#yearsAtFirm,
ul#yearsAtFirm li
{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 2.0rem;
}

ul#bioContact,
ul#bioAccessories,
ul#yearsAtFirm
{
	width: 50%;
	max-width: 345px;
	margin: 30px 0 0 0;
}

ul#yearsAtFirm
{
	width: 100%;
	max-width: none;
}

ul#bioContact li.bioOfficeLink a
{
	color: #d31145;
}

ul#bioContact li.bioOfficeLink a:hover,
ul#bioContact li.bioOfficeLink a:focus
{
	color: #ffffff;
}

li#bioEmail span#bioDisplayShortEmail
{
	display: none;
}

li#bioEmail a:hover,
li#bioEmail a:focus
{
	color: #d31145;
}

ul#bioAccessories
{
	display: flex;
	justify-content: flex-end;
}

ul#bioAccessories li
{
	margin-left: 15px;
}

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

ul#bioAccessories li a
{
	display: block;
	width: 50px;
	height: 50px;
    border: 2px solid #d31145;
    border-radius: 50%;
    color: #d31145;
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
    line-height: 3.6;
    vertical-align: middle;
}

#bioAccessories li:not(#bioPDF) a
{
	font-size: 0;
	color: transparent;
}

ul#bioAccessories li a:hover,
ul#bioAccessories li a:focus
{
	border-color: #9b012a;
	text-decoration: none;
}

ul#bioAccessories li#bioVcard a
{
	background: url('../i/bio-vcard.png') center center no-repeat; /* data-uri */
	background-size: 40%;
}

ul#bioAccessories li#bioLinkedin a
{
	background: url('../i/footer-linkedin.svgz') center center no-repeat; /* data-uri */
	background-size: 40%;
}

ul#bioAccessories li#bioTwitter a
{
	background: url('../i/footer-twitter.svgz') center center no-repeat; /* data-uri */
	background-size: 40%;
}

ul#bioAccessories li#bioShare a
{
	background: url('../i/footer-share.svgz') center center no-repeat; /* data-uri */
	background-size: 40%;
}

.badgeList img
{
	max-width: 100px;
}

.badgeList ul,
.badgeList ul li
{
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

.badgeList ul li
{
	display: inline-block;
	margin-right: 20px;
}

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

.splitColumns ul.results_list li
{
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 1em 0;
}

#tabHolder
{
	position: absolute;
	z-index: 20;
}

#splitColumnsArea,
#splitColumnsBioContact,
#splitColumnsMap
{
	align-items: inherit;
}

#splitColumnsArea .splitColumnsLeft > div,
#splitColumnsBioContact .splitColumnsLeft > div,
#splitColumnsMap .splitColumnsLeft > div
{
	display: flex;
	align-items: center;
	height: 14vw;
	padding-top: 80px;
}

#splitColumnsMap .splitColumnsLeft > div
{
	height: 100%;
	padding-top: 0px;
}

#bio_area ul.results_list,
#bio_area ul.results_list > li,
#area_bio_contact ul.results_list,
#area_bio_contact ul.results_list > li
{
	list-style: none;
	position: relative;
	margin: 0;
	padding: 0;
}

#bio_area ul.results_list,
#area_bio_contact ul.results_list
{
	display: flex;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
}

#bio_area ul.results_list > li,
#area_bio_contact ul.results_list > li
{
	/*width: calc(33.33% - 36px);*/
	width: auto;
	min-height: 14vw;
	max-width: calc(33.33% - 36px);
	overflow: hidden;
	margin: 0 0 50px 50px;
	/*cursor: pointer;*/
}

#bio_area ul.results_list > li:nth-child(3n+1),
#area_bio_contact ul.results_list > li:nth-child(3n+1)
{
	margin: 0 0 50px 0px;
}

#bio_area ul.results_list > li .image,
#area_bio_contact ul.results_list > li .image
{
	display: block;
	position: relative;
	z-index: 5;
	width: 100%;
	height: auto;
	/*max-height: 14vw;*/
	overflow: hidden;
	/*background: #cccccc;*/
}

#bio_area ul.results_list > li a:not(.sp_pencil) img,
#area_bio_contact ul.results_list > li a:not(.sp_pencil) img
{
	display: block;
	width: 100%;
	height: auto;
	transition: all 0.6s ease-out;
}

#bio_area ul.results_list > li a:not(.sp_pencil):hover img,
#bio_area ul.results_list > li a:not(.sp_pencil):focus img,
#area_bio_contact ul.results_list > li a:not(.sp_pencil):hover img,
#area_bio_contact ul.results_list > li a:not(.sp_pencil):focus img
{
	transform: scale(1.04);
	opacity: 0.88;
}

#bio_area ul.results_list > li .title
{
	position: absolute;
	z-index: 10;
	bottom: 20px;
	left: 20px;
	max-width: 330px;
	padding-right: 10px;
	color: #ffffff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

#area_bio_contact ul.results_list > li .name
{
	max-width: 330px;
	margin: 8px 0 0 0;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

#area_bio_contact ul.results_list > li .biopositiontitle,
#area_bio_contact ul.results_list > li .startInline
{
	margin: 4px 0 0 0;
	font-size: 1.8rem;
	line-height: 1.2;
}

#area_bio_contact ul.results_list > li .startInline
{
	color: #949494;
}

#area_bio_contact ul.results_list > li .startInline > span,
#area_bio_contact ul.results_list > li .startInline > span a
{
	color: #333333;
}

#bio_area ul.results_list a .title
{
	color: #ffffff;
	opacity: 1;
}

#bio_area ul.results_list a .title,
#bio_area ul.results_list a:hover .title
{
	color: #efefef;
}

#bio_area ul.results_list ul
{
	display: none; /* probably temp */
}

#splitColumnsArea .splitColumnsLeft > h2,
#splitColumnsBioContact .splitColumnsLeft > h2,
#splitColumnsMap .splitColumnsLeft > h2
{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

#splitColumnsTrending,
#splitColumnsNoContact,
#splitColumnsRelatedPractices
{
	align-items: inherit;
}

#splitColumnsTrending .splitColumnsLeft > div,
#splitColumnsNoContact .splitColumnsLeft > div,
#splitColumnsRelatedPractices .splitColumnsLeft > div
{
	display: flex;
	align-items: center;
	height: 14vw;
	padding-top: 80px;
}

#splitColumnsTrending .splitColumnsRight,
#splitColumnsNoContact .splitColumnsRight,
#splitColumnsRelatedPractices .splitColumnsRight
{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	width: 100%;
}

#splitColumnsTrending .splitColumnsRight #trendingImage,
#splitColumnsNoContact .splitColumnsRight #noContactImage,
#splitColumnsRelatedPractices .splitColumnsRight #relatedPracticesImage
{
	display: block;
	/*height: 14vw;*/
	width: 100%;
	height: auto;
	max-width: calc(33% - 36px);
	overflow: hidden;
}

#splitColumnsTrending .splitColumnsRight #trendingImage img,
#splitColumnsNoContact .splitColumnsRight #noContactImage img,
#splitColumnsRelatedPractices .splitColumnsRight #relatedPracticesImage img
{
	display: block;
	width: 100%;
	height: auto;
}

#splitColumnsTrending .splitColumnsRight div.results,
#splitColumnsNoContact .splitColumnsRight div.results,
#splitColumnsRelatedPractices .splitColumnsRight div.results
{
	margin: 0 0 50px 50px;
	padding-right: 25%;
	width: calc(58% - 0px);
	width: calc(60% - 60px);
	box-sizing: border-box;
}

#splitColumnsRelatedPractices .splitColumnsRight div.results
{
	margin: 0 0 0px 50px;
}

#splitColumnsTrending .splitColumnsRight div.results .title,
#splitColumnsTrending .splitColumnsRight div.results .title a,
#splitColumnsNoContact .splitColumnsRight div.results .title,
#splitColumnsNoContact .splitColumnsRight div.results .title a,
#splitColumnsRelatedPractices .splitColumnsRight div.results .title,
#splitColumnsRelatedPractices .splitColumnsRight div.results .title a
{
	color: #231f20;
}

#splitColumnsTrending .splitColumnsRight div.results .title a:hover,
#splitColumnsNoContact .splitColumnsRight div.results .title a:hover,
#splitColumnsRelatedPractices .splitColumnsRight div.results .title a:hover
{
	color: #d31145;
}

#splitColumnsTrending .splitColumnsRight div.results .section,
#splitColumnsNoContact .splitColumnsRight div.results .section,
#splitColumnsRelatedPractices .splitColumnsRight div.results .section
{
	color: #d31145;
	font-size: 1.6rem;
	font-weight: 400;
	text-transform: uppercase;
}

#splitColumnsTrending .splitColumnsRight .view_more,
#splitColumnsNoContact .splitColumnsRight .view_more,
#splitColumnsRelatedPractices .splitColumnsRight .view_more
{
	 flex: 0 0 100%;
	 margin: 40px 0 0 0;
}

#splitColumnsRelatedPractices .splitColumnsRight ul.results_list li
{
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 0.5em 0;
	line-height: 1.2;
}

@media (max-width: 1500px)
{
	#bioInfo
	{
		/*padding: 40px 10px 10px 40px;*/
	}

	#bioInfo h1#bioPageTitle
	{
		font-size: 4.8rem;
	}

	ul#bioAccessories li a
	{
		width: 30px;
		height: 30px;
		font-size: 1.1rem;
		line-height: 3.0;
	}

	li#bioEmail span#bioDisplayShortEmail
	{
		display: block;
	}

	li#bioEmail span#bioDisplayFullEmail
	{
		display: none;
	}
}

@media (max-width: 1400px)
{
	#splitColumnsTrending .splitColumnsRight div.results,
	#splitColumnsNoContact .splitColumnsRight div.results,
	#splitColumnsRelatedPractices .splitColumnsRight div.results
	{
		padding-right: 15%;
	}
}

@media (max-width: 1300px)
{
	#bioInfo
	{
		padding: 40px 10px 10px 40px;
	}

	#bioAccessoriesWrapper
	{
		flex-direction: column;
	}

	ul#bioContact,
	ul#bioAccessories,
	ul#yearsAtFirm
	{
		width: 100%;
		max-width: none;
		margin: 20px 0 0 0;
	}

	ul#bioContact
	{
		order: 1;
	}

	ul#bioAccessories
	{
		order: 3;
		justify-content: flex-start;
	}

	ul#bioAccessories li
	{
		margin: 0 15px 0 0;
	}

	ul#yearsAtFirm
	{
		order: 2;
	}
}

@media (max-width: 1200px)
{

	body.team-item #banner
	{
		height: auto;
	}

	#bioPhoto
	{
		width: auto;
		height: 320px;
		max-height: 320px;
	}

	ul#bioContact,
	ul#bioAccessories,
	ul#yearsAtFirm
	{
		width: 50%;
	}

	ul#bioAccessories
	{
		position: absolute;
		bottom: 5px;
		right: 10px;
		width: auto;
	}

	ul#bioAccessories li
	{
		margin: 0 0px 0 15px;
	}

	#bioInfo
	{
		height: 320px;
	}

	#bioInfo h1#bioPageTitle
	{
		font-size: 3.8rem;
	}

	#bioTitle
	{
		font-size: 2.0rem;
	}

	#bioPronouns
	{
		font-size: 1.6rem;
	}

	ul#bioContact,
	ul#bioContact li,
	ul#bioAccessories,
	ul#bioAccessories li,
	ul#yearsAtFirm,
	ul#yearsAtFirm li
	{
		font-size: 1.6rem;
	}

	#bioAccessoriesWrapper
	{
		flex-direction: row;
	}

	#bio_area ul.results_list > li,
	#area_bio_contact ul.results_list > li
	{
		/*width: calc(33.33% - 15px);*/
		max-width: calc(33.33% - 15px);
		margin: 0 0 20px 20px;
	}

	#bio_area ul.results_list > li:nth-child(3n+1),
	#area_bio_contact ul.results_list > li:nth-child(3n+1)
	{
		margin: 0 0 20px 0px;
	}

	#splitColumnsTrending .splitColumnsRight div.results,
	#splitColumnsNoContact .splitColumnsRight div.results,
	#splitColumnsRelatedPractices .splitColumnsRight div.results
	{
		padding-right: 0;
	}

	#splitColumnsTrending .splitColumnsRight #trendingImage,
	#splitColumnsNoContact .splitColumnsRight #noContactImage,
	#splitColumnsRelatedPractices .splitColumnsRight #relatedPracticesImage
	{
		max-width: calc(33% - 15px);
	}
}

@media (max-width: 919px)
{
	#bioPhoto
	{
		height: 280px;
		max-height: 280px;
	}

	#bioInfo
	{
		height: 280px;
		padding: 28px 10px 20px 18px;
	}

	#bioInfo h1#bioPageTitle
	{
		font-size: 2.5rem;
	}

	#bioTitle
	{
		font-size: 1.6rem;
	}

	ul#bioContact,
	ul#bioAccessories,
	ul#yearsAtFirm
	{
		font-size: 1.1rem;
	}

	#bio_area ul.results_list > li .title
	{
		bottom: 10px;
		left: 10px;
		font-size: 1.3rem;
	}

	#splitColumnsArea .splitColumnsLeft > div,
	#splitColumnsBioContact .splitColumnsLeft > div,
	#splitColumnsMap .splitColumnsLeft > div
	{
		display: block;
		height: auto;
		padding-top: 0px;
	}

	#bio_area ul.results_list > li,
	#bio_area ul.results_list > li:nth-child(3n+1),
	#area_bio_contact ul.results_list > li,
	#area_bio_contact ul.results_list > li:nth-child(3n+1)
	{
		width: calc(33.33% - 15px);
		max-width: none;
		height: auto;
	}

	#bio_area ul.results_list > li .image a:not(.sp_pencil),
	#area_bio_contact ul.results_list > li .image a:not(.sp_pencil)
	{
		width: 100%;
		height: auto;
	}

	#bio_area ul.results_list > li .image,
	#area_bio_contact ul.results_list > li .image
	{
		height: auto;
		max-height: none;
		overflow: visible;
	}

	#bio_area ul.results_list > li:hover a:not(.sp_pencil) img,
	#area_bio_contact ul.results_list > li:hover a:not(.sp_pencil) img
	{
		transform: none;
		opacity: 1;
	}

	#bio_area ul.results_list > li a:not(.sp_pencil) img,
	#area_bio_contact ul.results_list > li a:not(.sp_pencil) img
	{
		width: 100%;
		height: auto;
		transition: none;
	}

	#splitColumnsTrending .splitColumnsLeft > div,
	#splitColumnsNoContact .splitColumnsLeft > div,
	#splitColumnsRelatedPractices .splitColumnsLeft > div
	{
		display: block;
		height: auto;
		padding-top: 0px;
	}

	#splitColumnsTrending .splitColumnsRight #trendingImage,
	#splitColumnsNoContact .splitColumnsRight #noContactImage,
	#splitColumnsRelatedPractices .splitColumnsRight #relatedPracticesImage
	{
		max-width: 200px;
	}

	#splitColumnsTrending .splitColumnsRight div.results,
	#splitColumnsNoContact .splitColumnsRight div.results,
	#splitColumnsRelatedPractices .splitColumnsRight div.results
	{
		margin: 0px 0 0px 50px;
	}
}

@media (max-width: 767px)
{
	body.team-item #bannerContent
	{
		display: block;
	}

	#bioPhoto
	{
		float: none;
		width: 100%;
		height: auto;
		max-height: none;
	}

	#bioInfo
	{
		position: relative;
		top: inherit;
		bottom: inherit;
		right: inherit;
		width: 100%;
		height: auto;
		padding: 20px 10px 20px 10px;
	}

	#bioInfo h1#bioPageTitle
	{
		font-size: 3.0rem;
	}

	ul#bioContact,
	ul#bioAccessories,
	ul#yearsAtFirm
	{
		float: none;
		width: 100%;
		max-width: none;
		margin: 20px 0 0 0;
	}

	ul#bioAccessories
	{
		position: relative;
		bottom: inherit;
		right: inherit;
	}

	ul#bioAccessories li
	{
		margin: 0 15px 0 0;
	}

	#bio_area ul.results_list > li,
	#bio_area ul.results_list > li:nth-child(3n+1),
	#area_bio_contact ul.results_list > li,
	#area_bio_contact ul.results_list > li:nth-child(3n+1),
	#bio_area ul.results_list > li:nth-child(2n+1),
	#area_bio_contact ul.results_list > li:nth-child(2n+1)
	{
		width: calc(100% - 0px);
		margin: 0 0 20px 0px;
	}

	#splitColumnsTrending .splitColumnsRight,
	#splitColumnsNoContact .splitColumnsRight,
	#splitColumnsRelatedPractices .splitColumnsRight
	{
		display: block;
	}

	#splitColumnsTrending .splitColumnsRight #trendingImage,
	#splitColumnsNoContact .splitColumnsRight #noContactImage,
	#splitColumnsRelatedPractices .splitColumnsRight #relatedPracticesImage
	{
		max-width: 100%;
		width: 100%;
		height: auto;
	}

	#splitColumnsTrending .splitColumnsRight #trendingImage img,
	#splitColumnsNoContact .splitColumnsRight #noContactImage img,
	#splitColumnsRelatedPractices .splitColumnsRight #relatedPracticesImage img
	{
		max-width: 100%;
		width: 100%;
		height: auto;
	}

	#splitColumnsTrending .splitColumnsRight div.results,
	#splitColumnsNoContact .splitColumnsRight div.results,
	#splitColumnsRelatedPractices .splitColumnsRight div.results
	{
		width: 100%;
		margin: 20px 0 0px 0;
	}

	#splitColumnsTrending .splitColumnsRight .view_more,
	#splitColumnsNoContact .splitColumnsRight .view_more,
	#splitColumnsRelatedPractices .splitColumnsRight .view_more
	{
		margin: 0px 0 0 0;
	}

	#splitColumnsNoContact .splitColumnsRight .view_more
	{
		margin: 20px 0 0 0;
	}

	#bio_mediacontent iframe
	{
		width: 100%;
	}
}


/* Practice List */

#areaWrapper
{
	display: flex;
	justify-content: space-between;
	position: relative;
	width: 100%;
}

#areaWrapper .areaColumn,
#areaWrapper > .listColumn
{
	position: relative;
	width: calc(33.33% - 50px);
	margin: 0 0 40px 50px;
}

#areaWrapper .areaColumn:first-child,
#areaWrapper > .listColumn:first-child
{
	margin: 0 0 40px 0px;
}

#areaWrapper .listColumn
{
	border-top: 1px solid #cccccc;
}

h2.areaListHeader
{
	margin: 0 0 0 0;
	padding: 8px 0 18px 0;
	color: #d31145;
	font-size: 2.6rem;
	font-weight: 400;
}

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

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

	padding: 18px 30px 18px 0;
	border-bottom: 1px solid #cccccc;
	font-size: 2.2rem;
	font-weight: 300;
	line-height: 1.2;
}

div.listColumn > ul > li > a
{
    color: #333333;
}

div.listColumn > ul > li > a:hover
{
    color: #d31145;
}

.listColumn ul.results_list > li .expander
{
	/* <button> reset */
	border: none;
    margin: 0;
    padding: 0;
    width: auto;
    overflow: visible;
	display: block;
	position: absolute;
	z-index: 8;
	right: 2px;
	top: 24px;
	width: 24px;
	height: 13px;
	color: #ffffff;
	background: url('../i/areas-down.png') 0px 0px no-repeat; /* data-uri */
	text-align: center;
	cursor: pointer;
}

.listColumn ul.results_list > li .expander span
{
	font-size: 0;
	color: transparent;
}

.listColumn ul.results_list > li.isOpen .expander
{
	background: url('../i/areas-up.png') 0px 0px no-repeat; /* data-uri */
}

.listColumn ul.results_list ul.hierList,
.listColumn ul.results_list ul.hierList li
{
	list-style: none;
	position: relative;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

.listColumn ul.results_list ul.hierList
{
	display: none;
}

.listColumn ul.results_list ul.hierList li
{
	padding: 8px 0 2px 18px;
	font-size: 1.8rem;
}

.listColumn ul.results_list ul.hierList li a
{
	color: #333333;
}

.listColumn ul.results_list ul.hierList li a:hover
{
	color: #d31145;
}

#expandAllPractices
{
	display: none;
}

#expandAllPractices button
{
	/* <button> reset */
	border: none;
    margin: 0;
    padding: 0;
    width: auto;
    overflow: visible;
	display: block;
	background: none;

	cursor: pointer;
	color: #5c7f9f;
	font: inherit;
}

#expandAllPractices button:hover,
#expandAllPractices button:focus
{
	color: #000000;
}

#expandAllPractices.expanderClosed button:first-child,
#expandAllPractices:not(.expanderClosed) button:last-child
{
	display: block;
}

#expandAllPractices:not(.expanderClosed) button:first-child,
#expandAllPractices.expanderClosed button:last-child
{
	display: none;
}

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

	#areaWrapper .areaColumn,
	#areaWrapper .areaColumn:first-child,
	#areaWrapper > .listColumn,
	#areaWrapper > .listColumn:first-child
	{
		width: 100%;
		margin: 0 0 20px 0px;
	}
}


/* Practice Profile */

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


/* News/Pub/Event type Listing */

.listThree
{
	position: relative;
}

.listThree h2
{
	font-size: 3.5rem;
	font-weight: 400;
}

.listThree ul.results_list,
.listThree ul.results_list > li
{
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.listThree ul.results_list
{
	display: flex;
	flex-wrap: wrap;
}

.listThree ul.results_list > li
{
	width: calc(33.33% - 40px);
	margin: 0 0 60px 60px;
	padding: 12px 0 0 0;
	border-top: 2px solid #c2d2df;
}

.listThree ul.results_list > li:nth-child(3n+1)
{
	margin: 0 0 60px 0px;
}

.listThree ul.results_list > li .title
{
	color: #231f20;
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.2;
}

.listThree ul.results_list > li .title a
{
	color: #231f20;
}

.listThree ul.results_list > li .title a:hover
{
	color: #d31145;
}

.listThree ul.results_list > li .subtitle
{
	margin: 6px 0 4px 0;
	color: #666666;
	font-size: 1.8rem;
	line-height: 1.3;
}

.listThree ul.results_list > li .publication
{
	color: #666666;
	font-size: 1.5rem;
	font-style: italic;

}

.listThree ul.results_list > li .blogpostInfo,
.listThree ul.results_list > li .info
{
	margin: 16px 0 2px 0;
	color: #d31145;
	font-size: 1.5rem;
	font-weight: 400;
	text-transform: uppercase;
}

.listThree ul.results_list > li .blogpostInfo
{
	margin: 8px 0 8px 0;
}

.listThree ul.results_list > li .blogpostInfo .title
{
	color: #666666;
	font-size: 1.9rem;
	text-transform: none;
	margin: 8px 0 8px 0;
}

.listThree ul.results_list > li .blogpostInfo .title a
{
	color: #d31145;
}

.listThree ul.results_list > li .blogpostInfo .title a:hover
{
	color: #d31145;
}

.splitColumns .view_more
{
	text-align: center;
}

.view_more a
{
	display: inline-block;
	width: auto;
	margin: 0 0 28px 0;
	padding: 4px 30px 4px 30px;
	background: #ededed;
	color: #D31245;
	font-size: 2.0rem;
	vertical-align: middle;
}

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

#splitColumnsTabs.splitColumns .view_more
{
	text-align: left;
}

#splitColumnsTabs.splitColumns .view_more a
{
	padding: 0 0 0 0;
	background: none;
	color: #5c7f9f;
	font-size: 2.0rem;
}

#splitColumnsTabs.splitColumns .view_more a:hover
{
	color: inherit;
}

.listThree .view_more
{
	position: absolute;
	top: 4px;
	right: 0px;
}

.listThree .view_more a
{
	margin: 0;
	padding: 0;
	background: none;
	font-weight: 500;
}

.listThree .view_more a:hover
{
	color: inherit;
}

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

.publicationSectionWrapper
{
	position: relative;
}

@media (max-width: 1200px)
{
	.listThree ul.results_list > li,
	.listThree ul.results_list > li:nth-child(3n+1)
	{
		width: calc(50% - 30px);
		margin: 0 0 60px 60px;
	}

	.listThree ul.results_list > li:nth-child(odd)
	{
		margin: 0 0 60px 0px;
	}
}


@media (max-width: 767px)
{
	.listThree ul.results_list > li,
	.listThree ul.results_list > li:nth-child(3n+1),
	.listThree ul.results_list > li:nth-child(odd)
	{
		width: calc(100% - 0px);
		margin: 0 0 60px 0px;
	}

	.listThree h2
	{
		margin-right: 70px;
	}
}


/* News/Pub/Event type Profile */

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

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

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

h1#itemPageTitle
{
	font-weight: 400;
}

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

#itemSubtitle
{

}

#itemSubtitle
{
	display: block;
	padding: 8px 0 12px 0;
	color: #00446a;
	font-size: 2.6rem;
	line-height: 1.3;
}

#itemLocation
{
	padding: 4px 0 0px 0;
}

.itemBreaker
{
	margin: 6px 0 0 0;
	padding: 0px 0 6px 0;
	border-top: 1px solid #cccccc;
}


/* Contact Main Listing */

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

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

#officeList ul li
{
	width: calc(33.33% - 34px);
	margin: 0 0 50px 50px;

	background: #322e2f;
}

#officeList ul li:nth-child(3n+1)
{
	margin: 0 0 50px 0px;
}

#officeList ul li .photo
{
	position: relative;
	width: 100%;
	/*max-width: 419px;*/
	background: #322e2f;
	/*aspect-ratio: 500/354;*/
	aspect-ratio: 550/354;
}

#officeList ul li .photo a:not(.sp_pencil),
#officeList ul li .photo a:not(.sp_pencil) img
{
	display: block;
	position: relative;
	width: 100%;
}

#officeList ul li .photo a:not(.sp_pencil) img
{
	opacity: 0.8;
}

/*
#officeList ul li:hover .photo a:not(.sp_pencil) img
{
	opacity: 1;
}
*/

#officeList ul li .nametitle
{
	position: absolute;
	bottom: 5%;
	left: 6%;
	padding: 0 10px 0 0;
	box-sizing: border-box;
}

#officeList ul li .nametitle > div,
#officeList ul li .nametitle > div a,
#officeList ul li .nametitle > div a[href^=tel]
{
	color: #ffffff !important; /* to override tel stuff above */
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.1;
}

#officeList ul li .title
{
	display: block;
	margin: 0 0 5px 0;
}

#officeList ul li .nametitle .title a
{
	color: #ffffff !important;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

#officeList ul li .nametitle .title a:hover
{
	color: #98bcdd !important;
}

#officeList ul li .nametitle > div.phone
{
	float: left;
}

#officeList ul li .nametitle > div.officelink
{
	float: left;
	padding: 0 0 0 6px;
}

#officeList ul li .nametitle > div.officelink:before
{
	display: inline-block;
	content: '|';
	padding: 0 6px 0 0;
}

#officeList ul li .nametitle > div.phone a,
#officeList ul li .nametitle > div.officelink a
{

	margin: -10px 0 0 0;
}

#officeList ul li .nametitle > div.officelink a
{
	padding: 0 18px 0 0;
	background: url('../i/map-pin.png') center right no-repeat; /* data-uri */
}

@media (max-width: 1600px)
{
	#officeList ul li .nametitle > div.officelink
	{
		clear: left;
		padding: 0 0 0 0px;
	}

	#officeList ul li .nametitle > div.officelink:before
	{
		display: none;
	}
}

@media (max-width: 1200px)
{
	#officeList ul li,
	#officeList ul li:nth-child(3n+1)
	{
		width: calc(50% - 25px);
		margin: 0 0 50px 50px;
	}

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

}

@media (max-width: 767px)
{
	#officeList ul li,
	#officeList ul li:nth-child(3n+1),
	#officeList ul li:nth-child(odd)
	{
		width: 100%;
		margin: 0 0 30px 0px;
	}
}

.caldate
{
	font-size: 2.8rem;
	font-weight: 500;
}


/* Office Profile Pages */

#officeDetailsWrapper
{
	display: flex;
}

#officeDetailsWrapper > div
{
	position: relative;
	width: 50%;
}

#officeDetailsWrapper > div > img#officeItemPhoto
{
	display: block;
	position: relative;
	width: 100%;
}

#officeDetailsWrapper > div#officeAddress
{
	margin: 0 0 0 50px;
}

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

@media (max-width: 1280px)
{
	#officeDetailsWrapper
	{
		display: block;
	}

	#officeDetailsWrapper > div
	{
		width: 100%;
	}

	#officeDetailsWrapper > div#officeAddress
	{
		margin: 20px 0 0 0px;
	}
}


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

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

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

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

#subContent form > div
{
	display: block;
}

form > div > div
{
	position: relative;
	flex-basis: calc(50% - 2%);
	margin: 0 0 3% 0;
}

#subContent form > div
{
	display: block;
}

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

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

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

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

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

form > div > div.checkbox_wrapper > div
{
	font-size: 2.0rem;
	line-height: 1.2;
}

form > div > div.checkbox_wrapper > div > div > input
{
	margin: 4px 6px 0 0;
	padding: 0;
	align-self: flex-start;
	border-radius: 0px;
	min-width: 16px;
	min-height: 16px;
}

form > div > div.checkbox_wrapper > div > div > label
{
	margin-top: -2px;
}

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

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

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

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

form > div > div.checkbox_wrapper > div > div > label > p
{
	display: inline;
	margin: 0;
	padding: 0
}

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

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

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

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

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

input:not([type]),
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select,
.customSelect
{
	width: 100%;
	min-height: 43px; /* appease IE11 */
	margin: 0;
	padding: 6px 7px;
	color: #231f20;
	border: 1px solid #949494;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	box-sizing: border-box;
}

textarea
{
	min-height: 6.5em;
}

.search_form form > div > div > label
{
	position: absolute;
	padding: 8px 7px;
	color: #231f20;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
}

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

.customSelect::after
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 16px;
	width: 24px;
	height: 100%;
	background: url('../i/select-arrow.png') right center no-repeat; /* data-uri */
}

/* 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]
{
	width: auto;
	height: 34px;
	margin: 0 0 10px 0;
	padding: 2px 12px 2px 12px;
	background: #d31145;
	border: 0 solid #d31145;
	color: #fff;
	font: normal 16px/1.8 Helvetica, Arial, sans-serif;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}

a.attyClearAll
{
	float: right;
	color: #D31245;
	font-size: 1.6rem;
}

a.attyViewAll
{
	display: inline-block;
	width: auto;
	margin: 0 0 0 18px;
	color: #D31245;
	font-size: 1.6rem;
	text-transform: uppercase;
}

a.attyClearAll:hover,
a.attyViewAll:hover
{
	color: inherit;
}

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


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

#emailField
{
	display: none;
}

form > div > div.submit_wrapper
{
	flex-basis: 100%;
	margin: 0;
}

body#perspectives-blogs form > div
{
	max-width: 900px;
}

body:not(.blog) #subContent form
{
	margin-bottom: 40px;
	margin-right: 20px;
}

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


/* auto complete js */

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

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

.autocomplete .selected
{
	background: #f0f0f0;
}

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

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

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

.autocomplete strong
{
	font-weight: bolder;
	color: #5c7f9f;
}


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

#footer
{
	position: relative;
	width: 100%;
	height: 202px;
	margin: 20px 0 0 0;
	padding: 0 0 0 0;
	background: #231f20;
	color: #999999;
	font-size: 1.4rem;
	font-weight: 400;
	text-transform: uppercase;
}

#footerInner
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 100%;
	height: 202px;
}

#footer a
{
	color: #999999;
}

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

#footer ul li
{
	float: left;
	margin: 0 1em 0.5em 0;
	line-height: normal;
}

#footer ul#footerLinks li:nth-last-child(2)
{
	clear: left;
	margin: 0 0 0 0;
}

#footer ul#footerLinks li:last-child:before
{
	content: '|';
	margin: 0 5px 0 5px;
}

#footer ul#footerLinks li a:hover
{
	color: #ffffff;
}

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

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

#footer #footerSocial ul li > a,
#footer #footerSocial ul li > a > img,
#footer #footerSocial ul li > div > a,
#footer #footerSocial ul li > div > a > img
{
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: 0;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
}

#footer #footerSocial ul li > a,
#footer #footerSocial ul li > div > a
{
	width: 44px;
	height: 44px;
}

#footer #footerSocial ul li > a > img,
#footer #footerSocial ul li > div > a > img
{
	padding-top: 10px;
}

#footer #footerSocial ul li > a:hover,
#footer #footerSocial ul li > div > a:hover
{
	background: rgba(255,255,255,0.15);
	border-radius: 50%;
}

#footer a#ALFA-Logo,
#footer a#ALFA-Logo img
{
	display: block;
	max-width: 195px;
	max-width: 225px; /* for new wider logo */
	max-width: 275px; /* even wider */
}

@media (max-width: 1150px)
{
	#footer a#ALFA-Logo,
	#footer a#ALFA-Logo img
	{
		max-width: 195px;
	}
}

@media (max-width: 992px)
{
	#footer
	{
		height: auto;
		padding: 20px 0 20px 0;
	}

	#footerInner
	{
		flex-direction: column;
		height: auto;
	}

	#footerInner > ul,
	#footerInner > div,
	#footerInner > a
	{
		order: 2;
		margin: 0 0 30px 0;
	}

	#footerInner > div
	{
		order: 1;
	}

	#footerInner > ul li,
	#footerInner ul#footerLinks li:nth-last-child(2)
	{
		float: none;
		margin: 0 0 0.5em 0;
		text-align: center;
	}

	#footerInner ul#footerLinks li:last-child:before
	{
		display: none;
	}

	#footer a#ALFA-Logo,
	#footer a#ALFA-Logo img
	{
		max-width: 275px;
	}
}


/* 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;
	color: #fff;
	font-size: 1.3rem;
}

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

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

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

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

span.popupPlayerClose
{
	display: block;
	position: absolute;
	z-index: 25;
	top: -15px;
	right: -15px;
	padding-left: 1px;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	background: #333;
	color: #f1f1f1;
	font-size: 1.4rem;
	line-height: 15px;
	text-align: center;
	cursor: pointer;
}

span.popupPlayerClose:hover,
span.popupPlayerClose:focus
{
	background: #000;
	color: #fff;
}

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

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

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

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

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

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

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

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

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

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

.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: 0;
	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: 4.0rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

#content a[href*="youtube.com/watch?"],
#content a[href*="youtu.be/"]
{
	display: inline-block;
	position: relative;
	z-index: 5;
}

/* Requested 6/7/2019 - bug 38735.  Only do this on events pages*/
body.perspectives-events-item #content a.youtubeLinkChildImage[href*="youtube.com/watch?"],
body.perspectives-events-item #content a.youtubeLinkChildImage[href*="youtu.be/"]
{
    text-align: center;
    width: 100%;
}

#content a.youtubeLinkChildImage[href*="youtube.com/watch?"]:after,
#content a.youtubeLinkChildImage[href*="youtu.be/"]:after
{
	content: ' ';
	position: absolute;
	z-index: 10;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.30) url('../i/play-button.svgz') center center no-repeat; /* data-uri */
	background-size: 40% 40%;
	/*border: 3px solid rgba(0,0,0,0.10);*/
	/*border-radius: 3px;*/
	opacity: 0.4;
}


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

#cookiePopup
{
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	overflow: hidden;
	z-index: 9999;
	background: #404143;
	color: white;
	padding: 1.5em 10vw;
	text-align: center;
}

#cookiePopup p
{
	padding: 0;
	margin: 0 auto;
	max-width: 880px;
	text-align: left;
}

#cookiePopup p a
{
	color: #f99f46;
}

#cookieClose
{
	display: inline-block;
	margin: 1em 0 0;
	padding: 4px 16px;
	background: #A75402;
	border: 0;
	color: #ffffff;
	cursor: pointer;
}

@media (max-width: 767px)
{
	#cookiePopup
	{
		padding: 10px;
		line-height: 18px;
		font-size: 14px;
	}
}


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

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

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

#emailDisclaimerContentWrapper
{
	padding: 20px 20px 0 20px;
}

#emailDisclaimerButtons
{
	text-align: center;
}

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

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

span#emailPopupClose:hover,
span#emailPopupClose:focus
{
	background: #000;
	color: #fff;
}

@media all and (orientation: portrait)
{
	#emailPopup
	{
		left: 5%;
		width: 90%;
		box-sizing: border-box;
	}

	#emailPopupContent
	{
		height: 100%;
		overflow: scroll;
	}
}

@media (max-width: 767px)
{
	#emailPopup
	{
		top: calc(50% - 40vh);
		height: 80vh;
	}
}


/*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;
	color: #666;
	font-size: 0.8rem;
}

table.SITE_MAP a:not(.sp_pencil) img
{
	max-width: 22px;
}

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

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

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

#intranet-search .search_text,
#search .search_text
{
	display: block;
	margin: 1em 0 1em 0;
}

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

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

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

#intranet-search .search_form br,
#search .search_form br
{
	display: none;
}

#intranet-search .search_form label,
#search .search_form label
{
	display: block;
	position: relative;
	top: 0;
	left: 0;
	margin: -24px 0 0 0;
	padding: 0 0 0 20px;
	vertical-align: middle;
	font: normal 16px/1.4 Helvetica, Arial, sans-serif;
}

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

#intranet-search .search_form input#searchtext,
#search .search_form input#searchtext
{
	width: 60%;
	max-width: 100%;
	margin-right: 4px;
	box-sizing: border-box;
}

#intranet-search div.search_section_wrapper,
#search div.search_section_wrapper
{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

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

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

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

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

#intranet-search #subContent form > div > div,
#search #subContent form > div > div
{
	flex-basis: auto;
}

#intranet-search .search_result_date,
#search .search_result_date
{
	color: #888;
}


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

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

	.searchBioWrapper
	{
		flex-direction: column;
	}
}

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

#intranet-search a.more,
#search a.more
{
	font-weight: bolder;
}

.searchfoundtext
{
	font-weight: bolder;
}

#intranet-search p,
#search p
{
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 2px;
	margin-bottom: 18px;
}

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

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

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

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

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


/* Map Object Support */

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

.printMap
{
	display: inline-block;
	padding: 4px 8px;
	background: #5c7f9f;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
}

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

/* buttons to look like links */
button.toggleExpand
{
	margin: 0 0 1.5em 0;
	padding: 4px 30px 4px 30px !important;
	background: #ededed !important;
	border: none;
	/*color: #5c7f9f !important;*/
	color: #d31145 !important;
	font: inherit;
	font-size: 2.0rem;
	white-space: nowrap;
	cursor: pointer;
}

#bio_area_child button.toggleExpand,
#bio_area button.toggleExpand
{
	display: block;
	margin: 0px auto 1.5em auto;
}

button.toggleExpand:hover
{
	background: #cccccc !important;
	color: #ffffff !important;
}

#bio_contentmore button.toggleExpand,
#area_contentmore button.toggleExpand
{
	background: none !important;
	padding: 0px !important;
}

#bio_contentmore button.toggleExpand:hover,
#area_contentmore button.toggleExpand:hover
{
	background: none !important;
	color: #000000 !important;
	cursor: pointer;
}


/* Newsletter Object Support */

.newsletter-unsubscribe-form blockquote
{
	margin-left: 0;
	margin-right: 0;
}


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

.blog #subContent
{
	font-size: 1.8rem;
}

.blog #blogSearchBox
{
	margin: 0 0 28px 0;
	padding: 18px 20px 16px 20px;
	background: #f2f2f2;
}

.blog .search_form div
{
	float: none;
}

.blog a#blogSideTwitter
{
	display: block;
	margin: 12px 0 8px 0;
	padding: 0 0 0 28px;
	background: url('../i/footer-twitter.svgz') 0px center / 20px 20px no-repeat; /* data-uri */
	color: #231f20;
	font-size: 1.8rem;
	font-weight: 300;
}

.blog a#blogSideLinkedIn
{
	display: block;
	margin: 12px 0 8px 0;
	padding: 0 0 0 28px;
	background: url('../i/footer-linkedin.svgz') 0px center / 20px 20px no-repeat; /* data-uri */
	color: #231f20;
	font-size: 1.8rem;
	font-weight: 300;
}

.blog a#blogSideFacebook
{
	display: block;
	margin: 12px 0 8px 0;
	padding: 0 0 0 28px;
	background: url('../i/footer-facebook.svgz') 0px center / 20px 20px no-repeat; /* data-uri */
	color: #231f20;
	font-size: 1.8rem;
	font-weight: 300;
}

.blog a#blogSideTwitter:hover,
.blog a#blogSideLinkedIn:hover,
.blog a#blogSideFacebook:hover
{
	color: #5c7f9f;
	text-decoration: none;
}

.blog a#blogSideRSS
{
	display: block;
	width: 100%;
	height: 40px;
	margin: 10px 0 6px 0;
	padding: 0 0 0 46px;
	background: url('../i/footer-rss.svgz') 17px center / 20px 20px no-repeat,
				url('../i/right-arrow.png') right center no-repeat; /* data-uri */
	background-color: #ffffff;
	box-sizing: border-box;
	color: #231f20;
	font-size: 1.8rem;
	font-weight: 300;
	line-height: 2.3;
}

.blog a#blogSideRSS:hover
{
	color: #5c7f9f;
	text-decoration: none;
}

.blog #subContent form > div
{
	position: relative;
	width: 100%;
}

.blog #subContent form > div > div
{
	width: 100%;
	flex-basis: 100%;
	background: #ffffff;
}

.blog #subContent form > div > div input[type=text],
.blog #emailSignupForm input:not([type=submit])
{
	width: 100%;
	padding-left: 46px;
	border: 0px;
	color: #231f20;
	font-size: 1.8rem;
	font-weight: 300;
	background: url('../i/email-field.png') 17px center no-repeat; /* data-uri */
}

.blog #emailSignupForm form > div
{
	width: calc(100% - 32px);
	float: left;
}

.blog #emailSignupForm input[type=submit],
.blog #emailSignupForm button
{
	border: 0;
	float: right;

	display: block;
	width: 0;
	height: 44px;
	margin: 0;
	padding: 0 0 0 32px;
	background: white url('../i/right-arrow.png') right center no-repeat; /* data-uri */
	box-sizing: border-box;

	overflow: hidden;
}

.blog #mce-responses
{
	display: none;
}

.blog #emailSignupForm label
{
	padding-left: 46px;
}

.blog #subContent form > div > div input::placeholder
{
	color: #231f20;
	font-size: 1.8rem;
	font-weight: 300;
}

.blog #subContent form > div > div input[type=image]
{
	border: 0px;
}

.blog #subContent h2
{
	font-size: 2.6rem;
	font-weight: 400;
	text-transform: none;
}

.blog button.toggleExpand
{
	display: block;
	margin: -10px 0 20px 0 !important;
	padding: 0 0 0 0 !important;
	background: none !important;
	color: #d31145 !important;
	font-size: 1.8rem !important;
}

.blog button.toggleExpand:hover
{
	text-decoration: underline;
}

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

.blog #searchMessage
{
	padding-bottom: .8rem;
	margin-bottom: 1.3rem;
	border-bottom: 1px solid currentColor;
	background-size: 12px 1px;
}

.blogPosts div.title
{
	margin-bottom: .3em;
	color: #231f20;
	font-family: 'Optima', 'Times New Roman', 'Times', serif;
	font-size: 3.8rem;
	line-height: 1.1;
}

.blogPosts div.title a
{
	color: #231f20;
}

.blogPosts div.title a:hover
{
	color: #d31145;
}

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

.blogPosts .socialshare
{
	margin: 0 0 0 0;
	padding: 1px 10px 3px 10px;
	background: #f2f2f2;
	text-align: right;
}

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

.blogPosts .socialshare > a
{
	display: inline-block;
	padding: 0px 2px 2px 2px;
	vertical-align: middle;
}

.blog .commentJumpLink
{
	display: block;
	margin: 5px 0 0 0;
	float: left;
	font-size: 1.7rem;
	padding: 4px 2px 0px 2px;
	vertical-align: middle;
}

.blog .commentJumpLink > img
{
	display: inline-block !important;
	margin: 0 6px 0 0 !important;
}

.blogPosts .socialshare > a > img
{
	display: block;
	vertical-align: middle;
}

.blog span.sharePrefix
{
	display: inline-block;
	color: #6E6E6E;
	font-size: 1.7rem;
	vertical-align: middle;
}

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

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

.blogPosts > div > div:not(.postDetail) img
{
	display: block;
	width: auto;
	max-height: 9.5em;
}

.blogPosts > div > div:not(.postDetail) .byline img
{
	max-height: 52px;
}

.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
{
	clear: both;
	margin-bottom: 2.5em;
}

/* fields within each blog post */
.blogPosts > div > div > div + div
{
	margin-top: .5em;
}

.blog #bioimgs
{
	float: left;
	margin: 0 8px 0 0;
}

.blog #bioimgs > img
{
	display: block;
	margin: 0 8px 0 0;
}

.blog .byline
{
	margin: 0 0 28px 0;
	color: #666666;
	font-size: 1.4rem;
	text-transform: uppercase;
}

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

.blog .byline .itemdate
{
	display: block;
}

.blog .abstract
{
	/*clear: left;*/
}

.blog .blogcategory
{
	margin: 10px 0 10px 0;
	padding: 10px 0 0 0;
	border-top: 1px solid #cccccc;
	color: #666666;
	font-size: 1.4rem;
	text-transform: uppercase;
}

.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 #wwwHolder > a
{
	display: block;
	margin: 10px 0 10px 0;
	font-weight: 500;
}

.blog #historyLinks a
{
	float: left;
	background: #d31145;
	color: #ffffff;
	padding: 5px 14px 5px 14px;
	font-size: 1.6rem;
	font-weight: 300;
	text-transform: uppercase;
}

.blog #historyLinks a:hover
{
	background: #666666;
}

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

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

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

#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
{
	margin: 0 0 .3em 0;
	font-weight: 700;
}

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

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

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

#searchMessage.blogAuthors li
{
	padding-bottom: 0;
	border-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;
	filter: blur(8px);
}

/**/

/* often copy/pasted from elsewhere */


/* Alignment */

figure
{
	margin: .15em 0;
}

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

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

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

figure.image
{
	display: table !important;
	padding: 0;
	box-sizing: border-box;
	background: transparent;
	text-align: center;
}

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





/* Gallery */

#galleryContainer
{
	clear: both;
}

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

#gallerySelect
{
	width: 100%;
	height: 52px;
	margin: 30px 0 20px;
	background: #ffffff;
	box-sizing: border-box;

}

#gallerySelect button
{

	/* button reset */
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	font: inherit;
	color: inherit !important;
	text-align: left;
	box-sizing: border-box;

	display: block;
	width: 100%;
	position: relative;
	height: 100%;
	padding: 10px 5px 10px 10px;
	border: 1px solid #999999;
	box-sizing: border-box;
	cursor: pointer;
}

#gallerySelect button:after
{
	content: '';
	position: absolute;
	right: 20px;
	top: 18px;
	width: 23px;
	height: 13px;
	background: url('../i/select-arrow.png') no-repeat; /* data-uri */
	background-size: 23px 13px;

}

#gallerySelect > div
{
	display: none;
	position: relative;
	top: -1px;
	z-index: 10;
	background: #ffffff;
	border: 1px solid #999999;
}

#gallerySelect > div.open
{
	display: block;
}

#gallerySelect li
{
	padding: 10px;
	box-sizing: border-box;
	cursor: pointer;
}

#gallerySelect li:hover
{
	background: rgba(0,0,0, .25);:
}

#gallerySelect ul
{
	margin: 0;
	padding: 5px 0 0;
}

#gallerySelect li.current
{
	font-weight: bold;
}

#galleryContent li
{
	position: relative;
	transition: all 250ms ease;
	/*overflow: hidden;*/
}

#galleryThumbnail li
{
	cursor: pointer;
}

#galleryImage li:not(.current)
{
	opacity: 0;
	display: none;
}

#galleryImage li .sp_pencil
{
	position: absolute;
	top: 0;
	left: 0;
}

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

	/*width: auto;
	height: 100%;*/
	margin: 0 auto;

}

#galleryImage .galleryImageCaption
{
	width: 100%;
	background: rgba(0,0,0, .75);
	color: #ffffff;
	padding: 10px;
	font-size: 1.6rem;

	box-sizing: border-box;
}

#gallery
{
	margin-bottom: 50px;
}

#galleryContent #galleryThumbnail
{
	margin-top: 10px;
	white-space: nowrap;
	overflow-x: scroll;
}

#galleryContent #galleryThumbnail li
{
	display: inline-block;
	width: 130px;
	height: 96px;
	border: 1px solid #707070;
	background: #000000;
}

#gallerContent #galleryThumbnail li.current
{
	border-color: #7b7b7b;
}

#galleryContent #galleryThumbnail li img
{
	display: block;
	width: 100%;
	height: auto;
	opacity: .3;
	transition: all 250ms ease;
}

#galleryContent #galleryThumbnail li.current img
{
	opacity: 1;
}

@media (min-width: 1280px )
{

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

	#gallerySelect
	{
		width: 80%;
	}

	#galleryContent
	{
		display: flex;
		justify-content: space-between;
		position: relative;
		/*height: 519px;*/
		padding-right: 20%;
	}

	#galleryImage img
	{
		height: 100%;
	}

	/*#galleryImage
	{
		width: 694px;
	}*/

	#galleryContent #galleryThumbnail
	{
		position: absolute;
		top: 0;
		right: -17px;
		height: 60vw;
		width: 19%;
		overflow-x: hidden !important;
		margin-top: 0;
		/*margin-right: -17px !important;*/
		white-space: normal;
		height: 100%;
		box-sizing: content-box;
	}

	#galleryContent #galleryThumbnail li
	{
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 10px;
	}

	#galleryContent #galleryThumbnail li img
	{
		height: auto;
		width: 100%;
	}


	#galleryImage .galleryImageCaption
	{
		padding: 0;
	}

	#galleryImage .galleryImageCaption:not(:empty)
	{
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 15px 30px;
		font-size: 18px;
		line-height: 24px;
		color: #ffffff;
	}
}







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

body#index
{
	height: 100%;
}

#index #contentWrapper
{
	max-width: none;
	margin: 0px;
}

#index #content
{
	z-index: 1;
	height: 100%;
	min-height: 100%;
	margin: 0px auto 0px auto;
	padding: 0px 0 0px 0;
}

#index #mainContent
{
	width: 100%;
	margin: calc(100vh - 80px) auto 0 auto;
	padding: 0;
}

#index #homeAnimation
{
	/*display: none;*/
	position: absolute;
	top: 104px;
	bottom: 0;
	left: -54px;
	right: -54px;
	height: calc(100vh - 104px);
	overflow: hidden;
	transition: top 0.3s ease-in-out;
}

body#index.scrolled #homeAnimation
{
	top: 80px;
}

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


#index #homeAnimation ul li
{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#index #homeAnimation ul li .animationMaskTop
{
	/*display: none;*/
	position: absolute;
	z-index: 10;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	width: 105vw;
	height: 105vh;
	background-image: linear-gradient(to right, rgba(0,0,0,0.7),rgba(0,0,0,0.01));
	cursor: pointer;
}

/* doing background-image srcset instead
#index #homeAnimation .animationImage
{
 	display: none;
 	position: absolute;
 	z-index: 1;
    top: -100%;
    bottom: -100%;
    left: -100%;
    right: -100%;
    height: auto;
    min-height: 100%;
    min-width: 100%;
    margin: auto;
    object-fit: cover;
}
*/


#index #homeAnimation ul li .slideContent
{
	position: absolute;
	z-index: 15;
	height: 100%;
	width: 100%;
}

#index #homeAnimation ul li .slideTitle
{
	display: none;
	position: absolute;
	left: -100%;
	top: 18%;
	max-width: 1740px;
	left: 0;
	right: 0;
	margin: 0px auto;
	padding: 0 54px 0 54px;
}

#index #homeAnimation ul li .slideTitle h1
{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	color: #ffffff;
	font-family: inherit;
	font-size: 12.0rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
}

#index #homeAnimation ul li .slideTitle h1 span
{
	display: block;
}

#index #homeAnimation ul li .slideAbstract
{
	position: absolute;
	bottom: -100%;
	width: 100%;
	padding: 40px 0px 80px 0px;
	background: rgba(0,0,0,0.50);
	box-sizing: border-box;
	color: #ffffff;
	font-size: 2.3rem;
}

#index #homeAnimation ul li .slideAbstract .animationLink
{
	display: block;
	width: calc(100% - 108px);
	max-width: 1740px;
	margin: 0px auto;
	padding: 0px 54px 0px 54px;
}

#index #homeAnimation ul li .slideTitle a,
#index #homeAnimation ul li .slideAbstract a
{
	color: #ffffff;
}

#index #homeAnimation ul li .slideTitle a:hover,
#index #homeAnimation ul li .slideAbstract a:hover
{
	text-decoration: none;
	color: #98bcdd;
}

#index #homeAnimation ul li .slideAbstract a.sp_pencil
{
	position: absolute;
}

#index #homeAnimation .animationNav
{
	height: 32px;
	width: 100%;
	max-width: 1740px;
	margin: 0px auto;
	padding: 0px 54px 20px 54px;
}

#index #homeAnimation .animationNav .cycle-prev,
#index #homeAnimation .animationNav .cycle-next
{
	margin: 0
	padding: 0;

	border: none;

	display: inline-block;
	width: 0;
	height: 0;

	padding: 32px 32px 0 0;

	cursor: pointer;
	background: url('../i/animation-arrow-prev.png') center center no-repeat; /* data-uri */
}

#index #homeAnimation .animationNav .cycle-next
{
	background: url('../i/animation-arrow-next.png') center center no-repeat; /* data-uri */
}

@media (max-width: 1500px)
{
	#index #homeAnimation ul li .slideTitle h1
	{
		font-size: 8.0rem;
	}

	#index #homeAnimation ul li .slideAbstract
	{
		padding: 30px 0 60px 0;
		font-size: 2.2rem;
	}
}

@media (max-width: 1400px)
{
	#index #homeAnimation
	{
		left: -10px;
		right: -10px;
	}
}

@media (max-width: 767px)
{

	#index #homeAnimation ul li .slideTitle
	{
		padding: 0 10px 0 10px;
	}

	#index #homeAnimation ul li .slideTitle h1
	{
		font-size: 4.1rem;
	}

	#index #homeAnimation ul li .slideAbstract
	{
		padding: 15px 0 15px 0;
		font-size: 2.0rem;
	}

	#index #homeAnimation ul li .slideAbstract .animationLink
	{
		width: calc(100% - 20px);
		padding: 0 10px 0 10px;
	}

	#index #homeAnimation .animationNav
	{
		padding: 0 10px 10px 10px;
	}
}

#homeUpdates
{
	padding: 70px 0 70px 0;
	max-width: 1740px;
	margin: 0px auto;
}

#homeUpdates > div
{
	display: flex;
	align-items: center;
}

#homeUpdates > div > h2
{
	margin: 0 0 0 0;
	padding: 0 40px 70px 0;
	box-sizing: border-box;
	font-size: 4.0rem;
	font-weight: 400;
}

#homeUpdates > div > h2 span
{
	display: block;
}

.homeSpot
{
	position: relative;
	width: 100%;
}

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

.homeSpot ul
{
	display: flex;
}

.homeSpot ul li
{
	flex-basis: 0;
	flex-grow: 1;

	color: #231f20;
}

.homeSpot ul li:not(:first-child):not(:last-child)
{
	margin: 0 40px;
}

.homeSpot .image
{
	padding-bottom: 10px;
}

.homeSpot .image img
{
	display: block;
	max-width: 100%;
}

.homeSpot ul li .section
{
	color: #d31145;
	font-weight: 700;
	font-size: 1.4rem;
	text-transform: uppercase;
}

.homeSpot ul li .title
{
	font-weight: 300;
	font-size: 2.0rem;
}

.homeSpot ul li a
{
	color: #231f20;
}

.homeSpot ul li a:hover
{
	color: #d31145;
}

#index #homeLower,
#index #homeLower > div
{
	position: relative;
}

#index #homeLower .photo
{
	position: relative;
	z-index: 5;
	width: calc(100% + 108px);
	aspect-ratio: 2400/851;
	margin: 0 0 0 -54px;
}

#index #homeLower .photo:after
{
	content: ' ';
	position: absolute;
	z-index: 10;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(to right, rgba(0,0,0,1),rgba(0,0,0,0.01));
}

#index #homeLower .photo img
{
	display: block;
	width: 100%;
}

#index #homeLower .content
{
	position: absolute;
	z-index: 20;
	top: 80px;
	left: 0px;
	right: 0;
	max-width: 1740px;
	margin: 0px auto;
}

#index #homeLower .content h2
{
	width: 250px;
	margin: 0 0 0.5em 0;
	padding: 0 0 0 0;
	color: #ffffff;
	font-size: 4.0rem;
	font-weight: 400;
}

#index #homeLower .content *
{
	color: #ffffff;
	max-width: 430px;
	font-size: 2.0rem;
}

#index #homeLower .content p
{
	margin: 0 0 0.5em 0;
	padding: 0 0 0 0;
}

#index #homeLower .content a
{
	background: none;
	text-shadow: none;
	color: #7ea9d0;
	font-weight: 500;
}

#index #homeLower .content a:hover
{
	color: inherit;
}

#index #footer
{
	margin: 0 0 0 0;
}

@media screen and (max-width: 1400px)
{
	#homeUpdates
	{
		padding: 70px 44px 70px 44px;
	}

	#index #homeLower .content
	{
		padding: 0 44px 0 44px;
	}

	#index #homeLower .photo
	{
		width: calc(100% + 20px);
		margin: 0 0 0 -10px;
	}
}

@media screen and (max-width: 1024px)
{
	#index #homeLower .content
	{
		top: 40px;
	}

	#index #homeLower .content h2
	{
		width: 250px;
		font-size: 3.0rem;
	}

	#index #homeLower .content *
	{
		max-width: 500px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 919px)
{
	#index #mainContent
	{
		height: 100%;
	}

	#homeUpdates
	{
		padding: 30px 44px 40px 44px;
	}

	#homeUpdates > div
	{
		display: block;
		align-items: center;
	}

	#homeUpdates > div > h2
	{
		padding: 0 0px 20px 0;
		font-size: 3.6rem;
	}

	#homeUpdates > div > h2 span
	{
		display: inline-block;
	}

	.homeSpot ul
	{
		display: flex;
	}

	#index #homeLower .content
	{
		top: 30px;
	}

	#index #homeLower .content h2
	{
		width: 250px;
		font-size: 2.4rem;
	}

	#index #homeLower .content *
	{
		max-width: 400px;
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 767px)
{
	#homeUpdates
	{
		padding: 30px 0px 40px 0px;
	}

	.homeSpot ul
	{
		display: block;
	}

	.homeSpot ul li
	{
		margin: 0 0 30px 0 !important;
	}

	.homeSpot .image img
	{
		width: 100%;
	}

	#index #homeLower .content
	{
		position: relative;
		top: inherit;
		padding: 20px 0 20px 0;
	}

	#index #homeLower .content h2
	{
		width: 150px;
		color: inherit;
	}

	#index #homeLower .content *
	{
		max-width: none;
		color: inherit;
	}
}

@media screen and (max-width: 767px) and (orientation: landscape)
{
	#index #homeAnimation ul li .slideTitle h1
	{
		font-size: 3.4rem;
	}
	#index #homeAnimation ul li .slideAbstract
	{
		padding: 10px 0 10px 0;
		font-size: 1.5rem;
	}

	#index #homeAnimation ul li .slideAbstract .animationLink
	{
		width: calc(100% - 20px);
	}

	#index #homeAnimation .animationNav
	{
		padding: 0 10px 10px 10px;
	}
}

/* Intranet -----------------------------------------------> */

#intranetSubNav
{
	margin-top: 65px;
}

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

#officeWeather .results_list > div
{
	width: 30%;
	height: 195px;
	overflow: hidden;
}

.intranetBioList .nametitle
{
	width: 270px;
}

.intranetBioList table.results_list td
{
	vertical-align: top;
	padding: 8px 15px 0 0;
}

.intranetBioList table.results_list td:last-child
{
	padding-right: 0;
}

.intranetBioList ul,
.intranetBioList li
{
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

.intranetBioList .photo
{
	width: 200px;
	height: 149px;

	background: #ccc;
	padding: 0 !important;
	border: solid white;
	border-width: 15px 15px 0 0;
}

.intranetBioList .photo img
{
	width: 200px;
	display: block;
}

.intranetBioList .phone:not(:empty)::before,
.intranetBioList .mobile:not(:empty)::before
{
	content: 'T: ';
	width: 1.3em;
	display: inline-block;
}

.intranetBioList .mobile:not(:empty)::before
{
	content: 'C: ';
}

.intranetBioList .pronouns
{
	font-size: 1.8rem;
}

.intranet h2
{
	margin-top: 1.5em;
}

.intranet h2 a
{
	color: inherit;
}

.intranet h2 a:hover,
.intranet h2 a:focus
{
	color: #5c7f9f;
}

.intranet ul.sideNav ul
{
	max-height: 0;
	overflow: hidden;

	transition: max-height .5s .5s;
}

.intranet ul.sideNav li:hover ul,
.intranet ul.sideNav li.current ul
{
	max-height: 500px;
	transition: max-height .8s .4s;
}

.intranet ul.sideNav li:focus-within ul
{
	max-height: 500px;
	transition-delay: 0;
	transition-duration: .5s;
}

.intranet ul.sideNav li > a::after
{
	content: none;
}

.intranet ul.sideNav li > a:first-child:not(:only-child)::after
{
	content: '\a0+';
	padding: 0;
	margin: 0;
	position: relative;
	top: -2px;

	opacity: .3;
	cursor: default;
	font-size: .7em;
	font-weight: bold !important;
}

.letterLinks .letterLinks
{
	display: block;
}

.intranet .letterLinks *
{
	width: auto;
	height: auto;
	line-height: auto;
	padding: 0 5px;
}

/* calendar */

	#itemCalendar
	{
		position: relative;
	}

	.calPrev, .calNext
	{
		position: absolute;
		top: 0;
		left: .8em;
		line-height: 1.2;
		font-size: 2em;
	}

	.calNext
	{
		right: .8em;
		left: auto;
	}

	table.calendar
	{
		border:1px solid #322E2F;
		border-collapse: collapse;
		width: 100%;
	}

	.calendar > caption
	{
		font-size: 1.5em;
		padding: 5px;
	}

	tr.calendar-row
	{
	}

	td.calendar-day
	{
		min-height:120px;
		font-size:11px;
		position:relative;
		height: 60px;

		vertical-align: top;
	}

	td.calendar-day:hover
	{
		background: #eee;
	}

	td.calendar-day-np
	{
		background:#eee;
		min-height:80px;
	}

	td.calendar-day-head
	{
		background: #322E2F;
		color: white;
		font-weight: normal;
		font-size: 12px;
		text-align: center;
		padding: 5px;

		width: 14%;
	}

	div.day-number
	{
		background:#ccc;
		padding:5px;

		font-weight:bold;

		float:right;
		margin:-5px -5px 10px 10px;
		width:20px;
		text-align:center;
	}

	td.calendar-day div + div
	{
		margin-bottom: .8em;
		font-size: 15px;
		font-weight: normal;
		line-height: 1.1;
		clear: both;
	}

	/* shared */
	.results_list tr td.calendar-day,
	td.calendar-day-np
	{
		padding: 5px;
		border:1px solid #322E2F;
		height: 15vh;
	}

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

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

/*@media all and (max-width:8.5in) /* use while programming */
@media print
{

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

	.mobile,
	#siteSearch,
	.view_more,
	.sp_map,
	.printMap,
	.letterLinks,
	#pdfLink,
	#subNav,
	#footerSocial,
	#ALFA-Logo,
	#footerInner > ul li,
	#sectionTitle,
	.sideNav,
	#navJump,
	#contentJump,
	#homeAnimation,
	#mainNav,
	#cookiePopup,
	#pageJump,
	#subContent .search_form,
	#mainContent .search_form,
	#expandAllPractices,
	.bioList > div > div .photo a:not(.sp_pencil):after,
	#bioAccessories,
	h2.sectionTitle:after,
	.toggleExpand,
	#splitColumnsTrending .splitColumnsRight #trendingImage,
	#splitColumnsNoContact .splitColumnsRight #noContactImage,
	#splitColumnsRelatedPractices .splitColumnsRight #relatedPracticesImage,
	.officelink,
	#splitColumnsMap,
	.animationNav,
	#index #homeLower .photo:after
	{
		display: none !important;
	}

	.extraItems,
	.contentSection,
	.sectionTitle,
	.expandableHeading + *,
	.contentSection > *
	{
		display: block !important;
	}

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

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

		font-size: 1.8rem !important;
	}

	body
	{
		padding: 0;
	}

	body.scrolled
	{
		padding-top: 0px;
	}

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

	.search_form
	{
		display: none !important;
	}

	p,
	a,
	li,
	.listThree ul.results_list > li .blogpostInfo .title a,
	h2.areaListHeader
	{
		color: #000 !important;
	}

	h1
	{
		font-size: 3.0rem !important;
	}

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

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

	#logo
	{
		margin: 0;
	}

	#homeUpdates > div
	{
		display: block !important;
		width: 100%;
		clear: both;
	}

	.homeSpot ul
	{
		display: block;
		clear: both;
		width: 100%;
	}

	.homeSpot ul li .section
	{
		color: #000 !important;
	}

	.homeSpot ul li
	{
		width: 31%;
		float: left;
		margin: 0px !important;
		margin-right: 10px !important;
		margin-bottom: 12px !important;
	}

	#header,
	body.scrolled #header
	{
		position: relative;
		height: 80px;
    	padding: 0px 0px 0px 0px;
    	box-shadow: none;
	}

	#banner
	{
		height: auto;
	}

	#bannerContent
	{
		position: relative;
		top: inherit;
		left: inherit;
		color: #333333;
	}

	#bannerContent #sectionTitle
	{
		margin: 0;
	}

	body.team-item #bannerContent
	{
		display: flex;
	}

	#index #homeLower .photo
	{
		width: 100%;
		clear: both;
		margin-top: 10px !important;
	}

	#index #homeLower .photo img
	{
		margin-top: 10px;
	}

	#homeUpdates
	{
		padding: 20px 0px 0px 0px !important;;
	}

	#footer
	{
		display: none !important;
	}

	#bioPhoto
	{
		height: 280px;
		max-height: 280px;
    }

	#content
	{
		margin: 0;
		padding: 0;
	}

	#index #homeLower .content
	{
		width: 100%;
		display: block;
		clear: both;
	}

	#contentWrapper,
	body.scrolled #contentWrapper
	{
		padding-top: 0px;
	}

	#index #homeLower .content h2
	{
		width: 100% !important;
		clear: both;
	}

	#mainContent
	{
		padding: 0;
	}

	.bioList > div
	{
		display: block;
	}

	.bioList > div > div .photo
	{
		background: #fff !important;
		display: block;
	}

	.bioList > div > div .nametitle .title
	{
		color: #000 !important;
	}

	.bioList > div > div .nametitle
	{
		position: relative !important;
		display: block;
		bottom: 0px;
	}

	.bioList > div > div,
	.bioList > div > div:nth-child(2n+1),
	.bioList > div > div:nth-child(3n+1)
	{
		float: left;
		width: calc(33.33% - 15px);
   	 	margin: 0 0 38px 12px;
	}

	.bioList > div > div:nth-child(3n+1)
	{
		clear: left;
	}

	.bioList > div > div .nametitle
	{
		position: relative;
		bottom: -10px
	}

	h2.sectionTitle
	{
		display: block;
		padding: 0;
		color: #333333;
		font-size: 22pt;
	}

	#Bio-tab h2.sectionTitle
	{
		display: none;
	}

	.bioList
	{
		width: 100%;
		clear: both;
		display: block;
	}

	#attySearchWrapper
	{
		display: none !important;
	}

	#bio_area ul.results_list > li .title
	{
		bottom: 0;
		left: 0;
		position: relative !important;
	}

	#splitColumnsTrending .splitColumnsRight div.results .section,
	#splitColumnsNoContact .splitColumnsRight div.results .section,
	#splitColumnsRelatedPractices .splitColumnsRight div.results .section
	{
		color: #000 !important;
	}

	#bio_area ul.results_list a .title,
	#bio_area ul.results_list a:hover .title,
	ul#bioContact li.bioOfficeLink a
	{
		color: #000 !important;
	}

	.splitColumns,
	#splitColumnsArea .splitColumnsLeft > div,
	#splitColumnsBioContact .splitColumnsLeft > div,
	#splitColumnsMap .splitColumnsLeft > div
	{
		display: block;
		width: 100%;
		clear: both;
		height: auto;
	}

	#tabHolder
	{
		display: none !important;
	}

	#bioAccessoriesWrapper
	{
		display: block !important;
		width: 100% !important;
	}

	#bio_area ul.results_list > li,
	#area_bio_contact ul.results_list > li,
	#bio_area ul.results_list > li:nth-child(2n+1),
	#area_bio_contact ul.results_list > li:nth-child(2n+1)
	{
		width: auto;
		min-height: 14vw;
		max-width: calc(33.33% - 36px) !important;
		margin: 0 0 50px 50px;
	}

	.bioList > div > div .photo:after,
	.bioList::before
	{
		display: none !important;
	}

	.bioList > div > div .nametitle .title
	{
		color: #000 !important;
	}


	#bio_area ul.results_list > li:nth-child(3n+1),
	#area_bio_contact ul.results_list > li:nth-child(3n+1)
	{
		margin: 0 0 50px 0px;
	}

	#officeList ul li ,
	#officeList ul li:nth-child(2n+1),
	#officeList ul li:nth-child(3n+1)
	{
   	 	width: calc(33.33% - 34px);
    	margin: 0 0 50px 50px;
    }

    #officeList ul li:nth-child(3n+1)
	{
		margin: 0 0 50px 0px;
	}

	#officeList ul li .nametitle
	{
		position: relative;
		bottom: -10px;
		color: #333333 !important;
	}

	#officeList ul li .nametitle .title a,
	#officeList ul li .nametitle > div,
	#officeList ul li .nametitle > div a,
	#officeList ul li .nametitle > div a[href^=tel]
	{
		color: #333333 !important;
	}

	#officeList ul li .photo a:not(.sp_pencil) img
	{
		opacity: 1;
	}

	#officeDetailsWrapper
	{
		display: flex;
	}

	#officeDetailsWrapper > div
	{
    	position: relative;
    	width: 50%;
    }

    #officeDetailsWrapper > div#officeAddress
    {
		margin: 0 0 0 50px;
	}


	body#index
	{
		height: auto;
	}

	#index #content
	{
		height: auto;
		min-height: auto;
	}

	#index #mainContent
	{
		margin: 0 auto;
	}

	#index #homeAnimation
	{
		display: block;
		position: relative;
		top: 0px;
		left: 0px;
		height: auto;
		padding: 0 0 30px 0;
	}

	#index #homeAnimation ul,
	#index #homeAnimation ul li
	{
		height: auto;
	}

	#index #homeAnimation ul li
	{
		background-image: none !important;
	}

	#index #homeAnimation ul li .slideContent
	{
		position: relative;
		left: 0px;
		top: 0px;
		height: auto;
	}

	#index #homeAnimation ul li .slideTitle
	{
		position: relative;
		left: 0px;
		margin: 0px auto;
		padding: 0 0px 0 0px;
	}

	#index #homeAnimation ul li .slideTitle h1
	{
		color: #333333;
		font-size: 6.0rem;
	}

	#index #homeAnimation ul li .slideAbstract
	{
		position: relative;
		bottom: 0px !important;
		padding: 0px 0px 0px 0px;
		color: #666666 !important;
		font-size: 2.3rem;
		font-weight: 700;
	}

	#index #homeAnimation ul li .slideAbstract .animationLink
	{
		display: block;
		width: auto;
		padding: 40px 0 20px 0;
	}

	#index .animationLink p
	{
		margin: 0;
		padding: 0;
	}

	#index #homeLower .content
	{
		position: relative;
		top: inherit;
		padding: 20px 0 20px 0;
	}

	#index #homeLower .content h2
	{
		width: 150px;
		color: inherit;
	}

	#index #homeLower .content *
	{
		max-width: none;
		color: inherit;
	}

	#footer
	{
		padding: 0;
	}

	#footerInner > ul li#copyRight
	{
		display: block !important;
	}


	.blogPosts .socialshare,
	#blogSearchBox,
	.viewMore
	{
		display: none !important;
	}

	#historyLinks
	{
		display: none !important;
	}

	#itemSubtitle
	{
		color: #000 !important;
	}

	#addComment,
	#blogSearchBox
	{
		display: none !important;
	}

	.links
	{
		display: none !important;
	}

	.blog .subContent,
	.addthis_toolbox > a,
	.socialshare_toolbox>a
	{
		display: none !important;
	}



}

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