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

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

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

.highlight__card,
.usp-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;
}

/* ----------------------------
        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;
}

/* ----------------------------
        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;
}

/* ----------------------------
        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;
}

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


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

/* 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;
}

/* ----------------------------
        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;
    }

/* FAQ bij diensten */
.faq-item,
.faq-item__question{
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    padding: 0rem;
}

.faq-item__question::marker{
    display: none;
}

.faq-item__question{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    cursor: pointer;
}
    .faq-item__question > span{
        font-weight: 500;
        font-size: 1.2rem;
    }

    .faq-item__question:hover{
        text-decoration: underline;
        color: var(--primary-600);
        background-color: var(--hover-on-white);
    }

.faq-item__question,
.faq-item__answer{
    padding: 1rem;
}

.faq-item[open]{
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
}

/* accordeon icon */
.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform);
    position: absolute;
    right: 1rem;
    top: 1rem;
    /* height: 1rem; */
    pointer-events: none;
}

/* ----------------------------
        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%;
}

/* ----------------------------
        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;
}

/* ----------------------------
        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;
}

/* ----------------------------
        Form fields
--------------------------- */
/* 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;
      }

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

/* ----------------------------
        (USP) 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;
        }

/* ----------------------------
        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 */

/* ----------------------------
        Diensten > USP grid
--------------------------- */
.usp-card-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 2rem;
}

/* ----------------------------
        Diensten > Benefits
--------------------------- */
.benefits-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 2rem;
}
    .benefit-item{
        display: flex;
        align-content: center;
        flex-direction: row;
        align-items: center;
        gap: 1rem;
    }

