﻿.animated-hero {
    position: relative;
}

    .animated-hero::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 15%);
    }

.brand-region {
    position: relative;
    overflow: clip;
}

    .brand-region .brand-region-selector {
        display: grid;
        gap: var(--space-3xs);
    }

        .brand-region .brand-region-selector .arrow-cta {
            cursor: pointer;
            font-size: var(--step-2);
            font-weight: 500;
            text-wrap: pretty;
            line-height: 1.15;
            transition: all 0.15s ease;
        }

            .brand-region .brand-region-selector .arrow-cta::after {
                opacity: 0;
                transform: translateX(-15%);
                font-size: var(--step-7);
            }

            .brand-region .brand-region-selector .arrow-cta:hover::after {
                opacity: 1;
                transform: initial;
            }

            .brand-region .brand-region-selector .arrow-cta.selected {
                color: var(--ihh-secondary-light-purple);
            }

                .brand-region .brand-region-selector .arrow-cta.selected::after {
                    opacity: 1;
                    transform: initial;
                    color: var(--ihh-secondary-light-purple) !important;
                }

@media screen and (width < 768px) {
    .brand-region .brand-region-selector {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-3xs);
        margin-bottom: var(--space-m);
    }

        .brand-region .brand-region-selector .arrow-cta {
            background-color: #be99db;
            color: white !important;
            font-size: var(--step-0);
            text-align: center;
            justify-content: center;
            font-weight: bold;
            padding: var(--space-xs) var(--space-xs);
            border-radius: 0.5rem;
        }

            .brand-region .brand-region-selector .arrow-cta::after {
                display: none !important;
            }

            .brand-region .brand-region-selector .arrow-cta.selected {
                background-color: var(--ihh-secondary-purple);
            }
}

.brand-region:has(.region-list.open)::before {
    opacity: 0.35;
    transition: opacity 0.15s ease, transform 1s ease;
    transform: translateY(0%);
}

@media screen and (width >= 768px) {
    .brand-region {
        min-height: 22rem;
    }
}

.brand-region .brand-region-selector-details {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    position: relative;
}

@media screen and (width >= 768px) {
    .brand-region .brand-region-selector-details {
        align-items: center;
        padding-left: var(--space-xs);
    }
}

.brand-region .brand-list {
    grid-column: 1;
    grid-row: 1;
    --column-count: 4;
    display: grid;
    grid-template-columns: repeat(var(--column-count), 1fr);
    grid-auto-rows: minmax(min-content, max-content);
    gap: var(--space-2xs);
    opacity: 0;
    pointer-events: none;
    transition: all 0.25s ease;
}

@media screen and (width < 992px) {
    .brand-region .brand-list {
        --column-count: 2;
    }
}

@media screen and (width < 576px) {
    .brand-region .brand-list {
        --column-count: 2;
    }
}

.brand-region .brand-list .brand-item {
    border: 1px solid #f8f8f8;
    box-shadow: 0 3px 4px 1px rgba(0, 0, 0, 0.08);
    border-radius: 0.5rem;
    overflow: clip;
    padding: var(--space-s) var(--space-xl);
    min-width: 0;
    min-height: 0;
    max-height: fit-content;
    background-color: white;
    transition: all 0.25s ease;
    position: relative;
    z-index: 1;
}

@media screen and (width < 576px) {
    .brand-region .brand-list .brand-item {
        padding: var(--space-2xs) var(--space-xs);
    }
}

.brand-region .brand-list .brand-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    min-height: 3rem;
}

.brand-region .brand-list .brand-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 7px 1px rgba(0, 0, 0, 0.08);
    z-index: 5;
}

.brand-region .brand-list.open {
    opacity: 1;
    pointer-events: all;
}

.brand-region .region-list {
    grid-column: 1;
    grid-row: 1;
    --column-count: 4;
    display: grid;
    grid-template-columns: repeat(var(--column-count), 1fr);
    grid-auto-rows: minmax(min-content, max-content);
    gap: var(--space-m);
    opacity: 0;
    pointer-events: none;
    transition: all 0.25s ease;
    position: relative;
}

@media screen and (width < 992px) {
    .brand-region .region-list {
        --column-count: 3;
    }
}

@media screen and (width < 768px) {
    .brand-region .region-list {
        --column-count: 2;
    }
}

.brand-region .region-list .region-item {
    text-decoration: none;
    color: inherit;
    font-weight: 500;
}

    .brand-region .region-list .region-item:hover {
        color: var(--ihh-secondary-light-purple);
    }

.brand-region .region-list.open {
    opacity: 1;
    pointer-events: all;
}

.our-story {
    background-color: #2F5954;
}

.we-care-for-good {
    contain: layout;
    background-color: #bdd3cc;
}

    .we-care-for-good::before {
        display: inline-block;
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        max-width: 1920px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: url("/assets/f7740df0253df82ddbf3b918fbe3466d.png");
        z-index: 0;
        background-position: top;
        background-size: cover;
    }

@media screen and (width < 768px) {
    .we-care-for-good::before {
        display: none;
    }
}

.we-care-for-good > * {
    position: relative;
    z-index: 1;
}

.opportunities {
    background-color: #dfdaed;
}

.circle-landing {
    position: relative;
    overflow: hidden;
}

    .circle-landing .circle-item {
        display: flex;
        align-items: center;
        --circle-color: white;
        --number-color: white;
        margin-left: calc(var(--step-8) * 1);
        position: relative;
    }

@media screen and (width < 576px) {
    .circle-landing .circle-item {
        margin-left: calc(var(--step-10) * 1.25);
    }
}

.circle-landing .circle-item .circle-item-number {
    font-size: calc(var(--step-10) * 2.5);
    font-weight: 300;
    margin-right: var(--space-s);
    color: var(--number-color);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 100%;
}

.circle-landing .circle-item .circle-item-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 var(--space-m) 0 var(--space-l);
    height: 14rem;
    aspect-ratio: 1;
    position: relative;
}

    .circle-landing .circle-item .circle-item-body > * {
        width: fit-content;
        position: relative;
    }

@media screen and (width < 576px) {
    .circle-landing .circle-item .circle-item-body {
        height: auto;
        aspect-ratio: auto;
    }
}

.circle-landing .circle-item .circle-item-body::before {
    content: "";
    position: absolute;
    aspect-ratio: 1;
    background-color: none;
    height: 100%;
    border-radius: 20px;
    bottom: 50%;
    left: 50%;
    transform: translateY(50%) translateX(-50%);
    z-index: -1;
}

@media screen and (width < 576px) {
    .circle-landing .circle-item .circle-item-body::before {
        display: none;
    }
}

.circle-landing .circle-item .circle-item-icon {
    height: 3.5rem;
    margin-bottom: var(--space-3xs);
    max-width: 4.5rem;
    object-position: bottom;
    width: fit-content;
}

    .circle-landing .circle-item .circle-item-icon img {
        height: 100%;
        object-fit: contain;
    }

.circle-landing .circle-item .circle-item-name {
    font-weight: 500;
    color: var(--circle-color);
    width: fit-content;
    min-width: 100px;
}

.circle-landing .circle-item-list {
    display: flex;
    justify-content: space-evenly;
}

@media screen and (width < 1400px) {
    .circle-landing .circle-item-list {
        flex-wrap: wrap;
        gap: 10px;
    }
}

@media screen and (width < 576px) {
    .circle-landing .circle-item-list {
        gap: var(--space-l);
        flex-direction: column;
        align-items: center;
    }

        .circle-landing .circle-item-list .circle-item-list:not(.blue) .circle-item {
            margin-left: calc(var(--step-10) * 2);
        }

        .circle-landing .circle-item-list .circle-item-body {
            align-items: start;
            padding: 0 var(--space-m) 0 var(--space-xl);
        }

        .circle-landing .circle-item-list .circle-item-number {
            right: 110%;
        }
}

@media screen and (width < 992px) {
    .circle-landing .circle-item-list {
        padding: 0;
    }

        .circle-landing .circle-item-list > .circle-item {
            flex-basis: calc(25% - var(--space-s));
        }
}

.circle-landing .circle-item-list.blue .circle-item {
    --circle-color: white;
    --number-color: white;
    margin-left: calc(var(--step-10) * 2.5);
}

@media screen and (width < 576px) {
    .circle-landing .circle-item-list.blue .circle-item {
        margin-left: calc(var(--step-10) * 2.5);
    }
}

@media screen and (width < 576px) {
    .landing-specialty-list .fstep-10 {
        font-size: var(--step-8);
    }
}

.landing-map .map-desktop-wrapper {
    padding-left: 12.25rem;
}

@media screen and (width < 992px) {
    .landing-map .map-desktop-wrapper {
        display: none;
    }
}

.landing-map .map {
    position: relative;
}

.landing-map .point {
    position: absolute;
    display: flex;
    align-items: center;
    --color: var(--ihh-secondary-purple);
    text-decoration: none;
}

    .landing-map .point img {
        width: 0.75rem;
        object-fit: contain;
    }

    .landing-map .point .point-text {
        background-color: white;
        padding: 0.15rem 0.5rem;
        border-radius: 0.4rem;
        font-weight: 600;
        color: var(--color);
        position: absolute;
        margin-left: 8px;
        align-items: center;
        display: flex;
        gap: 0.25rem;
        left: 100%;
        font-size: var(--step--2);
        line-height: 1.15;
        text-decoration: none;
        white-space: nowrap;
    }

        .landing-map .point .point-text::before {
            content: "";
            display: inline-block;
            position: absolute;
            width: 10px;
            height: 10px;
            background: linear-gradient(45deg, rgb(255, 255, 255) 55%, rgba(255, 255, 255, 0) 55%);
            top: 50%;
            left: -5px;
            transform: translateY(-50%) scaleY(0.8) rotate(45deg);
        }

        .landing-map .point .point-text::after {
            content: "\f135";
            font-family: "bootstrap-icons";
            transform: scale(1.5) rotate(-45deg);
            display: inline-block;
            font-weight: 400;
            line-height: 1;
            margin-right: -4px;
        }

        .landing-map .point .point-text:hover {
            color: white;
            background-color: var(--color);
        }

            .landing-map .point .point-text:hover::before {
                background: linear-gradient(45deg, var(--color) 55%, rgba(255, 255, 255, 0) 55%);
            }

    .landing-map .point.left .point-text {
        left: unset;
        right: 100%;
        margin-left: 0;
        margin-right: 8px;
    }

        .landing-map .point.left .point-text::before {
            left: unset;
            right: -5px;
            transform: translateY(-50%) scaleY(0.8) rotate(-135deg);
        }

    .landing-map .point.blue,
    .landing-map .point .blue {
        --color: var(--ihh-gleneagles);
    }

        .landing-map .point.blue img,
        .landing-map .point .blue img {
            filter: brightness(0) saturate(100%) invert(23%) sepia(93%) saturate(2149%) hue-rotate(175deg) brightness(95%) contrast(101%);
        }

    .landing-map .point.brown,
    .landing-map .point .brown {
        --color: #b8978a;
    }

    .landing-map .point.dark-green,
    .landing-map .point .dark-green {
        --color: #136E70;
    }

        .landing-map .point.dark-green img,
        .landing-map .point .dark-green img {
            filter: brightness(0) saturate(100%) invert(13%) sepia(82%) saturate(6351%) hue-rotate(176deg) brightness(90%) contrast(85%);
        }

    .landing-map .point.green,
    .landing-map .point .green {
        --color: #84afa1;
    }

        .landing-map .point.green img,
        .landing-map .point .green img {
            filter: brightness(0) saturate(100%) invert(71%) sepia(11%) saturate(638%) hue-rotate(109deg) brightness(92%) contrast(88%);
        }

    .landing-map .point:has(.point-text:hover) {
        z-index: 10;
    }

        .landing-map .point:has(.point-text:hover) img {
            filter: drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white);
            animation: hover 1.25s infinite ease-in-out;
        }

        .landing-map .point:has(.point-text:hover) .opening-text {
            color: white !important;
        }

        .landing-map .point:has(.point-text:hover).blue,
        .landing-map .point:has(.point-text:hover) .blue {
            --color: var(--ihh-gleneagles);
        }

            .landing-map .point:has(.point-text:hover).blue img,
            .landing-map .point:has(.point-text:hover) .blue img {
                filter: brightness(0) saturate(100%) invert(23%) sepia(93%) saturate(2149%) hue-rotate(175deg) brightness(95%) contrast(101%) drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white);
            }

        .landing-map .point:has(.point-text:hover).brown,
        .landing-map .point:has(.point-text:hover) .brown {
            --color: #b8978a;
        }

            .landing-map .point:has(.point-text:hover).brown img,
            .landing-map .point:has(.point-text:hover) .brown img {
                filter: drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white);
            }

        .landing-map .point:has(.point-text:hover).green,
        .landing-map .point:has(.point-text:hover) .green {
            --color: #84afa1;
        }

            .landing-map .point:has(.point-text:hover).green img,
            .landing-map .point:has(.point-text:hover) .green img {
                filter: brightness(0) saturate(100%) invert(71%) sepia(11%) saturate(638%) hue-rotate(109deg) brightness(92%) contrast(88%) drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white);
            }

        .landing-map .point:has(.point-text:hover).dark-green,
        .landing-map .point:has(.point-text:hover) .dark-green {
            --color: #136E70;
        }

            .landing-map .point:has(.point-text:hover).dark-green img,
            .landing-map .point:has(.point-text:hover) .dark-green img {
                filter: brightness(0) saturate(100%) invert(13%) sepia(82%) saturate(6351%) hue-rotate(176deg) brightness(90%) contrast(85%) drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white);
            }

    .landing-map .point#pha, .landing-map .point#php, .landing-map .point#phsp {
        z-index: auto !important;
    }

        .landing-map .point#pha img, .landing-map .point#php img, .landing-map .point#phsp img {
            filter: none !important;
            animation: none !important;
        }

        .landing-map .point.hover, .landing-map .point#pha.hover, .landing-map .point#php.hover, .landing-map .point#phsp.hover {
            z-index: 10 !important;
        }

            .landing-map .point.hover img, .landing-map .point#pha.hover img, .landing-map .point#php.hover img, .landing-map .point#phsp.hover img {
                filter: drop-shadow(0.5px 0px 0px white) drop-shadow(-0.5px 0px 0px white) drop-shadow(0px 0.5px 0px white) drop-shadow(0px -0.5px 0px white) !important;
                animation: hover 1.25s infinite ease-in-out !important;
            }

            .landing-map .point.hover.blue,
            .landing-map .point.hover .blue, .landing-map .point#pha.hover.blue,
            .landing-map .point#pha.hover .blue, .landing-map .point#php.hover.blue,
            .landing-map .point#php.hover .blue, .landing-map .point#phsp.hover.blue,
            .landing-map .point#phsp.hover .blue {
                --color: #317ebe;
            }

                .landing-map .point.hover.blue img,
                .landing-map .point.hover .blue img, .landing-map .point#pha.hover.blue img,
                .landing-map .point#pha.hover .blue img, .landing-map .point#php.hover.blue img,
                .landing-map .point#php.hover .blue img, .landing-map .point#phsp.hover.blue img,
                .landing-map .point#phsp.hover .blue img {
                    filter: brightness(0) saturate(100%) invert(53%) sepia(84%) saturate(3662%) hue-rotate(186deg) brightness(84%) contrast(72%) drop-shadow(0.5px 0px 0px white) drop-shadow(-0.5px 0px 0px white) drop-shadow(0px 0.5px 0px white) drop-shadow(0px -0.5px 0px white) !important;
                }

            .landing-map .point.hover.brown,
            .landing-map .point.hover .brown, .landing-map .point#pha.hover.brown,
            .landing-map .point#pha.hover .brown, .landing-map .point#php.hover.brown,
            .landing-map .point#php.hover .brown, .landing-map .point#phsp.hover.brown,
            .landing-map .point#phsp.hover .brown {
                --color: #b8978a;
            }

                .landing-map .point.hover.brown img,
                .landing-map .point.hover .brown img, .landing-map .point#pha.hover.brown img,
                .landing-map .point#pha.hover .brown img, .landing-map .point#php.hover.brown img,
                .landing-map .point#php.hover .brown img, .landing-map .point#phsp.hover.brown img,
                .landing-map .point#phsp.hover .brown img {
                    filter: drop-shadow(0.5px 0px 0px white) drop-shadow(-0.5px 0px 0px white) drop-shadow(0px 0.5px 0px white) drop-shadow(0px -0.5px 0px white) !important;
                }

            .landing-map .point.hover.green,
            .landing-map .point.hover .green, .landing-map .point#pha.hover.green,
            .landing-map .point#pha.hover .green, .landing-map .point#php.hover.green,
            .landing-map .point#php.hover .green, .landing-map .point#phsp.hover.green,
            .landing-map .point#phsp.hover .green {
                --color: #84afa1;
            }

                .landing-map .point.hover.green img,
                .landing-map .point.hover .green img, .landing-map .point#pha.hover.green img,
                .landing-map .point#pha.hover .green img, .landing-map .point#php.hover.green img,
                .landing-map .point#php.hover .green img, .landing-map .point#phsp.hover.green img,
                .landing-map .point#phsp.hover .green img {
                    filter: brightness(0) saturate(100%) invert(71%) sepia(11%) saturate(638%) hue-rotate(109deg) brightness(92%) contrast(88%) drop-shadow(0.5px 0px 0px white) drop-shadow(-0.5px 0px 0px white) drop-shadow(0px 0.5px 0px white) drop-shadow(0px -0.5px 0px white) !important;
                }

            .landing-map .point.hover.dark-green,
            .landing-map .point.hover .dark-green, .landing-map .point#pha.hover.dark-green,
            .landing-map .point#pha.hover .dark-green, .landing-map .point#php.hover.dark-green,
            .landing-map .point#php.hover .dark-green, .landing-map .point#phsp.hover.dark-green,
            .landing-map .point#phsp.hover .dark-green {
                --color: #136E70;
            }

                .landing-map .point.hover.dark-green img,
                .landing-map .point.hover .dark-green img, .landing-map .point#pha.hover.dark-green img,
                .landing-map .point#pha.hover .dark-green img, .landing-map .point#php.hover.dark-green img,
                .landing-map .point#php.hover .dark-green img, .landing-map .point#phsp.hover.dark-green img,
                .landing-map .point#phsp.hover .dark-green img {
                    filter: brightness(0) saturate(100%) invert(13%) sepia(82%) saturate(6351%) hue-rotate(176deg) brightness(90%) contrast(85%) drop-shadow(0.5px 0px 0px white) drop-shadow(-0.5px 0px 0px white) drop-shadow(0px 0.5px 0px white) drop-shadow(0px -0.5px 0px white) !important;
                }

    .landing-map .point .kl-cluster-text {
        position: absolute;
        left: 100%;
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
    }

        .landing-map .point .kl-cluster-text .point-text {
            position: relative;
            left: 0;
            width: fit-content;
        }

            .landing-map .point .kl-cluster-text .point-text:not(.center)::before {
                background: none;
                border: none;
            }

        .landing-map .point .kl-cluster-text.left {
            right: 100%;
            left: unset;
        }

            .landing-map .point .kl-cluster-text.left .point-text {
                left: unset;
                left: 0;
                margin-left: auto;
                margin-right: 8px;
            }

                .landing-map .point .kl-cluster-text.left .point-text::before {
                    left: unset;
                    right: -5px;
                    transform: translateY(-50%) scaleY(0.8) rotate(-135deg);
                }

    .landing-map .point.outline img {
        width: 17px;
    }

    .landing-map .point#phlm {
        top: 18%;
        left: 5.25%;
    }

    .landing-map .point#phsp {
        top: 18.75%;
        left: 6%;
    }

    .landing-map .point#php {
        top: 25.8%;
        left: 2.75%;
    }

    .landing-map .point#gpg {
        top: 24.5%;
        left: 2.95%;
    }

    .landing-map .point#ihpg {
        top: 24.85%;
        left: 2.85%;
    }

    .landing-map .point#phm {
        top: 42%;
        left: 6%;
    }

    .landing-map .point#phi {
        top: 37%;
        left: 8.5%;
    }

    .landing-map .point#phk {
        top: 64.5%;
        left: 11.25%;
    }

    .landing-map .point#gkl {
        top: 59.5%;
        left: 13.15%;
    }

    .landing-map .point#pha {
        top: 61%;
        left: 13.35%;
    }

    .landing-map .point#pcmc {
        top: 60.5%;
        left: 12.75%;
    }

    .landing-map .point#phkl {
        top: 61.25%;
        left: 12.15%;
    }

    .landing-map .point#phc {
        top: 63%;
        left: 13%;
    }

    .landing-map .point#phak {
        top: 79%;
        left: 18%;
    }

    .landing-map .point#phbp {
        top: 84.5%;
        left: 22%;
    }

    .landing-map .point#ghj {
        top: 90.5%;
        left: 28.5%;
    }

    .landing-map .point#tmc {
        top: 87%;
        left: 36.8%;
    }

    .landing-map .point#gkk {
        top: 15%;
        left: 81%;
    }

    .landing-map .point#gkc {
        top: 83.5%;
        left: 38%;
    }

.landing-map .map-mobile-wrapper {
    display: block;
}

@media screen and (width >= 992px) {
    .landing-map .map-mobile-wrapper {
        display: none;
    }
}

.landing-map .map-mobile-wrapper .tab-selector {
    background-color: #96cde8;
}

    .landing-map .map-mobile-wrapper .tab-selector.active {
        background-color: #317ebe;
    }

@media screen and (width < 768px) {
    .landing-map .map-mobile-wrapper .point-text {
        display: none;
    }
}

.landing-map .map-mobile-wrapper .map {
    max-width: 25rem;
    margin: auto;
}

.landing-map .map-mobile-wrapper .point img {
    width: 15px;
}

.landing-map .map-mobile-wrapper .point.outline img {
    width: 19px;
}

.landing-map .map-mobile-wrapper #phlm {
    top: 16%;
    left: 15.75%;
}

.landing-map .map-mobile-wrapper #phsp {
    top: 17%;
    left: 18%;
}

.landing-map .map-mobile-wrapper #php {
    top: 22.15%;
    left: 8.65%;
}

.landing-map .map-mobile-wrapper #gpg {
    top: 21%;
    left: 9%;
}

.landing-map .map-mobile-wrapper #ihpg {
    top: 21.5%;
    left: 8%;
}

.landing-map .map-mobile-wrapper #phm {
    top: 39%;
    left: 18%;
}

.landing-map .map-mobile-wrapper #phi {
    top: 36%;
    left: 27%;
}

.landing-map .map-mobile-wrapper #phk {
    top: 63%;
    left: 33.5%;
}

.landing-map .map-mobile-wrapper #gkl {
    top: 59.5%;
    left: 39.45%;
}

.landing-map .map-mobile-wrapper #pha {
    top: 61%;
    left: 40.05%;
}

.landing-map .map-mobile-wrapper #pcmc {
    top: 60.5%;
    left: 38.25%;
}

.landing-map .map-mobile-wrapper #phkl {
    top: 61.25%;
    left: 36.45%;
}

.landing-map .map-mobile-wrapper #phc {
    top: 63%;
    left: 39%;
}

.landing-map .map-mobile-wrapper #phak {
    top: 77.5%;
    left: 53.5%;
}

.landing-map .map-mobile-wrapper #phbp {
    top: 84.5%;
    left: 66%;
}

.landing-map .map-mobile-wrapper #ghj {
    top: 90.5%;
    left: 85.5%;
}

.landing-map .map-mobile-wrapper #tmc {
    top: 84.5%;
    left: 4.5%;
}

.landing-map .map-mobile-wrapper #gkc {
    top: 82%;
    left: 7.5%;
}

.landing-map .map-mobile-wrapper #gkk {
    top: 10%;
    left: 70%;
}

.landing-map .map-mobile-wrapper .select-circle {
    position: absolute;
    display: inline-block;
    width: 20%;
    aspect-ratio: 1;
    border: 1px solid rgba(167, 123, 202, 0.5);
    border-radius: 50%;
    top: 14.5%;
    left: 7%;
    z-index: 5;
    cursor: pointer;
}

@media screen and (width >= 768px) {
    .landing-map .map-mobile-wrapper .select-circle {
        display: none;
    }
}

.landing-map .map-mobile-wrapper .select-circle::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid rgb(167, 123, 202);
    border-radius: 50%;
    animation: pulsing 2.5s infinite ease;
    pointer-events: none;
}

.landing-map .map-mobile-wrapper .select-circle#circle2 {
    width: 17%;
    top: 33.5%;
    left: 16%;
}

.landing-map .map-mobile-wrapper .select-circle#circle3 {
    width: 17%;
    top: 57%;
    left: 31%;
}

.landing-map .map-mobile-wrapper .select-circle#circle4 {
    width: 21%;
    top: 75%;
    left: 52%;
}

.landing-map .map-mobile-wrapper .select-circle#circle5 {
    width: 15%;
    top: 87.5%;
    left: 80%;
}

.landing-map .map-mobile-wrapper .select-circle#circle6 {
    width: 15%;
    top: 77%;
    left: 0;
}

.landing-map .map-mobile-wrapper .select-circle#circle7 {
    width: 15%;
    top: 4%;
    left: 64.5%;
}

.landing-map .map-mobile-wrapper .select-dialog {
    position: absolute;
    background-color: white;
    width: fit-content;
    padding: var(--space-s);
    padding-top: var(--space-3xs);
    border-radius: 1rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
    z-index: 6;
    pointer-events: none;
    opacity: 0;
    max-width: 100%;
    transition: all 0.25s ease;
}

    .landing-map .map-mobile-wrapper .select-dialog.show {
        pointer-events: all;
        opacity: 1;
    }

    .landing-map .map-mobile-wrapper .select-dialog .close-dialog {
        cursor: pointer;
    }

    .landing-map .map-mobile-wrapper .select-dialog .point-text {
        --color: #a77baa;
        background-color: white;
        border: 1px solid var(--color);
        padding: 0.5rem 0.75rem;
        border-radius: 0.4rem;
        font-weight: 600;
        color: var(--color);
        width: fit-content;
        align-items: center;
        display: flex;
        gap: 0.25rem;
        left: 100%;
        font-size: var(--step--1);
        line-height: 1.15;
        text-decoration: none;
        white-space: nowrap;
    }

        .landing-map .map-mobile-wrapper .select-dialog .point-text::after {
            content: "\f135";
            font-family: "bootstrap-icons";
            transform: scale(1.5) rotate(-45deg);
            display: inline-block;
            font-weight: 400;
            line-height: 1;
            margin-right: -4px;
        }

        .landing-map .map-mobile-wrapper .select-dialog .point-text:hover {
            color: white;
            background-color: var(--color);
        }

        .landing-map .map-mobile-wrapper .select-dialog .point-text.blue,
        .landing-map .map-mobile-wrapper .select-dialog .point-text .blue {
            --color: #317ebe;
        }

            .landing-map .map-mobile-wrapper .select-dialog .point-text.blue img,
            .landing-map .map-mobile-wrapper .select-dialog .point-text .blue img {
                filter: brightness(0) saturate(100%) invert(53%) sepia(84%) saturate(3662%) hue-rotate(186deg) brightness(84%) contrast(72%);
            }

        .landing-map .map-mobile-wrapper .select-dialog .point-text.brown,
        .landing-map .map-mobile-wrapper .select-dialog .point-text .brown {
            --color: #b8978a;
        }

        .landing-map .map-mobile-wrapper .select-dialog .point-text.green,
        .landing-map .map-mobile-wrapper .select-dialog .point-text .green {
            --color: #84afa1;
        }

            .landing-map .map-mobile-wrapper .select-dialog .point-text.green img,
            .landing-map .map-mobile-wrapper .select-dialog .point-text .green img {
                filter: brightness(0) saturate(100%) invert(71%) sepia(11%) saturate(638%) hue-rotate(109deg) brightness(92%) contrast(88%);
            }

        .landing-map .map-mobile-wrapper .select-dialog .point-text.dark-green,
        .landing-map .map-mobile-wrapper .select-dialog .point-text .dark-green {
            --color: #136E70;
        }

            .landing-map .map-mobile-wrapper .select-dialog .point-text.dark-green img,
            .landing-map .map-mobile-wrapper .select-dialog .point-text .dark-green img {
                filter: brightness(0) saturate(100%) invert(13%) sepia(82%) saturate(6351%) hue-rotate(176deg) brightness(90%) contrast(85%);
            }

    .landing-map .map-mobile-wrapper .select-dialog#dialog1 {
        top: 30%;
        left: 10%;
        transform-origin: 10% 0%;
    }

    .landing-map .map-mobile-wrapper .select-dialog#dialog2 {
        top: 47.5%;
        left: 10%;
        transform-origin: 15% 0%;
    }

    .landing-map .map-mobile-wrapper .select-dialog#dialog3 {
        top: 10%;
        left: 2.5%;
        transform-origin: 40% 67%;
    }

    .landing-map .map-mobile-wrapper .select-dialog#dialog4 {
        bottom: 25%;
        left: 10%;
        transform-origin: 65% 100%;
    }

    .landing-map .map-mobile-wrapper .select-dialog#dialog5 {
        bottom: 12.5%;
        left: 20%;
        transform-origin: 90% 100%;
    }

    .landing-map .map-mobile-wrapper .select-dialog#dialog6 {
        top: 95%;
        left: 10%;
        transform-origin: 0% 0%;
    }

    .landing-map .map-mobile-wrapper .select-dialog#dialog7 {
        top: 25%;
        left: 5%;
        transform-origin: 75% 0%;
    }

@keyframes pulsing {
    0% {
        transform: scale(100%);
        opacity: 100%;
    }

    50% {
        transform: scale(175%);
        opacity: 0%;
    }

    100% {
        transform: scale(175%);
        opacity: 0%;
    }
}

@keyframes hover {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20%);
    }
}

.greenish {
    top: -58%;
}

    .greenish::after {
        content: "" !important;
    }

.opening-text {
    color: #d51717 !important;
}

    .opening-text:hover {
        color: white !important;
    }

/*hero banner*/
.text-shadow {
    text-shadow: 3px 5px 7px #000000;
}

/*masthead*/
@keyframes cover {
    0% {
        top: -4.5rem;
        opacity: 0;
    }

    10% {
        opacity: 1;
        top: 0;
    }
}

@keyframes cover-bg {
    0% {
        background-size: 102%;
    }

    100% {
        background-size: 100%;
    }
}

@keyframes text {
    0% {
        opacity: 0;
        left: -15rem;
    }

    20% {
        opacity: 1;
        left: 0;
    }
}

@keyframes text2 {
    0% {
        opacity: 0;
        left: -15rem;
    }

    30% {
        opacity: 1;
        left: 0;
    }
}

@keyframes text3 {
    0% {
        opacity: 0;
        left: -15rem;
    }

    40% {
        opacity: 1;
        left: 0;
    }
}

@keyframes text4 {
    0% {
        opacity: 0;
        left: -15rem;
    }

    46% {
        opacity: 1;
        left: 0;
    }
}

@keyframes out {
    0% {
        opacity: 0;
        transform: scale(1.15);
    }

    10% {
        opacity: 1;
        transform: scale(1.15);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes in {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 1;
        transform: scale(1);
    }

    100% {
        transform: scale(1.15);
    }
}

.masthead-animate {
    position: relative;
    max-width: 1600px;
    margin: 0 auto;
    overflow: hidden;
}

    .masthead-animate img {
        display: block;
        max-width: 100%;
        height: auto;
    }

.masthead-animate__wrapper {
    position: relative;
}

.masthead-animate__slide {
    display: none;
}

    .masthead-animate__slide:first-of-type {
        display: block;
    }

.masthead-animate__entry {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
}

    .masthead-animate__entry.cover {
        position: relative;
        width: 100%;
        height: auto;
        z-index: 3;
    }

        .masthead-animate__entry.cover:before {
            position: absolute;
            width: 100%;
            height: 60%;
            bottom: 0;
            clip-path: polygon(0 3%, 100% 47%, 100% 100%, 0% 100%);
            background-color: var(--theme-dark-blue);
            content: "";
            z-index: -1;
        }

        .masthead-animate__entry.cover .cover--landscape {
            display: none;
        }

        .masthead-animate__entry.cover .cover--portrait {
            display: block;
        }

        .masthead-animate__entry.cover.cover--purple:before {
            background-color: var(--theme-dark-purple);
        }

        .masthead-animate__entry.cover.cover--blue:before {
            background-color: var(--theme-dark-blue);
        }

        .masthead-animate__entry.cover.cover--turquoise:before {
            background-color: var(--theme-turqoise);
        }

        .masthead-animate__entry.cover.cover--green:before {
            background-color: var(--theme-dark-green);
        }

    .masthead-animate__entry.img {
        width: 200%;
        left: auto;
        right: 0;
    }

    .masthead-animate__entry.text {
        display: flex;
        width: 100%;
        height: 60%;
        padding: 4.5rem 2.5rem 1.5rem;
        top: auto;
        bottom: 0;
        z-index: 4;
        color: white;
        flex-direction: column;
        justify-content: center;
        clip-path: polygon(0 0, 100% 45%, 100% 100%, 0% 100%);
        row-gap: 0.5rem;
    }

        .masthead-animate__entry.text > * {
            position: relative;
            margin: 0;
            will-change: left, opacity;
            line-height: 0.92;
        }

        .masthead-animate__entry.text h2 {
            font-size: 2.6rem;
            line-height: 0.92;
        }

        .masthead-animate__entry.text h4 {
            font-size: 1.75rem;
        }

@media (min-width: 500px) {
    .masthead-animate__entry.img {
        width: 100%;
        overflow: hidden;
    }

    .masthead-animate__entry.text {
        width: 60%;
        height: 100%;
        padding: 1.5rem 1.5rem 1.5rem 5%;
        clip-path: polygon(0 0, 50% 0, 100% 100%, 0 100%);
        color: white;
    }

    .masthead-animate__entry.cover:before {
        width: 60%;
        height: 100%;
        clip-path: polygon(0 0, 50% 0, 100% 100%, 0 100%);
    }

    .masthead-animate__entry.cover .cover--portrait {
        display: none;
    }

    .masthead-animate__entry.cover .cover--landscape {
        display: block;
    }
}

@media (min-width: 768px) {
    .masthead-animate-v2__entry.text {
        row-gap: 1rem;
    }

    .masthead-animate__entry.text h2 {
        font-size: 3.35rem;
    }

    .masthead-animate__entry.text h4 {
        font-size: 2rem;
    }
}

@media (min-width: 992px) {
    .masthead-animate__entry.text h2 {
        font-size: 3rem;
    }

    .masthead-animate__entry.text h4 {
        font-size: 2.3rem;
    }
}

@media (min-width: 1200px) {
    .masthead-animate-v2__entry.text {
        row-gap: 1.5rem;
    }

    .masthead-animate-v2__entry.text {
        padding: 1.5rem 1.5rem 1.5rem 6%;
    }

        .masthead-animate-v2__entry.text h2 {
            font-size: 4.45rem;
        }

        .masthead-animate-v2__entry.text h4 {
            font-size: 2.4rem;
        }
}

@media (min-width: 1400px) {
/*    .masthead-animate__entry.text h2 {
        font-size: 5.4rem;
    }*/

    .masthead-animate__entry.text h4 {
        font-size: 2.7rem;
    }
}

.masthead-animate__slide.slick-current .masthead-animate__entry.zoom_in {
    animation: in 7.5s ease-in-out forwards;
}

.masthead-animate__slide.slick-current .masthead-animate__entry.zoom_out {
    animation: out 7.5s ease-in-out forwards;
}

.masthead-animate__slide.slick-current .masthead-animate__entry.text > *:nth-child(4n+1) {
    animation: text 7.5s forwards;
}

.masthead-animate__slide.slick-current .masthead-animate__entry.text > *:nth-child(4n+2) {
    animation: text2 7.5s forwards;
}

.masthead-animate__slide.slick-current .masthead-animate__entry.text > *:nth-child(4n+3) {
    animation: text3 7.5s forwards;
}

.masthead-animate__slide.slick-current .masthead-animate__entry.text > *:nth-child(4n+4) {
    animation: text4 7.5s forwards;
}

.masthead-animate .slick-dots {
    position: absolute;
    left: 50%;
    bottom: 2rem;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    z-index: 2;
    width: unset;
}

.masthead-animate__arrows {
    position: absolute;
    max-width: 70rem;
    width: 100%;
    height: 4.6rem;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

    .masthead-animate__arrows .slick-arrow {
        position: absolute;
        padding: 1rem 1.25rem;
        left: 1.5rem;
        border: 0;
        border-radius: 20px;
        background: var(--ihh-primary-blue);
        height: unset;
        width: unset;
    }

    .masthead-animate__arrows .slick-prev:before, .masthead-animate__arrows .slick-next:before {
        content: none !important;
    }

    .masthead-animate__arrows .slick-arrow:after {
        position: relative;
        display: block;
        width: 1rem;
        height: 1rem;
        content: "";
        background-image: url("/images/ihhmylibraries/landing/carousel/icon-arrow-right-white.svg");
        background-size: cover;
        background-repeat: no-repeat;
    }

    .masthead-animate__arrows .slick-arrow.slick-prev:after {
        background-image: url("/images/ihhmylibraries/landing/carousel/icon-arrow-left-white.svg");
    }

    .masthead-animate__arrows .slick-arrow.slick-next {
        left: auto;
        right: 1.5rem;
    }

body.edit .masthead-animate__slide {
    height: auto;
    display: block;
}

.slick-dots {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
    align-items: center;
    justify-content: center;
}

    .slick-dots li.slick-active {
        flex: 0 0 4.5rem !important;
        background: var(--ihh-primary-blue) !important;
        height: 0.5rem !important;
        width: 3rem !important;
    }

    .slick-dots li {
        flex: 0 0 0.75rem !important;
        height: 0.5rem !important;
        width: 0.5rem !important;
        margin: 0 0.5rem !important;
        background: var(--ihh-secondary-light-blue) !important;
        border-radius: 5rem !important;
        cursor: pointer !important;
        transition: all 400ms !important;
        -webkit-transition: all 400ms !important;
        will-change: flex, background !important;
    }

        .slick-dots li button {
            display: none !important;
        }

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    outline: none;
    background: var(--theme-dark-blue) !important;
    color: white !important;
}



.co-branding-slide, .section-spacing {
    position: relative;
}

.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}
.text-wrapper {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    min-width: 0;
    display: block;
    width: 450px;
}
@media (max-width:768px){
    .masthead-animate__entry.text h2 {
        font-size: 2rem !important;
    }

    .text-wrapper {
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        min-width: 0;
        display: block;
        width: 100%;
    }
    .masthead-animate__entry.text {
        padding: 5.5rem 1.5rem 1.5rem;
    }
}



