.locations.template-1 {
    width: 100%;
    max-width: 100%;
    justify-self: center;

    & .locations-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
        box-sizing: border-box;

        & .locations-menu {
            display: none;

            & .locations-menu-text {
                display: flex;
                align-items: center;

                & .locations-menu-scroll {
                    display: flex;
                    gap: 0;
                    overflow-x: hidden;
                    overflow-y: hidden;
                    white-space: nowrap;
                    flex: 1;

                    & span {
                        cursor: pointer;
                        transition: color 0.3s ease;
                    }
                }

                & .locations-menu-arrow {
                    position: relative;
                    width: 2em;
                    height: 2em;
                    background: none;
                    border: none;
                    cursor: pointer;
                    color: var(--menu-font-mobile-textColor, rgba(0, 0, 0, 1));

                    &:hover {
                        color: var(--menuItem-border-mobile-bottom-colorHover, orange);
                    }
                }

                & .locations-menu-arrow::after {
                    content: "";
                    position: absolute;
                    top: 50%;
                    width: 0.5em;
                    height: 0.5em;
                    transform: translateY(-60%);
                    border-right: 0.12em solid currentColor;
                    border-bottom: 0.12em solid currentColor;
                    pointer-events: none;
                }

                & .locations-menu-arrow.right::after {
                    right: 0.75em;
                    transform: translateY(-60%) rotate(-45deg);
                }

                & .locations-menu-arrow.left::after {
                    left: 0.75em;
                    transform: translateY(-60%) rotate(135deg);
                }

            }

            & .locations-menu-underline {
                position: relative;
                overflow: hidden;
                width: 100%;
            }

            & .locations-menu-hoverline {
                position: absolute;
                bottom: 0;
                width: 0;

                &.is-animated {
                    transition: width 0.12s ease, left 0.12s ease;
                }
            }
        }

        & .locations-MapLibre-container {
            box-sizing: border-box;

            & .locations-MapLibre {
                box-sizing: border-box;
                max-width: 100%;
            }

            & .maplibregl-marker {
                cursor: pointer;
            }
        }

        & .locations-menu-mobile {
            position: relative;
            display: block;
            box-sizing: border-box;

            & .locations-menu-mobile-select {
                width: 100%;
                appearance: none;
                -webkit-appearance: none;
                -moz-appearance: none;
            }

            &::after {
                content: "";
                position: absolute;
                right: 1.125rem;
                top: 50%;
                width: 0.5rem;
                height: 0.5rem;
                transform: translateY(-60%) rotate(45deg);
                pointer-events: none;
            }
        }

        & .locations-card-container {
            display: flex;
            box-sizing: border-box;
            overflow: hidden;

            & .locations-card {
                display: flex;
                flex-direction: column;
                overflow: visible;
                box-sizing: border-box;
                min-width: 0;

                & .card-image {
                    object-fit: cover;
                    flex: 0 0 auto;
                    max-width: 100%;
                    overflow: hidden;
                }

                & .locations-card-info {
                    overflow: visible;
                    box-sizing: border-box;
                    display: flex;
                    flex-direction: column;
                    height: 100%;
                    flex: 1;
                    min-width: 0;
                    overflow-wrap: anywhere;
                    word-break: break-word;
                    hyphens: auto;

                    & .locations-card-title-text {
                        display: block;
                    }

                    & a {
                        display: block;
                    }

                    & a:hover {
                        display: block;
                    }

                    & .locations-target-button {
                        overflow: hidden;
                        box-sizing: border-box;
                        min-width: 0;
                        max-width: 100%;
                        margin-top: auto;
                        text-decoration: none;
                        white-space: normal;
                    }

                    & .locations-days-for-mobile {
                        margin-top: 1rem;
                        display: grid;
                        grid-template-columns: 1fr 1fr;
                        box-sizing: border-box;

                        & .locations-opening-hours {
                            margin-bottom: 0;
                        }
                    }

                    & .locations-icon {
                        position: relative;
                        display: block;
                        padding-left: 1.5em;
                        text-decoration: none;
                        margin-bottom: 0.5rem;

                        &:last-child {
                            margin-bottom: 0;
                        }

                        & .material-symbols-rounded {
                            position: absolute;
                            left: 0;
                            top: .15em;
                            font-size: 1em;
                            line-height: 1;
                        }

                        & .locations-address,
                        .locations-phone,
                        .locations-email {
                            font-weight: 700;
                            text-decoration-line: underline;
                            text-decoration-thickness: 2px;
                            text-underline-offset: .2em;
                            text-decoration-color: transparent;
                        }
                    }

                    & hr {
                        margin-top: 1.25rem;
                        margin-bottom: 1.25rem;
                    }

                    & .locations-2columns {
                        display: block;
                        gap: 1rem;
                        box-sizing: border-box;

                        & .locations-access {
                            margin-bottom: 2rem;
                        }
                    }
                }
            }
        }
    }
}

.locations.template-1 {
    background: var(--section-background-mobile-color, var(--global-color-0));
    margin:
        var(--section-margin-mobile-top, 0) var(--section-margin-mobile-right, 0) var(--section-margin-mobile-bottom, 0) var(--section-margin-mobile-left, 0);
    padding:
        calc(var(--section-padding-mobile-top, 0.75) * 1rem) calc(var(--section-padding-mobile-right, 1) * 1rem) calc(var(--section-padding-mobile-bottom, 1) * 1rem) calc(var(--section-padding-mobile-left, 1) * 1rem);
    border-style:
        var(--section-border-mobile-top-style, solid) var(--section-border-mobile-right-style, solid) var(--section-border-mobile-bottom-style, solid) var(--section-border-mobile-left-style, solid);
    border-width:
        calc(var(--section-border-mobile-top-width, 0) * 1rem) calc(var(--section-border-mobile-right-width, 0) * 1rem) calc(var(--section-border-mobile-bottom-width, 0) * 1rem) calc(var(--section-border-mobile-left-width, 0) * 1rem);
    border-color:
        var(--section-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--section-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--section-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--section-border-mobile-left-color, rgba(0, 0, 0, 1));
    border-radius:
        calc(var(--section-border-mobile-left-radius, 0) * 1rem) calc(var(--section-border-mobile-top-radius, 0) * 1rem) calc(var(--section-border-mobile-right-radius, 0) * 1rem) calc(var(--section-border-mobile-bottom-radius, 0) * 1rem);

    & .locations-container {
        width: var(--section-dimensions-mobile-width, 100%);
        height: var(--section-dimensions-mobile-height, auto);

        & .locations-title {
            margin:
                var(--title-margin-mobile-top, 0) var(--title-margin-mobile-right, 0) var(--title-margin-mobile-bottom, 0) var(--title-margin-mobile-left, 0);
            padding:
                calc(var(--title-padding-mobile-top, 0) * 1rem) calc(var(--title-padding-mobile-right, 0) * 1rem) calc(var(--title-padding-mobile-bottom, 1) * 1rem) calc(var(--title-padding-mobile-left, 0) * 1rem);
            color: var(--title-font-mobile-textColor, rgba(0, 0, 0, 1));
            font-size: calc(var(--title-font-mobile-fontSize, 1.625) * 1rem);
            font-weight: var(--title-font-mobile-fontWeight, 600);
            line-height: var(--title-font-mobile-lineHeight, 1);
            text-align: var(--title-font-mobile-textAlign, start);
            font-family: var(--title-font-mobile-fontFamily, "Open Sans");
            text-transform: var(--title-font-mobile-textTransform, none);
            letter-spacing: calc(var(--title-font-mobile-letterSpacing, 0) * 1em);
        }

        & .locations-MapLibre-container {
            padding:
                calc(var(--map-padding-mobile-top, 0) * 1rem) calc(var(--map-padding-mobile-right, 0) * 1rem) calc(var(--map-padding-mobile-bottom, 0) * 1rem) calc(var(--map-padding-mobile-left, 0) * 1rem);

            & .locations-MapLibre {
                width: var(--map-dimensions-mobile-width, 100%);
                height: var(--map-dimensions-mobile-height, 21rem);
                border-style:
                    var(--map-border-mobile-top-style, solid) var(--map-border-mobile-right-style, solid) var(--map-border-mobile-bottom-style, solid) var(--map-border-mobile-left-style, solid);
                border-width:
                    calc(var(--map-border-mobile-top-width, 0) * 1rem) calc(var(--map-border-mobile-right-width, 0) * 1rem) calc(var(--map-border-mobile-bottom-width, 0) * 1rem) calc(var(--map-border-mobile-left-width, 0) * 1rem);
                border-color:
                    var(--map-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--map-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--map-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--map-border-mobile-left-color, rgba(0, 0, 0, 1));
                border-radius:
                    calc(var(--map-border-mobile-left-radius, 1) * 1rem) calc(var(--map-border-mobile-top-radius, 1) * 1rem) calc(var(--map-border-mobile-right-radius, 1) * 1rem) calc(var(--map-border-mobile-bottom-radius, 1) * 1rem);
            }
        }

        & .locations-menu-mobile {
            margin:
                var(--menuMobile-margin-mobile-top, 1.75rem) var(--menuMobile-margin-mobile-right, 0) var(--menuMobile-margin-mobile-bottom, 1) var(--menuMobile-margin-mobile-left, 0);

            & .locations-menu-mobile-select {
                background: var(--menuMobile-background-mobile-color, var(--global-color-1));
                padding:
                    calc(var(--menuMobile-padding-mobile-top, 0.75) * 1rem) calc(var(--menuMobile-padding-mobile-right, 2.5) * 1rem) calc(var(--menuMobile-padding-mobile-bottom, 0.75) * 1rem) calc(var(--menuMobile-padding-mobile-left, 1.25) * 1rem);
                border-style:
                    var(--menuMobile-border-mobile-top-style, solid) var(--menuMobile-border-mobile-right-style, solid) var(--menuMobile-border-mobile-bottom-style, solid) var(--menuMobile-border-mobile-left-style, solid);
                border-width:
                    calc(var(--menuMobile-border-mobile-top-width, 0) * 1rem) calc(var(--menuMobile-border-mobile-right-width, 0) * 1rem) calc(var(--menuMobile-border-mobile-bottom-width, 0) * 1rem) calc(var(--menuMobile-border-mobile-left-width, 0) * 1rem);
                border-color:
                    var(--menuMobile-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--menuMobile-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--menuMobile-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--menuMobile-border-mobile-left-color, rgba(0, 0, 0, 1));
                border-radius:
                    calc(var(--menuMobile-border-mobile-left-radius, 1) * 1rem) calc(var(--menuMobile-border-mobile-top-radius, 1) * 1rem) calc(var(--menuMobile-border-mobile-right-radius, 1) * 1rem) calc(var(--menuMobile-border-mobile-bottom-radius, 1) * 1rem);
                color: var(--menuMobile-font-mobile-textColor, rgba(0, 0, 0, 1));
                font-size: calc(var(--menuMobile-font-mobile-fontSize, 1) * 1rem);
                font-weight: var(--menuMobile-font-mobile-fontWeight, 400);
                line-height: var(--menuMobile-font-mobile-lineHeight, 1);
                font-family: var(--menuMobile-font-mobile-fontFamily, "Open Sans");
                text-transform: var(--menuMobile-font-mobile-textTransform, none);
                letter-spacing: calc(var(--menuMobile-font-mobile-letterSpacing, 0) * 1em);
                text-align: var(--menuMobile-font-mobile-textAlign, start);
            }

            &::after {
                border-right: 2px solid var(--menuMobile-font-mobile-textColor, rgba(0, 0, 0, 1));
                border-bottom: 2px solid var(--menuMobile-font-mobile-textColor, rgba(0, 0, 0, 1));
            }
        }

        & .locations-card-container {
            gap:
                calc(var(--sectionCards-flexbox-mobile-columnGap, 1) * 1rem) calc(var(--sectionCards-flexbox-mobile-rowGap, 1) * 1rem);
            flex-wrap: var(--sectionCards-flexbox-mobile-flexWrap, wrap);
            flex-direction: var(--sectionCards-flexbox-mobile-flexDirection, row);
            align-items: var(--sectionCards-flexbox-mobile-alignItems, stretch);
            align-content: var(--sectionCards-flexbox-mobile-alignContent, center);
            justify-self: var(--sectionCards-flexbox-mobile-justifySelf, auto);
            justify-content: var(--sectionCards-flexbox-mobile-justifyContent, flex-start);
            padding:
                calc(var(--sectionCards-padding-mobile-top, 0) * 1rem) calc(var(--sectionCards-padding-mobile-right, 0) * 1rem) calc(var(--sectionCards-padding-mobile-bottom, 0) * 1rem) calc(var(--sectionCards-padding-mobile-left, 0) * 1rem);
            border-style:
                var(--sectionCards-border-mobile-top-style, solid) var(--sectionCards-border-mobile-right-style, solid) var(--sectionCards-border-mobile-bottom-style, solid) var(--sectionCards-border-mobile-left-style, solid);
            border-width:
                calc(var(--sectionCards-border-mobile-top-width, 0) * 1rem) calc(var(--sectionCards-border-mobile-right-width, 0) * 1rem) calc(var(--sectionCards-border-mobile-bottom-width, 0) * 1rem) calc(var(--sectionCards-border-mobile-left-width, 0) * 1rem);
            border-color:
                var(--sectionCards-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--sectionCards-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--sectionCards-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--sectionCards-border-mobile-left-color, rgba(0, 0, 0, 1));
            border-radius:
                calc(var(--sectionCards-border-mobile-left-radius, 0) * 1rem) calc(var(--sectionCards-border-mobile-top-radius, 0) * 1rem) calc(var(--sectionCards-border-mobile-right-radius, 0) * 1rem) calc(var(--sectionCards-border-mobile-bottom-radius, 0) * 1rem);

            & .locations-card {
                width: var(--card-dimensions-mobile-width, 100%);
                height: var(--card-dimensions-mobile-height, auto);

                & .card-image {
                    width: var(--cardImage-dimensions-mobile-width, 100%);
                    height: var(--cardImage-dimensions-mobile-height, 7.25rem);
                    padding:
                        calc(var(--cardImage-padding-mobile-top, 0) * 1rem) calc(var(--cardImage-padding-mobile-right, 0) * 1rem) calc(var(--cardImage-padding-mobile-bottom, 0) * 1rem) calc(var(--cardImage-padding-mobile-left, 0) * 1rem);
                    border-style:
                        var(--cardImage-border-mobile-top-style, solid) var(--cardImage-border-mobile-right-style, solid) var(--cardImage-border-mobile-bottom-style, solid) var(--cardImage-border-mobile-left-style, solid);
                    border-width:
                        calc(var(--cardImage-border-mobile-top-width, 0) * 1rem) calc(var(--cardImage-border-mobile-right-width, 0) * 1rem) calc(var(--cardImage-border-mobile-bottom-width, 0) * 1rem) calc(var(--cardImage-border-mobile-left-width, 0) * 1rem);
                    border-color:
                        var(--cardImage-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-left-color, rgba(0, 0, 0, 1));
                    border-radius:
                        calc(var(--cardImage-border-mobile-left-radius, 1) * 1rem) calc(var(--cardImage-border-mobile-top-radius, 1) * 1rem) calc(var(--cardImage-border-mobile-right-radius, 0) * 1rem) calc(var(--cardImage-border-mobile-bottom-radius, 0) * 1rem);
                }

                & .locations-card-info {
                    background: var(--cardInfo-background-mobile-color, var(--global-color-1));
                    padding:
                        calc(var(--cardInfo-padding-mobile-top, 1.25) * 1rem) calc(var(--cardInfo-padding-mobile-right, 1) * 1rem) calc(var(--cardInfo-padding-mobile-bottom, 0) * 1rem) calc(var(--cardInfo-padding-mobile-left, 1) * 1rem);
                    border-style:
                        var(--cardInfo-border-mobile-top-style, solid) var(--cardInfo-border-mobile-right-style, solid) var(--cardInfo-border-mobile-bottom-style, solid) var(--cardInfo-border-mobile-left-style, solid);
                    border-width:
                        calc(var(--cardInfo-border-mobile-top-width, 0) * 1rem) calc(var(--cardInfo-border-mobile-right-width, 0) * 1rem) calc(var(--cardInfo-border-mobile-bottom-width, 0) * 1rem) calc(var(--cardInfo-border-mobile-left-width, 0) * 1rem);
                    border-color:
                        var(--cardInfo-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--cardInfo-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--cardInfo-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--cardInfo-border-mobile-left-color, rgba(0, 0, 0, 1));
                    border-radius:
                        calc(var(--cardInfo-border-mobile-left-radius, 0) * 1rem) calc(var(--cardInfo-border-mobile-top-radius, 0) * 1rem) calc(var(--cardInfo-border-mobile-right-radius, 1) * 1rem) calc(var(--cardInfo-border-mobile-bottom-radius, 1) * 1rem);
                    color: var(--cardInfo-font-mobile-textColor, rgba(0, 0, 0, 1));
                    font-size: calc(var(--cardInfo-font-mobile-fontSize, 1) * 1rem);
                    font-weight: var(--cardInfo-font-mobile-fontWeight, 400);
                    line-height: var(--cardInfo-font-mobile-lineHeight, 1.25);
                    text-align: var(--cardInfo-font-mobile-textAlign, start);
                    font-family: var(--cardInfo-font-mobile-fontFamily, "Open Sans");
                    text-transform: var(--cardInfo-font-mobile-textTransform, none);
                    letter-spacing: calc(var(--cardInfo-font-mobile-letterSpacing, 0) * 1em);

                    & .locations-card-title-text {
                        margin:
                            var(--cardTitle-margin-mobile-top, 0) var(--cardTitle-margin-mobile-right, 0) var(--cardTitle-margin-mobile-bottom, 1.25rem) var(--cardTitle-margin-mobile-left, 0);
                        color: var(--cardTitle-font-mobile-textColor, rgba(0, 0, 0, 1));
                        font-size: calc(var(--cardTitle-font-mobile-fontSize, 1.25) * 1rem);
                        font-weight: var(--cardTitle-font-mobile-fontWeight, 700);
                        line-height: var(--cardTitle-font-mobile-lineHeight, 1);
                        text-align: var(--cardTitle-font-mobile-textAlign, start);
                        font-family: var(--cardTitle-font-mobile-fontFamily, "Open Sans");
                        text-transform: var(--cardTitle-font-mobile-textTransform, none);
                        letter-spacing: calc(var(--cardTitle-font-mobile-letterSpacing, 0) * 1em);
                    }

                    & .locations-target-button {
                        width: var(--button-dimensions-mobile-width, auto);
                        height: var(--button-dimensions-mobile-height, auto);
                        padding:
                            calc(var(--button-padding-mobile-top, 0.75) * 1rem) calc(var(--button-padding-mobile-right, 0.75) * 1rem) calc(var(--button-padding-mobile-bottom, 0.75) * 1rem) calc(var(--button-padding-mobile-left, 0.75) * 1rem);
                        margin:
                            var(--button-margin-mobile-top, 0) var(--button-margin-mobile-right, 0) var(--button-margin-mobile-bottom, 1rem) var(--button-margin-mobile-left, 0);
                        margin-top: auto;
                        border-style:
                            var(--button-border-mobile-top-style, solid) var(--button-border-mobile-right-style, solid) var(--button-border-mobile-bottom-style, solid) var(--button-border-mobile-left-style, solid);
                        border-width:
                            calc(var(--button-border-mobile-top-width, 0) * 1rem) calc(var(--button-border-mobile-right-width, 0) * 1rem) calc(var(--button-border-mobile-bottom-width, 0) * 1rem) calc(var(--button-border-mobile-left-width, 0) * 1rem);
                        border-radius:
                            calc(var(--button-border-mobile-left-radius, 1) * 1rem) calc(var(--button-border-mobile-top-radius, 1) * 1rem) calc(var(--button-border-mobile-right-radius, 1) * 1rem) calc(var(--button-border-mobile-bottom-radius, 1) * 1rem);
                        font-size: calc(var(--button-font-mobile-fontSize, 1) * 1rem);
                        font-weight: var(--button-font-mobile-fontWeight, 400);
                        line-height: var(--button-font-mobile-lineHeight, 1);
                        text-align: var(--button-font-mobile-textAlign, center);
                        font-family: var(--button-font-mobile-fontFamily, "Open Sans");
                        text-transform: var(--button-font-mobile-textTransform, none);
                        letter-spacing: calc(var(--button-font-mobile-letterSpacing, 0) * 1em);

                        &:hover {
                            color: var(--colorHover) !important;
                            background: var(--backgroundHover) !important;
                            border-color: var(--borderHover) !important;
                        }
                    }

                    & .locations-icon {
                        color: var(--cardIcon-background-mobile-color, var(--global-color-2));

                        & .locations-address,
                        .locations-phone,
                        .locations-email {
                            color: var(--cardTitle-font-mobile-textColor, rgba(0, 0, 0, 1));
                        }

                        &:hover {

                            .locations-address,
                            .locations-phone,
                            .locations-email {
                                text-decoration-color: var(--cardIcon-background-mobile-color, var(--global-color-2));
                            }
                        }

                        &:focus-visible {

                            .locations-address,
                            .locations-phone,
                            .locations-email {
                                text-decoration-color: var(--cardIcon-background-mobile-color, var(--global-color-2));
                            }
                        }
                    }

                    & .locations-2columns {

                        & .locations-access-title,
                        .locations-serviceProvider-title {
                            color: var(--cardSubTitles-font-mobile-textColor, rgba(0, 0, 0, 1));
                            font-size: calc(var(--cardSubTitles-font-mobile-fontSize, 1) * 1rem);
                            font-weight: var(--cardSubTitles-font-mobile-fontWeight, 700);
                            line-height: var(--cardSubTitles-font-mobile-lineHeight, 1);
                            text-align: var(--cardSubTitles-font-mobile-textAlign, start);
                            font-family: var(--cardSubTitles-font-mobile-fontFamily, "Open Sans");
                            text-transform: var(--cardSubTitles-font-mobile-textTransform, none);
                            letter-spacing: calc(var(--cardSubTitles-font-mobile-letterSpacing, 0) * 1em);
                        }
                    }
                }
            }
        }
    }
}

@container page-container (min-width: 768px) {
    .locations.template-1 {
        & .locations-container {
            & .locations-menu-mobile {
                display: none;
            }

            & .locations-menu {
                display: block;
            }

            & .locations-card-container {
                & .locations-card {
                    & .locations-card-info {
                        & .locations-days {
                            display: grid;
                            grid-template-columns: 1fr 1fr;
                            gap: 1rem;
                            box-sizing: border-box;
                        }
                    }
                }
            }
        }
    }

    .locations.template-1 {
        margin:
            var(--section-margin-tablet-top, 0) var(--section-margin-tablet-right, 0) var(--section-margin-tablet-bottom, 0) var(--section-margin-tablet-left, 0);
        padding:
            calc(var(--section-padding-tablet-top, 3) * 1rem) calc(var(--section-padding-tablet-right, 1.5) * 1rem) calc(var(--section-padding-tablet-bottom, 3) * 1rem) calc(var(--section-padding-tablet-left, 1.5) * 1rem);
        border-width:
            calc(var(--section-border-tablet-top-width, 0) * 1rem) calc(var(--section-border-tablet-right-width, 0) * 1rem) calc(var(--section-border-tablet-bottom-width, 0) * 1rem) calc(var(--section-border-tablet-left-width, 0) * 1rem);
        border-radius:
            calc(var(--section-border-tablet-left-radius, 0) * 1rem) calc(var(--section-border-tablet-top-radius, 0) * 1rem) calc(var(--section-border-tablet-right-radius, 0) * 1rem) calc(var(--section-border-tablet-bottom-radius, 0) * 1rem);

        & .locations-container {
            width: var(--section-dimensions-tablet-width, 100%);
            height: var(--section-dimensions-tablet-height, auto);

            & .locations-title {
                margin:
                    var(--title-margin-tablet-top, 0) var(--title-margin-tablet-right, 0) var(--title-margin-tablet-bottom, 0) var(--title-margin-tablet-left, 0);
                padding:
                    calc(var(--title-padding-tablet-top, 0) * 1rem) calc(var(--title-padding-tablet-right, 0) * 1rem) calc(var(--title-padding-tablet-bottom, 1.25) * 1rem) calc(var(--title-padding-tablet-left, 0) * 1rem);
                font-size: calc(var(--title-font-tablet-fontSize, 2.875) * 1rem);
                line-height: var(--title-font-tablet-lineHeight, 1);
                text-align: var(--title-font-tablet-textAlign, start);
            }

            & .locations-MapLibre-container {
                padding:
                    calc(var(--map-padding-tablet-top, 0) * 1rem) calc(var(--map-padding-tablet-right, 0) * 1rem) calc(var(--map-padding-tablet-bottom, 0) * 1rem) calc(var(--map-padding-tablet-left, 0) * 1rem);

                & .locations-MapLibre {
                    width: var(--map-dimensions-tablet-width, 100%);
                    height: var(--map-dimensions-tablet-height, 22.5rem);
                    border-width:
                        calc(var(--map-border-tablet-top-width, 0) * 1rem) calc(var(--map-border-tablet-right-width, 0) * 1rem) calc(var(--map-border-tablet-bottom-width, 0) * 1rem) calc(var(--map-border-tablet-left-width, 0) * 1rem);
                    border-radius:
                        calc(var(--map-border-tablet-left-radius, 1) * 1rem) calc(var(--map-border-tablet-top-radius, 1) * 1rem) calc(var(--map-border-tablet-right-radius, 1) * 1rem) calc(var(--map-border-tablet-bottom-radius, 1) * 1rem);
                }
            }

            & .locations-menu {
                margin:
                    var(--menu-margin-tablet-top, 1.75rem) var(--menu-margin-tablet-right, 0) var(--menu-margin-tablet-bottom, 1.75rem) var(--menu-margin-tablet-left, 0);

                & .locations-menu-text {
                    justify-content: var(--menu-font-tablet-textAlign, start);

                    & .locations-menu-scroll {
                        gap: calc(var(--menu-flexbox-tablet-rowGap, 1.25) * 1rem);

                        & .locations-menu-item {
                            cursor: pointer;

                            & span {
                                color: var(--menu-font-mobile-textColor, rgba(0, 0, 0, 1));
                                font-size: calc(var(--menu-font-tablet-fontSize, 1.125) * 1rem);
                                font-weight: var(--menu-font-mobile-fontWeight, 500);
                                line-height: var(--menu-font-tablet-lineHeight, 1);
                                font-family: var(--menu-font-mobile-fontFamily, "Open Sans");
                                text-transform: var(--menu-font-mobile-textTransform, none);
                                letter-spacing: calc(var(--menu-font-mobile-letterSpacing, 0) * 1em);
                                background: var(--global-color-0);

                                &:hover {
                                    background: var(--menuItem-background-mobile-colorHover, var(--global-color-0));
                                    color: var(--menu-font-mobile-textColorHover, rgba(0, 0, 0, 1));
                                }
                            }

                            & span.active {
                                background: var(--menuItem-background-mobile-color, var(--global-color-2));
                            }
                        }
                    }

                    & .locations-menu-arrow {
                        font-size: calc(var(--menu-font-tablet-fontSize, 1.25) * 1rem);
                    }
                }

                & .locations-menu-underline {
                    margin-top: calc(var(--menu-flexbox-tablet-columnGap, 0.25) * 1rem);
                    height: calc(var(--menuItem-border-tablet-bottom-width, 0.125) * 1rem);
                    background: var(--menuItem-border-mobile-bottom-color, rgba(0, 0, 0, 1));
                }

                & .locations-menu-hoverline {
                    height: calc(var(--menuItem-border-tablet-bottom-width, 0.125) * 1rem);
                    background: var(--menuItem-border-mobile-bottom-colorHover, rgba(255, 165, 0, 1));
                }
            }

            & .locations-card-container {
                gap:
                    calc(var(--sectionCards-flexbox-tablet-columnGap, 1) * 1rem) calc(var(--sectionCards-flexbox-tablet-rowGap, 1) * 1rem);
                flex-wrap: var(--sectionCards-flexbox-tablet-flexWrap, wrap);
                flex-direction: var(--sectionCards-flexbox-tablet-flexDirection, row);
                align-items: var(--sectionCards-flexbox-tablet-alignItems, stretch);
                align-content: var(--sectionCards-flexbox-tablet-alignContent, center);
                justify-self: var(--sectionCards-flexbox-tablet-justifySelf, auto);
                justify-content: var(--sectionCards-flexbox-tablet-justifyContent, flex-start);
                padding:
                    calc(var(--sectionCards-padding-tablet-top, 0) * 1rem) calc(var(--sectionCards-padding-tablet-right, 0) * 1rem) calc(var(--sectionCards-padding-tablet-bottom, 0) * 1rem) calc(var(--sectionCards-padding-tablet-left, 0) * 1rem);
                border-width:
                    calc(var(--sectionCards-border-tablet-top-width, 0) * 1rem) calc(var(--sectionCards-border-tablet-right-width, 0) * 1rem) calc(var(--sectionCards-border-tablet-bottom-width, 0) * 1rem) calc(var(--sectionCards-border-tablet-left-width, 0) * 1rem);
                border-radius:
                    calc(var(--sectionCards-border-tablet-left-radius, 0) * 1rem) calc(var(--sectionCards-border-tablet-top-radius, 0) * 1rem) calc(var(--sectionCards-border-tablet-right-radius, 0) * 1rem) calc(var(--sectionCards-border-tablet-bottom-radius, 0) * 1rem);

                & .locations-card {
                    width: var(--card-dimensions-tablet-width, 49%);
                    height: var(--card-dimensions-tablet-height, auto);

                    & .card-image {
                        width: var(--cardImage-dimensions-tablet-width, 100%);
                        height: var(--cardImage-dimensions-tablet-height, 8rem);
                        padding:
                            calc(var(--cardImage-padding-tablet-top, 0) * 1rem) calc(var(--cardImage-padding-tablet-right, 0) * 1rem) calc(var(--cardImage-padding-tablet-bottom, 0) * 1rem) calc(var(--cardImage-padding-tablet-left, 0) * 1rem);
                        border-width:
                            calc(var(--cardImage-border-tablet-top-width, 0) * 1rem) calc(var(--cardImage-border-tablet-right-width, 0) * 1rem) calc(var(--cardImage-border-tablet-bottom-width, 0) * 1rem) calc(var(--cardImage-border-tablet-left-width, 0) * 1rem);
                        border-color:
                            var(--cardImage-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-left-color, rgba(0, 0, 0, 1));
                        border-radius:
                            calc(var(--cardImage-border-tablet-left-radius, 1) * 1rem) calc(var(--cardImage-border-tablet-top-radius, 1) * 1rem) calc(var(--cardImage-border-tablet-right-radius, 0) * 1rem) calc(var(--cardImage-border-tablet-bottom-radius, 0) * 1rem);
                    }

                    & .locations-card-info {
                        padding:
                            calc(var(--cardInfo-padding-tablet-top, 1.25) * 1rem) calc(var(--cardInfo-padding-tablet-right, 0.75) * 1rem) calc(var(--cardInfo-padding-tablet-bottom, 0) * 1rem) calc(var(--cardInfo-padding-tablet-left, 1) * 1rem);
                        border-width:
                            calc(var(--cardInfo-border-tablet-top-width, 0) * 1rem) calc(var(--cardInfo-border-tablet-right-width, 0) * 1rem) calc(var(--cardInfo-border-tablet-bottom-width, 0) * 1rem) calc(var(--cardInfo-border-tablet-left-width, 0) * 1rem);
                        border-radius:
                            calc(var(--cardInfo-border-tablet-left-radius, 0) * 1rem) calc(var(--cardInfo-border-tablet-top-radius, 0) * 1rem) calc(var(--cardInfo-border-tablet-right-radius, 1) * 1rem) calc(var(--cardInfo-border-tablet-bottom-radius, 1) * 1rem);
                        font-size: calc(var(--cardInfo-font-tablet-fontSize, 1) * 1rem);
                        line-height: var(--cardInfo-font-tablet-lineHeight, 1.25);
                        text-align: var(--cardInfo-font-tablet-textAlign, start);

                        & .locations-card-title-text {
                            margin:
                                var(--cardTitle-margin-tablet-top, 0) var(--cardTitle-margin-tablet-right, 0) var(--cardTitle-margin-tablet-bottom, 1.25rem) var(--cardTitle-margin-tablet-left, 0);
                            font-size: calc(var(--cardTitle-font-tablet-fontSize, 1.25) * 1rem);
                            line-height: var(--cardTitle-font-tablet-lineHeight, 1);
                            text-align: var(--cardTitle-font-tablet-textAlign, start);
                        }

                        & .locations-target-button {
                            width: var(--button-dimensions-tablet-width, auto);
                            height: var(--button-dimensions-tablet-height, auto);
                            padding:
                                calc(var(--button-padding-tablet-top, 0.75) * 1rem) calc(var(--button-padding-tablet-right, 0.75) * 1rem) calc(var(--button-padding-tablet-bottom, 0.75) * 1rem) calc(var(--button-padding-tablet-left, 0.75) * 1rem);
                            margin:
                                var(--button-margin-tablet-top, 0) var(--button-margin-tablet-right, 0) var(--button-margin-tablet-bottom, 1rem) var(--button-margin-tablet-left, 0);
                            margin-top: auto;
                            border-width:
                                calc(var(--button-border-tablet-top-width, 0) * 1rem) calc(var(--button-border-tablet-right-width, 0) * 1rem) calc(var(--button-border-tablet-bottom-width, 0) * 1rem) calc(var(--button-border-tablet-left-width, 0) * 1rem);
                            border-radius:
                                calc(var(--button-border-tablet-left-radius, 1) * 1rem) calc(var(--button-border-tablet-top-radius, 1) * 1rem) calc(var(--button-border-tablet-right-radius, 1) * 1rem) calc(var(--button-border-tablet-bottom-radius, 1) * 1rem);
                            font-size: calc(var(--button-font-tablet-fontSize, 1) * 1rem);
                            line-height: var(--button-font-tablet-lineHeight, 1);
                            text-align: var(--button-font-tablet-textAlign, center);
                            text-decoration: none;

                            &:hover {
                                color: var(--colorHover) !important;
                                background: var(--backgroundHover) !important;
                                border-color: var(--borderHover) !important;
                            }
                        }

                        & .locations-2columns {

                            & .locations-access-title,
                            .locations-serviceProvider-title {
                                font-size: calc(var(--cardSubTitles-font-tablet-fontSize, 1) * 1rem);
                                line-height: var(--cardSubTitles-font-tablet-lineHeight, 1);
                                text-align: var(--cardSubTitles-font-tablet-textAlign, start);
                            }
                        }
                    }
                }
            }
        }
    }
}

@container page-container (min-width: 992px) {
    .locations.template-1 {
        & .locations-container {
            & .locations-menu-mobile {
                display: none;
            }

            & .locations-menu {
                display: block;
            }

            & .locations-card-container {
                & .locations-card {
                    & .locations-card-info {
                        & .locations-days {
                            display: grid;
                            grid-template-columns: 1fr 1fr;
                            gap: 1rem;
                            box-sizing: border-box;
                        }

                        & .locations-days-for-mobile {
                            margin-top: 0rem;
                            display: block;

                            & .locations-opening-hours {
                                margin-bottom: revert;
                            }
                        }

                        & hr {
                            margin-top: 2rem;
                            margin-bottom: 1.5rem;
                        }

                        & .locations-2columns {
                            display: grid;
                            grid-template-columns: 1fr 1fr;
                            gap: 1rem;

                            & .locations-access {
                                margin-bottom: revert;
                            }
                        }
                    }
                }
            }
        }
    }

    .locations.template-1 {
        margin:
            var(--section-margin-desktop-top, 0) var(--section-margin-desktop-right, 0) var(--section-margin-desktop-bottom, 0) var(--section-margin-desktop-left, 0);
        padding:
            calc(var(--section-padding-desktop-top, 3.5) * 1rem) calc(var(--section-padding-desktop-right, 3.5) * 1rem) calc(var(--section-padding-desktop-bottom, 3.5) * 1rem) calc(var(--section-padding-desktop-left, 3.5) * 1rem);
        border-width:
            calc(var(--section-border-desktop-top-width, 0) * 1rem) calc(var(--section-border-desktop-right-width, 0) * 1rem) calc(var(--section-border-desktop-bottom-width, 0) * 1rem) calc(var(--section-border-desktop-left-width, 0) * 1rem);
        border-radius:
            calc(var(--section-border-desktop-left-radius, 0) * 1rem) calc(var(--section-border-desktop-top-radius, 0) * 1rem) calc(var(--section-border-desktop-right-radius, 0) * 1rem) calc(var(--section-border-desktop-bottom-radius, 0) * 1rem);

        & .locations-container {
            width: var(--section-dimensions-desktop-width, 82.5rem);
            height: var(--section-dimensions-desktop-height, auto);

            & .locations-title {
                margin:
                    var(--title-margin-desktop-top, 0) var(--title-margin-desktop-right, 0) var(--title-margin-desktop-bottom, 0) var(--title-margin-desktop-left, 0);
                padding:
                    calc(var(--title-padding-desktop-top, 1.75) * 1rem) calc(var(--title-padding-desktop-right, 0) * 1rem) calc(var(--title-padding-desktop-bottom, 1.75) * 1rem) calc(var(--title-padding-desktop-left, 0) * 1rem);
                font-size: calc(var(--title-font-desktop-fontSize, 3) * 1rem);
                line-height: var(--title-font-desktop-lineHeight, 1);
                text-align: var(--title-font-desktop-textAlign, start);
            }

            & .locations-MapLibre-container {
                padding:
                    calc(var(--map-padding-desktop-top, 0) * 1rem) calc(var(--map-padding-desktop-right, 0) * 1rem) calc(var(--map-padding-desktop-bottom, 0) * 1rem) calc(var(--map-padding-desktop-left, 0) * 1rem);

                & .locations-MapLibre {
                    width: var(--map-dimensions-desktop-width, 100%);
                    height: var(--map-dimensions-desktop-height, 21rem);
                    border-width:
                        calc(var(--map-border-desktop-top-width, 0) * 1rem) calc(var(--map-border-desktop-right-width, 0) * 1rem) calc(var(--map-border-desktop-bottom-width, 0) * 1rem) calc(var(--map-border-desktop-left-width, 0) * 1rem);
                    border-radius:
                        calc(var(--map-border-desktop-left-radius, 1) * 1rem) calc(var(--map-border-desktop-top-radius, 1) * 1rem) calc(var(--map-border-desktop-right-radius, 1) * 1rem) calc(var(--map-border-desktop-bottom-radius, 1) * 1rem);
                }
            }

            & .locations-menu {
                margin:
                    var(--menu-margin-desktop-top, 2.5rem) var(--menu-margin-desktop-right, 0) var(--menu-margin-desktop-bottom, 2.5rem) var(--menu-margin-desktop-left, 0);

                & .locations-menu-text {
                    justify-content: var(--menu-font-desktop-textAlign, start);

                    & .locations-menu-scroll {
                        gap: calc(var(--menu-flexbox-desktop-rowGap, 1.25) * 1rem);

                        & .locations-menu-item {
                            cursor: pointer;

                            & span {
                                color: var(--menu-font-mobile-textColor, rgba(0, 0, 0, 1));
                                font-size: calc(var(--menu-font-desktop-fontSize, 1.125) * 1rem);
                                font-weight: var(--menu-font-mobile-fontWeight, 500);
                                line-height: var(--menu-font-desktop-lineHeight, 1);
                                font-family: var(--menu-font-mobile-fontFamily, "Open Sans");
                                text-transform: var(--menu-font-mobile-textTransform, none);
                                letter-spacing: calc(var(--menu-font-mobile-letterSpacing, 0) * 1em);
                                background: var(--global-color-0);

                                &:hover {
                                    background: var(--menuItem-background-mobile-colorHover, var(--global-color-0));
                                    color: var(--menu-font-mobile-textColorHover, rgba(0, 0, 0, 1));
                                }
                            }

                            & span.active {
                                background: var(--menuItem-background-mobile-color, var(--global-color-2));
                            }
                        }
                    }

                    & .locations-menu-arrow {
                        font-size: calc(var(--menu-font-desktop-fontSize, 1.25) * 1rem);
                    }
                }

                & .locations-menu-underline {
                    margin-top: calc(var(--menu-flexbox-desktop-columnGap, 0.25) * 1rem);
                    height: calc(var(--menuItem-border-desktop-bottom-width, 0.175) * 1rem);
                    background: var(--menuItem-border-mobile-bottom-color, rgba(0, 0, 0, 1));
                }

                & .locations-menu-hoverline {
                    height: calc(var(--menuItem-border-desktop-bottom-width, 0.175) * 1rem);
                    background: var(--menuItem-border-mobile-bottom-colorHover, rgba(255, 165, 0, 1));
                }
            }

            & .locations-card-container {
                gap:
                    calc(var(--sectionCards-flexbox-desktop-columnGap, 1) * 1rem) calc(var(--sectionCards-flexbox-desktop-rowGap, 1) * 1rem);
                flex-wrap: var(--sectionCards-flexbox-desktop-flexWrap, wrap);
                flex-direction: var(--sectionCards-flexbox-desktop-flexDirection, row);
                align-items: var(--sectionCards-flexbox-desktop-alignItems, stretch);
                align-content: var(--sectionCards-flexbox-desktop-alignContent, center);
                justify-self: var(--sectionCards-flexbox-desktop-justifySelf, auto);
                justify-content: var(--sectionCards-flexbox-desktop-justifyContent, flex-start);
                padding:
                    calc(var(--sectionCards-padding-desktop-top, 0) * 1rem) calc(var(--sectionCards-padding-desktop-right, 0) * 1rem) calc(var(--sectionCards-padding-desktop-bottom, 0) * 1rem) calc(var(--sectionCards-padding-desktop-left, 0) * 1rem);
                border-width:
                    calc(var(--sectionCards-border-desktop-top-width, 0) * 1rem) calc(var(--sectionCards-border-desktop-right-width, 0) * 1rem) calc(var(--sectionCards-border-desktop-bottom-width, 0) * 1rem) calc(var(--sectionCards-border-desktop-left-width, 0) * 1rem);
                border-radius:
                    calc(var(--sectionCards-border-desktop-left-radius, 0) * 1rem) calc(var(--sectionCards-border-desktop-top-radius, 0) * 1rem) calc(var(--sectionCards-border-desktop-right-radius, 0) * 1rem) calc(var(--sectionCards-border-desktop-bottom-radius, 0) * 1rem);

                & .locations-card {
                    width: var(--card-dimensions-desktop-width, 48.75%);
                    height: var(--card-dimensions-desktop-height, auto);

                    & .card-image {
                        width: var(--cardImage-dimensions-desktop-width, 100%);
                        height: var(--cardImage-dimensions-desktop-height, 11.75rem);
                        padding:
                            calc(var(--cardImage-padding-desktop-top, 0) * 1rem) calc(var(--cardImage-padding-desktop-right, 0) * 1rem) calc(var(--cardImage-padding-desktop-bottom, 0) * 1rem) calc(var(--cardImage-padding-desktop-left, 0) * 1rem);
                        border-width:
                            calc(var(--cardImage-border-desktop-top-width, 0) * 1rem) calc(var(--cardImage-border-desktop-right-width, 0) * 1rem) calc(var(--cardImage-border-desktop-bottom-width, 0) * 1rem) calc(var(--cardImage-border-desktop-left-width, 0) * 1rem);
                        border-color:
                            var(--cardImage-border-mobile-top-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-right-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-bottom-color, rgba(0, 0, 0, 1)) var(--cardImage-border-mobile-left-color, rgba(0, 0, 0, 1));
                        border-radius:
                            calc(var(--cardImage-border-desktop-left-radius, 1) * 1rem) calc(var(--cardImage-border-desktop-top-radius, 1) * 1rem) calc(var(--cardImage-border-desktop-right-radius, 0) * 1rem) calc(var(--cardImage-border-desktop-bottom-radius, 0) * 1rem);
                    }

                    & .locations-card-info {
                        padding:
                            calc(var(--cardInfo-padding-desktop-top, 1.75) * 1rem) calc(var(--cardInfo-padding-desktop-right, 1.75) * 1rem) calc(var(--cardInfo-padding-desktop-bottom, 0) * 1rem) calc(var(--cardInfo-padding-desktop-left, 1.75) * 1rem);
                        border-width:
                            calc(var(--cardInfo-border-desktop-top-width, 0) * 1rem) calc(var(--cardInfo-border-desktop-right-width, 0) * 1rem) calc(var(--cardInfo-border-desktop-bottom-width, 0) * 1rem) calc(var(--cardInfo-border-desktop-left-width, 0) * 1rem);
                        border-radius:
                            calc(var(--cardInfo-border-desktop-left-radius, 0) * 1rem) calc(var(--cardInfo-border-desktop-top-radius, 0) * 1rem) calc(var(--cardInfo-border-desktop-right-radius, 1) * 1rem) calc(var(--cardInfo-border-desktop-bottom-radius, 1) * 1rem);
                        font-size: calc(var(--cardInfo-font-desktop-fontSize, 1) * 1rem);
                        line-height: var(--cardInfo-font-desktop-lineHeight, 1.25);
                        text-align: var(--cardInfo-font-desktop-textAlign, start);

                        & .locations-card-title-text {
                            margin:
                                var(--cardTitle-margin-desktop-top, 0) var(--cardTitle-margin-desktop-right, 0) var(--cardTitle-margin-desktop-bottom, 1.25rem) var(--cardTitle-margin-desktop-left, 0);
                            font-size: calc(var(--cardTitle-font-desktop-fontSize, 1.5) * 1rem);
                            line-height: var(--cardTitle-font-desktop-lineHeight, 1);
                            text-align: var(--cardTitle-font-desktop-textAlign, start);
                        }

                        & .locations-target-button {
                            width: var(--button-dimensions-desktop-width, auto);
                            height: var(--button-dimensions-desktop-height, auto);
                            padding:
                                calc(var(--button-padding-desktop-top, 0.75) * 1rem) calc(var(--button-padding-desktop-right, 0.75) * 1rem) calc(var(--button-padding-desktop-bottom, 0.75) * 1rem) calc(var(--button-padding-desktop-left, 0.75) * 1rem);
                            margin:
                                var(--button-margin-desktop-top, 0) var(--button-margin-desktop-right, 0) var(--button-margin-desktop-bottom, 1.75rem) var(--button-margin-desktop-left, 0);
                            margin-top: auto;
                            border-width:
                                calc(var(--button-border-desktop-top-width, 0) * 1rem) calc(var(--button-border-desktop-right-width, 0) * 1rem) calc(var(--button-border-desktop-bottom-width, 0) * 1rem) calc(var(--button-border-desktop-left-width, 0) * 1rem);
                            border-radius:
                                calc(var(--button-border-desktop-left-radius, 1) * 1rem) calc(var(--button-border-desktop-top-radius, 1) * 1rem) calc(var(--button-border-desktop-right-radius, 1) * 1rem) calc(var(--button-border-desktop-bottom-radius, 1) * 1rem);
                            font-size: calc(var(--button-font-desktop-fontSize, 1) * 1rem);
                            line-height: var(--button-font-desktop-lineHeight, 1);
                            text-align: var(--button-font-desktop-textAlign, center);

                            &:hover {
                                color: var(--colorHover) !important;
                                background: var(--backgroundHover) !important;
                                border-color: var(--borderHover) !important;
                            }
                        }

                        & .locations-2columns {

                            & .locations-access-title,
                            .locations-serviceProvider-title {
                                font-size: calc(var(--cardSubTitles-font-desktop-fontSize, 1) * 1rem);
                                line-height: var(--cardSubTitles-font-desktop-lineHeight, 1);
                                text-align: var(--cardSubTitles-font-desktop-textAlign, start);
                            }
                        }
                    }
                }
            }
        }
    }
}