/* Component styles */
/* Mega submenu base (adjust selector if the menu ID/class differs) */
#top-menu > li.mega_menu {
  position: relative;
}
#et-top-menu{
	float:right;
}
#et-top-menu ul {
	display:inline-flex
}
#et-top-menu ul li{
	padding:0px 10px;
}
/* Hide by default; show on hover/focus */
#top-menu > li.mega_menu > .sub-menu {
  display: none;
  position: absolute;
  left: -200px;
  top: 100%;
  z-index: 999;
  width: 700px;               /* adjust width as needed */
  padding: 18px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  background: #fff;
  border-radius: 8px;
  box-sizing: border-box;
  overflow: hidden;
}

/* Grid layout for the mega content (3 items) */
#top-menu > li.mega_menu > .sub-menu {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0px;
  align-items: start;
}

/* Show submenu on hover / keyboard focus */
#top-menu > li.mega_menu:hover > .sub-menu,
#top-menu > li.mega_menu:focus-within > .sub-menu,
#top-menu > li.mega_menu.open > .sub-menu {
  display: grid;
  padding: 0px;
    margin: 0px;
}
#top-menu > li.mega_menu > ul > li{
	padding:0px;
	border-right: 1px solid #eee;
	min-height:125px
}
/* Zorg dat elke kolom (li) en de link (a) even hoog kunnen worden */
#top-menu > li.mega_menu > .sub-menu > li{
  display: flex;             /* maakt het mogelijk om de <a> te stretchen */
}

#top-menu > li.mega_menu > .sub-menu > li > a{
  display: flex;             /* card layout */
  flex-direction: column;
  height: 100%;              /* <-- key: vult volledige hoogte van de kolom */
  width: 100%;
  box-sizing: border-box;
}

/* Hover: background over de volledige kaart */
#top-menu > li.mega_menu > .sub-menu > li:hover > a,
#top-menu > li.mega_menu > .sub-menu > li:focus-within > a{
  background: #e8f1ec;
}

/* jouw icon-circle hover blijft werken */
#top-menu > li.mega_menu > .sub-menu > li:hover .menu-item-image-wrap{
  background: #FDBF13;
}

}
#top-menu > li.mega_menu > ul > li:hover .menu-item-image-wrap{
	background:#FDBF13
}
#top-menu li.mega_menu  li a{
	width: 100%;
    padding: 11px 10px;
}
/* Individual card styles */
#top-menu .menu-item-with-image {
  padding: 14px;
  border-radius: 10px;
  transition: transform .18s ease, box-shadow .18s ease;
  text-align: center;
  min-height: 120px;
  box-sizing: border-box;
}
#top-menu .menu-item-with-image:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* Image wrapper */
#top-menu .menu-item-image-wrap {
	display: block;
    width: 70px;
    height: 70px;
    background: #e8f1ec ;
    margin: 0 auto 10px;
    border-radius: 60px;
}
#top-menu .menu-item-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Title & description */
#top-menu .menu-item-with-image h3 {
  font-size: 16px;
    margin: 0 0 6px;
    line-height: 1.1;
    font-weight: 700;
	color: #154c52;
}
#top-menu .menu-item-with-image p {
  margin: 0;
  font-size: 14px;
  font-weight:300;
  opacity: 0.85;
  color: #154c52;
}

/* Make sure the top-level link still shows inline */
#top-menu > li.mega_menu > a {
  position: relative;
  z-index: 1000;
}
.grey_bg{
	background: #e8f1ec !important;
}
body.home.et_fixed_nav #top-header, body.home.et_fixed_nav.et_secondary_nav_enabled #main-header{
	background: #143c41 !important;
	box-shadow:none;
}
body.home.et_fixed_nav  div#et-top-menu ul li a {
	color:#fff;
}
body.home.et_fixed_nav.et_header_style_left #et-top-navigation nav>ul>li>a{
	color:#fff  !important
}
body.home.et_fixed_nav div#et-info span,body.home.et_fixed_nav div#et-info a{
	color:#fff;
}
body.inner-page.et_fixed_nav #top-header, body.inner-page.et_fixed_nav.et_secondary_nav_enabled #main-header{
	background: #e8f1ec !important;
	box-shadow:none;
}
body.et_fixed_nav #top-header {
    padding: 7px 0;
}
div#et-info span, div#et-info a {
    color: #154c52;
}

div#et-top-menu ul li a {
    color: #154c52;
    font-size: 12px;
}
.et_pb_svg_logo #logo {
    max-width: 190px;
}
 .et_header_style_left #main-header #et-top-navigation{
	padding-top: 20px;
}
#main-header  #top-menu>li:last-child {
    padding-right: 20px;
    padding-left: 50px;
}
.et_header_style_left #et-top-navigation nav>ul>li>a {
    font-family: 'Figtree', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #154c52 !important;
    opacity: 1;
}

.et_header_style_left #et-top-navigation nav>ul>li:last-child >a  {
    background-color: #FDBF13;
    color: #3A3A3A;
    padding-top: 10px;
    padding-bottom: 10px !important;
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 50px;
    font-family: 'Figtree', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 15.6px;
	

}


div#et-top-menu ul li:last-child a:after {
    content: '';
}
div#et-top-menu ul li a:after {content: '|';padding-left: 10px;}


.price-table-layout{
		border-radius: 10px 10px 10px 10px;
    overflow: hidden;
    border-width: 1px;
    border-color: #e5ebe3;
    padding-top: 25px;
    padding-right: 20px;
    padding-bottom: 25px;
    padding-left: 20px;
	}
.price-table-layout .et_pb_pricing_heading{
	background-color: transparent;
    padding: 0;
    position: relative;
}
.price-table-layout .et_pb_et_price .et_pb_sum {
    font-size: 50px;
    font-weight: 700;
    color: #154c52;
    text-align: center;
    display: block;
    margin-top: 15px;
}
.price-table-layout .et_pb_et_price .et_pb_duration{
	font-weight: 300;
    font-size: 14px;
    text-align: center;
	 color: #154c52;
}
.price-table-layout .et_pb_pricing_content ul li {
 position: relative;
    list-style: none;
    font-weight: 300;
    font-size: 14px;
    color: #154c52;
    padding: 11px 0 11px 20px;
    border-top: 1px solid #e4e2e2;
}

.price-table-layout  .eps_btn_sec.active_class a{
	background-image: linear-gradient(90deg,#fdbf13 0%,#fdbf13 61%,#ffe08a 100%);
	border: 0px;
    padding: 13px 0;
}
.price-table-layout  .eps_btn_sec a {
    display: block;
    width: 100%;
   
    text-align: center;
    padding: 11px 0;
    font-size: 14px;
    color: #154c52;
    border-radius: 100px;
	border:2px solid #154c52;
}
.price-simple-layout {
    border-bottom: 1px dashed !important;
    margin: 0px !important;
}
.price-table-layout .et_pb_pricing_content_top{
	border:0px
}
.price-table-layout .et_pb_pricing_content p.extra_text{
	font-size:12px;
}
.price-table-layout .et_pb_pricing_content ul li::before {
  content: "✔";
  color: #5cda5c; /* You can change the color */
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 11px;
}

.price-table-layout .et_pb_pricing_content p{
	font-weight: 300;
    font-size: 14px;
    text-align: center;
	 color: #154c52;
	 width:100%;
	 margin-top:10px;
}
.price-table-layout .et_pb_pricing_content{
	padding:0px
}
.price-table-layout .et_pb_pricing_heading .et_pb_pricing_title{
	font-weight: 700;
    font-size: 28px;
    text-align: center;
	 color: #154c52;
}
.et_pb_accordion_0.et_pb_accordion .et_pb_accordion_item, .et_pb_accordion_1.et_pb_accordion .et_pb_accordion_item {
    border-radius: 10px 10px 10px 10px;
    overflow: hidden;
	background:#fff;
	color: #154c52;
	margin-bottom: 20px !important;
}
.et_pb_accordion h5.et_pb_toggle_title {
    font-size: 18px;
    font-weight: 700;
	color: #154c52;
}
.padding0 .price-table-layout {
    margin-top: 0px;
}
.max_height .price-table-layout .et_pb_pricing_content ul {
    min-height: 496px;
}
.max_header h1.et_pb_module_header {
    margin-top: 80px;
    margin-bottom: 30px;
}
.cater_section span.et_pb_image_wrap {
    max-width: 60px;
    background: #31757d;
    padding: 14px 10px 18px 10px;
    border-radius: 100%;
	width: 55px;
}
.cater_section  h4.et_pb_module_header {
    font-size: 32px;
    font-weight: 700;
    color: #414040;
}

.cater_section .et_pb_blurb_description p a{
	color:#154c52;
}
.cater_section .et_pb_blurb_description p {
    font-size: 20px;
    color: #414040;
}

.custom_banner span.et_pb_image_wrap {
    max-width: 60px;
    background: #31757d;
    padding: 14px 10px 18px 10px;
    border-radius: 100%;
}
.custom_banner .et_pb_heading .et_pb_module_header {
    font-size: 32px;
    color: #fff;
}

.custom_banner .et_pb_text_inner p {
    color: #fff;
    font-weight: 300;
    font-size: 16px;
    text-align: left;
}
.et_pb_text_3_tb_footer .et_pb_text_inner p{
	color:rgba(255,255,255,.7)
}
.custom_banner .et_pb_bg_layout_light.et_pb_module.et_pb_button {
	background-image: linear-gradient(90deg,#fdbf13 0%,#fdbf13 61%,#ffe08a 100%);
	color: #154c52;
	border-radius: 60px;
    font-size: 14px;
    padding: 10px 30px;
    position: relative;
    top: 25px;
}



.custom_banner .et_pb_image_1.et_pb_image.et_pb_module.et_flex_module.custom_banner > span {max-width: 60px;display: inline-flex;position: relative;top: 23px;}

.custom_banner .et_pb_image_1.et_pb_image.et_pb_module.et_flex_module.custom_banner > div {
    display: inline-flex !important;
    max-width: calc(100% - 76px);
    padding-left: 10px;
}

.custom_banner .et_pb_image_1.et_pb_image.et_pb_module.et_flex_module.custom_banner {
    display: inline-block;
}

.custom_banner >.et_pb_row_5.et_pb_row.et_flex_row {
    border-radius: 10px;
    padding: 40px;
}

.price-table-layout .et_pb_pricing_content ul li:hover {
    background: #fdbf13;
    cursor: pointer;
}
.et_pb_accordion  .et_pb_toggle_content p{
	font-size: 16px;
    font-weight: 300;
	color: #154c52;	
}
.price-simple-layout .et_pb_pricing_heading {
    background: transparent;
    padding: 0px;
    border: 0px;
}

.price-simple-layout {
    border: 0px;
}



.price-simple-layout .simple_view {
    display: flex;
    justify-content: space-between;
}
.price-simple-layout .simple_view .et_pb_pricing_heading h2:hover{
	color:#fdbf13;
	text-decoration:underline;
	cursor:pointer;
}
.price-simple-layout .simple_view .et_pb_pricing_content_top{
	border:0px;
}
.price-simple-layout .simple_view .et_pb_et_price span {
    font-size: 20px;
    font-weight: 700;
    color: #154c52;
}

.price-simple-layout .simple_view .et_pb_pricing_heading p {
	color: #154c52;
    text-align: left;
    font-size: 16px;
    font-weight: 400;	
}
.price-simple-layout .simple_view .et_pb_pricing_heading h2 {
    color: #154c52;
    text-align: left;
    font-size: 20px;
    font-weight: 700;
}
#top-menu-nav  li.mega_menu > .sub-menu .mobile-menu{
	display:none;
}

  .flip-wrapper{
    perspective: 1200px;
    max-width:var(--card-w);
	width:100%;
    height:var(--card-h);
	    margin-bottom: 40px;
	    overflow:hidden;
	    border-radius:var(--radius);
	    box-shadow:var(--shadow);
  }

  .flip-card{
    width:100%;
    height:100%;
    position:relative;
    transform-style:preserve-3d;
    transition:transform var(--duration) var(--timing);
    border-radius:0;   /* <-- nieuw (of gewoon weglaten) */
    box-shadow:none;   /* <-- nieuw (of gewoon weglaten) */
    cursor:pointer;
    background:#31757d;
  }

  /* flip only the hovered one */
  .flip-wrapper:hover .flip-card,
  .flip-card.is-flipped{
    transform:rotateY(180deg);
  }

  .flip-face.flip-back{
	  padding:0px;
  }
  .flip-face{
    position:absolute;
    inset:0;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;  /* <-- toevoegen */
     transform-style:preserve-3d;         /* <-- toevoegen (Firefox robustness) */
     will-change:transform;  
    border-radius:var(--radius);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    box-sizing:border-box;
  }

  .flip-front{
    z-index:2;
   
    color:#0b2540;
  }
 .flip-front .card-title {
    font-size: 20px;
    line-height: 1.3em;
    color: #fff;
    font-weight: 600;
    margin-top: 6px;
}

.flip-front .card-sub {
    font-size: 16px;
    color: #fdbf13 !important;
    line-height: 1.1em;
    font-weight: 300;
    margin-top: 10px;
}
.flip-front .card-logo img{
	max-width:100%;
}
.flip-front .card-logo {
    max-width: 65px;
    margin-top: 25px;
}
.flip-front .card-logo img {
    border-radius: 100%;
    min-height: 60px;
}
  .flip-back{
    transform:rotateY(180deg);
    background:linear-gradient(180deg,#0b2540,#0b2a4a);
    color:#fff;
  }
 .flip-back .card-title {
    width: 100%;
    height: var(--card-h);
    display: flex;
    vertical-align: middle;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    text-align: center;
    line-height: 1.3em;
    font-weight: 700;
}
.et_flex_grid_row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 20px;
	
}

.et_flex_grid_row .et_pb_grid_column {
    flex: 0 0 32%;
}
  .flip_card_image{
	  border-radius:var(--radius);
	width: 100%;  
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-blend-mode: overlay !important;
    background-color: rgba(0, 0, 0, 0.32) !important;
  }
  .swiper-buttonprev {
       border: 2px solid #31757d;
    padding: 12px 13px 6px 13px;
    display: inline-block;
    border-radius: 50px;
    text-align: center;
    position: absolute;
    right: 58px;
    cursor: pointer;
    bottom: 2px;
}

.swiper-buttonprev svg {
    width: 22px;
    height: 22px;
    fill: #31757d;
    transform: rotate(180deg);
}
.swiper-buttonnext {
       border: 2px solid #31757d;
    padding: 12px 13px 6px 13px;
    display: inline-block;
    border-radius: 50px;
    text-align: center;
    position: absolute;
    right: 0px;
    cursor: pointer;
    bottom: 2px;
}

.swiper-buttonnext svg {
    width: 22px;
    height: 22px;
    fill: #31757d;
   
}
   .swiper {
            width: 100%;
            padding: 30px 0;

        }
        .swiper-slide {
           
            border-radius: 10px;
           
           
            display: flex;
            align-items: center;
           
            
        }
		.global_footer .et_pb_text_inner p {
    color: #fff;
    width: 100%;
}
.footer_btn a:hover:after{
		display:none !important;
}
.footer_btn a:hover{
	     padding: 12px 20px !important;
    color: #fff !important;
    border: 0px !important;
}
.et_pb_group_0_tb_footer.et_pb_group.et_pb_module.et_grid_group.et_pb_css_mix_blend_mode_passthrough.footer_btn {
    display: flex;
}
.footer_btn a {
    background-image: linear-gradient(90deg,#fdbf13 0%,#fdbf13 61%,#ffe08a 100%);
    border: 0px;
    border-radius: 50px;
    padding: 12px 20px;
    color: #143c41 !important;
    font-size: 14px;
    font-weight: 700 !important;
}

.footer_btn > div {
    max-width: 250px;
}

/* Normale staat */
.et-db #et-boc .et-l .footer_video_icon .et_pb_icon_0_tb_footer.video_icon .et_pb_icon_wrap .et-pb-icon {
    color: #143c41;
    font-size: 60px;
    cursor: pointer;
}

/* Hover staat */
.et-db #et-boc .et-l .footer_video_icon .et_pb_icon_0_tb_footer.video_icon .et_pb_icon_wrap .et-pb-icon:hover {
    color: #fdbf13;
}

.video_icon {
    position: absolute;
    left: 50%;
    top: 50%;
	z-index:9;
}
.global_footer .software_text  .et_pb_text_inner p {
    color: #fff;
    width: 100%;
    font-size: 12px;
}
.global_footer {
    padding-bottom: 75px !important;
}
/* ========== LIGHTBOX BASE ========== */
.pre-studiopampas-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999999;
}

.pre-studiopampas-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(10, 10, 10, 0.7);
  top: 0;
  left: 0;
  backdrop-filter: blur(4px);
}

/* ========== POPUP BOX ========== */
.pre-studiopampas-popup {
  position: relative;
  background: #fff;
 padding:0 20px;
  border-radius: 14px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-width: 800px;
  width: 90%;
  text-align: center;
  animation: pre-studiopampas-fadeIn 0.3s ease;
  z-index: 2;
}

.pre-studiopampas-popup h2 {
  margin-top: 0;
  color: #333;
}

.pre-studiopampas-popup p {
  color: #666;
  font-size: 15px;
}

/* ========== CLOSE BUTTON ========== */
.pre-studiopampas-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 32px;
  color: #333;
  cursor: pointer;
  transition: color 0.2s;
}

.pre-studiopampas-close:hover {
  color: #000;
}

/* ========== BUTTON ========== */
.pre-studiopampas-btn {
  background: #007bff;
  color: white;
  border: none;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s;
}

.pre-studiopampas-btn:hover {
  background: #0056b3;
}


/* ========== ANIMATION ========== */
@keyframes pre-studiopampas-fadeIn {
  from {
    transform: scale(0.95);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
.mfp-iframe{
	width:100%;
	height:500px
}


/* Migrated from Divi Theme Options custom CSS */

/* Language-specific popup visibility */
.popup-lang { display:none; }
html[lang^="nl"] .popup-nl { display:block; }
html[lang^="fr"] .popup-fr { display:block; }
html[lang^="en"] .popup-en { display:block; }

/* Notice bar */
.divi-notice-bar {
  display: none;
  width: 100%;
  background: #FDBF13;
  color: #154c52;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
  padding: 8px 12px;
  text-decoration: none;
  font-weight: 600;
  z-index: 9999;
}

html[lang^="nl"] .divi-notice-bar {
  display: block;
}

.divi-notice-bar:hover {
  background: #dca610;
}

.divi-notice-bar:focus {
  outline: 2px solid #fff;
  outline-offset: -2px;
}

/* Popup overlay */
#popupOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2147483647;
  display: none;
  justify-content: center;
  align-items: center;
}

#popupBalloonCentered {
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  text-align: center;
  max-width: 320px;
  width: 90%;
  animation: fadeIn 0.2s ease-out;
}

#popupBalloonCentered p {
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 18px;
}

#popupBalloonCentered a {
  display: block;
  margin: 8px 0;
  text-decoration: none;
  color: #154c52;
  font-weight: 500;
}

#popupBalloonCentered a:hover {
  text-decoration: underline;
}

@keyframes fadeIn {
  from { transform: scale(0.95); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

body.popup-open {
  overflow: hidden;
  position: relative;
}

/* Header and menu tweaks migrated from Divi Theme Options */
#main-header #top-menu > li:last-child {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (max-width: 1145px) and (min-width: 980px) {
  #main-header #top-menu > li:last-child {
    display: none !important;
  }
}

@media all and (max-width: 980px) {
  #top-header .container {
    padding-top: 10px !important;
  }
}

#et-info {
  display: none;
}

#et-top-menu {
  height: 35px;
}

body.home #top-header,
body.home.et_secondary_nav_enabled #main-header {
  background: #143c41 !important;
  box-shadow: none;
}

body.home.et_header_style_left #et-top-navigation nav > ul > li > a,
body.home div#et-top-menu ul li a {
  color: #fff !important;
}

#top-header,
.et_secondary_nav_enabled #main-header {
  background: #e8f1ec !important;
  box-shadow: none;
}

div#et-top-menu ul li a,
.et_header_style_left #et-top-navigation nav > ul > li > a {
  color: #143c41 !important;
}

.nav li ul.sub-menu {
  border-top: 0;
  border-radius: 15px !important;
}

.mobile_menu_bar::before,
.mobile_menu_bar::after,
#top-menu li.current-menu-ancestor > a,
#top-menu li.current-menu-item > a {
  color: #154c52;
}

/* Decorative shape */
.half-circle-right {
  position: relative;
  overflow: hidden;
}

.half-circle-right::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -25vw;
  transform: translateY(-75%);
  width: 50vw;
  height: 50vw;
  border-radius: 50%;
  background-color: #c3ced0;
}

/* WP PageNavi */
.wp-pagenavi a,
.wp-pagenavi span {
  color: #000000 !important;
  background: #f1f3f5;
  font-size: 1em !important;
  line-height: 1em;
  font-weight: bold !important;
  padding: 0.45em 0.8em !important;
  border-radius: 100px;
  border: none;
  transition: all .5s;
}

.wp-pagenavi span.current {
  border-radius: 100px;
}

.wp-pagenavi a:hover {
  color: #ffffff !important;
  background: #154c52 !important;
}

.wp-pagenavi .pages {
  background: none;
}

.wp-pagenavi span.pages,
.wp-pagenavi span.extend,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi a {
  color: #000000 !important;
}

.wp-pagenavi {
  border-top: none;
  text-align: center;
}
