.ce-office-locations {
    max-width: 100% !important;
    background-color: #F5F5F5;
    padding-bottom: 120px;

    & .locations-title {
        font-family: 'Hanken Grotesk', sans-serif;
        font-weight: 600;
        font-size: 40px;
        line-height: 48px;
        letter-spacing: -1.44px;
        text-align: center;
        vertical-align: middle;
        padding-top: 40px;

        @media screen and (min-width: 768px) {
            font-size: 72px;
            line-height: 90px;
        }
    }

    & .leaflet-control-container {

        & .leaflet-top.leaflet-left {
            left: auto;
            right: 16px;

            & .leaflet-control-zoom {

                & .leaflet-control-zoom-in,
                & .leaflet-control-zoom-out {
                    height: 48px;
                    width: 48px;
                    display: flex;
                    justify-content: center;
                    align-items: center;

                    & span {
                        font-size: 25px;
                        margin-top: -2px;
                        margin-left: -2px;
                    }
                }
            }
        }
    }

    & #office-locations-map {
        width: 100vw;
        height: auto;
        aspect-ratio: 5/4;
        overflow-y: hidden;
        margin: 0 auto;

        @media screen and (min-width: 1200px) {
            width: 1180px;
            height: 775px;
            aspect-ratio: unset;
        }

        & .leaflet-map-pane {

            & path {
                stroke: transparent;
                stroke-width: 1px;
                fill: #E0E1E1;

                &.active,
                &.hover {
                    stroke: #F15722;
                    fill: #fcdacf;
                }
            }
        }

        & .leaflet-control-zoom.leaflet-bar {
            border: none;

            & a {
                border-radius: 50% !important;
                text-decoration: none !important;
                margin-bottom: 8px;
                box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
            }
        }

        & .office-locations-popups {
            height: 775px;
            width: 1180px;
            position: relative;
        }

        & .leaflet-bottom.leaflet-right {
            display: none;
        }
    }

    & .mobile-locations {
        padding: 16px;

        @media screen and (min-width: 768px) {
            display: none;
        }

        & .mobile-locations-container {
            border-radius: 8px;
            background-color: #fff;
            padding: 40px 16px;
            list-style-type: none;
            box-shadow: 0px 8px 16px 0px #0000001A;
            position: relative;

            & .mobile-locations-list {
                list-style-type: none;

                &:not(.active) {
                    display: none;
                }

                & li {
                    height: 40px;
                    font-family: 'Hanken Grotesk', sans-serif;
                    font-weight: 400;
                    font-size: 16px;
                    line-height: 100%;
                    vertical-align: middle;
                    text-transform: uppercase;

                    & a {
                        color: #000;
                        text-decoration: none;
                        width: 100%;
                        height: 100%;
                        display: flex;
                        justify-content: flex-start;
                        align-items: center;
                        cursor: pointer;

                        & .title {
                            position: relative;
                            width: 100%;

                            &::after {
                                content: '';
                                position: absolute;
                                right: 5px;
                                top: 3px;
                                border: solid black;
                                border-width: 0 2px 2px 0;
                                display: inline-block;
                                padding: 3px;
                                transform: rotate(-45deg);
                                -webkit-transform: rotate(-45deg);
                            }
                        }
                    }
                }
            }

            & .mobile-locations-details-container {
                transition: all .5s;

                &:not(.active) {
                    right: -100%;
                    display: none;
                }

                & .locations-details {
                    padding: 0;
                    position: relative;
                    width: 100%;
                    top: 0;
                    right: 0;
                    border-radius: 0;
                    background-color: transparent;

                    &:not(.active) {
                        display: none;
                    }

                    & .title {
                        display: flex;
                        align-items: center;

                        & .back-button {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            height: 24px;
                            width: 24px;
                            cursor: pointer;

                            & .arrow-left {
                                border: solid black;
                                border-width: 0 2px 2px 0;
                                display: inline-block;
                                padding: 3px;
                                transform: rotate(135deg);
                                -webkit-transform: rotate(135deg);
                                margin-right: 8px;
                            }
                        }
                    }
                }
            }
        }
    }



    & .locations-details {
        position: absolute;
        top: 24px;
        right: 24px;
        width: 300px;
        border-radius: 8px;
        padding: 40px 16px;
        background-color: #fff;
        z-index: 500;
        transition: opacity .5s;

        &:not(.active) {
            display: none;
            opacity: 0;
        }

        & .title {
            font-family: 'Hanken Grotesk', sans-serif;
            font-weight: 400;
            font-size: 24px;
            line-height: 24px;
            vertical-align: middle;
            text-transform: uppercase;
        }

        & .content {
            font-family: 'Hanken Grotesk', sans-serif;
            font-weight: 400;
            font-size: 14px !important;
            line-height: 17px;
            vertical-align: middle;
        }

        & .footer {
            padding-top: 24px;
            border-top: 1px solid rgba(0, 0, 0, 0.1);
            font-family: 'Hanken Grotesk', sans-serif;
            font-weight: 400;
            font-size: 14px;
            line-height: 100%;
            vertical-align: middle;
            color: #6E695E;
            display: flex;

            & .icon {
                width: 16px;
                margin-right: 12px;
            }

        }
    }
}

.leaflet-pane {

    & .leaflet-popup {
        transform: none !important;
        right: -1150px !important;
        top: 80px !important;
        bottom: auto !important;
        left: auto !important;
        width: 300px !important;
    }
}

.browser--Chrome {

    & .leaflet-control-zoom {

        & .leaflet-control-zoom-in,
        & .leaflet-control-zoom-out {

            & span {
                margin-top: -5px;
                margin-left: -2px;
            }
        }
    }
}