@media screen and (max-width: 1700px) and (min-width: 1100px) {

    body.shopcategory .content { justify-content: center; gap: 90px; }
    #submenu-fill { display: none; }

}
@media screen and (max-width: 1500px) and (min-width: 1100px) {

    body.shopcategory .content { gap: 60px; }
    
    /*body.homepage .row.row-4:before { bottom: -20%; left: 4%; height: 85%; }*/
    body.homepage .row.row-4:before { left: 4%; height: 70%; }

}
@media screen and (max-width: 1450px) and (min-width: 1100px) {

    body.homepage .row.row-1 .content .block-content .text:after { bottom: -90px; transform: scale(0.75) rotate(-30deg); transform-origin: center; }

}
@media screen and (max-width: 1300px) and (min-width: 1100px) {

    body.shopcategory .content #submenu { width: 260px; }
    body.shopcategory .content .block-content { flex: 1; width: 100%; }
    
    /*body.homepage .row.row-4:before { left: 3%; height: 75%; }*/
    body.homepage .row.row-4:before { left: 3%; height: 65%; }

}

@media screen and (max-height: 850px) {

    body.homepage .row.row-1 .content .block-content .text:after { bottom: -90px; transform: scale(0.75) rotate(-30deg); transform-origin: center; }

}
@media screen and (max-height: 725px) {

    body.homepage .row.row-1 .content .block-content .text:after { content: none; }

}

@media screen and (max-width: 1100px) {

    /* BODY */
    body {
        --gapwidth: 30px; /*  overall gaps & gutters */
        --blockpadding: 20px; /* overall padding for blocks */
        --rowpadding: 50px; /* overall vertical row & footer padding */
        
        font-size: 16px;
    }

    /* OVERALL TYPE & BUTTONS */
    h1 {
        margin-top: 0!important;
        margin-bottom: 20px;
        font-size: 28px;
        line-height: 1.1;
    }
    h2 {
        margin-bottom: 15px;
        font-size: 21px;
    }
    h3 {
        font-size: 20px;
    }
    .btn {
        left: 0;
        padding: 14px 20px 15px 20px;
        min-width: 75px;
        line-height: 1.2;
        /*text-align: left;*/
        border-radius: 5px;
        white-space: normal;
        overflow: auto;
        text-overflow: initial;
    }

    /* NAV */
    #header,
    body.scroll #header {
        height: 70px;
        z-index: 9;
    }
    #header #header-container {
        align-items: center;
    }
    #header #logo {
        margin-top: 2px;
        width: 140px;
    }
    #menu-holder {
        position: fixed;
        right: 0;
        top: 0;
        width: 90%;
        height: 100%;
        z-index: 3;
        background-color: var(--bodycolor1);
        transform: translateX(100%);
        transition: transform 600ms cubic-bezier(0.76, 0, 0.24, 1);    
        box-sizing: border-box;    
        padding: 30px 40px;  
        flex-direction: column;
        align-items: flex-start; 
        justify-content: center; /* vert. centreren? --> center */
        column-gap: 30px;
        font-size: 1.2em; 
        overflow-y: auto;   
    }
    #menu-holder.active {
        transform: translateX(0%);
    }    
    ul#menu {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        z-index: 3;
        line-height: 1;
        order: 0;
        column-gap: 0;
        row-gap: 20px;
        margin-right: 0;
    }
    ul#menu li {
        white-space: normal;
    }
    ul#menu li,
    ul#menu-second li {
        width: 100%;
    }
    ul#menu li.hassub ul.sub,
    ul#menu li.hassub:hover ul.sub {
        position: relative;
        transform: none;
        bottom: auto;
        left: auto;
        background-color: transparent;
        visibility: visible;
        padding: 0;
        margin-top: 10px;
        margin-left: 20px;
        min-width: 0;
    }
    ul#menu li a {
        line-height: 1.1;
    }
    ul#menu li a,
    ul#menu-second li a {
        display: block;
    }
    ul#menu li.hassub a.master {
        padding-right: 0px;
    }
    ul#menu li.hassub a.master img {
        display: none; 
    }
    ul#menu-second {
        position: relative;
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        top: auto;
        right: auto;
        width: 100%;
        height: auto;
        font-size: .8em;
    }
    ul#menu-second:after {
        width: 100%;
        height: 70px;
    }
    .nav-button#menu-button {
        display: block;
    }
    #langmenu {
        position: absolute;
        top: 20px;
        left: 20px;
    }
    
    body:not(.homepage) main {
        margin-top: 40px;
    }
    
    
    .elearning-gate__form { margin-top: 15px; padding: 20px 20px 25px 20px; }
    
    .elearning-code-inputs { gap: 4px; }
    .elearning-code-part { font-size: 18px; letter-spacing: 1px; }
    
    #elearning-progress { width: 100%; z-index: 9; }
    #elearning-progress-content { display: flex; }
    
    body:has(#credits.is-inview) #elearning-progress { transform: translateY(100%); }
    
    .elearning-progress-panel ul li { padding: 10px 20px; font-size: 15px; }
    
    #elearning-console { top: 60px; right: 18px; width: calc(100% - 36px); box-sizing: border-box; z-index: 9; }

    
    /* CONTENT */
    .row,
    .row.row-shopcategory {
        padding: 45px 0;
    }
    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--gapwidth);
        width: 85%;
    }
    .row:last-of-type {
        padding-bottom: 45px;
    }
    .row.row-last.dhbs {
        padding: 30px 0;
    }
    .row.row-last.academie {
        padding: 45px 0;
    }
    .row:only-of-type {
        min-height: auto;
    }
    .row .content .block-content,
    .row.row-text-media .content .block-content,
    .row.row-text-form .content .block-content,
    .row.row-shopproduct .content .block-content {
        display: flex;
        flex-direction: column;
        order: 1;
        min-height: 0;
        /*gap: 30px;*/
    }
    .row.row-shopproduct .content .block-content {
        gap: 20px;
    }
    .row .content .block-content.shop_cart_container {
        gap: 5px;
    }
    .row.row-shopproduct .content .block-content .text {
        order: 2;
        width: 100%;
    }
    .row.row-shopproduct .content .block-content .side {
        order: 1;
    }
    .row.row-text .content .block-content,
    .row.row-text-media .content .block-content {
        gap: 30px;
    }
    
    /* tekst met foto ernaast */
    .row.row-text-media.right { }
    .row.row-text-media.right .content { }
    .row.row-text-media.right .content .block-content { flex-direction: column; }
    .row.row-text-media.right .content .block-content .text { order: 2; width: 100%; }
    .row.row-text-media.right .content .block-content .media { order: 1; width: 100%; }
    .row.row-text-media.right .content .block-content .media figure.image { }
    
    /* Homepagina - Headerfoto */
    body.homepage .row.row-1 { height: auto; }
    body.homepage .row.row-1 .content h1:before { font-size: 14px; letter-spacing: 1px; }
    
    body.homepage .row.row-1 .content .block-content { flex-direction: column; }
    body.homepage .row.row-1 .content .block-content .text { order: 2; margin: 0 auto; padding: 45px 0; width: 85%; }
    body.homepage .row.row-1 .content .block-content .text:after { content: none; }
    body.homepage .row.row-1 .content .block-content .media { order: 1; right: 0; width: 100%; }
    body.homepage .row.row-1 .content .block-content .media figure.image { margin: 0; transform: none; }
    body.homepage .row.row-1 .content .block-content .media figure.image a { left: 0; transform: none; width: 100%; }
    
    /* Homepagina - De digitale HB Specialist */
    body.homepage .row.row-2 { padding: 45px 0; }
    body.homepage .row.row-2 .content .block-content .text h2 + p strong { font-size: 18px; }
    body.homepage .row.row-2 .content .block-content .text ul { display: flex; flex-direction: column; gap: 20px; margin: 30px 0 30px 0; }
    body.homepage .row.row-2 .content .block-content .text ul li { padding: 18px 30px 22px 30px; font-size: 18px; }
    body.homepage .row.row-2 .content .block-content .text ul li strong { width: 40px; height: 40px; }

    /* Homepagina - Breng jouw kennis naar een hoger niveau */
    body.homepage .row.row-3 { padding: 45px 0; }
    body.homepage .row.row-3 .content .block-content .text table tr { display: flex; flex-direction: column; gap: 20px; }

    /* Homepagina - Waarom professionals kiezen voor Buro Gaafd */
    body.homepage .row.row-4 { padding: 45px 0; }
    body.homepage .row.row-4:before { position: relative; display: block; bottom: 0; left: auto; width: 50%; height: auto; content: none; }
    
    body.homepage .row.row-3 .content .block-content .text table { margin-top: 30px; }
    body.homepage .row.row-3 .content .block-content .text table tr td { padding: 30px; padding-bottom: 40px; }
    body.homepage .row.row-3 .content .block-content .text table tr td figure.image { width: 90px; }
    body.homepage .row.row-3 .content .block-content .text table tr td p { gap: 20px; }
    body.homepage .row.row-3 .content .block-content .text table tr td p strong { min-height: auto; font-size: 18px; }
    body.homepage .row.row-3 .content .block-content .text table tr td p a.btn { font-size: 16px; }
    body.homepage .row.row-3 .content .block-content .text table tr td p a.btn:after { width: 17px; height: 17px; }
    
    body.homepage .row.row-4 .content .block-content .text ul { gap: 0; margin: 15px 0 30px 0; text-align: left; }
    body.homepage .row.row-4 .content .block-content .text ul li { display: block; padding: 10px 0; }
    body.homepage .row.row-4 .content .block-content .text ul li:not(:last-of-type) { border-bottom: 1px solid rgba(0,0,0,0.1); }
    body.homepage .row.row-4 .content .block-content .text ul li strong { font-size: 18px; text-align: left; }
    body.homepage .row.row-4 .content .block-content .text ul li strong:before { content: none; }
    

    .content .media {
        width: 100%;
        order: 0;
    }
    
    .content .block-content figure.image,
    body:not(.homepage) .content .block-content figure.image {
        left: 0;
        margin: 30px 0;
        width: 100%;
    }
    
    .content .block-content p {
        margin-bottom: 15px;
    }
    .content .block-content blockquote {
        margin-top: 30px;
        margin-bottom: 35px;
        font-size: 15px;
        line-height: 1.4;
    }
    
    .content .block-content table {
        display: block;
        overflow-x: auto;
        max-width: 100%;
    }
    .content .block-content table tr td {
        padding: 19px 20px 21px 20px;
        font-size: 15px;
        line-height: 1.4;
    }

    /* OVERAL TILE GRID (shop, news, calendar) */
    .tile_grid { display: flex; flex-direction: column; gap: 15px; margin-top: 30px; }
    .tile_grid .item a .item-image { width: 70px; aspect-ratio: 1 / 1; }
    .tile_grid .item a .item-text { padding: 0 15px; }
    .tile_grid .item a .item-text .title { font-size: 16px; font-weight: 500; }
    .tile_grid .item a .item-text .meta { font-weight: 600; }

    .tile_grid.products { margin-top: 10px; }
    .tile_grid.products .item a .item-image { aspect-ratio: 3 / 4; }
    .tile_grid.products .item a .item-text { gap: 8px; }
    .tile_grid.products .item a .item-text .title,
    .tile_grid.products .item a .item-text .meta { font-size: 16px; line-height: 1; }
    .tile_grid.products .item a .item-text .title { line-height: 1; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; }

    /* SUBMENU */
    #submenu { position: relative; top: 0; margin: 0; width: 100%; max-width: 100%; min-width: 100%; pointer-events: all; border-radius: var(--blockradius); background-color: var(--color4); }
    body:has(#page-header) #submenu,
    body:has(#breadcrumbs) #submenu { margin: 0; }
    
    #submenu #submenu-content { display: block; position: relative; top: auto; left: auto; }
    
    #submenu #submenu-trigger { display: block; position: relative; width: 100%; font-size: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 10px; padding-left: 20px; padding-right: 40px; box-sizing: border-box; color: #fff; font-weight: 700; }
    #submenu #submenu-trigger.active { /* markup */ }
    #submenu #submenu-trigger img { width: 30px; height: 30px; filter: var(--colorfilterwhite); position: absolute; right: 20px; top: 50%; margin-top: -15px; transition: transform 300ms; }
    #submenu #submenu-trigger.active img { transform: rotate(-180deg); }
    
    #submenu-content > ul { position: relative; display: none; top: auto; bottom: auto; flex-direction: column; width: 100%; border-top: 1px solid rgb(255 255 255 / 25%); border-radius: 0; background-color: transparent; }
    #submenu-content > ul.active { display: flex; }
    
    #submenu #submenu-trigger img { right: 15px; margin-top: -12px; width: 24px; height: 24px; }
    #submenu ul { padding: 15px 0 10px 0; padding-top: 5px; }
    #submenu ul li { }
    #submenu ul li a { padding: 9px 20px 11px 20px; font-size: 16px; }
    #submenu ul li.parent a { font-size: 16px; font-weight: 400; }
    
    #submenu-fill { display: none; }

    /* BREADCRUMBS */
    #breadcrumbs { height: 40px; }
    #breadcrumbs #breadcrumbs-content { font-size: 11px; }
    #breadcrumbs #breadcrumbs-content ul,
    #breadcrumbs #breadcrumbs-content ul li { gap: 4px 6px; }

    /* PAGE-HEADER */
    #page-header {
        height: 40vh;
        min-height: 300px;
    }
    body.subpage #page-header {
        height: 30vh;
    }    
    #page-header .page-header-content h1 {
        font-size: 2.5em;
    }
    body.subpage #page-header .page-header-content h1 {
        font-size: 1.5em;
    }

    /* ZOOM/ARROW icons/buttons for media, tiles -- tweaky tweaky! */
    .content .media figure.image a:after,
    .tile_grid .item a .item-image:after {
        opacity: 1;
        content: none;
    }
    .shopslider-container .shopslider .slide:after {
        opacity: 0;
    }
    
    .content .links img {
        margin-right: 10px;
    }

    /* FOOTER */
    footer {
        
    }
    #footer #footer-container .column.disclaimer {
        margin-top: 10px;
        width: 100%;
    }
    #footer #footer-container .column.disclaimer ul li:first-of-type {
        font-size: 16px;
    }
    #footer #footer-container {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 30px 0;
        width: 85%;
        font-size: 16px;
    }
    #footer #footer-container .column {
        width: 100%;
    }
    #footer #footer-container .column ul li:first-of-type {
        margin-bottom: 5px;
        font-size: 20px;
    }
    #footer #footer-container .column.logo {
        display: none;
    }
    #footer #footer-container .column #footer-logo {
        margin-top: 0;
    }
    #footer #footer-container .column ul li a,
    #footer #footer-container .column ul li.padding {
        display: block;
        padding: 0;
    }
    #credits {
        padding: 30px 0 45px 0;
    }
    #credits #credits-container {
        justify-content: flex-start;
        flex-direction: column;
        gap: 20px;
        width: 85%;
    }
    #credits #credits-container ul {
       flex-direction: column;
       justify-content: flex-start;
       row-gap: 5px;
    }
    .social-buttons ul {
        flex-direction: column;
    }

    /* DEV TOOLS */
    #dev-tools,
    .overlaygridguide {
        display: none;
    }
    
    /* MODALS */
    /* MODAL: DIALOGS */
    
    /* MODAL: NOTIFICATION WINDOW */
    
    /* MODAL: MODALS */
    dialog.modal {
        padding: 25px;
    }
    
}
