@charset "utf-8";

/* html5doctor.com Reset v1.6.1 */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/* additional custom resets... */

/* width & height */
img, svg, object, embed, video {
    max-width: 100%;
    height: auto;
}
iframe {
    max-width: 100%;
}
/* box sizing */
html {
	box-sizing: border-box;
}
*, *::before, *::after {
	box-sizing: inherit;
}
/* remove focus styles: dotted outline in Firefox & blue border in Chrome */
a:focus, a:active,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline: none;
}
a::-moz-focus-inner {
    border: 0;
}

/* framework */

/* widths */
.Width650, .Width800, .Width1200, .Width1920, article > *:not(.CustomBlock):not(.CustomSection) {
	width: 90%;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}
.Width650 {
    max-width: 650px;
}
.Width800, article > *:not(.CustomBlock):not(.CustomSection) {
    max-width: 800px;
}
.Width1200 {
    max-width: 1200px;
}
.Width1920 {
	max-width: 1920px;
}
.NoPadLR {
	width: 100%;
}
article > ul, article > ol {
    padding-left: 20px !important;
}

/* display */
.DisplayInline {
	display: inline;
}
.DisplayInlineBlock {
	display: inline-block;
}
.DisplayBlock {
	display: block;
}
.DisplayFlex {
	display: flex;
}
.DisplayInlineFlex {
	display: inline-flex;
}

/* position */
.PosRelative {
	position: relative;
}

/* centering */
.CenterXY {
	justify-content: center;
	align-items: center;
}
.CenterX {
	justify-content: center;
}
.CenterY {
	align-items: center;
}
.TxCenter {
	text-align: center;
}

/* columns: custom (infinite rows) */
.ThreeColumns {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.ThreeColumns > * {
	flex-basis: 100%;
}
/* columns: 2 */
@media only screen and (min-width: 600px) {
	.ThreeColumns > * {
		flex-basis: 50%;
	}
}
/* columns: 3*/
@media only screen and (min-width: 900px) {
	.ThreeColumns > * {
		flex-basis: 33.33%;
	}
}

/* vertical margins */
article > *:not(.CustomBlock) + .CustomBlock,
article > *:not(.CustomBlock) + .gform_wrapper,
footer {
	margin-top: 50px;
}
.CustomBlock, .SectionBtmMargin {
	margin-bottom: 50px;
}
.NoBtmMargin, 
.wp-block-columns,
article > *:last-child,
p:last-child, figure:last-child, ul:last-child, ol:last-child,
.wp-block-buttons:last-child, .wp-block-image:last-child, .wp-block-gallery:last-child, .wp-block-column:last-child {
	margin-bottom: 0;
}
p, figure, ul, ol, .wp-block-buttons, .wp-block-image, .wp-block-gallery, .wp-block-column {
    margin-bottom: 1.5em;
}
@media only screen and (min-width: 768px) {
	/* vertical margins */
	article > *:not(.CustomBlock) + .CustomBlock,
	article > *:not(.CustomBlock) + .gform_wrapper,
	footer {
		margin-top: 100px;
	}
	.CustomBlock, .SectionBtmMargin {
		margin-bottom: 100px;
	}
}

/* clearfix */
.cf::after {
    content: "";
    display: table;
    clear: both;
}

/* background images */
.BgCover {
	background-size: cover !important;
	background-position: center !important;
}

/* colors: backgrounds */
.BgBlack {
	background-color: #2d2d2d;
}
/* colors: text */
.TxCoWhite {
	color: #fff;
}

/* text: general */
body, button, input, select, textarea {
    font-family: 'Crimson Text', serif;
    font-size: 16px;
    font-weight: normal;
    color: #595959;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* text: sizes */
.TxSz14, .has-small-font-size {
    font-size: 14px;
}
.has-regular-font-size {
    font-size: 16px;
}
.TxSz20, .has-large-font-size {
    font-size: 20px;
}
.TxSz24 {
    font-size: 24px;
}
/* text: styles */
.TxUppercase {
	text-transform: uppercase;
}
.TxBold {
	font-weight: bold;
}
/* text: headings */
h1, h2, h3, h4, h5, h6 {
	line-height: normal;
	margin-bottom: .5em;
	font-family: 'Catamaran', sans-serif;
	color: #2d2d2d;
}
h1 {
    font-size: 40px;
}
h2 {
    font-size: 35px;
}
h3 {
    font-size: 30px;
}
h4 {
    font-size: 25px;
}
h5 {
    font-size: 20px;
}
h6 {
    font-size: 18px;
}
@media only screen and (min-width: 768px) {
	h1 {
		font-size: 50px;
	}
	h2 {
		font-size: 40px;
	}
	h3 {
		font-size: 35px;
	}
}
/* text: quotes */
blockquote cite {
	display: block;
}
/* text: lists */
ul, ol {
    margin-left: 20px;
}
.NoListStyle {
    list-style: none;
	margin: 0;
}
/* text: drop caps */
.has-drop-cap::first-letter {
	font-size: 300% !important;
	margin-top: .2em !important;
}

/* text: highlight color */
::-moz-selection {
	color: #fff;
	background: #595959;
}
::selection {
	color: #fff;
	background: #595959;
}

/* links */
a, a:link, a:visited {
	color: inherit;
	transition: all .3s;
}
a:hover, a:focus, a:active {
	text-decoration: none;
}

/* buttons */
a.wp-block-button__link, a.wp-block-button__link:link, a.wp-block-button__link:visited,
button:not(.NoBtnStyle), .Btn, .Btn:link, .Btn:visited, input[type="submit"], input[type="button"] {
	display: inline-block;
	border: 1px solid transparent;
	border-radius: 0;
	background: #2d2d2d;
	padding: 10px 30px;
	font-family: 'Catamaran', sans-serif;
	font-size: 14px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: all .3s;
}
a.wp-block-button__link:hover, a.wp-block-button__link:focus, a.wp-block-button__link:active,
button:not(.NoBtnStyle):hover, button:not(.NoBtnStyle):focus, button:not(.NoBtnStyle):active,
.Btn:hover, .Btn:focus, .Btn:active,
input[type="button"]:hover, input[type="button"]:focus, input[type="button"]:active,
input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active {
	border-color: #d2d2d2;
}
button, button svg {
	transition: all .3s;
}
button.NoBtnStyle {
	color: inherit;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
}

/* button: skip link */
a[href="#MainContent"] {
    position: fixed;
    top: -300px;
    left: 0px;
    transition: all .3s, top 1s ease-out;
    z-index: 2000;
}
a[href="#MainContent"]:focus {
    top: 0px;
    transition: all .3s, top .1s ease-in;
}

/* block: image */
figure {
	max-width: 100% !important;
}
figure.wp-block-image {
	display: inline-block;
}
.wp-block-image img, svg {
	display: block;
}
/* block: image: captions */
.wp-block-image figcaption {
	color: inherit;
	margin: 0;
	padding: .5em;
	border: 1px solid #595959;
	border-top: none;
}
/* image: photo credit */
.PhotoCredit {
    position: absolute;
    bottom: 5px;
    left: 5%;
    width: 90%;
    text-align: right;
    font-size: 10px;
    color: #fff;
    text-shadow: 1px 1px #656565;
    opacity: .8;
}

/* forms */
input:not([type="radio"]):not([type="checkbox"]), select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
}
input:not([type="radio"]):not([type="button"]):not([type="reset"]):not([type="submit"]),
select:not(.ui-datepicker-month):not(.ui-datepicker-year) {
	line-height: 1;
}
input:not([type="radio"]):not([type="button"]):not([type="reset"]):not([type="submit"]),
select:not(.ui-datepicker-month):not(.ui-datepicker-year),
textarea {
	border: 1px solid transparent;
	background-color: #d2d2d2;
	padding: 10px 15px !important;
	font-size: 18px !important;
	color: #444;
	transition: all .3s;
}
input:not([type="radio"]):not([type="button"]):not([type="reset"]):not([type="submit"]):focus,
select:not(.ui-datepicker-month):not(.ui-datepicker-year):focus,
textarea:focus {
	border-color: #2d2d2d;
}
/* forms: Gravity Forms */
body .gform_wrapper ul li.gfield:first-of-type,
body .gform_wrapper ul li.gfield.gf_right_half:nth-of-type(2) {  /* first field */
	margin-top: 0 !important;
}
.gform_wrapper label.gfield_label, .gform_wrapper legend.gfield_label {  /* labels */
	font-family: 'Catamaran', sans-serif;
}
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {  /* sublabels */
	font-family: 'Catamaran', sans-serif;
}
.gform_wrapper .gfield_required {  /* required asterisk */
}
.grecaptcha-badge {  /* invisible reCAPTCHA badge */
	visibility: hidden;
	/* if hidden, must include: This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener">Terms of Service</a> apply.*/
}
.GfCaptchaLegal {
	margin-top: 30px;
}
@media only screen and (min-width: 641px) {
	.gform_wrapper .gform_body {  /* counter right padding so form fills width */
		width: calc(100% + 16px) !important;
	}
}
.gform_wrapper div.validation_error {  /* error: message above form */
	border: none !important;
}
.gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message {  /* error: message box below each field */
	display: none !important;
}
.gform_wrapper .gfield_error [aria-invalid=true] {  /* error: invalid fields */
	border-color: transparent !important;
}
.gform_wrapper .gfield_error [aria-invalid=true]:focus {  /* error: invalid fields */
	border-color: #2d2d2d !important;
}
.gfield_error input, .gfield_error textarea {  /* error: all fields */
	background: #ffc6c6 !important;
}
.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {  /* error: wrapper around each field */
	padding-top: 0 !important;
	border: none !important;
	background: none !important;
}
.gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {  /* error: wrapper around label */
	margin-top: 0 !important;
}
.gform_confirmation_message h2 + br {
	display: none;
}
/* forms: jQuery UI: datepicker */
#ui-datepicker-div {
	display: none;
}
.ui-datepicker-title select { /* selected month & year */
	margin-top: 0 !important;
}
.ui-datepicker-calendar .ui-state-default {  /* day: default */
	background: #ededed !important;  /* default */
}
.ui-datepicker-calendar .ui-state-hover {  /* day: hover */
	background: #f7f7f7 !important;  /* default */
}
.ui-datepicker-calendar .ui-state-active {  /* day: selected */
	width: 30px !important;
	height: 30px !important;
    border: none !important;
	background: #abe83f !important;
    color: #fff !important;
	text-shadow: 1px 1px 2px rgba(0,0,0,.7) !important;
	box-shadow: none !important;
	margin: 0 !important;
}
.ui-datepicker-calendar td:last-child .ui-state-active {  /* day: selected (last day in row) */
	width: 30px !important;
}

/* text meant only for screen readers */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}
.screen-reader-text:hover,
.screen-reader-text:focus,
.screen-reader-text:active {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: .5em;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: .5em;
	width: auto;
	z-index: 100000; /* above WP toolbar */
}

/* site header */
body {
	padding-top: 140px;
}
#SiteHead {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	z-index: 500;
}
#SiteHeadNav, #SiteHeadNav > div {
	height: 100%;
}
.TopLogo {
	position: absolute;
	left: 0;
	top: 0;
	width: 120px;
	height: 100px;
	background: #2d2d2d;
	border: 1px solid transparent;
	border-top: none;
}
.TopLogo:hover, .TopLogo:active, .TopLogo:focus {
	border-color: #d2d2d2;
}
.SiteHeadLinks {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.SiteHeadLinks li {
	display: inline-block;
}
.SiteHeadLinks li:nth-child(1) {
	display: none;
}
@media (min-width: 481px) {
	.SiteHeadLinks li:nth-child(1) {
		display: inline-block;
		margin-right: 20px;
		font-family: 'Catamaran', sans-serif;
		font-size: 18px;
	}
	.SiteHeadLinks li:nth-child(1) a, .SiteHeadLinks li:nth-child(1) a:link, .SiteHeadLinks li:nth-child(1) a:visited {
		display: flex;
		align-items: center;
		line-height: 100px;
		color: #2d2d2d;
		text-decoration: none;
	}
	.SiteHeadLinks li:nth-child(1) a:hover, .SiteHeadLinks li:nth-child(1) a:active, .SiteHeadLinks li:nth-child(1) a:focus {
		text-decoration: underline;
	}
	.SiteHeadLinks li:nth-child(1) a svg {
		width: 20px;
		height: 20px;
		margin-right: 5px;
		fill: #2d2d2d;
	}
}
@media (min-width: 768px) {
	.TopLogo {
		left: calc(50% - 60px);
	}
}

/* site footer */
footer {
	padding: 60px 0;
}

/* cycle slideshows */
.cycle-slideshow {
    background-image: url("../img/spinner.svg");
	background-repeat: no-repeat;
	background-position: center;
    background-size: 64px 64px !important;
	position: relative;
}
.cycle-slideshow[data-cycle-fx="carousel"] {
	width: 100%;
}
.cycle-slideshow.NoBgImg {
	background-image: none;
}
.cycle-slideshow .slide {
	width: 100%;
}
.cycle-slideshow:not([data-cycle-auto-height="calc"]) .slide {
	height: 100%;
}
.cycle-slideshow .slide > [role="img"] {
	width: 100%;
	height: 100%;
}
.cycle-slideshow .slide:not(:first-of-type) {
	display: none;
}

/* block: hero */
.HeroBlock {
	margin-top: -140px;
	position: relative;
}
.HeroBlock, .HeroBlock .cycle-slideshow {
	min-height: 400px;
}
.HeroBlock .slide {
	overflow: hidden;
}
.HeroBlock .slide:not(.cycle-sentinel) img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	position: absolute;
}
.HeroBlock .slide:nth-child(5n + 2) img {
	transform: scale(1.2);
	transform-origin: center;
}
.HeroBlock .slide:nth-child(5n + 2).cycle-slide-active img {
	animation: hero-upscale 9s 1;
}
.HeroBlock .slide:nth-child(5n + 3) img {
	width: 110%;
	max-width: 110%;
	top: 50%;
	transform: translateY(-50%);
	left: -10%;
}
.HeroBlock .slide:nth-child(5n + 3).cycle-slide-active img {
	animation: hero-to-left 9s 1;
}
.HeroBlock .slide:nth-child(5n + 4) img {
	transform: scale(1.2);
	transform-origin: top right;
}
.HeroBlock .slide:nth-child(5n + 4).cycle-slide-active img {
	animation: hero-to-top-right 9s 1;
}
.HeroBlock .slide:nth-child(5n + 5) img {
	transform: scale(1);
	transform-origin: center;
}
.HeroBlock .slide:nth-child(5n + 5).cycle-slide-active img {
	animation: hero-downscale 9s 1;
}
.HeroBlock .slide:nth-child(5n + 6) img {
	height: 110%;
	max-height: 110%;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}
.HeroBlock .slide:nth-child(5n + 6).cycle-slide-active img {
	animation: hero-to-bottom 9s 1;
}
@keyframes hero-upscale {
	0% {
		transform: scale(1);
	}
	100% {
		animation-timing-function: ease-out;
		transform: scale(1.2);
	}
}
@keyframes hero-to-left {
	0% {
		left: 0;
	}
	100% {
		animation-timing-function: ease-out;
		left: -10%;
	}
}
@keyframes hero-to-top-right {
	0% {
		transform: scale(1);
	}
	100% {
		animation-timing-function: ease-out;
		transform: scale(1.2);
	}
}
@keyframes hero-downscale {
	0% {
		transform: scale(1.2);
	}
	100% {
		animation-timing-function: ease-out;
		transform: scale(1);
	}
}
@keyframes hero-to-bottom {
	0% {
		bottom: -10%;
	}
	100% {
		animation-timing-function: ease-out;
		bottom: 0;
	}
}
.HeroBlock .Width650 {
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 200;
}
.HeroBlock .Width650 * {
	text-shadow: 1px 1px 5px rgba(0,0,0,.8);
}
.HeroBlock h1 {
	margin-bottom: 5px;
}

/* block: company grid */
.CoGridList > li {
	padding: 40px;
}
.CoGridList > li:not(:last-child) {	
	border-bottom: 1px solid #d2d2d2;
}
.CoGridLogoFrame {
	max-width: 200px;
	max-height: 200px;
	margin: 0 auto 30px auto;
}
.CoGridList h3 {
	margin-bottom: 5px;
}
.SocialList {
	margin: -10px !important;
}
.SocialList li {
	display: inline-block;
}
.SocialList li a {
	width: 40px;
	height: 40px;
}
.SocialList svg {
	width: 20px;
	height: 20px;
	fill: #d2d2d2;
	transition: all .3s;
}
.SocialList a:hover svg {
	fill: #595959;
}
@media (min-width: 600px) {
	.CoGridLogoFrame {
		height: 200px;
		margin-bottom: 10px;
	}
	.CoGridList > li:nth-last-child(2) {
		border-bottom: none;
	}
	.CoGridList > li:nth-child(odd) {
		border-right: 1px solid #d2d2d2;
	}
}
@media (min-width: 900px) {
	.CoGridList > li:nth-child(odd) {
		border-right: none;
	}
	.CoGridList > li:nth-last-child(3) {
		border-bottom: none;
	}
	.CoGridList > li:nth-child(3n + 2) {
		border-left: 1px solid #d2d2d2;
		border-right: 1px solid #d2d2d2;
	}
}

/* block: contact pg */
.ContactPgBlock > div:first-child {
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.ContactPgBlock > div:first-child {
		float: left;
		width: 40%;
		margin-bottom: 40px;
	}
	.ContactPgBlock > div:last-child {
		float: right;
		width: 50%;
	}
}

/* archives */
.PostArchiveList {}
.PostThumb {}

/* archives: pagination (without numbers) */
.PaginationFrame > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -10px;
}
.PaginationFrame .Btn {
	margin: 10px;
}
@media only screen and (min-width: 481px) {
	.PaginationFrame > div {
		margin: -15px;
	}
	.PaginationFrame .Btn {
		margin: 15px;
	}	
}

/* single: post */
.SharePostFrame a {
	float: left;
	width: 40px;
	height: 40px;
	margin-right: 5px;
	border-radius: 50%;
}
.SharePostFrame a:last-child {
	margin-right: 0;
}
.SharePostFrame a.ShareFacebook {
	background: #3B5998;
}
.SharePostFrame a.ShareTwitter {
	background: #38A1F3;
}
.SharePostFrame a.SharePinterest {
	background: #C8232C;
}
.SharePostFrame a.ShareLinkedIn {
	background: #0077B5;
}
.SharePostFrame a.ShareEmail {
	background: black;
}
.SharePostFrame a:hover, .SharePostFrame a:focus, .SharePostFrame a:active {
	background: blue;
}
.SharePostFrame svg {
    width: 15px;
    height: 15px;
    fill: #fff;
}