/*

Theme Name: BB Partnership
Description: Bespoke WordPress theme created by Owen Lewis Design for BB Partnership.
Version: 1.0.07
*/

/**** FONTS ****/
@font-face {
    font-family: 'Lato';
    src: url('./fonts/Lato-Light.eot');
    src: url('./fonts/Lato-Light.eot?#iefix') format('embedded-opentype'),
        url('./fonts/Lato-Light.ttf') format('truetype'),
        url('./fonts/Lato-Light.svg#Lato-Light') format('svg');
    font-weight: 300;
    font-style: normal;
	/*font-display: swap;*/
}

/**** ANIMATIONS ****/
@-webkit-keyframes spin {
  0% {-webkit-transform: rotateX(-20deg) rotateY(20deg);}
  100% {-webkit-transform: rotateX(-20deg) rotateY(740deg);}
}
@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/**** DEFAULTS ****/
.clear{
	clear:both;
}

body{
	transition: all 1s ease-in-out;
	background: #f3f3f3;
	color: #343e47;
	overflow-x: hidden;
	padding:0;
	margin:0;
	font-family: 'Lato';
	font-weight: 300;
}

body.admin-bar{
	padding-top:32px;	
}

h1,h2,h3,h4,h5,h6{
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: lighter;
	line-height: 1.6em;
}

h1,h2{
	font-size:22px;
}

h3{
	font-size:18px;
}

h4{
	font-size:16px;
}

h5{
	font-size:14px;
}

h6{
	font-size:12px;
}

.wp-block-image{
	margin: 20px 0 0 0;
}

.wp-block-image img{
	height:auto;
}

.wp-block-column{
	margin-left: auto;
    margin-right: auto;
}

@media(min-width: 782px){
	.wp-block-column:not(:first-child){
		margin-left: 3em;	
	}
}

.wp-block-separator{
	border-top: 0;
	border-bottom: 1px solid #343e479c;
	margin: 60px 0 20px 0;
}

/**** BUTTONS ****/
.wp-block-button a{
    background: none;
    line-height: 24px;
    position: relative;
    padding: 6px 52px 6px 0;
    transition: all 0.5s ease;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #323F48!important;
}

.wp-block-button a:hover{
    filter:brightness(1.2);
    padding: 6px 40px 6px 0;
    color: #323F48;
    text-align: right;
}

.wp-block-button a:after{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z"/></svg>');
    padding-left: 18px;
    padding-right: 0;
    position: absolute;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%) scale(1.5);
    right: 8px;
    font-size: 20px;
    opacity: 0.6;
}

/**** SEARCH ****/
.search-overlay{
	display: none;
	width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    text-align: center;
    background-color: rgba(52,62,71,0.9);
    position: fixed;
    z-index: 99999999;
}

.search-button{
	width: auto;
	color: #343e47;
	letter-spacing: 2px;
	padding: 4px;
}

.search-overlay #searchform{
	position: relative;
	top: calc(50% - 30px);
}

.search-overlay #searchform #s{
	height: 30px;
    padding: 10px;
    background: none;
    border: 0;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 24px;
    width: 300px;
	font-family:'lato';
}

.search-no-results #searchform #s{
	height: 30px;
    padding: 10px;
    background: none;
    border: 0;
    border-bottom: 1px solid #343e47;
    color: #343e47;
    font-size: 24px;
	font-family:'lato';
}

#searchform input:focus{
	 outline: none;
}

.search-overlay #searchform #searchsubmit{
	background: none;
    border: none;
    color: #fff;
    position: relative;
    top: 12px;
	cursor: pointer;
}

.search-no-results #searchform #searchsubmit{
	background: none;
    border: none;
    color: #343e47;
    position: relative;
    top: 12px;
	cursor: pointer;
}

#header.sticky .search-button{
	top:34px;	
}

.search-listing{
	position: relative;
	margin-bottom:40px;
}

.search-listing .searchform #s{
    height: 30px;
    padding: 10px;
    background: none;
    border: 0;
    border-bottom: 1px solid #343e47;
    color: #343e47;
    font-size: 24px;
    margin-bottom:40px;
	font-family:'lato';
}

.search-listing #searchform #searchsubmit{
	background: none;
    border: none;
    color: #343e47;
    position: relative;
    top: 12px;
	cursor: pointer;
}
.blog-listing-slider-container{
	position: relative;
}
.blog-listing-slider-container .more-overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	background: rgba(50,63,72,0.8);
	transition: opacity 1s ease;
	z-index: 99;
}
.blog-listing-slider-container .more-overlay:hover{
	opacity: 1;
	transition: opacity 2s ease;
}
.blog-listing-slider-container .more-overlay a{
	color: #fff;
	width: 100%;
	height: 100%;
	display: block;
	text-transform: uppercase;
	text-decoration: none;
}
.blog-listing-slider-container .more-overlay a .more-overlay-text{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	font-size: 22px;
}
.blog-listing-slider-container .more-overlay a .more-overlay-text svg{
	margin-left:20px;
	height: 22px;
	width: 22px;
	max-height: 22px;
	max-width: 22px;
	position: relative;
	top: 3px;
	transition: all 0.3s ease;
}
.blog-listing-slider-container .more-overlay a .more-overlay-text:hover svg{
	margin-left: 10px;
	transition: all 0.3s ease;
}
.blog-listing-slider{
	height: 400px;
	width: 50%;
}
.blog-listing-slide{
	width: 100%;
	height: 100%;
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.blog-listing-slider-wrap .bx-prev{
	margin-top: 10px;
	float: left;
	color: #343e47;
}
.blog-listing-slider-wrap .bx-next{
	margin-top: 10px;
	float: right;
	color: #343e47;
}
.blog-listing-slider-wrap .bx-prev svg, .blog-listing-slider-wrap .bx-next svg{
	width: 32px;
	height: 32px;
}
.search-listing .blog-article .blog-article-content time{
	text-transform: uppercase;
}
.search-listing .loading-gif{
	-webkit-animation: fadein 2s;
	display: none;
	width: 100%;
	clear: both;
	text-align: center;
	position: absolute;
	bottom: -50px;
}
.search-listing.is-loading .loading-gif{
	display: block;
}
.search-listing .loading-gif img{
	webkit-transform-style: preserve-3d;
  	-webkit-animation: spin 3s infinite ease-out;
}
.search-listing .wp-block-button{
	margin-top:34px;
}

/* full width */
.search-listing.full_width .blog-article{	
	width: 100%;
	clear: both;
}
.search-listing.full_width .blog-listing-slider-container .more-overlay {
    height: calc(100% - 45px);
}
.search-listing.full_width .blog-listing-slider-container{
	margin-bottom: 2em;
	width: calc(50% - 1em);
}
.search-listing.full_width .blog-article:nth-of-type(odd) .blog-listing-slider-container{
	float: left;
}
.search-listing.full_width .blog-article:nth-of-type(even) .blog-listing-slider-container{
	float: right;
}
.search-listing.full_width .blog-article .blog-article-content{
	width: calc(50% - 1em);
}
.search-listing.full_width .blog-article:nth-of-type(odd) .blog-article-content{
	float: right;
}
.search-listing.full_width .blog-article:nth-of-type(even) .blog-article-content{
	float: left;
}

.single-title h1 {
	font-size: 28px;
	max-width: 50%;
	line-height: 1.4;
	padding-top: 148px;
	margin-bottom: -104px;
	padding-left: 80px;
	padding-right: 80px;
}

/**** HEADER ****/
#header{
	box-sizing:border-box;
	transition: height 1s ease, padding 1s ease;
	width:100%;
	position: fixed;
	height: 140px;
	max-height: 140px;
	z-index: 999;
	padding: 20px 80px;
	top: 0;
	background-color: #f3f3f3;
}

body.admin-bar #header{
	top:32px;	
}

#header.sticky{
	height: 80px;
	padding: 10px 24px;
	transition: height 2s ease, padding 2s ease;
	background-color: #f3f3f3;
	filter: drop-shadow(1px 2px 10px rgba(50,50,50,0.1));
}

#header-content{
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

#logo{
	float:left;
	position: relative;
	vertical-align: middle;
	z-index: 9;
}

#header.sticky #logo{
	float:left;
	vertical-align: middle;
	height: 50px;
	line-height: 52px;
}


#logo img{
	height: 94px;
	vertical-align: middle;
	transition: all 1.6s ease;
	max-width: calc(100vw - 200px);
}

#header.sticky #logo img{
	vertical-align: middle;
	height: 50px;
}

/**** NAV ****/
#nav{
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: flex-end;
	color: #343e47;
	letter-spacing: 2px;
}

/* #header.sticky #nav{
	top: 50%;
} */

body.nav-active{
	background: #999;
}

body.nav-active #page-content, body.nav-active #footer{
	opacity: 0.2;
	filter:grayscale(1) brightness(0.6);
}

#nav-button{
	margin-top: -14px;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 16px;
	color: #343e47;
	transition: all 0.5s ease;
	padding-right: 10px;
}

.nav-active #nav-button{
	transition: all 0.5s ease;
	position: relative;
	top: -6px;

}

.nav-active #nav-button #nav-svg{
	transition: all 0.5s ease;
	display: none;
}


.nav-active #nav-button:after{
	transition: all 0.5s ease;
	font-size: 16px;
	color: #343e47;
	opacity: 0.5;
	position: relative;
	top: 14px;
	margin: -8px 0 0 0px;
	content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="currentColor" class="bi bi-x" viewBox="0 0 16 16"><path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/></svg>');
}

#nav-button svg {
	width: 40px;
	height: 28px;
	max-width: 40px;
	max-height: 28px;
	vertical-align: baseline;
	position: relative;
	bottom: -8px;
	margin-left: 0;
	transition: all 0.5s ease;
}

#nav #nav-elements{
	height: 100%;
}

#nav .nav-elements-logo {
	margin-left: 40px;
	padding-right: 20px;
	border-right: 1px solid #343e47;

}

#nav .nav-elements-logo img {
	max-width: 100px;	
	max-height: 40px;
}

/* .nav-active #nav:hover #nav-elements{
	transition: height 0.8s ease;
	height: 90px;
	width: 100vw;
	right: -80px;
} */

/* #nav:hover #nav-elements.sub-menu-active{
	height:150px;	
} */

#nav-elements > ul {
	list-style: none;
	text-align: right;
	height: 100%;
	margin: 0;
  padding: 0;
}

#nav-elements > ul > li {
	display: inline-flex;
	align-items: center;
	margin-left: 20px;
	position: relative;
	height: 100%;
}

#nav-elements > ul > li > a {
	text-decoration: none;
	color: #343e47;
	font-size: 14px;
	font-weight: 300;
	transition: all 0.8s ease;
	text-transform: uppercase;
	padding: 10px 0;
}

#nav-elements > ul > li > a:before{
	transition: all 1.0s ease;
	content: "";
	display: block;
	border-top:1px solid #343e47;
	width: 0%;
	position: absolute;
	top: 0;
}

#nav-elements > ul > li:hover > a:before{	
	transition: all 0.5s ease;
	width:100%;
}

#nav-elements > ul > li > ul {
	list-style: none;
	text-align: right;
	height: max-content;
	visibility: hidden;
	position: absolute;
	width: max-content;
	right: 0;
	top: 100%;
	background-color: #f3f3f3;
	padding-top: 20px;
	padding-right: 40px;
	padding-bottom: 20px;
}

#nav-elements > ul > li > ul > li > a {
	text-decoration: none;
	color: #343e47;
	font-size: 14px;
	font-weight: 300;
	transition: all 0.8s ease;
	text-transform: uppercase;
	padding: 10px 0;
	position: relative;
}


#nav-elements > ul > li:hover > ul{
	visibility: visible;
}

#nav-elements > ul > li > ul > li > a:after{
	color:#343e47;
	opacity:0;
	content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-return-left" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5z"/></svg>');
	position: absolute;
	right: -24px;
  top: 50%;
  transform: translateY(-50%);
}

#nav-elements > ul > li > ul > li:hover > a:after{
	transition: all 1s ease;
	opacity:0.5;
}

#nav ul li.menu-item-has-children:hover > ul{
	visibility: visible;
}

#nav ul li ul li a, #nav:hover ul li ul li a{
	transition:none;
}

#nav-elements > ul > li > ul > li {
	opacity:0;
	display: flex;
	justify-content: flex-end;
}

#nav ul li:hover ul li{
	opacity:1;
	transition: all 1s ease 0.3s;
}

#nav #nav-actions {
	padding-left: 20px;
	display: flex;
  align-items: center;
}

#header.sticky #nav #nav-actions {
	margin-top: 0;
}

#nav #nav-actions #nav-button {
	display: none;
}
/**** MAIN CONTENT ****/
#page-content{
	width: 90%;
	max-width:1280px;
	min-height: calc(100vh - 400px);
	margin: 140px auto 0 auto;
	position: relative;
	overflow: visible;
	opacity:0;
	transition: all 1s ease-in-out;
	-webkit-animation: 3s ease 2s normal forwards 1 fadein;
	animation: 3s ease 2s normal forwards 1 fadein;
}

#page-content p{
	line-height: 1.5em;	
}

#page-content li{
	margin: 6px 0;
	font-size: 14px;
	line-height: 22px;
}

body.admin-bar #page-content{
	margin: 108px auto 0 auto;
}

#page-content p a, #page-content h2 a, #page-content h3 a, #page-content h4 a, #page-content li a{
	position: relative;
	text-decoration: none;
	color:#343e47;
}
#page-content p a, #page-content li a{
	font-weight: 600;
}

#page-content p a:after, #page-content h2 a:after, #page-content h3 a:after, #page-content h4 a:after, #page-content li a:after, #breadcrumbs a:after, #footer p a:after{
	transition: all 1.0s ease;
	content: "";
	border-bottom: 1px solid #343e479c;
	width: 0%;
	position: absolute;
	left: 0;
	bottom: -4px;
}

#page-content p a:hover:after, #page-content h2 a:hover:after, #page-content h3 a:hover:after, #page-content h4 a:hover:after, #page-content li a:hover:after, #breadcrumbs a:hover:after, #footer p a:hover:after{
	transition: all 0.5s ease;
	width:100%;
}

/**** PAGE HERO ****/
#page-hero, .page-hero-slider-wrap, .hero-images{
    width: 100vw;
    height: calc(100vh - 140px);
		min-height: 480px;

    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

#page-hero .page-hero-home-overlay {
	position: absolute;
  top: 60px;
  bottom: 180px;
  left: 180px;
  right: 180px;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
	flex-direction: column;
}

#page-hero .logos {
	position: absolute;
	left: 180px;
  right: 180px;
	top: 8%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 100;
}

#page-hero .logos > img {
	width: 180px;
	height: auto;
	object-fit: contain;
}

#page-hero .page-hero-home-overlay > .text > h1 {
	font-size: 48px;
	letter-spacing: 0.02rem;
	color: #e6e6e6;
	font-weight: bolder;
	text-align: center;
  line-height: 1.2;
	margin: 0;
}

#page-hero .page-hero-home-logo > img {
	max-height: 50vh;
	object-fit: contain;
}

.page-hero-overlay {
    position: absolute;
    width: 100vw;
    height: calc(100vh - 140px);
		min-height: 480px;
    margin: 0 auto;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    clip: rect(auto, auto, auto, auto);
		background: linear-gradient(180deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.2) 100%);
}

.page-hero-overlay.with-title{
    background: radial-gradient(ellipse at center, rgba(50,50,50,0.5) 15%, rgba(50,50,50,0.2) 35%, rgba(50,50,50,0.1) 45%, rgba(50,50,50,0) 70%);
}
.page-hero-overlay img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%);
	height: 58vh;
	object-fit: contain;
}
.page-hero-overlay h2{
	text-align: center;
	display: block;
	color: #fff;
	position: absolute;
	top: 46%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	max-width: 640px;
	font-size: 28px;
	text-shadow: 0px 0px 5px rgb(0 0 0 / 90%), 0px 0px 20px rgb(0 0 0 / 60%), 0px 0px 80px rgb(0 0 0 / 20%), 0px 0px 80px rgb(0 0 0 / 20%), 0px 0px 80px rgb(0 0 0 / 80%), 0px 0px 80px rgb(0 0 0 / 80%);
}
.page-hero-overlay-content{
	text-align: center;
    color: #fff;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    max-width: 640px;
    padding: 0 80px;
    margin: auto;
    font-size: 28px;
	text-shadow: 0px 0px 60px rgb(0 0 0 / 90%), 0px 0px 190px rgb(0 0 0 / 60%), 0px 0px 20px rgb(0 0 0 / 80%);
}

#page-hero .hero-slide{
	width: 100vw;
	height: calc(100vh - 140px);
	min-height: 480px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#page-hero .bx-prev{
	position: absolute;
	top: 50%;
	left: 80px;
	color: #fff;
	z-index: 1;
}

#page-hero .bx-next{
	position: absolute;
	top: 50%;
	right: 80px;
	color: #fff;
	z-index: 1;
}

#page-hero .bx-controls svg{
	width: 32px;
	height: 32px;
}

#page-hero .bx-pager{
	text-align: center;
	position: relative;
	top: -50px;
	z-index:9;
}
#page-hero .bx-pager .bx-pager-item{
	display: inline-block;
	width: auto;
	margin: 3px;
}
#page-hero .bx-pager .bx-pager-item a{
	background-color: #f3f3f3;
	border:1px solid #343e47;
	width: 10px;
	height: 10px;
	border-radius:50%;
	display:block;
	font-size:0;
	opacity:0.7;
}
#page-hero .bx-pager .bx-pager-item a.active{
	border:1px solid #f3f3f3;
	background-color: #343e47;
}

/**** TEAM MEMBERS ****/
.team-members{
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 4em;
	grid-row-gap: 4em;
}
.team-member{
	width: 100%;
	border-bottom:1px solid #343e479c;
}
.team-member .team-member-photo{
	width: 100%;
}

.team-member .team-member-content{
	padding-top: 12px;
}
.team-member .team-member-content h3{
	text-transform: capitalize;
	letter-spacing: 0;
	margin: 0;
}

.team-member .team-member-content .team-member-qualifications{
	opacity: 0.6;
	margin: 2px 0;
}

.team-member .team-member-content .team-member-job-title{
	margin: 2px 0 20px 0;
}

/**** TESTIMONIALS ****/
.testimonial-image{
	float: left;
    margin: 6px 30px 30px 0;
    border: 1px solid #999;
    padding: 6px;
}

.testimonial-quotation-mark-left{
	font-family: "Times New Roman", "serif";
	font-size: 28px;
	margin-left: -20px;
	position: relative;
	top: 5px;
}

.testimonial-quotation-mark-right{
	font-family: "Times New Roman", "serif";
	font-size: 28px;
	position: relative;
	top: 5px;
}

.testimonials-slider p.testimonial{
    line-height: 22px!important;
    font-style: italic;
    margin-top: 0;
	padding: 0 20px;
}

.testimonial-name{
	margin-left:20px;
}

.testimonials-slider-wrap .bx-controls .bx-prev{
	color: #999!important;
}

.testimonials-slider-wrap .bx-controls .bx-next{
	color: #999!important;
	float: right;
}
.testimonials-slider-wrap .bx-controls svg{
	width: 32px;
    height: 32px;
}

/**** CONTENT ROW ****/
.content-row{
	width: 100%;
	padding: 60px 0 40px 0;
	border-bottom: 1px solid #343e479c;
	position: relative;
}

.content-row h2{
	text-transform:uppercase;
	font-size: 22px;
	color: #323F48;
}

.content-row h2:nth-of-type(1){
	margin-bottom:1em;
}

.content-row p{
	line-height: 26px;
	font-size: 14px;
}

.content-row .row-cta{
	position: absolute;
	right: 0;
	bottom: 16px;
}

/**** CONTACT INFO ****/
.contact-info-block.horizontal p {
	display: inline-block;
	margin: 0;
	color: #323F48;
	line-height: 32px;
}

.contact-info-block.horizontal .inline-contact-separator{
	margin: 0 12px;
}

.contact-info-block.vertical .inline-contact-separator{
	display: none;
}

.contact-method i{
	margin-right:6px;
}

.contact-method a{
	color: #323F48;
	text-decoration: none;
	font-weight: 600;
}

.contact-info-block.vertical .contact-method{
	margin: 2px 0;
}

.contact-method.default_logo{
	width: 200px;
	position: relative;
	bottom:-7px;
}

.contact-info-block.vertical .contact-method.default_logo{
	margin-bottom:60px;	
}

.contact-info-block.vertical .contact-method.default_logo:after{
	content: "";
	border-bottom: 1px solid #343e479c;
	width: 50px;
	position: absolute;
	top: 110px;
	left: 0;
}

.contact-info-block.vertical .contact-method.default_address{
	margin-bottom:20px;
}

/**** GALLERY ****/
.wp-block-gallery.has-nested-images figure.wp-block-image{
	margin: 30px 0!important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image img{
	justify-content: flex-end;
	align-items: baseline;
}
.wp-block-gallery.has-nested-images figure.wp-block-image a{
	text-decoration: none;
}
.wp-block-gallery.has-nested-images figure.wp-block-image a .zoom{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	text-align: center;
	z-index: 9;
}
.wp-block-gallery.has-nested-images figure.wp-block-image a .zoom svg{
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	color: #fff;
	transition: all 1.0s ease;
	-webkit-animation: 3s ease 2s normal forwards 1 fadein;
	animation: 3s ease 2s normal forwards 1 fadein;
}
.wp-block-gallery.has-nested-images figure.wp-block-image a:hover img{
	filter:brightness(0.4);
	transition: all 1.0s ease;
}
.wp-block-gallery.has-nested-images figure.wp-block-image a:after{
	border: none!important;
	width: auto!important;
}
.wp-block-gallery.has-nested-images{
	width:100%;
}
.wp-block-gallery.has-nested-images .wp-block-image{
	max-width:50%!important;
}
.blocks-gallery-grid .blocks-gallery-image, .blocks-gallery-grid .blocks-gallery-item, .wp-block-gallery .blocks-gallery-image, .wp-block-gallery .blocks-gallery-item {
	margin: 0 1em 4em 0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+2) img{
	max-height: 80%!important;
	width: auto!important;
	max-width: 80%!important;
	position: relative;
	bottom: -20%;
	align-self: flex-end;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+3) img{
	max-height: 80%!important;
	width: auto!important;
	max-width: 80%!important;
	position: relative;
	top: 50%;
	transform:translateY(-50%);
	float:left;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+5) img{
	width: auto;
	max-width: 80%!important;
	align-self: flex-end;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+6) img{
	max-height: 80%!important;
	width: auto!important;
	max-width:80%!important;
	position: relative;
	align-self: flex-end;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+8) img{
	max-height: 80%!important;
	width: auto!important;
	max-width: 80%!important;
	position: relative;
	bottom: -20%;
	align-self: flex-end;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+1) .zoom{
	top:0;
	left:0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+2) .zoom{
	right: 0;
	bottom: 0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+3) .zoom{
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+4) .zoom{
	top:0;
	right:0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+5) .zoom{
	top:0;
	right:0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+6) .zoom{
	top:0;
	right:0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+7) .zoom{
	top: 0;
	right:0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(8n+8) .zoom{
	bottom: 0;
	right:0;
}


/**** BLOG POSTS ****/
.blog-listing{
	position: relative;
	margin-bottom:40px;
}
.blog-listing .blog-article{
	-webkit-animation: 3s ease 0s normal forwards 1 fadein;
    animation: 3s ease 0s normal forwards 1 fadein;
	margin-bottom: 3em;
}
.blog-listing-slider-container{
	position: relative;
}
.blog-listing-slider-container .more-overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	background: rgba(50,63,72,0.8);
	transition: opacity 1s ease;
	z-index: 99;
}
.blog-listing-slider-container .more-overlay:hover{
	opacity: 1;
	transition: opacity 2s ease;
}
.blog-listing-slider-container .more-overlay a{
	color: #fff;
	width: 100%;
	height: 100%;
	display: block;
	text-transform: uppercase;
	text-decoration: none;
}
.blog-listing-slider-container .more-overlay a .more-overlay-text{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	font-size: 22px;
}
.blog-listing-slider-container .more-overlay a .more-overlay-text svg{
	margin-left:20px;
	height: 22px;
	width: 22px;
	max-height: 22px;
	max-width: 22px;
	position: relative;
	top: 3px;
	transition: all 0.3s ease;
}
.blog-listing-slider-container .more-overlay a .more-overlay-text:hover svg{
	margin-left: 10px;
	transition: all 0.3s ease;
}
.blog-listing-slider{
	height: 400px;
	width: 50%;
}
.blog-listing-slide{
	width: 100%;
	height: 100%;
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.blog-listing-slider-wrap .bx-prev{
	margin-top: 10px;
	float: left;
	color: #343e47;
}
.blog-listing-slider-wrap .bx-next{
	margin-top: 10px;
	float: right;
	color: #343e47;
}
.blog-listing-slider-wrap .bx-prev svg, .blog-listing-slider-wrap .bx-next svg{
	width: 32px;
	height: 32px;
}
.blog-listing .blog-article .blog-article-content time{
	text-transform: uppercase;
}
.blog-listing .loading-gif{
	-webkit-animation: fadein 2s;
	display: none;
	width: 100%;
	clear: both;
	text-align: center;
	position: absolute;
	bottom: -50px;
}
.blog-listing.is-loading .loading-gif{
	display: block;
}
.blog-listing .loading-gif img{
	webkit-transform-style: preserve-3d;
  	-webkit-animation: spin 3s infinite ease-out;
}
.blog-listing .wp-block-button{
	margin-top:34px;
}

/* full width */
.blog-listing.full_width .blog-article{	
	width: 100%;
	clear: both;
}
.blog-listing.full_width .blog-listing-slider-container .more-overlay {
    height: calc(100% - 45px);
}
.blog-listing.full_width .blog-listing-slider-container{
	margin-bottom: 2em;
	width: calc(50% - 1em);
}
.blog-listing.full_width .blog-article:nth-of-type(odd) .blog-listing-slider-container{
	float: left;
}
.blog-listing.full_width .blog-article:nth-of-type(even) .blog-listing-slider-container{
	float: right;
}
.blog-listing.full_width .blog-article .blog-article-content{
	width: calc(50% - 1em);
}
.blog-listing.full_width .blog-article:nth-of-type(odd) .blog-article-content{
	float: right;
}
.blog-listing.full_width .blog-article:nth-of-type(even) .blog-article-content{
	float: left;
}

/* two columns */
.blog-listing.two_columns .blog-article{	
	width: 50%;
	float: left;
}
.blog-listing.two_columns .blog-article:nth-of-type(odd){
	clear: left;
}
.blog-listing.two_columns .blog-article:nth-of-type(even){
	clear: right;
}
.blog-listing.two_columns .blog-article:nth-of-type(odd) .blog-listing-slider-container{
	margin-right: 3em;
}
.blog-listing.two_columns .blog-article:nth-of-type(even) .blog-listing-slider-container{
	margin-left: 3em;
}
.blog-listing.two_columns .blog-listing-slider-wrap, .blog-listing.four_columns .blog-listing-slider-wrap{
	width: 100%;
	margin-bottom: 2em;
}
.blog-listing.two_columns .blog-listing-slider-wrap .bx-controls, .blog-listing.four_columns .blog-listing-slider-wrap .bx-controls{
    display:none;
}
.blog-listing.two_columns .blog-article .blog-article-content{
	clear:both;
}
.blog-listing.two_columns .blog-article:nth-of-type(odd) .blog-article-content{
	margin-right: 3em;
}
.blog-listing.two_columns .blog-article:nth-of-type(even) .blog-article-content{
	margin-left: 3em;
}

/* four columns */
.blog-listing.four_columns .blog-article{	
	width: calc(25% - 2.3em);
	float: left;
}
.blog-listing.four_columns .blog-article{
	float:left;
	margin-right: 3em;
}
.blog-listing.four_columns .blog-article:nth-of-type(1n+4){
	margin-right: 0;
}
.blog-listing.four_columns .blog-article h2{
	font-size:16px;
}
.blog-listing.four_columns .blog-article h2{
	font-size:16px;
}
.blog-listing.four_columns .blog-article .blog-article-content time{
	font-size:12px;
}
.four_columns-slider-wrap .bx-prev.disabled, .four_columns-slider-wrap .bx-next.disabled{
	display: none;
}
.four_columns-slider-wrap .bx-prev{
	position: absolute;
	top: 30%;
	left: -120px;
	color: #343e47;
}
.four_columns-slider-wrap .bx-next{
	position: absolute;
	top: 30%;
	right: -120px;
	color: #343e47;
}
.four_columns-slider-wrap .bx-prev svg, .four_columns-slider-wrap .bx-next svg{
	width: 32px;
	height: 32px;
}
.project-listing.four_columns .project-article .project-listing-slide, .blog-listing.four_columns .blog-article .blog-listing-slide{
	width: 280px!important;
}

/* single view */
.single-post .wp-block-post-featured-image img{
	width: 100vw;
	max-width: 100vw;
	height: calc(100vh - 140px);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	object-fit: cover;
}
.prev-blog-post{
	text-align: left;
	float: left;
	width: 49%;
}
.prev-blog-post .wp-block-button .prev_button{
	padding: 6px 0 6px 52px;
}

.prev-blog-post .wp-block-button .prev_button:hover{
	padding: 6px 0 6px 40px;
}
.prev-blog-post .wp-block-button a.prev_button:after{
	content: none;
}
.prev-blog-post .wp-block-button a.prev_button:before{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z"/></svg>');
    padding-right: 18px;
    padding-left: 0;
    position: absolute;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%) scale(1.5);
    left: 8px;
    font-size: 20px;
    opacity: 0.6;
}
.next-blog-post{
	text-align: right;
	float: right;
	width: 49%;
}

/**** ARTICLES ****/
.article-listing{
	position: relative;
	margin-bottom:40px;
}
.article-listing .article-article{
	-webkit-animation: 3s ease 0s normal forwards 1 fadein;
    animation: 3s ease 0s normal forwards 1 fadein;
	margin-bottom: 3em;
}
.article-listing-slider-container{
	position: relative;
}
.article-listing-slider-container .more-overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	background: rgba(50,63,72,0.8);
	transition: opacity 1s ease;
	z-index: 99;
}
.article-listing-slider-container .more-overlay:hover{
	opacity: 1;
	transition: opacity 2s ease;
}
.article-listing-slider-container .more-overlay a{
	color: #fff;
	width: 100%;
	height: 100%;
	display: block;
	text-transform: uppercase;
	text-decoration: none;
}
.article-listing-slider-container .more-overlay a .more-overlay-text{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	font-size: 22px;
}
.article-listing-slider-container .more-overlay a .more-overlay-text svg{
	margin-left:20px;
	height: 22px;
	width: 22px;
	max-height: 22px;
	max-width: 22px;
	position: relative;
	top: 3px;
	transition: all 0.3s ease;
}
.article-listing-slider-container .more-overlay a .more-overlay-text:hover svg{
	margin-left: 10px;
	transition: all 0.3s ease;
}
.article-listing-slider{
	height: 400px;
	width: 50%;
}
.article-listing-slide{
	width: 100%;
	height: 100%;
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.article-listing-slider-wrap .bx-prev{
	margin-top: 10px;
	float: left;
	color: #343e47;
}
.article-listing-slider-wrap .bx-next{
	margin-top: 10px;
	float: right;
	color: #343e47;
}
.article-listing-slider-wrap .bx-prev svg, .article-listing-slider-wrap .bx-next svg{
	width: 32px;
	height: 32px;
}
.article-listing .article-article .article-article-content time{
	text-transform: uppercase;
}
.article-listing .loading-gif{
	-webkit-animation: fadein 2s;
	display: none;
	width: 100%;
	clear: both;
	text-align: center;
	position: absolute;
	bottom: -50px;
}
.article-listing.is-loading .loading-gif{
	display: block;
}
.article-listing .loading-gif img{
	webkit-transform-style: preserve-3d;
  	-webkit-animation: spin 3s infinite ease-out;
}
.article-listing .wp-block-button{
	margin-top:34px;
}

/* full width */
.article-listing.full_width .article-article{	
	width: 100%;
	clear: both;
}
.article-listing.full_width .article-listing-slider-container .more-overlay {
    height: calc(100% - 45px);
}
.article-listing.full_width .article-listing-slider-container{
	margin-bottom: 2em;
	width: calc(50% - 1em);
}
.article-listing.full_width .article-article:nth-of-type(odd) .article-listing-slider-container{
	float: left;
}
.article-listing.full_width .article-article:nth-of-type(even) .article-listing-slider-container{
	float: right;
}
.article-listing.full_width .article-article .article-article-content{
	width: calc(50% - 1em);
}
.article-listing.full_width .article-article:nth-of-type(odd) .article-article-content{
	float: right;
}
.article-listing.full_width .article-article:nth-of-type(even) .article-article-content{
	float: left;
}

/* two columns */
.article-listing.two_columns .article-article{	
	width: 50%;
	float: left;
}
.article-listing.two_columns .article-article:nth-of-type(odd){
	clear: left;
}
.article-listing.two_columns .article-article:nth-of-type(even){
	clear: right;
}
.article-listing.two_columns .article-article:nth-of-type(odd) .article-listing-slider-container{
	margin-right: 3em;
}
.article-listing.two_columns .article-article:nth-of-type(even) .article-listing-slider-container{
	margin-left: 3em;
}
.article-listing.two_columns .article-listing-slider-wrap, .article-listing.four_columns .article-listing-slider-wrap{
	width: 100%;
	margin-bottom: 2em;
}
.article-listing.two_columns .article-listing-slider-wrap .bx-controls,
.article-listing.three_columns .article-listing-slider-wrap .bx-controls,
.article-listing.four_columns .article-listing-slider-wrap .bx-controls  {
    display:none;
}
.article-listing.two_columns .article-article .article-article-content{
	clear:both;
}
.article-listing.two_columns .article-article:nth-of-type(odd) .article-article-content{
	margin-right: 3em;
}
.article-listing.two_columns .article-article:nth-of-type(even) .article-article-content{
	margin-left: 3em;
}
/* three columns */
.article-listing.three_columns  {
	display: flex;
	flex-wrap: wrap;
}
.article-listing.three_columns .article-article{	
	width: calc(33% - 2.3em);
	float: none;
}
.article-listing.three_columns .article-article{
	margin-right: 3em;
}
.article-listing.three_columns .article-article:nth-of-type(3n){
	margin-right: 0;
}
.article-listing.three_columns .article-article h2{
	font-size:16px;
}
.article-listing.three_columns .article-article .article-article-content time{
	font-size:12px;
}


/* four columns */
.article-listing.four_columns .article-article{	
	width: calc(25% - 2.3em);
	float: left;
}
.article-listing.four_columns .article-article{
	float:left;
	margin-right: 3em;
}
.article-listing.four_columns .article-article:nth-of-type(1n+4){
	margin-right: 0;
}
.article-listing.four_columns .article-article h2{
	font-size:16px;
}
.article-listing.four_columns .article-article h2{
	font-size:16px;
}
.article-listing.four_columns .article-article .article-article-content time{
	font-size:12px;
}
.four_columns-slider-wrap .bx-prev.disabled, .four_columns-slider-wrap .bx-next.disabled{
	display: none;
}
.four_columns-slider-wrap .bx-prev{
	position: absolute;
	top: 30%;
	left: -120px;
	color: #343e47;
}
.four_columns-slider-wrap .bx-next{
	position: absolute;
	top: 30%;
	right: -120px;
	color: #343e47;
}
.four_columns-slider-wrap .bx-prev svg, .four_columns-slider-wrap .bx-next svg{
	width: 32px;
	height: 32px;
}

.project-listing.four_columns .project-article .project-listing-slide, .article-listing.four_columns .article-article .article-listing-slide{
	width: 280px!important;
}

/* single view */
.single-article .wp-block-post-featured-image img{
	width: 100vw;
	max-width: 100vw;
	height: calc(100vh - 140px);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	object-fit: cover;
}
.prev-article-post{
	text-align: left;
	float: left;
	width: 49%;
}
.prev-article-post .wp-block-button .prev_button{
	padding: 6px 0 6px 52px;
}

.prev-article-post .wp-block-button .prev_button:hover{
	padding: 6px 0 6px 40px;
}
.prev-article-post .wp-block-button a.prev_button:after{
	content: none;
}
.prev-article-post .wp-block-button a.prev_button:before{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z"/></svg>');
    padding-right: 18px;
    padding-left: 0;
    position: absolute;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%) scale(1.5);
    left: 8px;
    font-size: 20px;
    opacity: 0.6;
}
.next-article-post{
	text-align: right;
	float: right;
	width: 49%;
}

/**** VACANCIES ****/
.vacancy-listing{
	position: relative;
	margin-bottom:40px;
}
.vacancy-listing .vacancy-article{
	-webkit-animation: 3s ease 0s normal forwards 1 fadein;
    animation: 3s ease 0s normal forwards 1 fadein;
	margin-bottom: 3em;
}
.vacancy-listing .loading-gif{
	-webkit-animation: fadein 2s;
	display: none;
	width: 100%;
	clear: both;
	text-align: center;
	position: absolute;
	bottom: -50px;
}
.vacancy-listing.is-loading .loading-gif{
	display: block;
}
.vacancy-listing .loading-gif img{
	webkit-transform-style: preserve-3d;
  	-webkit-animation: spin 3s infinite ease-out;
}
.vacancy-article-content{
	margin: auto;
	padding-top: 20px;
	padding-bottom: 40px;
	border-bottom: 1px solid #ccc;
	margin-bottom:20px;
}
.vacancy-listing h2{
	font-size: 16px;
}
.vacancy-listing .wp-block-button{
	margin-top:34px;
}

/**** PROJECTS ****/
.project-listing{
	position: relative;
	margin-bottom:40px;
}
.project-listing .project-article{
	-webkit-animation: 3s ease 0s normal forwards 1 fadein;
    animation: 3s ease 0s normal forwards 1 fadein;
	margin-bottom: 3em;
}
.project-listing-slider-container{
	position: relative;
}
.project-listing-slider-container .more-overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	background: rgba(50,63,72,0.8);
	transition: opacity 1s ease;
	z-index: 99;
}
.project-listing-slider-container .more-overlay:hover{
	opacity: 1;
	transition: opacity 2s ease;
}
.project-listing-slider-container .more-overlay a{
	color: #fff;
	width: 100%;
	height: 100%;
	display: block;
	text-transform: uppercase;
	text-decoration: none;
}
.project-listing-slider-container .more-overlay a .more-overlay-text{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	font-size: 22px;
}
.project-listing-slider-container .more-overlay a .more-overlay-text svg{
	margin-left:20px;
	height: 22px;
	width: 22px;
	max-height: 22px;
	max-width: 22px;
	position: relative;
	top: 3px;
	transition: all 0.3s ease;
}
.project-listing-slider-container .more-overlay a .more-overlay-text:hover svg{
	margin-left: 10px;
	transition: all 0.3s ease;
}
.project-listing-slider{
	height: 400px;
	width: 50%;
}
.project-listing-slide{
	width: 100%;
	height: 100%;
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.project-listing-slider-wrap .bx-prev{
	margin-top: 10px;
	float: left;
	color: #343e47;
}
.project-listing-slider-wrap .bx-next{
	margin-top: 10px;
	float: right;
	color: #343e47;
}
.project-listing-slider-wrap .bx-prev svg, .project-listing-slider-wrap .bx-next svg{
	width: 32px;
	height: 32px;
}
.project-listing .project-article .project-article-content time{
	text-transform: uppercase;
}
.project-listing .loading-gif{
	-webkit-animation: fadein 2s;
	display: none;
	width: 100%;
	clear: both;
	text-align: center;
	position: absolute;
	bottom: -70px;
}
.project-listing.is-loading .loading-gif{
	display: block;
}
.project-listing .loading-gif img{
	webkit-transform-style: preserve-3d;
  	-webkit-animation: spin 3s infinite ease-out;
}
.project-listing .project-article .project-title{
	margin-top: -16px;
    font-size: 18px;
    font-weight: bold;
}
.project-listing .project-article .project-type{
	margin-top: -10px;
    font-size: 16px;
	opacity: 0.6;
}

/* two columns */
.project-listing.two_columns .project-article{	
	width: 50%;
	float: left;
}
.project-listing.two_columns .project-article:nth-of-type(odd){
	clear: left;
}
.project-listing.two_columns .project-article:nth-of-type(even){
	clear: right;
}
.project-listing.two_columns .project-article:nth-of-type(odd) .project-listing-slider-container{
	margin-right: 3em;
}
.project-listing.two_columns .project-article:nth-of-type(even) .project-listing-slider-container{
	margin-left: 3em;
}
.project-listing.two_columns .project-listing-slider-wrap,
.project-listing.three_columns .project-listing-slider-wrap,
.project-listing.four_columns .project-listing-slider-wrap {
	width: 100%;
	margin-bottom: 2em;
}
.project-listing.two_columns .project-listing-slider-wrap .bx-controls,
.project-listing.three_columns .project-listing-slider-wrap .bx-controls,
.project-listing.four_columns .project-listing-slider-wrap .bx-controls {
    display:none;
}
.project-listing.two_columns .project-article .project-article-content{
	clear:both;
}
.project-listing.two_columns .project-article:nth-of-type(odd) .project-article-content{
	margin-right: 3em;
}
.project-listing.two_columns .project-article:nth-of-type(even) .project-article-content{
	margin-left: 3em;
}
/* three columns */
.project-listing.three_columns .project-article{	
	width: calc(33% - 2.3em);
	float: left;
}
.project-listing.three_columns .project-article{
	float:left;
	margin-right: 3em;
}
.project-listing.three_columns .project-article:nth-of-type(3n){
	margin-right: 0;
}
.project-listing.three_columns .project-article h2{
	font-size:16px;
}
.project-listing.three_columns .project-article .project-title {
	text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.project-listing.three_columns .project-article .project-article-content time{
	font-size:12px;
}
.project-listing.three_columns .project-article .project-listing-slide{
	width: 100%;
}

/* four columns */
.project-listing.four_columns .project-article{	
	width: calc(25% - 2.3em);
	float: left;
}
.project-listing.four_columns .project-article{
	float:left;
	margin-right: 3em;
}
.project-listing.four_columns .project-article:nth-of-type(1n+4){
	margin-right: 0;
}
.project-listing.four_columns .project-article h2{
	font-size:16px;
}
.project-listing.four_columns .project-article h2{
	font-size:16px;
}
.project-listing.four_columns .project-article .project-article-content time{
	font-size:12px;
}
.project-listing.four_columns .project-article .project-listing-slide{
	width: 100%;
}
.single-project .wp-block-post-featured-image img{
	width: 100vw;
	max-width: 100vw;
	height: calc(100vh - 140px);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	object-fit: cover;
}


/**** FORMS ****/
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]){
	background: none;
	border:0;
	border-bottom:1px #343e47 solid;
	color: #343e47;
	padding:12px 0!important;
	font-size: 16px!important;
	font-weight: 300;
	text-indent: 80px;
}
.gform_wrapper input:focus, .gform_wrapper input:active, .gform_wrapper textarea:focus, .gform_wrapper textarea:active, .gform_wrapper select:focus, .gform_wrapper select:active{
	outline: 0;
}
.gform_title{
	font-weight: normal!important;
}
.dark-bg .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]){
	border-bottom:1px #fff solid;
	color: #fff;
}
.gform_wrapper textarea{
	text-indent: 140px;
	background-color: transparent;
	line-height: 60px!important;
	background-image: linear-gradient(transparent, transparent calc(60px - 1px), #343e47 0px);
	background-size: 100% 60px;
	background-position-y: -1px;
	border: 0;
	padding: 8px 0!important;
	font-weight: 300;
	height: 222px!important;
	margin-top: -15px;
	color: #343e47;
}
.gform_wrapper label{
	font-size:14px!important;
	font-weight: 600!important;
	color:#343e47;
}
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label{
	font-size:14px!important;
}
.gform_wrapper .top_label .gfield_label{
	position: relative;
	top: 41px;
}
.gform_wrapper .top_label div.ginput_container_text, .gform_wrapper .top_label div.ginput_container_name, .gform_wrapper .top_label div.ginput_container_email, .gform_wrapper .top_label div.ginput_container_fileupload{
	padding: 0;
}
.gform_wrapper .gform_button{
    background: none;
    line-height: 24px;
    position: relative;
    border: 0;
    padding: 14px 52px 14px 14px;
    transition: all 0.5s ease;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #323F48;
    cursor:pointer;
    border: 2px solid #343e479c;
}
.gform_wrapper .gform_button:hover{
    filter:brightness(1.2);
    padding: 14px 42px 14px 14px;
    color: #323F48;
    text-align: right;
}
.gform_wrapper .gform_footer{
	position: relative;
	float:right;
	display:inline-block;
	width: auto!important;
	margin-top: -25px!important;
}
.gform_wrapper .gform_footer:after{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z"/></svg>');
    padding-left: 0;
    padding-right: 0;
    position: absolute;
    font-weight: bold;
    top: 53%;
    transform: translateY(-50%) scale(1.5);
    right: 34px;
    font-size: 20px;
    opacity: 0.6;
    color: #323F48;
    display: inline-block;
}
.gform_wrapper ul li.gfield{
	margin-top:26px!important
}
.gform_validation_errors{
	width:97%;
}
.gform_confirmation_wrapper{
	padding: 30px;
	text-align: center;
	background-color: #fff;
}
.gfield_radio{
	width: calc(100% - 120px)!important;
    margin-left: 120px!important;
}

.gfield--type-select .gfield_label{
	top:0!important;
	margin-top:20px;
}

/**** BREADCRUMBS ****/
#breadcrumbs{
	padding-top:40px;
	margin-bottom: -20px;
	position: relative;
    z-index: 1;
}

#breadcrumbs a{
	text-decoration: none;
	position: relative;
	color: #000;
	font-weight: 600;
	font-size: 14px;
}

#breadcrumbs .breadcrumb-delimiter{
	margin: 0 16px;
	position: relative;
	top: 1px;
}

#breadcrumbs .breadcrumb-delimiter svg{
	height: 12px;
	color: #999;
}

/**** FOOTER ****/
#footer{
	width:100%;
	padding:60px 0;
	margin-top:60px;
}

#footer-content{
	width:90%;
	max-width:1280px;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	row-gap: 40px;
}

.footer-column{
	margin-right: 4%;
	min-width: fit-content;
}

.footer-column-1 img{
	width: 100%;
}

.footer-column .footer-logo{
	margin-bottom:-3px;
}

.footer-column p{
	line-height: 18px;
	margin: 8px 0;
}

.footer-column a{
	text-decoration: none;
	color:#343e47;
	line-height: 16px;
}

.footer-social a{
	color:#343e47;
	margin-right: 12px;
	font-size: 18px;
}

.footer-column-4{
	margin-left: auto;
	margin-right: 0;
	text-transform: uppercase;
	letter-spacing: 2px;
	float: right;
}

.footer-terms-links{
	position: relative;
	top: -20px;
}

.terms-link{
    font-size: 10px;
    line-height: 12px!important;
    display: inline;
    position: relative;
}
#top-button svg{
	height: 22px;
	width: 34px;
	max-height: 22px;
	max-width: 34px;	
	margin-left: 10px;
	margin-bottom: -2px;
}

.modal {
    display: none;
    z-index: 1001;
    position: relative;
}
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__container {
  background-color: #f3f3f3;
  padding: 30px;
  max-width: 680px;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
  position: relative;
  z-index: 1002;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0,0,0,.8);
}

@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translateY(15%); }
    to { transform: translateY(0); }
}

@keyframes mmslideOut {
    from { transform: translateY(0); }
    to { transform: translateY(-10%); }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

/**** RESPONSIVE ****/
@media only screen and (max-width: 1420px){
	.four_columns{
		max-width: 960px;
		margin: auto;
	}
}
@media only screen and (max-width: 1280px){
	#header{
		padding:20px;
	}
}
@media only screen and (max-width: 1100px){
	#header #nav #nav-elements {
		transition: all 1.4s ease;
		display: block;
		height: 100vh !important;
		position: absolute;
    top: 100%;
    right: -400px;
    background-color: #f3f3f3;
		padding: 0 20px;
		overflow: hidden;
		width: 340px;
	}
	#header #nav #nav-actions #nav-button {
		display: block;
	}
	.nav-active #nav #nav-elements{
		transition: all 1.4s ease;
		right: -20px !important;
	}
	#nav-elements > ul > li > a::before {
		content: none;
	}
	#nav ul{
		margin-top: 4px;
	}
	#nav-elements > ul > li {
		height: auto;
	}
	#nav-elements > ul > li > ul {
		background-color: transparent;
	}
	#nav ul li{
		display: block;
		float: right;
		clear: both;
		margin-bottom: 12px;
	}

	#nav-elements > ul > li > ul > li > a{
		font-size: 12px;
	}
	#nav ul li a:before{
		margin: 4px auto;
	}
	#menu-main-menu{
		margin-top: 10px;
	}
	#nav ul li.menu-item-has-children:after{
		color: #343e47;
		opacity: 0;
		content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-return-left" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5z"/></svg>');
		position: absolute;
		left: -30px;
		top: 6px;
	}
	.nav-active #nav ul li.menu-item-has-children:after{
		transition: all 1s ease 0.5s;
		opacity:0.4;	
	}
	#nav ul li:hover ul:after{
		transition: all 1s ease;
		opacity:0;
	}
	#nav:hover #nav-elements.sub-menu-active{
		height:auto;	
	}
	#nav ul li ul{
	    top: -8px;
	    right: 0;
	    padding-top: 0;
	}
	#nav ul li ul:after{
		right: 90px;
		top: 12px;
	}
	#nav-elements .sub-menu{
		width: 380px;
		position: absolute;
		display: none;
		transition: all 1.4s ease;
		padding-right: 140px;
	}
	#nav ul li ul li{
		margin-bottom: 5px;
}
	#nav-elements .sub-menu li{
		width: 100%;	
	}
	#nav-elements.sub-menu-active .menu-item-has-children:hover .sub-menu, #nav ul li.menu-item-has-children:hover > ul{
		display: block;
		transition: all 1.4s ease;
	}
	#nav-elements .menu-item-has-children:hover{
		width: auto;
	}
	#nav-elements > ul > li > ul > li > a:after{
		content: none !important;
	}
	#page-hero .page-hero-home-overlay > .text > h1 {
		font-size: 38px;
	}

}
@media only screen and (max-width: 1060px){
	.four_columns{
		max-width: 610px;
		margin: auto;
	}
}
@media only screen and (max-width: 990px){
	#nav ul li a{
		font-size: 12px;
	}
	#nav ul li{
		margin-left: 12px;
	}
}

@media only screen and (max-width: 960px){
	.project-listing.two_columns .project-article:nth-of-type(odd) .project-listing-slider-container{
		margin-right: 2em;
	}
	.project-listing.two_columns .project-article:nth-of-type(even) .project-listing-slider-container{
		margin-left: 2em;
	}
	.project-listing.two_columns .project-article:nth-of-type(odd) .project-article-content{
		margin-right: 2em;
	}
	.project-listing.two_columns .project-article:nth-of-type(even) .project-article-content{
		margin-left: 2em;
	}
	.blog-listing.two_columns .blog-article:nth-of-type(odd) .blog-listing-slider-container{
		margin-right: 2em;
	}
	.blog-listing.two_columns .blog-article:nth-of-type(even) .blog-listing-slider-container{
		margin-left: 2em;
	}
	.blog-listing.two_columns .blog-article:nth-of-type(odd) .blog-article-content{
		margin-right: 2em;
	}
	.blog-listing.two_columns .blog-article:nth-of-type(even) .blog-article-content{
		margin-left: 2em;
	}
	.team-members{
    grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 860px){
	.single-title h1 {
		font-size: 24px;
		max-width: 100%;
	}
	body.nav-active #header.sticky #logo img{
		height: 50px;
		margin-top:0;
	}

	#page-hero .page-hero-home-overlay > .text > h1 {
		font-size: 32px;
	}

	#page-hero .page-hero-home-overlay > .logos > img {
		width: 120px;
	}
	
}

@media only screen and (max-width: 800px){
	#main-content .wp-block-image figure{
		width: calc(100% - 40px);
		margin: 20px auto;
	}
	#main-content .wp-block-image figure img{
		width:100%;
	}
}

@media only screen and (max-width: 720px){
	.article-listing.three_columns .article-article,
	.project-listing.three_columns .project-article {	
		width: 100%;
		float: none;
		clear: both!important;
	}
	.project-listing.two_columns .project-article {
		width: 100%;
		float: none;
		clear: both!important;
	}
	.project-listing.two_columns .project-article .project-listing-slider-container, .project-listing.two_columns .project-article .project-article-content{
		margin: 0!important;
	}
	.blog-listing.two_columns .blog-article {
		width: 100%;
		float: none;
		clear: both!important;
	}
	.blog-listing.two_columns .blog-article .blog-listing-slider-container, .blog-listing.two_columns .blog-article .blog-article-content{
		margin: 0!important;
	}
	.four_columns{
		max-width: 280px;
		margin: auto;
	}
	#page-hero .page-hero-home-overlay > .text > h1 {
		font-size: 28px;
	}
}

@media only screen and (max-width: 600px){	
	#page-content .blocks-gallery-grid li.blocks-gallery-item{
		width:100%;
	}

	#page-hero .bx-prev {
		left: 40px;
	}

	#page-hero .bx-next {
		right: 40px;
	}
}

@media only screen and (max-width: 540px){
	.wp-block-latest-posts li{
		flex-basis:100%;
	}

	.team-members{
    grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 460px){
	.prev-blog-post .wp-block-button .prev_button{
		font-size:14px;
		padding:6px 0 6px 34px;
	}
	.next-blog-post .wp-block-button .next_button{
		font-size:14px;
		padding:6px 34px 6px 0;
	}
	.next-blog-post .wp-block-button .next_button:hover{
		padding:6px 40px 6px 0;
	}

	#page-hero .page-hero-home-overlay > .text > h1 {
		font-size: 24px;
	}

	#page-hero .page-hero-home-overlay > .logos > img {
		width: 90px;
	}
	body.admin-bar #page-content {
		margin: 94px auto 0 auto;
	}
	#page-hero .bx-controls svg {
		display: none;
	}
}

@media only screen and (max-width: 360px){
	.prev-blog-post .wp-block-button .prev_button{
		font-size:12px;
		padding:6px 0 6px 30px;
	}
	.next-blog-post .wp-block-button .next_button{
		font-size:12px;
		padding:6px 30px 6px 0;
	}
}

@media only screen and (max-width: 520px){
	.nav-elements-logo {
		display: none !important;
	}
}