/*
Theme: DutchSeaCable
Version: 1.0
Theme_URI: https://www.lemon.nl
Date: 12/2024
Author: Roeland ten Holder | Lemon
Author URI: roeland@lemon.nl
*/

/** ******************************** **/
/**      _____                       **/
/**    _(  _  )__________________    **/
/**   ( | (___)     | ____ |  _  |   **/
/**   |_|_______|_|_|______|_| |_|   **/
/**                                  **/
/**            www.lemon.nl          **/
/**                                  **/
/** ******************************** **/

/*************** FONTS ****************/
@font-face {
	font-family: 'DinPro';
	src: url("fonts/dinpro_bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'DinPro';
	src: url("fonts/dinpro_bolditalic.otf") format("opentype");
	font-weight: 700;
	font-style: italic;
	font-display: fallback;
}
@font-face {
	font-family: 'DinPro';
	src: url("fonts/dinpro.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'DinPro';
	src: url("fonts/dinpro.otf") format("opentype");
	font-weight: 400;
	font-style: italic;
	font-display: fallback;
}

h1							{ font-size: 32px; line-height: 1.3em; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
h2							{ font-size: 28px; line-height: 1.3em; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 4px 0; }
h3 							{ font-size: 25px; line-height: 1.3em; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 2px 0; }
h4 							{ font-size: 23px; line-height: 1.3em; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
h5 							{ font-size: 20px; line-height: 1.3em; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
h6							{ font-size: 24px; line-height: 1.3em; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); margin: 0 0 0 0; }
.card 						{ font-size: 16px; line-height: 1.3em; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
body 						{ font-size: 20px; line-height: 1.3em; font-weight: 400; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
.content					{ font-size: 20px; line-height: 1.3em; font-weight: 400; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; }
.col-6 .content 			{ font-size: 17px; line-height: 1.3em; font-weight: 400; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; }
.modal .content				{ font-size: 15px; line-height: 1.3em; font-weight: 400; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
.caption, .small, .small a 	{ font-size: 14px; line-height: 1.45em; font-weight: 400; font-style: normal; font-family:           Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
.date 						{ font-size: 12px; line-height: 1.3em; font-weight: 400; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); }
/* .gform_button			{ font-size: 17px; line-height:  17px; font-weight: 400; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--black); } */
.navbar-nav li a 			{ font-size: 18px; line-height:  26px; font-weight: 400; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--white); padding: 0; text-decoration: none; }
.navbar-nav li ul li a		{                                      font-weight: 400;                                                                                                        padding-bottom: 2px; text-decoration: none; }
.gform-button,
.gform_button, .btn 		{ font-size: 22px; line-height:  26px; font-weight: 700; font-style: normal; font-family: 'DinPro', Arial, Helvetica, Verdana, sans-serif; color: var(--white); }
/* .hero p 					{ font-size: 32px; line-height: 1.3em; } */
.content ol li 				{ margin-left: 0; margin-bottom: 15px; }
/* .content ul li 			{ margin-bottom: 1.3em; } */


a.col,
.modal-body a,
.content a:not(.btn) 		{ font-weight: 400; color: var(--black); text-decoration: none; }
a.col:hover .link,
.modal-body a:hover,
.content a:not(.btn):hover 	{ font-weight: 400; color: var(--blue); text-decoration: none; }
a.underline 				{ text-decoration: underline; }
.content a i 				{ font-size: 0.7em; vertical-align: middle; }

.content img 				{ border-radius: 20px; }

.content a:not(.btn)		{ color: var(--cyan); text-decoration: underline;  }
.content a:hover:not(.btn)	{ color: var(--blue); text-decoration: underline;  }

.footer .content a			{ color: var(--cyan-light); text-decoration: none;  }
.footer .content a:hover 	{ color: var(--cyan); text-decoration: underline;  }


h1 a, h2 a, h3 a, 
h4 a, h5 a, h6 a 			{ text-decoration: none; }


.btn.small, span.tag {
	background-color: var(--cyan);
	padding: 2px 15px 4px;
	color: var(--white);
	border-radius: 15px;
	margin: 3px 3px 3px 0;
	line-height: 18px;
	display: inline-block;
}


/************* CONTAINERS *************/

body, html {
	max-width: 100vw !important;
	overflow-x: hidden !important;
}

.pagewrapper 	{ max-width: 100vw;					width: 100%; margin: 0 auto; }
.fullcontainer 	{ max-width: 100vw; 				width: 100%; }
.headerwrapper 	{ max-width: 100%; 					width: 2560px; margin-left: auto; margin-right: auto; padding: 30px 0 1px; position: relative; }
.widthcontainer { max-width: calc(100% - 50px);  	width: 1440px; margin-left: auto; margin-right: auto; }
.container 		{ max-width: calc(100vw - 50px); 	width: 1270px; margin-left: auto; margin-right: auto; }
.smallcontainer { max-width: calc(100% - 50px);		width:  960px; margin-left: auto; margin-right: auto; }

.navbar-nav li.has-logo,
.topwrapper {
	min-height: 130px;
	background: url('images/gradient.png') repeat-x center top;
}

.navbar-brand.logo {
	width: 100%;
	max-width: 300px;
}

.page-template-page-home .topwrapper {
	background: var(--blue);
	background: linear-gradient(0deg, var(--cyan) 0%, var(--blue) 70%);
}

.netherlands-container {
	aspect-ratio: 1/0.75;
	min-height: 485px;
}

.page-template-page-home .headerwrapper {
	background-image: url('images/thenetherlands.svg');
	background-position: 46vw -420px;
	background-repeat: no-repeat;
	background-size: 1500px auto;
}


.waves {
	background-image: url('images/waves-white.svg');
	background-position: center top;
	background-size: 140vw auto;
	background-repeat: no-repeat;
	width: 100vw;
	margin-top: -1px;
	aspect-ratio: 1/0.22;
}

.topwrapper + .waves {
	background-color: var(--cyan);
}


.waves-footer {
	background-image: url('images/waves.svg');
}

.footer {
	background-color: var(--blue);
}


.logo-ecp {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 64px;
	margin: 0 0 15px;
}

.logo-dscc {
	max-height: 64px;
	margin: 0 0 14px -3px;
}

a .news-card,
.news-card {
	color: #ffffff !important;
	text-decoration: none !important;
	border: none;
	border-radius: 20px;
	overflow: hidden;
	height: 100%;
	margin: 0 0 0 0;
	transition: all 0.2s;
}

a .news-card:hover {
	margin: 0 -10px 0 10px;
	transition: all 0.2s;
}

.news-card .card-header {
	background-color: var(--blue);
	background-size: cover;
	background-repeat: no-repeat;
	aspect-ratio: 4/2.5;
	transition: all 0.2s;
}

.news-card .card-body {
	background: linear-gradient(0deg, var(--cyan) 0%, var(--blue) 70%);
	padding: 20px 30px 30px;
}

a.has-news-card:hover,
a:hover .news-card p,
a:hover .news-card h4,
a:hover .news-card span,
a.has-news-card,
a .news-card p,
a .news-card h4,
a .news-card span {
	color: #ffffff !important;
	text-decoration: none !important;
}

a:hover .news-card .card-header {
	background-size: cover;
	transition: all 0.2s;
}



/*************** LANGUAGE BUTTONS ***************/

a.btn-language {
	width: 40px;
	height: 40px;
	background: #ffffff;
	font-size: 20px;
	text-align: center;
	border-radius: 40px;
	margin-left: 22px;
	outline: 4px solid transparent;
	transition: all 0.2s;
}

a.btn-language {
	padding: 5px 11px 0;
}

a.btn-language:target,
a.btn-language:active,
a.btn-language:focus,
a.btn-language:focus:active,
a.btn-language:hover,
a.btn-language:hover:active {
	cursor: pointer;
	outline: 4px solid var(--cyan) !important;
	transition: all 0.2s;
}

a.btn-language:hover img {
	/* opacity: 0.6; */
}

body.nl .btn-language.nl,
body.en .btn-language.en {
	display: none;
}


/*************** LOGO SLIDER ***************/

.partner-logo {
	width: 100%;
	max-width: 180px;
	max-height: 60px;
	aspect-ratio: 1/1;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all 0.2s;
}

.partner-logo:hover {
	transition: all 0.2s;
}


/* .row {
	margin-right: var(--negative-quartermargin);
	margin-left: var(--negative-quartermargin);
}
.row>* {
	padding-right: var(--quartermargin);
	padding-left: var(--quartermargin);
}

.container {
	margin-bottom: var(--halfmargin);
} */


/* .nav-container > .container { margin-bottom: 0; }
.nav-container > .container > .row { aspect-ratio: unset; } */


/* .content {
	padding: var(--halfmargin);
}

.col-6 .content {
	padding: var(--fullmargin);
} */



.navbar-brand img {
	width: 100%;
	max-height: 82px;
}

.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.15s ease;
	color: var(--cyan);
}

.navbar-nav > li > a {
	display: inline-block;
	/* margin: 14px 25px 8px 25px; */
	margin: 11px 22px 11px 22px;
}

.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 {
}

.navbar-nav li .sub-menu {
	position: relative;
	display: block;
	max-height: 0;
	overflow: hidden;
	transition: all 0.5s ease-in;
}

.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: 700;
}





.list-icon i {
	vertical-align: top;
	font-size: 48px;
	line-height: 50px;
	width: 60px;
	text-align: center;
	margin-right: 10px;
}

.list-icon span {
	display: inline-block;
	max-width: calc(100% - 80px);
}


.footer {
}

.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;
	bottom: var(--halfmargin);
}


.gform-button,
.gform_button,
.btn-white,
.btn {
	color: var(--orange);
	background-color: #ffffff;
	padding: 15px 45px;
	border: none;
	border-radius: 20px;
	text-decoration: none !important;
	transition: all 0.1s;
	margin: 0 0 20px 0;
}

.gform-button {
	margin: 0 0 20px 0;
}

a.col:hover .btn,
.gform-button:hover,
.gform_button:hover,
.btn-white:hover,
.btn:hover {
	color: #ffffff;
	background-color: var(--cyan);
	transition: all 0.1s;
	margin: 0 -5px 20px 5px;
}

.gform-button,
.gform_button,
.btn-blue,
.btn-dark {
	background: var(--blue);
	background: linear-gradient(90deg, var(--cyan), var(--blue));
	background-repeat: no-repeat;
	color: #ffffff;
}

.gform-button:hover,
.gform_button:hover,
.btn-blue:hover,
.btn-dark:hover {
	background: var(--cyan);
}


.btn-cyan {
	background: var(--cyan);
	color: #ffffff;
}


.btn-cyan:hover {
	background: var(--cyan-light);
	color: #ffffff;
}


.btn.small {
	margin: 3px 10px 3px 0;
	font-size: 20px;
	line-height: 24px;
	padding: 7px 18px 9px 18px;
}
.btn.small:hover {
	margin: 3px 5px 3px 5px;
}

.gform_fields {
	display: flex
}

.btn.small.current {
	background: var(--blue);
}


/*************** LOGO SLIDER ***************/

.owl-carousel {
	z-index: unset;
}

.partner-logo {
	width: 100%;
	max-width: 150px;
	max-height: 120px;
	margin: 0 auto;
	/* aspect-ratio: 1/1; */
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	/* filter: grayscale(1); */
	/* filter: sepia(100%) hue-rotate(523deg) saturate(150%); */
	/* opacity: 0.7; */
	transition: all 0.2s;
}

.partner-logo:hover {
	filter: grayscale(0);
	opacity: 1;
	transition: all 0.2s;
}




/************** 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%; }



.modal-backdrop.show {
	opacity: 1;
	background-color: #a0a29d;
}

.carousel-indicators {
	bottom: -40px;
	margin-bottom: unset;
}

.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-control-next, 
.carousel-control-prev {
	font-size: 32px;
	color: #bdbebb;
	opacity: 1;
	transition: color 0.1s;
}
.carousel-control-next:hover, 
.carousel-control-prev:hover {
	color: #ffffff;
	transition: color 0.1s;
}








/******  FORMS ******/
.gform_required_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: 20px;
	border: none;
	padding: 14px 25px !important;
	border: 1px solid #ccc;
	margin-right: 10px;
}

.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: 400;
	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 'DinPro', 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;
}


