@charset 'UTF-8';
@import	url('dcvc-fonts.css');

/*------------------------------------*\
    MAIN
\*------------------------------------*/
/* global box-sizing */
*,*::after,*::before {
	box-sizing: border-box;
 	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-webkit-backface-visbility: visible;
	backface-visbility: visible;
}

* {
	-webkit-transition: height 0.2s ease 0s, top 0.2s ease 0s, right 0.2s ease 0s, margin 0.2s ease 0s; /* opacity 0.2s ease 0s, border-color 0.2s ease 0s, color 0.2s ease 0s, background 0.2s ease 0s, width 0.2s ease 0s */
	transition: height 0.2s ease 0s, top 0.2s ease 0s, right 0.2s ease 0s, margin 0.2s ease 0s;
}

a {
	-webkit-transition: color 0s;
	transition: color 0s;
}

#img-cache {
	display: inline-block;
	position: absolute;
	left: -1000000px;
}

html, body {
	max-width: 100%;
	width: 100%;
}

html {
	font-size: 62.5%;
	height: 100%;
	overflow-x: hidden;
}

body {
	color: #000;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	font-family: "MarkPro", sans-serif;
	font-weight: 400;
	font-size: 24px;
	line-height: 33px;
	min-height: 100%;
	min-width: 320px;
	overflow-x: hidden;
	overflow-y: auto;
	position: relative;
}

html[data-useragent*='MSIE'] body,
html[data-useragent*='.NET'] body {
	display: block; /* IE still doesn't get all flex layout */
	overflow-y: hidden;
}

input, button {
	letter-spacing: inherit;
}

input, select, button, textarea,
input:focus, select:focus, button:focus, textarea:focus {
	-webkit-appearance: none;
	-moz-appearance: none; 
	border-radius: 0;
	outline: 0;
}

main {
	display: block;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

img.circular {
	border-radius: 3840px;
}

img.missing {
	border: 1px dotted #000;
}

img.loading {
	height: 50px;
	width: 50px;
}

img.spin {
	-webkit-animation:spin 2s linear infinite;
	animation:spin 2s linear infinite;
}
@-webkit-keyframes spin { 100% { 
		-webkit-transform:rotate(360deg); 
	}
}
@keyframes spin { 100% {
		-webkit-transform:rotate(360deg);
		transform:rotate(360deg);
	}
}

div.spinner {
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

p:empty {
	display: none;
}

a {
	color: inherit;
	cursor: pointer;
	text-decoration: none;
}

a:focus,
a:active {
	outline: 0;
}

html.using-keyboard-navigation header a:focus img,
html.no-js header a:focus img,
html.using-keyboard-navigation footer a:focus img,
html.no-js footer a:focus img,
html.using-keyboard-navigation footer select.translate:focus,
html.no-js footer select.translate:focus {
	border: 1px dotted #78be20;
}

html.using-keyboard-navigation main a:focus img,
html.no-js main a:focus img,
html.using-keyboard-navigation header nav li:not(.button-type) > span >  a:focus,
html.no-js header nav li:not(.button-type) > span >  a:focus,
html.using-keyboard-navigation main nav li:not(.button-type) > span >  a:focus,
html.no-js main nav li:not(.button-type) > span >  a:focus {
	outline: 1px dotted #78be20;
}

html.using-keyboard-navigation main a:not(.nav):focus,
html.no-js main a:not(.nav):focus,
html.using-keyboard-navigation footer a:focus,
html.no-js footer a:focus {
	text-decoration-color: #78be20;
	-moz-text-decoration-color: #78be20;
}

html.using-keyboard-navigation a.logo:focus img,
html.no-js a.logo:focus img,
html.using-keyboard-navigation a.logo-text:focus img,
html.no-js a.logo-text:focus img {
	outline: 1px dotted #000;
}

input {
	-webkit-appearance: none !important;
	border-radius: 0 !important;
}

input:focus, button:focus {
	outline: 0;
}

select::-ms-expand {
	display: none;
}

/*------------------------------------*\
   STRUCTURE - HEADER, CONTENT, FOOTER
\*------------------------------------*/
.narrow-menu-only,
.narrow480-display-only,
.narrow320-display-only {
	display: none !important;
}

.standard-width-display-only {
}

html:not(.mobile-device) .mobile-device-only {
	display: none !important;
}

html.mobile-device .non-mobile-device-only {
	display: none !important;
}

.vertical-center {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

iframe {
	max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
	font-style: normal;
	font-weight: 700;
	margin: 0;
	text-transform: none;
	font-size: 20px;
}

hr {
	background-color: #78be20;
	border: 3px solid #78be20;
	color: #78be20;
	width: 40px;
}

hr.heading-divider {
	margin: 10px auto 20px;
}

hr.overline {
	padding-top: 1px;
	margin: 0 0 3px;
	text-align: left;
}

div.vr {
	background-color: #78be20;
	border: 3px solid #78be20;
	color: #78be20;
	height: 40px;
}

b, strong {
	font-weight: bolder;
}

i, em {
	font-style: italic;
}

div.no-img-wrap {
	overflow: hidden;
}

/* input placeholder formatting */
input::-webkit-input-placeholder {
	color: #000;
	opacity: 1;
}
input:focus::-webkit-input-placeholder {
	opacity: 0.35;
}

input:-moz-placeholder {
	color: #000;
	opacity: 1;
}
input:focus:-moz-placeholder {
	opacity: 0.35;
}

input::-moz-placeholder {
	color: #000;
	opacity: 1;
}
input:focus::-moz-placeholder {
	opacity: 0.35;
}

input:-ms-input-placeholder {
	color: #000;
	opacity: 1;
}
input:focus:-ms-input-placeholder {
	opacity: 0.35;
}

.overline {
	padding-top: 10px;
	border-top: 1px solid #78be20;
}

.underline {
	padding-bottom: 10px;
	border-bottom: 1px solid #78be20;
}

img.social {
	background: url('../img/social.png') scroll no-repeat left center / 135px transparent;
	height: 24px; /*32*/
	margin-right: 5px;
	width: 24px; /*32*/
}

img.social.fb {
	background-position: 2px center; /*11*/
}

img.social.tw {
	background-position: -21px center; /*-27*/
}

img.social.instagram {
	background-position: -53px center; /*-71*/
}

img.social.google {
	background-position: -85px center; /*-111*/
}

/* IE 6-9 */
a.ie-unsupported {
	background: url('../img/warning.png') scroll no-repeat center center transparent;
	background-size: 100%;
	width: 20px;
	height: 20px;
	left: -30px;
	position: absolute;
	top: 4px;
}
#ie-unsupported-wrapper {
	display: none;
}
#ie-unsupported-message {
	background-color: #fff;
	color: #000;
	padding: 20px;
}
#ie-unsupported-message h1 {
	color: #78be20;
	font-size: 28px;
	margin-bottom: 20px;
	text-align: center;
}
#ie-unsupported-message h2 {
	color: #000;
	font-size: 16px;
	margin-bottom: 16px;
}
#ie-unsupported-message a {
	color: #78be20;
}
#ie-unsupported-message sup {
	margin-top: -5px;
}
#ie-unsupported-message .legal {
	font-size: smaller;
	font-style: italic;
	margin-top: 26px !important;
}

/* header */
header[role="banner"] {
	font-size: 16px;
	font-weight: normal;
	letter-spacing: 1px;
}

div.logo-container {
	background-color: #fff;
	color: #000;
	display: block;
	max-width: 100%;
	margin: 0 auto;
	padding: 20px;
}

div.logo {
	display: block;
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
}

img.logo-img {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	display: block;
	margin: 0 auto;
}

img.logo-img-collapsed {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	display: inline-block;
}

div.logo.collapsed a {
	position: absolute;
	top: 7px;
	z-index: 1;
}

div.logo-container.with-menu + nav {
	max-width: 800px;
}

div.shaded-bar {
	background-image: url("../img/strip-bg.png");
	background-attachment: scroll;
	background-color: transparent;
	background-position: 0 0;
	background-repeat: repeat;
	background-size: 5px 4px;
	height: 8px;
}

div.shaded-bar.white {
	background-image: url("../img/strip-bg-white.png");
}

div.shaded-bar.header {
	height: 10px;
}

/* nav */
.c-hamburger {
	display: inline;
	margin: 11px 5px 0 0;
}

a.skip-nav {
	position: absolute;
	left: -10000px;
}

nav.main {
	color: #000;
	float: right;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 1px;
  position: relative;
  margin: 10px;
  max-width: 1200px;
  text-align: center;
}

nav.main.supplemental {
	border-bottom: 2px solid #78be20;
	border-top: 2px solid #78be20;
	float: none;
	margin: 0 auto;
	max-width: calc(100% - 40px);
}

nav.category {
	text-align: center;
	padding: 40px 0;
}

div.logo-container.with-menu + nav.main {
	margin-top: -60px;
}

nav.main ul:not(.sub-menu) > li > span > a {
	color: #707372;
	border-top: 4px solid transparent;
	display: inline;
	font-size: 14px;
	letter-spacing: 0.2px;
	margin: 0 5px;
	padding: 4px 0;
	text-align: center;
	white-space: normal;
}

nav.main ul:not(.sub-menu) > li.current-page > span > a {
	border-top: 4px solid #78be20;
	color: #78be20;
	font-weight: 700;
}

nav.main ul:not(.sub-menu) > li > span > a:hover,
html.using-keyboard-navigation nav.main ul:not(.sub-menu) > li > span > a:focus,
html.no-js nav.main ul:not(.sub-menu) > li > span > a:focus {
	color: #78be20;
}

div.logo-container.with-menu + nav.main ul:not(.sub-menu) > li > span > a {
	color: #989898;
}

nav.main ul:not(.sub-menu) > li > span > a:not([href]),
nav.main ul:not(.sub-menu) > li > span > a[href=''],
nav.main ul:not(.sub-menu) > li > span > a[href='#'] {
	cursor: default;
}

nav.main ul.dropdown > li > div.top-spacer {
	background-color: transparent;
	display: none;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-flex-wrap: no-wrap;
	    -ms-flex-wrap: no-wrap;
	        flex-wrap: no-wrap;
	left: 50%;
	padding-top: 14px;
	position: absolute;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	-webkit-transition: left 0s ease 0s;
	transition: left 0s ease 0s;
}

nav.main ul.dropdown > li.book > div.top-spacer {
	width: 320px;
}

nav.main ul.dropdown > li.hover > div.top-spacer {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

nav.main ul.dropdown > li.menu-item > a {
	color: #fff;
	padding-bottom: 16px;
	padding-top: 1px;
}

nav.main ul.dropdown,
nav.category ul,
footer ul.social,
footer ul.menu {
	display: block;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

nav.category ul {
	max-width: 800px;
}

nav.main ul.dropdown > li,
nav.category ul > li,
footer section.social-icons ul.social > li,
footer section.menu ul.menu > li {
	display: inline-block;
	margin: 0 10px;
	padding: 1px 0;
	text-align: left;
	text-transform: uppercase;
}

footer section.social-icons ul.social > li,
footer section.menu ul.menu > li {
	padding-bottom: 5px;
}

footer section.social-icons ul.social > li,
footer section.menu ul.menu > li {
	margin: 0 5px;
}

footer section.menu ul.menu > li:not(:first-child) {
	margin-left: 0;
}

nav.main ul.dropdown > li.has-children {
	position: relative;
}

nav.category ul > li {
	line-height: normal;
	margin: 0 15px;
	padding: 0;
}

nav.main ul.sub-menu > li {
	font-size: 15px;
	letter-spacing: 0.5px;
	line-height: 29px;
	margin: 0;
	text-transform: uppercase;
}

nav.main ul.dropdown > li.button-type:not(.open) > span > a {
	cursor: pointer;
}

nav.category ul > li a {
	border-top: 4px solid transparent;
	color: #707372;
	font-size: 14px;
	letter-spacing: 0.2px;
	padding-top: 4px;
	text-decoration: none;
}

nav.category ul > li a.active {
	border-top: 4px solid #78be20;
	color: #78be20;
	font-weight: 700;
}

nav.category ul > li a:hover {
	color: #78be20;
}

html.using-keyboard-navigation nav.category ul > li a:focus,
html.no-js nav.category ul > li a:focus {
	color: #78be20;
	outline: 1px dotted #78be20;
}

nav.main ul.dropdown > li:last-child {
	border-right: 0;
	padding-right: 0;
}

nav.main:not(.supplemental) ul.dropdown > li:last-child {
	margin-right: 0;
}

nav.main ul.sub-menu {
	background-color: #000;
	border: 1px solid #000;
	color: #fff;
	font-size: 15px;
	font-weight: 400;
	height: 0;
	left: 50%;
	letter-spacing: 0;
	list-style: none;
	min-width: 210px;
	opacity: 0;
	overflow: hidden;
	padding: 19px;
	position: relative;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	visibility: hidden;
	white-space: nowrap;
}

nav.main ul.sub-menu.form-container {
	padding: 19px 17px;
}

nav.main.language ul.sub-menu {
	min-width: 0;
}

header nav.main ul.dropdown > li * {
	z-index: 20000;
}

main nav.main ul.dropdown > li * {
	z-index: 10000;
}

nav.main ul.sub-menu.column {
	left: auto;
	padding: 0 9px 19px;
	-webkit-transform: none;
	    -ms-transform: none;
	        transform: none;
}

nav.main ul.sub-menu.column:first-child {
	padding: 0 9px 19px 19px;
}

nav.main ul.sub-menu.column:last-child {
	padding: 0 19px 19px 9px;
}

nav.main ul.sub-menu li > span > a {
	display: block;
	overflow: hidden;
	padding: 3px;
}

nav.main ul.sub-menu li > span > a:hover,
nav.main ul.sub-menu li > span.hover > a,
html.using-keyboard-navigation nav.main ul.sub-menu li > span > a:focus,
html.no-js nav.main ul.sub-menu li > span > a:focus {
	background-color: #fff;
	color: #000;
}

nav.main ul.dropdown > li.hover > span > a[href] {
	color: #78be20;
}

nav.main ul.dropdown > li.current-menu-item > span > a {
	color: #989898;
}

html.using-keyboard-navigation nav.main ul.dropdown span.c-hamburger + ul.sub-menu > li > a:focus,
html.no-js nav.main ul.dropdown span.c-hamburger + ul.sub-menu > li > a:focus {
	outline: 1px dotted #000;
}

html.using-keyboard-navigation nav.main ul.dropdown > li > a:focus,
html.no-js nav.main ul.dropdown > li > a:focus,
nav.main ul.dropdown > li.current-menu-ancestor > a {
	background-color: #989898;
	color: #fff;
}

nav.main li.hover ul.sub-menu {
	height: auto;
	opacity: 1;
	overflow: visible;
	visibility: visible;
}

/* login widget */
form.login {
	background-color: #4d4d4d;
	font-size: 0;
	padding: 25px;
	right: 0;
	text-align: center;
	white-space: normal;
	width: 100%;
	z-index: 5002;
}

div.login-container {
	display: none;
	overflow: hidden;
	padding-top: 20px;
	position: absolute;
	right: 0;
	width: 300px;
}

li.open div.login-container {
	display: block;
}

form.login label {
	position: absolute;
	left: -10000px;
}

li.form-container form.login {
	padding-bottom: 75px;
}

form.login.open,
form.login.always-open {
	display: block;
	overflow: hidden;
}

header form.login input::-webkit-input-placeholder,
section.hotel-nav form.login input::-webkit-input-placeholder,
section aside input::-webkit-input-placeholder {
	color: #4d4d4d;
}
header form.login input:-moz-placeholder,
section.hotel-nav form.login input:-moz-placeholder,
section aside input:-moz-placeholder {
	color: #4d4d4d;
}
header form.login input::-moz-placeholder,
section.hotel-nav form.login input::-moz-placeholder,
section aside input::-moz-placeholder {
	color: #4d4d4d;
}
header form.login input:-ms-input-placeholder,
section.hotel-nav form.login input:-ms-input-placeholder,
section aside input:-ms-input-placeholder {
	color: #4d4d4d;
}

form.login input {
	background-color: #fff;
	border: 0;
	color: #4d4d4d;
	display: inline;
	font-size: 16px;
	font-weight: 200;
	margin: 10px 0 0;
	padding: 14px 10px 13px;
	text-transform: none;
	width: 100%;
}

form.login input:first-child {
	margin-top: 0;
}

form.login input:last-child {
	margin-bottom: 0;
}

form.login input.submit {
	background-color: #78be20;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 2px;
	padding: 15px 20px 12px;
	text-transform: uppercase;
	width: calc(100% - 60px);
}

form.login input.submit:hover {
	color: #000;
}

html.using-keyboard-navigation form.login input.submit:focus,
html.no-js form.login input.submit:focus {
	color: #000;
	text-decoration: underline;
	text-decoration-color: #78be20;
	-moz-text-decoration-color: #78be20;
}

form.login.submit-attempted input:invalid {
	outline: 1px dotted #78be20;
}

/* footer */
footer {
  background-color: #272727;
  background-image: url('../img/footer-vgraphic.png');
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 253px 153px;
  color: #fff;
	display: block;
  font-size: 13px;
  min-height: 153px;
  letter-spacing: 0.4px;
  margin: 30px auto 0;
  padding: 20px 40px 0;
	position: relative;
	text-align: center;
	width: 100%;
}

main.home + footer {
	margin: 0 auto;
}

footer section {
	line-height: normal;
	margin: 0 auto;
	max-width: 800px;
	padding: 0 0 10px;
}

footer section.social-icons a {
	background-attachment: scroll;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 30px;
	display: inline-block;
	height: 30px;
	width: 30px;
}

html.using-keyboard-navigation footer .social-icons a:focus,
html.no-js footer .social-icons a:focus,
footer .social-icons a:hover {
	background-position: right center;
}

footer .social-icons a span {
	margin-left: -100000px;
}

footer nav li:not(:last-child) a {
	border-right: 1px solid #fff;
	padding-right: 8px;
	margin-right: 3px;
}

footer nav li a:hover,
html.using-keyboard-navigation footer nav li a:focus,
html.no-js footer nav li a:focus {
	color: #78be20;
}

/*------------------------------------*\
    CTA DEFAULTS
\*------------------------------------*/
aside.cta {
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}

aside.cta:not(.button) a,
aside.cta:not(.button) span {
	color: #78be20;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.4px;
	text-decoration: none;
	text-transform: uppercase;
}

aside.cta:not(.button) a:hover,
html.using-keyboard-navigation aside.cta a:focus,
html.no-js aside.cta a:focus {
	text-decoration: underline;
}

aside.cta.button > a,
aside.cta.button span {
	background-color: #78be20;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	padding: 3px 35px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

aside.cta.button > a:hover,
html.using-keyboard-navigation aside.cta.button a:focus,
html.no-js aside.cta.button a:focus {
	background-color: #272727;
}

/*------------------------------------*\
    SECTION DEFAULTS
\*------------------------------------*/
section {
	overflow: hidden;
}

main section {
	background-color: transparent;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

main section.hidden {
	display: none;
}

main a {
	color: #78be20;
}

section div.content {
	background-attachment: scroll;
	background-color: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto;
	max-width: 800px;
	overflow: hidden;
	position: relative;
}

/*------------------------------------*\
    PAGES / POSTS
\*------------------------------------*/
section.hero,
section.hero-simple {
	max-width: 100%;
	padding: 0;
}

section.hero div.content,
section.hero-simple div.content {
	background-color: #000;
	background-position: center center;
	max-width: 100%;
}

section.hero .hero-image,
section.post .hero-image {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: rgba(0,0,0,0.7);
  background-image: url('../img/header-vgraphic-overlay.png');
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: auto 267px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 267px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

main.company section.hero .hero-image,
main.company section.post .hero-image {
	background-color: rgba(178,178,178,0.7);
}

section.hero.bio .hero-image {
	height: 382px;
}

section.hero.bio .hero-image .bio-info {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	background-color: transparent;
	background-position: bottom right;
	background-repeat: no-repeat;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	height: 100%;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	margin: 0 auto;
	max-width: 800px;
	padding: 30px 0;
	width: 100%;
}

section.hero .hero-image img.logo {
	margin-right: 30px;
	max-height: 90px;
}

section.hero .hero-image h1 {
	color: #fff;
	font-size: 72px;
	line-height: normal;
	font-weight: 700;
	text-align: center;
}

section.hero.bio .hero-image h1 {
	font-size: 48px;
	line-height: normal;
	text-align: left;
}

section.hero.bio .hero-image h2 {
	font-size: 18px;
	font-weight: 400;
	line-height: 33px;
	text-align: left;
}

section.hero.bio .hero-image * {
	color: #fff;
}

section.hero-simple {
	width: 100%;
}

section.hero-simple .hero {
	background-color: #454545;
	background-image: url('../img/header-vgraphic-overlay.png');
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	height: 80px;
}

section.quote div.content {
	background-image: url('../img/pullquote-graphic.png');
	background-position: left 50px;
	background-repeat: no-repeat;
	background-size: 51px 42px;
	font-size: 24px;
	max-width: 920px;
	padding: 50px 60px;
}

section.quote blockquote {
	font-size: 40px;
	font-weight: 400;
	line-height: 46px;
	margin: 0;
}

section.quote blockquote p {
	margin-top: 0;
}

section.quote blockquote p:last-child {
	margin-bottom: 0;
}

section.post-back div.content {
	background-image: url('../img/blog-back-arrow.png');
	background-position: 30px 33px;
	background-repeat: no-repeat;
	background-size: 13px 14px;
	color: #78be20;
	max-width: 900px;
	padding: 20px 0 20px 50px;
	text-transform: uppercase;
}

section.main div.content {
	max-width: 800px;
}

a.back-to-posts {
	font-weight: 700;
	font-size: 14px;
}

section.main article.post {
	color: #707372;
	font-size: 22px;
	line-height: 33px;
}

section.main article.post h1 {
	font-size: 32px;
	font-weight: 700;
}

section.main article.post h2 {
	font-size: 18px;
	letter-spacing: 0.25px;
	line-height: 33px;
	margin: 20px 0;
	text-transform: uppercase;
}

section.main article.post.single h1 {
	color: #000;
	font-size: 40px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 46px;
}

section.main article.post.single h2 {
	color: #000;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: normal;
	margin: 10px 0 20px;
	text-transform: uppercase;
}

section.main article.post.single h3 {
	color: #000;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 33px;
	text-transform: none;
}
div.contact {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

section.main a.social-icon,
section.bio a.social-icon,
div.contact a.social-icon  {
	background-attachment: scroll;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 30px;
	display: inline-block;
	height: 30px;
	width: 30px;
}

section.main a.social-icon:hover,
section.bio a.social-icon:hover,
div.contact a.social-icon:hover,
html.using-keyboard-navigation section.main a.social-icon:focus,
html.using-keyboard-navigation section.bio a.social-icon:focus,
html.using-keyboard-navigation div.contact a.social-icon:focus,
html.no-js section.main a.social-icon:focus,
html.no-js section.bio a.social-icon:focus,
html.no-js div.contact a.social-icon:focus {
	background-position: right center;
}

section.main a.social-icon span,
section.bio a.social-icon span,
div.contact a.social-icon span {
	margin-left: -100000px;
}

section.main article.post.page h2 {
	color: #78be20;
	font-weight: 700;
}

section.main article.post h2 .date {
	margin-left: 20px;
}

section.main img.post-image {
	width: 100%;
}

section.main article.post.single img:not(.post-image) {
	border-bottom: 2px solid #78be20;
	border-top: 2px solid #78be20;
	padding: 30px 0;
	width: 100%;
}

section.companies div.content,
section.team div.content,
section.partner div.content {
	display: grid;
	grid-auto-columns: calc((100% / 4) - 10px);
	grid-gap: 43px 13px;
	grid-template-columns: calc((100% / 4) - 10px) calc((100% / 4) - 10px) calc((100% / 4) - 10px) calc((100% / 4) - 10px);
	max-width: 1200px;
	padding-bottom: 43px;
}

section.companies div.content {
	grid-auto-rows: 280px;
}

section.companies article.company {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	background-position: center center;
	background-origin: padding-box;
	background-repeat: no-repeat;
	background-size: auto 33%;
	border: 1px solid #ccc;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	outline: 0px solid transparent;
	overflow: hidden;
}

section.companies article.company a.readmore-keyboard {
	display: none;
	font-size: 14px;
	text-align: center;
	width: 100%;
}

html.using-keyboard-navigation section.companies article.company a.readmore-keyboard {
	display: block;
}

html.using-keyboard-navigation section.companies article.company a.readmore-keyboard:focus {
	text-decoration: underline;
}

html.using-keyboard-navigation section.companies article.company:focus,
html.no-js section.companies article.company:focus,
section.companies article.company:hover {
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 100%;
}

section.companies article.company div.acquired {
	color: #343434;
	font-size: 11px;
	line-height: normal;
	margin-bottom: 10px;
	text-align: center;
	width: 100%;
}

html.using-keyboard-navigation section.companies article.company .summary .cta {
	display: none;
}

section.companies article.company .summary,
section.companies article.company .lightbox {
	display: none;
}

section.companies article.company .summary {
	-webkit-align-content: space-between;
	    -ms-flex-line-pack: justify;
	        align-content: space-between;
	background-color: #a6a6a6;
	color: #fff;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	font-size: 17px;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	line-height: 19px;
	padding: 15px;
}

html.using-keyboard-navigation section.companies article.company:focus .summary {
	background-color: rgba(166,166,166,0.7);
}

section.companies article.company .summary h3 {
	font-size: 21px;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 0.6em;
}

html.using-keyboard-navigation section.companies article.company:focus .summary,
html.no-js section.companies article.company:focus .summary,
section.companies article.company:hover .summary {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

section.companies article.company aside.cta.button > a,
section.companies article.company aside.cta.button span {
	background-color: #fff;
	color: #78be20;
	display: block;
	font-size: 13px;
	letter-spacing: 0.4px;
	padding: 9px 35px;
}

section.companies article.company aside.cta.button > a:hover,
html.using-keyboard-navigation section.companies article.company aside.cta.button a:focus,
html.no-js section.companies article.company aside.cta.button a:focus {
	background-color: #78be20;
	color: #fff;
}

div.company-full {
	color: #707372;
	font-size: 22px;
	line-height: 33px;
}

div.company-full img.logo {
	max-height: 50px;
}

div.company-full div.full {
	border-bottom: 2px solid #78be20;
	border-top: 2px solid #78be20;
	margin: 20px 0;
	padding: 20px 0;
}

div.company-full h3 {
	color: #000;
	font-size: 40px;
	line-height: normal;
	margin-bottom: 0.5em;
}

div.contact a {
	color: #9b9b9b;
	font-size: 20px;
	font-weight: 700;
}

div.contact > a {
	margin-left: 10px;
	margin-top: -5px;
}

div.contact > a:hover,
html.using-keyboard-navigation div.contact > a:focus,
html.no-js div.contact > a:focus {
	color: #78be20;
}

html.using-keyboard-navigation div.contact > a:focus,
html.no-js div.contact > a:focus {
	text-decoration: underline;
}
section.team a,
html.using-keyboard-navigation section.team a:focus,
html.no-js section.team a:focus {
	text-decoration: none;
}

html.using-keyboard-navigation section.team a:focus img,
html.no-js section.team a:focus img {
	outline: none;
}

html.using-keyboard-navigation section.team a:focus h3,
html.no-js section.team a:focus h3 {
	text-decoration: underline;
}

section.team article.team.core div.thumb {
	background-position: center center;
	background-origin: padding-box;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
}

section.team article.team.core img.shading {
	width: 100%;
}

section.team a:hover article.team.core img.shading,
html.using-keyboard-navigation section.team a:focus article.team.core img.shading,
html.no-js section.team a:focus article.team.core img.shading {
	background-color: rgba(39,39,39,0.6);
}


section.team  article.team.core {
	color: #707372;
}

section.team  article.team.core h3 {
	color: #78be20;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.2px;
	line-height: normal;
	margin: 5px 5px 0;
}

section.team  article.team.core h4 {
	color: #707372;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.2px;
	line-height: normal;
	margin: 0 5px;
}

section.intro div.content {
	color: #000;
	font-size: 30px;
}

section.contact div.content {
	color: #78be20;
}

section.contact div.content a:hover,
html.using-keyboard-navigation section.contact div.content a:focus,
html.no-js section.contact div.content a:focus {
	text-decoration: underline;
}

section.intro div.content {
	font-size: 40px;
	line-height: 46px;
	max-width: 800px;
	padding: 0 20px;
}

section.contact div.content {
	font-size: 18px;
	line-height: 33px;
	max-width: 800px;
	padding: 0 20px;
}

section.intro div.content p {
	margin-top: 0;
}

section.contact div.content ul {
	list-style: none;
	padding: 0;
}

section.contact div.content li {
	padding-bottom: 2em;
	position: relative;
}

section.contact div.content li img {
	margin-left: 6px;
	position: absolute;
	top: 10px;
}

section.partner article.team.partner img.thumb {
	background-color: #ccc;
	background-position: center center;
	background-origin: content-box;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 20px;
	width: 100%;
}

section.bio:not(.hero) div.content {
	padding-top: 50px;
}

section.quote + section.bio:not(.hero) div.content {
	padding-top: 0;
}

section.bio article {
	font-size: 22px;
	letter-spacing: normal;
	line-height: 33px;
	color: #707372;
}

section.bio article h3 {
	color: #78be20;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.25px;
	line-height: 33px;
	text-transform: uppercase;
}

section ul.social,
div.contact ul.social {
	display: block;
	list-style: none;
	padding: 0;
	position: relative;
}

div.contact ul.social {
	display: inline-block;
}

section ul.social > li,
div.contact ul.social > li {
	display: inline-block;
	margin: 0;
	padding: 5px;
	position: relative;
	text-align: left;
}

section.hero.bio div.hero-image {
  background-color: #343434;
  background-image: url('../img/header-vgraphic-overlay.png');
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: auto 382px;
}

section.news article.news {
	border-bottom: 1px solid #78be20;
	font-size: 20px;
	line-height: 33px;
	padding: 30px 0;
}

section.news article.news div.teaser > a {
	color: #707372;
}

section.blog article.news,
section.blog article.tweet {
	border-bottom: 1px solid #78be20;
	color: #707372;
	display: grid;
	font-size: 20px;
	line-height: 33px;
	grid-template-columns: 35% calc(65% - 30px);
	grid-column-gap: 30px;
	padding: 30px 0;
}

section.blog article.tweet {
	border-bottom: none;
	border-top: 1px solid #d5d5d5;
	max-width: 600px;
	margin: 0 auto;
}

section.news article.news:last-child,
section.blog article.news:last-child {
	border-bottom: 0px solid transparent;
}

section.news article.news img.post-image {
	max-width: 300px;
}

section.blog article.news img.post-image {
	background-position: center center;
	background-size: cover;
}

section.news article.news h2,
section.blog article.news h2 {
	color: #000;
	font-size: 24px;
	font-weight: 700;
	line-height: 33px;
}

section.news article.news h2 a,
section.blog article.news h2 a {
	color: #000;
}

section.news article.news h2 a:hover,
html.using-keyboard-navigation section.news article.news h2 a:focus,
html.no-js section.news article.news h2 a:focus,
section.blog article.news h2 a:hover,
html.using-keyboard-navigation section.blog article.news h2 a:focus,
html.no-js section.blog article.news h2 a:focus {
	color: #78be20;
}

section.news article.news h3 {
	font-size: 15px;
	font-weight: 400;
	margin: 20px 0;
}

section.news article.news p,
section.blog article.news p {
	margin-bottom: 0;
}

section.blog article.news a.readmore {
	text-transform: lowercase;
	font-size: 16px;
}

html.using-keyboard-navigation section.news article.news a:focus,
html.no-js section.news article.news a:focus,
html.using-keyboard-navigation section.blog article.news a:not(.for-img):focus,
html.no-js section.blog article.news a:not(.for-img):focus {
	text-decoration: underline;
}

html.using-keyboard-navigation section.blog article.news a.for-img:focus img,
html.no-js section.blog article.news a.for-img:focus img {
	outline: 1px solid #78be20;
}

section.tweets div.content {
	max-width: 600px;
}

section.tweets div.content iframe {
	margin: 0 auto;
	max-width: 100%;
}

section.hero + section.intro {
	margin-top: 30px;
}

section.addresses div.content {
	display: grid;
	grid-template-columns: calc(50% - 1px) calc(50% - 1px);
	grid-column-gap: 2px;
	grid-row-gap: 10px;
	max-width: 1200px;
	padding-bottom: 10px;
}

section.addresses div.content article > a.map {
	display: block;
}

section.addresses div.content article > a.map > img {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
}

section.addresses div.content div.address-text {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

section.addresses div.address-text .center {
	border-top: 2px solid #78be20;
	color: #9b9b9b;
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	line-height: 33px;
	margin: 30px 0;
}

section.addresses div.content h2 {
	color: #000;
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
	padding: 10px 20px 10px 0;
	text-transform: uppercase;
}

section.callout-gallery {
	max-width: 100%;
	padding: 0;
}

section.callout-gallery article .text,
section.callout-gallery article aside.cta {
	margin: 1em 0 0.5em;
}

section.callout-gallery.middle-slides article .text::first-line {
	color: #78be20;
	font-weight: 700;
}

section.callout-gallery article > h3 {
	color: #78be20;
	font-size: 12px;
	letter-spacing: 2px;
	margin: 0.5em 0;
	text-transform: uppercase;
}

section.callout-gallery article > h2 {
	color: #78be20;
	font-size: 24px;
	margin: 0.5em 0 1em;
}

section.callout-gallery article > div.controls {
	margin-bottom: 25px;
}

section.callout-gallery article > div.controls a {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 17px;
	cursor: pointer;
	display: inline-block;
	height: 17px;
	width: 23px;
}

section.callout-gallery article > div.controls a:hover,
html.using-keyboard-navigation section.callout-gallery article > div.controls a:focus,
html.no-js section.callout-gallery article > div.controls a:focus {
	background-position: right center;
}

section.callout-gallery article > div.controls a.prev {
	background-image: url('../img/left-arrow.png');
	margin-right: 10px;
}

section.callout-gallery article > div.controls a.next {
	background-image: url('../img/right-arrow.png');
}

section.callout-gallery article > div.controls a > span {
	position: absolute;
	left: -10000px;
}

section.callout-gallery div.content {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: auto 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	min-height: 750px;
	max-width: 100%;
	position: relative;
}

section.callout-gallery.middle-slides {
	border-bottom: 1px solid #dedede;
}

section.callout-gallery.middle-slides div.content {
	background-image: url('../img/bg-middle-slides.png');
	background-size: auto 50%;
	min-height: 700px;
}

section.callout-gallery.top-slides div.content {
	color: #fff;
}

section.callout-gallery img.top-slides-top-mobile,
section.callout-gallery.bottom-slides-divider-mobile {
	display: none;
}

section.callout-gallery div.flexslider {
	background-color: transparent;
	border: 0 solid transparent;
	border-radius: 0;
}

section.callout-gallery div.flexslider ul.slides {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0;}

section.callout-gallery.top-slides div.flexslider,
section.callout-gallery.bottom-slides div.flexslider {
	margin: 0;
	width: 100%;
}

section.callout-gallery.middle-slides div.flexslider {
	margin-left: 50%;
	width: 50%;
}

section.callout-gallery li.slide {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	display: -webkit-box !important;
	display: -webkit-flex !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

section.callout-gallery.top-slides div.flexslider li.slide,
section.callout-gallery.bottom-slides div.flexslider li.slide {
	min-height: 750px;
	width: 100%;
}

section.callout-gallery.bottom-slides div.flexslider li.slide {
	background-position: left center;
	background-size: auto 100%;
}

section.callout-gallery div.flexslider:not(.single-slide) li.slide:not(.flex-active-slide) aside.cta,
section.callout-gallery div.flexslider:not(.single-slide) li.slide:not(.flex-active-slide) div.controls a {
	visibility: hidden;
}

section.callout-gallery div.flexslider article {
	max-width: 540px;
	margin: 0 40px;
	padding: 0 10px;
}

section.callout-gallery.bottom-slides div.flexslider article {
	background-color: rgba(255,255,255,0.4);
	margin-left: calc(50% + 50px);
}

/*------------------------------------*\
    LIGHTBOX DEFAULTS
\*------------------------------------*/
div.pp_overlay {
	z-index: 30000 !important;
}

div.pp_pic_holder {
	background-color: #fff;
	position: fixed;
	top: 50% !important;
	left: 50% !important;
	max-width: calc(100vw - 65px);
	-webkit-transform: translate(-50%, -50%) !important;
	    -ms-transform: translate(-50%, -50%) !important;
	        transform: translate(-50%, -50%) !important;
	z-index: 10000001 !important;
}

div.pp_pic_holder.dark_square.iframe {
	border: 1px solid #fff;
}

div.pp_content {
	height: auto !important;
	max-height: calc(90vh - 100px);
	max-width: 100%;
	overflow: auto;
}

div.pp_pic_holder.iframe div.pp_content {
	overflow: hidden;
}

div.pp_default .pp_details,
div.light_rounded .pp_details,
div.dark_rounded .pp_details,
div.dark_square .pp_details,
div.light_square .pp_details,
div.facebook .pp_details {
	position: absolute;
	top: -25px;
	right: 4px;
}

div.pp_default .pp_close,
div.light_square .pp_close,
div.dark_square .pp_close {
	width: 39px;
	height: 39px;
	background-image: url('../img/close-x.png');
	background-position: left center;
	background-size: auto 39px;
	right: -24px;
	top: -24px;
}

div.dark_square .pp_close {
	background-image: url('../img/close-x-white.png');
}

html.using-keyboard-navigation div.pp_default .pp_close:focus,
html.no-js div.pp_default .pp_close:focus,
div.pp_default .pp_close:focus,
html.using-keyboard-navigation div.light_square .pp_close:focus,
html.no-js div.light_square .pp_close:focus,
div.light_square .pp_close:hover,
html.using-keyboard-navigation div.dark_square .pp_close:focus,
html.no-js div.dark_square .pp_close:focus,
div.dark_square .pp_close:hover {
	background-position: right center;
}

div.ppt {
	height: 0;
	margin: 0;
}

/* -----------------------------------*\
     LAYOUT - GALLERY
\* -----------------------------------*/
.flex-control-nav {
	bottom: 52px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	display: none;
	-webkit-flex-wrap: nowrap;
	    -ms-flex-wrap: nowrap;
	        flex-wrap: nowrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.flex-control-paging li {
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-webkit-flex-shrink: 1;
	    -ms-flex-negative: 1;
	        flex-shrink: 1;
	max-width: 8px;
}

.flex-control-paging li a,
.flex-control-paging li a:hover {
	background-color: #ececec;
	background-color: rgba(#fff, 0.5);
	box-shadow: initial;
	border-radius: 0;
	height: 8px;
	width: 100%;
}

.flex-control-paging li a.flex-active {
	background-color: #fff;
}

.flex-direction-nav a {
	background-attachment: scroll;
	background-color: transparent;
	background-position: left center;
	background-size: cover;
	color: transparent;
	height: 38px;
	opacity: 1;
	-webkit-transition: all 0s linear 0s;
  transition: all 0s linear 0s;
	width: 21px;
}

.flex-direction-nav .flex-prev {
	background-image: url('../img/arrow-white-left.png');
	opacity: 1;
	left: 0;
}

.flex-direction-nav .flex-prev:hover {
	background-position: right center;
}

.flex-direction-nav .flex-next {
	background-image: url('../img/arrow-white-right.png');
	opacity: 1;
	left: 30px;
}

.flex-direction-nav .flex-next:hover {
	background-position: right center;
}


.flex-direction-nav .flex-prev:hover,
.flex-direction-nav .flex-next:hover {
	background-position: right center;
}

.flex-direction-nav a,
.flex-direction-nav a.flex-next::before,
.flex-direction-nav a.flex-prev::before {
	font-weight: 900;
}

.flex-direction-nav a.flex-next::before,
.flex-direction-nav a.flex-prev::before {
	color: #fff;
}

.flex-direction-nav a span {
	position: absolute;
	left: -10000px;
}

.gallery:not(.single-slide) .flex-viewport:hover ~ .flex-direction-nav a,
.gallery:not(.single-slide) .flex-viewport:hover ~ .flex-direction-nav a.flex-next::before,
.gallery:not(.single-slide) .flex-viewport:hover ~ .flex-direction-nav a.flex-prev::before,
.carousel:not(.single-slide) .flex-viewport:hover ~ .flex-direction-nav a,
.carousel:not(.single-slide) .flex-viewport:hover ~ .flex-direction-nav a.flex-next::before,
.carousel:not(.single-slide) .flex-viewport:hover ~ .flex-direction-nav a.flex-prev::before {
	opacity: 1 !important;
	cursor: pointer;
}

.flex-direction-nav a.flex-prev::before,
.flex-direction-nav a.flex-next::before {
	content: "";
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/


/*------------------------------------*\
    MOBILE DEVICE and TOUCH formatting
    regardless of width
\*------------------------------------*/
html.mobile-device #page {
}

/*------------------------------------*\
    IOS DEVICES
    regardless of width
\*------------------------------------*/
html.ios-device something {
}

/*------------------------------------*\
    FIREFOX ADJUSTMENTS
\*------------------------------------*/
@-moz-document url-prefix() {
}

/*------------------------------------*\
    IE (not Edge) ADJUSTMENTS
\*------------------------------------*/
@media all and (-ms-high-contrast:none) {
	nav.main ul.sub-menu {
		min-width: 100%;
	}
}

/*------------------------------------*\
    Microsoft Edge Browser 12+ (All) ADJUSTMENTS
\*------------------------------------*/
@supports (-ms-accelerator: true) {
}

/*------------------------------------*\
    Safari 6.1+ (9.0 is the latest version of Safari at this time)
\*------------------------------------*/
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { @media {
}}


/*------------------------------------*\
    MOBILE DEVICE ADJUSTMENTS
\*------------------------------------*/


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (max-width:799px) { /* up to this width this we show the mobile menu and footer */
	.wide-menu-only {
		display: none !important;
	}
	.narrow-menu-only:not(.inline):not(.block):not(.list-item):not(.flex),
	.narrow-menu-only.inline-block {
		display: inline-block !important;
	}
	.narrow-menu-only.inline {
		display: inline !important;
	}
	.narrow-menu-only.block {
		display: block !important;
	}
	.narrow-menu-only.list-item {
		display: list-item !important;
	}
	.narrow-menu-only.flex {
		display: -webkit-box !important;
		display: -webkit-flex !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
	header div.logo-container.with-menu + nav.main {
		margin-bottom: 38px;
	}
	header div.logo-container.with-menu + nav.main span.c-hamburger {
		position: absolute;
		right: 10px;
	}
	.c-hamburger.is-active>span,
	.c-hamburger.is-active>span::before,
	.c-hamburger.is-active>span::after {
		background-color: #fff;
	}
	a.ie-unsupported {
		right: 40px;
	}
	nav.main:not(.supplemental) {
		margin: 0;
		text-align: right;
		max-width: calc(100vw - 40px);
		position: absolute;
		right: 20px;
		top: 20px;
		width: 280px;
	}
	nav.main:not(.supplemental).hover {
		background-color: #000;
		background-color: rgba(0,0,0,0.9);
	}
	span.c-hamburger + ul.dropdown {
		background-color: #000;
		background-color: rgba(0,0,0,0.9);
		color: #fff;;
		display: none;
		right: 0;
		max-width: calc(100vw - 40px);
		padding: 30px 10px;
		position: absolute;
		width: 280px;
		z-index: 10000;
	}
	span.c-hamburger.is-active + ul.dropdown {
		display: block;
	}
	nav.main:not(.supplemental) ul.dropdown > li.menu-item {
		padding: 0;
	}
	nav.main:not(.supplemental) ul.dropdown > li.menu-item,
	nav.main:not(.supplemental) ul.dropdown > li.menu-item > span,
	nav.main:not(.supplemental) ul.dropdown > li.menu-item > span > a {
		display: block;
		text-align: left;
	}
	nav.main ul.dropdown > li.menu-item.hover > span > a,
	nav.main ul.dropdown > li.menu-item.hover:not(.no-hover-dropdown) > span > a:not([href]),
	nav.main ul.dropdown > li.menu-item.hover:not(.no-hover-dropdown) > span > a[href="#"],
	nav.main ul.dropdown > li.menu-item.hover:not(.no-hover-dropdown) > span > a[href=""],
	html.using-keyboard-navigation nav.main ul.dropdown > li.menu-item > span > a:focus,
	html.no-js nav.main ul.dropdown > li.menu-item > span > a:focus,
	html.using-keyboard-navigation nav.main ul.dropdown > li.menu-item:not(.no-hover-dropdown) > span > a:not([href]):focus,
	html.no-js nav.main ul.dropdown > li.menu-item:not(.no-hover-dropdown) > span > a:not([href]):focus,
	html.using-keyboard-navigation nav.main ul.dropdown > li.menu-item:not(.no-hover-dropdown) > span > a[href="#"]:focus,
	html.no-js nav.main ul.dropdown > li.menu-item:not(.no-hover-dropdown) > span > a[href="#"]:focus,
	html.using-keyboard-navigation nav.main ul.dropdown > li.menu-item:not(.no-hover-dropdown) > span > a[href=""]:focus,
	html.no-js nav.main ul.dropdown > li.menu-item:not(.no-hover-dropdown) > span > a[href=""]:focus {
		color: #989898;
	}
	nav.main ul.dropdown:first-child > li.menu-item.button-type:first-child {
		margin-left: 10px;
	}
	nav.main ul.dropdown > li.menu-item.button-type.half-width {
		width: calc(50% - 3px);
	}
	nav.main ul.dropdown.single-button > li.menu-item.button-type,
	nav.main ul.dropdown.single-button > li.menu-item.button-type > span,
	nav.main ul.dropdown.single-button > li.menu-item.button-type > span > a {
		color: #000;
	}
	nav.main ul.dropdown > li.menu-item.button-type.hover > span > a,
	html.using-keyboard-navigation nav.main ul.dropdown > li.menu-item.button-type > span > a:focus,
	html.no-js nav.main ul.dropdown > li.menu-item.button-type > span > a:focus {
		color: #fff;
	}
	nav.main:not(.supplemental) ul:not(.sub-menu) > li > span > a {
		margin: 0;
		padding: 8px 9px;
	}
	nav.main:not(.supplemental) ul.dropdown > li.menu-item > span {
		border-top: 1px solid #78be20;
		overflow: hidden;
		position: relative;
	}
	nav.main:not(.supplemental) ul.dropdown > li.menu-item:last-child > span {
		border-bottom: 1px solid #78be20;
	}
	nav.main ul.dropdown > li.menu-item:not(.button-type) > span.has-children,
	nav.main ul.dropdown > li.menu-item.menu-item-has-children:not(.button-type) > span {
		padding-right: 33px;
	}
	nav.main ul.dropdown > li.menu-item:not(:first-child):not(.button-type) > span {
		border-left: none;
	}
	nav.main ul.dropdown > li.menu-item:not(.button-type) > span.has-children::before,
	nav.main ul.dropdown > li.menu-item.menu-item-has-children:not(.button-type) > span::before {
		background-image: url('../img/dropdown-arrow-white.png');
		background-attachment: scroll;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 13px 6px;
		content: '';
		height: 6px;
		position: absolute;
		right: 10px;
		top: 20px;
		width: 13px;
		z-index: -1;
	}
	nav.main ul.dropdown > li.menu-item.open:not(.button-type) > span.has-children::before,
	nav.main ul.dropdown > li.menu-item.menu-item-has-children.open:not(.button-type) > span::before {
		-webkit-transform: rotate(180deg);
		    -ms-transform: rotate(180deg);
		        transform: rotate(180deg);
	}
	nav.main ul.dropdown > li.menu-item:not(:first-child) > span {
		border-left: none;
	}
	nav.main ul.dropdown > li:not(.button-type) > div.top-spacer {
		background-color: #3d3d3d;
		padding: 0 0 0 10px;
	}
	nav.main ul.dropdown > li > div.top-spacer {
		left: auto;
		position: relative;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
	}
	nav.main ul.dropdown > li.menu-item.hover > div.top-spacer { /* turn off hover drop-down effect */
		display: none;
	}
	nav.main ul.dropdown > li.menu-item.open > div.top-spacer {
		display: block;
		width: auto;
	}
	nav.main ul.dropdown > li > div.top-spacer::before {
	}
	nav.main ul.sub-menu.column,
	nav.main ul.sub-menu.column:first-child,
	nav.main ul.sub-menu.column:last-child {
		padding: 0;
	}
	nav.main:not(.supplemental) ul.dropdown li span a {
		color: #fff;
		font-size: 18px;
		width: 100%;
	}
	nav.main ul:not(.sub-menu) > li > span > a,
	nav.main ul:not(.sub-menu) > li.current-page > span > a {
		border-top: 0px solid transparent;
	}
	nav.main ul.sub-menu {
		height: auto;
		opacity: 1;
		overflow: visible;
		visibility: visible;
	}
	nav.main li:not(.button-type) ul.sub-menu {
		background-color: #3d3d3d;
		border: 1px solid #3d3d3d;
		padding: 5px 0;
	}
	div.login-container {
		padding-top: 0;
		position: relative;
		width: 100%;
	}
	li.open div.login-container {
		-webkit-box-align: center;
		-webkit-align-items: center;
		    -ms-flex-align: center;
		        align-items: center;
		background-color: rgba(72,72,72,0.95);
		background-image: url('../img/form-close.png');
		background-position: right 10px top 14px;
		background-repeat: no-repeat;
		background-size: 18px 18px;
		bottom: 0;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		padding: 10px;
		position: absolute;
		top: -49px;
	}
	form.login {
		background-color: transparent;
		padding: 0;
		margin-top: -25px;
	}
	form.login h3 {
		color: #fff;
		font-size: 18px;
		margin: 0 0 10px 0;
		text-align: center;
		text-transform: uppercase;
	}
	footer {
		max-width: 100%;
	}
	section.hero,
	section.hero-simple {
		padding: 0;
	}
	section.hero .hero-image,
	section.post .hero-image {
  background-size: auto 130px;
	height: 130px
	}
	section.hero .hero-image img.logo {
		margin-right: 3.75vw;
		max-height: 11.25vw;
	}
	section.hero .hero-image h1 {
		font-size: 9vw;
	}
	section.quote div.content {
		background-position: left 25px;
		padding: 75px 0 50px;
	}
	section.intro div.content {
		padding: 0;
	}
	section.hero.bio {
		margin-bottom: 97px;
	}
	section.hero.bio,
	section.hero.bio div.content,
	section.hero.bio .hero-image,
	section.hero.bio .hero-image .bio-info {
		height: 230px;
		overflow: visible;
		padding: 0;
	}
	section.hero.bio,
	section.hero.bio div.hero-image {
		background-position: bottom left;
		background-size: auto 230px;
	}
	section.hero.bio div.hero-image div.bio-info {
		background-position: bottom right;
		background-size: auto 200px;
	}
	section.hero.bio .hero-image .bio-info .headings {
		padding: 0 20px;
		position: absolute;
		bottom: -97px;
	}
	section.hero.bio .hero-image .bio-info .headings h1,
	section.hero.bio .hero-image .bio-info .headings h2 {
		color: #000;
	}
	section.callout-gallery div.content {
		background-image: none !important;
		min-height: auto !important;
	}
	section.callout-gallery:not(.bottom-slides-divider-mobile) li.slide {
		background-image: none !important;
	}
	section.callout-gallery li.slide {
		height: auto;
		min-height: auto !important;
	}
	section.callout-gallery img.top-slides-top-mobile {
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		display: block;
		height: 35vw;
		position: absolute;
		top: -35vw;
	}
	section.callout-gallery.top-slides div.content {
		background-color: #000;
		color: #fff;
		padding: 35vw 0 0;
		margin-top: 20px;
	}
	section.callout-gallery.top-slides div.flexslider {
		border-color: #000;
	}
	section.callout-gallery div.flexslider,
	section.callout-gallery.middle-slides div.flexslider,
	section.callout-gallery.bottom-slides div.flexslider {
		background-color: transparent;
		margin: 0 auto;
		width: 100%;
	}
	section.callout-gallery div.flexslider ul.slides {
		-webkit-box-align: start;
		-webkit-align-items: flex-start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	section.callout-gallery.middle-slides div.flexslider {
		max-width: 540px;
	}
	section.callout-gallery,
	section.callout-gallery div.content {
		overflow: visible;
	}
	section.callout-gallery.bottom-slides-divider-mobile {
		display: block;
		left: 0;
		margin-top: -10.4166667vw;
		position: absolute;
		z-index: 10000;
	}
	section.callout-gallery.bottom-slides-divider-mobile div.content {
		background-color: transparent;
	}
	section.callout-gallery.bottom-slides-divider-mobile div.flexslider ul.slides {
		width: 20.8333333vw;
	}
	section.callout-gallery.bottom-slides-divider-mobile li.slide {
		height: 20.8333333vw;
		width: 100%;
	}
	section.callout-gallery.bottom-slides div.content {
		padding-top: 20px;
	}
	section.callout-gallery.middle-slides article,
	section.callout-gallery.top-slides article,
	section.callout-gallery.bottom-slides article {
		padding-left: 20px;
		padding-right: 20px;
	}
	section.callout-gallery div.flexslider article,
	section.callout-gallery.top-slides div.flexslider article,
	section.callout-gallery.bottom-slides div.flexslider article {
		margin: 0 auto;
	}
	section.callout-gallery.middle-slides {
		padding-bottom: 10.41666665vw;
	}
	section.callout-gallery.bottom-slides {
		padding-top: 10.41666665vw;
	}
}

@media only screen and (max-width:1199px) { /* scale height in 4-wide */
	section.companies div.content {
		grid-auto-rows: 23.3333vw;
	}
	section.companies article.company .summary {
		font-size: 1.4166667vw;
		line-height: 1.5833333vw;
	}
	section.companies article.company .summary h3 {
		font-size: 1.75vw;
	}
	section.companies article.company aside.cta.button > a,
	section.companies article.company aside.cta.button span {
		font-size: 1.3333333vw;
		padding: 0.75vw 2.9166667vw;
	}
}

@media only screen and (max-width:919px) { /* convert 4-wide to 3-wide */
	section.companies div.content, section.team div.content, section.partner div.content {
		grid-auto-columns: calc((100% / 3) - 9px);
		grid-template-columns: calc((100% / 3) - 9px) calc((100% / 3) - 9px) calc((100% / 3) - 9px);
	}
	section.companies div.content {
		grid-auto-rows: 30.4347826vw;
	}
	section.companies article.company .summary {
		font-size: 1.8478261vw;
		line-height: 2.0652174vw;
	}
	section.companies article.company .summary h3 {
		font-size: 2.2826087vw;
	}
	section.companies article.company aside.cta.button > a,
	section.companies article.company aside.cta.button span {
		font-size: 1.4130435vw;
		padding: 0.9782609vw 3.8043478vw;
	}
}

@media only screen and (max-width:614px) { /* convert 3-wide to 2-wide */
	section.companies div.content, section.team div.content, section.partner div.content {
		grid-auto-columns: calc((100% / 2) - 7px);
		grid-template-columns: calc((100% / 2) - 7px) calc((100% / 2) - 7px);
	}
	section.companies div.content {
		grid-auto-rows: 45.5284553vw;
	}
	section.companies article.company .summary {
		font-size: 2.7642276vw;
		line-height: 3.0894309vw;
	}
	section.companies article.company .summary h3 {
		font-size: 3.4146341vw;
	}
	section.companies article.company aside.cta.button > a,
	section.companies article.company aside.cta.button span {
		font-size: 2.1138211vw;
		padding: 1.4634146vw 5.6910569vw;
	}
}

@media only screen and (max-width:639px) { /* narrow display up to 639px */
	section.hero.bio .hero-image .bio-info .headings h1 {
		font-size: 7.5vw;
	}
	section.addresses div.content {
		grid-template-columns: 100%;
	}
	section.news article.news,
	section.blog article.news {
		grid-template-columns: 100%;
	}
	section.news article.news div.teaser,
	section.blog article.news div.teaser {
		padding-top: 20px;
	}
	section.blog article.news p.readmore {
		margin-top: 0;
	}
	footer {
		background-image: none;
	}
}

@media only screen and (max-width:479px) { /* narrow display up to 479px */
	nav.main:not(.supplemental).hover {
		bottom: 0;
		max-width: 100%;
		left: 0;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 50000;
	}
	nav.main.supplemental ul.dropdown > li {
		margin: 0 6px;
	}
	span.c-hamburger + ul.dropdown {
		background-color: transparent;
		height: calc(100vh - 37px);
		max-width: 100%;
		width: 100%;
	}
	span.c-hamburger.is-active {
		margin: 17px 17px 0 0;
	}
	li.open div.login-container {
		background-position: right 21px top 21px;
		top: -54px;
	}
	section.hero.bio {
		margin-bottom: 20.2083333vw;
	}
	section.hero.bio .hero-image .bio-info .headings {
		bottom: -20.2083333vw;
	}
	section.hero.bio .hero-image .bio-info .headings h2 {
		font-size: 3.75vw;
		line-height: 6.875vw;
	}
	section.callout-gallery.bottom-slides img.mobile-divider {
		height: 100px;
		top: -50px;
	}
}

@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (min-resolution:144dpi) {
}

/*------------------------------------*\
    MISC
\*------------------------------------*/
::-moz-selection {
	background-color: #78be20;
	background-color: rgba(120, 190, 32, 0.6);
	color: #000;
	text-shadow: none;
}
::selection {
	background-color: #78be20;
	background-color: rgba(120, 190, 32, 0.6);
	color: #000;
	text-shadow: none;
}

::-webkit-selection {
	background-color: #78be20;
	background-color: rgba(120, 190, 32, 0.6);
	color: #000;
	text-shadow: none;
}

::-moz-selection {
	background-color: #78be20;
	background-color: rgba(120, 190, 32, 0.6);
	color: #000;
	text-shadow: none;
}
