/* =========================================================
   AWARDS & RECOGNITION
   Desktop + Tablet + Mobile
   High Contrast / Readable Text Version
   ========================================================= */


/* =========================================================
   GLOBAL
   ========================================================= */

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    overflow-x: hidden;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.awards-section {
    position: relative;
    width: 100%;
    min-height: 477px;

    background-image: url("../img/awards.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    overflow: hidden;
}


/*
|--------------------------------------------------------------------------
| Very subtle overall contrast layer
|--------------------------------------------------------------------------
*/

.awards-section::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.28) 0%,
            rgba(0, 0, 0, 0.12) 28%,
            rgba(0, 0, 0, 0.00) 58%
        );

    pointer-events: none;
    z-index: 1;
}


/* =========================================================
   CONTENT WRAPPER
   ========================================================= */

.awards-content {
    position: relative;

    width: 100%;
    height: 477px;

    margin: 0 auto;

    z-index: 2;
}


/* =========================================================
   TOP KICKER
   ========================================================= */

.awards-kicker {
    position: absolute;

    top: 39px;
    left: 5%;

    display: flex;
    align-items: center;

    gap: 10px;

    z-index: 10;
}


/* Golden lines */

.kicker-line {
    display: block;

    width: 31px;
    height: 3px;

    background: #f4c64e;

    box-shadow:
        0 0 5px rgba(0, 0, 0, 0.7),
        0 0 10px rgba(244, 198, 78, 0.35);
}


/* Kicker text */

.kicker-text {
    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 15px;
    font-weight: 700;

    letter-spacing: 4px;

    white-space: nowrap;
    text-transform: uppercase;

    /*
    |--------------------------------------------------------------------------
    | Strong readability
    |--------------------------------------------------------------------------
    */

    text-shadow:
        0 2px 2px rgba(0, 0, 0, 0.95),
        0 3px 7px rgba(0, 0, 0, 0.90),
        0 0 12px rgba(0, 0, 0, 0.80);
}


/* =========================================================
   MAIN HEADING
   ========================================================= */

.awards-title {
    position: absolute;

    top: 67px;
    left: 5.8%;

    margin: 0;

    width: 530px;

    font-family: Georgia, "Times New Roman", serif;

    line-height: 0.92;

    z-index: 10;

    /*
    |--------------------------------------------------------------------------
    | Soft dark area behind heading
    |--------------------------------------------------------------------------
    */

    filter: drop-shadow(
        0 5px 8px rgba(0, 0, 0, 0.35)
    );
}


.title-white,
.title-gold {
    display: block;
}


/* White heading */

.title-white {
    color: #ffffff;

    font-size: 70px;
    font-weight: 700;

    text-shadow:
        0 2px 0 rgba(0, 0, 0, 0.90),
        0 4px 6px rgba(0, 0, 0, 0.90),
        0 7px 15px rgba(0, 0, 0, 0.85),
        0 0 18px rgba(0, 0, 0, 0.65);
}


/* Gold heading */

.title-gold {
    color: #f5c94f;

    font-size: 70px;
    font-weight: 700;

    text-shadow:
        0 2px 0 rgba(0, 0, 0, 0.95),
        0 4px 6px rgba(0, 0, 0, 0.95),
        0 7px 15px rgba(0, 0, 0, 0.85),
        0 0 18px rgba(0, 0, 0, 0.65);
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.awards-description {
    position: absolute;

    top: 238px;
    left: 5.9%;

    width: 500px;

    margin: 0;

    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 20px;
    font-weight: 500;

    line-height: 1.4;

    z-index: 10;

    /*
    |--------------------------------------------------------------------------
    | Maximum readability on bright city background
    |--------------------------------------------------------------------------
    */

    text-shadow:
        0 2px 2px rgba(0, 0, 0, 1),
        0 3px 5px rgba(0, 0, 0, 0.98),
        0 5px 12px rgba(0, 0, 0, 0.90),
        0 0 15px rgba(0, 0, 0, 0.80);
}


/*
|--------------------------------------------------------------------------
| Subtle readable background behind description
|--------------------------------------------------------------------------
*/

.awards-description::before {
    content: "";
    position: absolute;

    left: -22px;
    top: -15px;

    width: calc(100% + 40px);
    height: calc(100% + 30px);

    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.38),
        rgba(0, 0, 0, 0.16),
        rgba(0, 0, 0, 0)
    );

    border-radius: 4px;

    z-index: -1;

    pointer-events: none;
}


/* =========================================================
   FEATURES
   ========================================================= */

.awards-features {
    position: absolute;

    left: 5.5%;
    bottom: 42px;

    width: 720px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    z-index: 10;
}


/* =========================================================
   FEATURE ITEM
   ========================================================= */

.award-feature {
    position: relative;

    display: flex;
    align-items: center;

    gap: 10px;

    min-width: 150px;
}


/* =========================================================
   VERTICAL SEPARATOR
   ========================================================= */

.award-feature:not(:last-child)::after {
    content: "";

    position: absolute;

    right: -8px;
    top: 4px;

    width: 1px;
    height: 48px;

    background: rgba(245, 201, 79, 0.90);

    box-shadow:
        0 0 4px rgba(0, 0, 0, 0.80);
}


/* =========================================================
   ICON
   ========================================================= */

.award-icon {
    width: 66px;
    height: 66px;

    flex: 0 0 66px;

    border: 2px solid #f5c94f;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #f5c94f;

    font-size: 28px;

    background: rgba(0, 0, 0, 0.15);

    box-shadow:
        0 3px 8px rgba(0, 0, 0, 0.65),
        inset 0 0 8px rgba(0, 0, 0, 0.20),
        0 0 8px rgba(245, 201, 79, 0.25);
}


.award-icon i {
    line-height: 1;

    filter:
        drop-shadow(0 2px 2px rgba(0, 0, 0, 0.85))
        drop-shadow(0 3px 5px rgba(0, 0, 0, 0.70));
}


/* =========================================================
   FEATURE TEXT
   ========================================================= */

.award-feature-text {
    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 15px;
    font-weight: 700;

    line-height: 1.25;

    /*
    |--------------------------------------------------------------------------
    | Strong readability over marble/background
    |--------------------------------------------------------------------------
    */

    text-shadow:
        0 2px 2px rgba(0, 0, 0, 1),
        0 3px 5px rgba(0, 0, 0, 1),
        0 5px 10px rgba(0, 0, 0, 0.95),
        0 0 12px rgba(0, 0, 0, 0.90);
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1600px) {

    .awards-section {
        min-height: 510px;

        background-size: cover;
    }


    .awards-content {
        height: 510px;
    }


    .awards-kicker {
        top: 43px;
        left: 5%;
    }


    .kicker-text {
        font-size: 16px;
    }


    .awards-title {
        top: 75px;
        left: 5.8%;
    }


    .title-white,
    .title-gold {
        font-size: 76px;
    }


    .awards-description {
        top: 258px;
        left: 5.9%;

        font-size: 21px;
    }


    .awards-features {
        bottom: 43px;
        left: 5.5%;
    }
}


/* =========================================================
   TABLET / SMALL DESKTOP
   ========================================================= */

@media (min-width: 768px) and (max-width: 1199px) {

    .awards-section {
        min-height: 430px;

        background-size: cover;
    }


    .awards-content {
        height: 430px;
    }


    .awards-kicker {
        top: 30px;
        left: 5%;
    }


    .kicker-text {
        font-size: 12px;
        letter-spacing: 3px;
    }


    .kicker-line {
        width: 25px;
        height: 2px;
    }


    .awards-title {
        top: 60px;
        left: 5%;

        width: 430px;
    }


    .title-white,
    .title-gold {
        font-size: 56px;
    }


    .awards-description {
        top: 190px;
        left: 5%;

        width: 420px;

        font-size: 17px;
    }


    .awards-features {
        left: 5%;
        bottom: 30px;

        width: 600px;
    }


    .award-icon {
        width: 55px;
        height: 55px;

        flex-basis: 55px;

        font-size: 23px;
    }


    .award-feature-text {
        font-size: 12px;
    }


    .award-feature:not(:last-child)::after {
        height: 42px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .awards-section {
        position: relative;

        width: 100%;

        min-height: 0;
        height: auto;

        background-image: url("../img/awards-mobile.png");

        background-repeat: no-repeat;

        background-position: center top;

        background-size: 100% auto;

        aspect-ratio: 1024 / 1536;

        overflow: hidden;
    }


    /*
    |--------------------------------------------------------------------------
    | Mobile contrast layer
    |--------------------------------------------------------------------------
    */

    .awards-section::before {
        content: "";

        position: absolute;
        inset: 0;

        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.30) 0%,
                rgba(0, 0, 0, 0.04) 32%,
                rgba(0, 0, 0, 0.00) 58%,
                rgba(0, 0, 0, 0.24) 82%,
                rgba(0, 0, 0, 0.40) 100%
            );

        z-index: 1;

        pointer-events: none;
    }


    .awards-content {
        width: 100%;
        height: 100%;
        min-height: 0;

        position: relative;

        z-index: 2;
    }


    /* =====================================================
       MOBILE KICKER
       ===================================================== */

    .awards-kicker {
        top: 5.2%;

        left: 6.8%;
        right: 6.8%;

        width: auto;

        justify-content: center;

        gap: 10px;

        z-index: 10;
    }


    .kicker-line {
        width: 38px;
        height: 2px;

        flex-shrink: 0;

        box-shadow:
            0 2px 5px rgba(0, 0, 0, 0.80);
    }


    .kicker-text {
        font-size: 11px;

        letter-spacing: 2.8px;

        line-height: 1;

        text-align: center;

        text-shadow:
            0 2px 2px rgba(0, 0, 0, 1),
            0 3px 7px rgba(0, 0, 0, 1),
            0 0 12px rgba(0, 0, 0, 0.95);
    }


    /* =====================================================
       MOBILE TITLE
       ===================================================== */

    .awards-title {
        top: 8.9%;

        left: 6.8%;

        width: 86.4%;

        text-align: left;

        z-index: 10;

        filter: drop-shadow(
            0 4px 7px rgba(0, 0, 0, 0.55)
        );
    }


    .title-white,
    .title-gold {
        font-size: clamp(40px, 10vw, 62px);

        line-height: 0.92;
    }


    .title-white {
        text-shadow:
            0 2px 0 rgba(0, 0, 0, 1),
            0 4px 6px rgba(0, 0, 0, 1),
            0 6px 13px rgba(0, 0, 0, 0.95),
            0 0 18px rgba(0, 0, 0, 0.85);
    }


    .title-gold {
        text-shadow:
            0 2px 0 rgba(0, 0, 0, 1),
            0 4px 6px rgba(0, 0, 0, 1),
            0 6px 13px rgba(0, 0, 0, 0.95),
            0 0 18px rgba(0, 0, 0, 0.85);
    }


    /* =====================================================
       MOBILE DESCRIPTION
       ===================================================== */

    .awards-description {
        top: 24.2%;

        left: 6.8%;

        width: 78%;

        font-size: clamp(14px, 2.7vw, 19px);

        font-weight: 500;

        line-height: 1.42;

        z-index: 10;

        text-shadow:
            0 2px 2px rgba(0, 0, 0, 1),
            0 3px 5px rgba(0, 0, 0, 1),
            0 5px 10px rgba(0, 0, 0, 0.95),
            0 0 15px rgba(0, 0, 0, 0.90);
    }


    .awards-description::before {
        left: -12px;
        top: -10px;

        width: calc(100% + 24px);
        height: calc(100% + 20px);

        background: linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.40),
            rgba(0, 0, 0, 0.12),
            rgba(0, 0, 0, 0)
        );
    }


    /* =====================================================
       MOBILE FEATURES
       ===================================================== */

    .awards-features {
        left: 4%;

        right: 4%;

        bottom: 4.2%;

        width: auto;

        display: grid;

        grid-template-columns: repeat(4, 1fr);

        gap: 0;

        align-items: start;

        justify-content: stretch;

        z-index: 10;
    }


    .award-feature {
        min-width: 0;

        width: 100%;

        flex-direction: column;

        align-items: center;

        justify-content: flex-start;

        text-align: center;

        gap: 10px;

        padding: 0 5px;
    }


    /* =====================================================
       MOBILE SEPARATOR
       ===================================================== */

    .award-feature:not(:last-child)::after {
        right: 0;

        top: 4px;

        height: 75px;

        width: 1px;

        background: rgba(245, 201, 79, 0.95);

        box-shadow:
            0 0 5px rgba(0, 0, 0, 0.90);
    }


    /* =====================================================
       MOBILE ICON
       ===================================================== */

    .award-icon {
        width: 58px;

        height: 58px;

        flex: 0 0 58px;

        border-width: 2px;

        font-size: 25px;

        background: rgba(0, 0, 0, 0.20);

        box-shadow:
            0 3px 8px rgba(0, 0, 0, 0.80),
            inset 0 0 8px rgba(0, 0, 0, 0.20),
            0 0 10px rgba(245, 201, 79, 0.30);
    }


    /* =====================================================
       MOBILE FEATURE TEXT
       ===================================================== */

    .award-feature-text {
        font-size: clamp(10px, 2.3vw, 16px);

        line-height: 1.25;

        white-space: normal;

        font-weight: 700;

        color: #ffffff;

        text-shadow:
            0 2px 2px rgba(0, 0, 0, 1),
            0 3px 5px rgba(0, 0, 0, 1),
            0 5px 10px rgba(0, 0, 0, 0.95),
            0 0 12px rgba(0, 0, 0, 0.90);
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    .awards-kicker {
        top: 5.1%;

        gap: 7px;
    }


    .kicker-line {
        width: 25px;

        height: 2px;
    }


    .kicker-text {
        font-size: 9px;

        letter-spacing: 2px;
    }


    .awards-title {
        top: 9.1%;

        left: 7%;
    }


    .title-white,
    .title-gold {
        font-size: clamp(36px, 10vw, 52px);
    }


    .awards-description {
        top: 23.8%;

        left: 7%;

        width: 76%;

        font-size: 13px;

        line-height: 1.45;
    }


    .awards-features {
        left: 4%;

        right: 4%;

        bottom: 4.3%;
    }


    .award-feature {
        padding: 0 3px;

        gap: 7px;
    }


    .award-feature:not(:last-child)::after {
        height: 58px;
    }


    .award-icon {
        width: 50px;

        height: 50px;

        flex-basis: 50px;

        border-width: 2px;

        font-size: 22px;
    }


    .award-feature-text {
        font-size: 9.5px;

        line-height: 1.25;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .awards-kicker {
        top: 5.1%;
        gap: 5px;
    }


    .kicker-text {
        font-size: 7.5px;

        letter-spacing: 1.6px;
    }


    .kicker-line {
        width: 20px;
    }


    .awards-title {
        top: 9.3%;
    }


    .title-white,
    .title-gold {
        font-size: 33px;
    }


    .awards-description {
        top: 23.5%;

        font-size: 11px;

        line-height: 1.45;
    }


    .award-icon {
        width: 44px;

        height: 44px;

        flex-basis: 44px;

        font-size: 19px;
    }


    .award-feature {
        gap: 6px;
    }


    .award-feature-text {
        font-size: 8px;

        line-height: 1.2;
    }


    .award-feature:not(:last-child)::after {
        height: 52px;
    }
}