/* ============================================================
Default
============================================================ */
body {
	--dmstok-blue: #0d79bf;
	--dmstok-blue-l: #c6daf1;
	--dmstok-brown: #886c47;
	--dmstok-brown-l: #e8e2d8;
	--dmstok-grey: #d7d0d0;
}

/* General
================================================================================ */
/* Watch out, set the divi row seting to equal height colums, 
This is to prevent having to do the media queries for all column sizes */
.flex-vertical {
	align-items: center;
}

/* ============================================================
Header
============================================================ */
#topHeader .et_pb_row .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	align-items: center;	
	justify-content: space-between;
	gap: 20px;
}
#topHeader .et_pb_row .et_pb_column .et_pb_module {
	margin: 0px;	
}

#headContent.et_pb_section {}

#headContent.et_pb_section .et_pb_row .et_pb_column {
	display: flex;
	flex-direction: column;
	min-height: 360px;
	align-items: center;
	justify-content: flex-end;
	padding: 20px 0 90px 0;
}
#headContent.et_pb_section .et_pb_row .head_img img, 
#headContent.et_pb_section .et_pb_row .head_img .et_pb_image_wrap, 
#headContent.et_pb_section .et_pb_row .head_img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}
#headContent.et_pb_section .et_pb_row .et_pb_module:not(.head_img) {
	max-width: 80%;
}
	/* Media Queries - Divi: 
	================================================== */
	@media all and (min-width: 2200px) {
		#headContent.et_pb_section .et_pb_row .et_pb_column {
			min-height: 450px;
		}
	}
	@media all and (max-width: 768px) {
		#headContent.et_pb_section .et_pb_row .et_pb_column {
			min-height: 300px;
			padding: 20px 0 40px 0;
		}
	}


/* =======================================================
// top Menu
======================================================= */
#topMenuContainer ul {
	display: flex;
	gap: 10px;
}
#topMenuContainer ul li.menu-item {
	display: inline-block;
}
#topMenuContainer ul li.menu-item a {
	--dimension: 1.7em;
	display: block;
	margin: auto;
	width: var(--dimension);
	height: var(--dimension);
	font-size: 2rem;
	line-height: 1.6em; /*.1 less than height*/
	text-align: center;
	color: var(--owl-black);
	background-color: #fff;
	border-radius: 50%;
	border: 2px solid;
}
	/* Media Queries - Divi: 
	================================================== */
	@media screen and (max-width: 782px) {
		#topMenuContainer ul li.menu-item a { font-size: 1.5rem; }
	}

/* =======================================================
// Menu (double ID #headMenu is to give it more prio)
======================================================= */
#headMenu#headMenu {}
#headMenu#headMenu .et_pb_menu__menu nav.et-menu-nav ul#menu-main-menu, 
#headMenu#headMenu .et_pb_menu__menu nav.et-menu-nav, 
#headMenu#headMenu .et_pb_menu__menu {
	width: 100%;
}
#headMenu#headMenu  ul.et-menu.nav > li {
	margin: 0px;
	padding-left: 5px;
	padding-right: 5px;
}
#headMenu#headMenu  ul.et-menu.nav > li.menu-item > a {
	--padding:  20px;
	padding: var(--padding);
}
#headMenu#headMenu  ul.et-menu.nav > li.menu-item.menu-item-has-children > a:first-child::after {
	top: var(--padding);
}
#headMenu#headMenu  ul.et-menu.nav:not(:hover) > li.menu-item.current-menu-item > a,
#headMenu#headMenu  ul.et-menu.nav > li.menu-item > a:hover {
	background-color: var(--dmstok-brown);
	opacity: 1;
}	
#headMenu#headMenu ul.et-menu.nav > li.margin-left-auto {
	margin-left: auto;
}

/* Mega menu */
#headMenu#headMenu .et-menu-nav li.mega-menu > ul > li > a {
	font-size: 15px;
	width: 100% !important;
	/*padding: 6px 10px;*/
}

	/* Media Queries - Divi: 
	================================================== */
	/* Responsive Styles Desktop Only */
	@media all and (min-width: 981px) {
		#headMenu .et-menu-nav > ul > li:last-child .sub-menu {
			left: auto;
			right: 0;
		}
	}
	@media all and (max-width: 1150px) {
		#headMenu#headMenu  ul.et-menu.nav > li.menu-item > a {
			/*--padding:  10px;*/
			padding:  var(--padding) 10px;
			font-size: 16px;
		}
		#headMenu#headMenu  ul.et-menu.nav > li.menu-item.menu-item-has-children > a:first-child {
			padding-right: var(--padding);
		}
	}

/* =======================================================
// Footer
======================================================= */
header #topHeader#topHeader .et_pb_module.et_pb_widget_area .et_pb_widget, 
footer .et_pb_module.et_pb_widget_area .et_pb_widget {
	width: 100%;
}
header .et_pb_widget_area .fwidget:last-child,
footer .et_pb_widget_area .fwidget:last-child,
header .et_pb_module.et_pb_widget_area .et_pb_widget:last-child, 
footer .et_pb_module.et_pb_widget_area .et_pb_widget:last-child {
	margin-bottom: 0px !important;
}
footer .et_pb_module.et_pb_widget_area .et_pb_widget .menu-main-menu-container ul.sub-menu {
	display: none;
}

	@media all and (min-width: 480px) {
		footer #footerContent.et_pb_section  .et_pb_row .et_pb_column:not(:last-child) {
			border-right: 2px solid rgba(0,0,0,0.2);
		}
	}

/* ============================================================
	Zijbalk
============================================================ */

body.archive.category .et_pb_widget.recent-posts-widget-with-thumbnails,
body.blog .et_pb_widget.recent-posts-widget-with-thumbnails {
	display: none !important;
}

/* ============================================================
	Content
============================================================ */

.ctaList.et_pb_module  {
/*	margin:0;
	padding:30px;
	width:100%;
	background-color:var(--dmstok-blue-l);
	border-radius:35px*/
}
.ctaList.et_pb_module  ul {
	--column-count:1;
	--column-gap:.5rem;
	display:grid;
	grid-template-columns:repeat(var(--column-count),1fr);
	gap:var(--column-gap);
	width:100%;
	list-style: none;
	padding: 15px 20px;
}
.ctaList.et_pb_module  ul li {
	--check-size:35px;
	position:relative;
	padding: 20px;
	padding-left:calc(var(--check-size) + 20px);
	margin:0;
	font-size:14px;
	text-wrap:balance;
	color:var(--mkb-black)
}
.ctaList.et_pb_module  ul li strong {
	display:inline-block;
	font-size:18px;
	color:var(--dmstok-blue)
}
.ctaList.et_pb_module  ul li strong::after {
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	font-size:calc(var(--check-size) / 100 * 110);
	content:"\f00c";
	color: var(--dmstok-blue);
	position:absolute;
	left:.15em;
	top:.32em;
	z-index:20
}
.ctaList.et_pb_module  ul li strong::before {
	--bg-size:calc(var(--check-size) / 100 * 80);
	content:" ";
	width:var(--check-size);
	height:var(--check-size);
	border-radius:50%;
	background-color:#fff;
	position:absolute;
	left:.1em;
	top:.3em;
	z-index:10
}
@media all and (min-width:981px) {
	.ctaList.et_pb_module  ul {
		--column-count:3;
		--column-gap:3rem
	}
	.ctaList.et_pb_module  ul li {
		--check-size:50px;
		font-size:17px
	}
	.ctaList.et_pb_module  ul li strong {
		font-size:24px
	}
	.ctaList.et_pb_module  ul li:not(:first-child)::after {
		display:block;
		content:"";
		background:#fff;
		width:2px;
		height:100%;
		position:absolute;
		top:0;
		left:calc(calc(var(--column-gap) / 2) * -1)
	}
}
@media all and (max-width:980px) {
	.ctaList.et_pb_module  ul li:not(:last-child) {
		border-bottom:2px solid #fff;
		padding-bottom:var(--column-gap)
	}
}

/* ============================================================
Grid blokken stijl (3 columns)
============================================================ */
.gridBlocks {
	--column-count: 3;
	--column-gap: 40px 75px;
	display: grid;
	grid-template-columns: repeat(var(--column-count), 1fr);
	gap: var(--column-gap);
}
	/* Responsive Styles Tablet And Below */
	@media all and (max-width: 980px) {
		.gridBlocks {
			--column-count: 2;
			--column-gap: 20px 40px;
		}
	}
	/* Responsive Styles Smartphone Portrait */
	@media all and (max-width: 479px) {
		.gridBlocks {
			--column-count: 1;
		}		
	}

/* ============================================================
Product Cat Overview
============================================================ */
.taxListContainer {
	--min-col-size: 150px;
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--min-col-size),100%), 1fr) );
	width: 100%;
}
.taxListContainer .cat {
	position: relative;
	display: flex;
	flex-direction: column;
	/*justify-content:flex-end;*/
	box-shadow: 2px 4px 6px rgba(0,0,0,0.15);
	border: 1px solid var(--dmstok-grey);	
	background-color: #fff;
	color: #333;
}
.taxListContainer .cat > a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.taxListContainer .cat div + div {
	/*margin-top: 10px;*/
}
.taxListContainer .cat .catImg {
	--img-width: 100%;
	--img-height: 60%;
	display: block;
	width: var(--img-width);
	padding-top: var(--img-height);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-color: #fff;
}
.taxListContainer .cat.bg_contain .catImg {
	--img-width: calc(100% - 20px);
	--img-height: calc(60% - 10px);
	margin: 10px 10px 0;

}
.taxListContainer .cat .catTitle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 20px 10px;
	text-align: center;
	font-size: 26px;
	font-weight: 600;
	text-wrap: balance;
	transition: all .3s ease;
}
	.taxListContainer .cat.active .catTitle,
	.taxListContainer .cat:hover .catTitle {
		background-color: var(--dmstok-blue);
		color: #fff;
	}

	/* Responsive Styles Tablet And Below */
	@media all and (max-width: 980px) {
		.taxListContainer {
			margin-top: 20px;
		}
		.taxListContainer .cat .catTitle {
			font-size: 20px;
			padding: 10px;
		}
	}

/* ============================================================
Product overview (archive)
============================================================ */
.productenContainer { }
.productenContainer .product {
	position: relative;
	padding: 10px;
	color: #333;
	background-color: #fff;
	border: 1px solid var(--dmstok-grey);
	box-shadow: 2px 4px 6px rgba(0,0,0,0.15);
	transition: all .3s ease;
}
	.productenContainer .product:hover {
		background-color: var(--dmstok-blue);
		color: #fff;
	}
.productenContainer .product > a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.productenContainer .product div + div {
	margin-top: 10px;
}
.productenContainer .product .pImg {
	display: block;
	width: 100%;
	padding-top: 25%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-color: #fff;
}
.productenContainer .product .pTitle {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
}
	/* Responsive Styles Tablet And Below */
	@media all and (max-width: 980px) {
		.productenContainer .product .pTitle {
			font-size: 20px;
		}
	}

/* ============================================================
Product single
============================================================ */
/*Tabel*/
.specContainer {}
.specContainer table {
	width: 100%;	
}
.specContainer table tr {}
.specContainer > table > tbody > tr:nth-child(odd) {
	background-color: rgba(255,255,255,0.4);
}
.specContainer > table > tbody > tr table tr:nth-child(odd) {
	background-color: rgba(0,0,0,0.07);
}
.specContainer table tr td {
	vertical-align: top;
	border: 1px solid var(--dmstok-grey);
	padding: 5px;
	color: #000;
	font-size: 16px;
	line-height: 1;
}
.specContainer table tr td.label {
	width: 35%;
	/*min-width: 170px;*/
	border-right-color: rgba(0,0,0,0.2);
}

.infobladContainer {
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.infobladContainer h3 {
	padding: 0px;
}
.infobladContainer a {
	padding: 6px 10px;
	font-weight: 600;
	color: #fff;
	background-color: var(--dmstok-blue);
	border: 2px solid var(--dmstok-blue);
	border-radius: 25px;
	transition: all .3s ease;
}
	.infobladContainer a:hover {
		color: var(--dmstok-blue);
		background-color: #fff;
	}

	/* Media Queries - Divi: 
	================================================== */
	@media all and (max-width: 650px) {
		.infobladContainer {
			flex-direction: column;
		}
	}

/* ============================================================
Producten file_overview
============================================================ */
.file_overview {}
.file_overview .category {
	margin-bottom: 10px;
	border-bottom: 1px solid var(--dmstok-brown);
}
.file_overview .category ul.producten {
	margin: 0px;
	padding: 0px; 
}
.file_overview .category ul.producten li.product {	
	display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
    padding-left: 10px;
    font-size: 15px;
	transition: all .3s ease;
}
	.file_overview .category ul.producten li.product:hover {
		background-color: rgba(0,0,0,0.07);
	}

.file_overview .category ul.producten li.product .infobladContainer .title {
	font-style: italic;
	font-size: 12px;
}
.file_overview .category ul.producten li.product .infobladContainer a {
	font-size: 12px;
	padding: 2px 6px;
}	

	/* Media Queries - Divi: 
	================================================== */
	@media all and (max-width: 650px) {
		.infobladContainer,
		.file_overview .category ul.producten li.product {
			flex-direction: column;
			align-items: baseline;
			gap: 10px;
		}
		.file_overview .category ul.producten li.product {
			border-bottom: 1px solid var(--dmstok-blue-l);
			padding-bottom: 10px;
		}
	}
	@media all and (min-width: 480px) and (max-width: 650px) {
		.infobladContainer {
			flex-direction: row;
		}
	}
/* ============================================================
Plugin: wp page navi
============================================================ */
div.wp-pagenavi-button::after,
div.wp-pagenavi::after {
	clear: both;
	content: " ";
	display: block;
}
div.wp-pagenavi-button,
div.wp-pagenavi {	
	clear: both;
	margin: 30px auto 0 auto ;
	padding-top: 25px;	
	text-align: center;
	border-top: 1px solid #e2e2e2;
}
div.wp-pagenavi > * {
	display: inline-block;
	height: 45px;
	min-width: 40px;
	padding: 10px;
	color: var(--dmstok-blue);
	font-weight: 600 !important;
	line-height: 26px;
	text-align: center;
	border-radius: 10px;
	transition: all .3s ease;
}

div.wp-pagenavi span.current {
	font-weight: 800 !important;
	color: #fff;
	border-color: var(--dmstok-blue);
	background-color: var(--dmstok-blue);
}
div.wp-pagenavi span.current,
div.wp-pagenavi span.pages {
	cursor: default;
}
div.wp-pagenavi a.nextpostslink, 
div.wp-pagenavi a.previouspostslink {
	font-size: 20px !important;
	line-height: 1em;
}
	div.wp-pagenavi a:hover {}



/* ============================================================
Gravity Forms
============================================================ */
.gform_wrapper .gform_fields .gfield::after,
.mainContent .gform_wrapper::after,
body .gform_widget .gform_footer::after,
.gform_wrapper .gform_footer::after {
	clear: both;
	content: " ";
	display: block;
}
body div.gform_wrapper {
	margin-bottom: 0px;
	margin-top: 0px;
}
body div.gform_wrapper.gravity-theme .gform_footer{
	margin-bottom: 0px;
	padding-bottom: 0px;
}

/*** REMOVE LABEL ON FIELDS USING PLACEHOLDER ***/
body .gform_widget form:not(.showLabels) .top_label .gfield:not(.showLabel) .gfield_label,
.gform_wrapper form:not(.showLabels) .top_label .gfield:not(.showLabel) .gfield_label,
body .gform_widget form:not(.showLabels) .field_sublabel_below .ginput_complex.ginput_container label,
.gform_wrapper form:not(.showLabels) .field_sublabel_below .ginput_complex.ginput_container label {
	display: none;
}

.mainContent .gform_wrapper {
	border: 1px solid #e2e2e2;
	padding: 1px 0px 5px 16px;
}
.mainContent .gform_wrapper h3.gform_title { color: #006c82 ; }

/*** FIELD STYLING ***/
.gform_wrapper select,
.gform_wrapper input[type=url],
.gform_wrapper input[type=email],
.gform_wrapper input[type=password],
.gform_wrapper input[type=text],
.gform_wrapper textarea {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #2f2f2f !important;
	padding: 8px !important;
	min-height: 40px;
}
body div.et_pb_widget select { height: auto; }

.gform_wrapper .gfield select[disabled="disabled"],
.gform_wrapper .gfield input:not([type="radio"],[type="checkbox"]):read-only {
	background-color: rgba(0,0,0,0.06);
	border-color: #a4a4a4;
	opacity: 0.4;
	cursor: default;
}
body .gform_widget .gform_wrapper ul li.gfield {
	margin-top: 5px;
	padding: 0px;
}
.gform_wrapper .gfield .ginput_container_address span { margin-top: 16px; }
.gform_wrapper .gfield .ginput_container_address span:first-child { margin-top: 0px; }

/*** BUTTON STYLING ***/
body .gform_wrapper .gform_page_footer .button.gform_next_button,
body .gform_wrapper .gform_page_footer .button.gform_previous_button,
body .gform_wrapper .gform_page_footer .button.gform_button,
body .gform_wrapper .gform_page_footer input.button.gform_next_button,
body .gform_widget .gform_footer input.button,
body .gform_wrapper .gform_footer input.button,
body .gform_wrapper button.bereken {
	padding: 10px 20px !important;
	font-size: 18px;
	font-weight: 600 !important;
	text-transform: uppercase;
	line-height: 1.4em;
	letter-spacing: 2px;
	color: #fff !important;
	background-color: var(--dmstok-blue);
	border: 1px solid var(--dmstok-blue);
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.3s ease;
}
body .gform_wrapper .gform_footer {
		justify-content: flex-end;
}
body .gform_wrapper .gform_page_footer .button.gform_button,
body .gform_wrapper .gform_page_footer input.button.gform_next_button,
body .gform_widget .gform_footer input.button,
body .gform_wrapper .gform_footer input.button {
	float: right;
}

/*** BUTTON HOVER STYLING ***/
body .gform_wrapper .gform_page_footer .button.gform_next_button:hover,
body .gform_wrapper .gform_page_footer .button.gform_previous_button:hover,
body .gform_wrapper .gform_page_footer .button.gform_button:hover,
body .gform_wrapper .gform_page_footer input.button.gform_next_button:hover,
body .gform_widget .gform_footer input.button:hover,
body .gform_wrapper .gform_footer input.button:hover,
body .gform_wrapper button.bereken:hover {
	color: var(--dmstok-blue) !important;
	background-image: initial !important;
	background-color: rgba(255,255,255,1) !important;
	border: 1px solid var(--dmstok-blue);	
}	
