/*
Theme Name: IHS Theme
Theme URI: n/a
Author: Raffaele Malanga
Author URI: https://farstudios.com
Description: Theme for IHS UK
Version: 1.0
License: no license, use a theme from https://wordpress.org/themes/ instead.
License URI: n/a
Tags: n/a
Text Domain: ihstheme
*/

/* generic things */

html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,form{
	padding:0;
	margin:0;
}
*{
	box-sizing:border-box;
}
html {
	font-size:12px; /* for rem base */
	scroll-behavior: smooth;
	/* note: this replaces the javascript version, which is not accessible due to the 'return false' setting. */
}
.screen-reader-text,
.skip-link,
.social-nav li a span{
	position:fixed;
	top:-4000rem;
	left:-4000rem;
}
.skip-link:focus,
#toggle a:focus span.skip-link{
	top:2rem;
	left:2rem;
	background:black;
	color:white;
	padding:.5rem 1rem;
	border:2px dotted white;
	text-decoration:none;
	text-transform:uppercase;
	font-size:100%;
	z-index:10000;
}
.admin-bar .skip-link:focus,
#toggle a:focus span.skip-link{
	top:4rem;
}
iframe,
img{
	max-width:100%;
}

/* colours */
/* 
black: #1A1A1A -- all text
darkgrey: #707070 -- hr below breadcrumb
middlegrey: #DEDEDE -- related case studies
lightgrey: #EDEDED -- masthead bg, testimonials bg
'other grey': #6E6E6E -- post date on single news posts
'other other grey': #777777 -- borders on form fields
off-white: #F2F2F2 -- block backgrounds on 'seemore'
white: #FFFFFF -- used where?
maroon: #570E22 -- info bar
red: #D12417 -- all the red things

*/

body{
	background:#fff;
	color:#1A1A1A;
}
#nav{
	border-color:#D12417;
	background:#EDEDED;
}
.site-nav li{
	border-color:#1A1A1A;
}
.site-nav li ul{
	background:#EDEDED;
}
#nav a,
.entry-content a{
	color:inherit;
}
.entry-content a:focus,
.entry-content a:hover,
.entry-content a:active{
	color:#D12417;
}
.entry-content .block a:focus,
.entry-content .block a:hover,
.entry-content .block a:active{
	color:inherit;
}
.social-nav li.linkedin a{
	width:1.84375rem;
	background-image:url(img/linkedin@2x.png);
}
.social-nav li.facebook a{
	width:.875rem;
	background-image:url(img/facebook@2x.png);
}
.social-nav li.twitter a{
	width:2.15625rem;
	background-image:url(img/twitter@2x.png);
}
.social-nav li.youtube a{
	width:2.34375rem;
	background-image:url(img/youtube@2x.png);
}
.social-nav li.instagram a{
	width:1.75rem;
	background-image:url(img/instagram@2x.png);
}
.social-nav li.trustpilot a{
	width:1.875rem;
	background-image:url(img/trustpilot@2x.png);
}
.social-nav li.tiktok a{
	width:1.875rem;
	background-image:url(img/tiktok@2x.png);
}
.social-nav li.pinterest a{
	width:1.875rem;
	background-image:url(img/pinterest@2x.png);
}

.infobar{
	background:#D12417;
	color:#fff;
}
.infobar a{
	color:inherit;
}
h1.page-title,
.button a{
	background:#D12417;
	color:#fff;
}
.button a{
	border-color:#D12417;
}
.button a:focus,
.button a:hover,
.button a:active{
	background:#fff;
	color:#D12417;
}
.bc,
.sbs.sep{
	border-color:#707070;
}
.bc a{
	color:inherit;
}
.postdate{
	color:#6E6E6E;
}
.seemore{
	background:#DEDEDE;
}
.seemore.homelatestnews{
	background:#fff;
}
.seemore h2{
	color:#570E22;
}
.block .inside,
.blockssideways .block .text,
.searchresult .srtext,
.directorylogos li{
	background:#f2f2f2;
}
.blockssideways .block .inside{
	background:transparent;
}
.block a{
	color:inherit;
}
.block h3{
	color:#D12417;
	background:url(img/arrow@2x.png) transparent no-repeat right center / auto 1.125rem;
}
.blockssideways .block h3{
	color:#1A1A1A;
	background:transparent;
}
.seemore.homelatestnews p.readallnews a,
.blockssideways .block p.readall,
.searchresult .srtext a{
	color:#D12417;
}
.sliderbox{
	background:#EDEDED;
	border-color:#707070;
}
.wpcf7{
	background:#EDEDED;
}
input,
textarea{
	background:#fff;
	border-color:#777;
}
input[type="submit"]{
	background:#570E22;
	color:#fff;
}
input[type="submit"]:focus,
input[type="submit"]:hover,
input[type="submit"]:active{
	background:#fff;
	color:#570E22;
}

.testimonials{
	background:#EDEDED;
}
#colophon{
	background:#1A1A1A;
	color:#fff;
}
#colophon a{
	color:inherit;
}
#colophon .splitbar .contact{
	background:#D12417;
}
#colophon .splitbar .social{
	background:#F2F2F2;
	color:#1A1A1A;
}
.site-header .contact p{
	background:url(img/phone@2x.png) transparent no-repeat 0 .4em / 1.875rem auto;
}
.splitbar .contact p{
	background:url(img/phone-white@2x.png) transparent no-repeat 0 .4em / 1.875rem auto;
}

.site-header .contact .mailbutton a{
	background:url(img/email@2x.png) #D12417 no-repeat 1.5rem center / 1.15625rem auto;
	color:#fff !important;
}
.splitbar .contact .mailbutton a{
	background:url(img/email@2x.png) #1A1A1A no-repeat 1.5rem center / 1.15625rem auto;
	color:#fff;
}



/* fonts */


body{
	font-family:'Noto Sans',serif;
	font-size:100%;
	line-height:1;
}
#nav ul{
	font-size:1.083rem;
	font-weight:500;
	font-weight:400;
	text-transform:uppercase;
	margin-bottom:0;
}
h1.page-title{
	font-size:1.75rem;
	font-weight:800;
	font-weight:700;
	text-transform:uppercase;
	line-height:1.45;
}
h2{
	font-size:1.375rem;
	font-weight:600;
	font-weight:700;
	line-height:1.7;
	padding-top:1em;
	margin-bottom:.43em;
}
.searchresult .srtext h2,
.sbs .textcol h2:first-child{
	padding-top:0;
}
.seemore h2{
	font-size:1.75rem;
	font-weight:800;
	font-weight:700;
	text-transform:uppercase;
	line-height:1.45;
	text-align:center;
	padding-top:1.7em;
	margin-bottom:1.7em;
}
.seemore.homelatestnews h2,
.seemore.homelatestnews p.readallnews{
	font-size:1.125rem;
	line-height:1.45;
	text-align:left;
	padding-top:0;
	margin-bottom:.7em;
}
.seemore.homelatestnews p.readallnews{
	font-size:1.083rem;
}
.site-info h2{
	padding-top:0;
	margin-bottom:1.3em;
}
.blocks h3{
	font-size:1.125rem;
	font-weight:700;
	text-transform:uppercase;
	line-height:1.2;
	margin-bottom:0;
}
.blockssideways h3{
	font-size:1.083rem;
	line-height:1.7;
	font-weight:400;
	text-transform:none;
}
p,ul,ol{
	font-size:1.125rem;
	line-height:1.7;
	font-weight:500;
	font-weight:400;
	margin-bottom:.9em;
}
form p{
	margin-bottom:2em;
}
form p.requiredfields{
	font-size:1rem;
}
form,label,input,textarea{
	font-size:1.125rem;
	line-height:1.7;
	font-weight:400;
}
h1.site-title,
p.site-title{
	line-height:1;
	margin-bottom:0;
}
.infobar p{
	font-size:1.125rem;
	font-weight:700;
	margin-bottom:.3em;	
}
.infobar p:last-child{
	margin-bottom:0;
}
.intro p{
	font-size:1.375rem;
	font-weight:600;
	font-weight:400;
	line-height:1.7;
	margin-bottom:.55em;
}
.videowrapper p.caption,
.imagewrapper p.caption,
.sliderwrapper p.caption{
	font-size:1rem;
	text-align:center;
	padding-top:.5em;
	padding-bottom:.5em;
}
.cta p{
	font-size:1.75rem;
	font-weight:600;
	font-weight:700;
	line-height:1.45;
	text-align:center;
	padding-top:1.3em;
}
.testimonials, /* needed so that the slider script gets the correct font-size for sizing */
.testimonials p{
	font-size:1.125rem;
	font-weight:600;
	font-weight:700;
	font-style:italic;
}
.blocks p{
	font-size:1.083rem;
	font-weight:400;
	padding-top:1.44em;
}
.blockssideways .block p.readall{
	margin-bottom:0;
}
.postdate p{
	font-size:1.125rem;
	font-weight:400;
	line-height:1;
	margin-bottom:-.7em;
}
.site-footer p{
	font-size:1rem;
	font-weight:500;
	font-weight:400;
	line-height:1.7;
	margin-bottom:1.3em;
}
.site-footer p.address{
	margin-bottom:2em;
}
.site-header .contact p,
.splitbar .contact p,
.splitbar .social ul{
	font-size:1.75rem;
	font-weight:600;
	margin-bottom:0;
}
.site-header .contact .mailbutton,
.splitbar .contact .mailbutton{
	font-size:1.125rem;
	font-weigth:600;
	text-transform:uppercase;
}

.bc{
	font-size:1rem;
	line-height:1.5;
}
.bc p,
.bc ul{
	font-size:inherit;
}
.button,
input[type="submit"]{
	font-size:1.125rem;
	font-weight:600;
	font-weight:700;
	text-transform:uppercase;
	text-align:center;
	margin-bottom:2.4em;
}
input[type="submit"]{
	font-size:1.5rem;
	font-weight:400;
}



/* text-decoration */


#nav a{
	text-decoration:none;
}
#nav ul li.current-menu-item > a{
	text-decoration:underline;
}
.infobar a,
.searchresult .srtext a,
.blocks a,
.button a,
.mailbutton a{
	text-decoration:none;
}




/* layout */

#nav,
.outer{
	padding:0 2rem;
}
.inner{
	max-width:85.25rem;
	margin:0 auto;
}
.innerwide{
	max-width:102.5rem;
	margin:0 auto;
}

#page{
	padding-top:11.75rem; /* same as #masthead height */
}
#nav{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	min-height:11.75rem; /* enough height for logo + nav menus */
	padding-top:2.7rem;
	border-width:.5rem 0 0 0;
	border-style:solid;
	transition:height .5s ease-in-out 0s;
	z-index:10000;
}
.admin-bar #nav{
	top:32px;
}
@media(max-width:782px){
	.admin-bar #nav{
		top:46px;
	}
}
#nav .inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:stretch;
}
.site-branding{
	width:10.3125rem;
	order:0;
	padding-top:2.7rem;
	margin-top:-2.7rem;
	background:url(img/triangle.png) transparent no-repeat center top / 2rem auto;
	
}
#toggle{
	display:none;
	order:1;
}
#navcontent{
	order:2;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	align-items:flex-end;
}
.site-header .contact{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items:center;
}


.site-nav{
	width:100%;
	max-width:calc(100% - 12rem);
}
.site-nav ul{
	display:flex;
	justify-content:flex-end;
}
.site-nav li{
	display:block;
	border-width:0;
}
.site-nav ul.nav-menu > li:first-child,
.site-nav ul.nav-menu > li:nth-child(4){
	padding-right:.3em;
	border-width:0 1px 0 0;
	border-style:solid;
	margin-right:.3em;
}
.site-nav li a{
	display:block;
	padding:.3em 1em;
}
.site-nav ul.nav-menu > li:last-child > a{
	padding-right:0;
}
.site-nav li ul{
	position:absolute;
	padding-top:3.2em;
	padding-bottom:.2em;
	display:none;
}
.site-nav li:hover ul{
	display:block;
}
.site-nav li ul li{
	display:block;
	padding:0 2em;
}
.site-nav li ul li a{
	border-width:1px 0 0 0;
	border-style:solid;
	padding:.7em 0;
}
.infobar a{
	display:block;
	min-height:3.25rem;
	text-align:center;
	padding-top:.9rem;
	padding-bottom:.9rem;
}
.infobar .innerwide{
	position:relative;
}
.infobar .closebar{
	position:absolute;
	top:0;
	right:0;
	width:3.25rem;
	height:3.25rem;
	background:url(img/close@2x.png) transparent no-repeat center / 1.125rem;
	/* cursor:url(img/close@2x.png), pointer; */
	cursor:pointer;
}
.infobar .closebar:hover{
	background-size:1.5rem;
}
.infobar p{
	padding:0 3rem;
}
.banner{
	min-height:10rem;/* padding-top is set in the html, but this way it should never get too narrow */
	background-color:#1A1A1A;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	color:#fff;
}
.banner.hasvideo{
	position:relative;
	min-height:0; /* we don't want the top/bottom of the video to start appearing */
	padding-top: 41.40% !important;
	overflow: hidden;
}
.banner .videobanner{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.banner #muteYouTubeVideoPlayer{
	width: 100%;
	position: absolute;
	left: 0;
	top: -27%;
	height: 157%;
}
.page-header{
	margin-top:-5rem;
	height:5rem;
	position:relative;
}
h1.page-title{
	position:absolute;
	left:0;
	bottom:0;
	padding:.45em 1.25em;
}
.bc{
	padding:1.75rem 0;
	border-width:0 0 1px 0;
	border-style:solid;
}
.postdate{
	padding-top:2.6rem;
}
.entry-content{
	padding-top:2.3rem;
	padding-bottom:2.7rem;
}

.videowrapper,
.imagewrapper,
.sliderwrapper{
	padding-top:1.5rem;
	margin:0 auto 2rem auto;
}
.videobox{
	position:relative;
	width:100%;
	padding-top:56.25%;
}
.videobox iframe,
.videobox video{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}
.sliderbox{
	padding:1.5rem;
	border-width:1px;
	border-style:solid;
}
.sliderbox .inthebox{
	max-width:58.125rem;
	margin:0 auto;
}


.sliderbox ul.bxslider li div.boxwrap{
	position:relative;
	padding-top:75%;
}
.sliderbox ul.bxslider li div.box{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.sliderbox ul.bxslider li div.boxin{
	height:100%;
	width:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
.sliderbox ul.bxslider li img{
	max-height:100%;
	max-width:100%;
}

/* overwriting bxslider styles */

@media(max-width:1130px){
	.sliderbox .bx-wrapper .bx-prev {
		left:calc(((100vw - 58.125rem) / -4) - 1rem);
	}
	.sliderbox .bx-wrapper .bx-next {
		right:calc(((100vw - 58.125rem) / -4) - 1rem);
	}
}
@media(max-width:850px){
	.sliderbox .bx-wrapper .bx-controls-direction a {
		width: 4rem !important;
	}
	.sliderbox .bx-wrapper .bx-prev {
		left:-2.5rem !important;
		background-image: url('img/prev-white.png');
	}
	.sliderbox .bx-wrapper .bx-next {
		right:-2.5rem !important;
		background-image: url('img/next-white.png');
	}
}
@media(max-width:650px){
	.sliderbox{
		padding:0;
	}
	.sliderbox .bx-wrapper .bx-prev {
		left:1rem !important;
	}
	.sliderbox .bx-wrapper .bx-next {
		right:1rem !important;
	}
}

/* end overwriting slider styles */




.sbs{
	display:flex;
	justify-content:space-between;
}
.sbs.sep{
	border-width:1px 0 0 0;
	border-style:solid;
	padding-top:.5rem;
	margin-top:1.1rem;
}
.sbs .col{
	width:calc(50% - .5rem);
}
.sbs .textcol{
	padding-top:1.5rem; /* to make it line up with any image on its side */
}
.sbs .textcol.col1{
	padding-right:4rem;
}
.sbs .textcol.col2{
	padding-left:4rem;
}
.seemore{
	padding-bottom:3rem;
}
.homelatest{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.blocks{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:0 -.78125rem;
}
.blocks.addspace{
	padding-top:4rem; /* this is for spacing in the absense of a heading in the section */
}

.entry-content .blocks{
	padding-top:1.5rem;
}
.blocks .block{
	width:33.33%;
	padding:0 .78125rem;
	margin-bottom:1.5625rem;
}
.blockssideways .block{
	width:50%;
}
.blocksx4 .block{
	width:25%;
}
.blocks .block .inside{
	height:100%;
}
.blocks .block .text{
	padding:1.5rem 1.25rem;
}
.blockssideways .block .inside a{
	display:flex;
	height:100%;
}
.blockssideways .block .newsimage{
	width:46.29%;
}
.blockssideways .block .newsimage img{
	display:block;
}
.blockssideways .block .text{
	width:53.71%;
}
.blocks h3{
	display:inline-block;
	padding-right:2.5rem;
	transition:all .5s ease-in-out 0s;
}
.blockssideways h3,
.blockssideways a h3{
	padding-right:0 !important;
	margin-right:auto !important;
}
.block a:hover h3{
	margin-right:-1rem;
	padding-right:3.5rem;	
}

.searchresult{
	display:flex;
	margin-bottom:2rem;
}
.searchresult .srimg{
	width:15rem;
}
.searchresult .srtext{
	width:100%;
	padding:1rem 2rem;
}
.searchresult .srtext.hasimg{
	width:calc(100% - 15rem);
}

.button a{
	display:inline-block;
	padding:1em 3em;
	border-width:1px;
	border-style:solid;
	border-radius:.3rem;
	margin:0 auto;
}
input[type="submit"],
.wpcf7 input[type="submit"]{
	display:inline-block;
	width:auto;
	padding:.6em 3em;
	border-width:1px;
	border-style:solid;
	border-radius:.3rem;
	margin:0 auto;
}
.wpcf7{
	padding:2rem;
}
.search-form{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.search-form input[type="submit"]{
	margin-left:0;
	margin-bottom:1rem;
}
.search-form label{
	width:100%;
	max-width:40rem;
	margin-bottom:1rem;
}
input.search-field{
	height:100%;
	width:100%;
	margin-top:0;
}
.wpcf7-form{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.wpcf7 p span.wpcf7-form-control-wrap{
	display:block;
}
.wpcf7 p.rowof1wide,
.wpcf7 p.rowof1wide span.wpcf7-form-control-wrap,
.wpcf7 p.rowof1half,
.wpcf7 p.rowof2 span.wpcf7-form-control-wrap{
	width:100%;
}
.wpcf7 p.rowof1half span.wpcf7-form-control-wrap,
.wpcf7 p.rowof2{
	width:calc(50% - 1rem);
}
.wpcf7 p.submitbutton{
	text-align:center;
}
.wpcf7-spinner{
	position:absolute; /* so that it does not push the submit button out of the center */
}

.wpcf7 label{
	display:inline-block;
}
input,
textarea,
.wpcf7 input,
.wpcf7 textarea{
	display:block;
	width:100%;
	padding:.5em;
	border-style:solid;
	border-width:1px;
	margin-top:.5em; /* for space below the labels */
}
.wpcf7 textarea{
	height:10rem;
}

.testimonials .quotes{
	padding:3rem 0;
}
.testimonials .quotes ul li{
	padding:0 0 0 calc(7% + 6.625rem);
	max-width:calc(66.625rem + 7%);
	background:url(img/testimonial@2x.png) transparent no-repeat left top / 6.625rem auto;
	margin:0 auto;
}
.testimonials .quotes ul li div{
	padding-bottom:3rem; /* added to avoid cutton off the last lines */
}


.splitbar{
	display:flex;
	flex-wrap:wrap;
}
.splitbar .contact,
.splitbar .social{
	width:50%;
	padding:.5rem 1rem;
}
.splitbar .contact{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	align-items:center;
}
.site-header .contact p,
.splitbar .contact p{
	display:inline-block;
	padding:.5rem 0 .5rem 2.9375rem;
}
.site-header .contact p span,
.splitbar .contact p span{
	white-space:nowrap;
}
.site-header .contact .mailbutton,
.splitbar .contact .mailbutton{
	padding:.5rem 0;
}

.site-header .contact p,
.site-header .contact .mailbutton{
	padding-top:0;
}


.site-header .contact .mailbutton a,
.splitbar .contact .mailbutton a{
	display:inline-block;
	padding:.7em 1.5em .7em 3rem;
	border-radius:.3rem;
	margin-left:1rem;
}
.social-nav{
	list-style:none;
	display:flex;
	justify-content:center;
}
.social-nav li a{
	display:block;
	height:1.75rem;
	/* width is set with the background images in the colours section */
	margin:.8125rem;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}
.site-info{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:2.8125rem 0;
}
.site-info h2{
	margin-right:3rem;
}
.site-info h2 img{
	display:block;
	width:9.6875rem;
}
.site-info p.address{
	width:100%;
}
p.hdk img{
	display:block;
	width:6.25rem;
	position:relative;
	bottom:-.2rem;
}
.directorylogos{
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.directorylogos li{
	padding:.25rem;
	margin-right:.5rem;
	margin-bottom:.5rem;
}
.directorylogos li img{
	display:block;
	max-height:2.33rem;
}



/* pagination */
/* kriesi */

.pagination{
	text-align:center;
	padding:3rem 0;
}
.pagepn{
	text-indent:-250rem;
	background-repeat:no-repeat;
	background-position:center;
	background-size:auto 1rem;
}
.page-first{background-image:url(img/page-first.png);}
.page-prev{background-image:url(img/page-prev.png);}
.page-next{background-image:url(img/page-next.png);}
.page-last{background-image:url(img/page-last.png);}

.pagination a,
.pagination span{
	display:inline-block;
	width:1.8rem;
	height:1.8rem;
	font-size:1.125rem;
	font-weight:600;
	font-weight:700;
	line-height:1.8rem;
	border-radius:1.8rem;
	box-sizing:border-box;
	padding-top:0;
	text-decoration:none;
}
.pagination a.inactive{
	opacity:0.5;
	cursor:default;
}
.page-numbers{
	color:inherit;
	margin:0 .5rem;
}
.page-numbers.current{
	background:#D12417;
	color:#fff;
}
.page-prev{
	margin-left:-.5rem;
	margin-right:.5rem;
}
.page-next{
	margin-right:-.5rem;
	margin-left:.5rem;
}


/* webkit things */

input[type=text],
input[type=search],
input[type=button],
input[type=email],
input[type=submit],
textarea{
	-webkit-appearance:none;
	-webkit-border-radius:0;
}
*{
	-webkit-text-size-adjust:100%;
}

/* Where placeholder needs to obey the styles */

/* fix the stupid placeholder colour */
/* separate rules, because: "a group of selectors containing an invalid selector is invalid". */
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1rem;
	color:#fff;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1rem;
	color:#fff;
	opacity:1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1rem;
	color:#fff;
	opacity:1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1rem;
	color:#fff;
}
::-ms-input-placeholder { /* Microsoft Edge */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1rem;
	color:#fff;
}




@media (max-width:1440px){
	.banner.banner-narrow{
		padding-top:16.25rem;
	}
}
@media(max-width:1090px){
	.sbs .textcol.col1{
		padding-right:4.5vw;
	}
	.sbs .textcol.col2{
		padding-left:4.5vw;
	}
}
@media(max-width:940px){
	.site-nav li a{
		padding:0 .65em;
	}
	
}
@media (max-width:870px){
	#page{
		padding-top:11.75rem; /* same as #nav height */
	}
	#nav{
		height:11.75rem; /* enough to show the logo */
		transition:height 1.5s ease-in-out 0s;
		overflow:hidden;
	}
	#nav .inner{
		align-items:flex-start;
		position:relative;
	}
	#toggle{
		display:block;
		width:3rem;
		height:3rem;
		order:1;
		align-self:self-end;
	}
	#toggle a{
		display:block;
		width:100%;
		height:100%;
	}
	#toggle a span.burger{
		display:block;
		width:100%;
		height:100%;
		background:url(img/menu.png) transparent no-repeat right bottom / contain;
	}
	#toggle a.navisopen span.burger{
		background:url(img/menu-close.png) transparent no-repeat right bottom / contain;
	}
	#site-navigation{
		display:none;
	}
	.toggled-on #nav,
	#nav:target{
		height:100%;
		overflow:auto;
	}
	.toggled-on #site-navigation,
	#nav:target #site-navigation{
		display:block;
		padding-bottom:5rem;
		/* to make sure that even with the admin bar, there will be */
		/* a scrollbar for the last items in the list */
	}
	.site-nav{
		max-width:100%;
	}
	.site-header .contact{
		position:absolute;
		top:0;
		right:0;
		max-width:calc(100% - 11rem);
	}
	.site-nav .navi{
		width:100%;
		padding-top:2rem;
		margin-top:0;
		margin-left:auto;
	}

	.site-nav ul.nav-menu > li:first-child,
	.site-nav ul.nav-menu > li:nth-child(4){
		padding-right:0;
		border-width:0 0 0 0;
		margin-right:revert;
	}
	.site-nav ul{
		display:block;
		font-size:1.125rem;
		
	}
	.site-nav li a{
		padding:.3em 1em !important;
	}
	.site-nav ul.nav-menu > li:last-child > a{
		padding-right:revert;
	}
	.site-nav li ul{
		position:static;
		padding-top:0;
		padding-bottom:0;
		display:block;
	}
	.site-nav li ul li{
		display:block;
		padding:0 0 0 .5em;
	}
	.site-nav li ul li a{
		border-width:0 0 0 0;
	}

	#nav .navisopen,
	#nav:target .navisclosed,
	.toggled-on #nav .navisclosed{
		display:none;
	}
	#nav .navisclosed,
	#nav:target .navisopen,
	.toggled-on #nav .navisopen{
		display:block;
	}
	@media(max-width:630px){
		.site-header .contact{
			max-width:calc(100% - 9rem);
		}
		.site-header .contact p{
			font-size:1.25rem;
			background-position:0 .1rem;
			padding-left:2.5rem;
		}
		.site-header .contact .mailbutton{
			font-size:1rem;
		}
		#page{
			padding-top:8.5rem;	
		}
		#nav{
			padding-top:2rem;
			height:8.5rem;
			min-height:8.5rem;
		}
		.site-branding{
			width:8rem;
			background-size:1.7rem auto;
			padding-top:2rem;
			margin-top:-2rem;
		}
		#toggle{
			width:2rem;
			height:2rem;
		}
	}
	@media(max-width:520px){
		.site-header .contact .mailbutton{
			display:none;
		}
	}
	@media(max-width:400px){
		.site-header .contact{
			display:none;
		}
	}
}

@media(max-width:767px){
	.blocks .block{
		width:50%;
	}
	.blockssideways .block{
		width:100%;
	}
	.testimonials .quotes ul li{
		padding-left:19%;
		background-size:12% auto;
	}
}
@media(max-width:740px){
	.sbs{
		flex-wrap:wrap;
	}
	.sbs .col{
		width:100%;
		padding-left:0 !important;
		padding-right:0 !important;
	}
	.sbs .imagecol{
		order:-1; /* to always go before text */
	}
	.wpcf7 p.rowof1half span.wpcf7-form-control-wrap,
	.wpcf7 p.rowof2{
		width:100% !important;
	}

}
@media(max-width:690px){
	.splitbar .contact,
	.splitbar .social{
		width:100%;
	}
}
@media(max-width:530px){
	.blocks .block{
		width:100%;
		max-width:28.9rem;
	}
	.blockssideways .block{
		max-width:100%;
	}
}
@media(max-width:510px){
	.splitbar{
		margin-left:-2rem;
		margin-right:-2rem;
	}
	.splitbar .contact,
	.splitbar .social{
		padding:.5rem 2rem;
	}
}
@media(max-width:460px){
	#nav, .outer{
		padding-left:1.5rem;
		padding-right:1.5rem;
	}
	.splitbar{
		margin-left:-1.5rem;
		margin-right:-1.5rem;
	}
	.splitbar .contact,
	.splitbar .social{
		padding:.5rem 1.5rem;
	}
}
@media(max-width:420px){
	#nav, .outer{
		padding-left:1.3rem;
		padding-right:1.3rem;
	}
	.site-header .contact{
		right:1.3rem;
	}
	.splitbar{
		margin-left:-1.3rem;
		margin-right:-1.3rem;
	}
	.splitbar .contact,
	.splitbar .social{
		padding:.5rem 1.3rem;
	}
}
@media(max-width:420px){
	.social-nav{
		justify-content:space-between;	
	}
	.social-nav li a{
		margin:.8125rem .1rem;
	}
}

@media(max-width:600px){
	h1.page-title,
	.seemore h2,
	.cta p,
	.splitbar .contact p,
	.splitbar .social ul{
		font-size:1.5rem;
	}
}
@media(max-width:460px){
	h1.page-title,
	.seemore h2,
	.cta p{
		font-size:1.3rem;
	}
	.splitbar .contact p{
		font-size:1.5rem;
		padding-left:2.5rem;
	}
	h2,
	.intro p{
		font-size:1.25rem;
	}
}
@media(max-width:430px){
	.searchresult .srimg{
		width:46.29%;
	}
	.searchresult .srtext.hasimg{
		width:53.71%;
	}
	.splitbar .contact p{
		font-size:1.3rem;
		padding-left:2.3rem;
	}
}
@media(max-width:380px){
	.intro p{
		font-size:1.2rem;
	}
}


