@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');

* {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    margin:0px;
    padding:0px;

    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    
    outline: none !important;
    color:#000;
}


html, body {
    height: 100%;

}

body {
    
    overflow-x: hidden;    
    height: auto;
   
    color:#000;
    background: #fff;
}  


main p, main a, main span, .default-list li, .the-content-wrapper li strong, .the-content-wrapper.accr li {
    font-family: Inter;
    font-weight: 400;
    font-size: 15px;
    
    line-height: 30px;
    letter-spacing: 0px;

}

.the-content-wrapper li strong {
    font-weight: 700;
}

main a:not(.button) {
    color:#6B4EFF;
}

h1, h2, h3, h4, h4 a {
    font-family: Lora;
    letter-spacing: 0;
    color:#4C2C82;
}


h1 { font: 400 70px/75px Lora; }
h1 strong { 
    font-weight: 700; 
    font-family: Lora;
}

h2 { font: 700 40px/62px Lora; }
h3 { font: 700 23px/37px Lora; }

h3.large {
    font-size:28px;
    line-height: 39px;    
}

h2.smaller {
    font-size:35px;
    line-height: 43px;
   
}

.the-content-wrapper h2 {
    font-size:23px;
    line-height: 30px;
    margin-bottom:15px;    
}

.the-content-wrapper p {
    padding-bottom:20px;
}

h4, h4 a {
    font-size:18px;
    line-height: 34px;
    font-weight: 400;
    
}

h4 a {
    font-weight: 600;
    text-decoration: none;
    color:#4C2C82 !important;
}


h6 {
   font-family: Lora;
    font-weight: 400;
    font-style: Italic;
    font-size: 15px;

    line-height: 30px;
    letter-spacing: 0px;
    
    color:#4C2C82

}
         
.h2-sub h2 {
    font-family: Lora;
    font-weight: 400;
    
    font-size: 18px;
   
    line-height: 64px;
    letter-spacing: 0px;
    vertical-align: middle;

}


.default-a a:not(.button) {
    font-family: Inter;
    font-weight: 400;
    
    font-size: 15px;
 
    line-height: 30px;
    letter-spacing: 0px;
    color:#6B4EFF;
    text-decoration: none;
}

.default-a a:not(.button):hover {
    text-decoration: underline;
}


.cart-button {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 49px;


    /* icoon */
    background-image: url('../images/icon-shopping-cart.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
}

/* Bolletje */
.cart-badge {
    position: absolute;
    top: -6px;
    right: -6px;

    width: 26px;
    height: 26px;
    border-radius: 50%;

    background: #000;
    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.block-hero h1, .block-hero h1 strong {
    color:#4C2C82;
}

.block {
    position: relative;
    margin:auto;
}



.block-hero .intro {
    max-width:589px;
    width:100%;
}

.block-hero h2, .block-hero-title h2 {
    font-family: Lora;
    font-weight: 400;

    font-size: 26px;
    color:#3B3B3B;
    line-height: 42px;
    letter-spacing: 0px;

}

.block-hero-title.b h2 {
    top:0;
}
    
.block-hero p { 
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
}

.block-hero .txt {
    padding-top:24px;
    padding-bottom:24px;
}

.block-hero .btns {
    display:flex;
    gap:20px;
    margin-bottom:70px;
    margin-top:10px;
}

.accr {
    padding-bottom:60px;
}

.accr ul {
    display: flex;
    flex-wrap: wrap;
    gap: 40px; /* ruimte tussen items */
    list-style: none;
    padding: 0;
    margin: 30px 0 0;
}

.accr ul li {
    position: relative;
    padding-left: 21px; /* ruimte voor icoon */
    font-size: 15px;
   
    white-space: normal;
}

/* Icoon via CSS */
.accr ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 12px;
    height: 10px;
    background: url('../images/icon-check_accreditatie.svg') no-repeat center;
    background-size: contain;
}

.block-hero {
    padding-top:215px;
    max-width:2200px;
    width:100%;
    
    
}

.block-hero .hero-img-wrapper {
    overflow:hidden;
    
     width:840px;
     height:872px;
     right:0px;
     top:0;
     position: absolute;
     z-index:4;        
       
}
 
.block-hero .hero-img {
     background-size:cover;
     width:100%;
     height:100%;
     right:-4px;
     top:0;
     position: absolute;
     z-index:4;      

}

.block-hero .hero-img:before {
     background-image:url('../images/shape-bannerfoto.svg');
     background-repeat: no-repeat;
     background-size:calc(100% + 2px);
     height: calc(100% + 4px);
     width: calc(100% + 0px);
     
     top:-3px;
     
     content:'';
     position: absolute;
     z-index:5;      
}

.block-hero .contents{
    position: relative;
    z-index:6;
}

.block-hero + .block {
    padding-top:150px;
    padding-bottom:50px;
    

}

.block.padding {
    padding-top:125px;
    padding-bottom:125px;
}

.block.padding-top {
    padding-top:125px;
}

.block.padding-bottom {
    padding-bottom: 125px;
}

.card-type-a {
    padding: 40px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    background: #fff;
    border-radius: 20px;
    cursor: pointer;

    /* 👇 belangrijk */
    transition: 
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.card-with-button {
    cursor: pointer;

    /* 👇 belangrijk */
    transition: 
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;    
}

.card-type-a:hover,
.card-with-button:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08),
                0 4px 10px rgba(0, 0, 0, 0.04);
    border-color: rgba(107, 78, 255, 0.15);
}

/* override */
.no-hovers .card-type-a:hover,
.no-hovers .card-with-button:hover {
    transform: none;
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.card-type-a .icon {
    width:80px;
    height:80px;
    background:#FDFBFF;
    border-radius:50px;
    display:flex;
    justify-content:center;
    margin-bottom:20px;
}

.card-type-a .icon img {
    object-fit: scale-down;
}
      
.card-type-b {
    padding:25px 35px;
    border:1px solid rgba(0, 0, 0, 0.04);
    background:#fff;
    border-radius:20px;
    display:flex;
    text-decoration: none; 
    gap:45px;
    position: relative;
    height:100%;
    align-items: center;
}

.card-type-b img {
    height: max-content;
    position: relative;
    top:-2px;
}
 
.card-type-b p {
    margin:0;
}

.card-type-b h3 {
    margin-bottom:0;
}

/* Pseudo-element ALTIJD aanwezig maken */
.card-type-b::after {
    content:'';
    position: absolute;
    right:30px;
    top:50%;
    transform: translateY(-50%) translateX(-10px);
    width:16px;
    height:16px;
    background-image:url('../images/icon-arrow-right-blauw.svg');
    background-size:cover;

    opacity:0;
    transition: all 0.3s ease;
}

/* Hover state */
.card-type-b:hover::after {
    opacity:1;
    transform: translateY(-50%) translateX(0);
}

.space-top-a {
    margin-top:45px;
}

.block-large {
    max-width:1640px;
    width:100%;
    background: linear-gradient(106.24deg, #5E3DB0 12.78%, #4C2C82 92.89%);
    border-radius:20px;
}

.dark *:not(.button):not(input):not(select):not(textarea):not(option) {
    color:#fff;
}

.block.c-bg {
    overflow:hidden;
}     
 
.block.c-bg:before,
.block.c-bg:after,
.block.c-bg .circle-left {
    content:'';
    position:absolute;
    width:1529px;
    height:1529px;
    border-radius:50%;
    background:#000;
    pointer-events:none;
}


.block-hero-2 {
    position: relative;
    overflow:hidden;
    
}

.block-hero-2 .container {
    position: relative;
}

.block-hero-2 .circle-left {
    content:'';
    position:absolute;
    width:1529px;
    height:1529px;
    border-radius:50%;
    background:#f8f7fb;
    pointer-events:none;
    
    left: -700px;
    top: -650px;    
}

.block-hero-2:before {
   
    right: -770px;
    top: -550px;
    content: '';
    position: absolute;
    width: 1529px;
    height: 1529px;
    border-radius: 50%;
    background: #f2f0f7;
    pointer-events: none;
}

.block-hero-2 .circle-right {
  
    right: -1150px;
    top: -1050px;
    content: '';
    position: absolute;
    width: 1529px;
    height: 1529px;
    border-radius: 50%;
    background: #eeecf5;
    pointer-events: none;
}

.block.c-bg:after {
    opacity:.1;
    right:-1150px;
    top:-1050px;
}

.block.c-bg:before {
    opacity:.1;
    right:-670px;
    top:-550px;
}

.block.c-bg .circle-left {
    opacity:.05;
    left:-1400px;
    top:-350px;
}

.bg-default {
    background:#fff;
}  
  
.bg-gradient-a {
    background: linear-gradient(180deg, #FFFFFF 7.49%, #FDFBFF 30.65%);
}

.bg-gradient-b {
    background: linear-gradient(180deg, #FFFFFF 0%, #FDFBFF 23.73%, #FDFBFF 52.48%, #FDFBFF 73.93%, #FFFFFF 94.46%);
}

.bg-gradient-c {
    background: linear-gradient(180deg, #FDFBFF 0%, #FFFFFF 100%);
}

.block-large .container {
    position: relative;
    z-index:8;
}

.row-logo-cards {
    row-gap: 40px;
    flex-wrap: wrap; /* BELANGRIJK */
}
 
.logo-card {
    padding: 30px 20px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 10px 24px rgba(0, 0, 0, 0.04);

    display: flex;
    align-items: center;      /* verticaal centreren */
    justify-content: center;  /* horizontaal centreren */
    transition: all 0.25s ease;
    height: 100%; /* zorgt dat alle cards even hoog zijn */
    cursor:default;
}
   
.logo-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.12);
}

/* logo netjes binnen kader */
.logo-card img {
    max-width: 200px;
    max-height: 80px; /* tweak naar smaak */
    object-fit: contain;
}

.logo-item.is-hidden {
    display: none;
}

.space-top-b {
    margin-top:60px;
}

.space-top-c {
    margin-top:65px;
}

.nice-list-a ul {
    margin:0;
    padding:0;
    list-style-type:none;
}

.nice-list-a ul li {
    font-weight: 400;
    font-size:20px;
    padding-bottom:25px;
    color:rgba(255, 255, 255, 0.8) !important;
    padding-left:45px;
    position: relative;
}

.nice-list-a ul li:before {
    position: absolute;
    content:'';
    background-image:url('../images/icon-check-nieuwsbrief.svg');
    width:26px;
    height:20px;
    background-size:cover;
    left:0;
    top:3px;
}

.nice-list-a ul li strong {
    color:rgba(255, 255, 255, 1) !important;
}
 

.medium-gap-content {
    gap:40px;
    display:flex;
    flex-direction:column;
}

.default-card {
    background: linear-gradient(180deg, rgba(253, 252, 255, 0.9) 0%, #FFFFFF 102.28%);
    border-radius:15px;
    padding:50px;
    
}

.form-card h3 {
    margin-bottom:20px;
    font-size:27px;
}

.faq-card {
    border:1px solid rgba(0, 0, 0, 0.06);
    border-radius:15px;
    padding:40px;
    
    padding-top:25px;
    padding-bottom:25px;
    
    background:#fff;
    transition: all 0.25s ease;
}

.faq-card h4 {
    font-weight: 600;
    margin:0;
    color:#000;
    padding-right:45px;
}

.faq-card.active h4 {
    color:#4C2C82;
    
}

.faq-card.active {
    background: #ffffff;
    border: 1px solid rgba(76, 44, 130, 0.5); /* lichte paarse rand */
  
    box-shadow: 0px 12px 30px 0px rgba(0, 0, 0, 0.10);

}

.faq-card .title {
    width:100%;
    position: relative;
    cursor:pointer; 
}

.faq-card .title:before {
    width:110%;
    height:calc(100% + 53px);
    
    content:'';
    
    position: absolute;
    top:-34px;
    left:-20px;
}

.faq-card .title:after {
    position: absolute;
    content:'';
    background-image:url('../images/icon-arrow-faq-inactive.svg');
    width:16px;
    height:16px;
    background-size:cover;
    right:0px;
    top:8px;    
}

.faq-card.active .title:after {
    background-image:url('../images/icon-arrow-faq-active.svg');
}

.faq-wrapper {
    display:flex;
    flex-direction:column;
    gap:30px;
    max-width:800px;
    width:100%;
    margin:auto;
}

.faq-card .answer {
    display:none;
    margin-top:10px;
}

.faq-card.active .answer {
    display:block;
}

.faq-card.is-hidden {
    display: none;
}

.default-list ul {
    margin:0;
    padding:0;
    list-style-type:none;
}

.default-list ul li {
    position: relative;
    padding-bottom:5px;
    padding-left:32px;
    
}

.default-list ul li:before {
    position: absolute;
    content:'';
    background-image:url('../images/icon-footer-arrow.svg');
    background-repeat: no-repeat;
    width:16px;
    height:16px;
    background-size:contain;
    top:6px;
    left:0;       
}

.default-list ul li.address:before {
    background-image:url('../images/icon-footer-location.svg');
    width:16px;
    height:20px;
    top:9px;
}

.default-list ul li.kvk:before {
    background-image:url('../images/icon-footer-kvk.svg');
    width:19px;
    height:18px;
    top:28px;
}

.default-list ul li.phone:before {
    background-image:url('../images/icon-footer-telefoon.svg');
    width:18px;
    height:18px;
    top:9px;
}

.default-list ul li.mail:before {
    background-image:url('../images/icon-footer-mail.svg');
    width:19px;
    height:16px;
    top:9px;
}

footer .c1 ul li {
    line-height: 40px;
}

footer h3 {
    margin-bottom:25px;
}

footer ul li:not(.mail) a {
    text-decoration: none;
}

footer ul li:not(.mail) a:hover {
    text-decoration: underline;
}

footer .nav-col li {
    padding-bottom:12px;
}

footer .c1 ul li:nth-child(2)  {
    padding-top:19px;
    padding-bottom:20px;
}

footer .c1 ul {
    margin-top:-5px;
}

footer .c4 ul {
    margin-bottom:40px;
}

footer .c4 a.button {
    margin-top:25px;
}

footer .row-slogan h3 {
    font-size:35px;
}

footer .row-slogan {
    position: relative;
    top:-10px;
}

footer .block.padding {
    padding-bottom:90px;
}

footer .footer-sec {
    width:100%;
    padding-top:35px;
    padding-bottom:35px;
    max-width:1640px;
    padding-left:50px;
    padding-right:50px;
    margin:auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size:15px;
    
}

.footer-sec a {
    color:#5A3EC8;
    text-decoration: none;
}

.footer-sec a:hover {
    text-decoration: underline;
}

/* Midden netjes centreren */
.footer-sec .bottom-links {
    display: flex;
    gap: 30px;
    margin: 0 auto;
}

/* Zorg dat links en rechts niet uitrekken */
.footer-sec .copyright,
.footer-sec .created-by {
    white-space: nowrap;
}

.cart-button {
    position: relative;
}

/* Default state (onzichtbaar) */
.cart-button:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: -4px;
    height: 5px;
    width: 42px;
    background-color: #6B4EFF;
    opacity: 0;
    transition: opacity 0.25s ease;
}

/* Fade in */
.cart-button:hover:after {
    opacity: 1;
}

/* Badge */
.cart-button .cart-badge {
    transition: background-color 0.25s ease;
}

.cart-button:hover .cart-badge {
    background-color: #6B4EFF;
}

.card-type-b {
   transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s; 
}
   

.card-type-b:hover {
    transform: translateY(-6px);
    box-shadow: rgba(0, 0, 0, 0.08) 0px 20px 40px, rgba(0, 0, 0, 0.04) 0px 4px 10px;
    border-color: rgba(107, 78, 255, 0.15);
}

.faq-card:not(.active) {
   transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s; 
}

.faq-card:not(.active):hover {
    transform: translateY(-6px);
    box-shadow: rgba(0, 0, 0, 0.08) 0px 20px 40px, rgba(0, 0, 0, 0.04) 0px 4px 10px;
    border-color: rgba(107, 78, 255, 0.15);    
}

.row-card-type-a {
    row-gap:40px;
}

.row-gap-20 {
    row-gap:20px;
}

.row-gap-30 {
    row-gap:30px;
}

.row-gap-40 {
    row-gap:40px;
}

.block .anchor {
    position: relative;
    left: 0;
    top: -136px;
    height: 1px;
    width: 22px;
    visibility: hidden;
}

.block-hero-custom-a h1 {
    font-size:58px;
    font-weight: 700;
    margin-bottom:35px;
}

.block-hero-custom-a h2 {
    font-size:36px;
    line-height: 54px;
    font-weight: 400;
}

.block-hero-custom-a .intro {
    max-width: 630px;
  
}

.block-hero .search-wrapper {
    width:100%;
    max-width:610px;
    margin-top:65px;
}



.filter-wrapper {
    background: rgba(107, 78, 255, 0.9);
    padding:40px 36px;
    border-radius:20px;
    margin-top:-75px;
    position: relative;
    z-index:5;
    width:calc(100% + 40px);
    margin-left:-20px;
    
}

.block-hero-custom-a {
    min-height: 772px;
}

.block-hero-custom-a .hero-img:before {

    background-size: calc(100% + 9px);
}

.block-hero-custom-a .hero-img-wrapper {
    overflow: hidden;
    width: 737px;
    height: 772px;
}

.block-hero.block-hero-custom-a + .block {
    padding-top:0; 
    
}

.filter-results-wrapper {
    padding:80px 35px;
}

.card-training {
    border: 1px solid rgba(107, 78, 255, 0.1);
    border-radius:20px;
}

.card-training .bg-c {
    height:162px;
    width:100%;
    background-size:cover !important;
    background-position: center center !important;
    border-radius:20px 20px 0 0;
}

.card-training .outer-wrapper {
    padding:40px 40px;
    padding-bottom:35px;
    background-color:#fff;
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;    
    border-radius:0 0 20px 20px;
}

.icon-text {
    position: relative;
    padding-left:28px;
    display:block;
    
}

.icon-text:before {
    background-image:url('../images/location.svg');
    width:16px;
    height:20px;
    content:'';
    position: absolute;
    background-size:cover;
    top:3px;
    left:0;    
}

.icon-text.clock:before {
    background-image:url('../images/clock.svg');
    width:20px;
    height:20px;    
}

.icon-text.clock2:before {
    background-image:url('../images/alarm.svg');
    width:20px;
    height:20px;    
}

.card-training .details {
    display:flex;
    gap:30px;
    margin-top:10px;
}

.card-training .short-description {
    margin-top:15px;
    margin-bottom:20px;
}

.card-training .short-description p {
    margin:0;
}

.card-training, .card-with-button {
    width:100%;
}

.small-title {
    font-size: 9px;
    color: #4C2C82;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.training-filter-buttons {
    display:flex;
    gap:25px;
    margin-top:10px;
}

.col-results-title h2 {
    color:#6B4EFF;
}

.bold-title h1 {
    font-weight: 600;
}

.bold-title h4 {
    font-weight: 700;
}

.no-link .card-type-a {
    cursor:default;
}

.no-link .card-type-a {
    padding-top:38px;
    padding-bottom:22px;
}

.nice-strong strong {
    color:#4C2C82;
    font-family: Lora;
    font-weight: 700;
}

.h2-padding h2 {
    margin-bottom:28px;
}

.padding-right-text {
    padding-right:120px;
}

.accr-list ul {
    flex-direction:column;
    gap:10px !important;
    margin-top:5px;
    margin-bottom:25px;
}

.accr-list ul li {
    padding-left:25px;
}

.trainer-wrap {
    display:flex;
    gap:35px;
    
}

.trainer-wrap img, .trainer-wrap .d1 {
    width: 139px;
    height: 139px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    display: block;
    flex-shrink:0;
}

.trainers-kennis-maken ul {
    margin-top:12px;
}

.default-list li.spotify:before {
    background-image: url(../images/headphones.svg);
    width: 19px;
    height:19px;
}

.default-list li.youtube:before {
    background-image: url(../images/animated_images.svg);
    width: 19px;
    height:19px;
}

.default-list li.studiegids:before {
    background-image: url(../images/school.svg);
    width: 22px;
    height:19px;
}

.nice-link-list a {
    color:#5A3EC8 !important;
    text-decoration: none;
}

.nice-link-list a:hover {
    text-decoration: underline !important;
}

.default-list.nice-link-list li {
    padding-bottom:10px;
}

.trainers-wrapper {
     display: flex;
    flex-direction: column;
    gap: 25px;
}

.info-wrapper-a {
    display:flex;
 
    justify-content: center;
    margin-top:32px;
}



.info-wrapper-a span {
    display:block; 
    font-family: Lora;
    font-weight: 700; 
    position: relative;
    
}

.info-wrapper-a span:before { 
    content:''; 
    background-image:url('../images/schedule-white.svg'); 
    width:25px; 
    height:25px; 
    background-size:cover; 
    margin-right:10px; 
    position: relative; 
    top:6px; 
    display:inline-block; 
}

.info-wrapper-a span.price:before { 
     background-image:url('../images/shoppingmode-white.svg'); 
}

.info-wrapper-a span.level:before { 
     background-image:url('../images/school-white.svg'); 
     width:28px; 
     height:23px;     
}

.info-wrapper-a span.vorm:before { 
     background-image:url('../images/distance-white.svg'); 
     width:18px; 
     height:25px;      
}

.info-wrapper-a {
    display: flex;
    justify-content: center;
}

.info-wrapper-a .item-info {
    position: relative;
    padding: 0 45px;
}

/* Separator */
.info-wrapper-a .item-info:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background: rgba(255, 255, 255, 0.15);
}

.block.padding.padding-2 {
    padding-top: 75px;
    padding-bottom: 75px;
}

.card-scheduled-training {
    border-radius:15px;
    padding:25px;
    background: linear-gradient(180deg, rgba(253, 252, 255, 0.9) 0%, #FFFFFF 106.92%);
    display:flex;
    gap:20px;
    align-items:center;
}


.card-scheduled-training .infos2 {
    display:flex;
    gap:7px;
}

.card-scheduled-training .infos2 .sep:before {
    content: '·';
    position: relative;
    top:3px;
    
}

.card-scheduled-training a.dagen-details {
    text-decoration: none;
    position: relative;
    padding-right:20px;
}

.card-scheduled-training a.dagen-details.active:after {
    transform:rotate(180deg);
}

.card-scheduled-training a.dagen-details:after {
    content:'';
    background-image:url('../images/details-down.svg');
    width:11px;
    height:6px;
    background-size:cover;
    position: absolute;
    right:2px;
    top:0;
    bottom:0;
    margin:auto;
}

.card-scheduled-training a.dagen-details:hover{
    text-decoration: underline;
}

/* De badge met het 'harde' stapel-effect */
.training-date-badge {
  flex-shrink:0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 75px;
  height: 75px;
  background: linear-gradient(99.58deg, #6B4EFF 17.04%, #5A3EE0 69.88%);
  color: #ffffff;
  border-radius: 5px;

  box-shadow: 
    0 8px 0 0 #a593f6,   /* Middelste laag (iets lichter) */
    0 16px 0 0 #d2c8ff;  /* Onderste laag (lichtst) */

  margin-bottom: 14px;
}

.training-date-badge span {
   font-size: 15px; 
   text-transform: uppercase;
   color:#fff;
}

.training-date-badge .date-day {
  line-height: 0.6;
  margin-top:10px !important;
  font-weight: 700;
}

.training-date-badge .date-month {

  font-weight: 900;
}

.card-scheduled-training h4 {
    font-weight: 600;
}

.plekken {
    display:flex;
    gap:10px;
    align-items:center;
}

.plekken .circle-available {
    width:16px;
    height:16px;
    border-radius:50%;
    display:block;
    position: relative;
    top:-1px;
}

.plekken .circle-available.green {
    background-color:#5BC220;
}

.plekken .circle-available.red {
    background-color:#DB1417;
}

.plekken .circle-available.orange {
    background-color:#F29D00;
}

   
.card-scheduled-training .infos {
    position: relative;
    flex: 1;
}

.card-scheduled-training .dagen-popup {
    display: none;
}

.dagen-popup-floating {
    position: fixed;
    z-index: 9999;
    width: 500px;
    max-width: calc(100vw - 30px);
    background: linear-gradient(180deg, rgba(253, 252, 255, 0.97) 0%, #FFFFFF 115.78%);

    
    border-radius: 15px;
    padding: 20px 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.dagen-popup-floating .dag-row {
    display: grid;
    grid-template-columns: 90px 1fr 1fr;
    gap: 20px;
    padding: 8px 0;
}

.dagen-popup-floating * {
    font-size:15px;
}

.dagen-popup-floating .dag-row span {
    color:#3B3B3B;
}

.dagen-popup-floating span.loc {
    color:#989898;

}



.one-single-c .card-scheduled-training {
    max-width:878px;
    width:100%;
    margin:auto;
}

a.mobile-more-items {

   margin:auto;
   display:block;
   text-decoration: none !important;
}

a.mobile-more-items span {
   position: relative; 
    
   font-family: Lora;
   font-size:14px;
   font-weight: 700;  
   letter-spacing:1px; 
}

a.mobile-more-items span:after {
    background-image: url(../images/arrow-right-white.svg);
    background-size:cover;
    width: 10px;
    height: 10px;
    top: 5px;
    transform: rotate(90deg);
    content:'';
    position: absolute;
    right:-20px;
    
}

.intro-text h4 {
    max-width:650px;
    width:100%;
    margin:auto;
}

.col-more-infos h3 {
    margin-bottom:25px; 
}

.programma-card h4 {
    font-size:23px;
    color:#4C2C82;
    font-weight: 700;
    display: flex;
    align-items: center;
}

.programma-wrapper {
    max-width:630px;
}

.programma-wrapper h5 {
    font-family: Lora;
    font-weight: 400;
    font-style: Italic;
    font-size: 19px;
    line-height: 30px;
    letter-spacing: 0px;
    vertical-align: middle;
    color:#4C2C82;

}

.programma-wrapper h4 span {
    color:#808080;
    font-family: Inter;
    font-weight: 500;
    font-size:15px;
    margin-left: auto;
    
}

.programma-wrapper .short-p-info p {
    margin:0;
    line-height: 25px;
}

.accr-list.accr-list2 {
    padding-bottom:0;
}

.accr-list.accr-list2 ul {
    gap:7px !important;
}

.accr.accr-list2 ul li:before {
    top:6px;
    width: 12px;
    height: 10px;
    background: url(../images/chevron-right.svg) no-repeat center;
  
}

p:has(strong) + ul {
    margin-top:-13px !important;
}

.programma-wrapper .answer p:last-child {
    padding-bottom:0;
    margin:0;   
}
 
/* Parent container */
.card-usps {
    background: linear-gradient(103.47deg, #5E3DB0 13.15%, #4C2C82 95.6%);
    border-radius: 20px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center; /* Centreert de hele groep items */
    padding: 45px 0;
    gap: 90px; /* Dit is je vaste tussenruimte */
}

/* Individuele USP items */
.card-usps .card-usps__item {
    display: flex;
    align-items: center;
    gap: 15px; /* Ruimte tussen icoon en tekst */
    position: relative; /* Nodig voor de positionering van de lijn */
}

/* De separator als pseudo-element */
.card-usps .card-usps__item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -45px; /* Precies in het midden van de 50px gap */
    height: 30px; /* Hoogte van het lijntje */
    width: 1px;
    background-color: rgba(255, 255, 255, 0.15);
}

.card-usps .card-usps__item span {
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Lora', serif;
    white-space: nowrap;
}

.card-usps .card-usps__item img {
    width: 24px;
    height: auto;
    display: block;
}

.block-hero-2 {
    width:100%;
    height:auto;
    padding-bottom:90px;
    background: linear-gradient(
        90deg,
        rgba(94, 61, 176, 0.05) 0%,
        rgba(76, 44, 130, 0.05) 100%
    );
    position: relative;
        padding-top: 215px;
}

.block-hero-2:after {
    background-image:url('../images/hero-2-overlay.svg');
    content:'';
    bottom:0;
    left:0;
    height:80px;
    width:100%;
    background-size:cover;
    position: absolute;
}

.block-hero-title h1 {
    font-size:48px;
    
}

.block-hero-title h2 {
    font-size:25px;
    position: relative;
    top:-5px;
}

.block-hero-2 .app-breadcrumbs + div.intro {
     margin-top:15px;
}

.intro-text.full-width-intro h4 {
    max-width:100% !important;
}

h2 span.dot {
    color:rgba(107, 78, 255, 1);
    font-size:45px;
}

.block-nieuws-uitgelicht-bericht .c1 img {
    width: 100%;
    height: 548px;
    border-radius: 15px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.block-nieuws-uitgelicht-bericht .c2 {
    display: flex;
    padding-left:45px;
}

.block-nieuws-uitgelicht-bericht .c2 .content {
    margin: auto 0;
    width: 100%;
}

.read-details {
    display:flex;
    gap:20px;
    margin-top:13px;
    
}

.read-details span:before {
    content:'';
    background-image:url('../images/calendar_month.svg');
    width:18px;
    height:20px;
    margin-right:10px;
    background-size:contain;
    display:inline-block;
    position: relative;
    top:2px;
}

.read-details span.readtime-post:before {
    width:22px;
    height:16px;    
    background-image:url('../images/acute.svg');
}

.block-nieuws-uitgelicht-bericht .samenvatting {
    margin-top:30px;
    margin-bottom:30px;
}

.no-padding-top {
    padding-top:0 !important;
}

.no-padding-bottom {
    padding-bottom:0 !important;
}

.filter-bar-p .buttons {
    display:flex;
    gap:25px;
    margin-top:8px;
    align-items: center;
}

.filter-bar-p a.sort {
    text-decoration: none;
    margin:0;
    margin-left: auto;
}

.filter-bar-p a.sort span, a.read-article span {
     font-size:16px;
     font-family: Lora;
     font-weight: 700;
     color:#6B4EFF;
     position: relative;
     
}

.filter-bar-p a.sort span:after {
    content:'';
    background-image:url('../images/arrow-down-purple.svg');
    background-size:cover;
    width:16px;
    height:16px;
    display:inline-block;
    margin-left:7px;
    position: relative;
    top:2px;
}

.filter-bar-p a[data-sort="asc"] span:after {
    transform: rotate(180deg);
}

a.read-article {
    margin-top: auto;
    text-decoration: none;
}

a.read-article:not(.back) span:after {
    content:'';
    background-image:url('../images/arrow-right-article.svg');
    background-size:cover;
    width:14px;
    height:10px;
    display:inline-block;
    margin-left:10px;
    position: relative;
    top:-1px;
}

a.read-article.back span:before {
    content:'';
    background-image:url('../images/arrow-right-article.svg');
    background-size:cover;
    width:14px;
    height:10px;
    display:inline-block;
    margin-right:10px;
    position: relative;
    transform:rotate(180deg);
    top:-1px;
}

.card-nieuws .read-details {
    margin-bottom:40px;
}

.card-article-more a.read-article {
    opacity:0.65;
}

.card-article-more:hover a.read-article {
    opacity:1;
}

.search-card {
    background:#6B4EFF;
    border-radius:20px;
    padding:35px;
    display:flex;
    gap:20px;
    width:calc(100% + 60px);
    margin-left:-30px;
   
    box-shadow: 0px 12px 32px 0px rgba(0, 0, 0, 0.06);

    
}

.search-card input, .search-card input:focus {
    border:1px solid #fff;
}

.search-card .gform-floating-label {
    display:none !important;
}

.search-card input, .search-card select {
    margin-bottom:0 !important;

}

.search-card .field.search {
    max-width:600px;
    width:100%;    
}

.faq-wrapper.b {
    max-width:100%;
    margin-top:50px;
    margin-bottom:90px;
}

.space-top-c {
    margin-top:100px;
}

.no-results-found-faq {
    display:none;
}

.icon-detail-simple .circle-info {
    width: 48px;
    height: 48px;
    border: 1px solid rgba(107, 78, 255, 0.1);
    border-radius: 50%;
    background: #fff url('../images/icon-park.svg') center center / 20px auto no-repeat;
    flex-shrink:0;
    position: relative;
    top:-8px;   
}

.icon-detail-simple.locatie .circle-info {
    background: #fff url('../images/icon-location.svg') center center / 20px auto no-repeat;
}

.icon-detail-simple.ov .circle-info {
    background: #fff url('../images/icon-ov.svg') center center / 20px auto no-repeat;
}

.icon-detail-simple.access .circle-info {
    background: #fff url('../images/icon-access.svg') center center / 18px auto no-repeat;
}

.icon-detail-simple {
    display:flex;
    gap:15px;
    
    
}

.icon-detail-simple h4 {
    margin-bottom:0px;
}

.icon-detail-simple .infos {
    flex:1;
}

.card-purple {
    border-radius:20px;
    background: linear-gradient(106.24deg, #5E3DB0 12.78%, #4C2C82 92.89%);
    padding:35px 40px;
    position: relative;
    overflow:hidden;
}

.card-purple:before {
    opacity: .05;
    left: -670px;
    top: -90px;
    content: '';
    position: absolute;
    width: 1129px;
    height: 1129px;
    border-radius: 50%;
    background: #000;
    pointer-events: none;
}

.block-locatie-details .c2 {
    padding-left:80px;
}

.block-locatie-details .c2 img {
    width: 100%;
    height: 270px;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
    display: block;
    margin-bottom:30px;
}

.locatie-google-map {
    border-radius: 20px;
    overflow:hidden;
    height:375px;
    position: relative;
    
}

.locatie-map-wrapper {
    position: relative;
}

.locatie-map-wrapper a.button {
    position: absolute;
    bottom:40px;
    left:0;
    right:0;
    margin:auto;
    
}

.icon-text.parking:before {
    background-image: url(../images/icon-park.svg);
    width:18px;
    height:16px;
    top:6px;
}

.icon-text.ov:before {
    background-image: url(../images/icon-ov.svg);
    width:16px;
    height:19px;
    top:4px;
}

.card-training .short-description + .details {
    margin-top:0;
    margin-bottom:35px;
}

.filter-card .select-field-farce {
    width:300px;
}

.emm-contents-base .button.with-icon span {
    color:#fff !important;
}

.emm-contents-base .txt-bottom .button.with-icon {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.emm-contents-base .button.with-icon.white.mijn-account span:before {
    background-image: url(../images/icon-mijnbivt-wit.svg);
}


.emm-contents.emm-contents-sub .title {
    display:none !important;
}

.block-nieuwsbrief.for-default-page .default-card {
   background: linear-gradient(136.82deg, rgba(94, 61, 176, 0.06) 0%, rgba(76, 44, 130, 0.06) 100%);
 
}

.block-nieuwsbrief.for-default-page .c2 {
    padding-right:160px;
}

.block-nieuwsbrief.for-default-page .nice-list-a ul li, .block-nieuwsbrief.for-default-page .nice-list-a ul li strong {
    color:#000 !important;
}

.block-nieuwsbrief.for-default-page .nice-list-a ul li:before {
    background-image: url(../images/icon-check-nieuwsbrief2.svg);
    
}

.row-agenda-results .items-wrapper {
    padding-bottom:65px;
    padding-top:10px;
    display:flex;
    gap:30px;
    flex-direction:column;
}

.row-agenda-results .outer-items-wrapper {
    max-width:920px;
    width:100%;
}

.row-agenda-results .outer-items-wrapper .filter-bar-p {
    margin-bottom:40px;
}

.card-scheduled-training.b .action-b {
    flex-direction:column;
    display:flex;
}

.card-scheduled-training.b h4 {
    margin-bottom:0px;
    margin-top:4px;
}

.card-scheduled-training.b .infos2.b {
    margin-top:15px;
    align-items:center;
}

.card-scheduled-training.b {
     align-items: flex-start;
     background: linear-gradient(180deg, rgba(253, 252, 255, 0.9) 0%, #FFFFFF 87.56%);

     box-shadow: 0px 12px 32px 0px rgba(0, 0, 0, 0.06);

 }

.card-scheduled-training.b .price {
    font-weight: 700;
}

main > div.block.padding.padding-2:last-of-type {
   padding-bottom:120px; 
}

.nice-links a {
    text-decoration: none;
}

.nice-links a:hover {
    text-decoration: underline;
}

.block-tekst-button .button-wrapper {
    margin-top:25px;
}

.infos2-mobile {
    display:none !important;
}

.infos2-mobile .c {
    display:flex;
    gap:5px;
    
    
}

a.added_to_cart {
    display:none !important;
}

.icon-vink {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin:auto;
}

.icon-vink::before {
    content: "";
    width: 28px;
    height: 28px;
    background: url('../images/icon-check-nieuwsbrief2.svg') center center / contain no-repeat;
    display: block;
}

.add-to-card-wrapper p {
    color:#4a494b;
}

.add-to-card-wrapper h3 {
    margin-top:15px;
}

.card-scheduled-training.cartView .action-b {
    display:none;
}

.card-scheduled-training.cartView  .dagen-details {
   display:none; 
}

.card-scheduled-training.cartView .infos2.a .sep:last-of-type {
   display:none; 
}

.add-to-card-wrapper .the-item {
   padding-top:30px;
   padding-bottom:42px; 
}

.add-to-card-wrapper .buttons-wrapper {
    display: flex;
    flex-direction: column;
    margin: 0;
    justify-content: center;
    align-items: center;
}

.card-scheduled-training.cartView .infos2 .sep::before {
    top:1px;
}

.card-scheduled-training .infos2.b .sep::before {
    top:1px;
}

.card-scheduled-training.cartView .infos2-mobile .c2 .sep {
    display:none;
}

.block-hero .read-details {
    margin-top:40px;
    gap:40px;
}

.block-hero.single .intro {
    max-width:650px;
}

.block-hero.single .the-intro {
    width:100%;
    max-width:700px;
    margin-top:35px;
}

.block-hero.single .the-intro p {
    font-size:17px;
    line-height: 35px;
}

.the-content-wrapper {
    width:100%;
    max-width:800px;    
}

.padding-content-page {
    padding-top:60px !important;
    padding-bottom:50px;
}

.padding-content-page .accr ul li {
    white-space: normal;
}

.the-content-wrapper li p {
    margin:0;
    padding:0;
}

.the-content-wrapper.accr.accr-list2 ul li:before {
    top: 10px;
}

.the-content-wrapper.accr.accr-list2 ul {
    margin-bottom:35px;
}


.the-content-wrapper img {
    width:100%;
    height:440px;
    border-radius:20px;
    object-fit: cover;
    object-position: center;
}

.card-writer {
    background:#f8f7fa;
    border-radius:20px;
    padding:30px;
    display:flex;
    gap:35px;
    align-items:center;
    
}

.card-writer h3 {
    margin-bottom:0;
}

.card-writer .details {
  
}

.card-writer span.small-title {
    color:rgba(76, 44, 130, 0.5);
}

.card-writer img {
    width:139px;
    height:139px;
    border-radius:50%;
    flex-shrink:0;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);

}

.content-end {
    margin-top:30px;
}

.the-content-wrapper .bottom-actions {
    margin-top:40px;
}

.bottom-actions {
    display: flex;
    align-items: center;
}

.bottom-actions .share {
    margin-left: auto;
}

a.read-article.share span:before {
    width:16px;
    height:18px;
    top:3px;
    background-image: url(../images/icon-share.svg);
}

.no-the-intro {
    margin-bottom:30px;
}

.the-content-r {
    position: relative;
    z-index:4;
}

.content-end.short {
    padding-bottom:100px;
}

main.content-page.no-intro .the-content-wrapper {

    max-width: 740px;

}  

.single .block-hero h1, .tax-training_category .block-hero h1 {
    font-size:60px;
}

.card-border {
    background: linear-gradient(145.88deg, rgba(94, 61, 176, 0.03) 0.03%, rgba(76, 44, 130, 0.03) 83%);
    border-radius:20px;
    border: 1px solid rgba(107, 78, 255, 0.1);
    padding:40px;

}

.card-border.b {
    background:rgba(255, 255, 255, 1);
}

.card-callback {
    padding-left:55px;
    padding-right:50px;
    display:flex;
    gap:45px;
    align-items:center;    
}

.card-callback a.button {
    margin-left: auto;
}

.card-callback p {
    margin:0;
    padding:0;
}
  
.card-callback .icon-a {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink:0;
    
}

.card-callback .icon-a img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block;
}

.space-top-a1 {
    margin-top:25px;
}

.icon-vink.callback:before {
    background-image:url('../images/phone_callback.svg');
    
}

.bel-terug-wrapper a.button {
    display: block;
    width: fit-content;
    margin: 0 auto;
}

.bel-terug-wrapper form {
    margin-top:35px;
}

.default-list.b ul li:before {
    top:5px;
}

.default-list.b ul li.address:before {
    background-image:url('../images/home_pin.svg');
}

.default-list.b ul li.phone:before {
    background-image:url('../images/call.svg');
}

.default-list.b ul li.email:before {
    background-image:url('../images/send.svg');
    width:19px;
    height:16px;    
}

.default-list.b ul li.bereikbaar:before {
    background-image:url('../images/support_agent.svg');
    width:19px;
    height:17px;
}

.default-list.b ul li.kvk:before {
    background-image:url('../images/article_person.svg');
}

.card-border.default-list ul {
    margin-top:20px;
}

.card-border.default-list ul li:not(:last-child) {
    padding-bottom:30px;
}

.card-informatie .bg-c {
    position: relative;
    overflow: hidden;
    padding:40px;
    padding-left:50px; 
}

.card-informatie .bg-c::before {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit; /* neemt dezelfde bg-image over */
    filter: blur(4px);
    transform: scale(1.1); /* voorkomt witte randen door blur */
    z-index: 0;
}

.card-informatie .bg-c > * {
    position: relative;
    z-index: 1;
}

.card-informatie .bg-c .icon-a {
    border-radius:50%;
    background:#fff;
    width:80px;
    height:80px;
    display:flex;
    align-items:center;
    justify-content: center;
}

.card-training.card-informatie .short-description {
    margin-top: 5px;
}

body.hero-shop-header header {
    display:none !important;
}

.block-hero-2.block-hero-shop {
    padding-top:0px;
}

.shop-header-top-info {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 40px;
    padding: 20px 0;
    position: relative;
    z-index:9;
}

.shop-header-phone,
.shop-header-continue {
    color: #5A3EC8;
    text-decoration: none;
    
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.shop-header-phone {
    gap: 12px;
}

.shop-header-phone-icon {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    background-image: url(../images/call.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.shop-header-phone:hover,
.shop-header-continue:hover {
    text-decoration: underline;
}

.row-header-shop {
    position: relative;
    bottom:-40px;
}

.row-header-shop .c1 {
    position: relative;
    z-index:6;
}

.row-header-shop .c2 {
    bottom:5px;
    position: relative; 
}

.the-content-wrapper h3 {
    color:#000 !important;
    font-size:18px;
    line-height: 25px;
}

a.scheduled-training-ics-link, a.scheduled-training-ics-link span {
    text-decoration: underline !important;
    color:#6B4EFF !important;
}

h2.woocommerce-order-details__title, h2.woocommerce-column__title {
    font-size:26px;
}

blockquote {
    padding:35px;
    background:#f8f7fa;
    border-radius:15px;
    margin-bottom:30px;
    
}

blockquote, blockquote p {
    color:#4C2C82 !important;
    font-weight: 400;
    font-family: Lora;
    font-style:italic;
    font-size:16px;
}

blockquote strong {
   font-weight: 500;
   color:#4C2C82 !important; 
   font-family: Lora;
   font-size:16px;
}

blockquote p {
    margin:0 !important;
    padding:0 !important;
}

.block-trainer .accr ul li::before {

  top:6px;   
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    float: right;
    width: 100%;
}

.card-type-a h3 {
    font-size:20px;
    line-height: 30px;
}

.card-type-a p {
    line-height: 27px;
}

.block-nieuwsbrief .c1 {
    padding-right:60px;
}

.the-content-wrapper ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: item;
}

.the-content-wrapper ol li {
    position: relative;
    padding-bottom: 5px;
    padding-left: 32px;
    counter-increment: item;
}

.the-content-wrapper ol li::before {
    content: counter(item) ".";
    position: absolute;
    left: 0;
    top: 0;
    color: #4C2C82;
    font-weight: 700;
    line-height: 30px;
}

.the-content-wrapper ol, .the-content-wrapper ul {
    margin-top:20px;
    margin-bottom:20px;
}

.logo-card.has-link {
    cursor:pointer;
    
}

#woocommerce-checkout-form-coupon {
        display: flex;
    flex-direction: column;
    gap: 15px;
    width:100%;
    max-width:420px;
}
#woocommerce-checkout-form-coupon p, #woocommerce-checkout-form-coupon input {
    margin:0;
    width:100%;
    
}

#woocommerce-checkout-form-coupon button {
     width:100%;
     text-align:center;
}

.bg-gradient-d {
    background: linear-gradient(
        to bottom,
        #FDFBFF 50%,
        #FFFFFF 50%
    );
}
.stappenlijn-wrapper {
    display: flex;
    width: 100%;
    padding: 20px 0 35px;
    max-width: 940px;
    margin: 0 auto;
}

.stappenlijn-item {
    flex: 1;
    position: relative;
    text-align: center;
}

/*
 * Horizontale lijn
 */
.stappenlijn-item::after {
    content: "";
    position: absolute;
    top: 17px;
    left: 50%;
    width: 100%;
    height: 1px;
    background: #B8A9FF;
    z-index: 0;
}

/* Na het laatste bolletje geen lijn meer */
.stappenlijn-item:last-child::after {
    display: none;
}

.stappenlijn-top {
    position: relative;
    display: flex;
    justify-content: center;
    z-index: 1;
}

/*
 * Nummer / bolletje
 */
.stappenlijn-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #6B4EFF;
    color: #fff;

    font-size: 16px;
    font-weight: 700;

    box-shadow: 0 2px 4px rgba(70, 50, 170, 0.18);

    transition:
        width 0.2s ease,
        height 0.2s ease,
        margin-top 0.2s ease,
        margin-bottom 0.2s ease;
}


/*
 * Bolletjes steeds iets lichter
 */
.stappenlijn-item:nth-child(2) .stappenlijn-number {
    background: #8871FF;
}

.stappenlijn-item:nth-child(3) .stappenlijn-number {
    background: #9985FF;
}

.stappenlijn-item:nth-child(4) .stappenlijn-number {
    background: #B7A9FF;
}


/*
 * Verticale lijn onder bolletje
 */
.stappenlijn-number::after {
    content: "";
    position: absolute;
    top: 34px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 30px;
    background: #B8A9FF;

    transition:
        top 0.2s ease,
        height 0.2s ease;
}


/*
 * Eerste stap standaard actief / groter
 */
.stappenlijn-wrapper .stappenlijn-item:first-child .stappenlijn-number {
    width: 40px;
    height: 40px;
    margin-top: -5px;
}

.stappenlijn-wrapper .stappenlijn-item:first-child .stappenlijn-number::after {
    background: #6B4EFF;
}


/*
 * Overige stappen
 */
.stappenlijn-wrapper .stappenlijn-item:not(:first-child) .stappenlijn-number {
    margin-bottom: 5px;
}

.stappenlijn-wrapper .stappenlijn-item:not(:first-child) .stappenlijn-number::after {
    top: 29px;
    height: 36px;
}

.stappenlijn-wrapper .stappenlijn-item:first-child h3 {
    color:#6B4EFF;
}


/*
 * Kleur verticale lijnen
 */
.stappenlijn-item:nth-child(2) .stappenlijn-number::after {
    background: #8871FF;
}

.stappenlijn-item:nth-child(3) .stappenlijn-number::after {
    background: #9985FF;
}

.stappenlijn-item:nth-child(4) .stappenlijn-number::after {
    background: #B7A9FF;
}


/*
 * Hover:
 * bolletje krijgt dezelfde afmetingen als stap 1
 */
.stappenlijn-wrapper .stappenlijn-item:not(:first-child):hover .stappenlijn-number {
    width: 40px;
    height: 40px;
    margin-top: -5px;
    margin-bottom: 0;
}


/*
 * Verticale lijn aanpassen aan het grotere bolletje
 */
.stappenlijn-wrapper .stappenlijn-item:not(:first-child):hover .stappenlijn-number::after {
    top: 34px;
    height: 30px;
}


/*
 * Content
 */
.stappenlijn-content {
    margin-top: 39px;
}

.stappenlijn-content h3 {
    margin: 0 0 5px;
    color: #4C2C82;
    font-size: 23px;
    line-height: 1.2;
    font-weight: 700;
}

.stappenlijn-description {
    color: #252525;
    font-size: 14px;
    line-height: 1.4;
}

.card-type-trans {
    border:1px solid rgba(255, 255, 255, 0.04);
    background:rgba(255, 255, 255, 0.02);
    border-radius:20px;
    padding:35px;
    transition: background 0.15s ease;
}

.card-type-trans:hover {
    background:rgba(255, 255, 255, 0.07);
}

.card-type-trans h4 {
    font-style:italic;
    font-weight: 400;
}

.card-type-trans h3 {
    margin-bottom:0;
}

.card-type-trans p {
    margin:0;
    padding:0;
}

.divider-small {
    background:rgba(255, 255, 255, 0.1);
    height:1px;
    width:70px;
    margin-top:12px;
    margin-bottom:22px;
}

.row-card-trans {
    row-gap:25px;
}


.woocommerce-privacy-policy-text p {
    padding:15px;
}


.woocommerce ul.woocommerce-order-overview.woocommerce-thankyou-order-details {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin: 30px 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    overflow: hidden;
}

.woocommerce ul.woocommerce-order-overview.woocommerce-thankyou-order-details li {
    float: none;
    width: auto;
    margin: 0;
    padding: 18px 20px;
    border: 0;
    border-right: 1px solid #e8e8e8;
    text-transform: none;
    font-size: 13px;
    line-height: 1.4;
    color: #777;
}

.woocommerce ul.woocommerce-order-overview.woocommerce-thankyou-order-details li:last-child {
    border-right: 0;
}

.woocommerce ul.woocommerce-order-overview.woocommerce-thankyou-order-details li strong {
    display: block;
    margin-top: 6px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
    color: #222;
    word-break: break-word;
}

.woocommerce ul.woocommerce-order-overview.woocommerce-thankyou-order-details li strong .amount {
    font-size: inherit;
    font-weight: inherit;
}

.app-modal__body .is-thuisstudie .plekken, .app-modal__body .is-thuisstudie .plekken + .sep {
    display:none;
}

.woocommerce ul.order_details::before {
    display:none !important;
}


form.checkout #order_review_heading {
    display:none;
}

.single-training .block-opleidingsroute {
    padding-top:100px;
}