/*
 Theme Name:   Divi Child
 Description:  Divi Child Theme
 Author:       Webdesign Westland
 Author URI:   http://www.qbsolutions.nl
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  Divi-child
*/

#main-content { 
	background:#FAF9FF; 
}
#main-content .et_pb_section, #et-boc .et-l > .et-l-section { 
	position: relative; z-index: 2; 
}
#ww-pad-lijn { transform: translateY(-220px);}
#ww-pad-lijn path { stroke-width: 3px; stroke-dasharray: 1.5 26; stroke-opacity: 0.2; }
.container.et_menu_container {
	background-color: rgba(0, 32, 69, 0.01);
	margin-top: 15px;
	border-radius: 50px;
	padding-right: 20px;
	width: 90%;
	max-width: 1600px;
}
.et-fixed-header .container.et_menu_container{
	 background-color: rgba(0, 32, 69, 0.95);
	border: 1px solid #114c87;
	margin-top: 3px;
	padding-left: 20px;
}
#top-menu li {
	padding-right: 60px;
}
#top-menu .current-menu-item a::before,
#top-menu .current_page_item a::before {
 content: "";
 position: absolute;
 z-index: 2;
 left: 0;
 right: 0;
}
#top-menu li a:before {
 content: "";
 position: absolute;
 z-index: -2;
 left: 0;
 right: 100%;
 bottom: 50%;
 background: #fec80b; /*** COLOR OF THE LINE ***/
 height: 3px; /*** THICKNESS OF THE LINE ***/
 -webkit-transition-property: right;
 transition-property: right;
 -webkit-transition-duration: 0.3s;
 transition-duration: 0.3s;
 -webkit-transition-timing-function: ease-out;
 transition-timing-function: ease-out;
}
#top-menu li a:hover {
 opacity: 1 !important;
}
#top-menu li a:hover:before {
 right: 0;
}
#top-menu li li a:before {
 bottom: 10%;
}
h1{
	font-size: 80px;
}
h2{
	font-size: 50px;
	color: #114c87;
	padding-bottom:30px;
}
h3{
	font-size: 28px;
	color: #114c87;
}
.box h3{
	font-size: 16px;
	color: #114c87;
	font-weight:600;
}
.yellow{
	color:#fec80b;
}
h*.light-text{
	opacity:.85;
}
.light-text{
	opacity:.7;
}
.hero{
	padding-top:18vh!important;
}
.hero-text{
	width: 60%; 
	padding-top: 30px;
}
.hero .line-2{
	padding-left:5vw;
	display:block;
}
.hero .line-3{
	padding-left:10vw;
	display:block;
}
.inline-buttons .et_pb_button_module_wrapper {
 display: inline-flex !important;
 width: auto;
}
.et_flex_row.section-row{
	padding-top:20vh;
	width:90%;
	max-width:1400px;
}
.et_pb_button_module_wrapper a.et_pb_button{
	font-size:16px;
}
a.clean-button-link {
	color: rgba(255,254,254,0.5);
	width: auto!important;
	padding: 8px 20px 6px 20px!important;
	border-radius: 50px;
	border-width: 1px;
	border-color: rgba(255,254,254,0.3);
	border-style: solid;
	display:inline-block;
	margin: 0px 15px 15px 0px;
	font-size:14px;
}
a.clean-button-link:hover {
	color: rgba(255,254,254,0.9);
	border-color: rgba(254, 200, 11,0.3);
}
.box{
  border: 1px solid #D3E6FF;
  border-radius:10px;
  padding:15px 20px;
}
.box:hover{
  border: 1px solid #fec80b;
}
.hero-note {
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.hero-note::before {
	content: '✓';
	color: green;
}
.hero-note.white::before {
	color: #fff;
  opacity:0.85;
}
.side-by-side{
 display: flex !important;
  flex-direction: row !important;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.side-by-side .et_pb_module.et_pb_button_module_wrapper{
  width: auto !important;
  display: flex !important;
}
.et_pb_number_counter .percent {
	height: 50px!important;
}
.vcard-num {
	font-size: 36px;
	font-weight: 700;
	color: rgba(20, 56, 117,.4);
	line-height: 1;
	margin-bottom: 12px;
	transition: color 0.2s;
}
.box:hover .vcard-num{
	color: #fec80b;
}
a.populair {
	color: #F4B71B;
	display: inline-block;
	transition: all .2sease-in-out;
	font-weight:bold;
}
a.populair:before {
	content: "\39";
	position: relative;
	font-family: 'ETmodules';
	margin-right: 10px;
	color: #F4B71B;
}
a.populair:hover {
	transform: scale(1.1);
}
.checkmark_bullets ul li {
  padding-left: 30px;
  list-style:none;
  margin-bottom: 20px;
}
.checkmark_bullets ul li::before {
	content: '\4e';
	display: inline-block;
	margin-right: 7px;
	margin-left: -40px;
	padding-right: 5px;
	font-family: 'ETmodules';
	font-size: 27px;
	vertical-align: middle;
	color:green;
}
.checkmark_bullets.hero-sectie ul li::before{
	color:#fff;
	display:inline;
	margin-right:20px;
}

/****************************************** Soorten coaching pagina's **************************************************/
/* kaartlook (komt 8x terug op deze pagina) */
.cm-sc-card-col{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:260px;
  border:1px solid #e6e8ef;
  border-radius:8px;
  padding:24px;
  background:#fff;
  box-shadow:0 8px 32px rgba(20,56,117,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cm-sc-card-col:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 44px rgba(20,56,117,.12);
  border-color:rgba(254,200,11,.5);
}
.cm-sc-card-col .et_pb_button_module_wrapper{
  margin-top:20px;
}

/* tag-badge boven de titel */
.cm-sc-card-col p:first-child{
  margin:0 0 10px;
}
.card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}
.cm-sc-icon {
	display: grid;
	place-items: center;
}
.cm-sc-tag{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  color:#143875;
  background:#fff;
  border:1px solid #e6e8ef;
  border-radius:999px;
  padding:6px 12px;
}

/* titel + body */
.cm-sc-card-col h3{
  font-size:21px;
  margin:0 0 8px;
  color:#143875;
}
.cm-sc-card-col p:last-child{
  margin:0;
  color:#5d7290;
  font-size:14.5px;
  line-height:1.6;
}

/* filterknoppen: rij i.p.v. gestapeld, plus actieve status */
.cm-sc-filter-btn{
  display:inline-block;
  margin:4px 6px 4px 0;
}
body #page-container .et_pb_section .et_pb_button_module_wrapper .cm-sc-filter-btn:hover{
border: 2px solid #143875!important;
background:#143875 !important;
  color:#fff !important;
}
body #page-container .et_pb_section .et_pb_button_module_wrapper .cm-sc-filter-active{
  background:#143875 !important;
  color:#fff !important;
}

/* door het filter-scriptje verborgen kaarten */
.cm-sc-hidden{
  display:none !important;
}
.cm-sc-filterbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  flex-direction: row;
}
.card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
	color: #143875;
	font-size: 13.5px;
	margin-top:25px;
}
.card-foot .arrow:before{
	font-family: ETmodules!important;
	content: "\24";
	padding-top: 2px;
	font-size: 18px;
}
.card-foot .arrow {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #143875;
	color: #fff;
	display: grid;
	place-items: center;
}

/* ═══════════════════════════════════════════════════════════════
   COACHING.NL — Beams achtergrond op et_pb_section_2
   Plak dit in: WP Dashboard → Weergave → Customizer → Additional CSS
   ═══════════════════════════════════════════════════════════════ */

.moving-bckgr {
  position: relative !important;
  overflow: hidden !important;
}

.moving-bckgr > .et_pb_row {
  position: relative;
  z-index: 2;
}

/* Navy beam — beweegt van onderkant naar bovenkant
   De beam beslaat 40% van de elementhoogte (30%–70%).
   Met ±120% travel is de beam 58% van de cyclus zichtbaar.
   58% > 50% → de twee lagen overlappen, geen gat.           */
.moving-bckgr::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: -50%; right: -50%;
  z-index: 0;
  pointer-events: none;
  filter: blur(45px);
  background: linear-gradient(
	to bottom,
	transparent 25%,
	rgba(0,32,69,.06) 40%,
	rgba(0,32,69,.08) 60%,
	transparent 75%
  );
  animation: cn-beam-rise 80s linear infinite;
}

/* Amber beam — exacte halvewegoffset zodat altijd één
   van de twee in beeld is                                   */
.moving-bckgr::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: -50%; right: -50%;
  z-index: 0;
  pointer-events: none;
  filter: blur(45px);
  background: linear-gradient(
	to bottom,
	transparent 25%,
	rgba(232,163,32,.09) 40%,
	rgba(232,163,32,.09) 60%,
	transparent 75%
  );
  animation: cn-beam-rise 80s linear infinite;
  animation-delay: -40s;
}

@keyframes cn-beam-rise {
  from { transform: translateY(120%) rotate(-33deg); }
  to   { transform: translateY(-120%) rotate(-33deg); }
}
/* Styling CF7 to look like the Divi Contact Form */
.wpcf7-text, .wpcf7-textarea, .wpcf7-captchar, .wpcf7-number {
	background-color: #fff !important;
	border: 1px solid #cecece;
	margin:5px 0px; 
	width: 100% !important;
	-moz-border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	border-radius: 10px !important;
	font-size: 14px;
	color: #999 !important;
	padding: 14px !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.glassy-fields .wpcf7-text, .glassy-fields .wpcf7-textarea, .glassy-fields .wpcf7-captchar, .glassy-fields .wpcf7-number {
	background-color: rgba(255,255,255,0.2) !important;
	color:#fff!important;
}
.wpcf7-select {
	width: 100%;
	padding: 14px;
	border:  1px solid #cecece;
	border-radius: 10px;
	font-size: 14px;
	background: #fff);
	transition: border-color 0.15s;
	outline: none;
	appearance: none;
}
.wpcf7-submit {
	color: #fff !important;
	margin: 0px auto!important;
	cursor: pointer;
	font-size: 20px;
	font-weight: 500;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 10px;
	padding: 6px 20px;
	line-height: 1.7em;
	background: transparent;
	border: 2px solid;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	max-width: none!important;
}
.wpcf7-submit:hover {
	background-color: #eee;
	border-color: #eee;
	padding: 6px 20px !important;
}
.wpcf7-form label{
	padding-bottom:10px;
	display:block;
}
.wpcf7-form .intro{
	font-size:20px;
	font-weight: 400;
	color:#fec80b;
	opacity:.7;
	margin-bottom:10px;
}
.full{
  width: 100%;
  margin-right: 0;
  margin-bottom: 0px;
}
.small-margins .full{
	margin-bottom:10px;
}
.wpcf7-form .small-margins label {
	padding-bottom: 5px;
}
.one-half,
.one-third,
.one-five,
.two-five,
.two-third {
	position: relative;
	margin-right: 4%;
	float: left;
	margin-bottom: 0px;
 
}
.one-half { width: 48%; }
.one-third { width: 30.66%; }
.two-third { width: 61.32%; }
.two-five { width: 26%; } 
.one-five { width: 8%; }

.last {
	margin-right: 0 !important;
	clear: right;
}
.help-text{
	font-size:13px;
	opacity:.5;
	pointer-events: none;
}
.safe-form {
	color: #00d664!important;
	font-size:11px;
}
.safe-form:before {
	font-family: 'ETmodules';
	padding-right: 10px;
	margin: 0;
	cursor: pointer;
	content: '\7e';
}
.wpcf7-spinner{
	position:absolute;
}
.grow {
  transition: all 0.2s ease-in-out;
}
.grow:hover {
  transform: scale(1.05)!important;
}
 .hello-link {
  transition: all 0.5s ease-in-out;
}
.grow:hover .hello-link{
	font-size:24px;
}
/** Custom bullets */
.custom_bullets ul{
	padding:0px;
}
.custom_bullets ul li {
	padding-left: 30px;
	list-style: none;
	margin-bottom: 15px;
}
.custom_bullets.narrow ul li{
	padding-left: 30px;
	list-style: none;
	margin-bottom: 5px;
}
.custom_bullets ul li:before {
	content: '';
	display: inline-block;
	margin-right: 4px;
	margin-left: -30px;
	padding-right: 5px;
	font-family: 'ETmodules';
	font-size: 1.2em;
	vertical-align: middle;
}
.custom_bullets--check ul li::before {
	content: '\5a';
	font-size:20px;
}
.custom_bullets--check h4{
	display: inline-block;
	margin-left:-3px;
}
.fcta-points{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.fcta-points li{display:flex;align-items:center;gap:10px;font-size:15px;}
.fcta-points li::before{content:'✓';font-weight:700;flex-shrink:0}

.calendly-button {
	background-color: #fec80b;
	font-size: 16px!important;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 50px;
	border-width: 1px;
	border-color: #fec80b;
	border-style: solid;
	transition-property: background-color,border-color,border-width,color;
	transition-duration: 300ms;
	transition-timing-function: ease;
	transition-delay: 0ms;
	color:#143875!important;
	 padding-top: 15px !important;
	padding-right: 60px !important;
	padding-bottom: 15px !important;
	padding-left: 60px !important;
	font-size:16px!important;
	line-height:27px!important;
}
.calendly-button:hover {
	background-color: #143875;
	color: #ffffff!important;
}
.calendly-overlay {
  z-index: 1000000 !important;
}
.et_mobile_menu{
	background-color: rgba(20, 56, 117,.95)!important;
	height:72vh;
	border-radius:10px;
	border: 1px solid rgba(255,255,255,.5);
}
.mobile-menu-footer{
	position:absolute;
	bottom:5px;
	width:90%;
	text-align:center;
}
.et_mobile_menu li a{
	font-size:18px;
	text-align:center;
}
.et_mobile_menu li li a{
	font-size:15px;
}
/* Sticky CTA-balk altijd bovenop de paginacontent en klikbaar houden */
.et-l--footer .et_builder_inner_content {
  z-index: 1000 !important;
}
.stikcy-cta {
  z-index: 1001 !important;
}
.mobile-menu-footer{
	display:none!important;
}
.coaching-avatar img{
	width:100px;
	height:100px;
	border-radius:50%;
}

/* ═══════════════════════════════════════════════════════════════
   COACHING.NL — BLOG css
   ═══════════════════════════════════════════════════════════════ */
.cnlb-byline .et_pb_text_inner p{display:inline;margin:0}
.cnlb-byline .et_pb_text_inner{margin:0}

@media screen and (max-width: 1500px) {
h2{
	font-size: 40px;
}
}
@media(max-width:980px){ 
	#ww-pad-lijn{ 
		display:none; 
	} 
}
@media screen and (max-width:768px) {
.hero.et_pb_section_0{
  overflow: visible; 
}
.hero h1{
	font-size: 50px;
}
.hero .line-2, .hero .line-3{
	padding-left:0vw;
}
.et_flex_row.section-row{
	padding-top:10vh;
}
.hero-text{
	width: 100%; 
	padding-top: 30px;
}
.one-half { width: 98%; }
.one-third { width: 98%; }
.two-third { width: 98%; }
.two-five { width: 48%; } 
.one-five { width: 48%; }
.grow:hover .hello-link{
	font-size:18px;
}
.mobile-menu-footer{
	display:block!important;
}
}	