.gallery.template-1 {
    width: 100%;
    margin: 0 auto;

    & :is(.gallery-swiper-button-next, .gallery-swiper-button-prev) {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        background-color: #dadada;
        color: #333333;
        border-radius: 50%;
        padding: 1.25rem;
        width: 1.875rem;
        height: 1.875rem;
        font-weight: bolder;
        transition: ease-in-out 0.3s;

        &:hover {
            background-color: #333333;
            color: #dadada;
        }
    }

    & .gallery-swiper-button-next {
        right: 0;
        margin-right: -5rem;
    }

    & .gallery-swiper-button-prev {
        left: 0;
        margin-left: -5rem;
    }

    & .gallery-image {
        border-radius: 1rem;
        width: 90%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        object-position: center;
    }
}

.gallery.template-1 {
    display: flex;
    justify-self: center;
    background: var(--section-background-mobile-color, rgba(0, 0, 0, 0.00));
    width: 100%;
    

    margin: calc(var(--section-margin-mobile-top, 0) * 1rem) calc(var(--section-margin-mobile-right, 0) * 1rem) calc(var(--section-margin-mobile-bottom, 0) * 1rem) calc(var(--section-margin-mobile-left, 0) * 1rem);
    padding: calc(var(--section-padding-mobile-top, 3) * 1rem) calc(var(--section-padding-mobile-right, 1) * 1rem) calc(var(--section-padding-mobile-bottom, 3) * 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(255, 255, 255, 1.00)) var(--section-border-mobile-right-color, rgba(255, 255, 255, 1.00)) var(--section-border-mobile-bottom-color, rgba(255, 255, 255, 1.00)) var(--section-border-mobile-left-color, rgba(255, 255, 255, 1.00));
    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);

    & .section-container {
        margin: 0 auto;
        width: var(--section-dimensions-mobile-width, auto);
        height: var(--section-dimensions-mobile-height, auto);

        & .gallery-title {
            color: var(--title-font-mobile-textColor);
            margin: calc(var(--title-margin-mobile-top, 0) * 1rem) calc(var(--title-margin-mobile-right, 0) * 1rem) calc(var(--title-margin-mobile-bottom, 0) * 1rem) calc(var(--title-margin-mobile-left, 0) * 1rem);
            padding: calc(var(--title-padding-mobile-top, 0) * 1rem) calc(var(--title-padding-mobile-right, 0.5) * 1rem) calc(var(--title-padding-mobile-bottom, 0) * 1rem) calc(var(--title-padding-mobile-left, 0.5) * 1rem);
            font-size: calc(var(--title-font-mobile-fontSize, 1.75) * 1rem);
            font-weight: var(--title-font-mobile-fontWeight, 700);
            line-height: var(--title-font-mobile-lineHeight, 1);
            text-align: var(--title-font-mobile-textAlign, center);
            font-family: var(--title-font-mobile-fontFamily, var(--heading-font-family));
            text-transform: var(--title-font-mobile-textTransform, none);
        }

        & .gallery-desc {
            color: var(--description-font-mobile-textColor);
            margin: calc(var(--description-margin-mobile-top, 1) * 1rem) calc(var(--description-margin-mobile-right, 0) * 1rem) calc(var(--description-margin-mobile-bottom, 1) * 1rem) calc(var(--description-margin-mobile-left, 0) * 1rem);
            padding: calc(var(--description-padding-mobile-top, 0) * 1rem) calc(var(--description-padding-mobile-right, 0.5) * 1rem) calc(var(--description-padding-mobile-bottom, 0) * 1rem) calc(var(--description-padding-mobile-left, 0.5) * 1rem);
            font-size: calc(var(--description-font-mobile-fontSize, 1) * 1rem);
            font-weight: var(--description-font-mobile-fontWeight, 400);
            line-height: var(--description-font-mobile-lineHeight, 1);
            text-align: var(--description-font-mobile-textAlign, center);
            font-family: var(--description-font-mobile-fontFamily, var(--global-font-family));
            text-transform: var(--description-font-mobile-textTransform, none);
        }
    }

    & .gallery-container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    & .gallery-image-container {
        display: flex;
        width: var(--cardMedia-dimensions-mobile-width, 9.25rem);
        height: var(--cardMedia-dimensions-mobile-height, 9.25rem);
        padding: calc(var(--cardMedia-padding-mobile-top, 0) * 1rem) calc(var(--cardMedia-padding-mobile-right, 0) * 1rem) calc(var(--cardMedia-padding-mobile-bottom, 0) * 1rem) calc(var(--cardMedia-padding-mobile-left, 0) * 1rem);
        margin: calc(var(--cardMedia-margin-mobile-top, 0) * 1rem) calc(var(--cardMedia-margin-mobile-right, 1) * 1rem) calc(var(--cardMedia-margin-mobile-bottom, 3) * 1rem) calc(var(--cardMedia-margin-mobile-left, 1) * 1rem);
    }

    & .gallery-image {
        border-radius: calc(var(--cardMedia-border-mobile-left-radius, 1.5) * 1rem) calc(var(--cardMedia-border-mobile-top-radius, 1.5) * 1rem) calc(var(--cardMedia-border-mobile-right-radius, 1.5) * 1rem) calc(var(--cardMedia-border-mobile-bottom-radius, 1.5) * 1rem);
        border-width: calc(var(--cardMedia-border-mobile-top-width, 0) * 1rem) calc(var(--cardMedia-border-mobile-right-width, 0) * 1rem) calc(var(--cardMedia-border-mobile-bottom-width, 0) * 1rem) calc(var(--cardMedia-border-mobile-left-width, 0) * 1rem);
        border-style: var(--cardMedia-border-mobile-top-style, solid) var(--cardMedia-border-mobile-right-style, solid) var(--cardMedia-border-mobile-bottom-style, solid) var(--cardMedia-border-mobile-left-style, solid);
        border-color: var(--cardMedia-border-mobile-top-color, rgba(255, 255, 255, 1.00)) var(--cardMedia-border-mobile-right-color, rgba(255, 255, 255, 1.00)) var(--cardMedia-border-mobile-bottom-color, rgba(255, 255, 255, 1.00)) var(--cardMedia-border-mobile-left-color, rgba(255, 255, 255, 1.00));

        &:hover {
            border-color: var(--cardMedia-border-mobile-top-colorHover, rgba(255, 255, 255, 1.00)) var(--cardMedia-border-mobile-right-colorHover, rgba(255, 255, 255, 1.00)) var(--cardMedia-border-mobile-bottom-colorHover, rgba(255, 255, 255, 1.00)) var(--cardMedia-border-mobile-left-colorHover, rgba(255, 255, 255, 1.00));
        }
    }
}

@container page-container (min-width: 768px) {
    .gallery.template-1 {
        display: flex;
        justify-self: center;
        margin: calc(var(--section-margin-tablet-top, 0) * 1rem) calc(var(--section-margin-tablet-right, 0) * 1rem) calc(var(--section-margin-tablet-bottom, 0) * 1rem) calc(var(--section-margin-tablet-left, 0) * 1rem);
        padding: calc(var(--section-padding-tablet-top, 3) * 1rem) calc(var(--section-padding-tablet-right, 1) * 1rem) calc(var(--section-padding-tablet-bottom, 3) * 1rem) calc(var(--section-padding-tablet-left, 1) * 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);

        & .section-container {
            margin: 0 auto;
            width: var(--section-dimensions-tablet-width, auto);
            height: var(--section-dimensions-tablet-height, auto);

            & .gallery-title {
                margin: calc(var(--title-margin-tablet-top, 0) * 1rem) calc(var(--title-margin-tablet-right, 0) * 1rem) calc(var(--title-margin-tablet-bottom, 0) * 1rem) calc(var(--title-margin-tablet-left, 0) * 1rem);
                padding: calc(var(--title-padding-tablet-top, 0) * 1rem) calc(var(--title-padding-tablet-right, 0.5) * 1rem) calc(var(--title-padding-tablet-bottom, 0) * 1rem) calc(var(--title-padding-tablet-left, 0.5) * 1rem);

                font-size: calc(var(--title-font-tablet-fontSize, 2.5) * 1rem);
                line-height: var(--title-font-tablet-lineHeight, 1);
                text-align: var(--title-font-tablet-textAlign, center);
            }

            & .gallery-desc {
                margin: calc(var(--description-margin-tablet-top, 1) * 1rem) calc(var(--description-margin-tablet-right, 0) * 1rem) calc(var(--description-margin-tablet-bottom, 1) * 1rem) calc(var(--description-margin-tablet-left, 0) * 1rem);
                padding: calc(var(--description-padding-tablet-top, 0) * 1rem) calc(var(--description-padding-tablet-right, 0.5) * 1rem) calc(var(--description-padding-tablet-bottom, 0) * 1rem) calc(var(--description-padding-tablet-left, 0.5) * 1rem);

                font-size: calc(var(--description-font-tablet-fontSize, 1) * 1rem);
                line-height: var(--description-font-tablet-lineHeight, 1);
                text-align: var(--description-font-tablet-textAlign, center);
            }
        }

        & .gallery-image-container {
            display: flex;
            width: var(--cardMedia-dimensions-tablet-width, 15.5rem);
            height: var(--cardMedia-dimensions-tablet-height, 15.5rem);
            padding: calc(var(--cardMedia-padding-tablet-top, 0) * 1rem) calc(var(--cardMedia-padding-tablet-right, 0) * 1rem) calc(var(--cardMedia-padding-tablet-bottom, 0) * 1rem) calc(var(--cardMedia-padding-tablet-left, 0) * 1rem);
            margin: calc(var(--cardMedia-margin-tablet-top, 0) * 1rem) calc(var(--cardMedia-margin-tablet-right, 3) * 1rem) calc(var(--cardMedia-margin-tablet-bottom, 3) * 1rem) calc(var(--cardMedia-margin-tablet-left, 0) * 1rem);
        }

        & .gallery-image {
            border-radius: calc(var(--cardMedia-border-tablet-left-radius, 1.5) * 1rem) calc(var(--cardMedia-border-tablet-top-radius, 1.5) * 1rem) calc(var(--cardMedia-border-tablet-right-radius, 1.5) * 1rem) calc(var(--cardMedia-border-tablet-bottom-radius, 1.5) * 1rem);
            border-width: calc(var(--cardMedia-border-tablet-top-width, 0) * 1rem) calc(var(--cardMedia-border-tablet-right-width, 0) * 1rem) calc(var(--cardMedia-border-tablet-bottom-width, 0) * 1rem) calc(var(--cardMedia-border-tablet-left-width, 0) * 1rem);
        }
    }
}

@container page-container (min-width: 992px) {
    .gallery.template-1 {
        display: flex;
        justify-self: center;

        padding: calc(var(--section-padding-desktop-top, 3) * 1rem) calc(var(--section-padding-desktop-right, 0) * 1rem) calc(var(--section-padding-desktop-bottom, 3) * 1rem) calc(var(--section-padding-desktop-left, 0) * 1rem);
        margin: calc(var(--section-margin-desktop-top, 0) * 1rem) calc(var(--section-margin-desktop-right, 0) * 1rem) calc(var(--section-margin-desktop-bottom, 0) * 1rem) calc(var(--section-margin-desktop-left, 0) * 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);

        & .section-container {
            margin: 0 auto;
            max-width: var(--section-dimensions-desktop-width, 82.5rem);
            height: var(--section-dimensions-desktop-height, auto);
            width: 100%;

            & .gallery-title {
                margin: calc(var(--title-margin-desktop-top, 0) * 1rem) calc(var(--title-margin-desktop-right, 0) * 1rem) calc(var(--title-margin-desktop-bottom, 0) * 1rem) calc(var(--title-margin-desktop-left, 0) * 1rem);
                padding: calc(var(--title-padding-desktop-top, 0) * 1rem) calc(var(--title-padding-desktop-right, 0.5) * 1rem) calc(var(--title-padding-desktop-bottom, 0) * 1rem) calc(var(--title-padding-desktop-left, 0.5) * 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, center);
            }

            & .gallery-desc {
                margin: calc(var(--description-margin-desktop-top, 1) * 1rem) calc(var(--description-margin-desktop-right, 0) * 1rem) calc(var(--description-margin-desktop-bottom, 1) * 1rem) calc(var(--description-margin-desktop-left, 0) * 1rem);
                padding: calc(var(--description-padding-desktop-top, 0) * 1rem) calc(var(--description-padding-desktop-right, 0.5) * 1rem) calc(var(--description-padding-desktop-bottom, 0) * 1rem) calc(var(--description-padding-desktop-left, 0.5) * 1rem);

                font-size: calc(var(--description-font-desktop-fontSize, 1) * 1rem);
                line-height: var(--description-font-desktop-lineHeight, 1);
                text-align: var(--description-font-desktop-textAlign, center);
            }
        }

        & .gallery-image-container {
            display: flex;
            width: var(--cardMedia-dimensions-desktop-width, 20rem);
            height: var(--cardMedia-dimensions-desktop-height, 20rem);
            padding: calc(var(--cardMedia-padding-desktop-top, 0) * 1rem) calc(var(--cardMedia-padding-desktop-right, 0) * 1rem) calc(var(--cardMedia-padding-desktop-bottom, 0) * 1rem) calc(var(--cardMedia-padding-desktop-left, 0) * 1rem);
            margin: calc(var(--cardMedia-margin-desktop-top, 0) * 1rem) calc(var(--cardMedia-margin-desktop-right, 3) * 1rem) calc(var(--cardMedia-margin-desktop-bottom, 3) * 1rem) calc(var(--cardMedia-margin-desktop-left, 0) * 1rem);
        }

        & .gallery-image {
            border-radius: calc(var(--cardMedia-border-desktop-left-radius, 1.5) * 1rem) calc(var(--cardMedia-border-desktop-top-radius, 1.5) * 1rem) calc(var(--cardMedia-border-desktop-right-radius, 1.5) * 1rem) calc(var(--cardMedia-border-desktop-bottom-radius, 1.5) * 1rem);
            border-width: calc(var(--cardMedia-border-desktop-top-width, 0) * 1rem) calc(var(--cardMedia-border-desktop-right-width, 0) * 1rem) calc(var(--cardMedia-border-desktop-bottom-width, 0) * 1rem) calc(var(--cardMedia-border-desktop-left-width, 0) * 1rem);
        }
    }
}

.caption {
    color: rgb(255, 255, 255);
    background: rgba(35,35,35,.65);
    padding: 8px 14px;
    font-size: 16px;
    display: flex;
    justify-content: center;
    width: clamp(200px, 60%, 1280px);
    z-index: 9999999999;
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
}

.caption:empty {
    display: none;
}