/* --------------------------------------------------------------------
	Style Library
-------------------------------------------------------------------- */
.sizes-100-50-100-50 { width: 100%; }

.mediaBody { overflow: hidden; }

.galleryContent > *:first-child { margin-top: 4px; }
.galleryImage {
	width: 50%;
	margin: 0 28px 28px 0;
	float: left;
}
.thumb-grid > .unit {padding: 14px;}


/* --------------------------------------------------------------------
	Main Structure
-------------------------------------------------------------------- */
body { border-top: 3px solid #cadce0; }
.head { z-index: 3; }
.main { z-index: 1; }
.menu { z-index: 2; }

/* Header
-------------------------------------------------------------------- */
.head { position: relative; }
.logo-wrap {
    position: absolute;
    width: 100%;
    max-width: 30%;
    margin: 0 20px;
    padding-top: 1.1%;
}
/* .logo-wrap::before {
    content: "";
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -20px;
    left: -10px;
    display: block;
    background: url("../images/design/logo-glow-new.png") no-repeat scroll 50% 50%;
    background-size: 100% auto;
    opacity: .6;
	transition: opacity 100ms ease-out 250ms;
} */
.logo {
	position: relative;
    max-width: 235px;
    height: auto;
	max-height: 58px;
}
.logo img {
	width: 100%;
	visibility: hidden;
	opacity: 0;
}
.logo::before { width: 100%; }

.triggers { display: none; }

/*	Main Menu
-------------------------------------------------------------- */
.menu {
    position: relative;
    top: 0;
    width: auto;
    height: 120px;
    margin: 0 auto;
	overflow: visible;
	visibility: visible;
}
.menu .menu-acct,
.menu > .nav > li {
    border-top: none;
    border-bottom: none;
}
.menu > .nav > li > a { font-weight: 300; }
.menu > .nav > li > a::before { display: none; }
/* Sub Menu */
.menu .menu-link {
    position: absolute;
    margin-top: 0;
    margin-right: 5px;
}
.menu .menu-link {
	top: 50px;
	right: 10px;
}
.menu .menu-link li {
	float: left;
	border-left: 1px solid #9EA5A8;
}
.menu .menu-link li:first-child { border: none; }
.menu .menu-link > li > a {
	display: block;
	padding: 0 9px;
	color: #000;
	font-size: 0.75em;
	line-height: 1;
}
.menu .menu-link > li > a:hover { color: #0097d7; }
.menu .menu-link > li > a:active { color: #006e9d; }
.menu .menu-link .child-wrap { display: none !important; }
/* Account menu */
.menu .menu-acct {
	position: absolute;
	top: 0;
	right: 10px;
	width: 325px;
	padding: 4px 8px 8px 16px;
	overflow: hidden;
	background: #cadce0;
	z-index: 0;
}
.menu .menu-acct > a {
	display: inline-block;
    padding: 0 10px;
    float: none;
	vertical-align: middle;
	color: #2b2c2b;
	font: normal 0.625em/26px sans-serif;
}
.menu .menu-acct > a:hover { color: #0097d7; }
.menu .menu-acct > a:active { color: #006e9d; }
.menu .menu-acct [rel="login"] {
	margin: 0;
	padding-left: 0;
}
.menu .menu-acct [rel="login"]::before {
    width: 12px;
    height: 12px;
    background: url(../images/icons/sprites-icons-32.png) 50% -135px;
    background-size: 100% auto;
}
.menu .menu-acct > form {
	max-width: 50%;
	margin-bottom: 0;
	float: right;
}
.menu .menu-acct [rel="search"] { display: inline-block; }
.menu .menu-acct .search-form .query { max-width: 150px; }
/* overlay */
.menu .over {
	z-index: 1;
	transition: background 200ms ease-in 175ms, height 400ms linear 375ms;
}
/* Main Menu */
.menu-main-wrapper {
	position: absolute;
	right: 10px;
	bottom: 0;
	left: 30px;
}
.menu .menu-main {
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	z-index: 2;
	transition: all 200ms;
}
.menu .menu-main li {
	padding: 0;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1 1 auto;
	-webkit-box-flex: 1;
}
.menu .menu-main a { line-height: 1; }
.menu .menu-main > .nav { list-style: none; }
.menu .menu-main > li {
	float: left;
	background: #cadce0;
}
.menu .menu-main > li > a {
	position: relative;
	display: block;
	height: 35px;
	padding: 0 5px;
	overflow: hidden;
	color: #504F4D;
	font: 700 12px/1 sans-serif;
	text-align: center;
	text-transform: uppercase;
	transition: height 50ms linear, margin-top 50ms linear, color 100ms linear;
}
.menu .menu-main > li > a:hover { color: #000; }
.menu .menu-main > li > a:active { color: #908e8b; }
.menu .menu-main > li:first-child > a {
	padding-left: 13px;
}
.menu .menu-main > li:last-child > a { padding-right: 10px; }
/* TODO: Main Nav Shadow */
/* .menu .menu-main > li > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
	background: -webkit-linear-gradient(top, rgba(85,71,72,0) 0%,rgba(85,71,72,0.2) 100%);
	background: -ms-linear-gradient(top,     rgba(85,71,72,0) 0%,rgba(85,71,72,0.2) 100%);
	background: linear-gradient(to bottom,   rgba(85,71,72,0) 0%,rgba(85,71,72,0.2) 100%);
} */
.menu .menu-main > li > a:focus { outline: none; }
.menu .menu-main > li > a span {
    position: relative;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
    padding: 10px;
    -ms-flex-direction: column;
    flex-direction: column;
	justify-content: center;
	background: rgba(255,255,255,0);
	transition: background 50ms linear, padding 50ms linear;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
}
.menu .menu-main div[class^="child-wrap"] {
	position: absolute;
	display: none;
	height: 0;
 	overflow: hidden;
}
.menu .menu-main div.child-wrap-mega { display: block; }
.menu .menu-main .nav a {
	display: block;
	padding: 12px 20px;
	border-top: 1px solid rgba(255,255,255,0.5);
	color: #424547;
	font-size: 17px;
}
.menu .menu-main > li.active > a {
    height: 45px;
    margin-top: -10px;
}
.menu .menu-main,
.menu .menu-main > li.mega-open{
	z-index: 100;
}
.menu .menu-main > li.mega-open > a {
	height: 40px;
	margin-top: -5px;
	transition: height 100ms linear, margin-top 100ms linear;
}
.menu .menu-main > li.active > a::after { z-index: 0; }
.menu .menu-main > li.active > a span,
.menu .menu-main > li.mega-open > a span {
    background: rgba(255,255,255,1);
    z-index: 1;
	transition: background 50ms linear, padding 100ms linear;
}
.menu .menu-main > li.active > a span {
    width: 100%;
    height: 45px;
    margin-top: 0;
    border-top: 2px solid #0094D3;
    text-align: center;
}
/* active drop shadow */
.menu .menu-main > li.active > a::before {
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 0;
    left: 5px;
    display: block;
    width: auto;
    height: auto;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.2);
    background: none;
    z-index: 0;
}
.menu .menu-main .btn {
    color: #FFF;
    font-size: 0.75em;
}

/* specific items */
.menu .menu-main > li[rel="index"].active > a::before { left: 10px; }
.menu .menu-main > li[rel="support"].active > a::before { right: 5px; }
.menu .menu-main > li[rel="index"] > a span::before {
	content: '\f015';
	position: absolute;
	top: calc(50% - 2px); /* Firefox */
	right: 0;
	left: 0;
	font-size: 15px;
	font-family: FontAwesome;
	line-height: 15px;
	text-align: center;
	transform: translateY(-50%); /* Firefox */
}
.menu .menu-main > li[rel="index"] > a span { font: 0/0 a; }
.menu .menu-main > li[rel="index"] { width: 53px; }


/*	MEGA menu
-------------------------------------------------------------- */
.mega {
	z-index: 5;
}
.mega-wrap {
	position: absolute;
	height: 406px;
}
.mega-section {
	margin-left: 0;
	padding: 0;
	box-shadow: none;
	background: #cadce0;
}
/* Navigation */
.mega-section .sidebar {
	position: relative;
	width: 190px;
	height: 100%;
	float: left;
}
.mega-section .sidebar::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 5px;
	height: 100%;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4xIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
	background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%);
	background: -ms-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%);
	background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#1a000000',GradientType=1 );
}
.IE9 .mega-section .sidebar::after { filter: none; }
.mega-section .nav-header {
	margin: 0;
	padding: 10px 20px;
	background: #cadce0;
	color: #000;
	text-transform: uppercase;
}
.mega-section .nav { padding-top: 0; }
.mega-section .nav li { line-height: 1; }
.mega-section .nav a {
	display: block;
	padding: 12px 20px;
	border-top: 1px solid #e3ded5;
	background: #cadce0;
	color: #424547;
	font-size: 17px;
}
.mega-section .nav a:focus { outline: none; }
/* Content */
.mega-section,
.mega-section .item,
.mega-section .content { height: 400px; }
.mega-section { box-shadow: 0 11px 4px -9px rgba(0, 0, 0, 0.35); }
.mega-section .box-hd { margin-top: 0; }
.mega-section .title {
    display: block;
    color: #7e8488;
    text-decoration: none;
}
.mega-section .subtitle {
    font: 500 36px/38px URWEgyptienne;
    text-transform: none;
    text-decoration: none;
}
.mega-section .item,
.mega-section .content {
	position: relative;
	width: auto;
	overflow: hidden;
	background: #FFF;
}
.mega-section .content {
	float: none;
	overflow-y: auto;
}
.mega-section .item { padding: 20px; }
.mega-section .item ul { margin-bottom: 18px; }
.mega-section .item li { list-style: disc outside; }
.mega-section .item-image {
	position: absolute;
	top: 50%;
    right: 20px;
	max-width: 670px;
	transform: translateY(-50%);
    z-index: -1;
}
.mega-section .item-image.mega-centered {
    max-width: 100%;
	margin-top: 50px;
	box-shadow: 2px 2px 2px 0 rgba(35, 31, 32, 0.35);
    transition: max-width 250ms ease 0s;
}
.mega-section-techniques .item-image.mega-centered {
	box-shadow: none;
}
.mega-section .item-image img { 
	max-width: 100%; 
	max-height: 370px;
}
.item-image > a { display: block; }
.mega-section .item .hd {
	margin: 0;
	font: 400 22px/50px "URWGrotesk", sans-serif;
}
.mega-section .item .hd a {
	color: #888;
	font: inherit;
	text-decoration: none;
}
.mega-section .item-body {
    position: relative;
    max-width: 350px;
    padding: 20px;
}

@media all and (max-width: 920px) { .mega-section .item-image.mega-centered { max-width: 45%; } }
@media all and (max-width: 760px) {
	.mega-section[rel=applications] .item-body,
	.mega-section[rel=techniques] .item-body { max-width: none; }
	.mega-section .item-image.mega-centered { display: none; }
}

/* States + active */
.mega-section .nav a.active {
	position: relative;
	background: #fff;
	color: #0094d3;
	z-index: 10;
}
.mega-section .nav a:active {
	background: #f7f5f0;
	background: linear-gradient(to right, rgba(240,235,225,1) 80%, rgba(255,255,255,1) 100%);
	color: #000;
	transition: background 100ms ease-out, color 100ms ease-out;
}
.mega-section .nav a.active::before,
.mega-section .nav a.active::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	height: 5px;
	opacity: .5;
}
.mega-section .nav a.active::before {
	top: -5px;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wNSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.05) 100%);
	background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.05) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.05) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#0d000000',GradientType=0 );
}
.mega-section .nav a.active::after {
	bottom: -5px;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjA1Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 100%);
	background: -ms-linear-gradient(top, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0d000000', endColorstr='#00000000',GradientType=0 );
}

/* Mega Addition */
.menu-main .mega-section {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 0;
}
.menu-main .mega-section .content { overflow: hidden; }
.mega-section.js .item {
	position: absolute;
	width: 100%;
	background: #FFF;
	opacity: 0;
	z-index: 1;
	transition: opacity 200ms ease-in;
}
.mega-section.js.active { z-index: 10; }
.mega-section.js .item.active {
	opacity: 1;
	z-index: 100;
}
.menu-main .child-wrap-mega {
	top: 35px;
    right: -20px;
    left: -30px;
    width: auto;
	height: 0;
	background: none;
	opacity: 0;
}
.menu-main > li.mega-open .child-wrap-mega {
    display: block;
	height: 406px;
	opacity: 1;
}

/* state: hover */
.menu-main-wrap:hover + #mega-menu.js { height: 406px; }
.menu-main-wrap:hover + #mega-menu.js > .mega-section { height: 400px; }

/*	Fancy Box
-------------------------------------------------------------- */
.fancy-box {
	margin: 40px -20px 0;
	padding: 20px;
	overflow: auto;
	border: 1px solid #d3d8db;
	background: url("../images/design/bg-notes.jpg") repeat-x scroll 0 0 #fff;
}
.fancy-box .unit { min-width: 280px; }
.fancy-box .heading {
	margin-top: .25em;
	color: #296c87;
	font: 300 1.5em/1.0833 "URWGrotesk", sans-serif /* 24/26 */;
	text-transform: none;
}
.fancy-box .post .date {
	width: 35%;
	margin: 0 .5em 0 0 ;
	float: left;
}
.fancy-box .post a {
	color: #424547;
	text-decoration: none;
}
.fancy-box .post a:hover { text-decoration: underline; }

/*	Masthead
-------------------------------------------------------------- */
/* .masthead { margin: -10px 10px 20px; }
.masthead.alt {
	margin: -20px 0 30px 0;
	transition: all 300ms ease 0s;
} */
/* Commented out items are related to the wrapping look. (TODO: remove when not needed anymore) */
/* .masthead.alt::after,
.masthead.alt::before {
	content: '';
	position: absolute;
	left: 0;
	border-width: 3px 10px;
	border-style: solid;
	border-color: transparent;
	border-right-color: #001c28;
} */
/* .masthead.alt::after {
	bottom: -6px;
	border-top-color: #001c28;
} */
/* .masthead.alt::before {
	top: -6px;
	border-bottom-color: #001c28;
} */
.masthead .listing-group { margin-left: 20px; }
.masthead .heading { text-shadow: 2px 2px 2px rgba(0,0,0,.3); }
.masthead .media {
	display: table;
	margin: 0 0 0 40px;
}
.masthead .media::after { display: none; }
.masthead .media .mediaImg,
.masthead .media .mediaContent {
    display: table-cell;
    vertical-align: middle;
}
.masthead .media .mediaContent { width: 50%; }
.masthead .media .mediaContent h1 { font-size: 3em; }
.masthead .media .mediaImg::after { display: none; }
.masthead .media .mediaImg {
	position: relative;
    padding: 0;
    border: none;
}
.masthead .media .mediaImg > img {
    position: relative;
    top: 0;
    max-width: 100%;
    height: auto;
    padding: 1px;
    border: 4px solid #1C4F67;
    z-index: 0;
}
.body-content .masthead {
    margin: 0 0 18px;
    padding: 0;
}

.masthead .listing {
	float: left;
	border: none;
}

/*	Sticky & misc
-------------------------------------------------------------- */
.stick {
	position: fixed;
	top: 0;
}

.breadcrumbs { display: none; }
.blockquote {
    width: 50%;
	margin-right: 0;
	margin-bottom: 10px;
	margin-left: 20px;
}
@media all and (max-width: 820px) {
	.has-nav .blockquote {
		width: auto;
		margin-right: 20px;
	}
}

/*	Mini Contact form
-------------------------------------------------------------- */
input.aiValueField	{display: none;}
.mini-contact-wrap {
	position: relative;
    position: relative;
    /* width: 145%;
	min-width: 230px; */
	width: 100%;
    min-width: 150px;
	max-width: 330px;
	/* margin: 30px 0 0 -65px; */
	padding: 0 20px;
	border: 2px solid #FFF;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.35);
	background: #fff;
	background: linear-gradient(45deg, rgba(253,251,249,1) 0%, rgba(255,255,255,1) 100%);
	/* background: url(../images/design/bg-sticky-contact.png) 0 100% no-repeat,
				url(../images/design/bg-sticky-contact-upper.png) 0 0 no-repeat,
				#fff; */
}
/* .mini-contact-wrap::before {
	content: "";
	position: absolute;
	bottom: -8px;
    left: -2px;
	border-width: 3px 10px;
	border-style: solid;
	border-color: #333 #333 transparent transparent;
} */
.mini-contact {
    margin: 0 auto;
    padding: 16px 0;
}
.mini-contact .heading {
	margin-bottom: 6px;
	font-size: 1.75em;
	line-height: 1;
}
.mini-contact .what-fields-required { display: none; }
.mini-contact fieldset { margin: 12px 0 6px; }
.mini-contact .fieldArea {
	margin-bottom: 5px;
	padding-left: 0;
}
.mini-contact label { display: none; }
.mini-contact select {
	width: 100%;
	padding: 6px 3px;
	font: 400 12px/1.2 sans-serif;
}
.mini-contact input[type="submit"] {
	width: auto;
	text-transform: uppercase;
}

body:not(.supportlisting) .mini-contact-wrap.stick {
    position: fixed;
    width: 35%;
}

/*	Main Content
-------------------------------------------------------------- */
.main {
	margin-top: 0;
    transition: none;
}

/*	Footer
-------------------------------------------------------------- */
.foot {
	padding: 10px 30px 30px;
	overflow: hidden;
}
.foot-links {
	width: 57%;
	float: right;
	text-align: right;
}
.foot-nav,
.foot-copyright {
	font-size: 0.625em;
    line-height: 1.2;
}
.foot-copyright {
	width: 43%;
    float: left;
    text-align: left;
}
.foot-nav { display: inline-block; }
.foot-nav li,
.social-icons-list li { padding-right: 0; }
.social-icons-list li:first-child { padding-left: 10px; }

/*	Body
-------------------------------------------------------------- */
.body {
	min-height: 600px;
	margin-left: 20px;
	padding: 40px 10px 64px;
	overflow: visible;
	transition: padding 200ms ease, opacity 100ms ease-out;
}
.mega-show .body { opacity: 0.4; }

.body-content {
	padding: 0 20px;
	overflow: hidden;
}
.body-header { margin: 0 20px 20px; }

/* hasNav */
.has-nav .body-content { padding: 0 10px 0 20px; }

/* hasMast */
.body-content .body-header { margin: 0 0 10px; }
.has-mast .body-header { padding: 0; }
.has-mast .local-nav-header {
	font-size: 1.125em/*18*/;
	line-height: 1.111/*20*/;
}

/* Local Nav
-------------------------------------------------------- */
.body-sidebar {
    display: block;
    width: 27%;
    margin: 10px 25px 0 10px;
    float: left;
}
.body-header + .body-sidebar { margin-top: 0; }
.local-nav { margin: 0 0 20px; }
.local-nav a {
	display: block;
	padding: 0.5em 5px 0.5em 15px;
	color: #424547;
	line-height: 1;
}
.local-nav > li > a {
    padding: 0.75em 15px;
    border-top: 1px dotted #ccc;
    color: #000;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
}
.local-nav > li:first-child > a { border: none; }
.local-nav .nav {
    padding: 10px 0;
    border-top: 1px dotted #ccc;
}
.local-nav a:hover	{ color: #00a6ed; }
.local-nav a.active { color: #0094d3; }
.local-nav a:active	{ color: #0081b8; }

/* Categories
-------------------------------------------------------- */
.category-group .header {
	margin: 0 0 20px 0;
	border-bottom: 1px dotted #CCC;
}
.category a {
	color: #424547;
	text-decoration: none;
}
.category a:hover { color: #0094d3; }
.category li { margin: 0 0 3px; }

.category-listing ul.category {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
}

/*	Entry Page
-------------------------------------------------------------- */
.feature-container .text-inner { 
	/* TODO: commented out original */
	/* padding: 40px 28% 40px 30px;  */
	padding: 40px 0 88px;
	width: 100%;
}
.feature-container .text { 
	/* TODO: original size */
	/* font-size: 35px;  */
	font-size: 50px; 
	text-align: center;
}
._entry .callToActionArea {
	display: flex;
	margin: 9px -9px;
	flex-wrap: wrap;
}
._entry .callToActionArea > * {
	width: 100%;
	max-width: calc(50% - 20px);
	margin: 10px;
}

/*	Forms
-------------------------------------------------------------- */
.fieldGroup {
	margin: 0 -10px;
	overflow: hidden;
}
.fieldGroup > .label {
	display: block;
	padding: 0 10px;
}
.fieldGroup .fieldArea { padding: 0 10px; }
.fieldGroup[class*='columns-'] .fieldArea { float: left; }
.fieldGroup.columns-2 .fieldArea { width: 50%; }
.fieldGroup .fieldArea label { display: none; }

.phoneGroup label + .fieldArea { padding-right: 1.5em; }
.phoneGroup .separator {
	display: inline-block;
	margin: 0;
	float: left;
	line-height: 30px;
}
.phoneGroup .separator + .fieldArea { width: 4em; }

.fieldArea:where(:not(.allowedCookiesFieldArea)) { padding-left: 125px; }
.fieldArea:where(:not(.allowedCookiesFieldArea)) > label {
    width: 125px;
    margin-top: 5px;
    margin-left: -125px;
    float: left;
}
.europe-meeting-form .fieldArea > label {
	width: 140px;
    margin-left: -140px;
}
.europe-meeting-form .fieldArea.dietaryFieldArea,
.europe-meeting-form .fieldArea.presentationTopicFieldArea {
	margin-top: 25px;
	margin-left: 0;
	padding-left: 0;
}
.europe-meeting-form .fieldArea.dietaryFieldArea > label,
.europe-meeting-form .fieldArea.presentationTopicFieldArea > label {
	width: 100%;
	margin-left: 0;
	float: none;
}




.europe-meeting-form .fieldArea {
	padding-left: 140px;
}
.htmlSelectBooleanCheckbox,
.tableFieldArea { padding-left: 0; }
.fieldArea.htmlSelectBooleanCheckbox > label {
    width: auto;
    margin-left: 0;
    float: none;
}
/* subgroups */
.fieldGroup { padding-left: 125px; }
.fieldGroup > legend,
.fieldGroup > .label {
    display: inline-block;
    width: 125px;
	margin-left: -125px;
    float: left;
    border: none;
    font-size: inherit;
}
/* specifics */
.nameFieldGroup > .fieldArea {
	width: 50%;
	float: left;
}
.messageFieldArea { padding-left: 0; }
.messageFieldArea > label {
	display: block;
	width: 100%;
	margin-left: 0;
	float: none;
}
#contacts .messageFieldArea > label { display: none; }
.contactOptionsSelectFieldArea { padding-left: 0; }

.fieldArea.long-field,
.fieldArea.long-field .fieldArea,
.fieldArea.table-field,
.fieldArea.table-field .fieldArea { padding-left: 0; }
.fieldArea.long-field label { width: 100%; margin-left: 0; float: none;}

.fieldArea.table-field > table { width: 100%; }

/*	Contact
-------------------------------------------------------------- */
#contacts {
    margin: 36px -5px 0;
    padding: 0 5px;
}
#contacts .col-l {
    width: 250px;
    max-width: 27%;
    margin: 0 -3px 0 -10px;
    padding: 15px 5px 0;
    overflow: hidden;
    border-top: 0 none;
}
#contacts .col-l h2 {
    margin-top: 20px;
    margin-left: 10px;
    font-size: 1.5em;
}
#contacts .col-l .ajax-rendered:first-child h2 { margin-top: 0; }
#contacts .contact-container ul {
	padding-left: 0;
	list-style: inside disc;
}
#contacts .col-heading {
	margin-top: 0;
	font-family: sans-serif;
	text-transform: none;
}
#contacts .vcard { overflow: hidden; }

#contacts .contact-container {
    min-height: 362px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid #f1f1f1;
    box-shadow: 0 0 0 2px #fff inset, 1px 2px 3px 0 rgba(0, 0, 0, 0.25);
    background: #f9f7f3;
}
.contact-info li.active a {
    border: 1px solid #f1f1f1;
    box-shadow: 0 0 0 2px #fff inset, -1px 4px 3px -2px rgba(0, 0, 0, 0.25);
    background: #f9f7f3;
}
/* #contacts .contact-container,
.contact-info li.active a {
	background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 40%, rgba(255, 255, 255, 1) 55%, rgba(255, 255, 255, 1) 65%, rgba(255, 255, 255, 0) 75%);
	background-image: -ms-linear-gradient(-45deg,     rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 40%, rgba(255, 255, 255, 1) 55%, rgba(255, 255, 255, 1) 65%, rgba(255, 255, 255, 0) 75%);
	background-image: linear-gradient(135deg,         rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 40%, rgba(255, 255, 255, 1) 55%, rgba(255, 255, 255, 1) 65%, rgba(255, 255, 255, 0) 75%);
	background-repeat: no-repeat;
	background-position: 50% 40%;
	background-size: 1000px 1000px;
	background-attachment: fixed;
} */
.contact-info ul { margin: 0 -9px 0 0; }
.contact-info li { margin: 0; }
.contact-info li a {
    display: block;
    padding: 0.5em 12px .5em 10px;
    color: #424547;
    line-height: 1;
}
.location.group h2 { font-size: 1em; }
#regionForm .fieldArea {
    width: 200px;
	max-width: 40%;
	margin-bottom: 0;
	padding-right: 20px;
	padding-left: 0;
	float: left;
}

.htmlSelectBooleanCheckbox > label { padding-left: 20px; }
.htmlSelectBooleanCheckbox > input {
    position: absolute;
    margin-top: -1.75em;
}

/*	Fallbacks
-------------------------------------------------------------- */
/* no-js */
.no-js .menu:target .link.active,
.no-js .menu:target .hasChild.active > .link { color: #000; }
.no-js .menu:target > .nav > li > .link { border-bottom: 0; }
.no-js .menu:target + .main { left: 0; }
.no-js .menu-main .link:hover { background: #FFF; }
.no-js .mail-wrap:target {
    margin-top: -165px;
    visibility: hidden;
}
.no-backgroundsize .body-header.icon::before,
.no-backgroundsize .masthead .post .heading::before { background-image: url(../images/icons/sprites-icons-80.png); }
.no-backgroundsize .masthead .post .heading::before { background-position: 0 -180px; }
.no-backgroundsize .menu-acct [rel="login"]::before { background: url(../images/icons/12/icon-person.png) no-repeat 50% 50%; }
.no-backgroundsize .logo {
	width: 100%;
	max-width: 100%;
}
.no-backgroundsize .logo-wrap::before { display: none; }
.no-backgroundsize .logo::before {
	display: block;
	background-image: url(../images/design/logo-8-288.png);
}
.no-backgroundsize .logo img {
	visibility: hidden;
	filter: alpha(opacity=0);
}
.no-backgroundsize .mega-show .head { z-index: 2; }
.no-boxshadow .body {
	margin-top: -1px;
	border: 1px solid #CCC;
}
.no-boxshadow .menu .menu-main > li > a { border-bottom: 1px solid #CCC; }
.no-rgba .over {
	background: #000;
	opacity: .6;
	filter: alpha(opacity=60);
}
.no-rgba .menu .menu-main .nav a:hover,
.no-rgba .menu .menu-main > li.active > a span,
.no-rgba .menu .menu-main > li.mega-open > a span { background: #fff; }
.no-multiplebgs .mini-contact-wrap { background: #fff url(../images/design/bg-sticky-contact.png) 2px 100% no-repeat; }
.no-csstransitions .menu .over { display: none; }

#contractsContact > img {
    max-width: 33%;
    margin-right: 10px;
    float: left;
}
.contracts-table td:first-child,
.contracts-table thead th:first-child { text-align: right; }

/*	Product Template
-------------------------------------------------------------- */
.section { padding: 36px 50px 20px; }
.subSection {
	margin: 0 -14px;
	overflow: hidden;
}
.subSection > .column,
.subSection > .columnFigures,
.subSection > .columnContent {
	width: 50%;
	padding: 0 14px;
	float: left;
}
.subSection .columnFigures {
    margin: 0;
    padding: 0;
}
.subSection .columnFigures figure {
	margin: 0;
	padding: 0 7px 14px 7px;
}
.subSection .column .columnFigures { margin: 0 -14px; }

.masthead.productMasthead {
    margin: 20px 0 0 -24px;
    padding-left: 75px;
}
.masthead.productMasthead::after {
    bottom: -16px;
    border-width: 8px 12px;
}
.masthead.productMasthead::before {
    top: 100%;
    border: none;
}

.masthead.productMasthead .image + h1 { max-width: 50%; }
.masthead.productMasthead h1 { padding: 10px 0 35px; }
.masthead.productMasthead {
    margin-left: -24px;
    padding: 40px 0 40px 75px;
}

.section.description { padding: 50px 50px 36px 50px; }
.section.description .subSection { margin: 0 -28px; }
.section.description .subSection > .column { padding: 0 28px; }



/*	Support Template
-------------------------------------------------------------- */
._supportListing .mini-contact {
    width: auto;
    min-width: 0;
}
._supportListing .body-sidebar {
	border: none;
}



.contact-options-wrap { display: none; }
.contactOptionsFieldArea { padding-left: 0; }

@media all and (max-width: 760px) {
	.contact-options-wrap { display: block; }
	#contacts .col-l { display: none; }
}


.region-select .fieldArea { padding-left: 0; }





/* column grid */
@media all and (max-width: 780px) { .has-nav .column-grid .unit { width: 100%; } }

