.c3-maps {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    background-color: var(--e-global-color-e81e418);
    font-family: var(--e-global-typography-7efde79-font-family), sans-serif;
    font-weight: var(--e-global-typography-7efde79-font-weight);
    font-size: var(--e-global-typography-7efde79-font-size);
    color: var(--e-global-color-text);
    line-height: var(--e-global-typography-7efde79-line-height);

    --c3-maps-height: 700px;
}

.c3-maps__canvas {
    display: block;
    flex: 1;
    min-height: var(--c3-maps-height);
    position: relative;
}

.c3-maps__canvas-fallback {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    font-size: 0.8rem;
    text-align: center;
}

.c3-maps__locations {
    width: 500px;
    height: 100%;
    max-height: var(--c3-maps-height);
    padding: 30px;
    overflow: auto;
}

.c3-maps__location-entries {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 30px;
    width: 100%;
    padding: 10px;
}

.c3-maps__location-entry {
    width: calc(50% - 15px);
    cursor: pointer;
    transition: opacity 250ms ease-in-out, filter 250ms ease-in-out;
}

.c3-maps__location-entry > strong {
    color: var(--e-global-color-accent);
}

.c3-maps__location-entry-divider,
.c3-maps__location-entry-heading {
    width: 100%;
}

.c3-maps__location-entry-divider {
    border-bottom: 1px solid var(--e-global-color-7e786de);
}

.c3-maps__location-entry-heading {
    font-family: var(--e-global-typography-b9a2803-font-family), sans-serif;
    font-weight: var(--e-global-typography-b9a2803-font-weight);
    font-size: var(--e-global-typography-9ee3bda-font-size);
    line-height: var(--e-global-typography-b9a2803-line-height);
}

@media (max-width: 1024px) {
    .c3-maps__canvas {
        flex: none;
        width: 100%;
        min-height: 400px;
    }

    .c3-maps__locations {
        width: 100%;
        max-height: none;
        padding: 30px 120px;
    }
}

@media (max-width: 767px) {
    .c3-maps__canvas {
        min-height: 300px;
    }

    .c3-maps__locations {
        padding: 20px;
    }
}

@media (max-width: 520px) {
    .c3-maps__location-entries {
        display: block;
        width: 100%;
        margin: -30px 0 0 0;
    }

    .c3-maps__location-entry {
        width: 100%;
        margin: 30px 0 0 0;
    }
}

/*!*
 * Google Maps Info Window
 */
.gm-style-iw.gm-style-iw-c {
    border-radius: 0;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.125);
    padding: 0 !important;
    overflow: inherit;
}

.gm-style-iw-d {
    max-height: none !important;
    overflow: auto !important;
}

.gm-style-iw.gm-style-iw-c button {
    width: 20px !important;
    height: 20px !important;
    top: -8px !important;
    right: -8px !important;
    border-radius: 0;
    box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.125);
    background-color: #c21632 !important;
}

.gm-style-iw.gm-style-iw-c button:before {
    content: '×';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
}

.gm-style-iw.gm-style-iw-c button > span {
    display: none !important;
}

.gm-ui-hover-effect {
    opacity: 1;
}

.gm-style .gm-style-iw-t:after {
    box-shadow: none;
}

.c3-maps__info-window {
    padding: 20px;
    font-family: var(--e-global-typography-9bbc739-font-family), sans-serif;
    font-weight: var(--e-global-typography-9bbc739-font-weight);
    font-size: var(--e-global-typography-9bbc739-font-size);
    color: var(--e-global-color-text);
    line-height: var(--e-global-typography-9bbc739-line-height);
}

.c3-maps__info-window strong {
    font-weight: 600;
    color: #c21632;
}

.c3-maps__info-window p:last-child {
    margin-bottom: 0;
}