/* =========================================================
   A7 GLOBAL FOOTER
   ========================================================= */

.a7-site-footer {
    width: 100%;
    margin: 0;
    padding: 30px 0;
    background: #172233;
    color: #fff;
    font-family: Arial, sans-serif;
}

.a7-site-footer *,
.a7-site-footer *::before,
.a7-site-footer *::after {
    box-sizing: border-box;
}

.a7-site-footer__inner {
    width: 1410px;
    max-width: calc(100% - 40px);
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
}

.a7-site-footer__brand {
    display: flex;
    align-items: center;
    gap: 16px;

    padding-right: 28px;

    flex: 0 0 auto;
}

.a7-site-footer__logo {
    display: block;
    width: auto;
    height: auto;

    max-width: 58px;
    max-height: 58px;

    object-fit: contain;
}

.a7-site-footer__tagline {
    color: rgba(255,255,255,.90);

    font-size: 14px;
    line-height: 1.25;
    font-weight: 400;

    white-space: nowrap;
}

.a7-site-footer__item {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 42px;

    padding: 0 28px;

    color: rgba(255,255,255,.88) !important;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 400;

    text-decoration: none !important;
    white-space: nowrap;
}

.a7-site-footer__item::before {
    content: "";

    position: absolute;
    left: 0;
    top: 7px;

    width: 1px;
    height: 28px;

    background: rgba(255,255,255,.22);
}

.a7-site-footer__phone {
    font-weight: 600;
}

.a7-site-footer__link:hover,
.a7-site-footer__phone:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

.a7-site-footer__copy {
    padding-right: 0;
}

.a7-site-footer__copyright {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    margin-right: 8px;

    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;

    font-size: 13px;
    line-height: 1;
    color: rgba(255,255,255,.9);
}

/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1150px) {

    .a7-site-footer__inner {
        flex-wrap: wrap;
        justify-content: flex-start;
        row-gap: 12px;
    }

    .a7-site-footer__item {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 760px) {

    .a7-site-footer {
        padding: 26px 0;
    }

    .a7-site-footer__inner {
        width: 100%;
        max-width: none;

        padding: 0 16px;

        display: flex;
        flex-direction: column;
        align-items: flex-start;

        gap: 14px;
    }

    .a7-site-footer__brand {
        padding: 0;
        gap: 12px;
    }

    .a7-site-footer__logo {
        max-width: 52px;
        max-height: 52px;
    }

    .a7-site-footer__tagline {
        font-size: 12px;
    }

    .a7-site-footer__item {
        width: 100%;
        min-height: 0;

        padding: 0;

        font-size: 14px;

        white-space: normal;
    }

    .a7-site-footer__item::before {
        display: none;
    }

    .a7-site-footer__copy {
        margin-top: 4px;
    }
}

/* =========================================================
   MOBILE FOOTER - FINAL
   ========================================================= */

@media (max-width: 760px) {

    .a7-site-footer {
        padding: 34px 0 28px !important;
        background:
            radial-gradient(circle at 50% 100%, rgba(20,70,110,.18), transparent 45%),
            #0f2238 !important;
    }

    .a7-site-footer__inner {
        width: 100% !important;
        max-width: none !important;
        padding: 0 28px !important;

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

    .a7-site-footer__brand {
        display: flex !important;
        align-items: center !important;
        gap: 18px !important;

        width: 100% !important;

        padding: 0 0 24px !important;
    }

    .a7-site-footer__logo {
        display: block !important;

        width: 58px !important;
        height: 58px !important;

        max-width: 58px !important;
        max-height: 58px !important;

        object-fit: contain !important;
        flex: 0 0 58px !important;
    }

    .a7-site-footer__tagline {
        color: #fff !important;

        font-size: 17px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;

        white-space: normal !important;
    }

    .a7-site-footer__row {
        position: relative !important;

        display: grid !important;
        grid-template-columns: 44px minmax(0,1fr) 24px !important;
        align-items: center !important;

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

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

        border-bottom: 1px solid rgba(255,255,255,.17) !important;

        color: #fff !important;

        font-size: 17px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;

        text-decoration: none !important;
    }

    .a7-site-footer__row::before {
        display: none !important;
    }

    .a7-site-footer__icon {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        color: #fff !important;

        font-size: 25px !important;
        line-height: 1 !important;
        font-weight: 300 !important;
    }

    .a7-site-footer__arrow {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        color: #9fb0c2 !important;

        font-size: 30px !important;
        line-height: 1 !important;
        font-weight: 300 !important;
    }

    .a7-site-footer__row:hover {
        color: #fff !important;
        text-decoration: none !important;
    }

    .a7-site-footer__copy {
        width: 100% !important;

        margin: 0 !important;
        padding: 28px 0 4px !important;

        color: #9eabb9 !important;

        font-size: 15px !important;
        line-height: 1.3 !important;
        font-weight: 400 !important;

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

    .a7-site-footer__copy::before {
        display: none !important;
    }
}


/* ===== desktop footer rows ===== */

.a7-site-footer__row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;

    color: rgba(255,255,255,.90) !important;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 400;

    text-decoration: none !important;
    white-space: nowrap;
}

a.a7-site-footer__row,
a.a7-site-footer__row:visited,
a.a7-site-footer__row:hover,
a.a7-site-footer__row:focus,
a.a7-site-footer__row:active {
    color: rgba(255,255,255,.90) !important;
    text-decoration: none !important;
}

.a7-site-footer__row:hover {
    color: #fff !important;
}

.a7-site-footer__icon {
    color: rgba(255,255,255,.90) !important;
}

.a7-site-footer__arrow {
    color: rgba(255,255,255,.55) !important;
}

.a7-site-footer__copy {
    color: rgba(255,255,255,.78) !important;
}


/* =========================================================
   FOOTER ICONS
   Desktop: clean text only
   Mobile: icons + arrows
   ========================================================= */

/* Desktop */
@media (min-width: 761px) {
    .a7-site-footer__icon,
    .a7-site-footer__arrow {
        display: none !important;
    }

    .a7-site-footer__row {
        gap: 0 !important;
    }
}

/* Mobile */
@media (max-width: 760px) {
    .a7-site-footer__icon {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .a7-site-footer__arrow {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    .a7-site-footer__address-row .a7-site-footer__icon {
        font-size: 21px !important;
    }
}



/* mobile footer - pretty map pin */
@media (max-width: 760px) {
    .a7-site-footer__icon--pin {
        display: inline-flex !important;
        width: 22px !important;
        min-width: 22px !important;
        height: 22px !important;
        font-size: 0 !important;
        line-height: 0 !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 18px 18px !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
    }
}


/* =========================================================
   MOBILE FOOTER - NO ICONS
   ========================================================= */

@media (max-width: 760px) {

    .a7-site-footer__icon,
    .a7-site-footer__arrow {
        display: none !important;
    }

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

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

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

        border-bottom: 1px solid rgba(255,255,255,.17) !important;

        color: #fff !important;
        font-size: 17px !important;
        line-height: 1.35 !important;

        text-decoration: none !important;
    }

    .a7-site-footer__row > span:not(.a7-site-footer__icon):not(.a7-site-footer__arrow) {
        width: 100% !important;
    }
}

