/**
 * 1325 Avenue of Americas - Main Stylesheet
 *
 * Combined and adapted from original project CSS.
 * Using viewport width (VW) units for responsive scaling.
 */

/* ==========================================================================
   CSS Reset
   ========================================================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

body {
    line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

nav ul {
    list-style: none;
}

a {
    margin: 0;
    padding: 0;
    background: transparent;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

img {
    max-width: 100%;
}

/* ==========================================================================
   Base Typography & Layout
   ========================================================================== */
* {
    font-family: 'Montserrat', sans-serif;
    box-sizing: border-box;
}

html, body {
    width: 100vw;
    overflow-x: hidden;
}

html {
    overflow-y: scroll;
}

h1, h2, h3 {
    margin: 0 0 5vh 0;
}

h1 {
    font-size: 6vh;
    line-height: 6vh;
}

h2 {
    font-size: 3vw;
    line-height: 3vw;
}

h3 {
    font-size: 2vh;
    font-weight: bold;
    text-decoration: underline;
}

p {
    color: #686868;
    font-size: 1.5vw;
    line-height: 2vw;
}

/* ==========================================================================
   Brand Colors - 1325 AOA Theme
   ========================================================================== */
:root {
    --color-primary: #00a665;
    --color-secondary: #2d2d2d;
    --color-accent: #ff8c00;
    --color-dark: #030303;
    --color-white: #ffffff;
    --color-black: #000000;
}

/* ==========================================================================
   Header
   ========================================================================== */
header {
    height: 5vw;
    width: 100vw;
    position: fixed;
    z-index: 1000;
    top: 0;
    background: var(--color-black);
}

header > div {
    float: left;
}

header > div > a > p {
    margin: 1.5vw 0 1.5vh 15vw;
    color: var(--color-white);
}

header > div > a > img {
    height: 3.5vw;
    margin: 0.7vw 0 1.5vw 15vw;
}

header > div > a > svg {
    width: 12vw;
    height: 3.5vw;
    margin: 0.7vw 0 1.5vw 15vw;
}

header > div:last-child {
    display: none;
}

header > .neo__navigation_overlay {
    height: inherit;
    width: inherit;
    position: static;
    display: none;
    background: var(--color-secondary);
}

.neo__navigation_overlay.open {
    display: block;
}

/* Mobile menu toggle */
.mobile-menu-toggle {
    display: none;
}

/* ==========================================================================
   Navigation
   ========================================================================== */
nav {
    width: auto;
    height: 2.5vw;
    line-height: 2.5vw;
    background: transparent;
    margin: 1.25vw 15vw 0 0;
    vertical-align: top;
    float: right;
    text-transform: uppercase;
    z-index: -1;
}

nav > div {
    display: none;
}

nav > ul {
    list-style: none;
    list-style-type: none;
    margin: 0 0 0 2vw;
    width: inherit;
    background: var(--color-white);
}

nav > ul > li {
    float: left;
    margin: 0 0 0 2vw;
    width: auto;
    background: transparent;
}

nav > ul > li > a {
    display: block;
    color: var(--color-white);
    text-decoration: none;
}

nav > ul > li > a:hover {
    cursor: pointer;
    color: var(--color-primary);
}

nav > ul > li > a.active {
    cursor: default;
    color: var(--color-primary);
}

/* ==========================================================================
   Intro Logo (Left Sidebar)
   ========================================================================== */
.introLogo {
    background: var(--color-primary);
    height: 63vw;
    width: 13vw;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}

.introLogo > img {
    margin: 15vw 0 0 7.5vw;
    width: 5.5vw;
}

.introLogo > svg {
    width: 6vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ==========================================================================
   Main Content Container
   ========================================================================== */
div.neo__content-container {
    margin: 5vw 0 2.9vw 0;
}

div.neo__content-container > section {
    position: relative;
    overflow: hidden;
    margin: 0 0 5vw 0;
    min-height: 20vw;
    width: 100vw;
}

div.neo__content-container > section h2 {
    background-color: transparent;
    margin: 0 0 3vw;
    text-transform: uppercase;
    color: var(--color-black);
    font-weight: 500;
}

/* ==========================================================================
   Intro Section (Slider)
   ========================================================================== */
section#intro {
    width: 100vw;
}

section#intro > p,
section#intro .intro-tagline {
    display: none;
    position: absolute;
    right: 0;
    bottom: 20vw;
    width: 40.5vw;
    margin: 0;
    text-transform: uppercase;
    overflow: hidden;
    line-height: 2.2vw;
    font-size: 2vw;
    color: var(--color-primary);
    background-color: var(--color-secondary);
    height: 4vw;
    padding: 2vw 7vw 2vw 2vw;
}

section#intro > p > span,
section#intro .intro-tagline > span {
    color: var(--color-white);
}

/* Slider Container */
.neo__fullbleed {
    position: relative;
    width: 100vw;
    height: 63vw; /* Match introLogo height */
    overflow: hidden;
}

.slider-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.slider-container .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.slider-container .slide.active {
    opacity: 1;
}

.slider-container .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Slider Captions */
#smtfullbleed_caption {
    position: absolute;
    right: 0;
    left: auto;
    bottom: 5vw;
    width: 49.5vw;
    height: 8vw;
    margin: 0;
    text-transform: uppercase;
    z-index: 11;
}

#smtfullbleed_caption > div,
#smtfullbleed_caption > .caption {
    position: absolute;
    opacity: 0;
    box-sizing: content-box;
    width: 40.5vw;
    margin: 0;
    line-height: 4.2vw;
    font-size: 2.7vw;
    color: var(--color-primary);
    background-color: var(--color-secondary);
    min-height: 4vw;
    height: auto;
    padding: 2vw 7vw 2vw 2vw;
    font-weight: 300;
    white-space: normal;
    transition: opacity 0.5s ease;
}

#smtfullbleed_caption > div.active,
#smtfullbleed_caption > .caption.active {
    opacity: 1;
}

#smtfullbleed_caption > div > span,
#smtfullbleed_caption > .caption > span {
    color: var(--color-white);
}

/* Slider Dot Navigation */
#smtfullbleed_dotnav {
    position: absolute;
    bottom: 5vw;
    left: 15vw;
    z-index: 10;
}

#smtfullbleed_dotnav > ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

#smtfullbleed_dotnav > ul > li {
    width: 1.5vw;
    height: 1.5vw;
    border-radius: 50%;
    background: #ffffff;
    margin: 0 1vw 0 0;
    cursor: pointer;
    transition: background 0.3s ease;
    box-shadow: 0 0 2px 1px #8b8b8b;
}

#smtfullbleed_dotnav > ul > li:hover,
#smtfullbleed_dotnav > ul > li.active {
    background: var(--color-primary);
}

/* ==========================================================================
   Overview Section - 2 Column Grid Layout
   ========================================================================== */
div.neo__content-container > section#overview {
    background-color: transparent;
    margin: 0 0 5vw 15vw;
    width: 70vw;
    display: grid;
    grid-template-columns: 40vw 25vw;
    gap: 5vw;
}

div.neo__content-container > section#overview > div > h2 {
    line-height: 1;
    margin: 0 0 3vw 0;
}

div.neo__content-container > section#overview > div > h2 > span {
    color: var(--color-primary);
}

div.neo__content-container > section#overview > div > p {
    margin: 0 0 2vw 0;
    color: var(--color-dark);
}

div.neo__content-container > section#overview > div > div > ul {
    margin: 0 0 3vw 1.5vw;
}

div.neo__content-container > section#overview > div > div > ul > li {
    font-size: 1.5vw;
    line-height: 2vw;
    color: var(--color-dark);
}

div.neo__content-container > section#overview > div > a {
    padding: 1vw;
    display: inline-block;
    margin: 0 0 3vw 0;
    font-size: 1.5vw;
    border: 0.2vw solid var(--color-primary);
    color: var(--color-dark);
}

div.neo__content-container > section#overview > div > a:hover {
    color: var(--color-primary);
}

/* ==========================================================================
   Gallery Section
   ========================================================================== */
section#gallery {
    background-color: transparent;
    margin: 0 5vw 3vw 15vw;
    width: 70vw;
}

section#gallery > h2 {
    background-color: transparent;
    border-bottom: 0.2vw solid var(--color-black);
    padding: 0 0 1.5vw 0;
    margin: 0 0 1.5vw 0;
}

section#gallery > h2 > span {
    color: var(--color-primary);
}

section#gallery > div,
section#gallery .gallery-item {
    float: left;
    margin: 0 0 2vw 0;
}

section#gallery > div > a > img,
section#gallery .gallery-item > a > img {
    border: 0.2vw solid var(--color-black);
    width: 15.6vw;
    height: 15.6vw;
    object-fit: cover;
}

section#gallery > div > a:hover > img,
section#gallery .gallery-item > a:hover > img {
    opacity: 0.5;
    transition: all 0.5s ease-in-out 0s;
    z-index: 50;
}

section#gallery > div > p,
section#gallery .gallery-item > p {
    height: auto;
    line-height: 4vw;
    text-align: center;
    width: 16vw;
    background-color: var(--color-accent);
    margin: -0.4vh 2vw 0 0;
}

section#gallery > div:nth-child(4n+1),
section#gallery .gallery-item:nth-child(4n+1) {
    float: right;
}

section#gallery > div:nth-child(4n+1) > a > img,
section#gallery .gallery-item:nth-child(4n+1) > a > img {
    margin: 0;
}

section#gallery > div:nth-child(4n+1) > p,
section#gallery .gallery-item:nth-child(4n+1) > p {
    margin: -0.4vh 0 0 0;
}

section#gallery .no-images {
    width: 100%;
    text-align: center;
    padding: 3vw;
    color: #999;
}

/* ==========================================================================
   Contact Section
   ========================================================================== */
section#contact {
    margin: 0;
    padding: 0 5vw 5vw 15vw;
    width: 80vw;
    background-color: var(--color-primary);
    box-sizing: content-box;
}

section#contact * {
    box-sizing: content-box;
}

section#contact > div {
    margin: 3vw 0 0 0;
    padding: 0 3vw 0 0;
    float: left;
    width: 33vw;
}

section#contact > div > h2 {
    background-color: transparent;
    color: var(--color-white);
}

section#contact > div > p {
    font-size: 1vw;
    line-height: 2vw;
    color: var(--color-black);
}

section#contact > div > p > a {
    color: var(--color-black);
}

section#contact > div > a {
    display: block;
    margin: 2.5vw 0 2.5vw 0;
    width: 20vw;
    color: var(--color-black);
    font-size: 1vw;
}

section#contact > div > a:hover {
    color: var(--color-white);
}

section#contact > div > a > img {
    float: left;
    width: 10vw;
    margin: 0;
}

section#contact > div:nth-of-type(1) {
    border-right: 0.2vw solid var(--color-white);
}

section#contact > div:nth-of-type(2) {
    float: right;
    width: 40vw;
    padding: 0 0 0 3vw;
}

section#contact > div:nth-of-type(2) > p,
section#contact > div:nth-of-type(2) .contact-card {
    float: left;
    height: auto;
    width: 13.5vw;
    margin: 0 0 3vw 0.5vw;
}

section#contact > div:nth-of-type(2) > p > a,
section#contact .contact-card > a {
    margin: 0;
    display: inline-block;
    text-decoration: none;
}

section#contact > div:nth-of-type(2) > p > a:hover,
section#contact .contact-card > a:hover {
    color: var(--color-white);
}

section#contact > div:nth-of-type(2) > p:nth-of-type(1),
section#contact > div:nth-of-type(2) .contact-card:nth-of-type(1) {
    margin: 0;
}

section#contact > div:nth-of-type(2) > p:nth-of-type(3),
section#contact > div:nth-of-type(2) .contact-card:nth-of-type(3) {
    margin: 0;
}

/* ==========================================================================
   404 Page
   ========================================================================== */
section#error-404 {
    display: flex;
    min-height: 80vh;
    align-items: center;
    justify-content: center;
}

section#error-404 .error-content {
    padding: 5vw 10vw;
    text-align: center;
}

section#error-404 .error-content h1 {
    font-size: 10vw;
    color: var(--color-primary);
    margin: 0;
    line-height: 1;
}

section#error-404 .error-content h2 {
    font-size: 2.5vw;
    text-transform: uppercase;
    margin: 0 0 2vw 0;
}

section#error-404 .error-content h2 span {
    color: var(--color-primary);
}

section#error-404 .error-content p {
    font-size: 1.2vw;
    color: var(--color-dark);
    margin: 0 0 2vw 0;
}

section#error-404 .error-content .back-home {
    display: inline-block;
    padding: 1vw 2vw;
    border: 0.2vw solid var(--color-primary);
    color: var(--color-dark);
    text-decoration: none;
    font-size: 1vw;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

section#error-404 .error-content .back-home:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

/* ==========================================================================
   Back to Top Button
   ========================================================================== */
#neo__backtotop {
    position: fixed;
    z-index: 1000;
    right: -20vw;
    bottom: 5vw;
    width: 3vw;
    height: 3vw;
    background: #f00;
    color: var(--color-white);
    text-align: center;
    line-height: 3vw;
    display: none;
    cursor: pointer;
    transition: transform 0.5s ease-in-out;
}

#neo__backtotop:hover {
    background: #0f0;
}

#neo__backtotop.visible {
    display: block;
    transform: translateX(-23vw);
}

/* ==========================================================================
   Footer
   ========================================================================== */
footer {
    position: fixed;
    bottom: 0;
    z-index: 400;
    height: auto;
    width: 100vw;
    line-height: 3vw;
    background: var(--color-black);
}

footer > div {
    float: left;
    width: 35vw;
    font-size: 1.5vw;
    height: 3vw;
    line-height: 1.5vw;
}

footer > div:nth-child(1) {
    margin: 0 0 0 15vw;
}

footer > div:nth-child(1) > a {
    font-size: 0.9vw;
    font-weight: 200;
    line-height: 3vw;
    text-decoration: none;
    height: 3vw;
    margin: 0;
    color: var(--color-white);
}

footer > div:nth-child(1) > a:hover {
    color: var(--color-primary);
}

footer > div:nth-child(2) {
    text-align: right;
    margin: 0 5vw 0 0;
}

footer > div:nth-child(2) div {
    padding: 0.6vw 0 0 0;
    height: 1.5vw;
    width: 14vw;
    float: right;
}

/* ==========================================================================
   Transitions
   ========================================================================== */
.transition_05s_easinout {
    transition: 0.5s ease-in-out;
}

.transition_1s_easinout {
    transition: 1s ease-in-out;
}

.js_navigation-container.animateinout {
    transform: translate(0, 100vh);
}

.js_backtotop.animateinout {
    transform: translateX(-21vw);
}

/* ==========================================================================
   Mobile / Portrait Orientation Styles
   ========================================================================== */
@media all and (orientation: portrait) {
    h1, h2, h3, p {
        margin: 0 0 2vw 0;
    }

    h1 {
        font-size: 8vw;
    }

    h2 {
        font-size: 6vw;
        line-height: 6vw;
    }

    h3 {
        font-size: 4vw;
        line-height: 4vw;
    }

    p {
        font-size: 4vw;
        line-height: 5vw;
    }

    /* Header Mobile */
    header {
        height: 10vh;
        background: #2d2d2d;
    }

    header > div:first-child > a > img {
        height: 8vh;
        line-height: 8vh;
        font-size: 4vw;
        top: 0;
        position: absolute;
        margin: 1vh 0 1vh 4vw;
    }

    header > div:first-child > a > svg {
        height: 8vh;
        width: 30vw;
        line-height: 8vh;
        font-size: 4vw;
        top: 0;
        position: absolute;
        margin: 1vh 0 1vh 4vw;
    }

    header > div:first-child > a > p {
        line-height: 10vh;
        position: absolute;
        top: 0;
        font-size: 4vw;
        margin: 0 0 0 4vw;
    }

    .mobile-menu-toggle {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        width: 10vh;
        height: 10vh;
        font-size: 12vw;
        line-height: 10vh;
        text-align: center;
        color: #333333;
        background: var(--color-white);
        cursor: pointer;
        z-index: 1001;
    }

    header > .neo__navigation_overlay {
        display: block;
        position: static;
        height: inherit;
        width: inherit;
        background: var(--color-secondary);
    }

    header > .neo__navigation_overlay.open {
        display: block;
    }

    /* Nav Mobile - positioned off-screen, slides in from behind header */
    .neo__navigation_overlay nav {
        position: fixed;
        top: -100vh;
        right: 0;
        width: 100vw;
        height: auto;
        margin: 0;
        background: none;
        z-index: -1;
        transition: 0.5s ease-in-out;
    }

    .neo__navigation_overlay nav.animateinout {
        transform: translate(0, 100vh);
    }

    /* Keep desktop nav hidden on mobile */
    header > nav {
        display: none;
    }

    .neo__navigation_overlay nav > ul {
        margin: 10vh 0 0 0;
        width: 100vw;
        background: #ffffff;
    }

    .neo__navigation_overlay nav > ul > li {
        font-size: 5vw;
        line-height: 12vw;
        height: 12vw;
        float: none;
        width: auto;
        text-align: center;
        margin: 0 0 2vh 0;
    }

    .neo__navigation_overlay nav > ul > li > a {
        display: block;
        font-size: 5vw;
        height: 12vw;
        line-height: 12vw;
        color: #333333;
        text-decoration: none;
        font-weight: 500;
        text-transform: none;
    }

    /* Intro Logo Mobile */
    .introLogo {
        width: 14vw;
    }

    .introLogo > svg {
        margin: 7vw 0 0 3.8vw !important;
        width: 5.5vw;
        position: static;
        transform: none;
    }

    /* Content Container Mobile */
    div.neo__content-container {
        margin: 10vh 0 0 0;
    }

    div.neo__content-container > section {
        margin: 0 0 4vw 0;
    }

    div.neo__content-container > section h2 {
        width: 92vw !important;
        margin: 0 0 4vw 0;
    }

    /* Intro Mobile */
    section#intro p,
    section#intro .intro-tagline {
        width: 92vw;
        position: static;
        margin: 0;
        padding: 2vw 4vw 2vw 4vw;
        height: auto;
        text-align: center;
        line-height: 7vw;
        font-size: 7vw;
    }

    section#intro > .neo__fullbleed > #smtfullbleed_caption {
        width: auto;
        bottom: 0;
        left: 0;
        right: 0;
        height: auto;
        min-height: 10vw;
    }

    section#intro > .neo__fullbleed > #smtfullbleed_caption > div,
    #smtfullbleed_caption > .caption {
        width: 78vw;
        margin: 0;
        padding: 2vw 11vw;
        height: auto;
        text-align: center;
        line-height: 6vw;
        font-size: 6vw;
        box-sizing: content-box;
        white-space: normal;
        bottom: 0;
        top: auto;
    }

    #smtfullbleed_dotnav {
        bottom: 21vw !important;
        left: 44vw;
    }

    #smtfullbleed_dotnav > ul > li {
        width: 3vw;
        height: 3vw;
    }

    /* Overview Mobile - Single Column */
    div.neo__content-container > section#overview {
        width: 92vw;
        margin: 0 0 4vw 4vw;
        display: block;
        grid-template-columns: none;
        gap: 0;
    }

    div.neo__content-container > section#overview > div {
        margin: 0 0 8vw 0;
    }

    div.neo__content-container > section#overview > div > h2 {
        line-height: 7vw;
        font-size: 6vw;
    }

    div.neo__content-container > section#overview > div > p {
        font-size: 4vw;
        line-height: 5vw;
        margin: 0 0 5vw 0;
    }

    div.neo__content-container > section#overview > div > div > ul {
        margin: 0 0 3vw 4vw;
    }

    div.neo__content-container > section#overview > div > div > ul > li {
        font-size: 4vw;
        line-height: 5vw;
    }

    div.neo__content-container > section#overview > div > a {
        padding: 2.5vw;
        font-size: 4vw;
        line-height: 4vw;
        margin: 0 0 8vw 0;
        border-width: 0.5vw;
    }

    /* Gallery Mobile */
    section#gallery {
        margin: 0 4vw 4vw 4vw;
        padding: 0 0 1vw 0;
        width: 92vw;
    }

    section#gallery > div:nth-child(2n),
    section#gallery .gallery-item:nth-child(2n) {
        margin: 4vw 0 0 0;
    }

    section#gallery > div:nth-child(2n) > a > img,
    section#gallery .gallery-item:nth-child(2n) > a > img {
        width: 43vw;
        height: 43vw;
        margin: 0;
    }

    section#gallery > div:nth-child(2n) > p,
    section#gallery .gallery-item:nth-child(2n) > p {
        width: 44vw;
        height: auto;
        line-height: 8vw;
        font-size: 3vw;
        margin: -0.4vh 0 0 0;
    }

    section#gallery > div:nth-child(2n+1),
    section#gallery .gallery-item:nth-child(2n+1) {
        margin: 4vw 0 0 4vw;
    }

    section#gallery > div:nth-child(2n+1) > a > img,
    section#gallery .gallery-item:nth-child(2n+1) > a > img {
        width: 43vw;
        height: 43vw;
        margin: 0;
    }

    section#gallery > div:nth-child(2n+1) > p,
    section#gallery .gallery-item:nth-child(2n+1) > p {
        width: 44vw;
        height: auto;
        line-height: 8vw;
        font-size: 3vw;
        margin: -0.4vh 0 0 0;
    }

    section#gallery > div:nth-child(2),
    section#gallery .gallery-item:nth-child(2) {
        margin: 0;
    }

    section#gallery > div:nth-child(3),
    section#gallery .gallery-item:nth-child(3) {
        margin: 0 0 0 4vw;
        width: 44vw;
    }

    /* Contact Mobile */
    section#contact {
        padding: 4vw 4vw 20vw 4vw;
        margin: 0;
        width: 92vw;
        box-sizing: content-box;
    }

    section#contact > div {
        margin: 3vw 0 0 0;
        float: none;
        width: 92vw;
        padding: 0;
        border-right: none !important;
    }

    section#contact > div > h2 {
        font-size: 6vw;
        line-height: 7vw;
    }

    section#contact > div > p {
        font-size: 3vw;
        line-height: 5vw;
    }

    section#contact > div > p > a {
        font-size: 3vw;
        line-height: 5vw;
    }

    section#contact > div > a {
        margin: 2.5vw 0 2.5vw 0;
        width: 30vw;
        font-size: 3vw;
    }

    section#contact > div > a > img {
        float: none;
        display: block;
        width: 40vw;
        margin: 4vw 0 0 0;
    }

    /* Logo */
    section#contact > div > a:nth-of-type(2) {
        display: block;
        width: 40vw;
        margin: 4vw 0;
    }

    section#contact > div > a:nth-of-type(2) > img {
        margin: 0;
        width: 100%;
    }

    section#contact > div:nth-of-type(1) > a:nth-of-type(1) {
        font-size: 3.5vw;
        width: 92vw;
        display: block;
    }

    section#contact > div:nth-of-type(2) {
        width: 92vw;
        float: none;
        border: none;
        padding: 0;
        margin: 3vw 0 4vw 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4vw;
    }

    section#contact > div:nth-of-type(2) > h2 {
        grid-column: 1 / -1;
    }

    section#contact > div:nth-of-type(2) > p,
    section#contact > div:nth-of-type(2) .contact-card,
    section#contact > div:nth-of-type(2) .contact-card:nth-of-type(1),
    section#contact > div:nth-of-type(2) .contact-card:nth-of-type(2),
    section#contact > div:nth-of-type(2) .contact-card:nth-of-type(3),
    section#contact > div:nth-of-type(2) .contact-card:nth-of-type(4) {
        float: none;
        height: auto;
        width: auto;
        margin: 0;
    }

    section#contact > div:nth-of-type(2) > p > a,
    section#contact > div:nth-of-type(2) .contact-card > a {
        margin: 0;
        text-decoration: none;
        font-size: 3vw;
        line-height: 5vw;
    }

    section#contact > div:nth-of-type(2) > p > a {
        font-size: 3vw;
        line-height: 5vw;
        color: var(--color-black);
    }

    section#contact > div > p {
        font-size: 3vw;
        line-height: 5vw;
        color: var(--color-black);
    }

    section#contact > div > a {
        color: var(--color-black);
        font-size: 3vw;
    }

    /* 404 Mobile */
    section#error-404 {
        min-height: 60vh;
    }

    section#error-404 .error-content {
        padding: 8vw 4vw;
    }

    section#error-404 .error-content h1 {
        font-size: 25vw;
    }

    section#error-404 .error-content h2 {
        font-size: 6vw;
    }

    section#error-404 .error-content p {
        font-size: 4vw;
    }

    section#error-404 .error-content .back-home {
        padding: 3vw 6vw;
        font-size: 3.5vw;
        border-width: 0.5vw;
    }

    /* Back to Top Mobile */
    #neo__backtotop {
        bottom: 15vh;
        width: 5vh;
        height: 5vh;
        line-height: 5vh;
    }

    /* Footer Mobile */
    footer > div {
        float: none;
        width: 100vw;
        font-size: 3.5vw;
        height: 7vw;
        line-height: 7vw;
    }

    footer > div:nth-child(1) {
        margin: 0;
        text-align: center;
    }

    footer > div:nth-child(1) > a {
        font-size: 2vw;
        font-weight: 500;
        line-height: 7vw;
        text-decoration: none;
        height: 7vw;
        margin: 0;
    }

    footer > div:nth-child(2) {
        margin: 0;
        text-align: center;
    }

    footer > div:nth-child(2) div {
        position: relative;
        width: auto;
        float: none;
        text-align: center;
        padding: 0.5vh 0 0 0;
        height: 3.5vw;
    }
}

/* Tablet specific adjustments */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    #smtfullbleed_dotnav {
        bottom: 19vw !important;
    }

    nav > ul > li > a {
        color: var(--color-black);
    }
}

/* iPhone specific adjustments */
@media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2) {
    nav > ul > li > a {
        color: var(--color-black);
    }
}

@media screen and (max-width: 1080px) {
    div.neo__content-container > section#overview {
        grid-template-columns: 1fr;
        gap: 4vw;
    }
}

/* ==========================================================================
   Magnific Popup Overrides
   ========================================================================== */
.mfp-bg {
    background: rgba(0, 0, 0, 0.9);
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: var(--color-white);
    font-size: 36px;
}
