/*!
Theme Name: Secan & Partners 2021
Author: Jack Goolden
Author URI: https://itransact.co.uk/
Version: 1.0
Text Domain: Secan & Partners
*/

/* Colours */




body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	/* 2 */
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
	/* 2 */
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
	/* 2 */
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
	/* 2 */
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
}





/* BUTTONS */
button.stripe-button-el,
button,
[type="button"],
[type="reset"],
[type="submit"],
.button,
.fakeButton,
.slideText a,
.buttonPara a {
	display: inline-block;
	color: #FFF;
	font-weight: 400;
	text-decoration: none !important;
	transition: background-color .5s;
	background-color: #2f3788;
	border-radius: 2em;
	padding: 10px 35px;
	border: 0;
	font-size: 19px;
}

button:focus,
button:hover,
button:active,
[type="button"]:focus,
[type="button"]:hover,
[type="button"]:active,
[type="reset"]:focus,
[type="reset"]:hover,
[type="reset"]:active,
[type="submit"]:focus,
[type="submit"]:hover,
[type="submit"]:active,
.button:focus,
.button:hover,
.button:active,
.slideText a:hover,
.buttonPara a:hover,
.listChildPages a:hover {
	text-decoration: none !important;
	background-color: #ff0c0c;
	cursor: pointer;
	outline: none !important;
	color: #fff !important;
}

@media only screen and (MAX-width: 599px) {

	button.stripe-button-el,
	button,
	[type="button"],
	[type="reset"],
	[type="submit"],
	.button,
	.fakeButton,
	.slideText a,
	.buttonPara a {
		font-size: 16px;
	}
}


details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}


span.wpcf7-not-valid-tip {
	position: relative;
	top: -18px;
	left: 10px;
}


/* Forms */
form {
	clear: both;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
	/* 2 */
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
	/* 1 */
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
	/* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
	/* 2 */
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
	/* 2 */
}


/* CONTACT 7 OVERRIDES */
div.wpcf7 label,
div.buy-form label {
	display: block;
	width: 100%;
}

div.wpcf7 label span {}

div.wpcf7 label span.required,
div.buy-form label span.required {
	color: #ccc;
}

div.wpcf7 .wpcf7-form-control-wrap,
div.buy-form .wpcf7-form-control-wrap {
	display: block;
}

div.wpcf7 select,
div.wpcf7 input[type="password"],
div.wpcf7 input[type="search"],
div.wpcf7 input[type="text"],
div.wpcf7 input[type="email"],
div.wpcf7 input[type="tel"],
div.wpcf7 textarea {
	border: none;
	padding: 10px;
	color: inherit;
	background-color: #efefef;
	width: calc(100% - 20px);
	margin: .5em 0;
}

div.wpcf7 select {
	padding: 8px;
}

div.wpcf7 input:-webkit-autofill,
div.wpcf7 input:-webkit-autofill:hover,
div.wpcf7 input:-webkit-autofill:focus textarea:-webkit-autofill,
div.wpcf7 textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
div.wpcf7 select:-webkit-autofill,
div.wpcf7 select:-webkit-autofill:hover,
div.wpcf7 select:-webkit-autofill:focus textarea:-webkit-autofill,
div.buy-form textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
div.buy-form select:-webkit-autofill {
	-webkit-text-fill-color: inherit;
}

@media only screen and (MAX-width: 500px) {
	.alignleft.size-medium {
		margin: 1em 0;
		width: 100%;
		float: none;
	}
}

.twoColForm {
	width: 100%;
}

@media only screen and (min-width: 800px) {
	.wpcf7-form p:nth-last-of-type(1) {
		text-align: right;
		padding-top: 2em;
	}

	.wpcf7 .ajax-loader {
		display: none;
	}

	.twoColForm .flexVerticalCenter {
		padding: 0 3em 3em 0;
	}
}


div.wpcf7-mail-sent-ok {
	border: 2px solid #398f14;
	border-radius: 10px;
	text-align: center;
}

.formerror {
	color: #cc0000;
	font-weight: 400;
}






/* ==========================================================================
 Base styles: opinionated defaults
 ========================================================================== */
html {
	color: #333;
	font-size: .85em;
	line-height: 1.4;
}

::-moz-selection,
::selection {
	background: #70b1e7;
	text-shadow: none;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 2px solid #2f3788;
	margin: 2em 0;
	padding: 0;
	clear: both;
}

form hr {
	width: 98%;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}

.assistive-text {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
	/* 1 */
}

.assistive-text:active,
.assistive-text:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
	white-space: inherit;
}

body>main:before,
body>header:before,
body>footer:before,
.product-overview:before,
aside.recent-news:before,
body>main:after,
body>header:after,
body>footer:after,
.product-overview:after,
aside.recent-news:after {
	content: " ";
	display: table;
	/* 2 */
}

body>main:after,
body>header:after,
body>footer:after,
.product-overview:after,
aside.recent-news:after {
	clear: both;
}

html.lt-ie7 body>main,
html.lt-ie7 body>header,
html.lt-ie7 body>footer,
html.lt-ie7 .product-overview,
html.lt-ie7 aside.recent-news {
	zoom: 1;
}




input,
textarea {
	outline: none !important;
}

main .entry-content a:link,
main .entry-content a:visited {
	text-decoration: underline;
}

.no-touch main .entry-content a:hover,
.no-touch main .entry-content a:active {
	color: #3643c9;
}

main .entry-content .socialicons a:link,
main .entry-content .socialicons a:visited {
	text-decoration: none;
}

nav ul,
nav li,
nav a {
	padding: 0;
	margin: 0;
}

/* WordPress Core Styles
-------------------------------------------------------------- */
.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 0px 20px 5px 0;
}

.alignLeft {
	text-align: left;
}

.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: transparent;
	border: none;
	padding: 0;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: none;
	height: auto;
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.wp-caption p.wp-caption-text,
.wp-caption figcaption.wp-caption-text {
	font-size: 0.7em;
	line-height: 1.1;
	margin: 0.5em 0;
	padding: 0 4px 5px;
}

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail,
img {
	max-width: 100%;
	height: auto;
}

body>header,
body>footer,
body.home .entry-content,
main div[class*="-overview"] article,
.product-overview article,
body.blog main div[class*="-overview"] article,
body.blog main div.overview article,
.recent-news div.overview article {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

header nav a:focus,
header nav a:hover,
header nav a:active {
	text-decoration: none;
}

footer .social a:focus,
footer .socialicons a:focus,
footer .social a:hover,
footer .socialicons a:hover,
footer .social a:active,
footer .socialicons a:active {
	text-decoration: none;
}

/* div.wpcf7 button, div.wpcf7 [type="button"], div.wpcf7 [type="reset"], div.wpcf7 [type="submit"],  */
div.buy-form button,
div.buy-form [type="button"],
div.buy-form [type="reset"],
div.buy-form [type="submit"] {
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.size-extrawidth,
.style-extrawidth {
	display: block;
	width: 1200px;
	margin-left: 50% !important;
	margin-right: 0 !important;
	position: relative;
	left: -600px;
	max-width: 100vw !important;
}

.size-contentwidth:not(.media-object),
.style-contentwidth:not(.media-object) {
	display: block;
	width: 100%;
}




html,
body {
	overflow-x: hidden;
}

body.hasHeaderImage {
	background: #222;
}

h1,
h2,
h3,
h5,
h6 {
	line-height: 1;
	color: #2f3788;
}

h1 {
	font-size: 2.8em;
	margin: 0;
}

h2 {
	font-size: 1.7em;
	font-weight: 300;
	margin-bottom: 1.2em;
}

h3 {
	font-size: 1.4em;
	font-weight: 400;
}

h4 {
	font-size: 1.2em;
	font-weight: 400;
}

h5 {
	font-size: 1em;
	font-weight: 400;
}

p.striking,
.strikingP p {
	font-size: 20px;
	line-height: 1.2em;
	font-weight: 400;
}

/* STANDOUT */
.standOut {
	color: #fff;
	position: relative;
	left: 50%;
	transform: translateX(-51vw);
	width: calc(102vw - 100px);
	padding: 120px 50px;
	clear: both;
	margin: 60px 0;
	background-image: url("img/curveBGgrad.svg");
	background-size: cover;
	z-index: 0;
	text-align: center;
	font-size: 1.8em;
}

.standOut::before {
	content: ' ';
	display: block;
	width: 102vw;
	height: 10.2vw;
	background-image: url("img/SOCurvetop.svg");
	background-size: 101%;
	position: absolute;
	top: -1px;
	left: 0;
	background-position: top center;
	z-index: 3;
}

.standOut::after {
	content: ' ';
	display: block;
	width: 102vw;
	height: 10.2vw;
	background-image: url("img/SOCurveBot.svg");
	background-size: 101%;
	position: absolute;
	bottom: -1px;
	left: 0;
	background-position: bottom center;
}

.standOut .main {
	position: relative;
	z-index: 10;
}

.standOut h2 {
	color: #fff;
}

@media only screen and (MAX-width: 599px) {
	.standOut {
		margin: 20px 0;
	}
}

@media only screen and (min-width: 1000px) {

	p.striking,
	.strikingP p {
		font-size: 24px;
	}

	.standOut {
		padding: 190px 100px;
		width: calc(102vw - 200px);
	}
}






.entry-content> :first-child,
.footerCurve .main> :first-child {
	margin-top: 0;
}

.entry-content {
	font-size: 1.1em;
	padding-top: 40px;
}

@media only screen and (min-width: 1000px) {
	.entry-content {
		padding-top: 70px;
	}
}

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

a:active,
a:hover {
	text-decoration: underline;
}

.unclickable>a {
	pointer-events: none;
}



/* ADMIN BAR */
body.admin-bar>header {
	top: 32px;
}

body.admin-bar nav#site-navigation .menu-toggle {
	top: 32px;
}

@media only screen and (MAX-width: 782px) {

	/* fat admin */
	body.admin-bar>header {
		top: 46px;
	}

	body.admin-bar nav#site-navigation .menu-toggle {
		top: 46px;
	}
}

@media only screen and (MAX-width: 599px) {

	/* fat admin scrolls! */
	/*
	body.admin-bar.scrolled > header {top: 0; }
	body.admin-bar.scrolled nav#site-navigation .menu-toggle { top: 0; }
 */
	body #wpadminbar {
		position: fixed;
	}
}




main ul {
	list-style: none;
}

main ul:not(.social):not(.stack):not(.stacksort):not(.tableOfContentsUL):not(.entry-images):not(.tab-links) li {
	position: relative;
}

main ul:not(.social):not(.stack):not(.stacksort):not(.tableOfContentsUL):not(.entry-images):not(.tab-links) li::before {
	position: absolute;
	content: '•';
	color: #2f3788;
	display: inline-block;
	width: 1em;
	margin-left: -.5em;
	vertical-align: text-bottom;
	font-size: 1.8em;
	top: -0.35em;
	left: -0.3em;
}


.entry-content table {
	width: 100%;
}

.entry-content table td {
	vertical-align: top;
}



/* STANDARD */

.padding {
	padding: 10px;
}

.clear {
	clear: both;
	float: none;
	width: 100%;
}

.center {
	text-align: center;
}

.hide {
	display: none;
}

.positionRelative {
	position: relative;
}

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


/* FLEX */
.flexVerticalCenter {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100%;
}

@media screen and (min-width: 500px) {
	.fullWidth {
		position: relative;
		left: 50%;
		transform: translateX(calc(-50vw - 1px));
		width: calc(100vw + 2px);
	}

	.flex {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: start;
		justify-content: start;
	}

	.flexEqual>*,
	.flexEqual article {
		-ms-flex: 1;
		flex-grow: 1;
		flex-basis: 0;
	}

	/* equal widths */
	.flexEqualGaps>* {
		-ms-flex: 1;
		flex-grow: 1;
		flex-basis: 1;
	}

	/* equal space */
	.flexWrap {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.flexVertical {
		-ms-flex-direction: column;
		flex-direction: column;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
}



.mobileOnly {
	display: block;
}

.desktopOnly {
	display: none;
}

@media screen and (min-width: 500px) {
	.mobileOnly {
		display: none;
	}

	.desktopOnly {
		display: block;
	}
}


/* LOGO */
header .custom-logo-link {
	display: block;
	width: 180px;
	float: left;
	margin: 8px 0px;
	transition: all .5s;
}

.custom-logo-link svg {
	width: 100%;
}

.custom-logo-link svg .logoSt0 {
	fill: #FFFFFF;
	transition: fill .5s;
}

.custom-logo-link:hover svg .logoSt0 {
	fill: #2f3788;
}

@media only screen and (MAX-width: 999px) {
	.custom-logo-link svg {
		height: auto;
	}

	header .custom-logo-link {
		width: 100px;
		margin: 0 0 0 0;
		overflow: hidden;
	}

	header .logoSt0.textCharacter {
		display: none;
	}
}

@media only screen and (min-width: 1000px) {
	header .custom-logo-link {
		margin: 15px 0 0 10px;
	}

	body.scrolled header .custom-logo-link,
	body.noHeaderImage header .custom-logo-link {
		padding-bottom: 0px;
	}
}

@media only screen and (min-width: 1200px) {
	header .custom-logo-link {
		margin: 15px 0 0 20px;
	}
}





/* HEADER */
body>header {
	margin: 0 auto;
	color: #fff;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 502;
	transition: all .5s;
}

body.hasHeaderImage>header {
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
}

body.scrolled>header,
body.hasHeaderImage.scrolled>header,
body.noHeaderImage>header {
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
}

header .mainWide {
	position: relative;
	z-index: 2;
}

.headerBGimage {
	background: #2f3788;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	opacity: 0;
	transition: opacity .5s;
}

body.scrolled .headerBGimage,
body.noHeaderImage .headerBGimage {
	opacity: 1;
}

/* HEADER IMAGE */
.headerImage {
	max-height: 100vh;
	overflow: hidden;
	background-color: #000;
	position: relative;
	margin-bottom: -1px;
	z-index: 1;
}

.headerImage img {
	position: fixed;
	z-index: 0;
	width: auto;
	max-width: none;
	min-width: 100%;
	min-height: 100vw;
	top: 50vw;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.headerImageGradient {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.headerImageGradient svg {
	position: absolute;
	bottom: -1px;
	width: 100%;
	height: auto;
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {

	/* IE only hack */
	.headerImageGradient svg {
		height: 22%;
		bottom: -2px;
	}
}

.pageTitleWithImage {
	position: absolute;
	z-index: 3;
	width: 100%;
}

.pageTitle {
	text-align: center;
}

.headerImage h1 {
	color: #fff;
	margin: 0;
	text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.93);
}

.headerImage h2 {
	color: #fff;
	margin: 20px 0 0 0;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.93);
}

@media only screen and (MAX-width: 699px) {
	.headerImage {
		min-height: 100vw;
	}
}

@media only screen and (min-width: 700px) {
	.headerImage {
		min-height: 60vw;
	}

	.headerImage img {
		min-height: 60vw;
		top: 30vw;
	}
}

.pageTitleNoImage.main {
	padding-top: 60px;
	text-align: center;
}

@media only screen and (min-width: 1000px) {
	.pageTitleNoImage.main {
		padding-top: 240px;
	}
}



.whiteBGforFixedHeader {
	background-color: #fff;
	position: relative;
	z-index: 501;
}



.contactMapDiv {
	margin: 0 0px 30px 0;
}

@media only screen and (min-width: 500px) {
	.contactMapDiv {
		margin: 0 50px 30px 0;
		min-width: 50%;
	}
}



/* FOOTER */
footer {
	background: #444;
	color: #959595;
	width: 100%;
	margin: 180px 0 0 0;
	/* padding: 0 0 80px 0; */
}

footer .grid img {
	min-width: 182.5px;
	max-width: 182.5px;
	margin-top: -13px;
	padding: 35px;
}


.flex {
	display: flex;
}

.flex-center {
	justify-content: center;
	align-items: flex-start;
}

.grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 10px;
	grid-row-gap: 0px;
}

/* one column in grid on small devices */
@media only screen and (max-width: 768px) {
	.grid {
		grid-template-columns: repeat(1, 1fr);
	}

	footer .grid img {
		margin-top: 0;
	}

}


footer p {
	margin: 1.5em 0;
}

footer a {
	text-decoration: underline;
}

footer a:hover {
	color: #cc0000;
}

.footerPadding {
	padding: 40px
}

footer .custom-logo-link {
	display: block;
	transition: all .5s;
	width: 20%;
	margin: 50px auto;
	max-width: 100px;
}

footer .links {
	margin: 0 0 3em 0;
	list-style: none;
	padding: 0;
}

footer .links .unclickable>a {
	font-size: 1.7em;
	font-weight: 400;
	margin-bottom: 1.4em;
	display: block;
}

footer .links .sub-menu a {
	font-size: 1.3em;
	margin: 1.6em 0;
	display: block;
}

footer .links li {
	margin: 0;
	list-style: none;
	padding: 0;
	display: block;
}

footer .links a {
	text-decoration: none;
	transition: all .5s ease;
	color: #fff;
}

footer .links a:hover {
	text-decoration: underline;
}

footer .links li .sub-menu {
	display: block;
	padding: 0;
}

@media only screen and (MAX-width: 599px) {
	footer .links .unclickable>a {
		display: none;
	}

	footer .links .sub-menu a {
		margin: .5em 0;
		text-align: center;
	}
}

@media only screen and (min-width: 600px) {
	footer .links {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: start;
		justify-content: start;
	}

	footer .links>* {
		-ms-flex: 1;
		flex-grow: 1;
		flex-basis: 1;
	}

	/* equal space */
}

@media only screen and (min-width: 1000px) {
	footer .custom-logo-link {
		width: 140px;
		margin: 0 10px;
		float: right;
		max-width: none;
	}
}





/* MAIN */

.main,
.standOut>p,
.standOut>h2 {
	padding: 0 16px;
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
}

.mainWide {
	margin: 0 auto;
	width: calc(100vw - 30px);
	max-width: 1600px;
}

@media screen and (min-width:550px) {

	.main,
	.standOut>p,
	.standOut>h2 {
		padding: 0 60px;
	}
}

@media screen and (min-width:1000px) {
	main {
		font-size: 1.2em;
	}
}

@media screen and (min-width:1300px) {

	.main,
	.standOut>p,
	.standOut>h2 {
		padding: 0 20px;
	}
}








/* MAIN NAV */
nav#site-navigation {
	font-weight: 500;
}

nav#site-navigation .menu-toggle {
	display: block;
	cursor: pointer;
	width: 42px;
	height: 42px;
	margin: 8px;
	position: fixed;
	right: 10px;
	top: 0;
}

nav#site-navigation ul,
nav#site-navigation li {
	list-style: none;
	padding: 0;
	margin: 0;
}

nav#site-navigation li:not(.megaDropDown) {
	position: relative;
}

nav#site-navigation a {
	display: block;
	padding: 18px;
	text-align: center;
	color: #fff;
	font-size: 1.4em;
	transition: color .5s;
}

nav#site-navigation>ul>.current-menu-item>a,
nav#site-navigation>ul>.current-menu-parent>a,
nav#site-navigation>ul>.current-menu-ancestor>a,
.single-post .current_page_parent>a {
	background-color: #1e245c;
}

nav#site-navigation>ul ul {}

nav#site-navigation .sub-menu a {
	padding: 10px 20px;
	line-height: 2em;
	height: 2em;
	color: #fff;
	font-size: 1.2em;
	transition: color .5s;
}

nav#site-navigation .sub-menu a:hover {
	color: #2f3788;
}

/* SUB 1 */
nav#site-navigation .sub-menu a {
	font-weight: 400;
}

/* SUB 2  */
nav#site-navigation .sub-menu .sub-menu a {
	font-weight: 300;
	color: #fff;
}

nav#site-navigation .sub-menu .sub-menu a:hover {
	color: #2f3788;
}

@media only screen and (max-width: 374px) {
	nav#site-navigation .menu-toggle {
		font-size: 1.8em;
		right: 0;
	}
}

@media only screen and (max-width: 413px) {
	nav#site-navigation .menu-toggle {
		right: 10px;
	}
}

@media only screen and (MAX-width: 999px) {
	body.noHeaderImage {
		padding-top: 58px;
	}

	body>header {
		padding: 0 10px;
	}

	nav#site-navigation a {
		font-size: 1.5em;
	}

	nav#site-navigation>ul a:hover {
		background-color: #1e245c;
	}

	nav#site-navigation {
		padding: 0;
		background-color: #414143;
		position: fixed !important;
		padding-bottom: 60px;
		top: -100%;
		bottom: auto;
		height: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		left: 0;
		right: 0;
		z-index: 10000 !important;
		transition: 0.3s;
	}

	nav#site-navigation.open {
		top: 0;
	}

	nav#site-navigation.open>ul {
		-webkit-overflow-scrolling: touch;
		display: block;
		margin-top: 60px;
		height: 100%;
		overflow-y: scroll;
	}

	nav#site-navigation>ul {
		display: none;
	}

	nav#site-navigation li {
		display: block;
	}

	nav li,
	nav ul {
		position: relative;
	}

	body>header nav ul.sub-menu {
		top: 0;
	}

	.open-menu-link {
		display: none;
		position: absolute;
		right: 23px;
		top: 5px;
		line-height: 4;
		cursor: pointer;
	}

	li .sub-menu {
		display: none;
	}

	.visible {
		display: block !important;
	}

	header .open-menu-link:before {
		font-family: FontAwesome;
		font-weight: 400;
		-webkit-font-smoothing: antialiased;
		display: inline-block;
		speak: none;
		text-align: right;
		width: 100vw;
	}

	header .sub-menu .open-menu-link {
		top: -3px;
	}

	header .sub-menu .open-menu-link:before {
		color: #ff0c0c;
	}

	header .open-menu-link.close:before {
		width: 50px;
	}

	header .open-menu-link.open:before {
		content: "\f054";
	}

	header .open-menu-link.close:before {
		content: "\f078";
	}

	/* hamburger */
	nav .menu-toggle {
		float: right;
		line-height: 1;
		font-size: 2em;
		margin: 0.3em 0 0 0;
		position: absolute;
		right: 0;
		height: 40px;
		width: 50px;
		cursor: pointer;
	}

	.menu-toggle span {
		top: 20px;
		left: 0;
		text-indent: -9999em;
	}

	.menu-toggle span::before,
	.menu-toggle span::after,
	.menu-toggle span {
		cursor: pointer;
		border-radius: 1px;
		height: 2px;
		width: 40px;
		background: #fff;
		position: absolute;
		display: block;
		content: '';
		transition: all 250ms ease-in-out;
	}

	.menu-toggle span::before {
		top: -12px;
	}

	.menu-toggle span::after {
		bottom: -12px;
	}

	.menu-toggle:hover span::before,
	.menu-toggle:hover span::after,
	.menu-toggle:hover span {
		background-color: #fff;
		-webkit-box-shadow: 0px 0px 15px 3px #1E245C;
		box-shadow: 0px 0px 15px 3px #1E245C;
	}

	.menu-toggle span.open {
		background-color: transparent;
	}

	.open .menu-toggle span::before,
	.open .menu-toggle span::after {
		top: 0;
	}

	.open .menu-toggle span::before {
		transform: rotate(45deg);
	}

	.open .menu-toggle span::after {
		transform: rotate(-45deg);
	}

	.open .menu-toggle span {
		background-color: transparent;
	}
}

@media only screen and (min-width: 1000px) {
	nav#site-navigation li {
		display: inline-block;
		margin: 0;
	}

	nav#site-navigation {
		padding: 0 14px 0 0;
		float: right;
		font-size: 13px;
	}

	nav#site-navigation>ul {
		display: block;
	}

	nav#site-navigation .menu-toggle {
		display: none;
	}

	/* 	nav animation */
	nav#site-navigation a {
		padding: 57px 30px;
		transform: perspective(1px) translateZ(0);
		box-shadow: 0 0 1px rgb(0 0 0 / 0%);
		-webkit-transition-property: color;
		transition-property: color;
		-webkit-transition-duration: 0.5s;
		transition-duration: 0.5s;
	}

	body.hasHeaderImage:not(.scrolled) nav#site-navigation a {
		text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.93);
	}

	nav#site-navigation a:hover {
		-webkit-transform: perspective(1px) translateZ(0);
		transform: perspective(1px) translateZ(0);
		box-shadow: 0 0 1px rgb(0 0 0 / 0%);
		position: relative;
		-webkit-transition-property: color;
		transition-property: color;
		-webkit-transition-duration: 0.5s;
		transition-duration: 0.5s;
	}

	nav#site-navigation a:hover:before,
	.hvr-bounce-to-bottom:focus:before,
	.hvr-bounce-to-bottom:active:before {
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
		-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
		transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
	}

	nav#site-navigation a:before {
		content: "";
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: #1e245c;
		-webkit-transform: scaleY(0);
		transform: scaleY(0);
		-webkit-transform-origin: 50% 0;
		transform-origin: 50% 0;
		-webkit-transition-property: transform;
		transition-property: transform;
		-webkit-transition-duration: 0.5s;
		transition-duration: 0.5s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
	}





	.scrolled nav#site-navigation a {}

	.noHeaderImage:not(.scrolled) nav#site-navigation>a {
		padding: 70px 10px 65px 10px;
	}


	/* SUB 1 */
	nav#site-navigation .sub-menu a {
		padding: 10px 33px;
		text-align: left;
		line-height: 1.2em;
		height: auto;
		font-size: 1.5em;
	}

	nav#site-navigation>ul li.megaDropDown>.sub-menu a {
		padding: 10px 10px;
	}

	nav#site-navigation>ul>.menu-item-has-children>a {
		position: relative;
		padding-right: 46px !important;
	}

	nav#site-navigation>ul>.menu-item-has-children>a::after {
		content: '';
		display: block;
		width: 16px;
		height: 16px;
		background: url('img/iconChevronLeft.svg')no-repeat;
		background-size: 16px;
		background-position: center right;
		position: absolute;
		right: 24px;
		top: calc(50% - 8px);
		transition: background .5s;
	}

	nav#site-navigation>ul>.menu-item-has-children a:hover::after,
	nav#site-navigation>ul>.menu-item-has-children.current-menu-item>a::after,
	nav#site-navigation>ul>.menu-item-has-children.current-menu-parent>a::after,
	nav#site-navigation>ul>.menu-item-has-children.current-menu-ancestor>a::after,
	.menu-item-has-children.single-post .current_page_parent>a::after {
		background: url('img/iconChevronLeftMO.svg')no-repeat;
		background-size: 16px;
		background-position: center right;
	}

	.megaDropDown:hover>a,
	.nav-menu>.menu-item-has-children:hover>a {
		background: rgba(0, 103, 115, .9);
	}

	nav#site-navigation .sub-menu li {
		margin: 0;
		padding: 0;
	}

	nav#site-navigation>ul .sub-menu {
		display: none;
		position: absolute;
		text-align: center;
		padding: 20px 0;
		opacity: 0;
		transition: all .5s;
		min-width: 120%;
	}

	nav#site-navigation>ul li:not(.megaDropDown) .sub-menu {}

	nav#site-navigation>ul li.megaDropDown>.sub-menu {
		min-width: 102vw;
		left: 50%;
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
		background: rgba(0, 103, 115, .9);
	}


	nav#site-navigation .nav-menu>li:not(.megaDropDown):hover>ul.sub-menu {
		display: block;
		opacity: 1;
		background: rgba(0, 103, 115, .9);
	}

	nav#site-navigation li:not(.megaDropDown) ul.sub-menu li {
		display: block;
	}

	nav#site-navigation li.megaDropDown:hover ul.sub-menu {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: center;
		justify-content: center;
		opacity: 1;
		padding: 60px 0;
	}

	nav#site-navigation li.megaDropDown:hover ul.sub-menu>li {
		padding: 0 30px;
	}

	nav#site-navigation .sub-menu a {}

	/* SUB 2 */
	nav#site-navigation li:hover ul.sub-menu ul.sub-menu {
		display: block;
		position: relative;
		top: 0;
		left: 0;
		text-align: left;
		min-width: none;
		transform: none;
		padding: 0;
	}

	nav#site-navigation li:hover ul.sub-menu ul.sub-menu li {
		max-width: none;
		display: block;
		padding: 0;
	}

	nav#site-navigation .sub-menu .sub-menu a {
		font-weight: 300;
		line-height: 1.1em;
		height: auto;
		max-width: 70%;
		font-size: 1.2em;
	}

}


@media only screen and (min-width: 1200px) {
	nav#site-navigation li.megaDropDown:hover ul.sub-menu>li {
		padding: 0 60px;
	}
}

@media only screen and (min-width: 1400px) {
	nav#site-navigation li.megaDropDown:hover ul.sub-menu>li {
		padding: 0 90px;
	}
}





/* SEARCH FORM */
#utility-nav {
	display: block;
	float: right;
	height: 40px;
	margin-top: 17px;
	position: relative;
	width: 40px;
	right: 50px;
}

#menu-main-navigation {
	margin-right: 40px;
}

.search-reveal {
	width: 24px;
	height: 24px;
	background: none;
	border: none;
	transition: all .2s;
	padding: 0;
	position: relative;
}

button.search-reveal:hover,
button.search-reveal:active {
	background-color: #1e245c;
	-webkit-box-shadow: 0px 0px 15px 3px #1E245C;
	box-shadow: 0px 0px 15px 3px #1E245C;
}



.search-reveal svg {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: inherit;
	transition: fill .5s;
	position: relative;
}

.search-reveal svg .searchSt0 {
	transition: fill .5s;
}

.search-reveal:hover svg .searchSt0 {
	/* fill: #2f3788; */
}

@media only screen and (min-width: 1000px) {
	#utility-nav {
		margin-top: 59px;
		right: 0;
	}
}

@media only screen and (min-width: 1200px) {
	#utility-nav {
		width: 80px;
	}

	.search-reveal {
		left: 24px;
	}
}

#search .search-form {
	position: fixed;
	width: 100vw;
	height: 100vh;
	padding: 0;
	margin: 0;
	top: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.8);
	color: white;
	display: none;
	z-index: 1000;
	transition: all .5s ease-in;
}

#search .search-form.active {
	display: block;
}

#search .search-form>div {
	position: relative;
	top: 25%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 460px;
	max-width: 100vw;
	padding: 30px;
	box-sizing: border-box;
}

span.close {
	top: 48px;
	right: 0;
	text-indent: -9999em;
	position: absolute;
	width: 20px;
	height: 20px;
	cursor: pointer;
}

span.close::before,
span.close::after {
	cursor: pointer;
	height: 2px;
	width: 20px;
	position: absolute;
	display: block;
	content: '';
	top: 0px;
	background-color: #fff;
	transition: all 250ms ease-in-out;
}

span.close::before {
	transform: rotate(45deg);
}

span.close::after {
	transform: rotate(-45deg);
}

span.close:hover::before {
	transform: rotate(-45deg);
}

span.close:hover::after {
	transform: rotate(45deg);
}

#search .search-form input[type="submit"] {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	overflow: visible;
	-webkit-appearance: button;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	border-radius: 0;
	border: none;
	padding: 5px;
	position: absolute;
	margin: 0;
	top: 32px;
	right: 37px;
	width: 24px;
	height: 24px;
	background: url('img/iconSearchGrey.svg')no-repeat;
	background-size: 24px;
	background-position: center;
}

#search .search-form .search-field {
	border: none;
	background-color: white;
	color: #878787;
	padding: 10px 20px;
	display: block;
	width: 100%;
	outline: none;
	-webkit-appearance: none;
	border-radius: 100px;
	font-weight: 300;
	font-size: 1.1em;
	text-align: left;
}


.searchRes h4 {
	font-weight: 500;
	font-size: 1.2em;
	margin-bottom: .5em;
}

.searchRes a:link .viewMore,
.searchRes a:visited .viewMore {
	color: #999;
	font-size: .9em;
	text-decoration: underline;
}

.searchRes a:active .viewMore,
.searchRes a:hover .viewMore {
	color: #E73137;
}








/* FONT AWESOME CORE
* -------------------------- */
[class^="icon-"] span,
[class*=" icon-"] span {
	display: none;
}

[class^="icon-"]:before,
[class*=" icon-"]:before,
.social a:before,
a[href*="mailto"]:before,
a[href*="tel"]:before {
	width: 1em;
	margin-right: .5em;
	text-align: center;
	font-family: FontAwesome;
	font-weight: normal;
	font-style: normal;
	text-decoration: none !important;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
}

[class^="icon-"]:hover:before,
[class*=" icon-"]:hover:before {
	color: #414143;
}

.icon-envelope:before,
a[href*="mailto"]:before {
	content: "\f0e0";
}

.icon-twitter:before,
ul.social a[href*="twitter"]:before {
	content: "\f099";
}

.icon-facebook:before,
ul.social a[href*="facebook"]:before {
	content: "\f09a";
}

.icon-linkedin:before,
ul.social a[href*="linkedin"]:before {
	content: "\f0e1";
}

.icon-instagram:before,
ul.social a[href*="instagram"]:before {
	content: "\f16d";
}

.icon-youtube:before {
	content: "\f167";
}

.icon-flickr:before {
	content: "\f16e";
}

.icon-google-plus:before {
	content: "\f0d5";
}

.icon-pinterest:before {
	content: "\f0d2";
}

.icon-vimeo:before {
	content: "\f27d";
}

.icon-phone:before,
a[href*="tel"]:before {
	content: "\f095";
}

.icon-phone-mobile:before {
	content: "\f10b" !important;
}


ul.social li {
	display: inline;
	margin: 1em;
}

.social a {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	font-weight: 100;
	font-size: 1em;
	text-decoration: none !important;
}

.social a:focus,
.social a:hover,
.social a:active {
	text-decoration: none;
}

.social a span {
	display: none;
}

footer .social a {
	width: 28px !important;
	height: 28px !important;
	margin: 0 8px;
}

footer .social {
	padding: 0;
	margin: 4em 0;
}

footer .social a::before {
	vertical-align: middle;
	margin: 0 auto;
	font-size: 2em;
	line-height: 1em;
}

/*
footer .social a:focus::before, .social a:hover::before, .social a:active::before { color: #414143 !important; }
 */

main .social {
	padding: 0;
	margin: 2em 0;
}

main .social a {
	margin-right: 1.5em;
}

main .social a::before {
	vertical-align: middle;
	margin: 0 auto;
	color: #868a8d !important;
	font-size: 1.4em;
}









/* RELATED  */
.relatedMasonary {
	margin: 5px -5px;
	clear: both;
}

.relatedMasonary article {}

.no-touch .relatedMasonary article:hover {
	color: #fff;
}

.relatedMasonary article a {
	text-decoration: none !important;
}

.homeRelatedText {
	padding: 15px;
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	color: #fff;
	background-color: rgba(0, 0, 0, .3);
	transition: background-color .5s;
}

.relatedMasonary article:hover .homeRelatedText {
	background-color: rgba(0, 0, 0, .6);
}

.homeRelatedText h3 {
	color: #fff;
	margin: 0 0 .5em 0;
}

.homeRelatedImage {
	overflow: hidden;
	height: 100%;
	width: 100%;
}

.homeRelatedImage img {
	transition: transform .5s;
	object-fit: cover;
	min-width: 100%;
	min-height: 100%;
	max-width: 100%;
	max-height: 100%;
}

.no-touch .homeRelatedImage article:hover img {
	transform: scale(1.05);
}

.relatedMasonary a:link {
	text-decoration: none;
}

@media only screen and (MAX-width: 999px) {
	.relatedMasonary .button {
		font-size: 14px;
	}
}

@media only screen and (MAX-width: 799px) {
	.relatedMasonary article {
		margin: 10px 0;
	}
}

@media only screen and (MAX-width: 599px) {
	.relatedMasonary .button {
		display: none;
	}

	.homeRelatedText {
		padding: 0;
		width: 100%;
	}

	.homeRelatedImage {
		min-height: 50vw;
	}

	.homeRelatedImage img {
		max-height: 50vw;
		width: auto;
		min-height: 100%;
		max-width: none;
		left: 50%;
		transform: translateX(-50%);
		position: relative;
	}
}

@media only screen and (MAX-width: 799px) {
	.relatedMasonary {
		margin: 20px;
	}

	.relatedMasonary article {
		margin: 10px 0 20px 0;
	}

	.homeRelatedText,
	.relatedMasonary article:hover .homeRelatedText {
		background-color: #ff0c0c;
	}

	.relatedMasonary .button:hover {
		background-color: #022B66;
	}

}


@media only screen and (min-width: 1000px) {
	.homeRelatedText {
		font-size: 1.4em;
		line-height: 1.1em;
	}

	.homeRelatedText h3 {
		font-size: 1.7em;
	}

	.relatedMasonary article {
		height: 500px;
	}
}

@media only screen and (min-width: 1400px) {
	.relatedMasonary article {
		height: 600px;
	}
}





/* TEAM */

.teamOverview {
	margin: 30px -10px 0 -10px;
	width: calc(100% + 20px);
}

.teamOverview article {
	margin: 0 10px;
	position: relative;
	padding-bottom: 3em;
}

.teamOverviewText .padding {
	padding: 0 0 0 30px;
	margin: 0px 60px 0px 10px;
	border-left: solid #2f3788 4px;
	height: 100%;
}

.teamTeaser .teamOverviewText .padding {
	padding: 0 0 0 30px;
	margin: 0px 0 60px 10px;
}

.teamOverviewText h3 {
	margin-bottom: 0.8em;
	font-size: 24px;
	padding: 0;
}

.footerCurve .teamOverviewText {
	color: #fff;
}

.teamOverviewImage img {
	width: 50%;
}

@media only screen and (min-width: 630px) {
	.teamOverview article {
		max-width: calc(50% - 20px);
		min-width: calc(50% - 20px);
	}

	.teamOverviewText {
		text-align: left;
	}
}

@media only screen and (min-width: 1000px) {
	.teamOverviewText {
		font-size: 18px;
	}

	.teamOverview article {
		max-width: calc(33.33% - 20px);
		min-width: calc(33.33% - 20px);
	}
}

@media only screen and (min-width: 1200px) {
	/* .teamOverviewText .padding {padding: 30px 60px;} */
}

@media only screen and (min-width: 1600px) {
	.teamOverview {
		margin: 30px -30px 0 -30px;
		width: calc(100% + 60px);
	}
}

@media only screen and (MAX-width: 1320px) {
	.teamOverview .button {
		font-size: 12px;
		padding: 11px 22px;
	}
}

/* TEAM in single service */
.teamTeaser .teamOverviewText h3 {
	font-size: 18px;
}

.teamTeaser .teamOverviewText p {
	font-size: 14px;
	margin: 0.2em;
}


.pageColsFlex>div {
	max-width: 100%;
	min-width: 100%;
}

.teamTeaser {
	margin-top: 60px;
}

@media screen and (min-width: 700px) {
	.teamTeaser {
		margin-top: 0;
	}

	.pageColsFlex>div:nth-of-type(1) {
		max-width: 65%;
		min-width: 65%;
	}

	.pageColsFlex>div:nth-of-type(2) {
		max-width: 35%;
		min-width: 35%;
	}
}






/* SERVICES ARCHIVE */
.servicesRow {}

.servicesRow article {
	padding: 15px;
	position: relative;
	color: #fff;
}

@media only screen and (min-width: 600px) {
	.servicesRow article {
		min-width: calc(50% - 30px);
		max-width: calc(50% - 30px);
	}
}

@media only screen and (min-width: 1200px) {
	.servicesRow article {
		min-width: calc(33.33% - 30px);
		max-width: calc(33.33% - 30px);
	}
}

.servicesRow h3 {
	color: #fff;
}

.servicesImage {
	position: relative;
	overflow: hidden;
}

.servicesImageGrad {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0) 100%);
	z-index: 2;
	transition: background .5s;
}

html.no-touch article:hover .servicesImageGrad {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
}

.servicesImage .padding {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 0 30px;
	width: calc(100% - 60px);
	z-index: 3;
}

.servicesExcerpt {
	opacity: 0;
	height: 0;
	transition: opacity .5s;
}

@media only screen and (min-width: 800px) {
	article:hover .servicesExcerpt {
		opacity: 1;
		height: auto;
	}
}



/* SERVICES CHILD PAGE */
.listChildPages {
	text-align: center;
}

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

.listChildPages li {
	display: inline-block;
	margin: 0;
}

.listChildPages a {
	margin: 1em;
}





/* Stop transition on load */
.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
}