*,
*::before,
*::after        { box-sizing: border-box; }

.container      { padding-right: 15px; padding-left: 15px; }

:root {

    --font-family:  'Roboto', sans-serif;
    --secondary-font-family: 'Nunito', sans-serif;

    --color-accent: #ff5a60;
    --color-accent2: #009b9a;
    --color-action: #19a916;

    --color-accent-hover: #df393f;
    --color-action-hover: #0c930a;

    --color-bg-light: #e8f7f4;
    --color-bg-dark: #009899;


    --btn-secondary-bg : #ff5a60;
    --btn-secondary-txt : #fff;
    --btn-secondary-border : #ff5a60;
    --btn-secondary-bg-hover : #df393f;
    --btn-secondary-txt-hover : #fff;
    --btn-secondary-border-hover : #df393f;



}

.modal-header       { background-color: #FFF !important; }

body.account,
body.vervolg	{ background: #fff; }

@media only screen and (max-width: 820px)   { 
    
    .page { width: auto; }

}



h1          { font-family: var(--secondary-font-family); font-weight: 600; font-size: 30px; line-height: 32px; }
h2          { font-family: var(--secondary-font-family); font-weight: 600; font-size: 24px; line-height: 26px; }
h3          { font-family: var(--secondary-font-family); font-weight: 600; font-size: 22px; line-height: 24px; }

p a         { color: #38569c; }

.btn                        { border-radius: 5px; }

.btn-primary                { border-color: var(--color-action); }


.btn-secondary                  { background: var(--btn-secondary-bg); border-color: var(--btn-secondary-border); color: var(--btn-secondary-txt) !important; }
.btn-secondary.hover,
.btn-secondary:hover            { background-color: var(--btn-secondary-bg-hover); border-color: var(--btn-secondary-border-hover); color: var(--btn-secondary-txt-hover); }
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show>.btn-secondary.dropdown-toggle,
.btn-secondary.focus,
.btn-secondary:focus            { background-color: var(--btn-secondary-bg-hover); border-color: var(--btn-secondary-border-hover); color: var(--btn-secondary-txt-hover); }

.btn-secondary .fas,
.btn-secondary .far,
.btn-action .fas,
.btn-action .far,
.btn-action .fal			{ margin: 0 5px 0 0; color: #fff; }
.btn-secondary .fas.fa-shopping-basket 		{ color: #fff; }
.btn-secondary .fa-arrow-right				{ color: #fff; }

.btn-secondary:hover .fa,
.btn-secondary:hover .fal 	{ color: #fff; }

.bestelitem-regel .btn-primary              { display: block; padding: 5px 10px; color: #000; }
.bestelitem-regel .btn-primary .btn-icon    { color: #000; }
.bestelitem-regel .btn-secondary            { padding: 5px 10px; background: var(--color-action); border-color: var(--color-action); }
.bestelitem-regel .btn-secondary:hover,
.bestelitem-regel .btn-secondary:not(:disabled):not(.disabled).active,
.bestelitem-regel .btn-secondary:not(:disabled):not(.disabled):active,
.bestelitem-regel .show>.btn-secondary.dropdown-toggle,
.bestelitem-regel .btn-secondary.focus,
.bestelitem-regel .btn-secondary:focus      { background: var(--color-action-hover); border-color: var(--color-action-hover); }

.btn-action            { padding: 5px 10px; background: var(--color-action); border-color: var(--color-action); color: #fff; }
.btn-action:hover,
.btn-action:not(:disabled):not(.disabled).active,
.btn-action:not(:disabled):not(.disabled):active,
.show>.btn-action.dropdown-toggle,
.btn-action.focus,
.btn-action:focus      { background: var(--color-action-hover); border-color: var(--color-action-hover); color: #fff; }


.btn-sqr:hover                  { background: #fff; border-color: #fff; color: #000 !important; }
.btn-sqr.social                 { border-radius: 25px; }
.btn-sqr.social:hover           { background: var(--color-accent); border-color: var(--color-accent); color: #fff !important; }

.clr-lightgrijs											{ background: #f2f2f2; }
.clr-donkergrijs										{ background: #818382; color:#fff; }
.clr-accent												{ background: var(--color-bg-light); }
.clr-accent2											{ background: var(--color-bg-dark); color:#fff; }
.clr-accent2 .btn										{ background: #fff; border-color: #fff; color: var(--color-bg-dark) !important; }
.clr-accent2 .btn:hover                                 { background: #93dedf; border-color: #93dedf; color: #fff !important; }
.clr-accent2 .carousel-title-wrapper					{ color:#fff; }
.transparent											{ background: none; }







/* HEADER */
.header-top-bar                 { border-bottom: 1px solid #e8e8e8; background: #fff; }
.header-top-bar-content         { height: 35px; }
.payoff                         { color: #34a59f; }
.headertop-menu-wrapper a       { color: #505050; font-weight: 500; font-size: 13px; }

.header                         { border-bottom: 1px solid #e8e8e8; }
.header-logo-wrapper {
    background-color: #00a9b1;
    animation: bgColor 25s infinite linear; 
    -webkit-mask: url('/images/logo_vge.svg') no-repeat center / contain;
    mask: url('/images/logo_vge.svg') no-repeat center / contain;
    width: 175px;
    height: 56px;
  }

  @keyframes bgColor {
    10% {
        background-color: #00a9b1;
    }
    20% {
        background-color: #00a88e;
    }
    30% {
        background-color: #8cc63f;
    }
    40% {
        background-color: #fff200;
    }
    50% {
        background-color: #f7a71b;
    }
    60% {
        background-color: #f15f22;
    }
    70% {
        background-color: #ef434d;
    }
    80% {
        background-color: #ec008c;
    }
    90% {
        background-color: #7e489c;
    }
    100% {
      background-color: #233f8a;
    }
  }

.header-content-wrapper         { padding: 0; }
.header-search-form             { padding: 0 5px 0 20px; border-radius: 5px; border-color: #e8e8e8; }
.header-search-wrapper .btn,
.header-buttons-wrapper .btn    { color: #333; }

.header-account-button-label    { display: block; }
.header-account-button-icon     { display: none; }

.headertop-menu-wrapper         { height: 35px; line-height: 35px; }
.headertop-submenu-wrapper      { min-width: 180px; left: -20px; top: 35px; right: 0; background: #fff; border: 1px solid #e8e8e8; }
.headertop-menu-wrapper:last-child .headertop-submenu-wrapper       { left: unset; right: 0; }

.header-form-search-input       { width: 300px; font-size: 16px; line-height: 18px; }

.header-submenu-wrapper         { left: -97px; top: 40px; }

.header-webshopbutton-wrapper   {
    position: relative; background: var(--color-accent); color: #fff; border-radius: 5px;
    font-family: var(--secondary-font-family); font-size: 17px; line-height: 19px; cursor: pointer;
}
.header-webshopbutton-wrapper:hover     { background: var(--color-accent-hover); }

.header-webshopbutton-wrapper .fa-angle-up                  { transition: all .3s;  }
.header-webshopbutton-wrapper .collapsed .fa-angle-up       { transform: rotate(180deg); }

.header-webshopbutton-menu                                      { background: #fff; border-radius: 5px; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%); }
.header-webshopbutton-wrapper .menu-item .btn                   { width: 260px; margin: 0; padding: 5px 12px; text-align: left; font-size: 17px; }
.header-webshopbutton-wrapper .menu-item .btn-menu.active,
.header-webshopbutton-wrapper .menu-item .btn:hover             { border-color: #fff; color: var(--color-accent-hover); }

.header-webshopbutton-label     { font-weight: 600; }
.header-webshopbutton-menu      { position: absolute; top: 45px; left: 0; }

.header-shopping-basket.header-submenu-wrapper { left: -148px; }

.btn-secondary.btn-header-shopping-basket       { width: 100%; background-color: var(--color-action); border-color: var(--color-action); }

.btn-secondary.btn-header-shopping-basket:hover,
.btn-secondary.btn-header-shopping-basket:not(:disabled):not(.disabled).active,
.btn-secondary.btn-header-shopping-basket:not(:disabled):not(.disabled):active,
.show>.btn-secondary.btn-header-shopping-basket.dropdown-toggle,
.btn-secondary.btn-header-shopping-basket.focus,
.btn-secondary.btn-header-shopping-basket:focus      { background: var(--color-action-hover); border-color: var(--color-action-hover); color: #fff; }


.product-overview-top-wrapper   { background: #fff !important; color: #000; }
.product-overview-top-content   { width: auto; text-align: left; }

.product-overview-slider-wrapper        { width: calc(100% - 15px); }
.product-overview-slider-wrapper *      { box-sizing: content-box; }
.product-overview-filter-slider         { width: auto; }

.breadcrumb-wrapper             { background: #fff !important; color: #000; }

    .breadcrumb-content         { margin: 0 auto; padding: 12px 20px 30px; background: #fff !important; font-size: 11px; }
    .breadcrumb-item,
    .breadcrumb-link            { color: #999; }
    .breadcrumb-separator       { color: #999; font-size: 9px; }

.headertop-menu-item.vangorcum  { color: var(--color-accent); }


@media only screen and (max-width: 1100px) {

    .payoff                         { display: none; }
    .header-top-bar-content         { justify-content: flex-end; }

}

@media only screen and (max-width: 1024px) {

    .header-logo img                    { max-width: 180px; }

    .header-search-wrapper              { left: -10px; top: 61px; width: calc(100% + 20px); padding: 10px; }
    #menuSearchForm                     { width: 100%; }
    .header-form-search-input           { width: calc(100% - 40px); }

    .header-account-button-label    { display: none; }
    .header-account-button-icon     { display: block; }

    .header-menu-wrapper                { left: -10px; top: 124px; width: calc(100% + 20px); box-shadow: none; }
    
    .header-webshopbutton-wrapper                   { margin: 0; padding: 0; background: #fff; }
    .header-webshopbutton-button                    { display: none !important; }
    .header-webshopbutton-menu                      { position: relative; top: 0; border: none; box-shadow: none; }
    .header-webshopbutton-menu.collapse             { display: block; }
    .header-webshopbutton-wrapper .menu-item .btn   { width: auto; border-top: none; border-bottom: 1px solid #ddd; color: var(--color-accent); }

    .header-menu-extra-wrapper                      { border: none; }

    .headertop-submenu-wrapper                      { padding: 0 !important; border: none; border-top: 1px solid #ddd; }
    .menu-item.libm                                 { margin: 0; }

    .btn.btn-menu.active                            { border-bottom: 1px solid #ddd !important; }

    .headertop-submenu-wrapper                      { left: 0; }

    .main-menu .headertop-menu-wrapper a            { font-size: 17px; font-family: var(--secondary-font-family); }

    .sidebar-menu                   { display: block; }

}

@media only screen and (max-width: 500px) {

    .header-logo img                    { max-width: 150px; }
    .checkout-wrapper .header-logo img  { max-width: 200px; }


    .main-menu .headertop-menu-wrapper      { height: auto; line-height: inherit; }
    .main-menu .headertop-submenu-wrapper   { top: 0; }
 
}


/* HOMEPAGE */
.educatief-startmenu            { min-height: 500px; background: var(--color-bg-light); }
.educatief-startmenu-title      { font-family: var(--secondary-font-family); font-size: 28px; line-height: 30px; font-weight: 600; color: var(--color-accent2); }
.educatief-startmenu-link       { font-family: var(--secondary-font-family); font-size: clamp(1.5rem, 1.1622rem + 1.0811vw, 2rem); line-height: 34px; font-weight: 600; color: var(--color-accent); }
.educatief-startmenu-link:hover { color: var(--color-accent2); }


.educatief-startmenu-imagewrapper       { position: relative; height: 375px; overflow: hidden; }
.educatief-startmenu-imagemask          { position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: url('../images/startmenu-imagemask.png') 0 0 / 100% auto no-repeat; z-index: 10; }
.educatief-startmenu-image              { position: absolute; top: 0; left: 0; max-width: 100%; z-index: 5; }



.columns2 .introblock-title,
.columns2 .introblock-button-wrapper        { text-align: left; }
.introblock-title                           { color: var(--color-accent2); }
.clr-accent2 .introblock-title,
.clr-donkergrijs .introblock-title          { color: #fff; }



/* VERVOLG */
.breadcrumb-wrapper.productoverzicht .breadcrumb-content    { padding-bottom: 30px; }


.vervolg-header-top-content         { width: auto; }
.vervolg-header-title               { font-family: var(--secondary-font-family); font-weight: 600; font-size: 40px; line-height: 44px; color: #000; text-align-last: left; }

.team,
.article-large,
.article-wrapper,
.actueel-overview,
.sidebar-menu-wrapper               { padding: 0; }

.team-wrapper                       { max-width: 760px; }

.page-content-wrapper               { width: auto; }
.page-content-main-wrapper          { flex: 1 1 auto; }


@media only screen and (max-width: 1024px) {

    .btn.mobile-menu-toggle         { margin: 0; }

    .homepage-main .article-wrapper, .quoteblok-content, .illustration-block-wrapper, .introblock { width: calc(100% - 20px); }

    .page-content-side-wrapper,
    .page-content-main-wrapper      { padding: 0; }

    .sidebar-menu-item-wrapper      { padding: 5px 10px 5px 0; }
    
}

@media only screen and (max-width: 1024px) {

    .footer-content-wrapper         { width: 100%; }

}




/* PRODUCTOVERVIEW */
.product-overview-overview-title-wrapper h1     { font-size: 40px; line-height: 44px; }
.product-info-resultcount                       { display: none; }

.product-overview-filters                       { border-top: 1px solid #cacaca; }

.product-overview-wrapper                       { padding: 30px 0; background: #fff; }
.product-overview-overview-wrapper              { border-top: 1px solid #cacaca; }

.product-overview-bestelitems-wrapper           { border: 0; }
.product-overview-product                       { grid-template-columns: 27% 73%; padding: 30px 0; }
.product-overview-product-title a               { font-size: clamp(1.2rem, 0.8472rem + 1.3440vw, 1.62rem); line-height: clamp(1.35rem, 1.0560rem + 1.1200vw, 1.7rem); font-weight: 700; color: #000; }
.product-overview-product-subtitle              { font-size: clamp(1.2rem, 0.8472rem + 1.3440vw, 1.62rem); line-height: clamp(1.35rem, 1.0560rem + 1.1200vw, 1.7rem); font-weight: 500; }
.product-overview-product-image-wrapper img     { box-shadow: 0 3px 20px -3px rgb(0 0 0 / 15%), 0 0 6px -8px rgb(0 0 0 / 18%); }

.product-overview-filters                       { padding: 20px 0; }
.product-overview-filter-section                { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid #cacaca; }

.filters-selected-container                                         { margin: 0; padding: 10px 0 0; }
.filters-selected-container ul.selected-members li a                { border: 1px solid #cacaca; border-radius: 5px; }
.filters-selected-container ul.selected-members li a:hover          { background: var(--color-accent); border-color: var(--color-accent); }
.filters-selected-container ul.selected-members li a:hover span     { color: #fff; }

.product-overview-navigation-wrapper            { padding: 0; }


@media only screen and (max-width: 1214px) {

}

@media only screen and (max-width: 920px) {


    .product-overview-filters-wrapper       { margin: 0 0 20px; }
    .product-overview-product				{ grid-template-columns: 35% 65%; margin: 0; }

}




/* PRODUCT */
.product-page-title {
    margin: 0;
    font-family: var(--secondary-font-family); font-size: clamp(1.6rem, 0.5920rem + 3.8400vw, 2.8rem);
    line-height: clamp(1.6rem, 0.5920rem + 3.8400vw, 2.8rem);
}
.product-info-subtitle {
    font-size: clamp(1.6rem, 0.5920rem + 3.8400vw, 2.8rem);
    line-height: clamp(1.6rem, 0.5920rem + 3.8400vw, 2.8rem);
}




.product-page-details-inforegel                 { color: #000; font-size: 15px; }

.product-page-bottom                    { background: #f8f7f7 !important; }


@media only screen and (max-width: 1024px) {

    .student-discount-notice-productpage-wrapper                { width: 230px; }

}

@media only screen and (max-width: 500px) {

    .product-sticky-action-bar-content .bestelitem-regel        { justify-content: flex-end; }
    .product-page-top-image-wrapper                             { max-width: 50%; }

}












/* SLIDER */
.carousel-title-wrapper                 { margin: 0 0 0 20px; text-align: left; color: var(--color-accent2); }
.carousel-container                     { margin: 0 0 30px; background: #fff; }
    .carousel-item-content-wrapper      { border: 1px solid #e8e8e8; }
    .carousel-item:hover				{ transform: scale(1.04); box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.1); }
    .carousel-price                     { display: block; padding: 10px 0 0; }


@media only screen and (max-width: 767px) {

    .carousel-content               { width: calc(100% - 60px); }
    .carousel-item-image-wrapper    { text-align: center; }

}

.pe--slider h2.section-title        { color: var(--color-accent2); }

.swiper-slide.card                  { min-height: 420px; cursor: pointer; }
.card-boek                          { min-height: 285px; }
.card-title                         { text-align: center; font-weight: 500; }
.card-spacer                        { flex-grow: 1; }
.card-price                         { text-align: center; font-weight: 600; }

.swiper-slider-button-next, .swiper-slider-button-prev      { position: absolute; top: 50%; width: 2rem; font-size: 1.4rem; text-align: center; z-index: 5; cursor: pointer; }
.swiper-slider-button-next { right: -2rem; }
.swiper-slider-button-prev { left: -2rem; }

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal     { bottom: -15px !important; }

.swiper-slide img                   { transition: transform 0.6s ease; }
.swiper-slide:hover img             { transform: scale(1.02); box-shadow: 0 0 6px 1px rgb(0 0 0 / 10%); }

@media only screen and (max-width: 500px) {

    .card-boek                          { min-height: 200px; }
    .swiper-slide.card                  { min-height: 335px; }
    .swiper-scrollbar                   { opacity: 1 !important; }
    
}

@media only screen and (max-width: 820px) {

    .swiper-slider-button-next, .swiper-slider-button-prev      { display: none; }

}





.formulier-bar          { margin: 0 auto 60px; padding: 0; }










/* ACCOUNT */

.accountpage-top-title                  { font-family: var(--secondary-font-family); font-weight: 600; font-size: 30px; line-height: 32px; }
.accountpage-top-subtitle               { font-weight: 400; }

.account-address-title-factuuradres     { width: 201px; }
.account-address-title-afleveradres     { width: 199px; }


.student-discount-notice-button a                { background-color: var(--btn-secondary-bg); }
.student-discount-notice-button a:hover          { background-color: var(--btn-secondary-bg-hover); }


.shoppingbasket-count-bubble {
    background: var(--color-accent);
 }


/* CHECKOUT */
.header.checkout                        { height: auto; padding: 25px 0; border: none; }

.shop-progress-item-text                { height: 46px; }
.shop-progress-item.active              { background: #fff; color: #000; }
.shop-progress-item-text                                { color: #000; font-weight: 400; }
.shop-progress-item.active .shop-progress-item-text     { color: #000; font-weight: 400; }
.shop-progress-item.active .shop-progress-item-divider  { background: url(/images/shopflow/shop-progress-divider-white.svg) 0 0 / 26px 47px no-repeat; }
.shop-progress-item.clickable .shop-progress-item-text  { font-weight: normal; }

.shop-content-header-container h1       { font-weight: 600; }

.shop-login-newcustomer,
.shop-login-existingcustomer            { border: 1px solid #e4e4e4; }

.student-discount-shoppingbasket-wrapper                { background: #ffffff; border: 1px solid #ff5a60;}
.student-discount-shoppingbasket-discount               { background: var(--color-accent); }
.student-discount-shoppingbasket-arrow                  { border-left-color: var(--color-accent); background: #ffffff; }
.student-discount-shoppingbasket-content .checkmark     { background: #4bcbc4; }
.student-discount-shoppingbasket-content                { color: #000; }

@media only screen and (max-width: 990px) {

    .student-discount-shoppingbasket-arrow      { border-top: 75px solid transparent; border-bottom: 75px solid transparent; }

}

@media only screen and (max-width: 920px) {

    .student-discount-shoppingbasket-arrow      { border-top: 100px solid transparent; border-bottom: 100px solid transparent; }

}

@media only screen and (max-width: 820px) {
    
    .button-wrapper .btn, .shop-form-wide-buttons .btn  { width: 100%; }
    .header.checkout                                    { height: 70px; }
    .header-content-wrapper.checkout                    { padding: 0; }
    .shop-progress-mobile-container                     { margin: 0 0 20px; }

}

@media only screen and (max-width: 768px) {

    .student-discount-shoppingbasket-arrow      { border-left: 100px solid transparent; border-right: 100px solid transparent; border-top: 15px solid #ff5a60; border-bottom: 5px solid transparent; }

}

.qtip       { background: var(--color-accent); border-color: var(--color-accent); }






/* FOOTER */
.footer-newsletter-bar          { background: #fff !important; color: #000; border-top: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8; }
.footer-newsletter-bar-label    { color: #000; }

.footer                         { background: #fff !important; color: #000; }
.footer a,
.footer a:hover                 { color: #000; }

.social-divider                 { display: none; }
.btn-sqr.social                 { height: 37px; width: 37px; font-size: 17px; color: #333; border-color: #999; }





@media (min-width: 1200px) {

    .header-content-wrapper.checkout,
    .article-wrapper                        { max-width: 1140px; }

}




#cookiepolicy                               { width: 100%; }
.cookiepolicy-configure-cookies             { border: 1px solid #18ab23; }
.cookiepolicy-accept-cookies                { border: 1px solid #18ab23; background-color: #18ab23; }
#cookiepolicy input:checked + .slider       { background-color: #18ab23; }