/* ----------------------------
        Branding & Vars
---------------------------- */
:root {
    --primary-100:#FFE2DE;
    --primary: #FF6F59;
    --primary-600: #CC5947;
    --primary-700:#994335;
    --secondary: #2A324B;
    --secondary-600:#22283C;
    --tertiary:#4136bb;
    --grey:#22283c77;
    --black:#000;
    --white:#fff;
    --hover-on-white: #2b324b0a;
    --background: #FFF3F2;

    --font-lg:1.25rem;
    --font-md:1rem;
    --font-sm:0.875rem;
    --font-xs:0.5rem;

    --height--sm:2rem;
    --height-p-section:6rem;
    --height-p-section--sm:4rem;
    --height--btn:3.5rem;

    --text-shadow:#000 0px 0px 5px;

    --placeholder-img:url(/user/themes/onlineambacht/assets/online-ambacht_thumbnail.png);
}

/* ----------------------------
        WCAG > Skip link
---------------------------- */
.skip-link {
    position: absolute;
    top: 0; 
    left: 0;
    background: var(--secondary);
    color: var(--white);
    padding: 1rem;
    z-index: 999999999;
    text-decoration: none;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}
  .skip-link:focus {
    transform: translateY(0); /* Maak zichtbaar bij focus */
  }

/* ----------------------------
        Login scherm
---------------------------- */
#admin-login-wrapper{
    background:unset!important;
    background-color: var(--primary)!important;
}

/* ----------------------------
        Bootstrap extra
---------------------------- */
.offset-right-md-1{
    margin-right: 8.333333%;
}

@media (min-width: 768px) {
    .offset-right-md-1 {
        margin-right: 8.33333333%;
    }
}

/* ----------------------------
        Cookie melding
---------------------------- */
div.cc-window{
    font-family: "Space Grotesk", sans-serif;
    color: var(--secondary)!important;
    font-size:var(--font-md)!important;
    line-height:150%!important;
    background-color:var(--primary-100)!important;
    border-radius:0.5rem;
}

.cc-btn{
    font-size: var(--font-md);
}

.cc-link{
    color: var(--primary-600)!important;
}
    .cc-link:hover{
        color: var(--primary-700)!important;
    }

/* ----------------------------
        Body, mains en sections
---------------------------- */
body{
    background-color: var(--background);
    margin-bottom:unset !important;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    line-height:150%;
    font-family: "Space Grotesk", sans-serif;
    color: var(--secondary);
}

.main-content{
    flex-grow: 1;
    margin-top:7rem !important;
    padding-bottom: 4rem;
    padding-top:4rem;
}

*:focus-visible{
    outline:2px dotted var(--primary)!important;
}
.btn.focus, .btn:focus{
    box-shadow: 0 0 0 .1rem var(--primary) !important;
}

section{
    padding-top:var(--height-p-section);
    padding-bottom:var(--height-p-section);
}
    /* voor elementen die ook section padding nodig hebben */
    .p-top-section{
        padding-top:var(--height-p-section)!important;
    }
    .p-bottom-section{
        padding-bottom:var(--height-p-section)!important;
    }

section.container-fluid{
    max-width: calc(100vw - (3rem - -2px));
    padding-top:4rem;
    padding-bottom:4rem;
}

.section__content,
.section__content--row,
.section__content--center{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: stretch;
    gap:2rem;
}

    .section__content--row{
        flex-direction: row;
    }
    .section__content--center{
        flex-direction: column;
        align-items:center;
    }
    .section__content h2{
        margin-bottom: unset;
    }

/* ----------------------------
        Titles
---------------------------- */
h1, h2, h3, h4, h5, h6{
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
}

h1{
    line-height:100%;
    font-size:3.75rem;
    margin-bottom:2rem;
}

h2{
    font-size:2.625rem;
    color: var(--secondary);
    line-height:120%;
    margin-bottom:2rem;
    padding-top:1.25rem;
}
    div h2:first-of-type{
        padding-top:0;
    }
    h2 span.pre-title{
        color: var(--primary-600);
        font-size:var(--font-md);
        line-height: 100%;
        display: block;
        padding-bottom: 0.5rem;
    }

h3,
.footer__title{
    font-size:1.65rem;
    line-height:130%;
    margin-bottom:1rem;
    padding-top:1rem;
}

/* ----------------------------
        Headers
---------------------------- */
.header--default{
    padding-top:2rem;
    padding-bottom:unset;
}

/* ----------------------------
        Default paragraphs
---------------------------- */
p, li, ul, ol{
  font-family: "Rethink Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size:18px;
}

p{
    line-height: 180%;
    max-width: 58ch !important;
}
    * div li:last-of-type{
        margin-bottom:unset;
    }

p,ul,ol{
    margin-bottom:1.75rem;
}

code{
    color:#7e7e7e;
    background-color: #7e7e7e20;
}

/* notices */
div.notices{
    padding:1rem;
}

.notices p{
    margin-bottom: unset;
}

p.lead{
    font-size:1.375rem;
}

/* title combinations */
.title-icon-wrapper{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    gap:0.5rem;
}
    .title-icon-wrapper h2,
    .title-icon-wrapper h3{
        margin: unset;
        padding: unset;
    }

/* ----------------------------
        Default links
---------------------------- */
a{
    text-decoration: underline;
    background-color: transparent;
    transition: 0.025s ease-in;
}

/* default a */
a{
    color: var(--secondary);
}
    a:hover{
        color: var(--primary-600);
        text-decoration: none;
    }

/* paragraph > a */
p>a{
    color: var(--primary);
}
    p>a:hover{
        color: var(--primary-600);
        text-decoration: none;
    }

a.link{
    display: flex;
    gap:0.5rem;
}

/* ----------------------------
        Default buttons & hyperlinks
---------------------------- */
.btn,
nav .nav__primary .nav-item:last-of-type > a.nav-link,
button.button,
a.cc-btn{
    background-color: var(--secondary);
    color: var(--white);
    text-decoration: none;
    transition: 0.05s ease-in;
    border-radius: 1rem;
    padding:1rem 1.5rem;
    height: var(--height--btn);
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    border:2px solid var(--secondary)
}
    .btn:hover,
    nav .nav__primary .nav-item:last-of-type > a.nav-link:hover,
    button.button:hover,
    a.cc-btn:hover,
    .cc-color-override--470100148 .cc-btn:hover{
        color: var(--white);
        text-decoration: underline;
        background-color: var(--secondary-600);
    }
    nav .nav__primary .nav-item.active:last-of-type > a.nav-link{
        color: var(--background)!important;
    }

.btn--display{
    font-size: 1.125rem;
    padding: 1rem 1.75rem;
    border-radius: 1rem;
    width: max-content;
    white-space: nowrap;
}

.btn--secondary{
    border: 2px solid;
    background-color:transparent;
    border-color: var(--secondary);
    color: var(--secondary);
}
    .btn--secondary:hover{
        border-color: var(--secondary-600);
        color: var(--secondary-600);
        background-color:transparent;
    }

.btn--hyperlink,
.footer__contact-info{
    padding: 0.5rem;
    display: block;
    margin-bottom: unset;
}
    p + .btn--hyperlink{
        padding:0.5rem 0rem;
    }

/* ----------------------------
        Default cards
---------------------------- */
.card{
    border:0;
}
    .card p{
        margin-bottom: unset;
    }

/* ----------------------------
        Icons
---------------------------- */
.icon{
    display: flex;
    aspect-ratio: 1 / 1;
}

.icon.icon--filled-primary{
    background-color:var(--primary);
    fill: var(--white);
}

.icon--md{
    width: var(--height--btn);
    height: var(--height--btn);
    padding:0.5rem;
}

.icon--sm{
    width: var(--height--sm);
    height: var(--height--sm);
    padding:0.5rem;
}

/* ----------------------------
        Navigation > Defaults
---------------------------- */
/* sub nav */
.nav__sub{
    display: inline-flex;
    justify-content: flex-end;
    width: 100%;
    gap: 1rem;
    font-size: var(--font-sm);
    padding: 0.25rem 2rem;
    position: fixed;
}

/* Main nav balk */
nav.navbar{
    background-color: unset;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding-top:0.25rem;
    padding-bottom:0.25rem;
    transform: translateY(1.5rem);
    transition: 0.15s ease-in;
}

nav .container-fluid.vertical{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-content: center;
    gap:0.25rem;
    padding-top:0.25rem;
    padding-bottom:0.25rem;
}

nav .nav__primary{
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

ul.navbar-nav{
    gap:1rem;
    max-width: unset;
    align-self: stretch;
    font-size:1.125rem;
    position: relative;
}

/* logo */
.navbar-brand{
    align-self: baseline;
    padding:0;
    margin:0;
    z-index: 2;
}
    .navbar-brand img{
        max-height: 4rem;
        margin:unset;
        transition: 0.15s ease-in;
    }

/* links en items */
nav .nav__primary a,
.nav-item{
    text-decoration: none;
    font-size:1.125rem;
}

.navbar-light .navbar-nav .nav-link{
    height: 100%;
    display: flex;
    align-items: center;
    color: var(--secondary);
}
    .navbar-light .navbar-nav .nav-link:focus, 
    .navbar-light .navbar-nav .nav-link:hover,
    .nav-item.active .nav-link:hover,
    .nav-item.active .nav-link:focus{
        color: var(--primary-600);
        text-decoration: underline;
    }

    .nav-item.active .nav-link{
        color: var(--primary) !important;
        text-decoration: underline;
    }

/* scroll effect */
.scrolled:not(.active){
    background-color: white!important;
    transform: translateY(0rem)!important;
}
    .scrolled .navbar-brand img{
        object-fit: cover;
    }

/* ----------------------------
        Navigation > Dropdown
--------------------------- */
/* chevron icon */
.dropdown-toggle::after{
    display: flex;
    content: "";
    background: url(/user/themes/onlineambacht/assets/icons/chevron--down.svg);
    width: 1.5rem;
    height: 1.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    border-width: 0px;
}
    /* dropdown menu */
    .dropdown-menu,
    .dropdown-menu.show{
        margin-top:unset;
        padding:0;
        background-color: var(--white);
        border: 2px solid #2a324b12;
        border-radius: 0.5rem;
        overflow: hidden;
    }
        .dropdown-item{
            font-size: var(--font-md);
            padding: 1rem;
            border-left:0.25rem solid transparent;
        }

    /* divider */
    .dropdown-divider{
        display: none;
    }

    /* icon die meedraait */
    .nav-item.dropdown:hover .dropdown-toggle::after{
        background: url(/user/themes/onlineambacht/assets/icons/chevron--up.svg);
    }

    .dropdown-item.active, 
    .dropdown-item:hover{
        background-color: var(--hover-on-white);
        color: var(--secondary);
        border-color:var(--primary);
    }

/* Toon submenu bij hover */
@media only screen and (min-width: 992px) {
    .nav-link.dropdown-toggle:hover + .submenu {
        display: block;
    }
    /* Hover functie gefixt */
    .nav-link.dropdown-toggle:hover + .dropdown-menu,
    .nav-item.dropdown:hover .dropdown-menu{
        display: block;
    }
}

/* ----------------------------
        Navigation > Responsive
--------------------------- */
/* hambuger icoon & knop */
.navbar-toggler.collapsed .navbar-toggler-icon{
    background-image:url(/user/themes/onlineambacht/assets/icons/hamburger-default.svg);
}

.navbar-toggler .navbar-toggler-icon{
    background-image:url(/user/themes/onlineambacht/assets/icons/hamburger-active.svg);
}

.navbar-toggler {
    z-index: 2;
    padding: 1rem;
    font-size: unset;
    line-height: unset;
    background-color: transparent;
    border: unset;
    border-radius: unset;
    border-radius: 0rem;
    transition: 0.05s ease-in;
}
    .navbar-toggler:hover{
        background-color: var(--primary-100);
    }

/* full screen active nav menu */
.navbar-collapse.show{
    background-color: var(--white);
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    display: flex;
    transform: translateY(-1.5rem);
    flex-direction: column;
    padding: 20vh 12vw;
    align-items: flex-start;
    justify-content: center !important;
}
    .navbar-collapse.show a.nav-link{
        font-size:2rem;
        padding: 2rem 1rem;
    }

    nav.active .nav-item:last-of-type > a.nav-link{
        max-height: unset;
        height: unset;
        padding: 2rem 3rem;
        margin-top: 1rem;
        width: max-content;
    }

    .navbar-collapse.show ul.navbar-nav{
        gap:0rem;
    }

    .navbar-collapse.show .nav-link,
    .navbar-collapse.show .nav-link:focus, 
    .navbar-collapse.show .nav-link:hover{
        height: inherit;
    }

    /* Chevron gedraait naar rechts */
    .navbar-collapse.show .dropdown-toggle::after{
        transform: rotate(-90deg);
    }

    /* Hover en uitgeklapt menu */
    .navbar-collapse.show .nav-link.dropdown-toggle:hover{
        background-color: var(--hover-on-white);
    }

    .navbar-collapse.show .nav-item.dropdown{
        position: unset;
    }

    .navbar-collapse.show .dropdown-menu{
        position: absolute;
        top: 0;
        left: unset;
        right: 0;
        border: 0px solid rgba(0, 0, 0, .15);
        border-radius:0;
        height: calc(100% - (56px + 2rem));
        border-left: 2px solid #2b324b14;
        background-color: var(--white);
        padding:0;
    }
        /* Uitgeklapt menu list items */
        .navbar-collapse.show .dropdown-menu .dropdown-item.btn--hyperlink{
            font-size:1.5rem;
            padding:1.75rem 2rem;
            width: 100%;
        }

/* Collapse animatie verwijderen */
.collapsing{
    transition: 0s !important;
}

/* ----------------------------
        Accordeon FAQ items
--------------------------- */
.accordion{
    display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: 1.5rem;
}

/* hover en focus states */
.accordion-button:hover{
    background-color: var(--hover-on-white);
}
.accordion-button:not(.collapsed){
    background-color: var(--primary-100);
    color: var(--secondary-600);
}

.accordion-button::after{
    transition: unset;
}

/* items zelf */
.accordion-item{
    color: var(--secondary);
}
    .accordion-header{
        padding-top:0;
    }

/* ----------------------------
        Highlighted cards
--------------------------- */
.highlight__card_wrapper{
    gap: 2rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.highlight__card{
    background-color: unset;
    padding: 0rem;
    border-radius: 0rem;
    display: flex;
    min-width: 400px;
    gap: 0.5rem;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    overflow: hidden;
    max-width: 100%;
    flex: 1;
}
    .highlight__card p{
        flex: 1;
    }

.highlight__card_img_wrapper{
    display: block;
    position: relative;
    width: 100%;
    height: 2rem;
}

/* ----------------------------
        Temporarey (tijdelijke homepage)
--------------------------- */
/* container */
.temporary{
    display: flex;
    margin-top:4rem !important;
    margin-bottom:4rem;
    align-items: center;
}

.temporary .container{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
}

/* Titles */
.h1--display{
    font-size:4.5rem;
    text-align: center;
    line-height: 110%;
}

.h1--display .red-soft{
    /*color: var(--primary);*/
    background: #121FCF;
    background: linear-gradient(to right, var(--primary) 0%, var(--tertiary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-decoration: underline;
}

.h1--display .red-hard{
    /*color: var(--primary-600);*/
    text-decoration: underline;
    background: linear-gradient(to right, var(--primary) 0%, var(--tertiary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Content & btns */
.temporary p{
    text-align: center;
    font-size:1.5rem;
}

.btn-group-horiz{
    display: flex;
    gap:2rem;
}

.btn-group-vertic{
    display: flex;
    gap:1rem;
    flex-direction: column;
    flex-wrap: nowrap;
}

.temporary p,
.temporary h2,
.lead p,
p.lead{
    margin-bottom: unset;
    max-width: 50ch;
    text-wrap: balance;
}

/* Footer alt */
    .maintenance footer.footer_alt{
        text-align: center;
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
        justify-content: center;
        background-size: contain;
        padding-top:2rem;
        padding-bottom:2rem;
        margin-top:2rem;
        position: relative;
        background-color: var(--primary);
    }
        /* visual */
        .maintenance footer.footer_alt:before{
            content: '';
            background-image: url(/user/themes/onlineambacht/assets/scribble.svg);
            background-size: cover;
            background-repeat: no-repeat;
            display: block;
            width: 100%;
            height: 2rem;
            position: absolute;
            top:-2rem;
            left: 0rem;
        }

        /* logo row */
        footer .footer__bottom.logo-row--horiz{
            margin-top:1rem;
            display: inline-flex;
            flex-direction: row;
            align-content: center;
            flex-wrap: nowrap;
            gap:2rem;
        }
/* End alt footer & End temporary */

/* ----------------------------
        Default footer
--------------------------- */
footer{
    display: flex;
    padding: 0rem 0 2rem;
}

.footer__row_top,
.footer__row_mid,
.footer__row_bot{
    padding-top:3rem;
    padding-bottom:3rem;
}

/* top row */
.footer__row_top{
    padding-top:0;
    gap:1.5rem;
    justify-content: space-between;
}

.footer__row_top img{
    max-width: 10rem;
}

.footer__row_top .btn__row{
    display: inline-flex;
    gap: 1rem;
    justify-content: flex-end;
}

/* mid row */

.footer__logo-row--horiz{
    gap:2rem;
    padding:2rem 0rem;
    background-color: var(--primary);
    display: flex;
    position: relative;
}
    .footer__logo-row--horiz .container{
        display: inline-flex;
        flex-direction: row;
        align-content: center;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 3rem;
    }
    .footer__logo-row--horiz::after{
        content:'';
        background-image: url('/user/themes/onlineambacht/assets/scribble.svg');
        height: 2rem;
        width: 100%;
        display: flex;
        position: absolute;
        top: -2rem;
    }

span.hr{
    height:1px;
    display: flex;
    border:0.5px solid #2a324b12;
}

/* bottom row */
.footer__row_bot{
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-size:var(--font-sm);
}

.footer__row_bot .legal__row{
    display: inline-flex;
    flex-grow: 3;
    justify-content: center;
}

.social{
    display: flex;
    justify-content: flex-end;
}

img.social-icon{
    width: 2rem;
    height: auto;
}

/* ----------------------------
        Breadcrumbs
--------------------------- */
/* underline en links */
.breadcrumbs a,
.breadcrumbs i,
.breadcrumbs span{
    text-decoration: none;
}

#breadcrumbs.breadcrumbs a>span{
    text-decoration: underline;
}

#breadcrumbs span,
#breadcrumbs i{
    display: inline-flex !important;
}

/* first button */
.breadcrumbs span:first-of-type a{
    /*border: 2px solid #2A324B20;*/
    border-radius: 0.5rem;
    padding: 1rem;
    margin-right: 1rem;
    display: flex;
        flex-direction: row;
        align-content: center;
        align-items: center;
        gap: 0.5rem;
}
    .breadcrumbs span:first-of-type a:hover{
        background-color: var(--hover-on-white);
        text-decoration: none !important;
    }
    .breadcrumbs span:first-of-type a:before{
        content:'';
        display: inline-flex;
        width: 1rem;
        height: 1rem;
        background-image: url('/user/themes/onlineambacht/assets/icons/home.svg');
        background-size: cover;
    }

.breadcrumbs a:first-of-type > span,
#breadcrumbs span:first-child span{
    padding-right:unset;
    line-height: 100%;
}

/* losse links */
#breadcrumbs.breadcrumbs{
    margin-bottom:unset;
    padding:unset;
}

#breadcrumbs.breadcrumbs .fa,
#breadcrumbs.breadcrumbs i{
    font-size:1.25rem;
    color: var(--secondary);
    width: 1rem;
    align-items: center;
}

#breadcrumbs span:not(:first-of-type){
    padding-left:0;
}

/* ----------------------------
        Blog en case algemeen
--------------------------- */
.blog-case_list--vertical{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 1rem;
}

.blog-small{
    width: 100%;
}

/* ----------------------------
        Blog cards
--------------------------- */
/* smal overzicht */
.blog__card{
    display: flex;
    gap:1rem;
    flex-direction: column;
    text-decoration: none;
}
    .blog__card:hover h3{
        text-decoration: underline;
    }

    .blog__card img{
        display: block;
        background-color: var(--primary-100);
        border-radius: 0.5rem;
        height: 10rem;
        width: 100%;
        margin-bottom: 0;
        background-size: cover;
        background-image: var(--placeholder-img);
        background-position: center center;
    }

    .blog__card p{
        margin-bottom: unset;
        color: var(--secondary);
    }

/* ----------------------------
        Blog pagina
--------------------------- */
.blog-post,
.case__card,
.pagination__card{
    background-color: var(--white);
    padding: 2rem;
    width: 100%;
    border: 1px solid var(--secondary);
    border-radius: 1rem;
    position: relative;
    text-decoration: unset;
    display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        align-content: flex-start;
        gap:1rem; 
}

    .blog-post h2,
    .case__card h2{
        font-size:2rem;
        padding-top: unset;
        margin:unset;
    }

/* pagination */
.pagination__wrapper{
    display: flex;
    gap: 2rem;
    max-width: unset;
}
    a.pagination__card{
        display: flex;
        flex-direction: row;
        align-content: center;
        align-items: center;
        color: var(--secondary);
        background-color: #2a324b14;
        border-color: transparent;
    }
        a.pagination__card img{
            transition: 0.15s ease-in;
        }
    
    a.pagination__card--first{
        justify-content: flex-start;
    }
        a.pagination__card--first:hover img{
            transform: translateX(-0.25rem);
        }
    a.pagination__card--second{
        justify-content: flex-end;
    }
        a.pagination__card--second:hover img{
            transform: translateX(0.25rem);
        }
    a.pagination__card:hover{
        text-decoration: underline;
    }

    .list-blog-meta{
        font-size:var(--font-sm);
        color: var(--grey);
    }

/* ----------------------------
        Cases of Projecten pagina
--------------------------- */
.cases__wrapper{
    gap:3rem;
}

.case__card{
    border-radius: 1rem;
    width: 100%;
    min-height: 20rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--white);
    border:2px solid var(--secondary);
    background-size: inherit;
    background-position-y: -1rem;
    transition: 0.1s ease-in;
    position: relative;
    overflow: hidden;
}
    .case__card:hover{
        background-position-y: -2rem;
    }
    .case__card::after{
        content:'';
        position: absolute;
        left: 0;
        bottom: 0;
        display: block;
        z-index: 1;
        width: 100%;
        height: calc(100% - 8rem);
        background-image: linear-gradient(to top, #000000ad, #00000000);
        /*backdrop-filter: blur(1px);*/
    }

    .case__card p,
    .case__card h2,
    .case__card h3{
        color: var(--white);
        z-index: 2;
        text-shadow: var(--text-shadow);
    }
    .case__card:hover p,
    .case__card:hover h2,
    .case__card:hover h3{
        text-decoration: underline;
    }

    /* Klantnaam badge */
    .case__card .badge__wrapper{
        display: flex;
        height: 100%;
        font-size:var(--font-sm);
        line-height: 100%;
    }
        .case__card .case__badge{
            background-color: var(--secondary);
            font-weight: 500;
            color: var(--white);
            display: flex;
            z-index: 4;
            line-height: 100%;
            border-radius: 0.5rem;
            display: block;
            height: max-content;
            padding: 1rem;
        }

    /* jumbotron versie */
    .case__card--jumbotron{
        height: 36rem;
        max-height: 66vh;
        padding:4rem;
        background-size: 125%;
    }
        .case__card--jumbotron h2{
            font-size:3.6rem;
        }
        .case__card--jumbotron p{
            font-size:2rem;
        }
        .case__card--jumbotron .case__badge{
            font-size: 1.25rem;
        }

/* ----------------------------
        Blog item en case item
--------------------------- */
.blog-main .fa.fa-calendar:before{
    display: none!important;
}

/* ----------------------------
        Contact pagina
--------------------------- */
.contact__sidebar{
    /*background-color: var(--primary-100);
    padding:1.5rem;*/
    border-radius:0.5rem;
    height:-webkit-fill-available;
    position: sticky;
    top: 13rem;
}

.contact-form{
    margin-bottom: 2rem;
}

/* ----------------------------
        Form
--------------------------- */
/* label + veld */
.form-field{
    margin-bottom: 1.5rem;
}

/* velden */
input.form-control,
textarea.form-control,
select.form-control{
    border:2px solid var(--secondary);
    min-height: var(--height--btn);
    font-size: var(--font-lg);
    font-weight: 300;
    color: var(--black);
    height: unset;
    padding: 1rem;
    line-height: inherit;
}

    input.form-control:focus,
    textarea.form-control:focus,
    select.form-control:focus{
        border:2px solid var(--secondary-600);
        box-shadow: unset;
        color: var(--black);
    }

      .custom-select::after {
        content: '▼';
        font-size: 12px;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
        color: #333;
      }

/* label */
label.control-label{
    font-size: var(--font-lg);
    font-weight: 400;
    color: var(--secondary);
}
    span.required{
        color: var(--primary);
    }

.notices{
    position: fixed;
    bottom: 1rem;
    width: calc(100vw - 6rem);
    left: 3rem;
    border-radius: 0.5rem;
    z-index: 9999;
}

/* ----------------------------
        Call to action (CTA)
--------------------------- */
.cta__foto{
    border-radius: 100%;
    aspect-ratio: 1 / 0;
    object-fit: contain;
    height: 100%;
    width: 100%;
    align-self: center;
}

/* ----------------------------
        Icon grid + image
--------------------------- */
.icon-group-grid{
    display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 0px;
        grid-row-gap: 0px;
    gap: 1.75rem 1.5rem;
    padding-top: 1rem;
}

.icon-group-grid__card{
    gap:1rem;
    display: flex;
}
    .icon-group-grid__card_content{
        display: flex;
        flex-direction: column;
    }
    .icon-group-grid__card_content h2,
    .icon-group-grid__card_content h3{
        padding-top:unset;
    }

.screen--wrapper{
    display: flex;
    overflow: visible;
    flex: 1;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
}
    img.screen{
        object-fit: cover;
        flex: 1;
        height: 100%;
        overflow: visible;
        align-items: stretch;
        max-height: 80vh;
    }
        .screen--right{
            object-position: left;
        }
        .screen--left{
            object-position: right;
        }