:root {
    --color-black: #000;
    --color-white: #fff;
    --color-blue: #364570;
    --color-blue-dark: #000;
    --color-blue-light-1: #5e6a8d;
    --color-blue-light-2: #ebecf1;
    --color-blue-light-3: #f5f6f8;
    --color-grey-6: #666;
    --color-grey-4: #404040;
    --color-error: #c00;
    --width-container: clamp(107.5rem, 104.466rem + 12.945vw, 120rem);
    --width-container-narrow: clamp(53.75rem, 44.7998rem + 38.1877vw, 90.625rem);
    --padding-container: clamp(1.25rem, -.267rem + 6.4725vw, 7.5rem);
    --padding-gap-small: .625rem;
    --padding-gap-smaller: 1.25rem;
    --padding-gap: clamp(1.25rem, 1.0983rem + .6472vw, 1.875rem);
    --padding-gap-medium: clamp(1.875rem, 1.4199rem + 1.9417vw, 3.75rem);
    --padding-gap-large: clamp(3.75rem, 2.8398rem + 3.8835vw, 7.5rem);
    --image-border-radius: 1.875rem;
    --card-border-radius: 1.875rem;
    --font-family-base: Neue Kabel, sans-serif;
    --font-size-base: 1.125rem;
    --line-height-base: 1.33;
    --font-size-small: 1rem;
    --line-height-small: 1.2
}

.h1,
h1 {
    font-size: clamp(1.875rem, 1.5716rem + 1.2945vw, 3.125rem);
    line-height: 1
}

.h1.bigger,
h1.bigger {
    font-size: clamp(2.1875rem, 1.7324rem + 1.9417vw, 4.0625rem);
    line-height: 1
}

.h2,
h2 {
    font-size: clamp(1.5625rem, 1.4108rem + .6472vw, 2.1875rem);
    line-height: 1.1
}

.h3,
h3 {
    font-size: clamp(1.25rem, 1.0983rem + .6472vw, 1.875rem);
    line-height: 1.2
}

.h4,
.h5,
h4,
h5 {
    font-size: clamp(1.125rem, 1.0643rem + .2589vw, 1.375rem);
    line-height: 1.2
}

ol,
p,
ul {
    font-family: var(--font-family-base)
}

.uc {
    text-transform: uppercase
}

strong {
    font-weight: 600
}

.button {
    background: var(--color-blue);
    border: .0625rem solid var(--color-blue);
    border-radius: 1.5rem;
    color: var(--color-white);
    display: inline-block;
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    font-weight: 500;
    line-height: var(--line-height-base);
    padding: clamp(.5rem, .4393rem + .2589vw, .75rem) clamp(1rem, .8786rem + .5178vw, 1.5rem);
    transition: color .3s ease, background-color .3s ease, border .3s ease
}

.button.active,
.button:focus-visible {
    background-color: var(--color-blue-dark);
    color: var(--color-white)
}

@media (hover: hover) and (pointer: fine) {
    .button:hover {
        background-color: var(--color-blue-dark);
        color: var(--color-white)
    }
}

@media print {
    .map {
        display: none
    }
}

.map-popup .h1:not(:last-child),
.map-popup .h2:not(:last-child),
.map-popup .h3:not(:last-child),
.map-popup .h4:not(:last-child),
.map-popup .h5:not(:last-child),
.map-popup .h6:not(:last-child),
.map-popup h1:not(:last-child),
.map-popup h2:not(:last-child),
.map-popup h3:not(:last-child),
.map-popup h4:not(:last-child),
.map-popup h5:not(:last-child),
.map-popup h6:not(:last-child) {
    margin-bottom: var(--padding-gap-small)
}

.map-container {
    container-type: inline-size;
    position: relative
}

.map-container-frame {
    aspect-ratio: 1/2;
    position: relative
}

@container (min-width: 576px) {
    .map-container-frame {
        aspect-ratio: 1/1.25
    }
}

@container (min-width: 768px) {
    .map-container-frame {
        aspect-ratio: 16/9
    }
}

.map-container-frame.leaflet-container {
    color: var(--color-grey-4) !important;
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base) !important
}

.map-container-frame.leaflet-container a {
    color: var(--color-blue) !important;
}

.map-container-frame .leaflet-control-layers {
    border: .0625rem solid var(--color-blue) !important
}

.map-container-frame .leaflet-control-layers-expanded {
    color: var(--color-grey-4) !important;
    padding: clamp(.5rem, .4393rem + .2589vw, .75rem) !important
}

.map-container-frame .leaflet-control-layers-list {
    border-top: none;
    padding: 0
}

.map-container-frame .leaflet-control-layers-list .leaflet-control-layers-selector {
    width: auto
}

.map-container-frame .leaflet-control-layers-separator {
    border-top: .0625rem solid var(--color-blue) !important;
    margin: clamp(.5rem, .4393rem + .2589vw, .75rem) 0 !important
}

.map-container-frame .leaflet-control-layers label {
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base) !important
}

.map-container-frame .leaflet-control-attribution {
    color: var(--color-grey-4) !important;
    font-size: var(--font-size-small) !important
}

.map-container-frame .leaflet-popup-content-wrapper {
    color: var(--color-grey-4) !important;
    font-family: var(--font-family-base) !important
}

.map-container-frame .leaflet-popup-content {
    color: var(--color-grey-4) !important;
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base) !important
}

.map-container-info {
    bottom: 4.1875rem;
    color: var(--color-white);
    display: none;
    /* left: .625rem; */
    left: 40%;
    overflow: hidden;
    padding: .625rem;
    pointer-events: none;
    position: absolute;
    z-index: 1000;
}

@container (min-width: 768px) {
    .map-container-info {
        bottom: auto;
        /* left: 4rem; */
        padding: .75rem;
        top: 0;
    }
}

.map-container-info-button {
    background-color: var(--color-blue-light-1);
    border: none;
    color: var(--color-white) !important;
/*
    margin-left: -3rem;
    order: 2;
    padding-left: calc(3rem + clamp(.5rem, .4393rem + .2589vw, .75rem))
*/
}

.map-container-info .icon-info {
    align-items: center;
    border-radius: 1.5rem;
    color: var(--color-white);
    display: flex;
    font-size: var(--font-size-base);
    justify-content: center;
    order: 1;
    position: relative;
    width: 3rem
}

.map-container-e-control-info {
    bottom: 1.6875rem;
    display: none;
    position: absolute;
    right: .625rem;
    z-index: 999
}

.map-container-e-control-info img {
    display: inline-block;
    max-width: 6.25rem
}
