/*
Theme: Dedato
Theme_URI: https://www.lemon.nl
Version: 1.0
Date: 19-7-2024
Author: Roeland ten Holder | Lemon
Author URI: roeland@lemon.nl
*/

/** ******************************** **/
/**      _____                       **/
/**    _(  _  )__________________    **/
/**   ( | (___)     | ____ |  _  |   **/
/**   |_|_______|_|_|______|_| |_|   **/
/**                                  **/
/**            www.lemon.nl          **/
/**                                  **/
/** ******************************** **/


/*************** FONTS ****************/
h1						{ font-size: 28px; line-height: 36px; font-weight: 300; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
h2						{ font-size: 18px; line-height: 24px; font-weight: 600; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 4px 0; }
.col-6 h2				{ font-size: 23px; line-height: 30px; }
h3 						{ font-size: 25px; line-height: 31px; font-weight: 600; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 2px 0; }
h4 						{ font-size: 23px; line-height: 31px; font-weight: 300; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
h4 b, h4 strong 		{ font-weight: 500 }
h5 						{ font-size: 20px; line-height: 22px; font-weight: 600; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
h6						{ font-size: 24px; line-height: 28px; font-weight: 600; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
.card 					{ font-size: 16px; line-height: 20px; font-weight: 400; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
body 					{ font-size: 17px; line-height: 22px; font-weight: 400; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
.content				{ font-size: 16px; line-height: 23px; font-weight: 300; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; }
.col-6 .content 		{ font-size: 17px; line-height: 23px; font-weight: 300; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; }
.modal .content			{ font-size: 15px; line-height: 19px; font-weight: 400; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
.caption,
.small, .small a 		{ font-size: 14px; line-height: 16px; font-weight: 400; font-style: normal; font-family:            Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
.date 					{ font-size: 12px; line-height: 16px; font-weight: 400; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
.gform_button			{ font-size: 17px; line-height: 17px; font-weight: 400; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
#menu-lang a,
.navbar-nav li a 		{ font-size: 18px; line-height: 26px; font-weight: 500; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--black); padding: 0; text-decoration: none; }
.btn 					{ font-size: 18px; line-height: 26px; font-weight: 500; font-style: normal; font-family: 'Poppins', Arial, Helvetica, Verdana, sans-serif; color: var(--white); }

.projectslider p		{ font-size: 22px; line-height: 32px; }

.projectslider h3,
.projectslider h3 p 	{ font-size: 28px; line-height: 36px; margin-bottom: 18px; }

.has-quote h3 			{ margin-bottom: 0; }

b, strong 				{ font-weight: 500 }

h1 span, h2 span, 
h3 span, h4 span, 
h5 span, h6 span 		{ font-weight: 600; }

.navbar-nav li ul li a	{ font-weight: 400; padding-bottom: 2px; text-decoration: none; }

.content ol li 			{ margin-left: 0; margin-bottom: 15px; }
.rtl					{ direction: rtl; }

a.col,
.modal-body a,
.content a 				{ font-weight: 500; color: var(--black); text-decoration: none; }

a.col:hover .link,
.modal-body a:hover,
.content a:hover 		{ font-weight: 500; color: var(--blue); text-decoration: none; }



a.underline 			{ text-decoration: underline; }



.content a i 			{ font-size: 0.7em; vertical-align: middle; }

h1 a, h2 a, h3 a, 
h4 a, h5 a, h6 a 		{ text-decoration: none; }

:root {
	--fullmargin: 4vw;
	--halfmargin: 2vw;
	--quartermargin: 1vw;
	--negative-fullmargin: -4vw;
	--negative-halfmargin: -2vw;
	--negative-quartermargin: -1vw;
}

.tops-sm			{ margin-top: 	 var(--quartermargin) !important; }
.tops 				{ margin-top: 	 var(--halfmargin) !important; }
.tops-lg			{ margin-top: 	 var(--fullmargin) !important; }
.tops-xl			{ margin-top: 	 calc(var(--fullmargin) * 2) !important; }

.bottoms-sm			{ margin-bottom:  var(--quartermargin) !important; }
.bottoms 			{ margin-bottom:  var(--halfmargin) !important; }
.bottoms-lg			{ margin-bottom:  var(--fullmargin) !important; }
.bottoms-xl			{ margin-bottom:  calc(var(--fullmargin) * 2) !important; }

.contentpadding-sm	{ padding-top: 	 var(--quartermargin); 	padding-bottom: var(--quartermargin); }
.contentpadding 	{ padding-top: 	 var(--halfmargin); 	padding-bottom: var(--halfmargin); }
.contentpadding-lg	{ padding-top: 	 var(--fullmargin); 	padding-bottom: var(--fullmargin); }
.contentpadding-xl	{ padding-top: 	 calc(var(--fullmargin) * 2); 	padding-bottom: calc(var(--fullmargin) * 2); }


.text-bottom {
	position: absolute;
	bottom: 5px;
}

/************* CONTAINERS *************/
.pagewrapper 	{ width: 100%; margin: 0 auto; }
.fullcontainer 	{ width: 100%; }
.headerwrapper 	{ width: 100%; padding: 30px 0 40px; margin-left: auto; margin-right: auto; margin-bottom: 30px; }
.widthcontainer { width: 100%; max-width: 1440px; padding: 0 20px; margin-left: auto; margin-right: auto; }
.container 		{ width: 100vw; max-width: 100%; margin-left: auto; margin-right: auto; padding-right: var(--fullmargin); padding-left: var(--fullmargin); }
.smallcontainer { width: 100%; max-width: 960px; padding: 0 20px; margin: 0 auto; }
.nav-container 	{ width: 100vw; max-width: 100%; position: relative; padding-top: 27px; padding-bottom: 1px; margin: 0 auto; z-index: 100; background-color: rgba(255,255,255,0.9); }

.caption 		{ padding-top: 7px; }


.inner .has-background-image {
	overflow: hidden;
}


.has-background-image,
.has-background-image .has-image {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.has-background-image .has-image {
	transition: all 0.2s ease-in;
	transform: scale(1);
}


/* alleen bij link */
a.inner.has-background-image:hover .has-image,
a .inner.has-background-image:hover .has-image {
	/* background-size: 110% auto; */

	transform:scale(1.025);
	transition: all 0.5s ease-out;
}

.has-image {
	width: 100%;
	height: 100%;
}

.row {
	margin-right: var(--negative-quartermargin);
	margin-left: var(--negative-quartermargin);
}
.row>* {
	padding-right: var(--quartermargin);
	padding-left: var(--quartermargin);
}



.row.touching > .col:first-of-type {
	padding-right: 0;
}
.row.touching > .col:last-of-type {
	padding-left: 0;
}

.row.touching > .col:first-of-type.col-4 {
	width: calc(33.33333333% + var(--quartermargin));
}

.row.touching > .col:last-of-type.col-8 {
	width: calc(66.66666667% - var(--quartermargin));
}



.row.touching > .col:first-of-type.col-8 {
	width: calc(66.66666667% - var(--quartermargin));
}

.row.touching > .col:last-of-type.col-4 {
	width: calc(33.33333333% + var(--quartermargin));
}


.container {
	margin-bottom: var(--halfmargin);
}

.container.has-caption {
	margin-bottom: calc(var(--halfmargin) + 21px);
}

.container + .container.has-headline {
	margin-top: var(--fullmargin);
}

.container.has-caption + .container.has-headline {
	margin-top: calc(var(--fullmargin) + 21px);
}


.container > .row:not(.has-multiple) {
	/* aspect-ratio: 9/3.541; */
	/* aspect-ratio: 9/3.5427; */
	aspect-ratio: 9/3.5202;
}

.container.no-aspect > .row {
	aspect-ratio: unset;
}


.has-project-image 					{ margin-bottom: var(--halfmargin); }
.has-caption .has-project-image 	{ margin-bottom: 0px; }

.has-caption .has-project-image + .caption { margin-bottom: calc(var(--halfmargin) - 2px); }

.image-size-medium_small 	{ aspect-ratio: 4/5; }
.image-size-medium_large 	{ aspect-ratio: 8.25/5; }
.image-size-large 			{ aspect-ratio: 12.49/5; }



.nav-container > .container { margin-bottom: 0; }
.nav-container > .container > .row { aspect-ratio: unset; }


.inner {
	height: 100%;
	display: block;
}


.text-container .content { padding-left: 0; padding-right: 0; }







.header-container {
	aspect-ratio: 100/50;
	position: relative;
}



.header-container .heading {
	display: inline-block;
	margin-left: -50px;
	padding: 40px 40px 40px 50px;
	margin-bottom: 60px;
	position: absolute;
	bottom: 0;
}




.content {
	padding: var(--halfmargin);
}

.col-6 .content {
	padding: var(--fullmargin);
}



.logo {
	max-height: 38px;
}

#menu-lang {
	float: right;
	padding-top: 17px;
	padding-bottom: 8px;
}


body.fixed1 {
	padding-top: 0;
	transition: padding 0.5s;
}
body.fixed2 {
	padding-top: 93px;
	transition: padding 0.5s;
}

body.fixed1 .nav-container {
	position: fixed;
	top: -100px;
	transition: top 0.5s;
}

body.fixed2 .nav-container {
	position: fixed;
	top: 0px;
	transition: top 0.5s;

}


.nav-container {
	position: relative;
	margin-top: 0px;
	transition: all 0.5s;
}

.nav-container .navbar {
	padding-top: 19px;
	padding-bottom: 7px;
}

.navbar-toggler {
	position: absolute;
	right: 2px;
	top: 14px;
	color: #000 !important;
}

.navbar-toggler:focus {
	box-shadow: none;
}




.navbar-nav>.active>a, .navbar-nav>.active>a:focus, .navbar-nav>.active>a:hover,
.navbar-nav>.open>a, .navbar-nav>.open>a:focus, .navbar-nav>.open>a:hover,
.navbar-nav>li>a:focus, .navbar-nav>li>a:hover {
	transition: all 0.5s ease;
}


.navbar-nav > li > a {
	display: inline-block;
	margin: 0 75px 8px 0;
}

.navbar-nav > li > a {

}




#menu-lang a {
	margin: 0 0 8px 0;
}

.navbar-nav > li li > a {
	display: inline-block;
	margin: 0 0 8px 0;
}

.navbar-nav li:hover > a {
	/* font-weight: 700; */
	color: var(--blue);
}

.navbar-nav li .sub-menu {
	position: absolute;
	display: block;
	max-height: 0;
	overflow: hidden;
	transition: all 0.5s ease-in;
	background-color: rgba(255, 255, 255, 0.9);
	margin-left: -15px;
	padding-left: 15px;
	padding-right: 18px;
	margin-top: 8px;
}

.navbar-nav li:hover .sub-menu {
	z-index: +1;
	display: block;
	max-height: 300px;
	transition: all 0.5s ease-out;
}

#menu-lang a.active, .navbar-nav li.active a { font-weight: 600;}



.icon {
	display: block;
	font-size: 20px;
	line-height: 36px;
	float: left;
	margin-top: 4px;
	margin-right: 15px;
	background-color: var(--white);
	color: var(--black);
	border-radius: 4px;
	width: 36px;
	height: 36px;
	text-align: center;
}

.icon .fa-phone { font-size: 19px; line-height: 36px; }
.icon .fa-envelope { margin-left: 1px; font-size: 23px; line-height: 36px; }

.footer {
	margin-top: var(--fullmargin);
	padding-top: var(--halfmargin);
	padding-bottom: var(--halfmargin);
}

.footer a {
	color: var(--white);
}

.footer a.underline {
	text-decoration: underline;
}


.modal {
	max-height: 85vh;
}

body.modal-open {
	padding-right: 0 !important;
}

.modal-content .modal-body {
	background-color: #ffffff;
}

.modal-content {
	border: 0;
	border-radius: 0;
	background-color: transparent;
	padding: 10px;
}

.modal-body {
	padding: 30px 35px 35px;
}



.inner.content {
	/* position: relative; */
}

.inner.content .btn {
	/* position: absolute; */  /* waarom was dit? */
	bottom: var(--halfmargin);
}


.btn {
	background-color: var(--black);
	color: #ffffff !important;
	padding: 6px 18px;
	border-radius: 6px;
	text-decoration: none !important;
	transition: all 0.1s;
	margin: 0 0 0 0;
}

a.col:hover .btn,
.btn:hover {
	background-color: var(--blue);
	transition: all 0.1s;
	/* margin: 0 -5px 0 5px; */
}





/************ Carousel Projects Slider ************/

.projectslider .modal-body {
	padding: 0;
	aspect-ratio: 1/0.5994 ; /* 2032, 1218); */
}

.projectslider .col-12,
.projectslider .col-6,
.projectslider .row {
	padding: 0 !important;
	margin: 0 !important;
}

.projectslider .carousel,
.projectslider .carousel-inner,
.projectslider .carousel-item,
.projectslider .slide
{
	height: 100%;
}

.projectslider .carousel-control-next,
.projectslider .carousel-control-prev {
	width: unset;
}

.projectslider .carousel-control-prev {
	left: -40px;
}

.projectslider .carousel-control-next {
	right: -40px;
}



.projectslider .slide.has-background-image {
	background-position: center center;
	background-size: cover;
}


.projectslider .quote {
	width: 80px;
	height: auto;
	margin-bottom: var(--halfmargin);
}

.grid100 {
	width: 100%;
}
/* .grid5050 {
	width: 50%;
	position: absolute !important;
	top: 0;
}
.grid5050 {
	left: 0;
}
.grid5050.gridright {
	left: unset;
	right: 0;
	
} */


.modal-backdrop.show {
	opacity: 1;
	background-color: #a0a29d;
}

.carousel-indicators {
	bottom: -40px;
	margin-bottom: unset;
}


.carousel-close {
	position: absolute;
	right: 40px;
	top: 40px;
}


.carousel-indicators [data-bs-target] {
	background-color: #bdbebb;
	width: 11px;
	height: 11px;
	border-radius: 6px;
	margin: 0 8px;
	border: unset;
}

.carousel-indicators .active {
	background-color: #ffffff;
}

.carousel-close,
.carousel-control-next, 
.carousel-control-prev {
	font-size: 32px;
	color: #bdbebb;
	opacity: 1;
	transition: color 0.1s;
}

.carousel-close:hover,
.carousel-control-next:hover, 
.carousel-control-prev:hover {
	cursor: pointer;
	color: #ffffff;
	transition: color 0.1s;
}



/************** RESPONSIVE VIDEO ***************/
.epyt-video-wrapper,
.video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin-bottom: 23px; border-radius: 20px; }
.epyt-video-wrapper iframe, .videocontaiepyt-video-wrapperner object, .epyt-video-wrapper embed, .epyt-video-wrapper video,
.video-container iframe, .video-container object, .video-container embed, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }











/******  FORMS ******/
.gform_requiblack_legend,
.hidden_label .gfield_label,
.gform_validation_errors {
	display: none !important;
}


.gfield_error input[type=email]:focus,
.gfield_error input[type=number]:focus,
.gfield_error input[type=tel]:focus,
.gfield_error input[type=text]:focus,
.gfield_error textarea:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
	color: var(--black) !important;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25) !important;
}
.gfield_error input[type=email]:focus,
.gfield_error input[type=number]:focus,
.gfield_error input[type=tel]:focus,
.gfield_error input[type=text]:focus,
.gfield_error textarea:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
	color: var(--black) !important;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25) !important;
}
.gfield_error input[type=email]::placeholder,
.gfield_error input[type=number]::placeholder,
.gfield_error input[type=tel]::placeholder,
.gfield_error input[type=text]::placeholder,
.gfield_error textarea::placeholder,
.gfield_error select {
	color: var(--black);
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    background: transparent !important;
    border: none !important;
    font-size: 13px !important;
	font-style: italic;
    margin-top: 8px !important;
	text-align: left;
    padding: 2px 10px !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2,
.gform_wrapper.gravity-theme .gfield_validation_message, 
.gform_wrapper.gravity-theme .validation_message {
	background: transparent;
	border: none;
	padding: 0;
	color: #ffffff;
	margin-top: 2px;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
	background: transparent;
	border: none;
	padding: 0;
	color: #ffffff;
	box-shadow: none;
	margin: 0;
	position: relative;
	width: 100%;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2 {
	font-size: 20px;
	line-height: 26px;
	padding: 10px 0;
}

.gform_wrapper.gravity-theme input[type=date], 
.gform_wrapper.gravity-theme input[type=datetime-local], 
.gform_wrapper.gravity-theme input[type=datetime], 
.gform_wrapper.gravity-theme input[type=email], 
.gform_wrapper.gravity-theme input[type=month], 
.gform_wrapper.gravity-theme input[type=number], 
.gform_wrapper.gravity-theme input[type=tel], 
.gform_wrapper.gravity-theme input[type=text], 
.gform_wrapper.gravity-theme input[type=url], 
.gform_wrapper.gravity-theme select, 
.gform_wrapper.gravity-theme textarea {
	border-radius: 9px;
	border: none;
	padding: 10px 15px !important;
}

.gform_wrapper.gravity-theme select {
	background-color: var(--black);
	color: var(--white) !important;
}
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme select:focus-visible,
.gform_wrapper.gravity-theme select:focus-within,
.gform_wrapper.gravity-theme select:target,
.gform_wrapper.gravity-theme select:active {
	color: var(--white);
}



/* Hide the browser's default checkbox/radio */
.gfield_radio input,
.gfield_checkbox input {
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
	margin-left: 20px !important;
}



/* Create a custom checkbox */
.gfield_checkbox label,
.gfield_radio label {
	position: relative;	
}

.gfield_radio label:before,
.gfield_checkbox label:before {
	content: " ";
	position: absolute;
	top: 0px;
	left: -25px;
	height: 18px;
	width: 18px;
	background-color: #ffffff;
	margin-left: 1px;
}

.gfield_radio label:before {
	top: 1px;
	height: 20px;
	width: 20px;
}

/* Create a custom radio */
.gfield_radio label:before {
	border-radius: 11px;
}

/* On mouse-over, add a grey background color */
.ginput_container .gfield_radio label:hover:before,
.ginput_container .gfield_checkbox label:hover:before {
    background-color: #eeeeee;
}

/* When the checkbox is checked, add a coloblack background */
.ginput_container .gfield_radio input:checked + label:before,
.ginput_container .gfield_checkbox input:checked + label:before {
    background-color: var(--black) !important;
}

/* Create the checkmark/indicator (hidden when not checked) */
.gfield_radio label:after,
.gfield_checkbox label:after {
	content: " ";
	position: absolute;
	display: none;
}

/* Show the checkmark when checked */
.ginput_container .gfield_radio input:checked + label:after,
.ginput_container .gfield_checkbox input:checked + label:after {
	display: block;
}

/* Style the checkmark/indicator */
.gfield_checkbox label:after {
	left: -19px;
	top: 1px;
	width: 8px;
	height: 12px;
	border: solid #ffffff;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

.gfield_radio label:after {
	left: -19px;
	top: 6px;
	width: 10px;
	height: 10px;
	background: #ffffff;
	border-radius: 10px;
}





/*********** FAQ / Accordion item ***********/

.has-faq {
	margin: 0 0 30px 0;
	padding: 0
}

.faq-container {
	margin: 0;
	padding: 0;
}

.faq-title {
	cursor: pointer;
	width: 100%;
	padding: 10px 0 0;
	display: block;
	text-decoration: none;
}

.faq-title h2 {
	display: inline-block;
	max-width: calc(100% - 26px);
}

.faq-title .faq-icon  {
	margin: -2px 12px 5px 3px;
	transition: transform 0.1s;
	display: inline-block;
	width: 28px;
	height: 30px;
	padding: 2px 0 0 0;
}

.faq-title.active .faq-icon  {
	transform: rotate(90deg);
	transition: transform 0.1s;
}

.faq-title.active,
.faq-title:hover {
	font-weight: 700;
	text-decoration: none;
}

.faq-answer {
	padding: 0 0 0 43px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-out;
}

.faq-answer.active {
	height: auto;
	max-height: 9999px;
	transition: max-height 2.5s ease-out;
}

.faq-answer .content {
	margin-bottom: 15px;
}

.onmobile.faq-container {
	border: none;
	padding-top: 0;
	margin-bottom: 0;
}
.onmobile .faq-title.active,
.onmobile .faq-title:hover {
	font-weight: normal;
	text-decoration: none;
}
.onmobile .faq-title .faq-icon {
	display: none;
}
.onmobile .faq-answer {
	padding: 0;
	height: auto;
	max-height: 9999px;
}











.footerwrapper {
	padding-top: 50px;
	padding-bottom: 40px
}

.footerwrapper .content {
	text-align: center;
}

.footerwrapper .content p,
.footerwrapper .content span,
.footerwrapper .content a:not(.social-link) {
	font: 400 normal 22px/40px 'Poppins', Arial, Helvetica, Verdana, sans-serif;
	text-transform: uppercase;
	color: var(--grey);
}

.social-link {
	display: inline-block;
	margin: 4px 10px;
	width: 60px;
	height: 60px;
	transition: all 0.1s;
}

.social-link:hover {
	margin: 0px 6px;
	width: 68px;
	height: 68px;
	transition: all 0.1s;
}


.footer .social-link {
	width: 40px;
	height: 40px;
	margin: 8px 5px 5px 0;
}

.footer .social-link:hover  {
	width: 44px;
	height: 44px;
	margin: 6px 3px 3px -2px;
}

.nobreak {
	white-space: nowrap;
}


