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


    /* OVERALL TYPE & BUTTONS */
    h1 {
       font-size: 1.8em;
    }
    h2 {
       font-size: 1.3em; 
    }
    h3 {
       font-size: 1.3em; 
    }
    .btn {
        padding: 12px 24px;
        font-size: 1em;
    }
  

    /* NAV */
    #header,
    body.scroll #header {
        height: 70px;
        z-index: 9;
    }
    #header #logo {
        width: 160px;
    }
    #menu-holder {
        position: fixed;
        right: 0;
        top: 0;
        width: auto;
        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: center; 
        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: 0px;
        row-gap:  20px;
    }
    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 {
        display: block;
        white-space: nowrap;
    }
    ul#menu li.hassub a.master {
        padding-right: 0px;
    }
    ul#menu li.hassub a.master img {
        display: none; 
    }
    ul#menu-second {
        position: relative;
        top: auto;
        right: auto;
        flex-direction: column;
        font-size: .8em;
        width: 100%;
    }
    .nav-button#menu-button {
        display: block;
    }
    #langmenu {
        position: absolute;
        left: 20px;
        top: 20px;
    }


    /* CONTENT */
    .row {
        /* row! */
    }
    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--gapwidth);
    }
    .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;
    }
    .content .media {
        width: 100%;
        order: 0;
    }


    /* OVERAL TILE GRID (shop, news, calendar) */
    .tile_grid {
        display: flex;
        flex-direction: column;
    }


    /* SUBMENU */
    #submenu {
        width: 100%; max-width: 100%; min-width: 100%; 
        margin:  0;
        position: sticky; 
        top: 70px;
        pointer-events: all;
        background-color: var(--bodycolor4);
    }
    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: 1em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 15px;
        padding-left: 20px;
        padding-right: 40px;
        box-sizing: border-box;
        color: var(--textcolor2);
        font-weight: bold;
    }
    #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 ul {
        width: 100%;
        flex-direction: column;
        display: none;
        border-top: 1px solid rgba(0,0,0,0.1);
        padding:  20px;
        padding-top: 15px;
        position: relative;
        top: auto;
        bottom: auto;
    }
    #submenu ul.active {
        display: flex;
    }


    /* BREADCRUMBS */
    #breadcrumbs #breadcrumbs-content {
        font-size: .7em;
    }

    /* 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;
    }
    .shopslider-container .shopslider .slide:after {
        opacity: 0;
    }


    /* FOOTER */
    footer {
        
    }
    #footer #footer-container {
        display: flex;
        flex-direction: column;
        column-gap: 0;
        row-gap: 20px;
    }
    #footer #footer-container .column {
        width: 100%;
    }
    #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: 3px 0;
    }
    #credits {
        font-size: .8em;
        padding-top: 50px;
    }
    #credits #credits-container {
       justify-content: flex-start;
       gap: 60px;
    }
    #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;
    }
    
}
