/* =========================================
   LINUMEDIA HEADER
   DESKTOP + MOBILE
   ========================================= */


/* =========================================
   GLOBAL LOGO
   ========================================= */

.site-branding {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.custom-logo-link {
    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 0 !important;
}

.custom-logo-link img,
.custom-logo,
.site-logo img {
    display: block !important;

    width: 180px !important;
    max-width: 180px !important;

    height: auto !important;
    max-height: 50px !important;

    object-fit: contain !important;
    object-position: left center !important;

    margin: 0 !important;
    padding: 0 !important;
}



/* =========================================
   DESKTOP
   ========================================= */

@media screen and (min-width: 769px) {

    .site-header {
        display: flex !important;
        align-items: center !important;

        padding-left: 60px !important;
        padding-right: 60px !important;

        box-sizing: border-box !important;
    }


    .custom-logo-link {
        height: 50px !important;
    }


    .main-navigation {
        display: flex !important;
        align-items: center !important;

        margin-left: auto !important;
        margin-right: 0 !important;

        padding: 0 !important;

        align-self: stretch !important;
    }


    .main-navigation > div {
        display: flex !important;
        align-items: center !important;

        height: 100% !important;
    }


    .main-navigation ul,
    .main-navigation .menu,
    .main-navigation .nav-menu {
        display: flex !important;
        align-items: center !important;

        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .main-navigation li {
        display: flex !important;
        align-items: center !important;

        height: 100% !important;

        margin: 0 !important;
    }


    .main-navigation a {
        display: flex !important;
        align-items: center !important;

        height: 100% !important;
    }
}



/* =========================================
   MOBILE
   ========================================= */

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


    /* -------------------------------------
       HEADER
       ------------------------------------- */

    .site-header {
        position: relative !important;

        display: flex !important;
        align-items: center !important;

        padding-left: 10px !important;
        padding-right: 10px !important;

        box-sizing: border-box !important;
    }


    .site-header .wrapper,
    .site-header .site-header-wrapper,
    .site-header .header-wrapper,
    .site-header .header-inner {
        width: 100% !important;

        margin: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }



    /* -------------------------------------
       MOBILE LOGO
       ------------------------------------- */

    .custom-logo-link {
        height: 42px !important;
    }


    .custom-logo-link img,
    .custom-logo,
    .site-logo img {
        width: 150px !important;
        max-width: 150px !important;

        height: auto !important;
        max-height: 42px !important;
    }



    /* =====================================
       NAVIGATION CONTAINER
       ===================================== */

    .main-navigation {
        position: static !important;

        margin-left: auto !important;
        margin-right: 0 !important;

        padding: 0 !important;

        height: auto !important;
        min-height: 0 !important;
    }



    /* =====================================
       REMOVE ORIGINAL MENU BUTTON STYLING
       ===================================== */

    .main-navigation input,
    .main-navigation button,
    .main-navigation .menu-toggle,
    .site-header input[aria-expanded],
    .site-header button[aria-expanded] {
        position: relative !important;

        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;

        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        color: transparent !important;

        font-size: 0 !important;
        line-height: 0 !important;

        text-indent: -9999px !important;

        appearance: none !important;
        -webkit-appearance: none !important;

        cursor: pointer !important;
    }


    .main-navigation input:hover,
    .main-navigation input:focus,
    .main-navigation input:active,
    .main-navigation button:hover,
    .main-navigation button:focus,
    .main-navigation button:active {
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;

        background: transparent !important;
    }



    /* =====================================
       HIDE THEME MENU LABEL
       ===================================== */

    .main-navigation label,
    .main-navigation .menu-toggle span,
    .main-navigation .menu-toggle .menu-label,
    .main-navigation .menu-toggle .menu-text {
        font-size: 0 !important;
        color: transparent !important;

        border: 0 !important;
        background: transparent !important;

        box-shadow: none !important;

        padding: 0 !important;
        margin: 0 !important;
    }



    /* =====================================
       BURGER ICON
       ===================================== */

    .main-navigation::before {
        content: "" !important;

        position: absolute !important;

        right: 15px !important;
        top: 50% !important;

        width: 24px !important;
        height: 2px !important;

        background: #ffffff !important;

        box-shadow:
            0 -7px 0 #ffffff,
            0 7px 0 #ffffff !important;

        transform: translateY(-50%) !important;

        z-index: 1000 !important;

        pointer-events: none !important;
    }



    /* =====================================
       OPEN MOBILE MENU
       FULL WIDTH
       ===================================== */

    .main-navigation ul,
    .main-navigation .menu,
    .main-navigation .nav-menu {
        position: absolute !important;

        top: 100% !important;
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 8px 0 !important;

        background: #000000 !important;

        box-sizing: border-box !important;

        z-index: 999 !important;
    }



    /* -------------------------------------
       MENU ITEMS
       ------------------------------------- */

    .main-navigation li,
    .main-navigation .menu li,
    .main-navigation .nav-menu li {
        display: block !important;

        width: 100% !important;

        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
    }



    /* -------------------------------------
       MENU LINKS
       ------------------------------------- */

    .main-navigation li a,
    .main-navigation .menu li a,
    .main-navigation .nav-menu li a {
        display: block !important;

        width: 100% !important;

        height: auto !important;

        margin: 0 !important;

        padding: 14px 20px !important;

        text-align: left !important;

        line-height: 1.3 !important;

        box-sizing: border-box !important;
    }



    /* No huge spacing */
    .main-navigation li + li {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

}

/* =========================================
   REMOVE DUPLICATE CUSTOM BURGER
   KEEP ROCKFIELD'S NATIVE BURGER / X
   ========================================= */

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

    /* Remove the custom burger we previously created */
    .main-navigation::before,
    .main-navigation::after {
        content: none !important;
        display: none !important;

        background: none !important;
        box-shadow: none !important;
    }

}
/* =========================================
   MENU HOVER / ACTIVE COLOUR
   DESKTOP + MOBILE
   ========================================= */

/* Menu links */
.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation a:active,
.main-navigation li:hover > a,
.main-navigation li:focus-within > a {
    color: #7DB3B2 !important;
}


/* Current / selected page */
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_ancestor > a {
    color: #7DB3B2 !important;
}


/* Prevent theme from adding grey background */
.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation a:active,
.main-navigation li:hover,
.main-navigation li:focus-within {
    background-color: transparent !important;
}

/* =========================================
   FOOTER CLEAN-UP
   DESKTOP + MOBILE
   ========================================= */


/* -----------------------------------------
   REDUCE SPACE ABOVE FOOTER
   ----------------------------------------- */

/* Remove excessive bottom spacing from main content */
.site-main,
#primary,
.content-area {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Reduce spacing after the last content component */
.entry-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.entry-content > *:last-child {
    margin-bottom: 20px !important;
}


/* -----------------------------------------
   REDUCE SPACE INSIDE / ABOVE FOOTER
   ----------------------------------------- */

.site-footer,
#colophon {
    margin-top: 0 !important;
    padding-top: 20px !important;
}


/* Footer navigation */
.site-footer .footer-navigation,
.site-footer .main-navigation,
#colophon .footer-navigation {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Footer menu */
.site-footer ul,
#colophon ul {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* =========================================
   REMOVE WORDPRESS CREDIT / LOGO
   ========================================= */

.site-info,
.site-footer .site-info,
#colophon .site-info,
.site-info a,
.site-info .powered-by,
.powered-by-wordpress,
.site-footer .powered-by-wordpress {
    display: none !important;
}


/* =========================================
   MOBILE
   ========================================= */

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

    /* Even tighter gap on mobile */
    .entry-content > *:last-child {
        margin-bottom: 12px !important;
    }

    .site-footer,
    #colophon {
        margin-top: 0 !important;
        padding-top: 12px !important;
    }

}
/* =========================================
   LINUMEDIA FOOTER
   DESKTOP + MOBILE
   ========================================= */


/* =========================================
   DESKTOP
   ========================================= */

@media screen and (min-width: 769px) {

    .site-footer,
    #colophon {
        position: relative !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 76px !important;

        margin: 0 !important;

        padding: 0 60px !important;

        box-sizing: border-box !important;
    }


    /* Copyright on left */
    .site-footer::before,
    #colophon::before {
        content: "© 2026 Linumedia. All Rights Reserved.";

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 400 !important;

        white-space: nowrap !important;
    }


    /* Footer menu on right */
    .site-footer .footer-navigation,
    #colophon .footer-navigation,
    .site-footer nav {
        margin: 0 0 0 auto !important;
        padding: 0 !important;

        width: auto !important;
    }


    .site-footer ul,
    #colophon ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        margin: 0 !important;
        padding: 0 !important;
    }

}


/* =========================================
   MOBILE
   ========================================= */

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

    .site-footer,
    #colophon {
        position: relative !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 16px !important;

        box-sizing: border-box !important;
    }


    /* Copyright */
    .site-footer::before,
    #colophon::before {
        content: "© 2026 Linumedia. All Rights Reserved.";

        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 12px 0 !important;

        font-size: 12px !important;
        line-height: 1.2 !important;

        text-align: left !important;

        border-bottom: 1px solid rgba(0, 0, 0, 0.18) !important;

        box-sizing: border-box !important;
    }


    /* Footer navigation */
    .site-footer .footer-navigation,
    #colophon .footer-navigation,
    .site-footer nav {
        width: 100% !important;

        margin: 0 !important;
        padding: 10px 0 !important;
    }


    /* Keep mobile footer menu compact */
    .site-footer ul,
    #colophon ul {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .site-footer li,
    #colophon li {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }


    .site-footer a,
    #colophon a {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

}
/* =========================================
   FOOTER REFINEMENT
   DESKTOP + MOBILE
   ========================================= */


/* =========================================
   DESKTOP
   Menu left / Copyright right
   Same horizontal line
   ========================================= */

@media screen and (min-width: 769px) {

    .site-footer,
    #colophon {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        min-height: 64px !important;

        padding: 0 60px !important;
        margin: 0 !important;

        box-sizing: border-box !important;
    }


    /* Footer menu on left */
    .site-footer .footer-navigation,
    #colophon .footer-navigation,
    .site-footer nav {
        order: 1 !important;

        margin: 0 !important;
        padding: 0 !important;

        width: auto !important;
    }


    .site-footer ul,
    #colophon ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Make footer menu quieter / darker grey */
    .site-footer a,
    #colophon a {
        color: #4A4A4A !important;

        font-weight: 600 !important;

        transition: color 0.2s ease !important;
    }


    .site-footer a:hover,
    #colophon a:hover,
    .site-footer a:focus,
    #colophon a:focus {
        color: #7DB3B2 !important;
    }


    /* Copyright on right */
    .site-footer::before,
    #colophon::before {
        content: "© 2026 Linumedia. All Rights Reserved.";

        order: 2 !important;

        margin-left: auto !important;
        padding: 0 !important;

        font-size: 13px !important;
        line-height: 1.2 !important;

        color: #666666 !important;

        white-space: nowrap !important;
    }

}


/* =========================================
   MOBILE
   Menu first / divider / copyright bottom
   ========================================= */

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

    .site-footer,
    #colophon {
        display: flex !important;
        flex-direction: column !important;

        padding: 0 16px !important;
        margin: 0 !important;

        box-sizing: border-box !important;
    }


    /* Menu first */
    .site-footer .footer-navigation,
    #colophon .footer-navigation,
    .site-footer nav {
        order: 1 !important;

        width: 100% !important;

        margin: 0 !important;

        padding: 12px 0 !important;

        border-bottom: 1px solid rgba(0,0,0,0.18) !important;
    }


    .site-footer ul,
    #colophon ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        flex-wrap: wrap !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .site-footer a,
    #colophon a {
        color: #333333 !important;

        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }


    .site-footer a:hover,
    #colophon a:hover,
    .site-footer a:focus,
    #colophon a:focus {
        color: #7DB3B2 !important;
    }


    /* Copyright at bottom */
    .site-footer::before,
    #colophon::before {
        content: "© 2026 Linumedia. All Rights Reserved.";

        order: 2 !important;

        width: 100% !important;

        margin: 0 !important;

        padding: 10px 0 12px !important;

        font-size: 12px !important;
        line-height: 1.2 !important;

        color: #666666 !important;

        text-align: left !important;

        border: 0 !important;
    }

}
/* =========================================
   FINAL FOOTER LAYOUT OVERRIDE
   ========================================= */


/* =========================================
   DESKTOP
   MENU LEFT / COPYRIGHT RIGHT
   ========================================= */

@media screen and (min-width: 769px) {

    /* Footer itself */
    body .site-footer,
    body #colophon {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 64px !important;
        height: 64px !important;

        margin: 0 !important;
        padding: 0 60px !important;

        box-sizing: border-box !important;
    }


    /* Kill theme width/centering on inner wrappers */
    body .site-footer > *,
    body #colophon > * {
        width: auto !important;
        max-width: none !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }


    /* -------------------------------------
       MENU LEFT
       ------------------------------------- */

    body .site-footer nav,
    body #colophon nav,
    body .site-footer .footer-navigation,
    body #colophon .footer-navigation {
        position: static !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        order: 1 !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }


    body .site-footer nav ul,
    body #colophon nav ul,
    body .site-footer .footer-navigation ul,
    body #colophon .footer-navigation ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }


    /* Footer links */
    body .site-footer nav a,
    body #colophon nav a {
        color: #555555 !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }


    body .site-footer nav a:hover,
    body #colophon nav a:hover,
    body .site-footer nav a:focus,
    body #colophon nav a:focus {
        color: #7DB3B2 !important;
    }


    /* -------------------------------------
       COPYRIGHT RIGHT
       ------------------------------------- */

    body .site-footer::before,
    body #colophon::before {
        content: "© 2026 Linumedia. All Rights Reserved." !important;

        position: static !important;

        display: block !important;

        order: 99 !important;

        width: auto !important;

        margin: 0 0 0 auto !important;
        padding: 0 !important;

        color: #666666 !important;

        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1 !important;

        text-align: right !important;
        white-space: nowrap !important;

        transform: none !important;
    }


    /* Hide WordPress/site-info block */
    body .site-footer .site-info,
    body #colophon .site-info {
        display: none !important;
    }
}



/* =========================================
   MOBILE
   CENTRE MENU + COPYRIGHT
   ========================================= */

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

    body .site-footer,
    body #colophon {
        display: flex !important;
        flex-direction: column !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 16px !important;

        box-sizing: border-box !important;
    }


    /* -------------------------------------
       MENU
       ------------------------------------- */

    body .site-footer nav,
    body #colophon nav,
    body .site-footer .footer-navigation,
    body #colophon .footer-navigation {
        order: 1 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 12px 0 !important;

        border-bottom: 1px solid rgba(0,0,0,0.18) !important;

        text-align: center !important;
    }


    body .site-footer nav ul,
    body #colophon nav ul,
    body .site-footer .footer-navigation ul,
    body #colophon .footer-navigation ul {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        margin: 0 auto !important;
        padding: 0 !important;

        text-align: center !important;
    }


    /* -------------------------------------
       COPYRIGHT
       ------------------------------------- */

    body .site-footer::before,
    body #colophon::before {
        content: "© 2026 Linumedia. All Rights Reserved." !important;

        position: static !important;

        display: block !important;

        order: 2 !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 10px 0 12px !important;

        color: #666666 !important;

        font-size: 12px !important;
        line-height: 1.2 !important;

        text-align: center !important;

        transform: none !important;
    }


    /* Remove WordPress credit */
    body .site-footer .site-info,
    body #colophon .site-info {
        display: none !important;
    }
}
/* =========================================
   FINAL DESKTOP FOOTER FIX
   ========================================= */

@media screen and (min-width: 769px) {

    /* Main footer */
    body .site-footer,
    body #colophon {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: 64px !important;
        min-height: 64px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        box-sizing: border-box !important;
    }


    /* =====================================
       MENU — LEFT
       ===================================== */

    body .site-footer nav,
    body #colophon nav,
    body .site-footer .footer-navigation,
    body #colophon .footer-navigation {
        position: absolute !important;

        left: 60px !important;
        top: 50% !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%) !important;
    }


    body .site-footer nav ul,
    body #colophon nav ul,
    body .site-footer .footer-navigation ul,
    body #colophon .footer-navigation ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    body .site-footer nav a,
    body #colophon nav a {
        color: #555555 !important;
    }


    body .site-footer nav a:hover,
    body #colophon nav a:hover,
    body .site-footer nav a:focus,
    body #colophon nav a:focus {
        color: #7DB3B2 !important;
    }


    /* =====================================
       COPYRIGHT — RIGHT
       ===================================== */

    body .site-footer::before,
    body #colophon::before {
        content: "© 2026 Linumedia. All Rights Reserved." !important;

        position: absolute !important;

        right: 60px !important;
        top: 50% !important;
        left: auto !important;

        display: block !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%) !important;

        color: #666666 !important;

        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1 !important;

        text-align: right !important;
        white-space: nowrap !important;
    }


    /* Hide WordPress credit */
    body .site-footer .site-info,
    body #colophon .site-info {
        display: none !important;
    }
}
/* =========================================
   SHORTER FOOTER
   ========================================= */

/* DESKTOP */
@media screen and (min-width: 769px) {

    body .site-footer,
    body #colophon {
        height: 48px !important;
        min-height: 48px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}


/* MOBILE */
@media screen and (max-width: 768px) {

    body .site-footer,
    body #colophon {
        min-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Menu row */
    body .site-footer nav,
    body #colophon nav,
    body .site-footer .footer-navigation,
    body #colophon .footer-navigation {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    /* Copyright row */
    body .site-footer::before,
    body #colophon::before {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }
}
/* =========================================
   REMOVE DESKTOP GAP ABOVE FOOTER
   ========================================= */

@media screen and (min-width: 769px) {

    /* Remove space between last component and footer */
    .site-content,
    #content,
    .content-area,
    #primary,
    .site-main,
    .entry-content {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Remove bottom margin from final page component */
    .entry-content > *:last-child,
    .site-main > *:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Footer itself */
    body .site-footer,
    body #colophon {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}
/* =========================================
   FORCE COMPACT DESKTOP FOOTER
   ========================================= */

@media screen and (min-width: 769px) {

    /* Force footer itself to 48px */
    html body footer.site-footer,
    html body #colophon {
        position: relative !important;

        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }


    /* Collapse theme-generated footer wrappers */
    html body .site-footer > *,
    html body #colophon > * {
        min-height: 0 !important;
        max-height: 48px !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }


    /* Menu vertically centred */
    html body .site-footer nav,
    html body #colophon nav,
    html body .site-footer .footer-navigation,
    html body #colophon .footer-navigation {
        position: absolute !important;

        left: 60px !important;
        top: 50% !important;
        bottom: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%) !important;
    }


    /* Copyright vertically centred */
    html body .site-footer::before,
    html body #colophon::before {
        position: absolute !important;

        right: 60px !important;
        left: auto !important;

        top: 50% !important;
        bottom: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%) !important;
    }
}
/* =========================================
   REMOVE GAP ABOVE FOOTER
   ========================================= */

#content,
#primary,
#main,
#main article,
#main .entry-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Remove theme-generated space / clearfix */
#content::after,
#primary::after,
#main::after,
#main article::after,
.entry-content::after {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}


/* Last block must finish flush */
.entry-content > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Footer starts immediately afterwards */
#colophon,
.site-footer {
    margin-top: 0 !important;
}
/* =========================================
   DESKTOP FOOTER — VERTICAL CENTRE
   ========================================= */

@media screen and (min-width: 769px) {

    /* Use the existing footer height */
    body #colophon,
    body .site-footer {
        position: relative !important;
    }


    /* MENU — LEFT + vertically centred */
    body #colophon nav,
    body .site-footer nav,
    body #colophon .footer-navigation,
    body .site-footer .footer-navigation {
        position: absolute !important;

        left: 60px !important;
        top: 50% !important;
        bottom: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%) !important;
    }


    /* COPYRIGHT — RIGHT + vertically centred */
    body #colophon::before,
    body .site-footer::before {
        position: absolute !important;

        right: 60px !important;
        left: auto !important;

        top: 50% !important;
        bottom: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%) !important;
    }
}