/*
Theme Name: Johans
Version: 1.0
Description: Our wordpress theme
Author: Johan Öhrvall
*/

:root {
	
	--font-family-1: "futura-pt", helvetica, arial, sans-serif;
	--font-family-2: georgia, serif;
	
	--font-size-body: 21px;
	--font-size-s: calc( var(--font-size-body) - 5px );
	--font-size-1: calc( var(--font-size-body) * 1.62 * 1.62 );
	--font-size-2: calc( var(--font-size-body) * 1.62 );
	--font-size-3: var(--font-size-body);
	
	--main-gradient: linear-gradient(to top right, #fea309, #fe4787, #c057f5);
	--color-1: #DB0842;
	--color-2: #DB0842;
	--color-3: #DB0842;
	--color-4: #DB0842;
	--color-dark: #17213A;
	--color-light: #DB0842;
	--color-white: #f5f5f4;
	
	--distance-base: 17px;
	--distance-1: var(--distance-base);
	--distance-2: calc( var(--distance-base) * 1.62  );
	--distance-3: calc( var(--distance-base) * 1.62 * 1.62 );
	--distance-4: calc( var(--distance-base) * 1.62 * 1.62 * 1.62 );
	--distance-s: calc( var(--distance-base) / 1.62 );
	--distance-xs: calc( var(--distance-base) / 1.62 / 1.62 );
	--distance-grid: var(--distance-s);
	--distance-inner-padding: var(--distance-2);
}

/* general */
html, body{
	margin: 0;
	padding: 0;
	font-family: var(--font-family-1);
	font-size: var(--font-size-body);
}
body{
	
}

h1{
	font-size: var(--font-size-1);	
}
h2{
	font-size: var(--font-size-2);
}
h3{
	font-size: var(--font-size-3);		
}
h4, h5, h6{
	font-size: var(--font-size-body);		
}
h1 span,
h2 span,
h3 span{
	font-weight: normal;
}

a{
	color: var(--color-2);
	text-decoration: none;
}

i{
	font-family: 'fontawesome' !important;
}
hr{
	border: none;
	border-top: 1px solid var(--color-1);
}

.btn,
button,
.wc-proceed-to-checkout a{
	color: var(--color-light);
	color: #fff;
	background: var(--color-2);
	display: inline-block;
	padding: var(--distance-s) var(--distance-2);
	border: none;
	border-radius: 5px;
	font-size: var(--font-size-base);
}
.aligncenter{
	text-align: center;
}
.light,
.light *{
	color: var(--color-white);	
}

.inner{
	position: relative;
	display: block;
	margin: 0 auto;
	width: 90%;
	max-width: 720px;
}
.center{
	text-align: center;
}
.module{
	position: relative;
	display: block;
	margin: 0 auto;
	width: 100%;	
}
*[split="1"],
*[split="2"],
*[split="3"],
*[split="4"],
*[split="5"],
*[split="6"]{
	overflow: hidden;
	display: block;
	position: relative;
	overflow: hidden;
	width: calc(100% - var(--distance-inner-padding) - var(--distance-inner-padding));
	padding: var(--distance-inner-padding);
}
*[split="1"] > *{
	margin: var(--distance-grid);
	float: left;
	height: auto;
	width: calc(100% - var(--distance-grid) - var(--distance-grid) - var(--distance-inner-padding) - var(--distance-inner-padding));
	text-align: center;
	padding: var(--distance-inner-padding);
}
*[split="2"] > *{
	margin: var(--distance-grid);
	float: left;
	height: auto;
	width: calc(50% - var(--distance-grid) - var(--distance-grid) - var(--distance-inner-padding) - var(--distance-inner-padding));
	text-align: center;
	padding: var(--distance-inner-padding);	
}
*[split="2"] > *:nth-child(2n+3){
	clear: left;
}
*[split="3"] > *{
	margin: var(--distance-grid);
	float: left;
	height: auto;
	width: calc(33.333% - var(--distance-grid) - var(--distance-grid) - var(--distance-inner-padding) - var(--distance-inner-padding));
	text-align: center;
	padding: var(--distance-inner-padding);	
}
*[split="3"] > *:nth-child(3n+4){
	clear: left;
}
*[split="4"] > *{
	margin: var(--distance-grid);
	float: left;
	height: auto;
	width: calc(25% - var(--distance-grid) - var(--distance-grid) - var(--distance-inner-padding) - var(--distance-inner-padding));
	text-align: center;
	padding: var(--distance-inner-padding);	
}
*[split="4"] > *:nth-child(4n+5){
	clear: left;
}
*[split="5"] > *{
	margin: var(--distance-grid);
	float: left;
	height: auto;
	width: calc(20% - var(--distance-grid) - var(--distance-grid) - var(--distance-inner-padding) - var(--distance-inner-padding));
	text-align: center;
	padding: var(--distance-inner-padding);	
}
*[split="5"] > *:nth-child(5n+6){
	clear: left;
}
*[split="6"] > *{
	margin: var(--distance-grid);
	float: left;
	height: auto;
	width: calc(16.666% - var(--distance-grid) - var(--distance-grid) - var(--distance-inner-padding) - var(--distance-inner-padding));
	text-align: center;
	padding: var(--distance-inner-padding);	
}
*[split="6"] > *:nth-child(6n+7){
	clear: left;
}

/* header */
#header{
	position: fixed;
	top: 0;
	left: 0px;
	right: 0px;
	z-index: 5000;
	background: var(--color-1);
	height: auto;
}
#header .inner{
	max-width: calc(100% - var(--distance-2) - var(--distance-2));
	width: calc(100% - var(--distance-2) - var(--distance-2));
	position: relative;
	display: block;
	height: 100%;
}
.home #header,
.page-template-page-about #header{
	background: transparent;
	-webkit-transition: all 0.20s ease-in-out;
	transition: all 0.20s ease-in-out;	
}
.home #header.scrolled{
	background: var(--color-1);
}
#logo{
	position: relative;
	display: inline-block;
	padding: var(--distance-s) 0;
}
#logo img{
	height: 100%;
	width: auto;
}
#logo,
#header.scrolled #logo{
	height: 37px;
}
.home #logo,
.page-template-page-about #logo{
	height: var(--distance-4);
	-webkit-transition: all 0.20s ease-in-out;
	transition: all 0.20s ease-in-out;
}
#menu-btn{
	display: none;
	-webkit-transition: all 0.20s ease-in-out;
	transition: all 0.20s ease-in-out;
}
#menu{
	float: right;
}
#menu ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
#menu ul li{
	position: relative;
	display: inline-block;
	margin-left: var(--distance-1);
}
#menu ul li a{
	padding: var(--distance-1) 0;
	display: block;
	color: #fff;
	font-weight: bold;
}
#menu > ul > li > ul{
	position: absolute;
	top: 40px;
	left: calc(0px - var(--distance-1));
	width: 160px;
	padding-bottom: var(--distance-s);
	padding-top: var(--distance-xs);
	background: var(--color-1);
	display: none;
}
#menu ul ul li{
	display: block;
	width: 100%;
	margin: 0;
}
#menu ul ul li a{
	padding-left: var(--distance-1);
	padding-right: var(--distance-1);
}
#menu ul li:hover > ul{
	display: block;
}

#menu ul ul ul li a{
	padding-left: var(--distance-2);
	padding-top: var(--distance-xs);
	padding-bottom: var(--distance-xs);
}
#menu ul ul ul li a:before{
	content: '•';
	margin-right: var(--distance-xs);
}

.home .scrolled #menu ul li a{
	color: #fff;
	font-weight: 600;
}

/* footer */
#footer{
	background: var(--color-1);
	color: #fff;
	overflow: hidden;
	padding: 60px 0;
	width: 100%;
	clear: both;
	text-align: center;
}
#footer .inner{
	width: calc( 100% - var(--distance-inner-padding) - var(--distance-inner-padding) );
	max-width: calc( 100% - var(--distance-inner-padding) - var(--distance-inner-padding) );
}
#footer-logo{
	width: auto;
	height: 140px;
	margin: 0 50px;
}
#footer .inner > *{
	display: inline-block;
	vertical-align: top;
}
#footer .inner > *:first-child{
	text-align: left;
}
#footer .inner > *:last-child{
	text-align: right;
}
#footer a{
	color: #fff;
}
#footer p:first-child{
	margin-top: 0;
}

/* 404 */
#error404{
	padding-top: var(--distance-4);
	padding-bottom: var(--distance-4);
}

/* Index / Blog */
#blog{
	padding: var(--distance-3) 0 var(--distance-4) 0;
}
#blog article{
	padding-bottom:  var(--distance-1);
	margin-bottom:  var(--distance-1);
	border-bottom: 1px solid var(--color-1);
}
#pagination{
	padding: var(--distance-1) 0;	
}
#pagination a{
	color: var(--color-light);
	background: var(--color-2);
	display: inline-block;
	padding: var(--distance-1);
	border: none;
	border-radius: 5px;
	font-size: var(--font-size-base);
}

/* Page */
#page-content{
	padding: var(--distance-4) 0 var(--distance-4) 0;
	overflow: hidden;
}

/* Home */
#fold{
	height: 620px;
	width: 100%;
	position: relative;
	display: block;
	overflow: hidden;
}
#fold video{
	  width: 100%;
	  height: 100%;
	  position: absolute;
	  object-fit: cover;
	  z-index: 0;
}
#fold-content{
	z-index: 10;
	position: relative;
	display: block;
	text-align: left;
	width: 90%;
	max-width: 520px;
	margin: 200px auto 0 auto;
	color: #fff;
	padding-right: 340px;
	padding-right: 0px;
}
#fold-content h1{
	margin-left: 0px;
	opacity: 1;	
	transition: all 0.50s ease-in-out;
}
#fold-content h1.hidden{
	opacity: 0;	
}
#fold-content h1 span{
	font-weight: bold;
	color: #fff;
	background: var(--color-1);
	background: rgba(219,8,66,0.8);
	padding: 0 16px 6px 16px;
}
#fold-content p{
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	margin-left: 0px;
	opacity: 1;	
	transition: all 0.50s ease-in-out;
	max-width: 460px;
}
#fold-content p.hidden{
	opacity: 0;		
}
#fold-content p span{
	font-weight: bold;
	color: #fff;
	background: var(--color-1);
	background: rgba(219,8,66,0.8);
	padding: 2px 6px 4px 6px;
	text-shadow: none;
	position: relative;
	top: 1px;
}
#fold-content a{
	margin-left: 0px;
	opacity: 1;	
	transition: all 0.50s ease-in-out;
}
#fold-content a.hidden{
	opacity: 0;		
}
#fold-content img{
	position: absolute;
	top: -17px;
	right: 0;
	height: 526px;
	opacity: 1;
	transition: all 0.50s ease-in-out;
}
#fold-content img.hidden{
	top: 200px;
	opacity: 0;
}
.trips{
	padding: 0 var(--distance-1);
	width: calc(100% - var(--distance-1) - var(--distance-1));
	height: 80px;
	overflow: hidden;
	position: relative;
	display: block;
	background: #fff;
}
.trips > div{
	overflow: hidden;
	max-width: 920px;
}
.trips > div > div{
	width: 200%;
	height: 100%;
	overflow: hidden;
	position: relative;
	display: block;
}
.trip{
	width: calc(16.6666666667% - var(--distance-1) - var(--distance-1) - var(--distance-1) - var(--distance-1));
	width: auto;
	padding: var(--distance-1);
	float: left;
	transition: all 0.30s ease-in-out;
	margin: 0 var(--distance-1);
	height: 100%;
	color: var(--color-light);
}
.trip h4{
	white-space: nowrap;
	text-overflow: clip;
	margin: 0 0 0 0;
}
.trip a{
	display: block;
	color: var(--color-dark);
}
.trip{
	text-align: center;
	line-height: 2;
	width: calc(16.666% - var(--distance-1) - var(--distance-1) - var(--distance-1) - var(--distance-1));
}
.trip i{
	border: 1px solid var(--color-light);
	border-radius: 100px;
	height: 40px;
	width: 40px;
	display: inline-block;
	text-align: center;
	line-height: 1.9;
	margin-right: 10px;
	transition: all 0.30s ease-in-out;
}
.trip:hover,
.trip:hover *{
	color: var(--color-1);
}
#what{
	background: var(--color-white);
	position: relative;
	z-index: 0;
}
#what > *:first-child{
	height: 400px;
	overflow: hidden;
	display: block;
	position: relative;
}
#what .calc-margin-top{
	top: -48px;
	position: relative;
}
#ljung{
	background: var(--color-white);
	position: relative;
	z-index: -20;
}
#ljung > *:last-child{
	height: 400px;
	overflow: hidden;
	display: block;
	position: relative;
}
#ljung > *:first-child *{
	padding-left: var(--distance-4);
	padding-right: var(--distance-4);
}
#ljung .calc-margin-top{
	top: -48px;
	position: relative;
}
#ljung img{
	width: 50vmax;
}
#included{
	overflow: hidden;
	display: block;
	position: relative;
	height: auto;
	padding: var(--distance-4) var(--distance-grid);
	width: calc( 100% - var(--distance-grid) - var(--distance-grid) )
}
#included ul{
	padding-left: 20px;
}
#included ul li{
	text-align: left;
	margin-bottom: var(--distance-base);
}
#included ul li b{
	color: var(--color-1);
}
#included > *:last-child{
	overflow: hidden;
	display: block;
	position: relative;
}
#included-content{
	margin: var(--distance-base) auto;
	padding: var(--distance-inner-padding);
	width: calc(90% - var(--distance-inner-padding) - var(--distance-inner-padding));
	max-width: 400px;
	background: #fff;
}
#days{
	background: var(--color-white);
}
#days > *{
	background: #fff;
	text-align: left;
	min-height: 220px;
}
#days > * > *:first-child{
	margin-top: 0;
}
#days > * > *:last-child{
	margin-bottom: 0;
}
#days-header{
	background: var(--color-white);	
}
#days-header h2{
	margin: 0;
	padding-top: var(--distance-3);
}

/* Destinations */
#destinations{
	padding-top: var(--distance-4);
	max-width: 90%;
}
.destination{
	text-align: left;
	background: var(--color-white);
	padding-top: 0;
}
.destination img{
	width: calc(100% + var(--distance-2) + var(--distance-2));
	margin-left: calc(0px - var(--distance-2));
	height: auto;
}

/* single-products */
body.single-product{
	padding-top: var(--distance-3);
	padding-bottom: var(--distance-4);
}
.woocommerce-product-gallery{
	opacity: 1 !important;
}
.woocommerce-product-gallery figure{
	margin: 0;
}
.woocommerce-product-gallery figure img{
	width: 100%;
	height: auto;
}
.single-product .summary.entry-summary{
	float: left;
	width: 33%;
	margin-right: 3%;
	padding-top: var(--distance-3);
}
.single-product .woocommerce-tabs.wc-tabs-wrapper{
	float: right;
	width: 64%;
	padding-top: var(--distance-2);
	padding-bottom: var(--distance-4);
}
.single-product .price{
	font-size: var(--font-size-2);
	font-weight: bold;
	margin-top: -2px;
}
.single-product button{
	margin-top: var(--distance-1);
}
.product-addon{
	background: var(--color-white);
	padding: var(--distance-xs) var(--distance-1);
	margin-bottom: var(--distance-xs);
}
#tab-description > h2:first-child{
	display: none;
}
.stock.in-stock{
	display: none;
}
.related.products{
	display: none;
}
.woocommerce-product-details__short-description{
	display: none;
}
.wau_wrapper_div{
	display: none;
}
.product_meta{
	display: none;
}
.tabs.wc-tabs{
	display: none;
}

.wcpa_form_item label{
	font-size: var(--font-size-s);	
}
.wcpa_form_item input{
	padding: 10px;
	border: none;
	border-radius: 5px;
	width: calc(100% - 22px);
	margin-bottom: 10px;
	font-size: var(--font-size-body);
	font-family: var(--font-family-1);
}
.wcpa_form_item select{
	padding: 10px;
	border: none;
	border-radius: 5px;
	width: calc(100%);
	margin-bottom: 10px;
	font-size: var(--font-size-body);
	font-family: var(--font-family-1);
}

.step1 .single_add_to_cart_button{
	display: none;
}
.step1 .wcpa_form_outer{
	display: none;
}

.step2 .wcpa_form_outer,
.step2 .single_add_to_cart_button{
	display: block;
}
.step2 #book-trip-btn,
.step2 .product-addon,
.step2 .woocommerce-tabs.wc-tabs-wrapper,
.step2 .price{
	display: none;
}
.step2 .single_add_to_cart_button{
	background: var(--color-dark);
}

.woocommerce .single-product .singl.step2 .summary{
	margin-right: 0;
	width: calc(100% - 40px);
	background: var(--color-1);
	color: #fff;
	padding: 20px;
	margin-bottom: 120px;
}
.woocommerce .single-product .singl.step2 .summary:before{
	content: 'Information om resenär';
	font-size: var(--font-size-2);
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}
.form-control_parent{
	display: inline-block !important;
	width: 48%;
	margin-right: 2.5%;
}
.form-control_parent:nth-child(2n+2){
	margin-right: 0;
}
.form-control_parent.breaker{
	width: 98.5%;
	margin-top: 30px;
}


.single-product .summary.entry-summary{
	
}


/* Cart */
.cart .product-thumbnail{
	display: none;
}
.cart td,
.cart th,
.cart_totals td,
.cart_totals th,
.wc-svea-checkout-page td,
.wc-svea-checkout-page th{
	text-align: left;
	padding-right: 30px;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ddd;
}
a.remove{
	color: var(--color-light);
	color: #fff;
	font-size: var(--font-size-4);
	background: var(--color-2);
	display: inline-block;
	padding: var(--distance-xs) var(--distance-s);
	border: none;
	border-radius: 5px;
}

.wc-proceed-to-checkout a{
	margin-top: 20px;
}
.woocommerce-shipping-totals.shipping{
	display: none;
}
.wc-svea-checkout-page select{
	margin-left: 20px;
}
#order_comments{
	width: calc(100% - 42px);
	padding: 20px;
}
.shop_table.woocommerce-checkout-review-order-table{
	width: 100%;
}

.cart_item .variation dt{
	float: left;
	margin-right: 10px;
	clear: left;
	font-weight: 300;
}
.cart_item .variation dd{
	font-weight: 600;
}
.cart_item td{
	vertical-align: top;
}

.product-quantity,
.product-subtotal{
	display: none;
}
.product-price{
	min-width: 100px;
}

#cart-btn{
	float: right;
	color: #fff;
	margin-top: 17px;
	margin-left: 26px;
}

/* about us */
.page-template-page-about #page-content hr{
	width: 100%;
	clear: both;
	border: none;
	border-top: 1px solid var(--color-white);
}
.page-template-page-about #page-content img{
	float: left;
	margin: 0 20px 20px 0;
}
.page-template-page-about h2{
	margin-bottom: 0;
}
.page-template-page-about h2 + p{
	margin-top: var(--distance-s);
}

@media screen and (min-width: 1240px){
	
}
@media screen and (min-width: 1340px){
	
}
@media screen and (min-width: 1440px){
	
}
@media screen and (max-width: 460px){
	
}
@media screen and (max-width: 580px){
	
}
@media screen and (max-width: 880px){
	h1{
		font-size: var(--font-size-2);
	}
	#header{
		height: var(--distance-3);
	}
	#logo img{
		top: -6px;
		position: relative;
	}
	*[split="1"] > *,
	*[split="2"] > *,
	*[split="3"] > *,
	*[split="4"] > *,
	*[split="5"] > *,
	*[split="6"] > *{
		margin: var(--distance-xs);
		float: left;
		height: auto;
		width: calc(100% - var(--distance-xs) - var(--distance-xs));
		text-align: center;
		padding: var(--distance-xs) 0;		
	}
	
	#what .calc-margin-top,
	#ljung .calc-margin-top{
		margin-top: 0 !important;
		top: auto !important
	}
	#what > *:first-child,
	#ljung > *:last-child{
		height: 260px;
	}
	#ljung{
		border-top: 2px dashed var(--color-dark);
	}
	#ljung h2{
		margin-top: 0;
	}
	#ljung > *:first-child * {
		padding-left: var(--distance-s);
		padding-right: var(--distance-s);
	}
	#included{
		background: url('images/street.jpg') no-repeat center center;
		background-size: cover;
	}
	#included img{
		display: none;
	}
	
	#days > *{
		padding: var(--distance-2);
		width: auto;
		min-height: auto;
	}
	#blog{
		padding-top: 0;
	}
	.trips{
		height: auto;
		padding: 20px 0;
	}
	.trips .inner > div{
		width: 100%;
	}
	.trip{
		margin-left: 0;
		margin-right: 0;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.destination{
		padding: var(--distance-1);
		width: calc(100% - var(--distance-1) - var(--distance-1));
	}
	.destination img {
		width: calc(100% + var(--distance-1) + var(--distance-1));
		margin-left: calc(0px - var(--distance-1));
		margin-top: calc(0px - var(--distance-1));
		height: auto;
	}
	
	.single-product .summary.entry-summary,
	.woocommerce-tabs{
		width: 100% !important;
	}
	.woocommerce .single-product .singl.step2 .summary{
		width: calc( 100% - 40px ) !important;
	}
	
	#footer,
	#footer *{
		text-align: center !important;
		width: 100%;
		float: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	#footer-logo{
		width: 62%;
		height: auto;
		margin-bottom: var(--distance-2);
	}
	#footer .inner{
		margin: 0 auto;
	}
	#credentials > *{
		margin-bottom: var(--distance-1);
	}
	#fold-content{
		text-align: center;
		padding-right: 0;
		width: 90%;
		max-width: 90%;
	}
	#fold-content img{
		display: none;
	} 
}
@media screen and (max-width:880px){
	body{
		
	}
	#menu-btn{
		background: transparent;
		position: absolute;
		top: calc( var(--distance-2) / 2 );
		right: var(--distance-s);
		width: var(--distance-2);
		height: var(--distance-1);
		display: block;
	}
	#menu-btn:after{
		content: '';
		background: #fff;
		height: 5px;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		-webkit-transition: all 0.20s ease-in-out;
		transition: all 0.20s ease-in-out;
	}
	#menu-btn:before{
		content: '';
		background: #fff;
		height: 5px;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		-webkit-transition: all 0.20s ease-in-out;
		transition: all 0.20s ease-in-out;
	}
	#menu{
		display: none;
		position: fixed;
		top: var(--distance-3);
		bottom: auto;
		left: auto;
		right: 0;
		background: var(--color-1);
		text-align: center;
		padding: var(--distance-1) var(--distance-1) var(--distance-1) var(--distance-1);
		overflow-x: hidden;
		overflow-y: scroll;
	}
	#menu ul li{
		width: 100%;
		padding: 0;
		margin: 0;
	}
	#menu ul li a{
		font-weight: bold;
	}
	#menu > ul > li > ul{
		display: block;
		width: 100%;
		position: relative;
		left: auto;
		top: auto;
	}
	#menu ul ul li{
		width: 100%;
		padding: 0;
		margin: 0;		
	}
	#menu ul ul li a{
		font-weight: normal;
		padding: var(--distance-xs) 0;
	}
	#menu ul ul ul{
		padding-bottom: var(--distance-s);
	}
	#menu ul ul ul li a{
		font-weight: normal;
		font-size: var(--font-size-s);
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
	#menu ul ul ul li a:before{
		display: none;
	}
	.wp-post-image{
		max-width: 100%;
		height: auto;
	}
}

.img-parallax {
  width: 100vmax;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,0);
  pointer-events: none
}
.fade-in {
    opacity: 0; /* Initially hide the element */
    transform: translateY(20px); /* Shift the element down initially */
    transition: opacity 0.5s, transform 0.5s; /* Smooth transition effect */
}

.woocommerce .singl .summary{
	display: none !important;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper{
	width: 100%;
}