/*!
Theme Name: WB Griffiths Construction
Theme URI: http://underscores.me/
Author: Modern Print & Design
Author URI: https://www.modernprint.co.uk
Description: WB Griffiths Construction 2023/24 Theme
Version: 1.0.0
*/

/*---------------------------------------------------------------*/
/* # Responsiveness & Mobile Optimisation ---------------------- */
/* --------------------------------------------------------------*/

img[data-lazyloaded]{
	opacity: 0;
}

img.litespeed-loaded{
	-webkit-transition: opacity .5s linear 0.2s;
	transition: opacity .5s linear 0.2s;
	opacity: 1;
}

/*--------------------------------------------------*/
/* Smartphones ------------------------------------ */
/*--------------------------------------------------*/
@media only screen and (max-width: 48em) and (min-width: 1px) {

html.mobile #colophon > .grid-container.grid-x:first-child,
html.mobile div#credits {
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	    -ms-flex-flow:row wrap;
	        flex-flow:row wrap;
	max-width:100vw;
	overflow:hidden; 
}

	html.mobile .site-nav {
		position: fixed;
		top: 1.125rem;
		right: 0;
	}

	html.mobile #masthead button#menu-open {
		font-size:1rem;
		margin: 0 2.5rem 0 0;
		background: #241ac7;
	}
	
	html.mobile #masthead button#menu-open:after {
		background: url(svg/menu.svg) #241ac7 no-repeat center left / 1.5rem;
	}
    
    html.mobile div#offCanvas {
        width: 100vw;
        -webkit-transform: translateX(100vw);
        transform: translateX(100vw);
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        height: 100vh;
        overflow: scroll;
    }
    
    html.mobile div#offCanvas.is-open {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    
    html.mobile #mobile-contact {
        position:relative;
        padding: 1rem 1rem 0 1rem;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        overflow:hidden;
        background: rgb(255 255 255 / 90%);
        border-top: .5rem solid #4fe01f;
		border-bottom: .5rem solid #00b3ff;
    }    
    
    html.mobile #mobile-lang {
        width:calc(100% + 2rem);
        position:relative;
        left:-1rem;
        margin-top:.5rem;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        background: #10069f;
    }
    
    html.mobile #mobile-lang.site-language ul {
        width:100%;
    }
    
    html.mobile #mobile-lang.site-language ul li {
        -webkit-box-flex:1;
        -ms-flex:1 1 50%;
        flex:1 1 50%;
        display:-webkit-inline-box;
        display:-ms-inline-flexbox;
        display:inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: .5rem;
    }
    
    html.mobile #mobile-lang > div {
        padding:0;
        border: none;
    }
    
    html.mobile #mobile-contact > div.contact-row {
		width: 85%;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		margin: .25rem 15% .25rem 0;
	}
    
    #mobile-contact > div.contact-row a {
        color: #77b122;
        border-bottom: 2px dotted;
        margin-left: .75rem;
    }
    
    html.mobile #mobile-contact > div.contact-row {
        font-weight:700;   
    }

	html.mobile #mobile-contact > div.contact-row span {
		font-weight:1000;
		color:#10069f;
	}
    
    html.mobile #social-links-mob {
        position:absolute;
        top: 1rem;
        right: 1rem;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-flow:column;
        flex-flow:column;
        width: 10%;
        height: calc(100% - 4.5rem);
    }

	html.mobile div#social-links-mob > div+div {
		margin:0;
	}

	#social-links-mob > div {
		-webkit-box-flex:1;
		    -ms-flex:1 1 auto;
		        flex:1 1 auto;
		height:auto;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	html.mobile nav#site-navigation {
		padding: 10vh 1.5rem 0;
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 auto;
		        flex: 1 1 auto;
	}

	html.mobile ul#primary-menu li.current_page_item:after, 
	html.mobile ul#primary-menu li.current_page_parent:after {
		background: rgb(36 26 199);
	}

	html.mobile .site-language li:not([class="wpml-ls-current-language"]) {
	    background: rgb(255 255 255 / 70%);
	}

	html.mobile .site-language li:not([class="wpml-ls-current-language"]) a span {
		color:#10069f;
	}

	html.mobile .site-language li.wpml-ls-current-language {
		background:transparent;
	}

	html.mobile .site-language li.wpml-ls-current-language a span {
		font-weight:700;
		color:#FFF;
	}

	html.mobile #home-slide-wrap, 
	html.mobile #home-slide, 
	html.mobile #home-slide .slide {
		height: auto;
		max-height: none;
	}

	html.mobile #home-slide,
	html.mobile #home-slide .slide{
		height:50vh;
	}

	html.mobile div#slide-text-overlay {
		position:static;
		height: auto;
		max-height: none;
	}

	html.mobile #slide-text-overlay > div > div {
		-webkit-clip-path:none;
		clip-path:none;
		padding: 3rem 0 1rem 0;
		background: #241ac7;
		border-top: .5rem solid #4fe01f;
		border-bottom: .5rem solid #00b3ff;
	}

	html.mobile #slide-text-overlay > div {
		padding: 0;
		text-align:center;
	}

	html.mobile #slide-text-overlay h1 {
		font-size:2rem;
		margin-top: .5rem;
	}
	
    html.mobile #home-control-wrap {
		bottom: auto;
		padding-top: 1rem;
	}

	html.mobile #home-control-wrap > div {
		-webkit-box-align:center;
		    -ms-flex-align:center;
		        align-items:center;
	}

	html.mobile #home-control-wrap ul.slick-dots {
		-webkit-box-align:center;
		    -ms-flex-align:center;
		        align-items:center;
	}

	html.mobile #home-control-wrap ul.slick-dots li {
		margin-bottom:0;
	}

	html.mobile #slide-text-overlay > div > div > div {
		padding:0 .75rem;
		font-size:1rem;
	}

	html.mobile #slide-text-overlay p {
		font-size:1rem;
		line-height:initial;
	}

	html.mobile #slide-text-overlay a.link-button {
		float:none;
	}

	html.mobile span.slide-caption {
		font-size: 1rem;
		bottom:0;
		left:0;
		width: 100%;
		text-align: center;
	}

	html.mobile section#home-about p {
		font-size:1rem;
		line-height:initial;
	}

	html.mobile #home-about > div > div.cell.small-12.medium-6.large-7 {
		height:auto;
		-webkit-box-ordinal-group:2;
		    -ms-flex-order:1;
		        order:1;
		margin-bottom: 1rem;
	}

	html.mobile #home-about > div > div.cell.small-12.medium-6.large-5.grid-x {
		-webkit-box-ordinal-group:3;
		    -ms-flex-order:2;
		        order:2;
		text-align:center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		padding: 0 0.75rem;
	}

	html.mobile section#home-about {
		margin:0;
	}

	html.mobile section#home-accreds {
		padding:3.5rem 1rem;
	}

	html.mobile .logo-slide {
		margin:0;
		padding:.75rem;
	}

	html.mobile #colophon > .grid-container.grid-x:first-child > div {
		max-width:100%;
		text-align: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	html.mobile #foot-addr {
		margin-bottom:.5rem;
	}

	html.mobile #foot-addr span {
		margin:0;
		text-align:center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	html.mobile #foot-menu {
		display:none;
	}

	html.mobile #credits {
		text-align:center;
		font-size:.75rem;
	}

	html.mobile #serv-projects > div {
		row-gap: 1rem;
		-webkit-column-gap:0;
		        column-gap:0;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row wrap;
		        flex-flow:row wrap;
	}

	html.mobile div#head-text-overlay {
		position: absolute;
		padding: 0 .75rem;
	}

	html.mobile body.page-template-services div#head-text-overlay {
		position: relative;
	}

	html.mobile section#page-head-wrap, 
	html.mobile div#page-head {
		height: auto;
		position: relative;
	} 

	html.mobile body.page-template-services #head-text-overlay > div > div > h1,
	html.mobile body.single #page-head-wrap h1, 
	html.mobile body.blog #page-head-wrap h1,
	html.mobile body.archive #page-head-wrap h1 {
		line-height:1;
		font-size:3rem;
		margin-top: -4rem;
	}

	html.mobile body.single #page-head-wrap h1, 
	html.mobile body.blog #page-head-wrap h1 {
		-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,.4));
		        filter: drop-shadow(2px 2px 2px rgba(0,0,0,.4));
	}

	html.mobile div#page-head > div {
		max-height:50vh;
	}

	html.mobile #head-text-overlay h2 {
		text-wrap:unset;
		margin: 0;
		font-size: 2.5rem;
	}

	html.mobile #serv-projects {
		padding:1.5rem .75rem;
	}

	html.mobile #serv-projects .cat-tile {
		width:100%;
		-webkit-box-flex:0;
		    -ms-flex:0 0 100%;
		        flex:0 0 100%;
	}

	html.mobile #projects-index .proj-tile {
		width: calc(100% - 2.5rem);
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 calc(100% - 2.5rem);
		        flex: 0 0 calc(100% - 2.5rem);
	}

	html.mobile div#cat-bar {
		margin-bottom:0;
	}

	html.mobile div#cat-bar button {
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 calc(50% - .3125rem);
		        flex: 1 1 calc(50% - .3125rem);
	}

	html.mobile main#main section#post-cats {
		padding-bottom:0;
	}

	html.mobile section#about-wbg {
		padding: 0 .75rem;
	}

	html.mobile section#about-wbg > div {
		height:auto;
		width: 100%;
	}

	html.mobile div#about-text-wrapper {
		padding:0;
		width: 100%;
		margin-bottom: 1.5rem;
	}

	html.mobile div#about-text {
		height: auto !important;
		padding-right: 0;
	}

	html.mobile [data-simplebar] {
	    overflow: auto !important;
	    height: auto !important;
	    max-height: none !important;
	   }

	html.mobile div#apr-control-wrap > ul {
		overflow-y: visible;
		overflow-x: scroll;
	}

	html.mobile #vac-control-wrap ul {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row nowrap;
		        flex-flow:row nowrap;
		overflow-x:scroll;
		overflow-y: visible;
		position: relative;
	}

	html.mobile #vac-control-wrap {
		position:relative;
	}

	html.mobile #vac-control-wrap:before,
	html.mobile #apprentices:after,
	html.mobile #story-header:after{
		content: 'Scroll for more';
		position:absolute;
		top: -1.5rem;
		width:100%;
		height:auto;
		color: #fefefe;
		z-index: 99;
		display:block;
		text-align: right;
		background: url(svg/arr-white.svg) no-repeat #241ac7 calc(100% - .325rem) center / auto 75%;
		padding-right: 2rem;
	}

	html.mobile[lang="cy-GB"] #vac-control-wrap:before,
	html.mobile[lang="cy-GB"] #apprentices:after,
	html.mobile[lang="cy-GB"] #story-header:after{
		content: 'Sgroliwch am fwy';
	}

	html.mobile #vac-control-wrap li.tabs-title {
		padding-right:0;
		padding-bottom:2.5rem;
		width:100%;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
		margin-bottom: .75rem;
		margin-right: 0;
	}

	html.mobile #vac-control-wrap li.tabs-title:after {
		width:100%;
		height:2.5rem;
		top:auto;
		left:0;
		right:auto;
		bottom:0;
		background: url(svg/arr-grey-down.svg) #dedede center no-repeat;
	}
	
	html.mobile #vac-control-wrap li.tabs-title.is-active:after {
		background: url(svg/arr-white-down.svg) #a2a2a2 center no-repeat;
	}

	html.mobile #vac-control-wrap .job-short-desc {
		padding-right:0;
		font-size:.825rem;
	}

	html.mobile #input_1_1_6_container, 
	html.mobile #input_1_3_2_container {
		margin-bottom:0;
	}

	html.mobile #input_1_7 > div {
		margin:0 auto;
	}

	html.mobile input#gform_submit_button_1,
	html.mobile input#gform_submit_button_2 {
		width: 96%;
		margin:0 auto;
	}

	html.mobile div#story-header h1, 
	html.mobile #careers-apprenticeships h1 {
		font-size:2.5rem;
		max-width: 100%;
	}

	html.mobile #vac-content-wrap .job-tags {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
		width: 100%;
		margin-top: 0;
	}

	html.mobile .job-tags span {
		-webkit-box-flex:1;
		    -ms-flex:1 0 auto;
		        flex:1 0 auto;
		text-align:center;
	}

	html.mobile .wbg-job-inner {
		background: transparent;
		padding: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row wrap;
		        flex-flow: row wrap;
	}

	html.mobile .tabs-content.vertical {
		border:none;
		background: transparent;
	}

	html.mobile div.job-top > button {
		font-size: 1rem;
	}

	html.mobile section#careers-vacancies h1 {
		font-size: 1.325rem;
	}

	html.mobile .job-top {
		-webkit-box-ordinal-group:5;
		    -ms-flex-order:4;
		        order:4;
		width: 100%;
	}

	html.mobile .job-desc {
		-webkit-box-ordinal-group:2;
		    -ms-flex-order:1;
		        order:1;
		padding: 1rem;
	}

	html.mobile #field_submit {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row wrap;
		        flex-flow:row wrap;
	}

	html.mobile #careers-vacancies {
		background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
		background: linear-gradient(180deg, #fff, #ededed);
		padding-bottom: 1.5rem;
	}

	html.mobile div#vac-content-wrap {
		background:transparent !important;
	}

	html.mobile section#careers-apprenticeships {
		padding: 1.5rem 0;
		background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
		background: linear-gradient(180deg, #fff, #ededed);
	}

	html.mobile #careers-apprenticeships > div > div.cell.small-12.medium-6.large-5 {
		padding:0 1rem;
	}

	html.mobile ul#apprentice-tabs li {
		-webkit-box-flex:0;
		    -ms-flex:0 0 auto;
		        flex:0 0 auto;
	}

	html.mobile div#apprentices,
	html.mobile div#apr-content-wrap {
		margin-bottom:0;
	}

	html.mobile div#apprentices {
		padding-bottom: 1.5rem;
		position:relative;
	}

	html.mobile ul#apprentice-tabs li.is-active:before {
		bottom:calc(100% - .5rem)
	}

	html.mobile div#apprentices:after{ 
		top:auto;
		bottom:0;
	}

	html.mobile div#story-control-wrap ul {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row nowrap;
		        flex-flow:row nowrap;
		overflow-x:scroll;
		padding: 1.5rem 0 0;
		margin: .75rem auto 0;
		width: calc(100% - 1.5rem);
		position: relative;
	}


	html.mobile div#story-control-wrap ul li {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 250px;
		        flex: 0 0 250px;
		width: calc(90vw - 1.5rem);
		overflow: hidden;
		margin: 0;
	}

	html.mobile #story-control-wrap ul li > a {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-flow: column nowrap;
		        flex-flow: column nowrap;
		-webkit-box-align:stretch;
		    -ms-flex-align:stretch;
		        align-items:stretch;
		width:100%;
	}

	html.mobile #story-control-wrap ul li > a img {
		width: 250px;
		-o-object-fit: cover;
		   object-fit: cover;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 250px;
		        flex: 0 0 250px;
		max-width: none;
	}
	
	html.mobile .employee-details {
		width: 100%;
	}

	html.mobile .story-main p {
		padding:0 0.75rem;
		margin: 0 0 0.75rem;
		font-size: 1.125rem;
	}

	html.mobile .story-main p:last-of-type {
		margin:0;
	}

	html.mobile div#story-control-wrap > ul > li:hover {
		opacity:1;
	}

	html.mobile div#story-content-wrap {
		padding:0;
	}

	html.mobile #story-content-wrap .tabs-content, 
	html.mobile #story-content-wrap .tabs-content > div, 
	html.mobile #story-content-wrap .tabs-content > div > div {
		height:auto !important;
	}

	html.mobile .story-main .simplebar-content {
		height: auto;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row wrap;
		        flex-flow: row wrap;
		padding: .75rem 0 0 !important;
	}

	html.mobile .story-details.cell.small-12.medium-4.large-5 {
		display:none;
	}

	html.mobile #careers-stories {
		padding: 1.5rem 0 0;
	}

	html.mobile #story-header {
		padding:0 1rem;
		position: relative;
	}

	html.mobile #story-header > p {
		font-size:1.125rem;
	}

	html.mobile #story-header > p:last-of-type {
		margin:0;
	}

	html.mobile #story-header:after {
		width: calc(100% - 1.5rem);
		top: calc(100% + .75rem);
		left:0.75rem;
	}

	html.mobile .story-quote.cell.small-12 {
		border: .75rem solid #fff;
		border-top:1.5rem solid #FFF;
		border-bottom:2rem solid #FFF;
		background: #efefef;
		font-size: 1.5rem;
		padding: 1rem;
	}

	html.mobile #story-content-wrap .tabs-content div.story-main {
		background:#fff;
	}

	html.mobile div#form-details {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row wrap;
		        flex-flow:row wrap;
		font-size: 1.25rem;
	}

	html.mobile #gform_wrapper_2 {
		padding:0 1rem
	}

	html.mobile #input_2_4_1_container {
		margin-bottom:1rem;
	}

	html.mobile #input_2_4_2_container {
		margin:0;
	}

	html.mobile fieldset#field_2_6 {
		padding:0;
	}

	html.mobile .map {
		padding:0;
		height:100%;
	}

	html.mobile .map-container.cell.small-12 {
		height:100vh;
	}

	html.mobile .map-overlay h1 {
		font-size:1.75rem;
		display:inline-block;
		margin-right:.25rem;
		margin-bottom:.5rem;
	}

	html.mobile div#contact-addr {
		margin-top:0;
		font-size:1rem;
		max-width: calc(100vw - 10rem);
	}

	html.mobile .map-overlay .cell:after,
	html.mobile .map-overlay .cell {
		background:rgb(122 204 0 / 70%);
		padding-right: 0;
	}

	html.mobile #contact-form {
		padding-top:1.5rem;
	}

	html.mobile body.page-template-contact #page-head-wrap h1,
	html.mobile div#about-text-wrapper > h1 {
		font-size:2.5rem;
	}

	html.mobile .tile-back .read-more {
		bottom:0;
	} 

	html.mobile div#proj-details {
		margin-top:0;
	}

	html.mobile section#related-projects {
		margin-bottom:0;
	}

	html.mobile section#related-projects .proj-tile {
	    -webkit-box-flex: 0;
	        -ms-flex: 0 0 90%;
	            flex: 0 0 90%;
		margin:0 auto 1.5rem auto;
	}
}

/*--------------------------------------------------*/
/* Tablets (portrait) ----------------------------- */
/*--------------------------------------------------*/
@media only screen and (min-width: 48em) and (max-width: 64em) and (orientation: portrait) {

    html.tablet.portrait #colophon > .grid-container.grid-x:first-child,
	html.tablet.portrait div#credits {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		-ms-flex-flow:row wrap;
		flex-flow:row wrap;
		max-width:100vw;
		overflow:hidden;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
	}

	html.tablet.portrait .site-branding {
		margin: 0;
		width: 45%;
	}

	html.tablet.portrait .site-nav {
		position: fixed;
		top: 1.125rem;
		right: 0;
	}

	html.tablet.portrait button#menu-open {
		font-size:1rem;
		margin: 0 2.5rem 0 0;
		background: rgb(36 26 199);
	}
	
	html.tablet.portrait button#menu-open:after {
		background: url(svg/menu.svg) #241ac7 no-repeat center left / 1.5rem;
	}
    
    html.tablet.portrait div#offCanvas {
        width: 45vw;
        -webkit-transform: translateX(45vw);
        transform: translateX(45vw);
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        height: 100vh;
        overflow: scroll;
    }
    
    html.tablet.portrait div#offCanvas.is-open {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    
    html.tablet.portrait #mobile-contact {
        position:relative;
        padding: 1rem 1rem 0 1rem;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        overflow:hidden;
        background: rgb(255 255 255 / 90%);
        border-top: .5rem solid #4fe01f;
		border-bottom: .5rem solid #00b3ff;
    }    
    
    html.tablet.portrait #mobile-lang {
        width:calc(100% + 2rem);
        position:relative;
        left:-1rem;
        margin-top:.5rem;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        background: #10069f;
    }
    
    html.tablet.portrait #mobile-lang.site-language ul {
        width:100%;
    }
    
    html.tablet.portrait #mobile-lang.site-language ul li {
        -webkit-box-flex:1;
        -ms-flex:1 1 50%;
        flex:1 1 50%;
        display:-webkit-inline-box;
        display:-ms-inline-flexbox;
        display:inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: .5rem;
    }
    
    html.tablet.portrait #mobile-lang > div {
        padding:0;
        border: none;
    }
    
    html.tablet.portrait #mobile-contact > div.contact-row {
		width: 85%;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		margin: .25rem 15% .25rem 0;
	}
    
    #mobile-contact > div.contact-row a {
        color: #77b122;
        border-bottom: 2px dotted;
        margin-left: .75rem;
    }
    
    html.tablet.portrait #mobile-contact > div.contact-row {
        font-weight:700;   
    }

	html.tablet.portrait #mobile-contact > div.contact-row span {
		font-weight:1000;
		color:#10069f;
	}
    
    html.tablet.portrait #social-links-mob {
        position:absolute;
        top: 1rem;
        right: 1rem;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-flow:column;
        flex-flow:column;
        width: 10%;
        height: calc(100% - 4.5rem);
    }

	html.tablet.portrait div#social-links-mob > div+div {
		margin:0;
	}

	#social-links-mob > div {
		-webkit-box-flex:1;
		    -ms-flex:1 1 auto;
		        flex:1 1 auto;
		height:auto;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	html.tablet.portrait nav#site-navigation {
		padding: 10vh 1.5rem 0;
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 auto;
		        flex: 1 1 auto;
	}

	html.tablet.portrait ul#primary-menu li.current_page_item:after, 
	html.tablet.portrait ul#primary-menu li.current_page_parent:after {
		background: rgb(36 26 199);
	}

	html.tablet.portrait #masthead .grid-container.grid-x {
		padding-right:20%;
		padding-top: .625rem;
	}

	html.tablet.portrait .site-language {
		width: auto;
		margin:0 auto;
	}

	html.tablet.portrait .site-language li:not([class="wpml-ls-current-language"]) a span {
		color:#10069f;
	}

	html.tablet.portrait .site-language li.wpml-ls-current-language a span {
		font-weight:700;
		color:#FFF;
	}

	html.tablet.portrait #home-slide-wrap, 
	html.tablet.portrait #home-slide, 
	html.tablet.portrait #home-slide .slide {
		height: auto;
		max-height: none;
	}

	html.tablet.portrait #home-slide,
	html.tablet.portrait #home-slide .slide{
		height:50vh;
	}

	html.tablet.portrait div#slide-text-overlay {
		position:static;
		height: auto;
		max-height: none;
	}

	html.tablet.portrait #slide-text-overlay > div > div {
		-webkit-clip-path:none;
		clip-path:none;
		padding: 3rem 0 1rem 0;
		background: #241ac7;
		border-top: .5rem solid #4fe01f;
		border-bottom: .5rem solid #00b3ff;
		width: 100%;
	}

	html.tablet.portrait #slide-text-overlay > div {
		padding: 0;
		text-align:center;
	}

	html.tablet.portrait #slide-text-overlay h1 {
		font-size:2rem;
		margin-top: .5rem;
	}
	
    html.tablet.portrait #home-control-wrap {
		bottom: auto;
		padding-top: 1rem;
	}

	html.tablet.portrait #home-control-wrap > div {
		-webkit-box-align:center;
		    -ms-flex-align:center;
		        align-items:center;
	}

	html.tablet.portrait #home-control-wrap ul.slick-dots {
		-webkit-box-align:center;
		    -ms-flex-align:center;
		        align-items:center;
	}

	html.tablet.portrait #home-control-wrap ul.slick-dots li {
		margin-bottom:0;
	}

	html.tablet.portrait #slide-text-overlay > div > div > div {
		padding:0 .75rem;
		font-size:1rem;
	}

	html.tablet.portrait #slide-text-overlay p {
		font-size:1rem;
		line-height:initial;
	}

	html.tablet.portrait #slide-text-overlay a.link-button {
		float:none;
	}

	html.tablet.portrait span.slide-caption {
		font-size: 1rem;
		bottom:0;
		left:0;
		width: 100%;
		text-align: center;
	}

	html.tablet.portrait section#home-about p {
		font-size:1rem;
		line-height:initial;
	}

	html.tablet.portrait body.home main#main section h1 {
		margin:0;
	}

	html.tablet.portrait #home-about > div > div.cell.small-12.medium-6.large-7 {
		height:auto;
		-webkit-box-ordinal-group:2;
		-ms-flex-order:1;
		order:1;
		margin-bottom: 2rem;
		width: 100%;
	}

	html.tablet.portrait #home-about > div > div.cell.small-12.medium-6.large-5.grid-x {
		-webkit-box-ordinal-group:3;
		-ms-flex-order:2;
		order:2;
		text-align:center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		padding: 0 0.75rem;
		width: 100%;
	}

	html.tablet.portrait #home-about > div > div.cell.small-12.medium-6.large-5.grid-x > div.cell.small-12.text-wrap {
		padding:0;
	}

	html.tablet.portrait section#home-about {
		margin:0;
		padding: 1rem 0;
	}

	html.tablet.portrait section#home-accreds {
		padding:3.5rem 1rem;
	}

	html.tablet.portrait .logo-slide {
		margin:0;
		padding:.75rem;
	}

	html.tablet.portrait #colophon > .grid-container.grid-x:first-child > div {
		width:auto;
		text-align: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 33.3333%;
		        flex: 1 1 33.3333%;
	}

	html.tablet.portrait #colophon > .grid-container.grid-x:first-child > div#foot-logo {
		margin:0 auto 1rem;
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 100%;
		        flex: 1 1 100%;
		width: 100%;
		max-width: none;
		padding: 0 15%;
	}

	html.tablet.portrait #colophon > .grid-container.grid-x {margin: 0;}
	
	html.tablet.portrait #foot-addr {
		margin-bottom:.5rem;
	}

	html.tablet.portrait #foot-addr span {
		margin:0;
		text-align:center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}


	html.tablet.portrait #credits {
		text-align:center;
		font-size:.75rem;
	}

	html.tablet.portrait #serv-projects > div {
		row-gap: 1rem;
		-webkit-column-gap:0;
		column-gap:0;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		-ms-flex-flow:row wrap;
		flex-flow:row wrap;
		padding: 0;
	}

	html.tablet.portrait div#head-text-overlay {
		position: absolute;
		padding: 0 .75rem;
	}

	html.tablet.portrait body.page-template-services div#head-text-overlay {
		position: relative;
	}

	html.tablet.portrait #head-text-overlay > div > div {
		width: 100%;
	}

	html.tablet.portrait section#page-head-wrap, 
	html.tablet.portrait div#page-head {
		position: relative;
	} 

	html.tablet.portrait body.page-template-services #head-text-overlay > div > div > h1,
	html.tablet.portrait body.single #page-head-wrap h1, 
	html.tablet.portrait body.blog #page-head-wrap h1,
	html.tablet.portrait body.archive #page-head-wrap h1 {
		line-height:1;
		font-size:3rem;
		margin-top: -4.5rem;
	}

	html.tablet.portrait body.page-template-services #head-text-overlay > div > div > h1{
		margin-top:-3.5rem;	
	}

	html.tablet.portrait div#page-head > div {
		max-height: 35vh;
	}

	html.tablet.portrait #head-text-overlay h2 {
		text-wrap:unset;
		margin: 0;
		font-size: 2.5rem;
	}

	html.tablet.portrait[lang="cy-GB"] #head-text-overlay h2 {
		font-size:2rem;
		text-align:center;
	}

	html.tablet.portrait #serv-projects {
		padding:1.5rem .75rem;
	}

	html.tablet.portrait #serv-projects .cat-tile {
		width: calc(50% - 0.75rem);
		-webkit-box-flex:0;
		-ms-flex:0 0 100%;
		flex: 0 0 calc(50% - 0.75rem);
	}

	html.tablet.portrait #projects-index .proj-tile.cell.small-12.medium-4.large-3 {
		width: calc(50% - 1.5rem);
		-webkit-box-flex: 0;
		-ms-flex: 0 0 calc(100% - 2.5rem);
		flex: 0 0 calc(50% - 1.5rem);
		margin: .75rem;
	}

	html.tablet.portrait div#cat-bar {
		margin-bottom:0;
	}

	html.tablet.portrait #cat-bar > div {
		width:100%;
	}

	html.tablet.portrait div#cat-bar button {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 calc(50% - .3125rem);
		flex: 1 1 auto;
	}

	html.tablet.portrait main#main section#post-cats {
		padding-bottom:0;
		padding-top: .75rem;
	}

	html.tablet.portrait section#project-content-wrap > div {
		width: 80%;
		margin:0 auto;
	}

	html.tablet.portrait div#proj-media {
		-webkit-box-ordinal-group:2;
		    -ms-flex-order:1;
		        order:1;
	}

	html.tablet.portrait section#related-projects {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}

	html.tablet.portrait section#related-projects .proj-tile+.proj-tile {
		margin:0;
	}

	html.tablet.portrait section#related-projects .proj-tile {
		width: 31.33333%;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 31.333333%;
		        flex: 0 0 31.333333%;
	}

	html.tablet.portrait section#related-projects .proj-tile:last-of-type {
		display:none;
	}
	
	html.tablet.portrait section#about-wbg {
		padding: 0 .75rem;
		margin-bottom: 0;
	}

	html.tablet.portrait section#about-wbg > div {
		height:auto;
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	html.tablet.portrait div#about-text-wrapper {
		padding:0;
		width: 100%;
		margin-bottom: 1.5rem;
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	html.tablet.portrait div#about-text {
		height: auto !important;
		padding-right: 0;
	}

	html.tablet.portrait [data-simplebar] {
	    overflow: auto !important;
	    height: auto !important;
	    max-height: none !important;
	}

	html.tablet.portrait div#about-slider-wrapper {
		width:100%;
		height: 65vh;
		-webkit-box-ordinal-group:2;
		    -ms-flex-order:1;
		        order:1;
		margin-bottom:.75rem;
	}

	html.tablet.portrait div#about-slider,
	html.tablet.portrait div#about-slider > div {
	    height: 65vh;    
	}

	html.tablet.portrait div#apr-control-wrap > ul {
		overflow-y: visible;
		overflow-x: scroll;
	}

	html.tablet.portrait #vac-control-wrap ul {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row nowrap;
		        flex-flow:row nowrap;
		overflow-x:scroll;
		overflow-y: visible;
		position: relative;
	}

	html.tablet.portrait #vac-control-wrap {
		position:relative;
		width: 100%;
	}

	html.tablet.portrait #vac-control-wrap:before,
	html.tablet.portrait #apprentices:after,
	html.tablet.portrait #story-header:after{
		content: 'Scroll for more';
		position:absolute;
		top: -1.5rem;
		width:100%;
		height:auto;
		color: #fefefe;
		z-index: 99;
		display:block;
		text-align: right;
		background: url(svg/arr-white.svg) no-repeat #241ac7 calc(100% - .325rem) center / auto 75%;
		padding-right: 2rem;
	}

	html.tablet.portrait[lang="cy-GB"] #vac-control-wrap:before,
	html.tablet.portrait[lang="cy-GB"] #apprentices:after,
	html.tablet.portrait[lang="cy-GB"] #story-header:after{
		content: 'Sgroliwch am fwy';
	}

	html.tablet.portrait #vac-control-wrap li.tabs-title {
		padding-right:0;
		padding-bottom:2.5rem;
		width:100%;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
		margin-bottom: .75rem;
		margin-right: 0;
	}

	html.tablet.portrait #vac-control-wrap li.tabs-title:after {
		width:100%;
		height:2.5rem;
		top:auto;
		left:0;
		right:auto;
		bottom:0;
		background: url(svg/arr-grey-down.svg) #dedede center no-repeat;
	}
	
	html.tablet.portrait #vac-control-wrap li.tabs-title.is-active:after {
		background: url(svg/arr-white-down.svg) #a2a2a2 center no-repeat;
	}

	html.tablet.portrait #vac-control-wrap .job-short-desc{
		padding-right:0;
		font-size:.825rem;
		width: 75%;
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}

	html.tablet.portrait #vac-control-wrap .job-tags {
		width: 25%;
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
		margin: 0;
		height: 0;
	}
	
	html.tablet.portrait #input_1_1_6_container, 
	html.tablet.portrait #input_1_3_2_container {
		margin-bottom:0;
	}

	html.tablet.portrait #input_1_7 > div {
		margin:0 auto;
	}

	html.tablet.portrait input#gform_submit_button_1,
	html.tablet.portrait input#gform_submit_button_2 {
		width: 96%;
		margin:0 auto;
	}

	html.tablet.portrait div#story-header h1, 
	html.tablet.portrait #careers-apprenticeships h1 {
		font-size:2.5rem;
		max-width: 100%;
	}

	html.tablet.portrait #vac-content-wrap .job-tags {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
		margin-top: 0;
		width: auto;
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 100%;
		        flex: 1 1 100%;
	}

	html.tablet.portrait #vac-content-wrap .job-tags span {
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 33.3333%;
		        flex: 1 1 33.3333%;
		margin: 0 0.25rem;
	}

	html.tablet.portrait .job-tags span {
		-webkit-box-flex:1;
		-ms-flex:1 0 auto;
		flex:1 0 auto;
		text-align:center;
		margin-bottom: .125rem;
		width: 100%;
	}

	html.tablet.portrait .job-tags > span:last-of-type {
		margin: 0 !important;
	}

	html.tablet.portrait .wbg-job-inner {
		background: transparent;
		padding: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row wrap;
		        flex-flow: row wrap;
	}

	html.tablet.portrait .tabs-content.vertical {
		border:none;
		background: transparent;
	}

	html.tablet.portrait div.job-top > button {
		font-size: 1.5rem;
	}

	html.tablet.portrait section#careers-vacancies h1 {
		font-size: 1.325rem;
	}

	html.tablet.portrait .job-top {
		-webkit-box-ordinal-group:5;
		    -ms-flex-order:4;
		        order:4;
		width: 100%;
	}

	html.tablet.portrait .job-desc {
		-webkit-box-ordinal-group:2;
		    -ms-flex-order:1;
		        order:1;
		padding: 1rem;
	}

	html.tablet.portrait #field_submit {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row wrap;
		        flex-flow:row wrap;
	}

	html.tablet.portrait #careers-vacancies {
		background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
		background: linear-gradient(180deg, #fff, #ededed);
		padding-bottom: 1.5rem;
	}

	html.tablet.portrait div#vac-content-wrap {
		background:transparent !important;
		width: 100%;
	}

	html.tablet.portrait section#careers-apprenticeships {
		padding: 1.5rem 0;
		background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
		background: linear-gradient(180deg, #fff, #ededed);
	}

	html.tablet.portrait #careers-apprenticeships > div > div.cell.small-12.medium-6.large-5 {
		padding: 0 1rem 0 0;
	}

	html.tablet.portrait ul#apprentice-tabs li {
		-webkit-box-flex:0;
		    -ms-flex:0 0 auto;
		        flex:0 0 auto;
	}

	html.tablet.portrait div#apprentices,
	html.tablet.portrait div#apr-content-wrap {
		margin-bottom:0;
	}

	html.tablet.portrait div#apprentices {
		padding-bottom: 1.5rem;
		position:relative;
	}

	html.tablet.portrait ul#apprentice-tabs li.is-active:before {
		bottom:calc(100% - .5rem)
	}

	html.tablet.portrait div#apprentices:after{ 
		top:auto;
		bottom:0;
	}

	html.tablet.portrait div#story-control-wrap ul {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row nowrap;
		        flex-flow:row nowrap;
		overflow-x:scroll;
		padding: 1.5rem 0 0;
		margin: .75rem auto 0;
		width: calc(100% - 1.5rem);
		position: relative;
	}


	html.tablet.portrait div#story-control-wrap ul li {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 250px;
		        flex: 0 0 250px;
		width: calc(90vw - 1.5rem);
		overflow: hidden;
		margin: 0;
	}

	html.tablet.portrait #story-control-wrap ul li > a {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-flow: column nowrap;
		        flex-flow: column nowrap;
		-webkit-box-align:stretch;
		    -ms-flex-align:stretch;
		        align-items:stretch;
		width:100%;
	}

	html.tablet.portrait #story-control-wrap ul li > a img {
		width: 250px;
		-o-object-fit: cover;
		object-fit: cover;
		-webkit-box-flex: 0;
		-ms-flex: 0 0 250px;
		flex: 0 0 250px;
		max-width: none;
		max-height: 250px;
	}
	
	html.tablet.portrait .employee-details {
		width: 100%;
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 calc(100% - 250px);
		        flex: 1 1 calc(100% - 250px);
	}

	html.tablet.portrait .story-main p {
		padding:0 0.75rem;
		margin: 0 0 0.75rem;
		font-size: 1.125rem;
	}

	html.tablet.portrait .story-main p:last-of-type {
		margin:0;
	}

	html.tablet.portrait div#story-control-wrap {
		width:100%;
		-webkit-box-flex:1;
		    -ms-flex:1 1 100%;
		        flex:1 1 100%;
	}

	html.tablet.portrait div#story-control-wrap > ul > li:hover {
		opacity:1;
	}

	html.tablet.portrait div#story-content-wrap {
		padding:0;
		width: 100%;
	}

	html.tablet.portrait #story-content-wrap .tabs-content, 
	html.tablet.portrait #story-content-wrap .tabs-content > div, 
	html.tablet.portrait #story-content-wrap .tabs-content > div > div {
		height:auto !important;
		width: 100%;
	}

	html.tablet.portrait #vacancies-tabs > li.tabs-title > a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row wrap;
		        flex-flow: row wrap;
		height: 120px;
	}

	html.tablet.portrait #vacancies-tabs > li.tabs-title > a h3 {
		width: 75%;
	    -webkit-box-ordinal-group: 2;
	        -ms-flex-order: 1;
	            order: 1;
	}

	html.tablet.portrait .story-main .simplebar-content {
		height: auto;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row wrap;
		        flex-flow: row wrap;
		padding: .75rem 0 0 !important;
	}

	html.tablet.portrait #careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		    -ms-flex-flow:column;
		        flex-flow:column;
	}

	html.tablet.portrait #careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 > a {
		width:100%;
		-webkit-box-flex:0;
		    -ms-flex:0 0 49%;
		        flex:0 0 49%;
		height:49%;
		position: relative;
		overflow: hidden;
	}

	html.tablet.portrait #careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 > a img {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		-o-object-fit:cover;
		   object-fit:cover;
	}

	html.tablet.portrait .story-details.cell.small-12.medium-4.large-5 {
		display:none;
	}

	html.tablet.portrait #careers-stories {
		padding: 1.5rem 0 0;
	}

	html.tablet.portrait #story-header {
		padding:0 1rem;
		position: relative;
	}

	html.tablet.portrait #story-header > p {
		font-size:1.125rem;
	}

	html.tablet.portrait #story-header > p:last-of-type {
		margin:0;
	}

	html.tablet.portrait #story-header:after {
		width: calc(100% - 1.5rem);
		top: calc(100% + .75rem);
		left:0.75rem;
	}

	html.tablet.portrait .story-quote.cell.small-12 {
		border: .75rem solid #fff;
		border-top: 0;
		border-bottom: 1rem solid #FFF;
		background: #efefef;
		font-size: 1.5rem;
		padding: 1rem;
	}

	html.tablet.portrait #story-content-wrap .tabs-content div.story-main {
		background:#fff;
		width: 85%;
		margin: 1.5rem auto;
	}

	html.tablet.portrait #contact-form > div > div {
		width:100%;
		margin:0;
	}

	html.tablet.portrait div#form-details {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row wrap;
		        flex-flow:row wrap;
		font-size: 1.25rem;
	}

	html.tablet.portrait #gform_wrapper_2 {
		padding:0 1rem
	}

	html.tablet.portrait #input_2_4_1_container {
		margin-bottom:1rem;
	}

	html.tablet.portrait #input_2_4_2_container {
		margin:0;
	}

	html.tablet.portrait fieldset#field_2_6 {
		padding:0;
		-ms-grid-column-span: 7;
		grid-column: span 7;
		-ms-flex-item-align: center;
		    align-self: center;
	}

	html.tablet.portrait #field_2_7 {
		padding:0;
		-ms-grid-column-span: 5;
		grid-column: span 5;
	}

	html.tablet.portrait .map {
		padding:0;
		height:100%;
	}

	html.tablet.portrait .map-container.cell.small-12 {
		height: 65vh;
	}

	html.tablet.portrait .map-overlay h1 {
		font-size:1.75rem;
		display:inline-block;
		margin-right:.25rem;
		margin-bottom:.5rem;
	}

	html.tablet.portrait div#contact-addr {
		margin-top:0;
		font-size:1rem;
		max-width: calc(100vw - 10rem);
	}

	html.tablet.portrait .map-overlay .cell:after,
	html.tablet.portrait .map-overlay .cell {
		background:rgb(122 204 0 / 70%);
		padding-right: 0;
	}

	html.tablet.portrait #contact-form {
		padding-top:1.5rem;
	}

	html.tablet.portrait body.page-template-contact #page-head-wrap h1,
	html.tablet.portrait div#about-text-wrapper > h1 {
		font-size:2.5rem;
	}

	html.tablet.portrait .tile-back .read-more {
		bottom:0;
	}

	html.tablet.portrait body.home #cff.cff-carousel .cff-space {
		width:47.5vw !important 
	}

}

/*--------------------------------------------------*/
/* Tablets (Landscape) ---------------------------- */
/*--------------------------------------------------*/
@media only screen and (min-width: 48em) and (max-width: 64em) and (orientation: landscape) {

	html.tablet.landscape #offCanvas {
		width: 360px;
	    -webkit-transform: translateX(360px);
	    transform: translateX(360px);
	}

	html.tablet.landscape div#offCanvas.is-open {
	    -webkit-transform: translate(0, 0);
	    transform: translate(0, 0);
	}

    html.tablet.landscape #masthead > div > div.site-language.cell.medium-3.show-for-medium {
        width:auto;
    }

	html.tablet.landscape #colophon > .grid-container.grid-x:first-child {
		padding: 0 5% 0 2.5%;
	}

	html.tablet.landscape #colophon > .grid-container.grid-x:first-child > div {
		width: auto;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		max-width: calc(25% - 1.5rem);
	}

	html.tablet.landscape #colophon > .grid-container.grid-x:first-child > div#foot-logo {
		max-width: 35%;
		padding: 0;   
	}

	html.tablet.landscape #colophon > .grid-container.grid-x:first-child {
		-webkit-box-pack:justify;
		    -ms-flex-pack:justify;
		        justify-content:space-between;
		-webkit-column-gap: 1.5rem;
		        column-gap: 1.5rem;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
	} 

	html.tablet.landscape #home-about > div > div.cell.small-12.medium-6.large-7 {
		height:auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 50%;
	}

	html.tablet.landscape #home-about > div > div.cell.small-12.medium-6.large-7 .image-frame,
	html.tablet.landscape #home-about > div > div.cell.small-12.medium-6.large-7 .image-frame img {
		width:100%;
	}

	html.tablet.landscape #home-about > div > div.cell.small-12.medium-6.large-5.grid-x > div.cell.medium-6 {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align:center;
		    -ms-flex-align:center;
		        align-items:center;
		-webkit-box-pack:justify;
		    -ms-flex-pack:justify;
		        justify-content:space-between;
	}

	html.tablet.landscape body.home main#main section h1 {
		margin:0;
	}

	html.tablet.landscape body.home #cff.cff-carousel .cff-space {
		width:32.5vw !important 
	}

	html.tablet.landscape div#slide-text-overlay {
		padding:0 7.5vw;
	}

	html.tablet.landscape #slide-text-overlay > div {
		padding:0;
	}

	html.tablet.landscape #slide-text-overlay > div > div {
		width: 50%;
	}

	html.tablet.landscape #slide-text-overlay h1 {
	 	font-size:3rem;	
	}

	html.tablet.landscape #slide-text-overlay p {
		font-size:1rem;
		line-height:1.1;
	}

	html.tablet.landscape #slide-text-overlay a.link-button {
		font-size:1rem
	}

	html.tablet.landscape #home-control-wrap > div {
		margin-right:.75rem;
	}

	html.tablet.landscape #serv-projects > div {
		row-gap: 0;
		-webkit-column-gap: 0;
		        column-gap: 0;
	}

	html.tablet.landscape #serv-projects .cat-tile, 
	html.tablet.landscape #projects-index .proj-tile,
	html.tablet.landscape body.archive .proj-tile{
		width: calc(50% - 1.5rem);
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 calc(50% - 1.5rem);
		        flex: 0 0 calc(50% - 1.5rem);
		margin: .75rem !important;
	}

	html.tablet.landscape body.page-template-services #head-text-overlay > div > div {
		width:75%;
	}

	html.tablet.landscape body.page-template-services div#page-head img {
		opacity:.3;
	}

	html.tablet.landscape div#head-text-overlay {
		padding:0.75rem;
	}

	html.tablet.landscape #cat-bar > div {
		margin-left:0;
		margin-bottom:0;
	}

	html.tablet.landscape section#related-projects {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}

	html.tablet.landscape section#related-projects .proj-tile+.proj-tile {
		margin:0;
	}

	html.tablet.landscape section#related-projects .proj-tile {
		width: 31.33333%;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 31.333333%;
		        flex: 0 0 31.333333%;
	}

	html.tablet.landscape section#related-projects .proj-tile:last-of-type {
		display:none;
	}

	html.tablet.landscape div#about-text-wrapper,
	html.tablet.landscape div#about-slider-wrapper{
		width:50%;
		-webkit-box-flex:0;
		    -ms-flex:0 0 50%;
		        flex:0 0 50%;
	}

	html.tablet.landscape section#related-projects .tile-text h2 {
		font-size:1.75rem;
	}

	html.tablet.landscape section#related-projects .tile-text p {
		font-size:1.125rem;
	}

	html.tablet.landscape #about-wbg > div {
		max-width:100%;
	}

	html.tablet.landscape section#about-wbg {
		padding:0;
	}

	html.tablet.landscape div#story-header h1, 
	html.tablet.landscape #careers-apprenticeships h1 {
		max-width: none;
	}

	html.tablet.landscape div#story-control-wrap > ul > li,
	html.tablet.landscape div#story-control-wrap > ul > li > a{
		width:100%;
		-webkit-box-flex:0;
		    -ms-flex:0 0 100%;
		        flex:0 0 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		overflow: hidden;
		margin: 0;
	}

	html.tablet.landscape #story-control-wrap ul li > a img {
		width:100px;
		max-height:100px
	}

	html.tablet.landscape .employee-details {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		    -ms-flex-flow:column;
		        flex-flow:column;
		height:100%;
		width: calc(100% - 200px);
	}

	html.tablet.landscape #careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row wrap;
		        flex-flow:row wrap
	}

	html.tablet.landscape #careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 > a {
		width:100%;
		height:50%;
		overflow:hidden;
		position:relative;
	}

	html.tablet.landscape #careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 > a img {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		-o-object-fit:cover;
		   object-fit:cover;
		-o-object-position:center;
		   object-position:center;
	}

	html.tablet.landscape ul#apprentice-tabs li {
		width:auto;
		-webkit-box-flex:0;
		    -ms-flex:0 1 auto;
		        flex:0 1 auto;
	}

	html.tablet.landscape #story-content-wrap .tabs-content div.story-main {
		-webkit-box-ordinal-group:3;
		    -ms-flex-order:2;
		        order:2;
		width:100%;
		height: auto;
	}

	html.tablet.landscape .story-details.cell.small-12.medium-4.large-5 {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row nowrap;
		        flex-flow:row nowrap;
		height: 200px;
		width: 100%;
	}

	html.tablet.landscape .story-quote.cell.small-12 {
		-webkit-box-ordinal-group:4;
		    -ms-flex-order:3;
		        order:3;
		border-top-width:.5rem;
	}

	html.tablet.landscape .story-main p {
		font-size:1.125rem;
	}

	html.tablet.landscape .story-main .simplebar-content {
		height:auto;
	}

	html.tablet.landscape .story-details img {
		-webkit-box-flex:0;
		    -ms-flex:0 0 200px;
		        flex:0 0 200px;
		width:200px;
		height: 200px;
		-o-object-fit: contain;
		   object-fit: contain;
	}

	html.tablet.landscape #story-control-wrap ul li a div > span {
		max-width:80%;
	}

	html.tablet.landscape #story-content-wrap .tabs-content > div > div {
		-webkit-box-align:end;
		    -ms-flex-align:end;
		        align-items:flex-end;
		-ms-flex-line-pack: end;
		    align-content: flex-end;
	}

	html.tablet.landscape main#main > section {
	    padding: 2rem 0;
	} 

	html.tablet.landscape #contact-form > div > div {
		width:95%;
		margin-left:2.5%;
	}

}

/*--------------------------------------------------*/
/* Big Tablets ---------------------------- */
/*--------------------------------------------------*/

/* Portrait */
@media only screen and (min-width: 64em) and (max-width: 85.375em) and (-webkit-min-device-pixel-ratio: 1.5) and (orientation: portrait) {
	
}

/* Landscape */
@media only screen and (min-width: 64em) and (max-width: 85.375em) and (-webkit-min-device-pixel-ratio: 1.5) and (orientation: landscape) {
	
}

/*--------------------------------------------------*/
/* Notebooks / Low Res Laptops -------------------- */
/*--------------------------------------------------*/
@media only screen and (min-width: 64em) and (max-width:100em) {

	html.desktop div#head-text-overlay {
		padding: 7.5rem 0 1rem;
		bottom: auto;
		top: 0;
	}

	html.desktop body.page-template-services #head-text-overlay > div > div > h1 {
		line-height:1;
	}

	html.desktop #head-text-overlay h2 {
		margin-top: 0;
	}

	html.desktop #colophon > .grid-container.grid-x:first-child {
		padding: 0 5% 0 2.5%;
	}

	html.desktop #colophon > .grid-container.grid-x:first-child > div {
		width: auto;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		max-width: calc(25% - 1.5rem);
	}

	html.desktop #colophon > .grid-container.grid-x:first-child > div#foot-logo {
		max-width: 35%;
		padding: 0;   
	}

	html.desktop #colophon > .grid-container.grid-x:first-child {
		-webkit-box-pack:justify;
		    -ms-flex-pack:justify;
		        justify-content:space-between;
		-webkit-column-gap: 1.5rem;
		        column-gap: 1.5rem;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
	} 

    html.desktop #offCanvas {
		width: 360px;
	    -webkit-transform: translateX(360px);
	    transform: translateX(360px);
	}

	html.desktop div#offCanvas.is-open {
	    -webkit-transform: translate(0, 0);
	    transform: translate(0, 0);
	}

    html.desktop #masthead > div > div.site-language.cell.medium-3.show-for-medium {
        width:auto;
    }

	html.desktop #colophon > .grid-container.grid-x:first-child {
		padding: 0 5% 0 2.5%;
	}

	html.desktop #colophon > .grid-container.grid-x:first-child > div {
		width: auto;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		max-width: calc(25% - 1.5rem);
	}

	html.desktop #colophon > .grid-container.grid-x:first-child > div#foot-logo {
		max-width: 35%;
		padding: 0;   
	}

	html.desktop #colophon > .grid-container.grid-x:first-child {
		-webkit-box-pack:justify;
		    -ms-flex-pack:justify;
		        justify-content:space-between;
		-webkit-column-gap: 1.5rem;
		        column-gap: 1.5rem;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
	} 

	html.desktop #home-about > div > div.cell.small-12.medium-6.large-7 {
		height:auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 50%;
	}

	html.desktop #home-about > div > div.cell.small-12.medium-6.large-7 .image-frame,
	html.desktop #home-about > div > div.cell.small-12.medium-6.large-7 .image-frame img {
		width:100%;
	}

	html.desktop #home-about > div > div.cell.small-12.medium-6.large-5.grid-x > div.cell.medium-6 {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align:center;
		    -ms-flex-align:center;
		        align-items:center;
		-webkit-box-pack:justify;
		    -ms-flex-pack:justify;
		        justify-content:space-between;
	}

	html.desktop body.home main#main section h1 {
		margin:0;
	}

	html.desktop body.home #cff.cff-carousel .cff-space {
		width:32.5vw !important 
	}

	html.desktop div#slide-text-overlay {
		padding:0 7.5vw;
	}

	html.desktop #slide-text-overlay > div {
		padding:0;
	}

	html.desktop #slide-text-overlay > div > div {
		width: 50%;
	}

	html.desktop #slide-text-overlay h1 {
	 	font-size:3rem;	
	}

	html.desktop #slide-text-overlay p {
		font-size:1rem;
		line-height:1.1;
	}

	html.desktop #slide-text-overlay a.link-button {
		font-size:1rem
	}

	html.desktop #home-control-wrap > div {
		margin-right:.75rem;
	}

	html.desktop #serv-projects > div {
		row-gap: 0;
		-webkit-column-gap: 0;
		        column-gap: 0;
	}

	html.desktop #serv-projects .cat-tile, 
	html.desktop #projects-index .proj-tile,
	html.desktop body.archive .proj-tile{
		width: calc(33.333333% - 1.5rem);
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 calc(33.333333% - 1.5rem);
		        flex: 0 0 calc(33.333333% - 1.5rem);
		margin: .75rem !important;
	}

	html.desktop #cat-bar > div {
		margin-left:0;
		margin-bottom:0;
	}

	html.desktop section#related-projects {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}

	html.desktop section#related-projects .proj-tile+.proj-tile {
		margin:0;
	}

	html.desktop section#related-projects .proj-tile {
		width: 31.33333%;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 31.333333%;
		        flex: 0 0 31.333333%;
	}

	html.desktop section#related-projects .proj-tile:last-of-type {
		display:none;
	}

	html.desktop div#about-text-wrapper,
	html.desktop div#about-slider-wrapper{
		width:50%;
		-webkit-box-flex:0;
		    -ms-flex:0 0 50%;
		        flex:0 0 50%;
	}

	html.desktop section#related-projects .tile-text h2 {
		font-size:1.75rem;
	}

	html.desktop section#related-projects .tile-text p {
		font-size:1.125rem;
	}

	html.desktop #about-wbg > div {
		max-width:100%;
	}

	html.desktop section#about-wbg {
		padding:0;
	}

	html.desktop div#story-header h1, 
	html.desktop #careers-apprenticeships h1 {
		max-width: none;
	}

	html.desktop div#story-control-wrap > ul > li,
	html.desktop div#story-control-wrap > ul > li > a{
		width:100%;
		-webkit-box-flex:0;
		    -ms-flex:0 0 100%;
		        flex:0 0 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		overflow: hidden;
		margin: 0;
	}

	html.desktop #story-control-wrap ul li > a img {
		width:100px;
		max-height:100px
	}

	html.desktop .employee-details {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		    -ms-flex-flow:column;
		        flex-flow:column;
		height:100%;
		width: calc(100% - 200px);
	}


	html.desktop #careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 > a {
		width:100%;
		height: auto;
		overflow:hidden;
		position:relative;
	}

	html.desktop ul#apprentice-tabs li {
		width:auto;
		-webkit-box-flex:0;
		    -ms-flex:0 1 auto;
		        flex:0 1 auto;
	}

	html.desktop #story-content-wrap .tabs-content div.story-main {
		-webkit-box-ordinal-group:3;
		    -ms-flex-order:2;
		        order:2;
		width:100%;
		height: auto;
	}

	html.desktop .story-details.cell.small-12.medium-4.large-5 {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		    -ms-flex-flow:row nowrap;
		        flex-flow:row nowrap;
		height: 200px;
		width: 100%;
	}

	html.desktop .story-quote.cell.small-12 {
		-webkit-box-ordinal-group:4;
		    -ms-flex-order:3;
		        order:3;
		border-top-width:.5rem;
	}

	html.desktop .story-main p {
		font-size:1.125rem;
	}

	html.desktop .story-main .simplebar-content {
		height:auto;
	}

	html.desktop .story-details img {
		-webkit-box-flex:0;
		    -ms-flex:0 0 200px;
		        flex:0 0 200px;
		width:200px;
		height: 200px;
		-o-object-fit: contain;
		   object-fit: contain;
	}

	html.desktop #story-control-wrap ul li a div > span {
		max-width:80%;
	}

	html.desktop #story-content-wrap .tabs-content > div > div {
		-webkit-box-align:end;
		    -ms-flex-align:end;
		        align-items:flex-end;
		-ms-flex-line-pack: end;
		    align-content: flex-end; 
	}

	html.desktop main#main > section {
	    padding: 2rem 0; 
	} 

	html.desktop #contact-form > div > div {
		width:95%;
		margin-left:2.5%;
	}
    
}

/*--------------------------------------------------*/
/* Core Styling  -------------------- */
/*--------------------------------------------------*/

#home-slide-wrap, #home-slide, #home-slide .slide {
    width: 100%;
    height: 90vh;
    max-height: 880px;
    display: block;
    position: relative;
    overflow: hidden;
}

div#home-slide .slide img {
	position:absolute;
	top: 0;
	left:0;
	width:100%;
	height:100%;
	-o-object-fit:cover;
	   object-fit:cover;
}

span.slide-caption {
    position: absolute;
    bottom: .75rem;
    left: .75rem;
    padding: .75rem 1rem;
    color: #FFF;
    -webkit-filter: drop-shadow(2px 2px 4px black);
    filter: drop-shadow(2px 2px 4px black);
    font-weight: bold;
    z-index: 99;
    font-size: 1.25rem;
}

#home-control-wrap {
    width: 100%;
    height: 10vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    left: 0;
    bottom: .75rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    pointer-events: none;
    min-height: 32px;
    max-height: 52px;
}

#home-control-wrap ul.slick-dots {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	    -ms-flex-flow:row nowrap;
	        flex-flow:row nowrap;
	list-style:none;
	row-gap:.75rem;
	-webkit-column-gap:.75rem;
	        column-gap:.75rem;
	margin: 0;
	pointer-events: all;
}

#home-control-wrap ul.slick-dots button {
	border:3px solid #FFF;
	width: 2rem;
	height: 2rem;
	cursor: pointer;
	text-indent: -999em;
}

#home-control-wrap ul.slick-dots li.slick-active button {
	background:#FFF;
}

#home-slide button.slick-arrow {
    position: absolute;
    top: calc(50% - 2.5rem);
    left: 1rem;
    width: 2rem;
    height: 5rem;
    background: url(svg/dbl-arrow.svg) transparent no-repeat center / contain;
    z-index: 5;
    text-indent: -999em;
    cursor: pointer;
    -webkit-filter: drop-shadow(1px 1px 1px rgba(0,0,0,.7));
            filter: drop-shadow(1px 1px 1px rgba(0,0,0,.7));
}

#home-slide button.slick-arrow.slick-next {
	left:auto;
	right:1rem;
	-webkit-transform:rotate(0deg);
	        transform:rotate(0deg)
}

#home-slide button.slick-arrow.slick-prev {
	-webkit-transform:rotate(180deg);
	        transform:rotate(180deg)
}

#masthead {
	position:absolute;
	top:0;
	left:0;
	width: 100%;
	z-index: 10;
}

body.home div#page {
    position: relative;
}

.site-branding {
    margin-right: auto;
    margin-left: 0;
}

.site-branding img{
	width:100%;
	height:auto;
	max-width: 420px;
}

#masthead .grid-container.grid-x {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 1rem;
}

.site-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

button#menu-open {
    padding: .75rem .5rem .75rem .75rem;
    cursor: pointer;
    background: rgb(36 26 199 / 50%);
    color: #FFF;
    font-size: 1.5rem;
    font-weight: 900;
    margin-right: 3rem;
    position: relative;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    opacity: 1;
}

button#menu-open::after {
    content: '';
    width: 3rem;
    height: 100%;
    position: absolute;
    right: -3rem;
    top: 0;
	background:url(svg/menu.svg) rgb(36 26 199 / 50%) no-repeat center left / 1.5rem;
    -webkit-clip-path: polygon(0 0, calc(100% - .5rem) 0, 1rem 100%, 0 100%);
            clip-path: polygon(0 0, calc(100% - .5rem) 0, 1rem 100%, 0 100%);
}

div#page.is-open-right #menu-open {
    opacity: 0;
}

div#offCanvas {
    background: rgb(122 204 0 / 70%);
    width: 420px;
    -webkit-transform: translateX(420px);
    transform: translateX(420px);
    padding: 10vh 1.5rem;
}

div#offCanvas.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

main#main > section {
    padding: 3.5rem 0;
}

body.home  #cff.cff-carousel .cff-space {
	padding: 0 1.5rem !important;
	position: relative;
}

body.home #cff.cff-carousel .cff-space > div.cff-item {
	position:relative;
	background:#FFF;
	padding: 0 !important;
}

body.home #cff.cff-carousel .cff-space > div:before,
body.home #cff.cff-carousel .cff-space > div:after {
	content:'';
	background: #4fe01f;
	width:100%;
	height:100%;
	position:absolute;
	top:-.5rem;
	left:-.5rem;
	display:block;
	z-index: -1;
}

body.home #cff.cff-carousel .cff-space > div:after {
	left:auto;
	right:-.5rem;
	top:auto;
	bottom: -.5rem;
	background: #00b3ff;
	z-index: -1;
}

body.home #cff.cff-carousel .cff-space > div.cff-item > div {
	background:#FFF;
	margin: 0 !important;
	clear: both;
	padding: .75rem 1rem;
}

body.home #cff.cff-carousel .cff-media-wrap {
	padding:0 !important;
	margin:0 !important;
}

#cff .cff-photo {
	padding:.75rem;
	margin-bottom: 0;
}

#cff .cff-photo,
#cff .cff-photo img,
#cff p{
    float: none;
}

#cff p {
	font-size:.875rem;
	background:#FFF;
	margin:0;
	padding:.5rem .75rem 0;
}

#cff .cff-album-item .cff-album-cover:after, #cff .cff-event-thumb:after, #cff .cff-html5-video:after, #cff .cff-img-wrap:after, #cff .cff-photo:after {
	display:none;
}

#cff div.cff-author {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	padding-bottom:0 !important;
}

div#slide-text-overlay {
    position: absolute;
    bottom: 10vh;
    width: 100%;
    height: 70vh;
    max-height: 620px;
    pointer-events: none;
}

#slide-text-overlay > div {
	height:100%;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
}

#slide-text-overlay > div > div {
	pointer-events:all;
	padding: 1.5rem 10rem 1.5rem 1.5rem;
	background: rgba(0,0,0,.5);
	color: #FFF;
	-webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 10rem) 100%, 0 100%);
	        clip-path: polygon(0 0, 100% 0, calc(100% - 10rem) 100%, 0 100%);
}

#slide-text-overlay h1 {
	font-size:4.5rem;
	line-height: 1;
	margin-bottom: 1rem; 
}

#slide-text-overlay p {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin-bottom: 1rem;
}

#slide-text-overlay a.link-button {
    background: #4fe01f;
    padding: .5rem 1rem;
    color: #241ac7;
    text-transform: uppercase;
    font-weight: 700;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 1.25rem;
	float:right;
    padding-right: 2rem;
    -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 1rem) 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, calc(100% - 1rem) 100%, 0 100%);
}

.logo-slide {
	padding:1.5rem;
	margin-right:2.5rem;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-ms-flex-item-align: center !important;
	    align-self: center !important;
	-webkit-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	height:100%;
}

#accred-ticker .slick-track {
	-webkit-box-align:stretch;
	    -ms-flex-align:stretch;
	        align-items:stretch;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

#accred-ticker img {
    max-height: 150px;
    max-width: 150px;
    -o-object-fit: contain;
    object-fit: contain;
}

.site-language li:not([class="wpml-ls-current-language"]) {
	background: rgb(36 26 199 / 30%);
}

.site-language li:not([class="wpml-ls-current-language"]) a {
	color:#FFF;
	font-weight:400;
}

.site-language li.wpml-ls-current-language {
    background: rgb(36 26 199 / 60%);
}

.site-language li.wpml-ls-current-language > a {
	color:#FFF;
	font-weight:700;
}

#masthead .site-language li > a {
    padding: 1rem;
}

section#home-about {
	background:#e6e7e8;
}

#home-about > div {
	-webkit-box-pack:space-evenly;
	    -ms-flex-pack:space-evenly;
	        justify-content:space-evenly;
}

.image-frame {
	overflow:hidden;
	-webkit-clip-path:polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
	clip-path:polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
    width: 100%;
    height: calc(100% + 10rem);
    position: absolute;
    bottom: 50%;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
}

.image-frame img {
	width:100%;
	height:100%;
	display: block;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

#home-about > div > div.cell.small-12.medium-6.large-5.grid-x {
    -ms-flex-line-pack: justify;
    align-content: space-between;
}

section#home-about p {
    font-size: 1.325rem;
    line-height: 1.5;
}

h1.cell.small-12.medium-6 {
    margin-bottom: .5rem;
    padding-bottom: .5rem;
}

#home-about > div > div.cell.small-12.medium-6.large-7 {
    position: relative;
    -ms-flex-item-align: stretch;
        align-self: stretch;
}

section#home-about {
    margin-bottom: 5rem;
}

#cff div.cff_owl-page > span {
	border-radius: 0;
	background: #FFF;
	border: 3px solid #b5b5b5;
	width: 1.5rem;
	height: 1.5rem;
}

#cff div.cff_owl-page.active > span {
	background: #e3e4e5;
}

.cell.small-12.text-wrap {
    margin: 1.5rem 0;
    padding-right: 2.5rem;
}

#home-about > div > div.cell.small-12.medium-6.large-5.grid-x > a {
	 background: #4fe01f;
    padding: .5rem 1rem;
    color: #241ac7;
    text-transform: uppercase;
    font-weight: 700;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 1.25rem;
    padding-right: 2rem;
    -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 1rem) 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, calc(100% - 1rem) 100%, 0 100%);
}

body.home main#main section h1 {
    color: #241ac7;
    display: inline-block;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    line-height: 1;
    border-bottom: 2px solid #4fe01f;
}

#home-facebook div#fb-head {
	text-align:center;
}

.cell.small-12.text-wrap > p:last-child {
    margin: 0;
}

div#foot-logo {
    max-width: 420px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-line-pack: center;
        align-content: center;
    padding-top: .5rem;
}

div#credits {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    font-size: .825rem;
    padding-top:.75rem;
    padding-bottom:1rem;
    margin-top: .75rem;
}

footer#colophon a {
	color:#000;
	border-bottom:1px dotted;
}

#colophon {
	background:#f1f2f2;
	padding:2.5rem 0 0;
}

div#credits > div {
    width: auto;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%;
}

#colophon > .grid-container.grid-x:first-child {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
}

div#social-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

div#social-links > div+div {
	margin-left:.5rem;
}

div#foot-logo span {
    display: block;
    margin: 1rem auto;
}

#colophon > .grid-container.grid-x:first-child > div {
	-webkit-box-flex:0;
	-ms-flex:0 0 auto;
	flex: 0 0 auto;
	width:auto;
	max-width: 420px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

div#foot-contact  span {
	display:block;
	color:#241ac7;
	font-weight:700;
}

div#foot-contact span+a {
	color: #000;
	display:inline-block;
	border-bottom:1px dotted;
	margin-bottom:1rem;
}

.social-profile a {
    width: auto;
    height: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

div#foot-addr p {
    margin: 0;
}

ul#foot-menu {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-flow:column;
            flex-flow:column;
}

ul#foot-menu li {
	margin-bottom: 0.25rem;
}

#head-text-overlay h2 {
    font-size:3rem;
    margin-top: 2.5rem;
    white-space: nowrap;
}

#head-text-overlay h2 span.skyblue {
    color: #00b3ff;
}

#head-text-overlay h2 span.brightgreen {
    color: #4fe01f;
}

section#page-head-wrap, div#page-head, div#page-head > div {
    width: 100%;
    height: 800px;
    overflow: hidden;
    position: relative;
}

div#page-head img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

div#page-head > div {}

div#head-text-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2.5rem 0;
    height: auto;
}

body.home section#page-head-wrap {}

body.page-template-services #head-text-overlay > div > div > h1 {
    font-size: 4rem;
    color: #241ac7;
}

#head-text-overlay > div > div > div {
    margin: 1.5rem 0;
    font-size: 1.125rem;
}

section#page-head-wrap ul, 
main section ul {
    list-style: none !important;
}

section#page-head-wrap ul li, 
main section ul li {
	position:relative;
}

section#page-head-wrap ul li:before, 
main section ul li:before {
	content:'\2022';
	position:absolute;
	font-size:1.75rem;
	line-height:1.125rem;
	left:-1.5rem;
	height:100%;
	color:#4fe01f;
	font-weight:700;
	top: .35rem;
}

.proj-tile,
.cat-tile {
    position: relative;
    text-align:center;
}

.proj-tile > a,
.cat-tile > a {
    display: block;
    padding-bottom: 50%;
    color: #000;
}

.proj-tile a > div,
.cat-tile a > div {
    width: 100%;
    overflow: hidden;
}

.tile-back,
.tile-front {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.5s;
          transition: -webkit-transform 0.5s;
          transition: transform 0.5s;
          transition: transform 0.5s, -webkit-transform 0.5s;
}

.tile-back {
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
}

.proj-tile:hover .tile-front,
.cat-tile:hover .tile-front{
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
}

.proj-tile:hover .tile-back,
.cat-tile:hover .tile-back{
  -webkit-transform: rotateY(0);
          transform: rotateY(0);
}

.proj-tile div.img-wrap > img,
.cat-tile div.img-wrap > img {
	width:100%;
	height:100%;
	-o-object-fit:cover;
	   object-fit:cover;
}

.proj-tile div.img-wrap,
.cat-tile div.img-wrap{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background: #ededed;
}

.tile-front div.head-wrap {
	position: absolute;
	bottom: 2rem;
	left: 0;
	max-width: 95%;
}

.tile-front div.head-wrap h3 {
    background: #241ac7;
    text-align: left;
    -webkit-clip-path: polygon(0 0, 100% 0%, calc(100% - 2.5rem) 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0%, calc(100% - 2.5rem) 100%, 0% 100%);
    color: #FFF;
    font-size: 1.5rem;
    padding: .75rem;
    padding-right: 2.5rem;
    z-index: 3;
    position: relative;
    margin:0;
    line-height: 1;
}

.tile-front div.head-wrap:before,
.tile-front div.head-wrap:after {
	content:'';
	position:absolute;
	width:100%;
	height:100%;
	background: #4fe01f;
	top: -.5rem;
	left: -.5rem;
	z-index: 1;
	-webkit-clip-path: polygon(0 0, 100% 0%, calc(100% - 2.5rem) 100%, 0% 100%);
	        clip-path: polygon(0 0, 100% 0%, calc(100% - 2.5rem) 100%, 0% 100%);
}

.tile-front div.head-wrap:after {
	background: #00b3ff;
	z-index:2;
	left:auto;
	right:-.5rem;
	top:auto;
	bottom:-.5rem;
	width: calc(100% + .5rem);
}

.tile-back img {
	mix-blend-mode:overlay;
	opacity: .5;
}

.tile-text {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    padding: 2rem;
    padding-bottom: 5rem;
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 75%, 25% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0%, 100% 75%, 25% 100%, 0 100%);
    text-align: left;
}

.tile-text:before {
	content:'';
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:#B9F3A5;
	opacity: .65;
	z-index: 3;
	-webkit-clip-path: polygon(0 0, 100% 0%, 100% 75%, 25% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0%, 100% 70%, 25% 100%, 0 100%);
}

.tile-back .read-more {
    position: absolute;
    bottom: 2.5rem;
    right: 0;
}

.tile-back .read-more:after {
	content:'';
	position:absolute;
	background: #00b3ff;
	z-index:2;
	left: -.25rem;
	bottom: -.325rem;
	width: calc(100% + .325rem);
	height: 100%;
	-webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 1.5rem 100%);
	        clip-path: polygon(0 0, 100% 0%, 100% 100%, 1.5rem 100%);
}

.tile-back .read-more h5 {
	position:relative;
	z-index:3;
	color:#FFF;
	background:#241ac7;
	padding:.5rem;
	padding-left:1.5rem;
	text-transform:uppercase;
	-webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 1.5rem 100%);
	        clip-path: polygon(0 0, 100% 0%, 100% 100%, 1.5rem 100%);
	margin: 0;
}


.tile-text > * {
    position: relative;
    z-index: 10;
}

.tile-text h2 {
    color: #241ac7;
    margin: 0 0 0.5rem 0;
    line-height: 1;
    font-size: 2.25rem;
}

.tile-text h6,
.tile-text p {
	color:#000;
	font-size: 1rem;
	font-family: 'futura-pt', sans-serif;
	line-height: 1;
}

div#foot-addr span {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 100%;
    margin-bottom: .5rem;
}

div#foot-addr {
    -ms-flex-line-pack: center;
    align-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    line-height: 1.5;
}

span.add-fl {
    font-weight: 600;
    color: #241ac7;
}

#foot-menu li a {
	padding:.375rem;
	border:0;
}

#foot-menu li.current_page_item a {
	font-weight:700;
	color: #241ac7;
}

#serv-projects > div {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    row-gap: 2.5rem;
    -webkit-column-gap: 2.5rem;
            column-gap: 2.5rem;
}

#serv-projects .cat-tile,
#projects-index .proj-tile {
	width:calc(25% - 2.5rem);
	-webkit-box-flex:0;
	    -ms-flex:0 0 calc(25% - 2.5rem);
	        flex:0 0 calc(25% - 2.5rem);
} 

body.single #page-head-wrap,
body.single #page-head,
body.single #page-head div,
body.blog #page-head-wrap,
body.blog #page-head,
body.blog #page-head div,
body.page-template-careers #page-head-wrap,
body.page-template-careers #page-head,
body.page-template-contact #page-head div,
body.page-template-contact #page-head-wrap,
body.page-template-contact #page-head,
body.page-template-careers #page-head div,
body.archive #page-head-wrap,
body.archive #page-head,
body.archive #page-head div{
	height: 360px;
}

body.single #page-head-wrap h1,
body.blog #page-head-wrap h1,
body.archive #page-head-wrap h1{
	font-family:'century-gothic', sans-serif;
	color: #FFF;
	font-size:3.5rem;
	margin-bottom: 0;
}

body.page-template-careers #page-head-wrap h1,
body.page-template-contact #page-head-wrap h1{
	color: #241ac7;
	font-size:3.5rem;
} 

main#main section#post-cats {
    padding: 1.5rem 0;
}

.cats-wrap {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    background: #efefef;
}

main#main section#projects-index {
    padding-top: 0;
}

#projects-index .proj-tile.cell.small-12.medium-4.large-3 {
    margin: 1.25rem;
}

#projects-index > div {
    padding: 0;
}

#related-projects h4 {
    padding: .5rem;
    text-transform: uppercase;
    color: #FFF;
    background: #4fe01f;
    display: inline-block;
    margin: 0;
    font-size: 1.125rem;
    position: relative;
}

#related-projects > div:nth-child(1) {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-bottom: 3px solid #4fe01f;
}

#related-projects h4:after {
    content: '';
    position: absolute;
    width: 1.75rem;
    height: 2.75rem;
    background: #4fe01f;
    top: 0;
    left: 100%;
    -webkit-clip-path: polygon(0 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.proj-slide a,
.about-slide a {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: auto;
    height: auto;
    background: url(svg/zoom.svg) #4fe01f no-repeat 88% 50%;
    padding: .75rem 2.5rem .75rem .75rem;
    color: #FFF;
    font-weight: 1000;
}

#proj-media ul.slick-dots {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: space-evenly;
	    -ms-flex-pack: space-evenly;
	        justify-content: space-evenly;
	margin: 1rem 0;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
}

#proj-media ul.slick-dots li {
	opacity:1;
	-webkit-box-flex:0;
	-ms-flex:0 0 15%;
	flex: 0 0 17.5%;
	display:-webkit-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	width:100%;
	height:0;
	padding-bottom: 17.5%;
	position:relative;
	opacity:.5;
}

#proj-media ul.slick-dots li.slick-active {
	opacity:1;
}

#proj-media ul.slick-dots li:before {
	content:'';
}

#proj-media ul.slick-dots li.active {
}

#proj-media ul.slick-dots li span {
	width:100%;
	height: 100%;
	position: absolute;
	background-size: cover;
	cursor:pointer;
}

.responsive-iframe {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
}

.responsive-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#proj-media .proj-slide {
    height: 440px;
    overflow: hidden;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.proj-slide img {
    position: absolute;
    top: 0;
    left: 0;
}

div#proj-media-view {
    margin-top: 1.5rem;
}

section#related-projects .proj-tile {
	-webkit-box-flex:0;
	    -ms-flex:0 0 calc(25% - 1.875rem);
	        flex:0 0 calc(25% - 1.875rem);
}

section#related-projects .proj-tile+.proj-tile {
	margin-left:2.5rem;
}

#proj-media-view > ul > li:last-child span.vid:after {
    content: '';
    width: 3rem;
    height: 3rem;
    position: absolute;
    background: url(svg/proj-vid.svg);
    background-size: contain;
    top: calc(50% - 1.5rem);
    left: calc(50% - 1.5rem);
}

div#proj-details {
    margin-top: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0 1.5rem;
    font-size: 1.215rem;
    line-height: 1;
    font-family: 'century-gothic';
}

#proj-details > h1 {
    color: #241ac7;
    line-height: 1;
    margin-bottom: .75rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid #4fe01f;
}

section#project-content-wrap {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

section#related-projects {
    margin-bottom: 3.5rem;
}

div#proj-details h4 {
    font-size: 1.25rem;
    color: #a2a2a2;
    margin-bottom: .25rem;
}

div#proj-details > div {
    margin-top: 1.5rem;
    padding-bottom: .5rem;
    position: relative;
    margin-bottom: calc(1.5rem + 2px);
}

div#proj-details h4:after {
    content: '';
    width: 30%;
    position: absolute;
    bottom: -2px;
    left: 0;
    background: #a2a2a2;
    display: block;
    height: 1px;
}

#cat-bar button[data-filter="*"] {
    margin-left: .3125rem;
}

.cats-wrap {margin-left: auto;margin-right: .325rem;}

div#cat-bar button {
    background: transparent;
    color: #2a2a2a;
}

div#cat-bar button.is-checked {
	background: #cdcdcd;
	font-weight:700;
}

div#cat-bar button:hover {
    background: #cdcdcd;
}

li.tabs-title:before {
    display: none;
}

#vac-control-wrap li.tabs-title {
	position:relative;
	background: #dfdfdf;
	padding-right: 3.5rem;
	margin-right:.75rem;
}

#vac-control-wrap li.tabs-title:after {
	content:'';
	position:absolute;
	right:0;
	top:0;
	height:100%;
	width:3.5rem;
	background:url(svg/arr-grey.svg) #f1f2f2 center no-repeat;
	display:block;
}

#vac-control-wrap li.tabs-title.is-active {
    background: #dcddde;
}

#vac-control-wrap li.tabs-title.is-active:after {
	background:url(svg/arr-white.svg) #a2a2a2 center no-repeat;
}

.job-tags span {
    display: inline-block;
    margin-right: .25rem;
    background: #00b3ff;
    padding: .5rem;
    color: #FFF;
    font-weight: 700;
    font-size: 1rem;
}

a[id*="wbg-job-"] h3 {line-height: 1;margin: 0;}

.job-tags {
    margin: .5rem 0 0;
}

.job-short-desc {
    color: #333;
    font-size: 1rem;
    padding-right: 1rem;
    margin: .75rem 0;
}

#vacancies-tabs {
    border: 0;
}

.job-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.wbg-job-inner {
    padding: 1.5rem;
    background: #f1f2f2;
}



section#careers-vacancies h1, section#careers-vacancies h3 {
    color: #10066d;
    line-height: 1;
    margin: 0;
    font-family: 'century-gothic', sans-serif;
}

#vac-content-wrap .job-tags {
    margin: 1rem 0;
}

div#vac-content-wrap {
    background: #f1f2f2;
    height: 770px;
    max-height: 90vh;
}

#vac-content-wrap .tabs-panel.is-active {
}

.job-desc p:last-of-type {
    margin: 0;
}

div.job-top > button {
    background: #4fe01f;
    padding: .75rem;
    font-weight: 700;
    font-size: 1.5rem;
    color: #FFF;
    cursor: pointer;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}

#careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

#careers-apprenticeships > div > div.cell.small-12.medium-6.large-6 > a {
    width: calc(50% - .325rem);
}

#careers-apprenticeships > div {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

div#apprentices {
    width: 100%;
    margin: 1.5rem 0;
}

div#apr-content-wrap {
    padding: 1rem;
    background: #009cde;
    width: auto;
    text-align: center;
    font-size: 1.125rem;
    margin-bottom: 1rem;
    position: relative;
    z-index: 5;
    border: 0;
    -webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
    filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
    color: #FFF;
}

ul#apprentice-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: center;
}

ul#apprentice-tabs li {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 10%;
    flex: 0 0 10%;
    height: 5rem;
    margin: 0;
    opacity: .5;
}

ul#apprentice-tabs:before, ul#apprentice-tabs:after {
    display: none;
}

div#apr-control-wrap h3 {
    line-height: 1;
    margin: 0;
    font-size: 1.25rem;
    text-transform: uppercase;
}

div#apr-control-wrap li > a {
    background: #241ac7;
    color: #FFF;
    border-bottom: 4px solid #7acc00;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

ul#apprentice-tabs li.is-active {
    opacity: 1;
    overflow: visible;
}

ul#apprentice-tabs li.is-active:before {
    content: '';
    position: absolute;
    bottom: 100%;
    top: auto;
    left: calc(50% - 1rem);
    width: 2rem;
    height: 2rem;
    display: block;
    background: #009cde;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 7;
    -webkit-filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.3));
    filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.3));
}

div#apr-control-wrap > ul {
    border: 0;
}

#vacancies-tabs > li:last-of-type {
	margin-bottom:0;
}

div#story-control-wrap > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border: none;
}

div#story-control-wrap > ul > li {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc(33.33333% - 1rem);
    flex: 0 0 calc(33.33333% - 1rem);
    margin-top: 1rem;
    margin-bottom: 0;
    opacity: .5;
}

#story-control-wrap ul li > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column wrap;
            flex-flow: column wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    padding: 0;
    justify-items: stretch;
    -ms-flex-line-pack: stretch;
        align-content: stretch;
    height: 100%;
    background: #eee;
}

#story-control-wrap ul li > a h3 {
	line-height:1;
	margin-bottom: 0.25rem;
	font-size:1.25rem
}

#story-control-wrap ul li > a img {
	width:100%;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
}

.story-details img {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 360px;
	flex: 0 1 360px;
	-o-object-fit: cover;
	   object-fit: cover;
	width: 100%;
}

.employee-details {
    width: 100%;
    background: #a2a2a2;
    padding: .75rem;
    color: #FFF;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
}

.employee-details h2 {
	line-height:1;
}

img.default {
    max-width: 80%;
    height: auto;
    padding: 0;
    max-height: 250px;
}

div#story-control-wrap > ul:before,
div#story-control-wrap > ul:after {
	display:none !important;
}

.story-details {
    background: #eee;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.story-quote.cell.small-12 {
    background: #efefef;
    padding: 1.5rem;
    color: #4fe01f;
    font-size: 1.625rem;
    text-align: center;
    border-top: 2.5rem solid #FFF;
    font-style: italic;
}

#story-content-wrap .tabs-content div.story-main {
    background: #efefef;
    padding: 0;
}

.story-main {
    height: 550px;
    padding: 0 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.story-main p {
	padding: .75rem 2.5rem;
	margin: 0;
}

.story-main p:first-of-type {
	margin-top: 1.5rem;
}

.story-main p:last-of-type {
    margin-bottom: 1rem;
}

.story-main:not(.simplebar-scrollable-y) > div.simplebar-wrapper > div.simplebar-mask > div > div,
.story-main:not(.simplebar-scrollable-y) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

#careers-stories > div {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: flex-end;
}

.story-main .simplebar-content {
    height:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.story-main.simplebar-scrollable-y .simplebar-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    padding: 2rem 3rem;
    justify-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: auto;
}

.story-main.simplebar-scrollable-y .simplebar-content {
	justify-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

.story-main p {
    font-size: 1.25rem;
    line-height: 1.5;
}

#story-content-wrap .tabs-content, #story-content-wrap .tabs-content > div, #story-content-wrap .tabs-content > div > div {
	border:none;
	height: 100%;
}

div#story-content-wrap {
    padding-left: 3rem;
}

#stories-tabs > li.is-active {
    opacity: 1 !important;
}

div#story-control-wrap > ul > li:hover {
    opacity: .75;
}

.story-details.cell.small-12.medium-4.large-5 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    height: 550px;
}

.story-details.cell.small-12.medium-4.large-5 > div > span {
	font-size: 1.325rem;
	text-align:center;
	padding:0 1rem 1rem;
	line-height:1;
}

.wbg-story-inner.grid-x {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}

#story-control-wrap ul li a div > span {
    display: inline-block;
    margin: 0;
    font-size: 1rem;
}

div#story-header h1,
#careers-apprenticeships h1 {
    color: #241ac7;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    font-size: 3.5rem;
    position: relative;
    line-height: 1;
	max-width:80%
}

div#story-header h1:after,
#careers-apprenticeships h1:after{
    content: '';
    width: 75%;
    height: 2px;
    left: 0;
    bottom: 0;
    position: absolute;
    background: #4fe01f;
}

#story-header > p { 
	color:#333;
	font-size:1.25rem;
}

#careers-apprenticeships p {
	font-size:1.125rem;
}

ul#primary-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
	-webkit-box-align:start;
	    -ms-flex-align:start;
	        align-items:flex-start;
}

ul#primary-menu li {
	position:relative;
	width:auto;
	display:inline-block;
}

ul#primary-menu li.current_page_item:after,
ul#primary-menu li.current_page_parent:after{
	content: '';
	position:absolute;
	width: calc(100% + 4rem);
	height:100%;
	background: rgb(36 26 199 / 50%);
	left:-1.5rem;
	top: 0;
	z-index: -1;
	-webkit-clip-path: polygon(0 00, 100% 0, 90% 100%, 0% 100%);
	        clip-path: polygon(0 00, 100% 0, 90% 100%, 0% 100%);
}

ul#primary-menu a {
	color:#FFF;
	font-size:2rem;
}

div#offCanvas > button {
    font-size: 4rem;
    position: absolute;
    top: calc(2.5vh - 1rem);
    right: 1.5rem;
    width: 2rem;
    height: 2rem;
    display: grid;
    color: #FFF;
    cursor: pointer;
}

div#ApplicationForm {
    background: #f5f5f6;
    position: relative;
}

#field_1_6 > legend, #field_1_7 > label,
#field_1_1 > legend, #field_1_3 > legend {
    display: none;
}

#field_1_1, #field_1_3,
#field_1_4, #field_1_5{
	padding-left:3rem;
}

#field_1_1:before, #field_1_3:before,
#field_1_4:before, #field_1_5:before {
	content:'';
	width:3rem;
	height:100%;
	background:#7acc00;
	position:absolute;
	top:0;
	left:0
}

#field_1_1:before {
	background:url(svg/form-name.svg) #7acc00 no-repeat center / 50%;
}

#field_1_3:before {
	background:url(svg/form-email.svg) #7acc00 no-repeat center / 50%;
}

#field_1_4:before {
	background:url(svg/form-phone.svg) #7acc00 no-repeat center / 50%;
}

#field_1_5:before {
	background:url(svg/form-cv.svg) #7acc00 no-repeat center 10% / 50%;
}


.ginput_complex span,
#field_1_1, #field_1_3,
#field_1_4, #field_1_5,
#field_1_5 > div.ginput_container.ginput_container_fileupload {
    position: relative;
}

#gform_1 .ginput_complex span label,
#field_1_4 label, #field_1_5 label {
	position:absolute;
	top:0;
	left: .25rem;
	font-size: .75rem;
	line-height: 1;
	font-weight:400;
}

#field_1_4 label, #field_1_5 label {
	left:3.25rem;
	top:.25rem;
	z-index: 20;
}

#gform_browse_button_1_5 {
	background:#10069f;
}

span#gfield_upload_rules_1_5 {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    font-size:.75rem;
    pointer-events: none;
}

div#gform_drag_drop_area_1_5 {
    margin: 0;
    background: #FFF;
}

#field_1_6 > div,
#field_2_6 > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: .5rem 0;
}

#field_1_6 > div label,
#field_2_6 > div label{
    line-height: 1;
}

#ApplicationForm > h1 {
    font-size: 1.5rem;
    font-weight: 300;
    color: #10069f;
    margin: 0;
    line-height: 1;
}

h3#jobTitle {
    color: #10069f;
    font-size: 2rem;
}

#ApplicationForm > button {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 2rem;
    cursor: pointer;
    display: grid;
    place-content: center;
}

#gform_1 input {
	padding: 1.5rem .75rem .325rem .325rem;
	height: auto;
	/* filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2)); */
}

input#gform_submit_button_1,
input#gform_submit_button_2 {
    padding: 1rem 5rem 1rem 1.5rem;
    font-size: 1.5rem;
    background: url(svg/form-send.svg) #7acc00 no-repeat calc(100% - 1rem) center / auto 50%;
    text-transform: uppercase;
    font-weight: 1000;
    margin: 0;
}

#gform_1 > div.gform_footer.before {
    display: none;
}


#field_1_6 > div input,
#field_2_6 > div input{
    margin: 0;
}

#input_1_1_6_container, #input_1_3_2_container {
    padding-left: 0;
}

.map-container.cell.small-12 {
    position: relative;
}

.map {
    padding-bottom: 56.25%;
}

.map-overlay {
	position:absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	width: 100%;
}

.map-overlay .cell {
    position: relative;
    background: #7acc00;
    color: #FFF;
    padding: 1.5rem;
    width: auto !important;
}

.map-overlay .cell:after {
	content:'';
	position:absolute;
	top:0;
	left:100%;
	width:5rem;
	height:100%;
	background:#7acc00;
	-webkit-clip-path:polygon(0 0, 100% 0, 0 100%);
	        clip-path:polygon(0 0, 100% 0, 0 100%);
}

.map-overlay h1 {
	-webkit-font-variant-ligatures:none;
	        font-variant-ligatures:none;
	line-height:1;
	margin:0;
	
}

.map-overlay h1.thin {
	font-weight:300;
	font-family:'century-gothic', sans-serif;
	font-size:3.5rem;
	pointer-events: all;
}

.map-overlay h1.thick {
	font-weight:700;
	font-size:4.75rem;
	max-width: 280px;
	pointer-events: all;
}

div#contact-addr {
    pointer-events: all;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    margin-top: 1.5rem;
    font-size: 1.25rem;
}

div#contact-addr > span {
    color: #FFF;
    line-height: 1.25;
}

main#main > section#contact-map {
    padding: 0;
}

div#form-details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    margin: 1.5rem 0;
    font-size: 1.5rem;
    font-weight: 700;
}

div#form-details > div {
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin: 0 1rem;
}

div#contact-form-text p {
    text-align: center;
    font-size: 1.1225rem;
}

div#form-details a {
    color: #000;
    border-bottom: 1px dotted;
}

#form-details span {
    color: #00b3ff;
}

#input_2_7 > div {
    margin: 0 auto;
}

fieldset#field_2_6 {
    padding-top: .75rem;
}

#gform_2 input:not([type="submit"]), #gform_2 textarea {
    background: #f1f2f2;
}

#gform_2 ::-webkit-input-placeholder{
	text-transform:uppercase;
	font-weight:700;
	color:#acabab;
}

#gform_2 :-ms-input-placeholder{
	text-transform:uppercase;
	font-weight:700;
	color:#acabab;
}

#gform_2 ::placeholder{
	text-transform:uppercase;
	font-weight:700;
	color:#acabab;
}

#gform_2 > div.gform_footer.top_label {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
}

body.archive header.page-header {
    padding: 2rem 0 0;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	    -ms-flex-flow:row nowrap;
	        flex-flow:row nowrap;
}

body.archive header.page-header h1 {
    margin:0;
	color:#241ac7;
	-webkit-box-flex:0;
	    -ms-flex:0 0 auto;
	        flex:0 0 auto;
	width:auto;
	margin-right:3.5rem
}


body.archive header.page-header div {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	    -ms-flex-flow:row nowrap;
	        flex-flow:row nowrap;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
}

body.archive header.page-header p:last-of-type {
	margin:0;
}

body.archive header.page-header div > div {
	width:auto;
	-webkit-box-flex: 0;
	    -ms-flex: 0 1 auto;
	        flex: 0 1 auto;
}

main#main > section#projects-archive {
    padding-top: 1rem;
}

div#arch-nav > a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: auto;
    padding: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #FFF;
    background: #00b3ff; 
}

div#arch-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 2.5rem;
}

#arch-nav a#nav-projects {
    background: #4fe01f;
}

body.page-template-about section#page-head-wrap {
    height: 100px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.1)), to(transparent));
    background: linear-gradient(180deg, rgba(0,0,0,0.1), transparent);
}

section#about-wbg {
    overflow: hidden;
    margin-bottom: 3.5rem;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
}

section#about-wbg > div {
	-webkit-box-align:start;
	    -ms-flex-align:start;
	        align-items:flex-start;
	height: calc(100vh - 5rem);
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
}

div#about-text-wrapper {
    padding-right: 2.5rem;
}

div#about-slider,
div#about-slider > div {
    height: calc(100vh - 5rem);
    overflow: hidden;
}

div#about-text {
    height: calc(100vh - 10rem);
}

div#about-text {
    padding-right: 2.5rem;
    font-size: 1.125rem;
}

.about-caption {
    position: absolute;
    width: 50%;
    background: rgba(0,0,0,0.6);
	min-height: 3.625rem;
    height: auto;
    color: #FFF;
    bottom: 0;
    left:100%;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.about-caption button {
	position:absolute;
	left:-2.5rem;
	bottom: 0;
	width:2.5rem;
	height: 3.625rem;
	background: url(svg/dbl-arrow.svg) #241ac7 no-repeat center / 70%;
	text-indent: -9999em;
	-webkit-transform: scaleX(-1);
	        transform: scaleX(-1);
	cursor: pointer;
}

div#about-text p:last-of-type {
    margin: 0;
}

div#about-slider-controls {
    position: absolute;
    bottom: 0.5rem;
    left: 0.5rem;
}

div#about-slider-wrapper {
    position: relative;
}

div#about-slider-controls ul {
    margin: 0;
	padding:.5rem;
}

div#about-slider-controls ul li:last-of-type {
	margin:0;
}

div#about-slider-controls ul li:before {
	display:none;
}

div#about-slider-controls ul li button {
	background:transparent;
	border:3px solid #FFF;
	width:2rem;
	height:2rem;
	text-indent:-999em;
	margin:0;
	cursor:pointer;
}

div#about-slider-controls ul li.slick-active button {
	background:rgba(255,255,255,.7);
}

.about-caption.expand {
    left: 50%;
}

.about-caption p {
    margin: 0;
    padding: 1rem;
}

.about-caption.expand button {
    -webkit-transform: none;
            transform: none;
}

div#about-text-wrapper > h1 {
    color: #241ac7;
    font-size: 3.5rem;
    font-family: 'century-gothic', sans-serif;
}

#about-text > div.simplebar-track.simplebar-vertical, div.story-main.simplebar-scrollable-y > div.simplebar-track.simplebar-vertical {
    background: #cecece;
}

.site-language ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
}

#gform_fields_1 > div.spacer.gfield {
	display:none;
}

input#gform_submit_button_1 {
	margin-left: auto;
	margin-right: 0;
}

.proj-tile div.img-wrap img.proj-default {
    -o-object-fit: contain;
       object-fit: contain;
    max-width: 80%;
    max-height: 80%;
}

.proj-class span+span::before{
	content:', ';
}