/* =========================================================
   HAMSA FOOTER
   APPROVED DESIGN SYSTEM
   Palette: Gray / Gold / Black / White
   Structure: 30 / 40 / 30
   ========================================================= */


/* =========================================================
   FOOTER ROOT
   ========================================================= */

.site-footer {
    position: relative;
    background: #ffffff;
    color: #111111;
    overflow: hidden;
}


/* =========================================================
   MAIN FOOTER
   ========================================================= */

.hamsa-footer-main {
    position: relative;
    overflow: hidden;
    background: #f3f3f3;
    padding: 64px 0 52px;
}


/* =========================================================
   SUBTLE BACKGROUND GRAPHIC
   ========================================================= */

.hamsa-footer-main::before {
    content: '';
    position: absolute;
    inset: 0;

    background:
        url('../images/water-spill.svg')
        no-repeat right bottom;

    background-size: min(720px, 55vw) auto;
    opacity: .055;

    pointer-events: none;
    z-index: 0;
}


/* =========================================================
   WATERMARK
   ========================================================= */

.hamsa-footer-watermark {
    position: absolute;
    right: 24px;
    bottom: 18px;

    width: 150px;
    height: 150px;

    background:
        url('../images/fevicon.svg')
        no-repeat center;

    background-size: contain;
    opacity: .035;

    pointer-events: none;
    z-index: 0;
}


/* =========================================================
   FOOTER GRID
   30 / 40 / 30
   ========================================================= */

.hamsa-footer-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .8fr);

    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}


/* =========================================================
   COLUMN SEPARATION
   ========================================================= */

.hamsa-footer-grid > * {
    min-width: 0;
}

.hamsa-footer-grid > * + * {
    padding-left: 44px;
}


/* =========================================================
   BRANDING
   ========================================================= */

.footer-brand img,
.footer-brand .custom-logo {
    display: block;

    width: auto;
    max-width: 220px;
    height: auto;
}

.hamsa-footer-description {
    max-width: 360px;
    margin: 20px 0 0;

    color: #555555;
    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.footer-heading {
    position: relative;

    margin: 0 0 24px;

    color: #111111;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.footer-heading::after {
    content: '';

    display: block;

    width: 36px;
    height: 2px;

    margin-top: 10px;

    background: #c6a15b;
}


/* =========================================================
   FOOTER MENUS
   ========================================================= */

.hamsa-footer-menu,
.hamsa-footer-links {
    margin: 0;
    padding: 0;

    list-style: none;
}

.hamsa-footer-menu li,
.hamsa-footer-links li {
    margin: 0 0 9px;
}

.hamsa-footer-menu a,
.hamsa-footer-links li,
.footer-contact-item {
    color: #444444;

    font-size: 15px;
    line-height: 1.65;

    text-decoration: none;
}

.hamsa-footer-menu a {
    transition: color .2s ease;
}

.hamsa-footer-menu a:hover,
.hamsa-footer-links a:hover {
    color: #9d7a2f;
}


/* =========================================================
   CONTACT
   ========================================================= */

.footer-contact-item {
    margin: 0 0 12px;
}

.footer-contact-item a {
    color: inherit;
    text-decoration: none;
}

.footer-contact-item a:hover {
    color: #9d7a2f;
}


/* =========================================================
   CTA
   GOLD — NO GRADIENT
   ========================================================= */

.footer-cta {
    display: inline-flex;

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

    min-height: 46px;

    margin-top: 8px;
    padding: 0 24px;

    border: 1px solid #b89545;
    border-radius: 3px;

    background: #c6a15b;
    color: #ffffff !important;

    font-size: 15px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none;

    transition:
        background .2s ease,
        border-color .2s ease;
}

.footer-cta:hover {
    background: #a9822f;
    border-color: #a9822f;
}


/* =========================================================
   SOCIAL LINKS
   ========================================================= */

.footer-socials {
    display: flex;
    flex-wrap: wrap;

    gap: 16px;

    margin-top: 24px;
}

.footer-socials a {
    color: #222222;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition: color .2s ease;
}

.footer-socials a:hover {
    color: #9d7a2f;
}


/* =========================================================
   FOOTER BOTTOM
   BLACK
   ========================================================= */

.hamsa-footer-bottom {
    background: #111111;
    padding: 18px 0;
}

.footer-bottom-wrap {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;
    padding: 0 24px;

    display: flex;

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

    gap: 20px;
}

.footer-bottom-wrap p {
    margin: 0;

    color: #d6d6d6;

    font-size: 14px;
    line-height: 1.5;
}

.footer-bottom-wrap a {
    color: #d6d6d6;
    text-decoration: none;
}

.footer-bottom-wrap a:hover {
    color: #c6a15b;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .hamsa-footer-main {
        padding: 54px 0 44px;
    }

    .hamsa-footer-grid {
        grid-template-columns: 1fr 1fr;
        row-gap: 40px;
    }

    .hamsa-footer-grid > * + * {
        padding-left: 0;
    }

    .hamsa-footer-grid > *:nth-child(even) {
        padding-left: 28px;
    }

    .hamsa-footer-description {
        max-width: 420px;
    }

    .hamsa-footer-watermark {
        width: 220px;
        height: 220px;

        right: -50px;
        bottom: 0;
    }

    .hamsa-footer-main::before {
        background-size: 600px auto;
        opacity: .035;
    }
}


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

@media (max-width: 767px) {

    .hamsa-footer-main {
        padding: 44px 0 36px;
    }

    .hamsa-footer-grid {
        grid-template-columns: 1fr;

        gap: 32px;

        padding: 0 20px;
    }

    .hamsa-footer-grid > *:nth-child(even) {
        padding-left: 0;
    }

    .footer-brand img,
    .footer-brand .custom-logo {
        max-width: 190px;
    }

    .hamsa-footer-description {
        margin-top: 16px;

        font-size: 15px;
        line-height: 1.7;
    }

    .footer-heading {
        margin-bottom: 20px;
        font-size: 19px;
    }

    .hamsa-footer-menu li,
    .hamsa-footer-links li {
        margin-bottom: 8px;
    }

    .footer-socials {
        margin-top: 20px;
    }

    .hamsa-footer-watermark {
        width: 180px;
        height: 180px;

        right: -60px;
        bottom: 0;
    }

    .hamsa-footer-main::before {
        background-size: 460px auto;
        opacity: .025;
    }

    .hamsa-footer-bottom {
        padding: 16px 0;
    }

    .footer-bottom-wrap {
        flex-direction: column;

        justify-content: center;

        text-align: center;

        padding: 0 20px;

        gap: 6px;
    }

    .footer-bottom-wrap p {
        font-size: 13px;
    }
}


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

@media (max-width: 480px) {

    .hamsa-footer-grid {
        padding: 0 18px;
    }

    .footer-cta {
        min-height: 44px;
        padding: 0 20px;
        font-size: 14px;
    }
}
