/*
 Theme Name:     Joe Walkling Child theme
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Child Theme
 Author:         Joe Walkling
 Author URI:     https://www.joewalkling.com
 Template:       Divi
 Version:        1.0.0
*/
 
/* ------------------------------------------------------------------------- */
/* -------------------- Theme customization starts here -------------------- */
/* ------------------------------------------------------------------------- */

:root {
	--black: #141313;
	--half-black: rgba(20,19,19,0.5);
	--quarter-black: rgba(20,19,19,0.25);
	
	--grey: #a4a199;
	--half-grey: rgba(164,161,153,0.5);
	--quarter-grey: rgba(164,161,153,0.25);
	
	--white: #ffffff;
	--half-white: rgba(255,255,255,0.5);
	--quarter-white: rgba(255,255,255,0.25);
	
	--transparent: rgba(0,0,0,0.0);
	
	--red: red;
	--yellow: yellow;
	--green: green; 
	--pink: pink;
	--blue: blue;
	
	--trans-500: all 500ms ease 0s;
	--trans-300: all 300ms ease 0s;
	--trans-slow: all 1.5s cubic-bezier(.36,0,.3,1) 0s;
	--trans-med: all 750ms cubic-bezier(.36,0,.3,1) 0s;
	--trans-fast: all 500ms cubic-bezier(.36,0,.3,1) 0s;
	
	--work-white: url('http://t32.3fe.myftpupload.com/wp-content/themes/divi-child/resources/bsp_work-white.svg');
	--about-black: url('http://t32.3fe.myftpupload.com/wp-content/themes/divi-child/resources/bsp_about-black.svg');
	
	--blur-2: blur(2px);
	
	--halogen: 'halogen', helvetica, arial, sans-serif;
	--nimbus: 'nimbus-sans', helvetica, arial, sans-serif;
	
	--font-menu: clamp(38px, 8vw, 100px) !important;
	--font-xl: clamp(47px , 6vw , 160px) !important;
	--font-l: clamp(32px , 6vw , 80px) !important;
	--font-s: 16px !important;
	
	--slight: .8em !important;
	--normal: .9em !important;
	--wide: 1.2em !important;
	
}

::selection{
	color: var(--black);
	background: var(--white);
}


/* ------------------------------------------------------------------------- */
/* TYPOGRAPHY */
/* ------------------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6, h7{
	font-family: var(--halogen);
	font-weight: 400;
	font-style: normal;
}

body, p{
	font-family: var(--nimbus);
	font-weight: 300;
	font-style: normal;
}

strong, b{
	font-weight: 700;
}
em, i{
	font-style: italic;
}

.bsp-credits p{
	font-size: 14px !important;	
	line-height: 1.2em !important;
}

.bsp-lowercase{
	text-transform: lowercase!important;
}

.feattext h1{
	font-size: clamp(50px, 16vw, 270px) !important;
}

.et_pb_bg_layout_dark, .et_pb_bg_layout_dark h1, .et_pb_bg_layout_dark h2, .et_pb_bg_layout_dark h3, .et_pb_bg_layout_dark h4, .et_pb_bg_layout_dark h5, .et_pb_bg_layout_dark h6, .et_pb_bg_layout_dark a{
	color: var(--black) !important;
}


/* ------------------------------------------------------------------------- */
/* HEADER */
/* ------------------------------------------------------------------------- */
#bsp-main-hdr {
	position: fixed;
	top: 0;
	width: 100%;
	-webkit-transition: var(--trans-med) !important;
	-moz-transition: var(--trans-med) !important;
	-o-transition: var(--trans-med) !important;
	-ms-transition: var(--trans-med) !important;
	transition: var(--trans-med) !important;
}
/* show reveal header */
.hide-header {
	opacity: 1;
	margin-top: -200px !important;
	border-bottom: 1px solid var(--half-white);
	background-color: var(--black) !important;
}
 
.show-header {
	opacity: 1;
	margin-top: 0px !important;
	border-bottom: 1px solid var(--half-white);
	background-color: var(--black) !important;
}
 

/* ----- Header  */
.bsp-hdr{
	width: 100%;
	border-bottom: 1px solid var(--half-white);
	background-color: var(--black) !important;
	padding: 0px 0px !important;
}
.bsp-hdr-row .et_pb_column{
	display: flex;
	flex-flow: row nowrap;
	grid-gap: 15px;
	align-items: center;
}

/* logo */
.bsp-logo, .bsp-logo .cls-1, .bsp-home .home-dot, .line{
	-webkit-transition: var(--trans-med) !important;
	-moz-transition: var(--trans-med) !important;
	-o-transition: var(--trans-med) !important;
	-ms-transition: var(--trans-med) !important;
	transition: var(--trans-med) !important;
}
.bsp-logo{
	min-width: 270px;
	width: 56vw;
	max-width: 500px;
	margin: 0px !important;
	line-height: 0em !important;

}
.bsp-logo .cls-1{
	fill: var(--white) ;
}
.bsp-logo .et_pb_image_wrap {
	max-width: 768px !important;
}
@media only screen and (min-width:981px){
	.bsp-logo:hover{
		filter: var(--blur-2);
	}
}

/* dot*/
.bsp-home{
	margin: 0 0 0 auto;
}
.bsp-home .et_pb_code_inner{
	position: relative;
	min-width: 30px;
	min-height: 30px;
}
.bsp-home .home-dot{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	background: var(--black);
	border: 5px solid var(--white);
	border-radius: 50%;	
}
.bsp-home:hover .home-dot{
	width: 25px;
	height: 25px;
	border: 1px solid var(--white);
}
.bsp-home:after{
	content: 'contact';
	position: absolute;
	top: 50%;
	right: -100%;
	transform: translateY(-50%);
	transform-origin: right center;
	display: block;
	color: var(--white);
	text-transform: uppercase;
	font-size: 20px !important;	
	opacity: 0;
	transition: var(--trans-500);
}
.bsp-home:hover:after{
	opacity: 1;	
	right: calc(100% + 15px);
}


/* hamburger*/
#slide-in-open{
	cursor: pointer;
	min-width: 70px;
	width: 9vw;
	max-width: 200px;
	height: 1em;
	display: flex;
	margin: 0px !important;
	overflow: hidden;
	font-size: 20px !important;
}
#slide-in-open .et_pb_code_inner{
	width: 100%;
}
@media only screen and (min-width:981px){
	#slide-in-open:hover .line{
		filter: var(--blur-2);
	}	
}
.line{
	position: absolute;
	display: flex;
	align-items: center;
	height: 100%;
	text-align: center !important;
	opacity: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.line-3 {
	opacity: 0;
	-webkit-transform: translate(-100%);
	-moz-transform: translate(-100%);
	-o-transform: translate(-100%);
	transform: translate(-100%);
}
 
#slide-in-open.open .line{
	color: var(--white) !important;
} 
#slide-in-open.open .line-1 {
	opacity: 0;
	-webkit-transform: translate(-100%);
	-moz-transform: translate(-100%);
	-o-transform: translate(-100%);
	transform: translate(-100%);
}
 
#slide-in-open.open .line-3 {
	opacity: 1;
	-webkit-transform: translate(0);
	-moz-transform: translate(0);
	-o-transform: translate(0);
	transform: translate(0);
}
 


/* ------------------------------------------------------------------------- */
/* Navigation */
/* ------------------------------------------------------------------------- */

/* slide in menu container */
.slide-in-menu-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 100px 3vw 50px !important;
	border-right: 1px solid var(--half-white);
	-webkit-transition: var(--trans-med) !important;
	-moz-transition: var(--trans-med) !important;
	-o-transition: var(--trans-med) !important;
	-ms-transition: var(--trans-med) !important;
	transition: var(--trans-med) !important;
}
.slide-in-menu {
	right: 0 !important;
	opacity: 1 !important;
}
.slide-in-menu-container .et_pb_column{
	display: flex;
	flex-direction: column;
	align-items: center;
} 
/* ---------- menu items */
.menu-item{
	border-bottom: 1px solid var(--half-white);
	width: 78vw;
	padding: 10px ;
}
.menu-item *{
	-webkit-transition: var(--trans-500) !important;
	-moz-transition: var(--trans-500) !important;
	-o-transition: var(--trans-500) !important;
	-ms-transition: var(--trans-500) !important;
	transition: var(--trans-500) !important;
}
.menu-item h1{
	padding: 0px !important;
	font-size: var(--font-menu);
}

@media only screen and (min-width:981px){
	.menu-item:hover h1{
		transform: translate(4vw);
		color: var(--white) !important;
	}	
	.menu-item:after{
		content: '●';
		display: block;
		opacity: 0;
		position: absolute;
		top: 50%;
		left: -20px;
		transform: translateY(-50%);
		color: var(--white);
		-webkit-transition: var(--trans-fast) !important;
		-moz-transition: var(--trans-fast) !important;
		-o-transition: var(--trans-fast) !important;
		-ms-transition: var(--trans-fast) !important;
		transition: var(--trans-fast) !important;	
	}
	.menu-item:hover:after{
		opacity: 1;
		left: 0;
	}
}


/* ------------------------------------------------------------------------- */
/* BODY */
/* ------------------------------------------------------------------------- */

/* ----- Padding and Margins */
.topsecpad	{	padding: 67px 0px 50px !important;}
.secpad		{	padding: 50px 0px !important;}
.pad15		{	padding: 15px;}
.mar15		{	margin: 15px;}
.btnmar15	{	margin: 0px 15px;}
.flexsec	{	display: flex; flex-direction: column;}


/* flex vertical align */
.jw-flex-center	{display:flex;flex-direction: column;justify-content:center;}
.jw-flex-end	{display:flex;flex-direction: column;justify-content:flex-end;}
.jw-flex-start	{display:flex;flex-direction: column;justify-content:flex-start;}

/* -------- Full screen title backgrounds */
.bsp-title-bck{
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 94%;
}

/* ----- + PLUS symbol */
.bsp-plus{
	border: 1px solid var(--half-black);
	min-width: 100px;
	width: 14vw;
	max-width: 200px;
	min-height: 100px;
	height: 14vw;
	max-height: 200px;
	border-radius: 50%;
	position: relative;
}
.bsp-plus .plus{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	height: 1px;
	width: 2vw;
	background: var(--black);
}
.bsp-plus .plus-1{
	transform: translate(-50%, -50%) rotate(0deg);
}
.bsp-plus .plus-2{
	transform: translate(-50%, -50%) rotate(90deg);
}
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
#bsp-rotate:hover{
	animation: rotation 2s infinite  cubic-bezier(.36,0,.3,1);
}

/* ----- credits item */
.bsp-credits-item{
	padding-left: 150px !important;
}
.bsp-credits-item:before{
	content: '';
	display: block;
	position: absolute;
	top: 15px;
	left: 0;
	font-size: var(--font-s) !important;	
	line-height: var(--wide) !important;
}
.bsp-credits-man:before{
	content: '/ Management';
}
.bsp-credits-agent:before{
	content: '/ Agent';
}

/* global contact footer section */
.contact-ftr-sec{
	min-height: calc(100vh + 30px);
	background-color: var(--black);
}
/* on about page */
.page-id-196 .contact-ftr-sec{
	min-height: 0px !important;
	background-color: var(--grey) !important;
	border: 0px solid var(--trans) !important;
}
.page-id-196 .contact-ftr-sec *{
	color: var(--black) !important;
}
/* ------------------------------------------------------------------------- */
/* HOMEPAGE */
/* ------------------------------------------------------------------------- */

/* ----- HIDE LOGO */
.page-id-11 .bsp-logo{
	opacity: 0 !important;
}
.page-id-11 .show-header .bsp-logo{
	opacity: 0 !important;
}

/* ---------- Introduction Header */

/* ----- GRID */
.bsp-intro-hdr-row .et_pb_column{
	display: grid;
	grid-template: auto / repeat(12 , 1fr);
	grid-gap: 15px 2vw;
}

/* ----- ITEMS */
/* benoit swan pouufer */

.bsp-home-title{
	grid-row: 1 / span 1;
	grid-column: 1 / span 9;
}
.bsp-home-title h1{
	font-size: var(--font-xl) ;
	line-height: var(--slight) ;
	padding-bottom: 0px !important;
}
/* ----- STRAPLINE */
.bsp-intro-hdr-row .bsp-strapline{
	grid-row: 1 / span 1;
	grid-column: 10 / span 3;
	text-align: right !important;
	align-self: end !important;
	line-height: var(--normal);
}

/* ---------- SHOWREEL */

/* work video */
.bsp-showreel {
	border-radius: 9px !important;
	overflow: hidden !important;
	background-color: black !important;
}
@media only screen and (min-width:981px){
	.bsp-showreel .et_pb_video_overlay{
		cursor: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='128' height='128' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='m50 6c24.262 0 44 19.738 44 44s-19.738 44-44 44-44-19.738-44-44 19.738-44 44-44m0-1c-24.853 0-45 20.147-45 45s20.147 45 45 45 45-20.147 45-45-20.147-45-45-45zm-14.251 43.931h-1.3694v-9.6123h3.3724c1.2821 0 2.0171 0.18728 2.6514 0.69208 0.60548 0.49002 0.95117 1.268 0.95117 2.1903 0 0.87935-0.30274 1.5707-0.89343 2.0896-0.61956 0.54775-1.2968 0.73502-2.6085 0.73502h-2.1037v3.9053zm2.2044-5.0297c0.73502 0 1.1962-0.12954 1.5419-0.44637 0.34639-0.30274 0.53367-0.7491 0.53367-1.2539 0-0.49002-0.18728-0.93638-0.53367-1.2391-0.34569-0.31752-0.80684-0.44707-1.5419-0.44707h-2.2044v3.3865h2.2044zm6.3026 3.8335h5.0001v1.1962h-6.3695v-9.6123h1.3694v8.4162zm8.3767-1.6862-0.98003 2.8824h-1.4553l3.5308-9.6123h1.4693l3.5456 9.6123h-1.4989l-0.99411-2.8824h-3.6174zm1.8157-5.2451-1.4123 4.0926h2.8246l-1.4123-4.0926zm8.5211 8.1275h-1.3694v-3.8047l-3.6315-5.8077h1.6144l1.8876 3.1703c0.14433 0.24501 0.57661 1.0526 0.76389 1.4271 0.28795-0.57661 0.54775-1.0518 0.76389-1.4271l1.8446-3.1703h1.6137l-3.4871 5.8077v3.8047zm-44.54 4.8917c-0.14433-1.3257-0.93709-1.9741-2.3924-1.9741-1.2828 0-2.1044 0.54775-2.1044 1.3834 0 0.70616 0.5048 1.1237 1.7298 1.3975l1.5559 0.34569c1.1384 0.25979 1.7151 0.5048 2.1762 0.9223 0.5041 0.44707 0.77797 1.0955 0.77797 1.8446 0 1.8157-1.47 2.9401-3.804 2.9401-2.4937 0-3.9919-1.268-4.194-3.5737h1.4271c0.14363 1.5271 1.1525 2.3776 2.8098 2.3776 1.3834 0 2.3635-0.67729 2.3635-1.6425 0-0.72094-0.51888-1.1962-1.5278-1.4412l-2.1614-0.51888c-1.758-0.4182-2.5508-1.1962-2.5508-2.493 0-1.6862 1.3975-2.7528 3.6026-2.7528s3.3865 1.0237 3.6892 3.1851h-1.3975zm4.9192 2.2339v4.4094h-1.3694v-9.6123h1.3694v4.0067h4.8276v-4.0067h1.3687v9.6123h-1.3687v-4.4094h-4.8276zm17.341-0.33161c0 2.8676-1.9601 4.9572-4.6404 4.9572-2.7092 0-4.6404-2.0896-4.6404-5.0297 0-2.9253 1.9312-5.0149 4.6256-5.0149 2.7669 0 4.6552 2.0755 4.6552 5.0874zm-7.8832-0.07252c0 2.2776 1.3116 3.8335 3.2428 3.8335 1.9023 0 3.2421-1.5559 3.2421-3.7758 0-2.3346-1.2968-3.8765-3.2421-3.8765-1.9312 0-3.2428 1.5566-3.2428 3.8188zm11.175 4.8136-2.4494-9.6123h1.3687l1.456 6.197c0.24501 1.1525 0.27317 1.3257 0.34569 1.8735 0.02887-0.15841 0.04295-0.27387 0.05773-0.31682l0.0866-0.49002c0.05703-0.30274 0.18728-0.90822 0.21614-1.0666l1.4982-6.197h1.7151l1.5278 6.0097c0.11476 0.49002 0.34569 1.6425 0.40342 2.0607 0.12954-0.82162 0.28795-1.6432 0.38934-2.0607l1.4405-6.0097h1.3546l-2.4642 9.6123h-1.4412l-1.6714-6.5138c-0.20136-0.89343-0.31682-1.3975-0.38934-1.9023-0.08589 0.60548-0.18728 1.0807-0.38863 1.9023l-1.6144 6.5138h-1.4412zm12.155 0h-1.3694v-9.6123h3.9201c1.2532 0 1.9164 0.1732 2.5071 0.64843 0.57661 0.46115 0.87935 1.1673 0.87935 2.0326 0 1.0948-0.46115 1.8298-1.4848 2.3487 0.76389 0.34569 1.0666 0.89343 1.1384 2.0319l0.05773 0.80684c0.07252 0.9223 0.18728 1.3405 0.47594 1.7439h-1.6721c-0.11476-0.40342-0.14363-0.61956-0.21614-1.7439l-0.07181-0.70616c-0.0866-0.98003-0.63435-1.513-1.5419-1.513h-2.6226v3.9631zm2.291-5.0867c0.73502 0 1.2391-0.13025 1.6144-0.40412 0.38863-0.28795 0.63364-0.79205 0.63364-1.3398 0-0.99482-0.67729-1.5855-1.801-1.5855h-2.738v3.3294h2.291zm12.441-3.3294h-5.3747v2.8964h4.9135v1.1244h-4.9135v3.1992h5.5627v1.1962h-6.932v-9.6123h6.7441v1.1962zm8.6661 0h-5.3747v2.8964h4.9135v1.1244h-4.9135v3.1992h5.562v1.1962h-6.9313v-9.6123h6.7441v1.1962zm3.2907 7.22h5.0001v1.1962h-6.3695v-9.6123h1.3694v8.4162z'/%3E%3C/svg%3E%0A") 64 64, pointer !important;
	}
	.bsp-showreel .et_pb_video_play{
		display: none;
	}
}
.bsp-showreel .et_pb_video_play{
	font-size: 0em !important;
	line-height: 0em !important;
	margin: 0px !important;
	transform: translate(-50% , -50%) !important;
}
.bsp-showreel .et_pb_video_play:before{
	display: block !important;
	content: url('https://t32.3fe.myftpupload.com/wp-content/themes/divi-child/resources/play%20white.svg') ;
	min-width: 90px;
	width: 12vw;
	max-width: 128px;
	min-height: 90px;
	height: 12vw;
	max-height: 128px;
}

/* ---------- WORK setcion */
.bsp-hm-work-sec{
	background-image: var(--work-white);
}

/* portfolio on homepage only */
.bsp-portfolio-grid-row .et_pb_column{
	display: grid;
	grid-template: auto / repeat(3 , 1fr);
	grid-gap: 2vw;
}
.bsp-portfolio-grid-row .bsp-work-portfolio{
	grid-column: 1 / span 3;
}

/* all work link */
.all-prj-lnk-ctr, .all-prj-lnk-ctr:before, .all-prj-lnk-ctr:after{
	-webkit-transition: var(--trans-med) !important;
	-moz-transition: var(--trans-med) !important;
	-o-transition: var(--trans-med) !important;
	-ms-transition: var(--trans-med) !important;
	transition: var(--trans-med) !important;
}
.all-prj-lnk-ctr{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--black);
	border-radius: 9px;
	border: 1px solid var(--half-white);
	padding-top: calc(100% - 2px);
	grid-column: 3 / span 1;
	grid-row: 2 / span 1;		
	text-transform: uppercase;
	transform: translateY(calc(-100% - 2vw)) !important;
}
@media only screen and (min-width:981px){
	.all-prj-lnk-ctr:hover{
		background: white;
		color: var(--black) !important;
		transform: translateY(calc(-100% - 2vw)) scale(95%) !important;
		border: 1px solid var(--half-black);
	}	
}
.all-prj-lnk-ctr .et_pb_code_inner{
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}
/* all work arrow */
.all-prj-lnk-ctr:before, .all-prj-lnk-ctr:after{
	content: '';
	position: absolute;
	bottom: 30px;
	right: 30px;
}
.all-prj-lnk-ctr:before{
	border-bottom: 1px solid;
	border-right: 1px solid;
	border-color: var(--half-white);
	min-width: 75px;
	width: 6vw;
	max-width: 100px;
	min-height: 75px;
	height: 6vw;
	max-height: 100px;
}
.all-prj-lnk-ctr:after{
	min-width: 150px;
	width: 12vw;
	max-width: 200px;	
	height: 1px;
	background-color: var(--half-white);
	transform: rotate(45deg);
	transform-origin: bottom right;
}
.all-prj-lnk-ctr:hover:before{
	border-color: var(--half-black);
}
.all-prj-lnk-ctr:hover:after{
	background-color: var(--half-black);
}
/* ------------------------------------------------------------------------- */
/* ABOUT */
/* ------------------------------------------------------------------------- */
.page-id-196 .bsp-hdr{
	background-color: var(--grey) !important;
	border-bottom: 1px solid var(--half-black) !important;
}
.page-id-196 .bsp-logo .cls-1{
	fill: var(--black);
}
.page-id-196 #slide-in-open{
	color: var(--black);
}
.page-id-196 .bsp-home .home-dot{
	background: var(--grey);
	border-color: var(--black);
}
.page-id-196 #slide-in-open.open + .bsp-logo .cls-1{
	fill: var(--white);
}
.page-id-196 #slide-in-open.open ~ .bsp-home .home-dot{
	background: var(--black);
	border-color: var(--white);
}
/* contact dot*/.page-id-196 .bsp-home:after{
	color: var(--black);
}
/* --- hdr section */
.bsp-about-hdr-sec{
	background-image: var(--about-black);	
}

/* headshot row */
.bsp-headshot-row .et_pb_column{
	display: grid;
	grid-template: auto / repeat(2, 1fr);
	grid-gap: 2vw;
}

/* image 1 */ 
.bsp-headshot{
	border-radius: 9px !important;	
}
.bsp-headshot-row .et_pb_image_wrap {
	border-radius: 9px !important;	
	overflow: hidden;
}

/* get in touch row */
.bsp-getintouch-row .et_pb_column{
	display: grid;
	grid-template: auto / 4fr 5fr;
	grid-gap: 2vw;
}
.bsp-getintouch-row .et_pb_text:first-child{
	grid-column: 1 / span 1;
	grid-row: 1 / span all;
}

/* ---------- Press */
.bsp-press-grid .et_pb_ajax_pagination_container{
	display: grid;
	grid-template: auto / 1fr 1fr 1fr;
	grid-gap: 15px;
}
.bsp-press-grid .et_pb_post{
	margin: 0px !important;
}
/* iamge ratio */
.bsp-press-grid .entry-featured-image-url{
	padding-top: 60%;
	display: block;
	position: relative;
	margin-bottom: 15px !important;
	border-radius: 9px;
	overflow: hidden !important;
}
.bsp-press-grid .entry-featured-image-url img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* ------------------------------------------------------------------------- */
/* WORK */
/* ------------------------------------------------------------------------- */
.bsp-work-sec{
	background-image: var(--work-white);
}

/* ---------- Portfolio (on homepage also) */

.bsp-work-portfolio *{
	-webkit-transition: var(--trans-med) !important;
	-moz-transition: var(--trans-med) !important;
	-o-transition: var(--trans-med) !important;
	-ms-transition: var(--trans-med) !important;
	transition: var(--trans-med) !important;		
}

.bsp-work-portfolio .et_pb_ajax_pagination_container{
	display: grid;
	grid-template: auto / repeat(3 , 1fr);
	grid-gap: 2vw;
}

/* portfolio item */
.bsp-work-portfolio .et_pb_post{
	transition: var(--trans-med);
	border-radius: 9px;
	overflow: hidden;
	margin-bottom: 0px !important;
}
@media only screen and (min-width: 981px){
	.bsp-work-portfolio:hover .et_pb_post{
		transform: scale(95%);
		opacity: .96;
	}
	.bsp-work-portfolio .et_pb_post:hover{
		transform: scale(105%);
		opacity: 1;
	}	
}

/* portfolio images ratios */
.bsp-work-portfolio .entry-featured-image-url{
	display: block;
	position: relative;
	padding-top: 100%;
	border-radius: 9px;
	overflow: hidden;
	margin-bottom: 0px;
}

.bsp-work-portfolio .entry-featured-image-url img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	height: 100%;
	width: 100%;
}
/* portfolio title */
.bsp-work-portfolio .entry-title a{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: 0 !important;
	z-index: 9999999999 !important;
}
.bsp-work-portfolio h2.entry-title{
	padding: 0px !important;
}

/* portfolio credits */
.bsp-work-portfolio .post-content {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	background: var(--half-black);
	opacity: 0;
	font-family: 'nimbus-sans', helvetica, arial, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 16px !important;
	line-height: var(--normal) !important;
	padding: 30px !important;
	margin: 0px !important;
	text-transform: uppercase;
}
.bsp-work-portfolio .et_pb_post:hover .post-content {
	opacity: 1;
}
.bsp-work-portfolio .post-content .primary_credit{
	font-style: italic !important;
	margin-bottom: 1em ;
}

/* ------------------------------------------------------------------------- */
/* WORK Project Template  */
/* ------------------------------------------------------------------------- */

/* post content section */
.bsp-work-template-sec{
	border: none !important;
	border-radius: 0px !important;
	padding-top: 25px !important;
}

/* header row */
.project-template-header-row .et_pb_column{
	display: grid;
	grid-template: auto / repeat(12 , 1fr);
	grid-gap: 2vw;
}

/* Work project title */
.work-template-title{
	grid-row: 1 / span 1;
	grid-column: 1 / span 9;
}
.work-template-title h1{
	font-size: var(--font-l);
	padding-bottom: 0px !important;
	margin-bottom: 0px ;
	
}
/* Work project excerpt */
.work-template-excerpt{
	text-transform: uppercase;
	grid-row: 1 / span 1;
	grid-column: 10 / span 3;
	align-self: end;
}

/* work video */
.bsp-work-video{
	border-radius: 9px;
	overflow: hidden;
	background-color: #000000 !important;
}
@media only screen and (min-width:981px){
	.bsp-work-video .et_pb_video_overlay{
		cursor: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='m50,6.00001c24.26167,0,44,19.73831,44,44s-19.73833,43.99998-44,43.99998S6,74.26168,6,50.00001,25.73832,6.00001,50,6.00001m0-1C25.14718,5.00001,5,25.14719,5,50.00001s20.14719,44.99998,45,44.99998,45-20.14717,45-44.99998S74.85281,5.00001,50,5.00001h0Zm-18.7994,51.15907h-1.7549v-12.31814h4.32184c1.64362,0,2.58574.23985,3.39852.88647.77519.62782,1.21881,1.62483,1.21881,2.80679,0,1.12708-.38797,2.01355-1.14512,2.67822-.79399.70151-1.66242.94211-3.34288.94211h-2.69626v5.00455Zm2.82559-6.44516c.94211,0,1.5331-.16617,1.97596-.57294.44361-.38797.68346-.96016.68346-1.60678,0-.62782-.23985-1.20001-.68346-1.58798-.44286-.40602-1.03384-.57294-1.97596-.57294h-2.82559v4.34064h2.82559Zm8.07601,4.91207h6.40832v1.5331h-8.16322v-12.31814h1.7549v10.78505Zm10.73543-2.16092l-1.2564,3.69401h-1.86468l4.5241-12.31814h1.88423l4.54289,12.31814h-1.92032l-1.27445-3.69401h-4.63538Zm2.32709-6.72186l-1.81054,5.24516h3.62033l-1.80979-5.24516Zm10.92039,10.41587h-1.75415v-4.87598l-4.65417-7.44217h2.06844l2.41957,4.06319c.18421.31354.73835,1.34813.9782,1.82783.36993-.73835.70226-1.34813.97896-1.82783l2.36393-4.06319h2.06844l-4.46921,7.44217v4.87598Z'/%3E%3C/svg%3E") 64 64, pointer !important;
	}
	.bsp-work-video .et_pb_video_play{
		display: none;
	}	
}
.bsp-work-video .et_pb_video_play{
	font-size: 0em !important;
	line-height: 0em !important;
	margin: 0px !important;
	transform: translate(-50% , -50%) !important;
}
.bsp-work-video .et_pb_video_play:before{
	display: block !important;
	content: url('https://t32.3fe.myftpupload.com/wp-content/themes/divi-child/resources/play%20white.svg') ;
	min-width: 90px;
	width: 12vw;
	max-width: 128px;
	min-height: 90px;
	height: 12vw;
	max-height: 128px;
}

/* Work project title 2 */
.work-template-title-2{
	padding-top: 15px;
}
@media only screen and (min-width: 501px){
	.work-template-title-2:before{
		content: '/';
	}	
}

/* Role Credit */
.work-template-credits.role-credit{
	padding-top: 15px;
	padding-bottom: 15px;
}
.work-template-credits.role-credit p{
	font-style: italic !important;
}
@media only screen and (min-width: 501px){	
	.work-template-credits.role-credit:before{
		content: '/';
	}
}

/* ---------- Project image carousel */
.project-carousel{
	margin: 0px -3vw 0px -3vw !important;
}
.project-carousel .dp_oc_item{
	padding-top: 100%;
	display: block;
	position: relative;
}
.project-carousel .dp_oc_item img{
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	right: 0; 
	bottom: 0;
	object-fit: contain;
}
.project-carousel .owl-nav{
	position: absolute; 
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
}
.project-carousel .owl-nav .owl-next, .project-carousel .owl-nav .owl-prev {
	min-height: 75px;
	height: 6vw; 
	max-height: 100px;
	min-width: 75px;
	width: 6vw;
	max-width: 100px;
	opacity: 1 !important;
	-webkit-transition: var(--trans-fast) !important;
	-moz-transition: var(--trans-fast) !important;
	-o-transition: var(--trans-fast) !important;
	-ms-transition: var(--trans-fast) !important;
	transition: var(--trans-fast) !important;	
}
.project-carousel .owl-nav .owl-next{
	transform: rotate(45deg);
	right: 3vw !important;
	border-right: 1px solid !important;
	border-top: 1px solid !important;
	border-color: var(--half-white) !important;
}
.project-carousel .owl-nav .owl-prev{
	transform: rotate(-45deg);
	left: 3vw !important;
	border-left: 1px solid !important;
	border-top: 1px solid !important;
	border-color: var(--half-white) !important;
}
@media only screen and (min-width: 981px){
	.project-carousel .owl-nav .owl-next:hover{
		right: 2vw !important;
	}
	.project-carousel .owl-nav .owl-prev:hover{
		left: 2vw !important;
	}
}

.project-carousel .owl-nav .owl-next:before, .project-carousel .owl-nav .owl-prev:before{
	content: '' !important;
	display: block;
	position: absolute;
	top: 0;
	min-width: 150px;
	width: 12vw;
	max-width: 200px;
	height: 1px;
	background-color: var(--half-white);
	-webkit-transition: var(--trans-fast) !important;
	-moz-transition: var(--trans-fast) !important;
	-o-transition: var(--trans-fast) !important;
	-ms-transition: var(--trans-fast) !important;
	transition: var(--trans-fast) !important;	
}
.project-carousel .owl-nav .owl-prev:before{
	left: 0px;
	transform-origin: top left;
	transform: rotate(45deg);
}
.project-carousel .owl-nav .owl-next:before{
	right: 0px;
	transform-origin: top right;
	transform: rotate(-45deg);
}

/* ------ dark background */
/* plus */
.plus-dark-bk .bsp-plus{
	border: 1px solid var(--half-white);
}
.plus-dark-bk .bsp-plus .plus{
	background: var(--white);
}
.plus-dark-bk #bsp-rotate:hover{
	animation: none !important;
}
/* ------ light background */
/* plus */
.plus-light-bk #bsp-rotate:hover{
	animation: none !important;
}


/* ---------- Thumbnal Project Navigation in the footer */
/* poste item */
.work-footer-blog-navigation .owl-item{
	-webkit-transition: var(--trans-fast) !important;
	-moz-transition: var(--trans-fast) !important;
	-o-transition: var(--trans-fast) !important;
	-ms-transition: var(--trans-fast) !important;
	transition: var(--trans-fast) !important;
}
@media only screen and (min-width: 981px){
	.work-footer-blog-navigation .owl-item:hover{
		transform: scale(95%);
	}
}
/* image ratio */
.work-footer-blog-navigation .dp_oc_item a{
	position: relative;
	padding-top: 100%;
	display: block;
	border-radius: 9px !important;
	overflow: hidden;
}
.work-footer-blog-navigation .dp_oc_item img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.work-footer-blog-navigation .owl-stage-outer{
	padding-bottom: 200px;
}
/* --- arrows */
.work-footer-blog-navigation .owl-nav{
	position: absolute; 
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 12vw;
	min-height: 150px;
	max-height: 200px;
}
.work-footer-blog-navigation .owl-nav .owl-next, .work-footer-blog-navigation .owl-nav .owl-prev {
	bottom: 0;
	min-height: 75px;
	height: 6vw; 
	max-height: 100px;
	min-width: 75px;
	width: 6vw;
	max-width: 100px;
	opacity: 1 !important;
	-webkit-transition: var(--trans-fast) !important;
	-moz-transition: var(--trans-fast) !important;
	-o-transition: var(--trans-fast) !important;
	-ms-transition: var(--trans-fast) !important;
	transition: var(--trans-fast) !important;	
}
.work-footer-blog-navigation .owl-nav .owl-next{
	transform: rotate(0deg);
	right: 3vw !important;
	border-right: 1px solid !important;
	border-bottom: 1px solid !important;
	border-color: var(--half-white) !important;
}
.work-footer-blog-navigation .owl-nav .owl-prev{
	transform: rotate(-0deg);
	left: 3vw !important;
	border-left: 1px solid !important;
	border-bottom: 1px solid !important;
	border-color: var(--half-white) !important;
}
@media only screen and (min-width: 981px){
	.work-footer-blog-navigation .owl-nav .owl-next:hover, .work-footer-blog-navigation .owl-nav .owl-prev:hover{
		transform: scale(105%);
	}	
}

.work-footer-blog-navigation .owl-nav .owl-next:before, .work-footer-blog-navigation .owl-nav .owl-prev:before{
	content: '' !important;
	display: block;
	position: absolute;
	bottom: 0;
	min-width: 150px;
	width: 12vw;
	max-width: 200px;
	height: 1px;
	background-color: var(--half-white);
	-webkit-transition: var(--trans-fast) !important;
	-moz-transition: var(--trans-fast) !important;
	-o-transition: var(--trans-fast) !important;
	-ms-transition: var(--trans-fast) !important;
	transition: var(--trans-fast) !important;	
}
.work-footer-blog-navigation .owl-nav .owl-prev:before{
	left: 0px;
	transform-origin: bottom left;
	transform: rotate(-45deg);
}
.work-footer-blog-navigation .owl-nav .owl-next:before{
	right: 0px;
	transform-origin: bottom right;
	transform: rotate(45deg);
}


/* ------------------------------------------------------------------------- */
/* FOOTER */
/* ------------------------------------------------------------------------- */

/* ---------- footer */
.bsp-ftr{
	background-color: var(--black);
}
.bsp-ftr-row .et_pb_column{
	display: flex;
	flex-flow: row wrap;
	grid-gap: 2vw;
	justify-content: space-between;
}
.bsp-ftr-row .ftr-item{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.ftr-contact{
	flex: 1;
}
/* ---------- footer reveal */
#main-content .et_pb_section:last-child{
	border-bottom: 1px var(--half-white) solid ;
	border-bottom-right-radius: 30px ;
	border-bottom-left-radius: 30px ;
}

#main-content {
	margin-bottom: 260px;
	z-index: 2;
	overflow: hidden;
}

#main-footer, .et-l--footer {
    z-index: 0;
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
}

/* about footer */
.page-id-196 .bsp-ftr{
	background-color: var(--grey) !important;
}
.page-id-196 .bsp-ftr *{
	color: var(--black) !important;
}
.page-id-196 #main-content .et_pb_section:last-child{
	border-bottom: 1px var(--half-black) solid !important;
}

/* ------------------------------------------------------------------------- */
/* LINKS */
/* ------------------------------------------------------------------------- */
a:link {}
a:visited {}
a:hover {}
a:active {}

/* ------------------------------------------------------------------------- */
/* Login */
/* ------------------------------------------------------------------------- */
.tml{
	font-size:20px!important;
}
.tml-field{
	padding: .7em 1em!important;
	border: 1px solid var(--dark-grey)!important;
	background:#fff!important;
}
.tml-button{
	font-size:20px!important;
	padding: .3em 1em!important;
	background:var(--dark-grey)!important;
	border: 1px solid var(--half-white)!important;
	color:#fff!important;
}
.tml-button:hover{
	background:var(--white)!important;
	border: 1px solid var(--half-white)!important;
	color:var(--black)!important;
}

/* errors */.tml .tml-error {
	color: var(--red); 
	border: 1px solid var(--red)!important;
	text-transform: capitalize; 
	font-size: 18px;
	letter-spacing:0px;
	line-height:1.3em!important;
	box-shadow:none!important;
	padding:25px;
}

/* Success */.tml .tml-success {
	color: var(--green);
	border: 1px solid var(--green)!important;
	text-transform: capitalize; 
	font-size: 18px;
	letter-spacing:0px;
	line-height:1.3em!important;
	box-shadow:none!important;
	padding:25px!important;
}

/* message */.tml-message {
	color: var(--blue); 
	border: 1px solid var(--blue)!important;
	text-transform: capitalize; 
	font-size: 18px;
	letter-spacing:0px;
	line-height:1.3em!important;
	box-shadow:none!important;
	padding:25px!important;}

/* passwords */
#pass-strength-result.short {
    background-color: var(--red);
    border-color: var(--red);
    opacity: 1;
}
#pass-strength-result.bad {
    background-color: var(--pink);
    border-color: var(--pink);
    opacity: 1;
}
#pass-strength-result.good {
    background-color: var(--yellow);
    border-color: var(--yellow);
    opacity: 1;
}
#pass-strength-result.strong {
    background-color: var(--green);
    border-color: var(--green);
    opacity: 1;
}
/* ------------------------------------------------------------------------- */
/* COOKIES */
/* ------------------------------------------------------------------------- */
.cky-consent-container{
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-top : 1px solid var(--half-white) !important;
	border-radius: 30px 30px 0 0 !important;
	background-color: var(--black) !important;
}
.cky-consent-bar{
	padding: 15px 3vw !important;
	box-shadow: none !important;
	background-color: var(--transparent) !important;
	border-color: var(--transparent) !important;
	display: flex;
    flex-direction: row;
    justify-content: center;
}
.cky-notice-group{
	grid-gap: 15px !important;
}
.cky-notice .cky-title{
	display: none !important;
}
.cky-notice-btn-wrapper{
	grid-gap: 8px !important;
	margin: 0px !important;
}
.cky-notice-btn-wrapper .cky-btn{
	border: 1px solid var(--half-white) !important;
	border-radius: 25px !important;
	text-transform: uppercase !important;
	margin: 0px !important;
}
/* ------------------------------------------------------------------------- */
/* Preloader */
/* ------------------------------------------------------------------------- */
.preloader-plus .preloader-custom-img{
	min-width: 128px !important;
	width: 20vw !important;
}

/* on about page only */
.page-id-196 .preloader-plus {
    background-color: var(--grey) !important;
}
.page-id-196 .preloader-content img{
	content: url('https://t32.3fe.myftpupload.com/wp-content/themes/divi-child/resources/bsp-preloader.svg') !important;
}


/* ------------------------------------------------------------------------- */
/* MOBILE */
/* ------------------------------------------------------------------------- */
@media only screen and (max-width: 1500px){
	/* portfolio on homepage only */
	.bsp-portfolio-grid-row .et_pb_column{
		display: grid;
		grid-template: auto / repeat(2 , 1fr);
		grid-gap: 2vw;
	}
	.bsp-portfolio-grid-row .bsp-work-portfolio{
		grid-column: 1 / span 2;
	}
	/* general work portfolio */
	.bsp-work-portfolio .et_pb_ajax_pagination_container{
		grid-template: auto / repeat(2 , 1fr);
	}	
	/* all work link */
	.all-prj-lnk-ctr{
		grid-column: 2 / span 1;
	}
}
@media only screen and (max-width: 980px){
	/* BODY */
	.topsecpad	{	padding: 61px 0px 50px !important;}

	/* ---------- Press */
	.bsp-press-grid .et_pb_ajax_pagination_container{
		grid-template: auto / 1fr 1fr;
	}
}

@media only screen and (max-width: 768px){
	/* BODY */
	.bsp-title-bck{
		background-attachment: unset;
		background-position: 50% 15vh;
	}
	/* portfolio on homepage only */
	.bsp-portfolio-grid-row .et_pb_column{
		display: grid;
		grid-template: auto / repeat(1 , 1fr);
		grid-gap: 2vw;
	}
	.bsp-portfolio-grid-row .bsp-work-portfolio{
		grid-column: 1 / span 1;
	}
	/* general work portfolio */
	.bsp-work-portfolio .et_pb_ajax_pagination_container{
		grid-template: auto / repeat(1 , 1fr);
	}	
	/* all work link */
	.all-prj-lnk-ctr{
		grid-column: 1 / span 1;
		transform: translateY(0px) !important;
	}
	/* portfolio credits */
	.bsp-work-portfolio .post-content {
		justify-content: flex-end;
		text-align: left;
		background: var(--transparent);
		opacity: 1 !important;
	}
}

@media only screen and (max-width: 767px){
	/* BODY */
	.topsecpad	{	padding: 50px 0px 50px !important;
	}

	/* ---------- Header */
	.bsp-hdr-row .et_pb_column{
		flex-flow: row-reverse nowrap;
	}
	/* wordmark logo */
	.bsp-logo{
		margin: 0px auto 0px 0px !important;
	}
	/* hamburger*/
	#slide-in-open{
		font-size: 14px !important;
		min-width: 50px !important;
	}
	.line{
		justify-content: flex-end;
	}
	/* dot*/
	.bsp-home{
		display: none !important;
	}
	/* ---------- HOMEPAGE */
	.bsp-intro-hdr-row .et_pb_column {
		grid-template: auto / 1fr;
		grid-gap: 0px;
	}
	.bsp-home-title {
		grid-row: 1 / span 1;
		grid-column: 1 / span 1;
	}
	.bsp-intro-hdr-row .bsp-strapline {
		grid-row: 2 / span 1;
		grid-column: 1 / span 1;
		text-align: right !important;
		align-self: end !important;
		line-height: var(--normal);
	}
	/* Contact section */
	.bsp-getintouch-row .et_pb_column {
		grid-template: auto / auto;
	}
	.bsp-getintouch-row .et_pb_text:first-child {
		grid-column: 1 / span 1;
		grid-row: 1 / span 1;
	}
	.bsp-credits-item:before {
		left: 15px !important;
	}
	/* ---------- ABOUT */
	.bsp-headshot-row .et_pb_column {
		grid-template: auto / 1fr;
	}
	/* ---------- WORK PROJECT TEMPLATE */
	.project-template-header-row .et_pb_column {
		grid-template: auto / 1fr !important;
		grid-gap: 0px !important;
	}
	.work-template-title {
		grid-row: auto / span 1;
		grid-column: auto / span 1;
	}
	.work-template-excerpt {
		grid-row: auto / span 1;
		grid-column: auto / span 1;
	}
	/* plus */
	.plus-dark-bk{
		margin-bottom: 50px !important;
	}
}

@media only screen and (max-width: 600px){
	/* BODY */
	.topsecpad	{	padding: 45px 0px 50px !important;
	}
	.bsp-title-bck{
		background-position: 50% 15vh;
	}
	/* NAVIGATION */
	.menu-item {
		width: 100%;
	}
	/* footer */
	.ftr-copyright{
		order: 3;
		flex-basis: 100%;
		border-top: 1px solid var(--quarter-white);
	}
	.page-id-196 .ftr-copyright{
		border-top: 1px solid var(--quarter-black);
	}
	/* work project template */
	/* project image carousel */
	.project-carousel .owl-nav .owl-prev{
		left: 6vw !important;
	}
	.project-carousel .owl-nav .owl-next{
		right: 6vw !important;
	}
	
	/* ---------- Press */
	.bsp-press-grid .et_pb_ajax_pagination_container{
		grid-template: auto / 1fr;
	}
}
@media only screen and (max-width: 500px){
	/* Contact section */
	/* ----- credits item */
	.bsp-credits-item{
		padding-left: 15px !important;
	}
	.bsp-credits-item:before{
		top: -.2em;
	}
	/* --- work project template */
	/* project image carousel */
	.owl-carousel .owl-stage-outer{
		padding-top: 25px !important;
	}
}
