/* -------------------------------------------------------------------------- */
/* RTB-RESP.CSS (c) richardthebrave.com ------------------------------------- */

/* -----------------------------------------------------------------------------
* MARK: small (540px)
*/

@media only screen and (min-width: 540px) {

    /* header */
    .header__logo       { --logo-width: 14rem; margin: 0; }
    .header__nav        { margin: 0; }

    /* gallery */
    .gallery__ul.count-5 .gallery__li,
    .gallery__ul.count-6 .gallery__li { --itemsPerRow: 3; }

    /* layout */
    .layout__col.span-3 { grid-column: span 6; }
    
    /* footer */
    .footer__inner { grid-template-columns: repeat(2, 1fr); }
    .footer__alpha,
    .footer__contact { grid-column: 1 / -1; }

    /* wlr block */
    .wlr-block.simple {
        grid-template-columns: repeat(3, 1fr);
    }
    .wlr-anchors {
        grid-template-columns: repeat(3, 1fr);
    }
    .wlr-item.full {
        grid-template-columns: 1fr 3fr;
    }

    /* page titles */
    .page-title__inner:not(.contact-variant .page-title__inner) {
        grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    }

    /* image blocks */
    .image-block:not([data-crop=""])[data-orientation="portrait"] {
        grid-template-columns: 1fr 1fr;
    }
    .image-block:not([data-crop=""])[data-orientation="landscape"] {
        grid-template-columns: 3fr 1fr;
    }
    .image-block:not([data-crop=""])[data-orientation="square"] {
        grid-template-columns: 1fr 1fr;
    }


}

/* -----------------------------------------------------------------------------
* MARK: medium (800px)
*/

@media only screen and (min-width: 800px) {


    /* cards */
    .cards {
        --gap: var(--space-4);
    }
    .layout__inner, .blocks {
        --gap: var(--space-5);
    }

    .mega {
        padding: var(--space-6)
    }

    /* contact page */
    .contact-cols {   display: grid;  grid-template-columns: repeat(2, 1fr);    }

    /* posts */
    .post__inner {
        display: grid;
        gap: var(--space-8);
        grid-template-columns: minmax(0, 2fr) minmax(0, 16rem);
    }
    .post__sidebar {
        position: relative;
    }
    .recent-nav-wrap {
        margin-top: 0;
        position: sticky;
        top: var(--space-6);
    }


    

    .recent-nav-list {
        gap: var(--space-6);
    }
    .recent-nav-item {
        flex-direction: column;
        align-items: start;
        gap: 0;
    }
    .recent-nav-date {
        display: block;
    }


    /* gallery */
    .gallery__ul.count-4 .gallery__li { --itemsPerRow: 4; }
    
    /* layout */
    .layout__col        { grid-column: span var(--colSpan); }
    
    /* page titles */
    .page-title--hero .page-title__inner {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        grid-template-areas: "stack";
        padding-bottom: calc(var(--space-8) * 2);
        padding-top: calc(var(--space-8) * 2);
    }
    .page-title--hero .page-title__inner > * {
        grid-area: stack;
    }

    .page-title--hero.contact-variant .page-title__inner {
        padding-bottom: var(--space-8);
        padding-top: var(--space-8);
    }

    .page-title--hero .page-title__copy {
        background-color: var(--neutral-dark);
        align-self: center;
        padding: var(--space-9) var(--space-7);
        max-width: calc(100% / 3 * 2);
        transform: rotate(-3deg);
        clip-path: polygon(0 0, 100% 0%, 99% 100%, 1% 97%);
    }

    .contact-variant .page-title__copy {
        max-width: 50%;
    }

    .page-title--hero .page-title-form {
        border-left: 1px solid var(--neutral);
        padding: var(--space-6);
        background-color: var(--neutral-dark);
        width: 50%;
        justify-self: end;
    }


    .page-title--hero .page-title__img {
        aspect-ratio: auto;
        position: absolute;
        left: 0; right: 0; top: 0; bottom: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* features */
    .feature.has-img {
        grid-template-columns: repeat(2, 1fr);
    }
    .feature > .img-col {
        aspect-ratio: 1;
    }
    .feature.has-img .text-col {
        padding-block: var(--space-6);
        max-width: 30rem;
    }

    .feature.has-img.is-flipped .img-col {
        grid-row: 1;
        grid-column: 2 / -1;
    }
    .feature.has-img.is-flipped .text-col {
        justify-self: start;
    }

    /* cta */
    .cta--full .text-col {
        width: 50%;
        justify-self: end;
        align-self: end;
    }

    /* footer */
    .footer__inner                      { grid-template-columns: repeat(4, 1fr); }
    .footer__alpha                      { grid-column: 1 / 3; max-width: 24rem; }
    .footer__contact                    {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        align-items: center;
        grid-column: 1 / -1;
        gap: var(--space-6);
    }
    

    /* footer cta */
    .footer-cta__inner { flex-wrap: nowrap;  }
    .footer-cta__copy  { width: 75%;  }
    .footer-cta__btn   { width: 25%; }
    .footer-cta__btn .btn { display: block; text-align: center; }

    /* HEADER NAVIGATION - hide mobile, show desktop navbar */
    /* IMPORTANT: the min-width media query needs to match the plugins.js file */
    .header__inner {
        align-items: center;
        position: relative;
    }
    .header__logo {
        grid-row: 1;
    }
    .header__btn    {
        grid-row: 1;
        grid-column: span 1;
    }
    .header-menu {
        grid-row: 2;
        grid-column: span 4;
    }


    /* ensure the cloned menu stays hidden */
    #mm-clone-header-menu   { display: none !important; }
    #header-menu-toggle     { display: none !important; }

    /* show the previously-hidden header navigation */
    #header-menu                        { font-size: var(--text-md); display: block !important; font-family: 'font-secondary'; text-transform: uppercase; font-weight: 600; }

    /* style the header navigation menu */
    #header-menu a                      { color: white;  display: block; padding: var(--space-2); text-align: center; text-decoration: none; }
    #header-menu a:hover                { background-color: var(--primary); }
    #header-menu .active > a            { background-color: var(--accent); }
    #header-menu .header-menu__ul       { align-items: center; border-top: 1px solid var(--neutral); display: flex; gap: 0; justify-content: space-between; line-height: 1; list-style: none; margin: 0; padding: var(--space-3) 0 0 0; width: 100%; }
    #header-menu .header-menu__a {
        align-items: center;
        display: flex;
        /* gap: 0.25rem; */
    }

    /* child / drop-down menus */
    
    .dropdown-indicator {
        display: block;
        opacity: 0.5;
        font-size: 50%;
        transform: translateX(0.25rem);
    }

    #header-menu .header-menu__child-ul                 {
        background-color: white;
        align-items: start;
        border-top: var(--space-2) solid var(--accent);
        border-radius: 0;
        display: none;
        gap: var(--space-1);
        grid-template-columns: repeat(2, 1fr);
        left: 0;
        list-style: none;
        margin: 0 auto;
        padding: var(--space-3) var(--space-6) var(--space-5) var(--space-2);
        position: absolute;
        top: 100%;
        width: 100%;
        z-index: 999;
    }

    #header-menu .header-menu__child-ul::before,
    #header-menu .header-menu__child-ul::after {
        content: '';
        position: absolute;
        left: 0; top: 0; bottom: 0; right: 0;
        background-color: white;
        z-index: -5;
    }
    #header-menu .header-menu__child-ul::before {
        background-color: black;        
        left: -0.5rem; bottom: -0.5rem; right: -0.5rem;
    }
    
    #header-menu .header-menu__child-ul a               { color: var(--neutral-dark); display: block; line-height: 1.4; padding: var(--space-1); text-align: left; }
    
    .header-menu__child-a {
        border-bottom: 1px solid var(--neutral-light);
        position: relative;
    }

    .header-menu__child-a::after {
        color: var(--accent);
        position: absolute;
        right: var(--space-1);
        content: '>';
    }


    #header-menu .header-menu__child-ul a:hover         { background-color: var(--accent-light); }
    #header-menu .header-menu__child-li                 { height: 100%; }
    
    #header-menu .header-menu__grandchild-ul            { display: block; font-size: var(--text-sm); font-family: 'font-primary'; font-weight: 450; line-height: 1.2; list-style: none; margin: 0; padding: 0; text-transform: none; }


}

/* -----------------------------------------------------------------------------
* MARK: large (1100px)
*/


@media only screen and (min-width: 1100px) {

    /* posts */
    .post__inner {         grid-template-columns: minmax(0, 2fr) minmax(0, 20rem);    }

    .copyright  { display: flex; justify-content: space-between; }

    /* gallery */
    .gallery__ul.count-5 .gallery__li { --itemsPerRow: 5; }
    .gallery__ul.count-6 .gallery__li { --itemsPerRow: 6; }

    /* layout */
    .layout__col.span-3 { grid-column: span 3; }

    
    /* mega text block */
    .mega {
        padding: var(--space-7)
    }

    /* page title */
    .page-title--default .page-title__img {
        aspect-ratio: 1/1.1;
        max-height: 75vh;
    }


}

/* -----------------------------------------------------------------------------
* MARK: x-large (1440px)
*/


@media only screen and (min-width: 1440px) {

    /* features */
    .feature > .img-col {
        aspect-ratio: 5/4;
    }

    #header-menu .header-menu__child-ul { 
        grid-template-columns: repeat(4, 1fr);
        max-width: var(--max-wide);
        left: 0;
        right: 0;
    }

    .header__inner {
        grid-template-columns: 16rem auto 16rem;
    }

    .header__pad {
        padding-block: var(--space-5);
    }

    .header__logo {
        --logo-width: 16rem;
        grid-column: span 1;
    }
    .header__btn    {
        grid-row: 1;
        grid-column: span 1;
    }
    .header-menu {
        grid-row: 1;
        grid-column: span 1;
    }
    #header-menu .header-menu__ul {
        border: 0;
        justify-content: center;
        padding: 0;
        gap: var(--space-2);
    }
}

/* -----------------------------------------------------------------------------
* MARK: xx-large (1820px)
*/


@media only screen and (min-width: 1820px) {

    .header__inner {
        grid-template-columns: 18rem auto 18rem;
    }
    .header__logo       { --logo-width: 18rem; }


}