/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */

/* =========================================================
  Standard Font Family body text
   ========================================================= */
   
   
p { font-family: "new-kansas", sans-serif;
font-weight: 400;
}

#cmplz-cookies-overview .cmplz-dropdown[open], #cmplz-document .cmplz-dropdown[open], .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown[open],
#cmplz-document ul{ 
font-family: "new-kansas", sans-serif;
}

#cmplz-document p {
font-size:16px !important;}

@media (max-width: 767px) {
  .et_pb_heading .et_pb_heading_container h2,
  .et_pb_heading .et_pb_heading_container h3,
  .et_pb_heading .et_pb_heading_container h4,
  .et_pb_heading .et_pb_heading_container h5,
  .et_pb_heading .et_pb_heading_container h6 {
    overflow-wrap: anywhere;
    word-break: break-word;
    
  }
}

@media (max-width: 767px) {
  .et_pb_heading .et_pb_heading_container h1 {
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;    
  }
}

.et_pb_menu--without-logo .et_pb_menu__menu > nav > ul {
    font-family: new-kansas,sans-serif;
}

.ssbm-login-notice,
.ssbm-login-actions,
.ssbm-cta-btn login,
.ssbm-cta-btn register{
    font-family: new-kansas,sans-serif;
}


/* =========================================================
  CSS login shortcode topmenu
   ========================================================= */
.custom-auth-button {
  display: inline-block;
  padding: 10px 20px;
  background: #d99c59;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
}

.custom-auth-button:hover {
  background: #be884c;
}

.auth-links a {
  font-family: "new-kansas", sans-serif;
  text-decoration: none;
  font-weight: 400;
}

.auth-sep {
  opacity: .5;
  margin: 0 6px;
    }

.auth-login,
.auth-account,
.auth-logout {
  color: #d99c59;
}

.auth-login:hover,
.auth-account:hover,
.auth-logout:hover {
  color: #be884c    ;
}

/* =========================================================
  CSS for Ultimate Member 
   ========================================================= */

/* UM form in deze module: full width en links uitlijnen */
.um-fullwidth .um,
.um-fullwidth .um.um-34,
.um-fullwidth .um-34.um {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Soms staat er nog een inner container die beperkt: ook openzetten */
.um-fullwidth .um-form,
.um-fullwidth .um-form form {
  width: 100% !important;
  max-width: none !important;
}


.um-fullwidth .um .um-cover-add:hover, .um .um-field-checkbox.active:not(.um-field-radio-state-disabled) i, .um .um-field-radio.active:not(.um-field-radio-state-disabled) i, .um .um-item-meta a, .um .um-member-less a:hover, .um .um-member-more a:hover, .um .um-member-name a:hover, .um .um-members-pagi a:hover, .um .um-profile-subnav a.active, .um .um-tip:hover, .um-account-name a:hover, .um-account-nav a.current, .um-account-side li a.current span.um-account-icon, .um-account-side li a.current:hover span.um-account-icon, .um-dropdown li a:hover, i.um-active-color, span.um-active-color {
    color: #D99C59;
}

/* Registratieknop (blauw → oranje) */
.um input[type=submit].um-button:not(.um-alt),
.um a.um-button:not(.um-alt) {
  background-color: #D99C59 !important;
  border-color: #D99C59 !important;
  color: #fff !important;
}

/* Hover */
.um input[type=submit].um-button:not(.um-alt):hover,
.um a.um-button:not(.um-alt):hover {
  background-color: #be884c !important;
  border-color: #be884c !important;
}

.um-request-button {
    background-color: #D99C59;
}
.um-request-button:hover {
    background-color: #be884c;
}


.um-account-main div.um-account-heading {
	padding-bottom:20px;
}

.um a.um-link {
    color:#D99C59;
}
.um a.um-link:hover {
    color:#be884c;
}
.picker__box, .picker__nav--next:hover, .picker__nav--prev:hover, .um .um-field-group-head, .um .um-members-pagi span.current, .um .um-members-pagi span.current:hover, .um .um-profile-nav-item.active a, .um .um-profile-nav-item.active a:hover, .um-modal-btn, .um-modal-btn.disabled, .um-modal-btn.disabled:hover, .um-modal-header, .upload, div.uimob800 .um-account-side li a.current, div.uimob800 .um-account-side li a.current:hover {
    background: #D99C59;
}

.um-profile.um .um-profile-headericon a:hover  {
    color: #D99C59;
}

.um-account-meta {
    display:none;
}

div.uimob500 .um-account-meta {
    display: none;
}

/* =========================================================
   DIVI MENU: underline image from center (hover + active)
   Module class: custom-underline-menu
   Pattern repeats every 5 items
   (optimized for sharp rendering)
   ========================================================= */

/* Link is the anchor for the pseudo element */
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li > a{
  position: relative;
  display: inline-block;
}

/* The “line” */
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li > a::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -6px;

  width: 0;
  height: 6px;

  /* belangrijk: niet meer vervormen */
  background-repeat: repeat-x;
  background-position: center bottom;
  background-size: auto 6px;

  transition: width 0.3s ease;

  pointer-events: none;

  /* helpt tegen blur bij GPU compositing (Divi sticky headers etc.) */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Hover + current page */
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li:hover > a::before,
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li.current-menu-item > a::before{
  width: 100%;
}

/* Repeat pattern (1..5) */
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li:nth-child(5n+1) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-yellow.png");
}
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li:nth-child(5n+2) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-orange.png");
}
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li:nth-child(5n+3) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-red.png");
}
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li:nth-child(5n+4) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-green.png");
}
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li:nth-child(5n+5) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-beige.png");
}

/* Meer ruimte tussen menu items */
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li{
  margin-right: 28px;
}

/* Laatste item geen extra marge */
.custom-underline-menu nav.et-menu-nav > ul.et-menu > li:last-child{
  margin-right: 0;
}



/* =========================================================
  Divi Mobile Menu Hamburger
   ========================================================= */

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav {
	position: relative;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_menu_bar:before,
.et_mobile_nav_menu.ss-hamburger-menu .mobile_menu_bar::before {
	content: none !important;
	display: none !important;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_menu_bar {
	position: relative;
	display: block;
	width: 40px;
	height: 36px;
	padding: 0 !important;
	cursor: pointer;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_menu_bar .ss-line {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 8px;
	opacity: 1;
	transform: rotate(0deg);
	transform-origin: center;
	transition: all .35s ease-in-out, opacity 0s .35s ease-in-out;

	background-image: url('/wp-content/uploads/2026/03/hamburger-wave-orange.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-color: transparent;
	border-radius: 0;
}

/* gesloten toestand */
.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.closed .mobile_menu_bar .ss-line.line1 {
	top: 0;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.closed .mobile_menu_bar .ss-line.line2,
.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.closed .mobile_menu_bar .ss-line.line3 {
	top: 12px;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.closed .mobile_menu_bar .ss-line.line4 {
	top: 24px;
}

/* open toestand */
.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .mobile_menu_bar .ss-line {
	background-image: url('/wp-content/uploads/2026/03/hamburger-straight-orange.svg');
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .mobile_menu_bar .ss-line.line1 {
	top: 12px;
	opacity: 0;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .mobile_menu_bar .ss-line.line2 {
	top: 12px;
	transform: rotate(45deg);
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .mobile_menu_bar .ss-line.line3 {
	top: 12px;
	transform: rotate(-45deg);
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .mobile_menu_bar .ss-line.line4 {
	top: 12px;
	opacity: 0;
}

/* mobiele nav als referentie */
.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav {
	position: relative;
}

/* fullscreen mobile menu */
.et_mobile_nav_menu.ss-hamburger-menu .et_mobile_menu {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	min-width: 100vw !important;
	max-width: 100vw !important;

	margin: 0 !important;
	padding: 140px 40px 40px 40px !important;

	border: 0 !important;
	box-shadow: none !important;
	background: #dcc6ab !important;
	z-index: 9998 !important;

	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	overflow-y: auto !important;
}

/* elk menu-item netjes centreren */
.et_mobile_nav_menu.ss-hamburger-menu .et_mobile_menu li {
	width: 100%;
	list-style: none;
	text-align: center;
	padding: 0 !important;
	border: 0 !important;
}

/* links styling */
.et_mobile_nav_menu.ss-hamburger-menu .et_mobile_menu li a {
	display: inline-block;
	width: auto !important;
	border: 0 !important;
	padding: 18px 0 !important;
	font-size: 28px;
	line-height: 1.2;
	color: #0b1a17 !important;
	text-align: center;
}

/* Divi voegt soms rare borders/marges toe */
.et_mobile_nav_menu.ss-hamburger-menu .et_mobile_menu li a:hover {
	background: transparent !important;
	opacity: 1;
}

/* gesloten toestand: menu volledig weg */
.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.closed .et_mobile_menu {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s ease, visibility 0s linear .3s;
}

/* open toestand: menu zichtbaar */
.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .et_mobile_menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .3s ease;
}


.et_mobile_nav_menu.ss-hamburger-menu {
	position: relative;
	z-index: 100000 !important;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_nav {
	position: relative;
	z-index: 100000 !important;
}

.et_mobile_nav_menu.ss-hamburger-menu .mobile_menu_bar {
	position: relative;
	z-index: 100001 !important;
}

.et_mobile_nav_menu.ss-hamburger-menu .et_mobile_menu {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 99998 !important;
}

@media (max-width: 980px) {

  .et_mobile_nav_menu.ss-hamburger-menu,
  .et_mobile_nav_menu.ss-hamburger-menu .mobile_nav,
  .et_mobile_nav_menu.ss-hamburger-menu .et_mobile_menu {
    transform: none !important;
    -webkit-transform: none !important;
  }

  .et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .et_mobile_menu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    z-index: 999999 !important;
  }

  .et_mobile_nav_menu.ss-hamburger-menu .mobile_nav.opened .mobile_menu_bar {
    position: fixed !important;
    top: 30px !important;
    right: 20px !important;
    z-index: 1000000 !important;
  }

}

/* =========================================================
   Mobile menu underline (zelfde effect als desktop)
   ========================================================= */

/* anchor voor pseudo element */
.custom-underline-menu .et_mobile_menu li a{
  position: relative;
  display: inline-block;
}

/* underline zelf */
.custom-underline-menu .et_mobile_menu li a::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -6px;

  width: 0;
  height: 6px;

  background-repeat: repeat-x;
  background-position: center bottom;
  background-size: auto 6px;

  transition: width 0.3s ease;

  pointer-events: none;

  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* hover + current */
.custom-underline-menu .et_mobile_menu li:hover > a::before,
.custom-underline-menu .et_mobile_menu li.current-menu-item > a::before{
  width: 100%;
}

/* kleurpattern identiek aan desktop */
.custom-underline-menu .et_mobile_menu li:nth-child(5n+1) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-yellow.png");
}

.custom-underline-menu .et_mobile_menu li:nth-child(5n+2) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-orange.png");
}

.custom-underline-menu .et_mobile_menu li:nth-child(5n+3) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-red.png");
}

.custom-underline-menu .et_mobile_menu li:nth-child(5n+4) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-green.png");
}

.custom-underline-menu .et_mobile_menu li:nth-child(5n+5) > a::before{
  background-image: url("/wp-content/uploads/2026/02/border-bg-small-beige.png");
}

/* =========================================================
  CSS Tables Plugin SS Matches
   ========================================================= */

.ssbm-table.widefat.striped {
    margin-top:15px;
}

@media (max-width: 1300px){
  .ssbm-table,
  .ssbm-table thead,
  .ssbm-table tbody,
  .ssbm-table th,
  .ssbm-table td,
  .ssbm-table tr{
    display:block;
    width:100%;
  }

  .ssbm-table thead{
    display:none;
  }

  .ssbm-table tr{
    margin: 0 0 14px 0;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    background: #fff;
    overflow:hidden;
  }

  .ssbm-table td{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding: 10px 12px;
    border: 0;
    border-top: 1px solid rgba(0,0,0,.06);
  }

  .ssbm-table td:first-child{
    border-top:0;
  }

  .ssbm-table td::before{
    content: attr(data-label);
    font-weight: 700;
    opacity: .7;
  }
}

/* =========================================================
  CSS It's a match button
   ========================================================= */

/* Match button */
.ssbm-match-btn{
  appearance:none;
  border:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding: 16px 22px;
  border-radius: 999px;

  background: #D99C59;
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
  text-transform: uppercase;

  box-shadow: 0 10px 22px rgba(0,0,0,.14);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

/* Maak hem “duidelijk groot” op mobiel */
@media (max-width: 767px){
  .ssbm-match-btn{
    width:100%;
    padding: 18px 18px;
    font-size: 16px;
  }
}

.ssbm-match-btn:hover{
  background:#be884c;
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(0,0,0,.18);
}

.ssbm-match-btn:active{
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
}

.ssbm-match-btn:focus{
  outline:none;
  box-shadow: 0 0 0 4px rgba(217,156,89,.35), 0 10px 22px rgba(0,0,0,.14);
}

/* Optioneel: klein “spark” accent zonder extra HTML */
.ssbm-match-btn::before{
  content:"★";
  font-size: 16px;
  line-height: 1;
  transform: translateY(-1px);
}

.ssbm-match-btn::before{ content:"★"; }

.ssbm-match-btn.is-matched{
  background:#2e7d32;
  cursor:default;
}

.ssbm-match-btn.is-matched::before{
  content:"✓";
  font-weight:900;
}

/* =========================================================
  CSS CTA buttons
   ========================================================= */
.ssbm-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  padding:14px 20px;
  border-radius:999px;

  font-weight:700;
  text-decoration:none;

  transition:.15s ease;
}

/* login = secundair */
.ssbm-cta-btn.login{
  background:#fff;
  color:#0f2b1f;
  border:2px solid #D99C59;
}

.ssbm-cta-btn.login:hover{
  background:#f6efe7;
}

/* register = hoofdactie */
.ssbm-cta-btn.register{
  background:#D99C59;
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}

.ssbm-cta-btn.register:hover{
  background:#be884c;
  transform:translateY(-1px);
}


/* =========================================================
  CSS hero buttons
   ========================================================= */
.hero-button {
    font-family: "new-kansas", sans-serif;
    font-weight: 400;
    padding: 7px 20px !important;
    margin: 10px 10px 10px 0;
    width: auto;
    min-width: auto !important;
    color: #fff;
    background-color: #CE724E;
    text-decoration: none !important;
    -webkit-transition: 0.1s;
    -o-transition: 0.1s;
    transition: 0.1s;
    border-radius: 0 !important;
    cursor: pointer !important;
    display: inline-block;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: none;
    line-height: 1.4 !important;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.hero-button-2 {
    font-family: "new-kansas", sans-serif;
    font-weight: 400;
    padding: 7px 20px !important;
    margin: 10px 10px 10px 0;
    width: auto;
    min-width: auto !important;
    color: #fff;
    background-color: #6E897C  ;
    text-decoration: none !important;
    -webkit-transition: 0.1s;
    -o-transition: 0.1s;
    transition: 0.1s;
    border-radius: 0 !important;
    cursor: pointer !important;
    display: inline-block;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: none;
    line-height: 1.4 !important;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}