/******************************************************************

Theme Name: Eight Wire
Theme URI: https://eightwire.uk
Description: Web Design & Development
Author: Eight Wire
Author URI: https://eightwire.uk
Version: 210806
Tags: one-column, two-columns, right-sidebar, custom-header, custom-menu, featured-images
Text Domain: eightwire 

******************************************************************/

/***
VARS
***/
:root { 
    --dark: #1A1A1A;
	--grey: #D6D6D6;
    --lite: #5E5E5E;
    --blue: #4F729E;
    --blue2: #4F729E;

    --color-text: var(--lite);
    --color-primary: var(--dark);
    --color-secondary: var(--grey);
	
    --font-sys: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
	--roboto: "Roboto";
	
    --font-primary: var(--roboto), var(--font-sys);
    --font-secondary: var(--roboto), var(--font-sys);
	
    
    --font-size-body: 17;
    --lineheight: 1.5;
    --lineheight: 1.5;
    
    --wrapperwidth: 1172px;
	
    --headerheight: 148.8; /* set using JS if height varies responsively */
    --fullheight: 0;
    --bannerheight: 0;
    
    --vh:0;
    --uivh: calc(var(--vh,1vh) * 100); /* --vh calculated by script */
    --adminbarheight: 0;
	
	--pad: 30px;
	--gridgap: var(--pad);
    
    --transition-attr:all;
    --transition-time:0.2s;
    --transition-type:ease;
	
	--gridcols: 1;
	--gridgap: 0;
	--aspectratio: 1/1;
}
/***
BASE
***/
html, body {
    margin: 0;
    padding:0;
    font-family: var(--font-primary);
	max-width: 100vw;
}
html {
    height: var(--uivh,100vh);
    font-size: 62.5%;
    -ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
html:focus-within {
	scroll-behavior: smooth;
}
*, *::after, *::before {
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}
body {
	font-weight: 400;
	font-size: calc(var(--font-size-body) * 0.1rem);
	line-height: var(--lineheight, 1.5);
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
    background-color: #fff;
	overflow-y: scroll;
	overflow-x: hidden;
    min-height:100%;
	min-width: 160px;
}
body.admin-bar {
    --adminbarheight: 32;
}
@media screen and (max-width: 782px) {
    body.admin-bar {
        --adminbarheight: 46;
    }
}
@media screen and (max-width: 959px) {
    :root {
        --headerheight: 120; /* may need JS to set if height varies responsively */
    }
}
@media only screen and (max-device-width : 1024px) and (orientation : portrait) {
    .fullheight {
        height: 100vh; /* fallback */
    }
    .fullheight {
        --fullheight:calc(var(--uivh) - var(--adminbarheight) * 1px);
        height: var(--fullheight,100vh);
    }
}
/*@supports ( backdrop-filter: blur(3px) ) {
    #wpadminbar {
        -webkit-backdrop-filter: blur(3px) contrast(.8) hue-rotate(45deg);
        backdrop-filter: blur(3px) contrast(.8) hue-rotate(45deg);
        background: rgba(0,0,0,0.7);
    }
}*/

/******
STYLING
******/
.wrapper {
	max-width: var(--wrapperwidth);
	margin: 0 auto;
    padding: 0 20px;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-secondary);
    text-rendering: optimizelegibility;
	font-weight: inherit;
	line-height: inherit;
	margin: 0 0 0.5em 0;
    font-weight: 400;
    color: inherit;
    font-size: inherit;
    text-transform: uppercase;
}
.primary {
    color: var(--color-primary);
}
.secondary {
    color: var(--color-secondary);
}
p {
	font-weight: inherit;
	text-rendering: optimizeSpeed;
    font-size: inherit;
	line-height: inherit;
	margin: 0 0 1em 0;
}
p:last-of-type {
	margin: 0;
}
a {
	display: inline-block;
	text-decoration: none;
	color: currentColor;
}
a:active, a:hover {
	outline: 0;
	color: var(--blue);
}
article p a {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--color-primary);
}
article p a:hover {
    color: var(--color-secondary);
    text-decoration-color: var(--color-secondary);
}

/* BUTTON */
.btn, button, [type="button"], [type="reset"], [type="submit"] {
	all: unset;
	color: var(--primary);
	padding: calc(var(--pad) / 3) var(--pad);
	font-weight:500;
	text-transform: uppercase;
	border: 1px solid var(--color-primary);
	display: table;
}
.btn:hover, button:hover, [type="button"]:hover, [type="reset"]:hover, [type="submit"]:hover {
	color: var(--blue);
	background: #fff;
}

article.article strong a, article.article a strong {
	font-weight:500;
	font-size: 1.3rem;
	letter-spacing: 0.0822em;
	text-transform: uppercase;
	display: inline-table;
	text-decoration: none;
	position: relative;
	z-index: 2;
	color: #fff;
	background: var(--blue);
	border: none;
	cursor: pointer;
	padding: calc(var(--pad) / 4) calc(var(--pad) * 3);
}
article.article strong a:hover, article.article a:hover strong {
	background: var(--dark);
}

/*****
HEADER 
*****/
header.header {
    position: relative;
}

/* Header Background */
.header-background {
	display: block;
	background: var(--grey) url() 50% 50% no-repeat scroll;
	background-size: cover;
	color: #fff;
	position: relative;
	height: 33vh;
}
.home .header-background {
	height: auto;
}
.header-caption-wrapper {
	min-height: calc(100vh - calc(var(--adminbarheight) * 1px) - 26px);
	pointer-events: none;
}
@media screen and (min-height:800px) {
	.header-caption-wrapper {
		min-height: auto;
	}
}
@media screen and (min-width:1400px) and (min-height:800px) {
	.header-background[style] .header-caption-wrapper {
		min-height: auto;
		height: calc(100vh - calc(var(--adminbarheight) * 1px) - 26px);
		max-height:396px;
	}
	.home .header-background[style] .header-caption-wrapper {
		max-height:641px;
	}
	.header-background:not([style]) .header-caption {
		padding:var(--pad) 0 calc(var(--pad) * 2) 0;
	}
}
.header-background[style]::after {
	content:"";
	position: absolute;
	top: 0; right:0; bottom: 0; left: 0;
	z-index: 1;
	pointer-events: none;
	background: rgba(128,128,128,0.54);
	mix-blend-mode: multiply;
}
.header-caption-wrapper {
	position: relative;
	z-index: 3;
	--pad: 48px;
}
@media screen and (max-width:640px) {
	.header-caption-wrapper {
		--pad: 12px;
	}
}
.header-caption {
	pointer-events: all;
}

/* Site Logo */
.sitelogo {
	display:block;
	margin: 13px auto 17px 0;
    z-index: 500;
	text-align:center;
    width:323px;
	height:101px;
}
.sitelogo img ,
.sitelogo svg {
    width:100%;
	max-width: 323px;
    height: auto;
	display:block;
}
.sitelogo svg path {
	fill: var(--blue);
}
.sitelogo:hover svg path {
	fill: var(--dark);
}

/* NAV Menu */
.header-toprow {
	background: #fff;
	color: var(--dark);
}
.header-background .wrapper {
	width: 100%;
}
nav.primary-menu {
	flex-grow: 1;
	max-width: 613px;
	--pad: 12px;
}
nav.primary-menu a {
	font-size: 1.3rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1261em;
}
nav.primary-menu li,
nav.primary-menu li a {
	position: relative;
}
.single-post nav.primary-menu li.menu-item-87::before,
.single-post nav.primary-menu li.menu-item-87::after,
.single-post nav.primary-menu li.menu-item-87 > a::before,
.single-post nav.primary-menu li.menu-item-87 > a::after,
.single-services nav.primary-menu li.menu-item-364::before,
.single-services nav.primary-menu li.menu-item-364::after,
.single-services nav.primary-menu li.menu-item-364 > a::before,
.single-services nav.primary-menu li.menu-item-364 > a::after,
.single-sectors nav.primary-menu li.menu-item-190::before,
.single-sectors nav.primary-menu li.menu-item-190::after,
.single-sectors nav.primary-menu li.menu-item-190 > a::before,
.single-sectors nav.primary-menu li.menu-item-190 > a::after,
.single-case-studies nav.primary-menu li.menu-item-763::before,
.single-case-studies nav.primary-menu li.menu-item-763::after,
.single-case-studies nav.primary-menu li.menu-item-763 > a::before,
.single-case-studies nav.primary-menu li.menu-item-763 > a::after,
nav.primary-menu .menu > li[class*="current"]::before,
nav.primary-menu .menu > li[class*="current"]::after,
nav.primary-menu .menu > li[class*="current"] > a::before,
nav.primary-menu .menu > li[class*="current"] > a::after {
	content:"";
	display:block;
	width: 11px;
	height: 11px;
	background: transparent url() 0 0 no-repeat scroll;
	background-size: contain;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' stroke-miterlimit='10' clip-rule='evenodd' viewBox='0 0 100 100'%3e%3cpath fill='%234F729E' fill-rule='nonzero' stroke='%234F729E' stroke-width='.49' d='M0-10.816V.441h.442v-11.698h-11.115v.441H0z' transform='matrix(8.6138 0 0 8.25823 94.024 95.1)'/%3e%3c/svg%3e");
	pointer-events: none;
	position: absolute;
	position: absolute;
	z-index: 1;
}
nav.primary-menu .menu > li::before {
	bottom:-11px;
	right:-11px;
	transform: rotate(90deg);
}
nav.primary-menu .menu > li::after {
	bottom:-11px;
	left:-11px;
	transform: rotate(180deg);
}
nav.primary-menu .menu > li > a::before {
	top:-11px;
	right:-11px;
}
nav.primary-menu .menu > li > a::after {
	top:-11px;
	left:-11px;
	transform: rotate(270deg);
}
@media screen and (min-width:1025px) {
	.menu {
		display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		position: relative;
	}
	nav.primary-menu .menu > li {
		position: relative;
	}
	nav.primary-menu .menu .sub-menu {
		display: none;
		position: absolute;
		top: 100%;
		z-index: 10;
		background: rgba(255,255,255,0.7);
		backdrop-filter: blur(10px);
		margin-left: 50%;
		transform: translateX(-50%);
		border-top: 7px solid #fff;
		filter: drop-shadow(0px 10px 10px rgba(0,0,0,0.15));
	}
	nav.primary-menu .menu li:hover .sub-menu {
		display: block;
	}
	nav.primary-menu .menu .sub-menu li a {
		display: block;
		text-align: center;
		white-space: nowrap;
		padding: 0.5em 1em;
		letter-spacing: 0.0248em;
		color: var(--text);
	}
	nav.primary-menu .menu .sub-menu li.current-menu-item a {
		color: var(--blue) !important;
	}
	nav.primary-menu .menu .sub-menu li a:hover {
		color: var(--blue);
	}
}

.hamburger {
	position: relative;
	z-index: 2000;
	display: none;
	cursor: pointer;
	place-content: center;
	gap: 3px;
	padding: 3px;
	transform-origin: center 6px;
}
.hamburger span {
	display: block;
	width: 15px;
	height: 3px;
	border-radius: 3px;
	background: var(--color-text);
	transition: all 0.5s ease-in-out;
}
.hamburger:hover span {
	background: var(--blue) !important;
}
.hamburger-switch:checked ~ .hamburger {
	position: fixed;
	top: calc(20px + (var(--adminbarheight) * 1px));
	right: 20px;
	z-index: 3000;
}
.hamburger-switch:checked ~ .hamburger span {
	background: var(--blue) !important;
}
.hamburger span {
	transform-origin: center;
}
.hamburger-switch:checked ~ .hamburger span.ham1 {
	transform: rotateZ(45deg) translate(7px, 4px) scaleX(1.6);
}
.hamburger-switch:checked ~ .hamburger span.ham2 {
	transform: scale(0);
	opacity: 0;
}
.hamburger-switch:checked ~ .hamburger span.ham3 {
	transform: rotateZ(-45deg) translate(3px, -2px) scaleX(1.6);
}
.hamburger-switch:checked ~ .hamburger:hover span {
	background: var(--color-secondary) !important;
}
.hamburger-switch {
	display: none;
}
@media screen and (max-width: 1024px) {
	nav.primary-menu {
		position: absolute;
		top: 58px;
		right: 20px;
		z-index: 600;
	}
	/*.admin-bar nav.primary-menu {
		margin-top: calc(var(--adminbarheight) * 1px);
	}*/
	#wpadminbar {
		position: fixed !important;
	}
	nav.primary-menu > .wrap {
		position: relative;
	}
	.hamburger {
		display: -ms-grid;
		display: grid;
	}
	.menu {
		display: none !important;
		position: fixed;
		left:0;
		z-index: 999;
		top: 0;
		height: 100vh;
		padding: 20px;
		padding-top: calc(20px + (var(--adminbarheight) * 1px));
		width: 100%;
		overflow-y: auto;
		background-color: rgba(255,255,255,0.7);
		backdrop-filter: blur(10px);
		text-align: center;
	}
	.hamburger-switch:checked ~ .menu {
		display: grid !important;
		place-content: center;
	}	
	.menu > li {
		margin: 0 0 1em 0;
		list-style: none;
	}
	nav.primary-menu .menu .sub-menu {
		display: block;
		margin: 0 0 1em 0;
	}
	.sub-menu li {
		display: block;
	}
	.sub-menu a {
		font-size: 1.3rem !important;
		padding: 0 0.5em;
		text-transform: none !important;
	}
	nav.primary-menu .menu a {
		color: var(--text) !important;
		border-bottom: none !important;
		padding: 0.5em 1em;
	}
	nav.primary-menu .menu a:hover {
		color: var(--color-primary) !important;
	}
	nav.primary-menu .menu li.current-menu-item > a{
		color: var(--blue) !important;
	}
}
@media screen and (max-width: 431px) {
	nav.primary-menu {
		top: 20px;
	}
}





/* HEADER Caption */
.header-caption {
	flex-grow: 1;
	max-width: 510px;
	line-height: 2;
}
.header-title {
	font-size: 1.7rem;
	letter-spacing: 0.6em;
	margin: 1em 0 2em 0;
}
.header-title::after {
	content:"";
	position: absolute;
	z-index: 5;
	left:50%;
	transform: translateX(-50vw);
	width:50vw;
	margin-top: 1em;
	height: 1px;
	display: block;
	background: var(--blue);
}
.header-text {
	font-size: 1.7rem;
	font-weight: 300;
	letter-spacing: 0.06em;
	margin: 1em 0;
}
.header-link {
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.1261em;
	margin: 1em 0 30px 0;
	border: none;
	background: var(--blue);
	padding: 0.5em 2em;
	cursor: pointer;
	display: inline-block;
}
.header-link:hover {
	background: #fff;
	color: var(--blue);
}

/******
LAYOUTS 
******/
.layouts {
	margin: calc(var(--pad) * 2) auto;
}
.twolayout, .textlayout {
	font-weight: 300;
	line-height: 1.97;
	letter-spacing: 0.084em;
}
.layouts > section + section {
	margin: var(--pad) auto 0 auto;
}
.layouts b, .layouts strong {
	color:#1A1A1A;
}
h2 {
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.6em;
	margin: 0 auto 1em auto;
	color: var(--dark);
}
.heading::after {
	content:"";
	display: block;
	height:2px;
	width:103px;
	background-color: var(--blue);
	margin: 0.5em auto 1em auto;
}
h3 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: var(--pad) auto 0 auto;
	letter-spacing: 0.01261em;
	letter-spacing: 0.0822em;
	text-align: center;
	color: var(--dark);
}

/* INTRO */
.intro .heading {
	text-align: center;
	font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.6em;
    margin: 0 auto 1em auto;
    color: var(--dark);
}
.intro h3 {
	letter-spacing: 0.0822em;
}
.intro-text {
	text-align: center;
	padding: var(--pad) calc(var(--pad) * 2);
	border: 2px solid var(--blue);
	margin: 2em auto;
	position: relative;
	font-size: 2rem;
	font-weight: 300;
	letter-spacing: 0.01261em;
}
.intro-text::before,
.intro-text::after {
	content: "";
	background: #fff;
	position: absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index: 2;
}
body.page-id-185 .intro-text::before,
body.page-id-185 .intro-text::after {
	background-color: #F8F8F8;
}
.intro-text::before {
	margin: -2px 50px;
}
.intro-text::after {
	margin: 50px -2px;
}
.intro-text > div {
	position: relative;
	z-index: 5;
}

/* Cards */
.cards {
	margin: calc(var(--pad) * 2) auto;
}
@supports (display: grid) OR (display: -ms-grid) {
	.cards .grid>*:not(img) {
		width:inherit;
		max-width: none;
	}
}
.flip-card {
  background-color: transparent;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
  cursor: pointer;
  font-size: 1.3rem;
  line-height: 1.75;
}
.flip-card.aspect{
	--aspectratio: 270/460;
}
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}
.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.flip-card-front {
  background: var(--grey) url() 50% 50% no-repeat scroll;
  background-size: cover;
  color: #fff;
}
.flip-card-back {
  background-color: var(--blue);
  color: #fff;
  transform: rotateY(180deg);
}
.flip-card-back > a {
  height: 100%;
  cursor: pointer;
}
.flip-card-back > a:hover {
  color: currentColor;
}
.flip-card-back-inner {
	padding: 1em 1em;
	max-width: 73% !important;
	margin: 0 auto;
}
.flip-card .flip-card-title {
	margin:0;
	color: inherit;
}
.flip-card .heading {
	font-size: 1.6rem;
	font-weight: 700;
	margin-top: 2em;
}
.flip-card .heading::after {
	background-color: currentColor;
	width: 29px;
	height: 2px;
}

/* Two Columns */
.twolayout {
	margin: calc(var(--pad) * 2) 0;
}
.twolayout h2::after {
	content:"";
	display: block;
	width:103px;
	height:2px;
	background: var(--blue);
	margin: 1em 0;
}
.twolayout img {
	width: 100%;
}

/* PANELS */
body.page-id-619 {
	background-color: #F8F8F8;
}
.panel {
	background-color: #fff;
}
.panel-heading .heading {
	text-align: left;
}
.panel-heading .heading::after {
	margin-left: 0;
	height: 3px;
}
.panel-toprow {
	background: #000;
	color: #fff;
	min-height: 117px;
}
.panel-toprow img {
	width: 117px;
	-ms-flex-item-align: start;
    align-self: flex-start;
	object-fit: contain;
}
.panel-titles {
	padding: 0.2em calc(var(--pad) * 1.5);
	flex: 1 1 0;
	-ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}
img + .panel-titles {
	padding: 0.2em 1em;
}
.panel-titles h3 {
	margin: 0 0 0.3em 0;
	text-align: left;
	color: inherit;
	text-transform: none;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.2;
}
.panel-titles span {
	color: #B09978;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.207em;
	line-height: 1.2;
	display: inline-block;
}
.panel-text {
	padding: var(--pad) calc(var(--pad) * 1.5);
	font-size: 1.4rem;
	font-weight: 300;
	letter-spacing: 0.104em;
	border-bottom: 8px solid var(--blue);
}

/***
BLOG 
***/
:not(.layouts) .intro {
	margin: calc(var(--pad) * 2) auto;
}
body.page-id-84,
body.page-id-185,
body.tax-sectors {
	background-color: #F8F8F8;
}
.post-thumb {
	background: var(--grey) url() 50% 50% no-repeat scroll;
	background-size: cover;;
	display: block;
	overflow: hidden;
	position: relative;
	transition: transform 0.3s;
	will-change: transform;
}
.post-thumb.aspect {
	--aspectratio: 569/332;
}
.post-thumb:hover {
	transform: scale(1.05);
	transform: scale(1.05);
	z-index: 10;
}
.post-title > * {
	text-align: left;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-transform: none;
}
.post-excerpt {
	font-size: 1.4rem;
	font-weight: 300;
	letter-spacing: 0.104em;
	margin-bottom: auto;
}
.post-article {
	border-bottom: 8px solid var(--blue);
	background: #fff;
}
.post-content {
	height: 100%;
	padding: var(--pad) calc(var(--pad) * 1.5);
}
.post-link a {
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.194em;
	color: var(--blue);
	position: relative;
	margin-top: 1em;
	padding-bottom: 2px;
	border-bottom: 2px solid var(--blue);
}
.post-link a:hover {
	color: var(--blue2);
}
.post-date {
	color: var(--blue);
	text-align: center;
}

/* SWIPER */
.gallery {
	padding-bottom: var(--pad);
	margin-bottom: var(--pad);
	border-bottom: 1px solid var(--blue);
}
.gallery .wrapper {
	padding: 0;
}
.swiper {
	width: 100%;
	height: 200px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	--swiper-navigation-color: #fff; 
	--swiper-pagination-color: #fff
}
.swiper-slide {
	height: 454px;
	text-align: center;
	font-size: 18px;
	background: #fff;
	background-size: cover;
	background-position: center;
	
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.layout-gallery {
	height: 90%;
	width: 100%;
}

.layout-gallery-thumbs {
	padding: 10px 0;
}

.layout-gallery-thumbs .swiper-slide {
	width: 25%;
	height: 100%;
	opacity: 0.4;
	cursor: pointer;
}
.layout-gallery-thumbs .swiper-slide:hover {
	opacity: 0.9;
}

.layout-gallery-thumbs .swiper-slide-thumb-active {
	opacity: 1;
}
.swiper-button-next:after, .swiper-button-prev:after {
	font-family: var(--fontsys);
}
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
	content: "\003C";
}
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
	content: "\003E";
}
.ttitle { text-align: center; }
.testimonials .swiper-slide {
	height: auto;
}
.testimonials .swiper-container {
	    padding-bottom: 20px;
}
.testimonials .swiper-pagination {
	bottom: 0;
}
.testimonials .swiper-button-next::after, 
.testimonials .swiper-button-prev::after {
	color: var(--color-text);
}

/* FAQ */
.layout.faqs {
	margin: calc(var(--pad) * 2) 0;
}
.layout.faqs .faq {
	border-bottom: 1px solid #ccc;
	padding-bottom: 1em;
}
.faqtitle {
	text-align: center;
}
.faqquestion {
	text-align: left;
}

/* RELATED */
.related {
	background-color: #F8F8F8;
	border-top: 2px solid var(--blue);
}



/*********
HIGHLIGHTS 
*********/
.highlights {
	position: relative;
	padding: 4em 0;
}
.highlights::before {
	content:"";
	position: absolute;
	z-index: 1;
	display: block;
	top:0;right:0;bottom:0;left:0;
	background: rgba(0,0,0,0.7);
}
.highlights .wrapper {
	position: relative;
	z-index: 2;
	color: #fff;
	text-align: center;
}
.highlights .grid {
	--gridgap: var(--pad) calc(var(--pad) * 2.9);
}
.highlight {
	padding: 1em;
}
.highlight h4 {
	font-size: 2.1rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0.1261em;
}
.highlight svg {
	max-height: 40px;
	margin:0.5em;
}

/******
SIGN UP 
******/
.signup {
	background: var(--blue);
	color: #fff;
	padding: calc(var(--pad) * 2) 0;
	text-align: center;
}
.signup .heading {
	font-size: 1.8rem;
	letter-spacing: 0.6em;
}
.signup .heading::after {
	margin: 1em auto;
	background-color: #fff;
}
.signup form {
	position: relative;
}
.signup form::before {
	content:"";
	display: block;
	position: absolute;
	left:-50vw;
	margin-left: 50%;
	z-index: 1;
	width: 100vw;
	border-top: 1px solid #fff;
	margin-top: 1.2em;
}
.signup form::after {
	content:"";
	display: block;
	position: absolute;
	top:0;
	width:1px;
	left:50%;
	z-index: 1;
	height: 100%;
	border-left: 1px solid #fff;
}
.signup input[type="email"] {
	position: relative;
	z-index: 2;
	display: block;
	margin: 1em auto;
	width: 100%;
	max-width: 686px;
	background: var(--blue);
	line-height: 4.1rem;
	text-align: center;
	color: #fff;
	border: 1px solid #fff;
}
.signup input[type="email"]:focus {
	background: #fff;
	color: var(--dark);
}
.signup .btn {
	position: relative;
	z-index: 2;
	font-size: 1.3rem;
	letter-spacing: 0.1261em;
	color: #fff;
	background: var(--blue);
	border-color: #fff;
	cursor: pointer;
	margin: 0 auto;
}
.signup .btn:hover {
	background: #fff;
	color: var(--blue);
}

/******
CONTACT 
******/
.contactinfo {
	margin: calc(var(--pad) * 2) 0;
	font-size: 1.5rem;
}
.contactinfo.gridgap {
	--gridgap: calc(var(--pad) * 2);
}
.contactinfo h3 {
	text-align: left;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.6em;
	margin: 0 auto 1em auto;
	color: var(--dark);
}
.contactinfo .heading {
	position: relative;
}
.contactinfo .heading::before {
	content:"";
	display: block;
	position: absolute;
	bottom:3px;
	z-index: -1;
	pointer-events: none;
	width: 100%;
	border-bottom: 1px solid var(--dark);
	margin-bottom: -2px;
}
.contactinfo .heading::after {
	margin: 0.5em auto 1em 0;
	height: 3px;
	width: 83px;
}
.contactinfo a {
	min-height: 27px;
}
.contactinfo svg {
	max-width: 27px;
	margin-right: 15px;
	vertical-align: middle;
}
.contactinfo svg path {
	fill: var(--blue);
}
.contactinfo .gridgap {
	--gridgap: 1em;
}
/* CONTACT FORM 7 */
div.wpcf7 p {
    margin: 0;
}
div.wpcf7 label {
    padding: 0.5em 0;
    display: inline-block;
}
div.wpcf7 input:not([type="submit"]),
div.wpcf7 textarea {
	width:100%;
	border:1px solid #666666;
	color:#666666;
	padding:5px 10px;
}
div.wpcf7 textarea {
	max-height:8em;
	overflow:auto;
}
div.wpcf7 input::-webkit-input-placeholder, div.wpcf7 textarea::-webkit-input-placeholder {
	color:#999999;
}
div.wpcf7 input::-moz-placeholder, div.wpcf7 textarea::-moz-placeholder {
	color:#999999;
}
div.wpcf7 input:-ms-input-placeholder, div.wpcf7 textarea:-ms-input-placeholder {
	color:#999999;
}
div.wpcf7 input::-ms-input-placeholder, div.wpcf7 textarea::-ms-input-placeholder {
	color:#999999;
}
div.wpcf7 input::placeholder,
div.wpcf7 textarea::placeholder {
	color:#999999;
}
div.wpcf7 input[type="submit"]{
	position: relative;
	display: inline-block;
	z-index: 2;
	color: #fff;
	background: var(--blue);
	border: none;
	cursor: pointer;
	margin: 0 auto;
	font-size: 1.3rem;
	letter-spacing: 0.1261em;
	padding: calc(var(--pad) / 4) calc(var(--pad) * 1);
}
div.wpcf7 input[type="submit"]:hover{
	background: var(--blue2);
}

/* SITEMAP */
.sitemap h2 {
	text-align: left;
}
article.article li a {
	display: inline;
}
article.article li::marker {
	color: var(--blue2,#000);
	font-weight: 700;
}
article.article li:hover::marker {
	color: var(--blue,#333);
}

/* GO TO TOP */
#gototop {
    display:none; /* script shows on scroll */
    display:none; /* script shows on scroll */
    font-size: 32px;
    background: #fff;
    border: 1px solid #000;
    opacity:0.5;
    color:#000;
    border-radius: 50%;
    text-align: center;
    line-height: 38px;
    width:40px;
    height:40px;
    position:fixed;
    left:40px;
    bottom:40px;
    z-index: 999;
}
#gototop:hover {
    opacity: 1;
}

/* FOOTER */
footer.footer {
	padding: calc(var(--pad) * 2) var(--pad);
	background: var(--dark);
	color: #fff;
	font-size: 1.5rem;
}
footer.footer h6 {
	font-size: 1.9rem;
}
footer.footer h6::after {
	content:"";
	display: block;
	height:1px;
	width:58px;
	background-color: var(--blue);
	margin: 0.5em 0 1em 0;
}
footer.footer ul {
	-webkit-columns: 2;
   -moz-columns: 2;
   columns: 2;
   -webkit-column-gap:var(--pad);
   -moz-column-gap:var(--pad);
   column-gap: var(--pad);
}
footer.footer li {
	text-transform: uppercase;
}
.certifications .grid {
    --gridauto: 75px;
	max-width: 285px;
}
.credits {
	padding: var(--pad);
	background: #fff;
	color: var(--blue);
	text-align: center;
	font-size: 1.5rem;
}
.credits a:hover {
	color: var(--dark);
}
.social a {
	display: inline-block;
	width: 38px;
	height:38px;
	margin: 0.5em;
}
/*.social svg path {
	stroke: var(--blue);
}
.social svg path:not(:first-child) {
	fill: var(--blue);
}*/
.social a:hover svg path[stroke-width] {
	stroke: var(--dark);
}
.social a:hover svg path:not(:first-child) {
	fill: var(--dark);
}

/***
FLEX
***/
.flex {
    display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
}
.flexinline {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}
.flex.flexo > * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-flex: 1;
	    -ms-flex: 1 0 0;
	        flex: 1 0 0;
}
.flex.flexi > * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}
.flex.flexgap {
	gap: var(--pad);
}
.flexnowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.flexgrow > * {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1
}
.flexcol {
	 -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.flexrow {
	-webkit-box-orient: horizontal;
	box-orient: horizontal;
	-ms-flex-direction: row;
	flex-direction: row;
}
.flexdirection {
	-webkit-box-direction: normal;
	box-direction: normal;
}
.flexdirectionreverse {
	-webkit-box-direction: reverse;
	box-direction: reverse;
}
.flexstretch {
	-webkit-box-pack: justify;
	box-pack: justify;
	-ms-flex-pack: stretch;
	justify-content: space-between;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-box-align: stretch;
	box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.flexstart {
	-ms-flex-line-pack: flex-start;
	align-content: flex-start;
	-webkit-box-align: flex-start;
	box-align: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
}
.flexwrap {
	-webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
.flexfirst {
	-webkit-box-ordinal-group: 0;
	box-ordinal-group:-1;
	-ms-flex-order: -1;
	order: -1;
}
.flexorder {
	-webkit-box-ordinal-group: 1;
	box-ordinal-group:0;
	-ms-flex-order: -1;
	order: -1;
}
.flexistretch {
	-webkit-align-self: stretch;
	-ms-flex-item-align: stretch;
	-ms-grid-row-align: stretch;
	    align-self: stretch;
}
.flexaround {
	-moz-justify-content: space-around;
	-ms-justify-content: space-around;
 	-ms-flex-pack: distribute;
     justify-content: space-around;
}
.flexspaceb {
	-webkit-box-pack: space-between;
	box-pack: space-between;
	-ms-flex-pack: space-between;
	-moz-flex-pack: space-between;
	justify-content: space-between;
}
.flexevenly {
	-webkit-box-pack: space-evenly;
	box-pack: space-evenly;
	-ms-flex-pack: space-evenly;
	-moz-flex-pack: space-evenly;
	justify-content: space-evenly;
}
.flexcenter {
	-moz-justify-content: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.flexend {
	-moz-justify-content: flex-end;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
.flexvcenter {
	-webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/***
GRID
***/

.grid {
	--gridcols: 1;
	--gridgap: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    gap: var(--gridgap);
}
.grid > * {
	width:100%;
	max-width: calc(100% / var(--gridcols));
}
@supports (display: grid) OR (display: -ms-grid) {
    .grid {
        display: -ms-grid;
        display: grid;
		grid-template-columns: repeat(var(--gridcols), minmax(0, 1fr));
		grid-gap: var(--gridgap);
		gap: var(--gridgap);
	}
}
.gridreverse {
    direction: rtl;
}
.gridreverse > * {
    direction: ltr;
}
.gridcenter {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
    justify-items: center;
}
.gridstretch {
	-webkit-box-pack: stretch;
	-webkit-justify-content: stretch;
	-ms-flex-pack: stretch;
	justify-content: stretch;
}
.gridvcenter {
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.gridvend {
	-webkit-box-align: end;
    -webkit-align-items: end;
    -ms-flex-align: end;
    align-items: end;
}
.gridgap {
	--gridgap: var(--pad);
}
.grid,
.grid21,
.grid31,
.grid321,
.grid4321,
.grid42,
.grid432,
.grid421 {
    gap: var(--gridgap);
	-ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
.grid2,
.grid42 {
	-ms-grid-columns: 1fr var(--gridgap) 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid3 {
	-ms-grid-columns: 1fr var(--gridgap) 1fr var(--gridgap) 1fr;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (min-width:640px) {
    .gridauto {
        /*grid-template-columns: repeat( auto-fill, minmax(min(calc(180px + 12vmin), 100%), 1fr));*/
        grid-template-columns: repeat( auto-fit, minmax(var(--gridauto,236px), 1fr) );
    }
	.grid4321,.grid432,.grid421 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grid21 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width:960px) {
	.grid21 .grid21 {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
}
@media screen and (min-width:768px) {
	.grid31 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width:640px) {
	.grid321 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (min-width:960px) {
	.grid4321,.grid321,.grid432 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width:1280px) {
	.grid421,.grid42 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr var(--gridgap) 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media screen and (min-width:1600px) {
	.grid4321 {
		-ms-grid-columns: 1fr var(--gridgap) 1fr var(--gridgap) 1fr var(--gridgap) 1fr;
    	grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.grid > *:only-child {
    /*grid-column: 1/-1;*/
}
.grid > .gridspanall {
	grid-column: 1/-1;
}

/******
UTILITY
******/
/* ASPECT RATIO with fallback */
.aspect {
	--aspectratio: 1/1;
	aspect-ratio: var(--aspectratio);
}
.aspect.square {
	--aspectratio: 1/1;
}
.aspect.video {
	--aspectratio: 16/9;
}
.aspect.video-alt {
	--aspectratio: 9/16;
}
.aspect.rect {
	--aspectratio: 4/3;
}
/*@supports (aspect-ratio: var(--aspectratio)) {
	.aspect {
		display: grid;
		place-items: center;
	}
}*/
@supports not (aspect-ratio: var(--aspectratio)) {
	.aspect {
		position: relative;
	}
	.aspect::before {
		content: "";
		float: left;
		padding-top: calc(100% / calc(var(--aspectratio)));
	}
	.aspect::after {
		content: "";
		display: block;
		clear: both;
	}
	.aspect > * {
		position: absolute;
		top:0;right:0;bottom:0;left:0;
		z-index: 1;
	}
}
.transition-all, .ta  {
	-webkit-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-moz-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-o-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	-ms-transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
	transition: var(--transition-attr,all) var(--transition-time,0.2s) var(--transition-type,ease);
}
/* ALIGN */
.alignleft {
	float: left;
}
.aligncenter {
    display: inline-block;
    position: relative;
    left: 50%;
    -webkit-transform: translate(-50%, 0px);
        -ms-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
}
.alignright {
	float: right;
}
.none {
	display: none
}
.alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 75vw;
	width: 100%;
}
.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}
.textcenter {
    text-align: center;
}
iframe {
	max-width: 100%;
}

* CLEARFIX */
.cf {
	zoom: 1;
}
.cf::before, .cf::after {
	content: ' ';
	display: table;
}
.cf::after {
	clear: both;
}

/* MAP */
.acf-map {
	margin: calc(var(--pad) * 2) 0;
    width: 100%;
    height: 400px;
}
.acf-map img {
   max-width: inherit !important;
}
/* GREY */
.greyscale {
    -webkit-filter: saturate(0%);
    filter: saturate(0%);
}
.pad {
	padding: var(--pad);
}
.padv {
	padding: var(--pad) 0;
}
.pad2 {
	padding: calc(var(--pad) * 2);
}
.padv2 {
	padding: calc(var(--pad) * 2) 0;
}

/********
GUTENBERG
BLOCKS */




/* RATIO EMBED */

/*https://codepen.io/cvn/pen/WbXEoX/ */
.video-bg {
  background: white;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
.video-bg .video-fg,
.video-bg iframe,
.video-bg video,
.video-bg .youtubevideo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
  Full page video background
  Simulate object-fit: cover
  Based on http://fvsch.com/code/video-background/
*/
/*
@media (min-aspect-ratio: 16/9) {
  .video-bg.cover .video-fg {
    height: 300%;
    top: -100%;
  }
}
@media (max-aspect-ratio: 16/9) {
  .video-bg.cover .video-fg {
    width: 300%;
    left: -100%;
  }
}
*/
@media screen and (max-width: 1082px) {
  .video-bg.cover .video-fg {
    width: 300%;
    left: -100%;
  }
}
@media screen and (min-width:1083px) {
  .video-bg.cover .video-fg {
    height: 300%;
    top: -100%;
  }
}
@supports (-o-object-fit: cover) {
  .video-bg.cover .video-fg.supports-cover {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  .video-bg.cover iframe,
  .video-bg.cover video,
  .video-bg.cover .youtubevideo {
    -o-object-fit: cover;
  }
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .video-bg.cover .video-fg.supports-cover {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  html:not(.safari) .video-bg.cover iframe,
  html:not(.safari) .video-bg.cover video,
  html:not(.safari) .video-bg.cover .youtubevideo {
       -o-object-fit: cover;
          object-fit: cover;
  }
}
/*
  Vertical centering for 16/9 youtube iframes and video elements
  Simulate object-fit: contain for entire element, not just contents of element
*/
.video-bg.contain {
  font-size: 0;
}
.video-bg.contain * {
  font-size: 16px;
}
.video-bg.contain::before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.video-bg.contain .video-fg {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  /* 16:9 */
  pointer-events: none;
}
.video-bg.contain iframe,
.video-bg.contain video {
  pointer-events: auto;
}
@media (min-aspect-ratio: 16/9) {
  .video-bg.contain .video-fg {
    height: 100%;
    padding-bottom: 0;
    max-width: 53.33333333vh;
    left: 50%;
    margin-left: -26.66666667vh;
  }
}
/* 16x9 Aspect Ratio */
.ratio {
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
}
/* 4x3 Aspect Ratio */
.ratio-4x3 {
  padding-bottom: 75%;
}
.ratio iframe {
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  border:none;
}

/*********
PAGINATION 
*********/
.custom-pagination {
	clear:both;
	margin: 30px auto 60px auto;
	text-align:center;
    font-size: 1.5rem;
	font-weight: 500;
}
.custom-pagination span,
.custom-pagination a {
  display: inline-block;
  padding: 2px 6px;
  text-decoration:none !important;
}
.custom-pagination a {
	color: var(--lite);
	border-radius:0;
	display:inline-block;
	padding:5px 10px;
  	border-bottom: 2px solid transparent;
	background:none;
	position:relative;
	text-transform:uppercase;
	vertical-align: middle;
}
.custom-pagination a:hover {
  color: var(--blue2);
}
.custom-pagination span.page-num {
  margin-right: 10px;
  padding: 0;
  display: none;
}
.custom-pagination span.dots {
  padding: 0;
  color: #CCCCCC;
}
.custom-pagination span.current {
  color: var(--blue);
  border-bottom: 2px solid var(--blue);
  padding:5px 10px;
  display: inline-block;
}
.custom-pagination a.page-numbers.next,
.custom-pagination a.page-numbers.prev {
	text-indent: 99em;
	font-size: 0;
	width: 17px;
	height:17px;
	background: transparent url() 50% 50% no-repeat scroll;
	background-size: contain;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' stroke-miterlimit='10' clip-rule='evenodd' viewBox='0 0 135 134'%3e%3cg transform='scale(.46718 .46187)'%3e%3cpath fill='none' d='M0 0h288.331v288.331H0z'/%3e%3cclipPath id='a'%3e%3cpath d='M0 0h288.331v288.331H0z'/%3e%3c/clipPath%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='none' stroke='%23b09978' stroke-width='2' d='M-14.5 0H0' transform='matrix(-17.8376 0 0 18.0426 2.14 143.914)'/%3e%3cpath fill='none' stroke='%23b09978' stroke-width='2' d='M0 14.5l7.25-7.25L1.115 0' transform='matrix(17.8376 0 0 18.0426 131.463 13.105)'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' stroke-miterlimit='10' clip-rule='evenodd' viewBox='0 0 135 134'%3e%3cg transform='scale(.46718 .46187)'%3e%3cpath fill='none' d='M0 0h288.331v288.331H0z'/%3e%3cclipPath id='a'%3e%3cpath d='M0 0h288.331v288.331H0z'/%3e%3c/clipPath%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='none' stroke='%23b09978' stroke-width='2' d='M-14.5 0H0' transform='matrix(-17.8376 0 0 18.0426 2.14 143.914)'/%3e%3cpath fill='none' stroke='%23b09978' stroke-width='2' d='M0 14.5l7.25-7.25L1.115 0' transform='matrix(17.8376 0 0 18.0426 131.463 13.105)'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
}
.custom-pagination a.page-numbers.prev {
	transform: rotate(-180deg);
}

/************
THEME CHECKER
************/
.sticky {}
.gallery-caption {}
.bypostauthor {}

/***********
PRINT STYLES
***********/

@media print {
	* {
		background: transparent !important;
		color: black !important;
		text-shadow: none !important;
		-webkit-filter: none !important;
		        filter: none !important;
		-ms-filter: none !important;
	}
	a, a:link, a:visited {
		color: #444 !important;
		text-decoration: underline;
	}
	a::after, a:visited::after {
		content: " (" attr(href) ")";
	}
	a abbr[title]::after, a:visited abbr[title]::after {
		content: " (" attr(title) ")";
	}
	.ir a::after,  a[href^="javascript:"]::after,  a[href^="#"]::after {
		content: "";
	}
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr, img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}
	h2,  h3 {
		page-break-after: avoid;
	}
	.searchform,  nav {
		display: none;
	}
}