/*
 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: #000000;
	--half-black: rgba(0,0,0,0.5);
	--quarter-black: rgba(0,0,0,0.25);
	--dark-grey: #1f1f1f;
	--white: #fbfbfb;
	--half-white: rgba(255,255,255,0.5);
	--quarter-white: rgba(255,255,255,0.25);
	--red: red;
	--yellow: yellow;
	--green: green; 
	--pink: pink;
	--blue: blue;
	--trans: rgba(0,0,0,0.0);
	
	--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 1s cubic-bezier(.36,0,.3,1) 0s;
	--trans-fast: all 500ms cubic-bezier(.36,0,.3,1) 0s;
	--trans-menu: all 2s cubic-bezier(.36,0,.3,1) 0ms;
	
	--primary-font: 'aktiv-grotesk', arial, helvetica, sans-serif;
	--regular: 400;
	--bold: 700;
	--font-xl: clamp(40px, 14vw, 200px);
	--font-l: clamp(40px, 9vw, 180px);
	--font-m: clamp(26px, 3.5vw, 40px);
	--font-s: 26px;
	--lineheight-normal: 1em ;
}


::selection{
	color: #ff365f;
	background: #6e0014;
}

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


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

body, p{
	font-family: var(--primary-font);
	font-weight: var(--regular);
	font-style: normal;
	letter-spacing: -.025em !important;
	font-size: var(--font-m) ;
	line-height: var(--lineheight-normal);
}

strong, b{
	font-weight: var(--bold);
	font-style: normal;
}
em, i{
	font-style: italic;
}


/* ------------------------------------------------------------------------- */
/* HEADER */
/* ------------------------------------------------------------------------- */
/* ----- header section */
.jwd-hdr-sec{
	position:fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100% !important;
	max-width: 100% !important;
	background-color: var(--trans);
}
/* hide and reveal header */
.hide-header {
	opacity: 1;
	margin-top: 0px !important;
}
.show-header {
	opacity: 1;
	margin-top: 0px !important;
}
#global-header-section {
	background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 95%) !important;
	-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;
}

/* ----- header row */
.jwd-hdr-row .et_pb_column{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
/* logo */
.jwd-logo{
	min-width: 150px;
	width: 60vw;
	max-width: 300px;
}
.jwd-logo p{
	font-size: var(--font-s) !important;
}

/* hamburger */
#slide-in-open .et_pb_code_inner{
	width: 35px;
	height: 35px;
	cursor: pointer;
	margin: 0px !important;
}

.line{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50% , -50%) rotate(0deg);
	-moz-transform: translate(-50% , -50%) rotate(0deg);
	-o-transform: translate(-50% , -50%) rotate(0deg);
	transform: translate(-50% , -50%) rotate(0deg);
	display: block;
	height: 1px;
	width: 100%;
	background: var(--white);
	opacity: 1;
	-webkit-transition: var(--trans-med);
	-moz-transition: var(--trans-med);
	-o-transition: var(--trans-med);
	transition: var(--trans-med);
}
.line-1{
	margin: 0px !important;
}
.line-2{
	margin: 0px !important;
	-webkit-transform: translate(-50% , -50%) rotate(90deg);
	-moz-transform: translate(-50% , -50%) rotate(90deg);
	-o-transform: translate(-50% , -50%) rotate(90deg);
	transform: translate(-50% , -50%) rotate(90deg);
}

#slide-in-open.open .line-1 {
	margin-bottom: 0px;
	-webkit-transform: translate(-50% , -50%) rotate(45deg);
	-moz-transform: translate(-50% , -50%) rotate(45deg);
	-o-transform: translate(-50% , -50%) rotate(45deg);
	transform: translate(-50% , -50%) rotate(45deg);
}
#slide-in-open.open .line-2 {
	margin-top: 0px;
	-webkit-transform: translate(-50% , -50%) rotate(135deg);
	-moz-transform: translate(-50% , -50%) rotate(135deg);
	-o-transform: translate(-50% , -50%) rotate(135deg);
	transform: translate(-50% , -50%) rotate(135deg);
}

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

/* slide in menu container */
.slide-in-menu {
	right: 0 !important;
	opacity: 1 !important;
}

.slide-in-menu-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background-color: var(--black);
	max-width: 100% !important;
	padding: 150px 1vw 50px !important;
	-webkit-transition: var(--trans-slow) !important;
	-moz-transition: var(--trans-slow) !important;
	-o-transition: var(--trans-slow) !important;
	-ms-transition: var(--trans-slow) !important;
	transition: var(--trans-slow) !important;
}
@media only screen and (max-width: 600px){
	.slide-in-menu-container {
		padding: 150px 1vw 120px !important;
	}
}
.menu-items p {
	-webkit-transition: var(--trans-menu) !important;
	-moz-transition: var(--trans-menu) !important;
	-o-transition: var(--trans-menu) !important;
	-ms-transition: var(--trans-menu) !important;
	transition: var(--trans-menu) !important;
}
.menu-items a, .menu-items a:before{
	-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-items a{
	position: relative !important;
	padding-right: 5px ;
	font-size: var(--font-l) !important;
	line-height: var(--lineheight-normal) !important;
}

.menu-items a:before{
	content: '';
	display: block;
	position: absolute;
	bottom: calc(0px + .175em) ;
	left: 0px;
	right: 100%;
	height: 1em ;
	background-color: var(--white);
	mix-blend-mode: difference ;
}
@media only screen and (min-width: 981px){
	.menu-items a:hover:before{
		left: 0px;
		right: 0%;
	}
}

/* Menu Items transition in */
.menu-items p{
	padding-bottom: 0px !important;
}
.menu-items p:nth-child(1){
	transform: translateX(70vw);
}
.menu-items p:nth-child(2){
	transform: translateX(60vw);
}
.menu-items p:nth-child(3){
	transform: translateX(50vw);
}
.menu-items p:nth-child(4){
	transform: translateX(40vw);
}
.menu-items p:nth-child(5){
	transform: translateX(30vw);
}
.menu-items p:nth-child(6){
	transform: translateX(20vw);
}
.menu-items p:nth-child(7){
	transform: translateX(10vw);
}

.slide-in-menu .menu-items p{
	transform: translateX(0vw);
}


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

/* ----- Padding and Margins */
.secpad:first-of-type	{	padding: 100px 0px 50px !important;}
.secpad		{	
	padding: 50px 0px !important;
	background-color: var(--black);
}
.txtpad		{	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;}

/* ------------------------------------------------------------------------- */
/* HOME */
/* ------------------------------------------------------------------------- */
/* grid */
.page-id-4 .secpad{
	margin-top: 100vh !important;
}
.rb-portfolio .et_pb_ajax_pagination_container{
	display: grid;
	grid-template: auto / 1fr 1fr 1fr;
	grid-gap: 2vw;
}
/* post item */
.rb-portfolio .et_pb_post{
	margin: 0px !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;
}
/* entry title */
.rb-portfolio .entry-title{
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	font-size: var(--font-s);
	padding: 15px ;
	text-transform: uppercase;
	opacity: 0;
}
/* post content */
.rb-portfolio .post-content{
	display: none !important;
}
/* featured image */
.rb-portfolio .entry-featured-image-url{
	position: relative;
	padding-top: 56.25%;
	display: block;
	margin: 0px !important;
}
.rb-portfolio .entry-featured-image-url img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (min-width: 981px){
	/* on hover */
	.rb-portfolio .et_pb_post:hover .entry-title{
		opacity: 1;
	}
	.rb-portfolio .et_pb_ajax_pagination_container:hover .et_pb_post{
		transform: scale(.9);
	}
	.rb-portfolio .et_pb_post:hover{
		transform: scale(1.04) !important;
	}
}
@media only screen and (max-width: 980px){
	.rb-portfolio .et_pb_ajax_pagination_container{
		grid-template: auto / 1fr 1fr;
	}
	.rb-portfolio .entry-title {
		position: relative;
		bottom: unset;
		left: unset;
		padding: 15px 0px;
		opacity: 1 !important;
	}
}
@media only screen and (max-width: 600px){
	.rb-portfolio .et_pb_ajax_pagination_container{
		grid-template: auto / 1fr;
	}
}

/* ------------------------------------------------------------------------- */
/* Video modules */
/* ------------------------------------------------------------------------- */

/* video section */
.home-masthead-sec, .rb-video-sec{
	overflow: hidden !important;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
}

/* video module */
.home-masthead .et_pb_code_inner{
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100vh;
}
.home-masthead .fluid-width-video-wrapper{
		height: 100% !important;
		position: absolute !important;
		width: 1000% !important;
		padding: 0px 0px 57% 0px !important;
}
@media only screen and (min-width: 981px){
	.rb-video .et_pb_video_box {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100vh;
	}
	.rb-video .fluid-width-video-wrapper {
		height: 100% !important;
		position: absolute !important;
		width: 1000% !important;
		padding: 0px 0px 57% 0px !important;
	}
}
@media only screen and (max-width: 980px){
	.rb-video-sec{
		position: relative;
	}
}
@media only screen and (max-width: 980px){
	.rb-video-sec{
		display: flex;
		flex-direction: column;
		justify-content: center;
		background: black;
		min-height: 100vh;
	}
}


/* play buton */
.rb-video .et_pb_video_play{
	transform: translate(-50%, -50%);
    margin: 0px !important;
}
.rb-video .et_pb_video_play:before{
    content: url(https://83j.03a.myftpupload.com/wp-content/themes/divi-child/resources/play.svg);
    display: block;
    width: 50px;
    height: 50px;
    line-height: 0em !important;
    margin: 0px !important;
}


/* ------------------------------------------------------------------------- */
/* Post Templates */
/* ------------------------------------------------------------------------- */

/* all video link on last project only */
.all-video-link {
	padding-bottom: 150px !important;
	h1{
		font-size: var(--font-l) !important;
		line-height: var(--lineheight-normal);
	}
}
.all-video-link:not(.postid-60 .all-video-link){
	display: none !important;
}

/* footer navigation section */
.rb-post-footer-nav-sec{
	padding-top: 50px !important;
	overflow: hidden !important;
}
/* next previous visibility*/
.rb-post-nav #post-nav-next{
	display : none !important;
}
.postid-52 .rb-post-nav #post-nav-next{
	display : grid !important;
}

/* post footer nav section */
.rb-post-footer-nav-sec{
	margin-top: 100vh;
	z-index: 999999 !important;
}
@media only screen and (max-width: 980px){
	.rb-post-footer-nav-sec{
		margin-top: 0vh;
	}
}
@media only screen and (max-width: 600px){
	.rb-post-footer-nav-sec{
		margin-top: 0vh;
	}
}

/* shortcode */
.rb-post-nav .wp-post-nav-shortcode{
	display: block !important;
	background-color: white;
	margin: 0px !important;
}
/* post navigation and grid*/
.rb-post-nav #post-nav-next, .rb-post-nav #post-nav-previous{
	position: relative !important;
	display: grid;
	grid-template: auto / 1fr 2fr;
	grid-template-areas:
		". image"
		;
	padding: 0px !important;
	line-height: 1em !important;
}

/* Next Text */
.rb-post-nav h4{
	display: none !important;
}

/* bullets */
.rb-post-nav ul{
	list-style-type: none !important;
}
.rb-post-nav .post-nav-title:before{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.rb-post-nav #post-nav-next .post-nav-title:before{
	content: 'PREVIOUS';
}
.rb-post-nav #post-nav-previous .post-nav-title:before{
	content: 'NEXT';
}

/* image */
.rb-post-nav .post-nav-image{
	padding-top: 56.25%;
	display: block;
	position: relative;
	grid-area: image;
	overflow: hidden !important;
}
.rb-post-nav .post-nav-image img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	height: 100%;
	width: 100%;
	transform: scale(1.05);
}

/* Title */
.rb-post-nav .post-nav-title{
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 1em !important;
	font-size: var(--font-l);
	line-height: var(--lineheight-normal);
	z-index: 999999!important;
	mix-blend-mode: difference !important;
	grid-column: 1 / span 2;
	grid-row: 1 / span 2;
}

/* arrow */
.rb-post-nav hr {
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%) rotate(225deg);
    height: 100px;
    width: 100px;
    border-left: 2px solid white;
    border-bottom: 2px solid white;
    border-top: none !important;
    border-right: none !important;
    mix-blend-mode: difference;
}
/* transitions */
.rb-post-nav hr, .rb-post-nav .post-nav-image img{
	-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){
	/* on hover */
	.rb-post-nav:hover .post-nav-image img{
		transform: scale(1);
	}
	.rb-post-nav:hover hr{
		right: 40px;
	}
}
@media only screen and (max-width: 600px){
	.rb-post-nav #post-nav-previous {
		position: relative !important;
		grid-template: auto / 1fr;
		grid-template-areas:
			"."
			"image";
		grid-gap: 30px 0px;
	}
	.rb-post-nav .post-nav-title {
		grid-column: 1 / span 1;
		grid-row: 1 / span 1;
	}
	.rb-post-nav hr {
		position: relative !important;
	}
	.wp-post-nav-shortcode hr {
		margin: 5px 15px;
	}
}




/* ------------------------------------------------------------------------- */
/* Writings */
/* ------------------------------------------------------------------------- */

.rb-writing {
	/* grid */
	.et_pb_ajax_pagintion_container{
		display: grid;
	}
	/* post item */
	.et_pb_post{
		margin-bottom: 0px !important;
		border-bottom: 1px solid var(--half-white);
	}
	
	/* links on hover */
	.entry-title{
		padding-bottom: 0px !important;
	}
	.entry-title a, .entry-title a:before{
		-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;
	}
	.entry-title a{
		position: relative !important;
		display: block;
		padding: 10px 5px 10px 0px ;
		font-size: var(--font-m) !important;
		line-height: var(--lineheight-normal) !important;
	}
	.entry-title a:before{
		content: '';
		display: block;
		position: absolute;
		top: 50% ;
		left: 0px;
		right: 100%;
		height: 100% ;
		background-color: var(--white);
		mix-blend-mode: difference ;
		transform: translateY(-50%);
	}
	@media only screen and (min-width: 981px){
		.entry-title a:hover:before{
			left: 0px;
			right: 0%;
		}
	}
}

/* ------------------------------------------------------------------------- */
/* Blog Post Template */
/* ------------------------------------------------------------------------- */

.rb-blog-post-template{
	h1{
		font-size: var(--font-l);
	}
	h2{
		font-size: calc(var(--font-m) + 30px);
	}
	h3{
		font-size: calc(var(--font-m) + 15px);
	}
}

/* ------------------------------------------------------------------------- */
/* LINKS */
/* ------------------------------------------------------------------------- */
a:hover:not(.menu-items a, .rb-post-nav a, .rb-portfolio a, .rb-video a, .rb-writing a) {
	text-decoration: underline;
}
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(--dark-grey)!important;
	color:#fff!important;
}
.tml-button:hover{
	background:#fff!important;
	border: 1px solid var(--dark-grey)!important;
	color:var(--dark-grey)!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 Notice */
/* ------------------------------------------------------------------------- */
.cky-box-bottom-right {
    bottom: 2vw !important;
    right: 2vw !important;
}
.cky-consent-container {
    width: 300px !important;
    border-radius: 0px !important;
}
@media only screen and (max-width: 500px){
	.cky-consent-container {
		width: 96% !important;
	}
}
.cky-consent-container .cky-consent-bar {
    border: 1px solid var(--half-white) !important;
    padding: 15px !important;
    box-shadow: none !important;
    border-radius: 0px !important;
}
.cky-notice .cky-title {
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1em !important;
    margin: 0px !important;
}
.cky-notice-btn-wrapper{
	padding: 0px !important;
}
.cky-btn {
    font-size: 12px !important;
    line-height: 1em !important;
    padding: 5px !important;
    font-weight: 400 !important;
    border: 1px solid var(--half-white) !important;
}










