/* section variables */

@font-face {
    font-family: 'SansaPro';
    src: url('/fonts/SansaPro.woff2') format('woff2'),
         url('/fonts/SansaPro.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --umbraco-body-font-family: 'Source Sans 3', Helvetica, Arial, sans-serif;
    --umbraco-body-fontawsome-family: 'FontAwesome';
    --umbraco-body-bg-color: #f4f4f4;
    --umbraco-body-nav-toggler-bg-color: #ddd;
    --umbraco-body-primary-color: #ff0000;
    --umbraco-body-secondary-color: #1d1d1d;
    --umbraco-body-tertiary-color: #757576;
    --umbraco-body-header-h2-color: #fff;
    --umbraco-body-text-color: #666;
    --umbraco-body-text-size: 12px;
    --umbraco-order-nav-text-color: #FFF;
    --umbraco-accordion-border-color: #000000;
    --umbraco-accordion-border-width: 1px;
    --umbraco-border-radius: 20px;
    --umbraco-input-border-radius: 15px;
    --umbraco-input-border-radius-xs: 10px;
    --umbraco-container-max-width: 1480px;
    --umbraco-card-box-shadow: 0px 12px 18px -6px rgba(0, 0, 0, 0.3);
    --bs-body-font-family: var(--umbraco-body-font-family);
    --bs-body-font-size: 1rem;
    --bs-link-hover-color: var(--umbraco-body-secondary-color);
    --bs-link-color: var(--umbraco-body-primary-color);
    --bs-primary-rgb: 255, 0, 0;
    --bs-secondary-rgb: 29, 29, 29;
    --bs-primary: var(--umbraco-body-primary-color);
    --bs-border-width: 1px;
    --bs-border-color: var(--umbraco-body-secondary-color);
    --bs-border-radius: var(--umbraco-border-radius);
    --section-spacing: 48px;
}

/* NAVBAR */

.navbar {
    --bs-nav-link-color: #fff;
    --bs-navbar-active-color: var(--umbraco-body-primary-color);
    --bs-navbar-color: #fff;
    --bs-nav-link-hover-color: #fff;
    --bs-navbar-brand-hover-color: var(--umbraco-body-primary-color);
    --bs-navbar-hover-color: var(--umbraco-body-primary-color);
    --bs-nav-link-font-weight: 700;
    --bs-nav-link-font-size: 18px;
    --bs-navbar-toggler-border-color: transparent;
}

.main-navbar {
    min-height: 90px;
    background-color: transparent !important;
    transition: background-color .25s ease, box-shadow .25s ease, min-height .25s ease;
}

.main-navbar.navbar-scrolled {
    min-height: 70px;
    background-color: #fff !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .08);
}

.main-navbar .navbar-brand {
    display: block;
}

.main-navbar .logo {
    height: unset !important;
    max-width: 230px;
    max-height: 125px;
    transition: max-width .25s ease, max-height .25s ease;
}

.main-navbar .logo--white {
    display: block !important;
}

.main-navbar .logo--dark {
    display: none !important;
}

.main-navbar.navbar-scrolled .logo--white {
    display: none !important;
}

.main-navbar.navbar-scrolled .logo--dark {
    display: block !important;
    max-width: 170px;
    max-height: 80px;
}

.main-navbar .navbar-nav .nav-link {
    color: #fff !important;
    font-weight: 700;
}

.main-navbar .navbar-nav .nav-link:hover {
    color: #fff !important;
    opacity: .7;
}

.main-navbar .navbar-nav .nav-link.active {
    color: var(--umbraco-body-primary-color) !important;
}

.main-navbar.navbar-scrolled .navbar-nav .nav-link {
    color: #000 !important;
}

.main-navbar.navbar-scrolled .navbar-nav .nav-link:hover,
.main-navbar.navbar-scrolled .navbar-nav .nav-link.active {
    color: var(--umbraco-body-primary-color) !important;
}

.navbar-toggler {
    border-color: transparent;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.main-navbar .navbar-toggler-icon {
    filter: brightness(0) invert(1);
}

.main-navbar.navbar-scrolled .navbar-toggler-icon {
    filter: none;
}

@media (max-width: 991.98px) {
    .main-navbar:has(.navbar-collapse.show),
    .main-navbar:has(.navbar-collapse.collapsing),
    .main-navbar.navbar-scrolled {
        background-color: #fff !important;
    }

    .main-navbar .navbar-collapse {
        background-color: #fff;
    }

    .main-navbar .navbar-nav .nav-link {
        color: #000 !important;
    }

    .main-navbar .navbar-nav .nav-link:hover,
    .main-navbar .navbar-nav .nav-link.active {
        color: var(--umbraco-body-primary-color) !important;
    }

    .main-navbar:has(.navbar-collapse.show) .navbar-toggler-icon,
    .main-navbar:has(.navbar-collapse.collapsing) .navbar-toggler-icon,
    .main-navbar.navbar-scrolled .navbar-toggler-icon {
        filter: none;
    }
}

/* END NAVBAR */


.accordion {
    --bs-accordion-body-padding-x: 0.25rem;
    --bs-accordion-body-padding-y: 0.8rem;
    --bs-accordion-btn-padding-x: 0.25rem;
    --bs-accordion-btn-padding-y: 0.5rem;
    --bs-accordion-btn-focus-border-color: unset;
    --bs-accordion-active-color: unset;
    --bs-accordion-active-bg: unset;
    --bs-accordion-bg: unset;
    --bs-accordion-border-color: unset;
    --bs-accordion-btn-focus-box-shadow: unset;
    --bs-accordion-border-radius: unset;
}

.accordion-button:not(.collapsed)::after,
.accordion-button::after {
    background-image: unset !important;
    content: unset !important;
}

.btn {
    --bs-btn-border-radius: var(--umbraco-input-border-radius);
    --bs-btn-border-width: 2px;
    --bs-btn-hover-color: var(--umbraco-body-primary-color);
    --bs-btn-hover-bg: rgba(0, 0, 0, .05);
    --bs-btn-hover-border-color: var(--umbraco-body-primary-color);
}
.btn.oms-register-tabs__tab.is-active,
.btn-light,
.btn-primary{
    --bs-btn-bg: var(--umbraco-body-primary-color);
    --bs-btn-border-color: var(--umbraco-body-primary-color);
    --bs-btn-color: #fff;
    --bs-btn-padding-y: 10px;
}

.btn-secondary,
.courses-catalog-filter-submit {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--umbraco-body-secondary-color);
    --bs-btn-border-color: var(--umbraco-body-secondary-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umbraco-body-tertiary-color);
    --bs-btn-hover-border-color: var(--umbraco-body-secondary-color);
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--umbraco-body-secondary-color);
    --bs-btn-active-border-color: var(--umbraco-body-secondary-color);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-padding-y: 10px;
}

.courses-catalog-filter-reset {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--umbraco-body-primary-color);
    --bs-btn-border-color: var(--umbraco-body-primary-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umbraco-body-primary-color);
    --bs-btn-hover-border-color: var(--umbraco-body-primary-color);
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--umbraco-body-primary-color);
    --bs-btn-active-border-color: var(--umbraco-body-primary-color);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-outline-primary,
.btn.oms-register-tabs__tab:not(.is-active) {
    --bs-btn-color: var(--umbraco-body-primary-color);
    --bs-btn-border-color: var(--umbraco-body-primary-color);
    --bs-btn-hover-color: var(--umbraco-body-primary-color);
    --bs-btn-hover-bg: rgba(0, 0, 0, .05);
    --bs-btn-hover-border-color: var(--umbraco-body-primary-color);
    --bs-btn-active-color: var(--umbraco-body-primary-color);
    --bs-btn-active-bg: : rgba(0, 0, 0, .05);
    --bs-btn-padding-y: 10px;
}

.signature-actions {
    position: relative;
    top: -150px;
    right: -2px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;

    .undoSignature {
        color: #fff;
        background: #c00;
        padding: 3px 10px 3px 10px;
    }

    .clearSignature {
        color: #fff;
        background: #c00;
        padding: 3px 10px 3px 10px;
    }
}


#signaturePad-canvas{
    width: 50%;
    height: 150px;
}
@media (max-width: 990px) {
#signaturePad-canvas{
    width: 100%;
 
}
}

.badge {
    --bs-badge-padding-x: 0.95em;
    --bs-badge-padding-y: 0.65em;
    --bs-badge-border-radius: 0.75rem
}
/* section main */
main {
    background-color: var(--umbraco-body-bg-color);
}

body p {
    font-style: normal;
    font-weight: 400;
    margin: 0 0 1em 0;
    padding: 0;
    width: 100%;
    color: var(--umbraco-body-text-color);
}

a {
    text-decoration: none;
}
/* section typografie */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Source Sans 3', sans-serif;
}

h1 {
    font-size: clamp(2rem, 3vw, 3.5rem) !important;
}

h2 {
    font-size: clamp(1.75rem, 2vw, 2.5rem) !important;
    font-weight: 700;
}

h3 {
    font-size: clamp(1.5rem, 1.5vw, 1.8rem) !important;
    font-weight: 700;
    color: var(--umbraco-body-primary-color);
}

h4 {
    font-size: clamp(1.25rem, 1.2vw, 1.5rem) !important;
}

h5 {
    font-size: clamp(1.125rem, 1vw, 1.25rem) !important;
    font-weight: 700;
}

h6 {
    font-size: clamp(1rem, 1vw + 0.25rem, 1.125rem) !important;
}

.text-white-container {
    p {
        color: #fff;
    }

    a {
        color: var(--umbraco-body-secondary-color);
    }
}


/* section order menu */
.order-menu p, .order-menu a {
    color: var(--umbraco-order-nav-text-color);
    margin-top: 4px;
    margin-bottom: 1px;
}

.order-menu a {
    text-decoration: unset;
    font-size: 0.8rem;
}

.order-menu-title {
    font-weight: 700;
}


/* Desktop (≥992px): show original, hide mobile copy */
@media (min-width: 992px) {
  .order-menu { display: block; }
  .order-menu-mobile { display: none !important; }
}

/* Mobile (<992px): hide original, show mobile copy inside collapse */
@media (max-width: 991.98px) {
    .order-menu { display: none !important; }
    .order-menu-mobile { display: block; }

    .order-menu-mobile {
        border-radius: var(--umbraco-border-radius);
        padding: 0.75rem;
        margin-bottom: 1rem;
    }

    .order-menu-mobile .order-menu-title {
        color: #fff;
        font-weight: 600;
    }

    .order-menu-mobile a {
        color: #fff;
        text-decoration: none;
        margin-left: 0.30rem;
    }

    /* Optional: small spacing under the mobile bar before nav links */
    #navbarSupportedContent .navbar-nav > li + li {
        margin-top: .25rem;
    }
}

/* section jumbotron */
.jumbotron {
    min-height: 580px;
    padding-top: 0;
    margin-top: 0;

    p {
        color: var(--umbraco-body-header-h2-color);
    }
}

.jumbotron-body {
    min-height: var(--jumbotron-min-height, 40vh);
}

.jumbotron-heading {
    position: absolute;
    top: 200px;

    h1,
    p {
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    }
}

@media (max-width: 991.98px) {
    .jumbotron {
        min-height: 320px;
        margin-top: 0;
    }

    .jumbotron-body {
        min-height: 320px !important;
    }

    .jumbotron-heading {
        top: 150px;
    }

    .page-header--noimage {
        min-height: 220px;
    }
}

@media (max-width: 991.98px) {
    .jumbotron-home {
        min-height: 520px;
    }

    .jumbotron-home .jumbotron-body {
        min-height: 520px !important;
    }

    .jumbotron-home .jumbotron-heading {
        top: 150px;
    }
}

@media (max-width: 991.98px) {
    .jumbotron-image {
        position: relative;
    }

    .jumbotron-image::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.75) 0%,
            rgba(0, 0, 0, 0.45) 45%,
            rgba(0, 0, 0, 0) 100%
        );
    }

    .jumbotron-image .jumbotron-body,
    .jumbotron-image .jumbotron-heading {
        position: relative;
        z-index: 2;
    }
}

/* BadgeItem */
.badge-items .umb-block-grid__layout-container {
    display: flex;
    gap: 2rem;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.badge-items .umb-block-grid__layout-item {
    flex: 0 0 auto;
}

.badge-item {
    width: 125px;
    height: 125px;
    display: flex;
    background: transparent;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: var(--umbraco-border-radius)
}

.badge-item__icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: none;
    margin-bottom: 0.5rem;
}

.badge-item__text {
    font-size: 0.85rem;
    font-weight: 600;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Kleuren badge-icon Primary */
.badge--primary {
    background-color: var(--umbraco-body-primary-color);
    color: #ffffff;
}

.badge--primary .badge-item__icon {
    filter: brightness(0) invert(1);
}

/* Kleuren badge-icon Light */
.badge--light {
    background-color: #ffffff;
    color: var(--umbraco-body-primary-color);
}

.badge--light .badge-item__icon {
    filter: none;
}

/* Kleuren badge-icon Outline */
.badge-item.badge--outline {
    background-color: #ffffff;
    color: #007AC1;
    border: 4px solid #BBCE00 !important;
}

.badge--outline .badge-item__icon {
    filter: none;
}

.badge-item.badge--light .badge-item__icon,
.badge-item.badge--outline .badge-item__icon {
    filter: brightness(0) saturate(100%) invert(27%) sepia(92%) saturate(1675%) hue-rotate(188deg) brightness(92%) contrast(92%);
}

@media (max-width: 576px) {
    .badge-item {
        width: 100px;
        height: 100px;
        padding: 0.25rem;
    }

    .badge-item__icon {
        width: 24px;
        height: 24px;
        margin-bottom: 0.25rem;
    }

    .badge-item__text {
        font-size: 0.6rem;
        line-height: 1.1;
    }
}


/* Alleen op homepage jumbotron badges */
.jumbotron .badge-items .umb-block-grid__layout-item:nth-child(1) .badge-item {
    background-color: var(--umbraco-body-primary-color);
    color: #ffffff;
}

.jumbotron .badge-items .umb-block-grid__layout-item:nth-child(2) .badge-item {
    background-color: #7EA8DA;
    color: #ffffff;
}

.jumbotron .badge-items .umb-block-grid__layout-item:nth-child(3) .badge-item {
    background-color: #A9C4E4;
    color: #ffffff;
}

.jumbotron .badge-items .badge-item__icon {
    filter: brightness(0) invert(1);
}

/* section footer */
.footer {
    /*   // border-top-color: var(--umbraco-body-secondary-color);*/
    /*    border-width: 5px;*/
    border-top: 5px solid var(--umbraco-body-secondary-color) !important;

    ol, ul {
        padding: 0;
    }
}

    .footer .footer-copyright {
        font-size: 12px;
        color: #fff;
    }

    .footer .footer-item {
        list-style: none;
    }

    .footer .footer-link {
        color: var(--umbraco-body-text-color);
        padding-bottom: 0;
        text-decoration: none;
    }

    .footer .footer-link:hover {
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    .footer .socialmedia-icon {
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--umbraco-body-secondary-color);
        border-radius: 4px;
        text-decoration: none;
        font-size: 28px;
    }

    .footer .company-icon {
    width: 28px;
    font-size: 28px;
    text-decoration: none;
    color: var(--umbraco-body-primary-color);
    }

    .footer .footer-company {
        display: flex;
        flex-wrap: wrap;
    }


.footer-company-icon {
    width: 45px;
}

.footer-company-info {
    width: calc(100% - 45px);
}

.footer {
    h4, h6 {
        color: var(--umbraco-body-primary-color);
        font-size: 16px;
        font-weight: 700;
    }
}

/* Safari */
.footer ol,
.footer ul {
    padding: 0;
}

.footer h4,
.footer h6 {
    color: var(--umbraco-body-primary-color);
    font-size: 16px;
    font-weight: 700;
}

/* section error */
.error-container {
    margin-top: 150px
}

/* section umbraco form */
.umbraco-forms-field-wrapper input, .umbraco-forms-field-wrapper select, .umbraco-forms-field-wrapper textarea {
    height: 42px;
    border-radius: var(--umbraco-input-border-radius-xs);
    border: 1px solid #ddd;
    padding: 0 12px;
    background: #fff;
}
#contact-form .umbraco-forms-form textarea {
    max-width: unset !important;
    width: 98% !important;
}
/* section news-detail */
#news-detail-container p {
    margin-top: 0;
    margin-bottom: 1rem;

    img {
        border-radius: var(--umbraco-border-radius);
    }
}

.news-overview {
    .image-container {
        min-height: 225px;

        img.card-img-top {
            margin: 0;
            width: 100%;
            object-fit: fill;
            height: 225px;
        }
    }
}

.news-detail-carousel-container {
    h2 {
        color: var(--umbraco-body-primary-color);
    }
}

.card-news .card-body {
    height: 100%;
}

.card-news-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.card-news-link {
    margin-top: auto;
}

.news-details-page {
    font-size: var(--umbraco-body-text-size);
}

/* section Vacancies */
.vacancies-page .image-container {
    max-height: 420px;
    width: auto;
}

.news-detail-image {
    display: block;
    max-height: 500px;
    height: auto;
    object-fit: contain;
    border-radius: var(--umbraco-border-radius);
}


/* Teammembers Over Ons */
.team-grid {
    margin-top: 1rem;
    margin-bottom: 3rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.team-member {
    text-align: center;
    position: relative;
    padding-top: 7rem;
}

.team-member__photo {
    width: 160px; /* ~30% groter */
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.team-member__card {
    background: #ffffff;
    border-radius: var(--umbraco-border-radius);
    padding: 90px 20px 24px; /* extra top padding voor overlap */
    position: relative;
    z-index: 1;
}

.team-member__name {
    font-weight: 700;
    margin-bottom: 4px;
    text-align: center;
}

.team-member__role {
    text-align: center;
    opacity: 0.75;
    font-size: 0.95rem;
}

.team-member__number {
    text-align: center;
    opacity: 0.75;
    font-size: 0.95rem;
}


.team-section {
    margin-top: 16px;
}

.team-grid {
    margin-top: 50px;
}
  /* section security */
.securities-container{
    padding: 0;
    grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)) !important;
    display: grid;
    gap: 20px;
    justify-content: center;

    .card-security{
        border-top: 15px solid var(--umbraco-body-secondary-color) !important;
        max-width: 300px !important;
        height: unset !important;
        min-height: 170px;
        border-radius: var(--umbraco-border-radius) !important;
    }
}



/* Tablet Over Ons(<= 991px) */
@media (max-width: 991px) {
    .team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .team-member {
        padding-top: 62px;
    }

    .team-member__photo {
        width: 120px;
        height: 120px;
    }

    .team-member__card {
        padding: 80px 18px 22px;
    }
}

/* Mobiel Over Ons(<= 575px) */
@media (max-width: 575px) {
    .team-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .team-member {
        padding-top: 58px;
    }

    .team-member__photo {
        width: 110px;
        height: 110px;
    }

    .team-member__card {
        padding: 74px 16px 20px;
    }
}
/* section block */
/* Algemene RTE reset (voorkomt witte vlakken per <p> */
.rte,
.rte * {
    background: transparent;
}

/* Inloggen */
.oidc_login_btn {
    background-color: var(--umbraco-body-primary-color) !important;
    color: #fff !important;
    border: none;
    padding: 8px 8px;
    border-radius: 8px;
}

.oidc_login_btn:hover {
    background-color: var(--umbraco-body-tertiary-color) !important;
    color: #fff !important;
}

/*blockText*/
.block-text {
    padding: 16px 0 16px 0;
}

.block-text.no-title {
    padding-top: 16px;
}

.block-text__body {
    margin-top: 32px;
}

@media (max-width: 991px) {

  .block-text {
    padding: 24px 0 16px 0;  
    margin: 0;             
  }

  .block-text h2,
  .block-text h3 {
    margin-bottom: 16px;
  }

  .block-text .rte p:last-child {
    margin-bottom: 0;
  }

}

@media (max-width: 991px) {
    .ContentPage.py-5,
    .StandardPage-page.py-5 {
        padding-top: 1rem !important;  
        padding-bottom: 1rem !important;
    }
}

/* blockBlueLeftImageRight */
.overlapping-block {
    position: relative;
}

.overlapping-block .text-col {
        position: relative;
        z-index: 2;
    }

.overlapping-block .text-inner {
        background: var(--umbraco-body-tertiary-color);
        color: #fff;
        border-radius: 50px;
        height: auto;
        transform: translateX(24px) translateY(24px);
    }

.overlapping-block .text-inner,
.overlapping-block .text-inner * {
        color: #fff;
        }


.overlapping-block .image-col {
        position: relative;
        z-index: 1;
    }

.overlapping-block .image-inner {
        border-radius: 50px;
        object-fit: cover;
        min-height: 420px;
    }

.overlapping-block .text-inner {
        padding: 60px;
    }

.blue-block.is-reversed .overlapping-block .text-inner {
            transform: translateX(-24px) translateY(0px);
    }

@media (max-width: 991px) {

  .blue-block.mt-5 {
      margin-top: 0 !important;
  }

  .blue-block {
      padding-top: 24px !important;   /* hoogte bovenaan op mobiel */
      padding-bottom: 16px !important;
  }

  .blue-block .overlapping-block .text-inner,
  .blue-block.is-reversed .overlapping-block .text-inner {
      transform: translateY(16px) !important;
      padding: 24px !important;
  }
}


/* blockText instellingen */
.block-text__inner {
    width: 100%;
}

.block-text--50 .block-text__inner {
    width: 50%;
}

.block-text--60 .block-text__inner {
    width: 60%;
}

.block-text--40 .block-text__inner {
    width: 40%;
}

.block-text--panel .block-text__inner {
    padding: 32px;
    background-color: #fff;
    border-top: 5px solid var(--umbraco-body-primary-color);
    border-radius: var(--umbraco-border-radius);
}

.block-text--plain .block-text__inner {
    padding: 0;
    background-color: transparent;
    border: 0;
}

@media (max-width: 991px) {
    .block-text--50 .block-text__inner,
    .block-text--60 .block-text__inner,
    .block-text--40 .block-text__inner {
        width: 100%;
    }

    .block-text--panel .block-text__inner {
        padding: 24px;
    }
}

/* blockImageLeftTextRight */
.block-iltr__image {
    width: 100%;
    display: block;
}

.block-iltr__panel {
    background: #ffffff;
    padding: 1.5rem;
    position: relative;
    overflow: hidden;
}

.block-iltr__bar--5 {
    height: 5px;
    background-color: #ff0000;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.block-iltr__title {
    margin-top: 0;
}

/* blockTextLeftImageRight – panel variant */
.block-iltr__panel--active {
    background: #fff;
    border-radius: 20px;
    padding: 28px;
}

.block-iltr__panel--active .block-iltr__bar {
        display: block;
    }

.block-iltr__panel:not(.block-iltr__panel--active) {
    background: transparent;
    padding: 0;
}

.block-iltr__panel:not(.block-iltr__panel--active) .block-iltr__bar {
    display: none;
}

/* left-right-color */
.left-right-color-block {
    position: relative;
    overflow: hidden; /* prevents background from overflowing */
}

.left-right-color-block > .position-absolute {
    z-index: 1;
}

.left-right-color-block > .container {
    position: relative;
    z-index: 2; /* Content stays above the background */
}

@media (max-width: 991px) {
    .left-right-color-block > .container {
        width: 100%;
        max-width: 100%;
        
    }
    .left-right-color-block{

        .left-block,
        .right-block{
            padding: 3rem;
        }
    }
}

@media (max-width: 665px) {
    .left-right-color-block{

        .left-block,
        .right-block{
            padding: 1rem;
        }
    }

}

/* CardBlock */
.card-block {
    padding: 0;
    margin: 0;
    clear: both;
}

.card-block__title {
    margin: 0 0 32px;
}

.card-block__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.c-card-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: var(--bs-border-radius-xl);
    box-shadow: var(--bs-box-shadow);
    overflow: hidden;
}

.c-card-item__image {
    height: 180px;
    overflow: hidden;
    flex-shrink: 0;
}

.c-card-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.c-card-item__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
}

.c-card-item h4 {
    margin: 0 0 12px;
    font-size: 1.25rem;
    line-height: 1.25;
}

.c-card-item p {
    margin: 0 0 24px;
    line-height: 1.5;
}

.home-categories .c-card-item { 
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18);
    transistion: box-shadow .2s ease, transform .2s ease;
} 

.home-categories .c-card-item:hover { 
    box-shadow: 0 22px 40px rgba(0, 0, 0, 0.24);
    transform: translateY(-2px);
}

.btn-card {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 10px 18px;
    background: var(--umbraco-body-primary-color);
    color: #fff;
    border-radius: var(--bs-border-radius);
    text-decoration: none;
    font-weight: 600;
}

.btn-card:hover,
.btn-card:focus {
    background: var(--bs-danger);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 991px) {
    .card-block__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .card-block {
        padding: 32px 0;
    }

    .card-block__grid {
        grid-template-columns: 1fr;
    }

    .c-card-item__image {
        height: 160px;
    }
}

/* Contactpagina */
.contact-section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.contact-row {
  overflow: hidden;
}

.contact-card {
  height: 100%;
}

.contact-card--left {
  background-color: var(--umbraco-body-tertiary-color);
  color: #ffffff;
  border-radius: 16px 0 0 16px;
}

.contact-card--left,
.contact-card--left p,
.contact-card--left span,
.contact-card--left div,
.contact-card--left strong {
  color: #ffffff;
}

.contact-card--left i {
  color: #ffffff;
}

.contact-card--right {
  background-color: #ffffff;
  border-radius: 0 16px 16px 0;
}

.contact-row > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}

.contact-card--left h3.contact-group-title,
.contact-card--left .contact-group-title {
  color: #fff !important;
}

.contact-card--left a {
  color: #fff !important;
  text-decoration: none;
}

.contact-card--left a:hover {
  color: #fff !important;
  text-decoration: underline;
}

.contact-card--left .contact-group-title:not(:first-of-type) {
  margin-top: 2rem;
}

.contact-row-item__icon {
  margin-top: 4px;
}

.contact-row-item__text p {
  margin: 0;
}

.contact-row-item__text p + p {
  margin-top: .4rem;
}

.contact-form-2col .umbraco-forms-page > .umbraco-forms-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.contact-form-2col .umbraco-forms-field {
  width: 100%;
}

.contact-card--right .row-fluid {
  display: flex;
  flex-wrap: wrap;
}

.contact-card--right .row-fluid > .col-md-6 {
  width: 50%;
}

.contact-card--right .row-fluid > .col-md-12 {
  width: 100%;
}

.contact-card--right input[type="submit"] {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--umbraco-body-secondary-color);
    --bs-btn-border-color: var(--umbraco-body-secondary-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umbraco-body-secondary-color);
    --bs-btn-hover-border-color: var(--umbraco-body-secondary-color);

    display: inline-block;
    padding: 10px 16px;
    border: 2px solid var(--umbraco-body-secondary-color);
    border-radius: var(--umbraco-input-border-radius);
    background-color: var(--umbraco-body-secondary-color);
    color: #fff;
    font-weight: 600;
}

.contact-card--right input[type="submit"]:hover {
    color: #fff;
    background-color: var(--umbraco-body-secondary-color);
    border-color: var(--umbraco-body-secondary-color);
    opacity: .9;
}

/* blockTextImage */
.c-text-image {
    padding: 48px 0;
}

.c-text-image__inner {
    --text-column: 1fr;
    --image-column: 1fr;

    display: grid;
    grid-template-columns: var(--text-column) var(--image-column);
    gap: 48px;
    align-items: center;
}

.c-text-image__content,
.c-text-image__image {
    min-width: 0;
}

.c-text-image__title {
    margin: 0 0 24px;
}

.c-text-image__text > *:last-child {
    margin-bottom: 0;
}

.c-text-image__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--umbraco-border-radius);
    object-fit: cover;
}

/* Verhouding tekst / afbeelding */
.c-text-image--20-80 .c-text-image__inner {
    --text-column: 2fr;
    --image-column: 8fr;
}

.c-text-image--30-70 .c-text-image__inner {
    --text-column: 3fr;
    --image-column: 7fr;
}

.c-text-image--50-50 .c-text-image__inner {
    --text-column: 1fr;
    --image-column: 1fr;
}

.c-text-image--70-30 .c-text-image__inner {
    --text-column: 7fr;
    --image-column: 3fr;
}

.c-text-image--80-20 .c-text-image__inner {
    --text-column: 8fr;
    --image-column: 2fr;
}

/* Afbeelding links */
.c-text-image--image-left .c-text-image__inner {
    grid-template-columns: var(--image-column) var(--text-column);
}

.c-text-image--image-left .c-text-image__image {
    order: -1;
}

/* Zonder afbeelding */
.c-text-image--without-image .c-text-image__inner {
    display: block;
}

.c-text-image--without-image .c-text-image__content {
    max-width: 80ch;
}

/* Tablet en mobiel */
@media (max-width: 991px) {
    .c-text-image {
        padding: 24px 0 16px;
    }

    .c-text-image__inner,
    .c-text-image--image-left .c-text-image__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .c-text-image--image-left .c-text-image__image {
        order: 0;
    }
}

/* ratio */
.block-text--20 .block-text__inner {
    width: 20%;
}

.block-text--30 .block-text__inner {
    width: 30%;
}

.block-text--50 .block-text__inner {
    width: 50%;
}

.block-text--70 .block-text__inner {
    width: 70%;
}

.block-text--80 .block-text__inner {
    width: 80%;
}

.block-text--100 .block-text__inner {
    width: 100%;
}

@media (max-width: 991px) {
    .block-text--20 .block-text__inner,
    .block-text--30 .block-text__inner,
    .block-text--50 .block-text__inner,
    .block-text--70 .block-text__inner,
    .block-text--80 .block-text__inner {
        width: 100%;
    }
}

/*Inschrijven Nieuwsbrief */
.newsletter-block {
    width: 70%;
    margin: 0 auto;
    margin-top: 24px;
    margin-bottom: 72px;
    background-color: var(--umbraco-body-secondary-color);
    border-radius: 20px;
    padding: 40px;
    text-align: center;
}

.newsletter-block h3 {
    color: #ffffff;
    margin-bottom: 30px;
}

.newsletter-row {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.newsletter-row input[type="email"] {
    padding: 12px 16px;
    border-radius: 20px;
    border: none;
}

.newsletter-row button {
    padding: 12px 24px;
    border-radius: 20px;
    border: none;
    background-color: var(--umbraco-body-primary-color);
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
}

.newsletter-title,
.newsletter-title * {
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 40px 0;
}

.newsletter-title p,
.newsletter-title h1,
.newsletter-title h2,
.newsletter-title h3,
.newsletter-title h4 {
  margin: 0;
}



/* Optioneel: responsive */
@media (max-width: 991px) {

.newsletter-block {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.newsletter-row {
    flex-direction: column;
}

.newsletter-row input,
.newsletter-row button {
        width: 100%;
    }
}


/* blockTextLeftImageRight – mobile behaviour */
@media (max-width: 991px) {
    .block-iltr .row {
        flex-direction: column;
    }
}

/* Page Header Basis */
.page-header{
    display: flex;
    align-items: center;
    position: relative;
    background-size: cover;
    background-position: center;
}

.page-header .page-title{
  color: var(--umbraco-body-primary-color);
  padding-top: 100px;
}

.page-header__inner{
    width: 100%;
}

.page-header--noimage{
    min-height: 400px;            
    background-color: #d9d9d9;
    color: #0b2e4a;
}


.page-header--image{
    color: #fff;
    min-height: 0;               
}

.page-header--image::before{
    content:"";
    position:absolute;
    inset:0;
    background: rgba(0,0,0,.35);
}

.page-header--image .page-header__inner{
    position: relative;
    z-index: 1;
}

/* Page sections */
.page-sections {
    padding-bottom: var(--section-spacing);
}

.page-sections > section + section {
    margin-top: var(--section-spacing);
}

.page-block + .page-block {
    margin-top: var(--section-spacing);
}

.page-sections {
    padding-bottom: var(--section-spacing);
}

/* Opleiding flow home */
.block-text__body {
    overflow-x: auto;
}

.opleiding-flow {
    width: 1110px !important;
    min-width: 1110px !important;
    max-width: none !important;
    margin: 40px 0 !important;
}

.opleiding-flow * {
    box-sizing: border-box;
}

.opleiding-flow p,
.opleiding-flow div {
    max-width: none;
}

.opleiding-flow__top {
    display: flex !important;
    width: 1110px !important;
    gap: 60px !important;
    margin-bottom: 18px !important;
}

.opleiding-flow__top-item {
    flex: 0 0 330px !important;
    width: 330px !important;
}

.opleiding-flow__level {
    color: #e03e2d;
    font-size: 24px;
    line-height: 1.1;
}

.opleiding-flow__level span {
    font-size: 13px;
}

.opleiding-flow__study {
    font-size: 14px;
    margin-top: 4px;
}

.opleiding-flow__module-row {
    display: flex !important;
    align-items: flex-end !important;
    width: 1110px !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

.opleiding-flow__module {
    flex: 0 0 120px !important;
    width: 120px !important;
}

.opleiding-flow__module-title {
    width: 120px !important;
    background: #9f9f9f;
    padding: 18px 12px;
}

.opleiding-flow__module-title a {
    color: #fff !important;
    text-decoration: none;
    font-size: 19px;
}

.opleiding-flow__module-meta {
    width: 120px !important;
    background: #cfcfcf;
    padding: 8px 12px;
    font-size: 13px;
}

.opleiding-flow__module-arrow {
    flex: 0 0 auto !important;
    width: auto !important;
}

.opleiding-flow__module-arrow img {
    display: block;
    height: auto;
}

.opleiding-flow__module-arrow--wide img {
    width: 274px;
}

.opleiding-flow__module-arrow--right img {
    width: 42px;
}

.opleiding-flow__cards {
    display: flex !important;
    align-items: flex-start !important;
    width: 1110px !important;
    background: #cfcfcf;
    padding: 10px !important;
}

.opleiding-flow__card-col {
    flex: 0 0 310px !important;
    width: 310px !important;
}

.opleiding-flow__card {
    width: 310px !important;
    min-height: 114px;
    background: #9f9f9f;
    padding: 16px 14px 18px;
}

.opleiding-flow__card a {
    color: #fff !important;
    text-decoration: none;
    font-size: 20px;
    line-height: 1.4;
}

.opleiding-flow__card-arrow {
    flex: 0 0 60px !important;
    width: 60px !important;
    min-height: 114px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.opleiding-flow__card-arrow img {
    width: 55px;
    height: auto;
}

.opleiding-flow__meta {
    padding: 10px 4px 0;
    font-size: 13px;
    line-height: 1.45;
}

.opleiding-flow__meta-level {
    color: #ff0000;
}

/* blockQuestion */

.block-question {
    margin-top: 32px;
}

.block-question__title {
    font-weight: 800;
}

.block-question__panel {
    background: #fff;
    border-radius: 0 0 var(--umbraco-border-radius) var(--umbraco-border-radius);
    padding: 32px 28px 28px;
    text-align: center;
    border-top: 6px solid #ff0000;
}

.block-question__button {
    margin-top: 16px;
}

.block-question__panel > h3,
.block-question__panel > h6 {
    max-width: 40%;
    margin-left: auto;
    margin-right: auto;
}

.block-question__panel > h6.block-question__text {
    font-size: 2.5rem;
}

@media (max-width: 768px) {
    .block-question__panel > h3,
    .block-question__panel > h6 {
        max-width: 90%; 
        margin-left: auto;
        margin-right: auto;
    }

    .block-question__panel {
        padding: 24px 16px 16px;
    }
}

/* Homepage block textLeftImageRight */
.text-left-image-right .pdf-icon {
    color: #ff0000;
    font-size: 1rem;
    vertical-align: middle;
}

/* section media query */
/* container size */
@media (min-width: 576px) {
    .container {
        max-width: 600px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 820px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 1040px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1240px;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1480px;
    }
}


