/*
    CSS file for Főőrség Lovarda rendezvénytér
*/

@font-face {
    font-family: 'Famosa';
    src: url('../fonts/Famosa-Bold.woff2') format('woff2'),
    url('../fonts/Famosa-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


/*  Base
------------------------------*/

    * {
        padding: 0;
        margin: 0;
        outline: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        box-sizing: border-box;
    }

    *::selection {
        background: var(--color-green);
        color: #fff;
    }

    body {
        color: #000;
        font-family: 'Inter', sans-serif;
        font-size: 14px;
        line-height: 160%;
        margin-top: 72px;
        background: var(--color-cream);
    }

    img,
    svg {
        display: block;
        max-width: 100%;
        height: auto;
    }

    a {
        color: inherit;
        text-decoration: none;
    }

    a img {
        border: 0;
    }

    a,
    svg,
    path,
    button {
        transition: all ease 0.4s;
    }

    .container {
        width: 94%;
        max-width: 1180px;
        margin: 0 auto;
    }

    .wrapper {
        overflow: hidden;
        position: relative;
    }

    section + section,
    section + .band,
    .band + section {
        margin-top: 96px;
    }

    /*
     *  Colors
     */
    :root {
        --color-green: #173F36;
        --color-gold: #D59A36;
        --color-gold-dark: #A57626;
        --color-cream: #FFF5E4;
    }


/*  Common Elements
-------------------------------------------*/

    .section-title {
        font-family: 'Famosa', serif;
        font-size: 36px;
        font-weight: 700;
        line-height: 125%;
        letter-spacing: 0.72px;
        text-align: center;
        margin-bottom: 48px;
    }

        .section-title span {
            display: inline-block;
            padding: 0 40px;
            background: url('../img/ornament-icon-left.svg') no-repeat left center, url('../img/ornament-icon-right.svg') no-repeat right center;
        }

        .section-title img {
            display: block;
            margin: 0 auto 16px auto;
        }

    .button {
        display: inline-block;
        color: var(--color-gold);
        font-size: 12px;
        font-weight: 600;
        line-height: 125%;
        letter-spacing: 1.2px;
        text-transform: uppercase;
        margin-top: 32px;
        padding: 12px 24px;
        border: 1px solid var(--color-gold);
        border-radius: 4px;
    }

        .button:hover {
            color: #fff;
            background: var(--color-gold);
        }

        .button.gold {
            color: #fff;
            background: var(--color-gold);
        }

            .button.gold:hover {
                background: var(--color-gold-dark);
                border-color: var(--color-gold-dark);
            }

    /*
     *  Tags
     */
    .tags {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

        .tags a,
        .tags span {
            font-weight: 700;
            white-space: nowrap;
        }

            .tags a:hover {
                color: var(--color-gold);
            }

            .tags a:not(:last-child)::after,
            .tags span:not(:last-child)::after {
                content: "";
                display: inline-block;
                width: 1px;
                height: 24px;
                vertical-align: middle;
                margin-left: 12px;
                background: var(--color-gold);
            }

    /*
     *  General content
     */
    .general-content > *:first-child {
        margin-top: 0;
    }

    .general-content > *:last-child {
        margin-bottom: 0;
    }

        .general-content h2,
        .general-content h3 {
            font-family: 'Famosa', serif;
            font-weight: 700;
            line-height: 125%;
            margin: 36px 0 16px 0;
        }

        .general-content h2 {
            font-size: 26px;
            letter-spacing: 0.52px;
        }

        .general-content h3 {
            font-size: 20px;
            letter-spacing: 0.4px;
        }

        .general-content p {
            margin: 18px 0;
        }

        .general-content a {
            color: var(--color-gold);
            text-decoration: underline;
        }

        .general-content ul,
        .general-content ol {
            margin: 18px 0;
            list-style: none;
        }

            .general-content ul li {
                padding-left: 27px;
                position: relative;
            }

            .general-content ul li::before {
                content: "•";
                left: 0;
                color: var(--color-gold);
                position: absolute;
            }

            .general-content ol {
                padding-left: 20px;
                list-style: decimal;
            }

            .general-content li + li {
                margin-top: 8px;
            }

        .general-content img {
            margin: 24px 0;
        }


/*  Band
-------------------------------------------*/

    .band {
        position: relative;
    }

    .band.--green {
        color: var(--color-cream);
        padding: 96px 0;
        background: var(--color-green);
        overflow: hidden;
    }

        .band .bg {
            top: 312px;
            left: 50%;
            width: 3279px;
            height: 2054px;
            margin-left: -2240px;
            position: absolute;
        }

            .band .bg img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

        .band > section {
            position: relative;
        }


/*  Header
-------------------------------------------*/

    header {
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        font-family: 'Famosa', serif;
        font-size: 14px;
        font-weight: bold;
        line-height: 125%;
        letter-spacing: 0.28px;
        background: var(--color-green);
        position: fixed;
    }

        header .container {
            display: flex;
            justify-content: space-between;
        }

        header .logo {
            padding: 16px 0;
        }

            header .logo img {
                width: auto;
                height: 40px;
                margin: 0 auto;
            }

        header .menu {
            width: calc(50% - 30px);
        }

            header .menu ul {
                display: flex;
                list-style: none;
            }

                header .menu ul li {
                    position: relative;
                }

                header .menu ul li + li {
                    margin-left: 24px;
                }

                header .menu ul li a {
                    display: flex;
                    align-items: center;
                    height: 72px;
                    color: #fff;
                    font-size: 14px;
                    font-weight: 700;
                    line-height: 125%;
                    letter-spacing: 0.28px;
                    white-space: nowrap;
                    text-transform: uppercase;
                }

                    header .menu ul li a:hover {
                        color: var(--color-gold);
                    }

            header .bars {
                z-index: 10;
                width: 50px;
                height: 50px;
                display: none;
                align-items: center;
                justify-content: center;
                margin: 3px 0 0 -13px;
                cursor: pointer;
            }

                header .bars span {
                    display: block;
                    width: 24px;
                    height: 2px;
                    background: #fff;
                    transition: all ease 0.4s;
                    position: relative;
                }

                header .bars span::before,
                header .bars span::after {
                    content: "";
                    left: 0;
                    width: 24px;
                    height: 2px;
                    background: #fff;
                    transition: all ease 0.4s;
                    position: absolute;
                }

                header .bars span::before {
                    top: -7px;
                }

                header .bars span::after {
                    top: 7px;
                }

        header .buttons {
            width: calc(50% - 30px);
            display: flex;
            align-items: center;
            justify-content: flex-end;
        }

            header .buttons .btn {
                display: block;
                color: #fff;
                font-size: 12px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.24px;
                text-transform: uppercase;
                padding: 8px 16px;
                border: 1px solid var(--color-gold);
            }

                header .buttons .btn + .btn {
                    margin-left: 16px;
                }

                header .buttons .btn:hover {
                    background: var(--color-gold);
                }

            header .buttons .lang {
                height: 72px;
                display: flex;
                align-items: center;
                color: #fff;
                font-size: 12px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.24px;
                margin-left: 8px;
                padding: 8px 16px;
                cursor: pointer;
            }

    /*
     *  Mobile menu
     */
    .mobile-menu {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding-top: 56px;
        background: rgba(0, 0, 0, 0.7);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        opacity: 0;
        visibility: hidden;
        transition: all ease 0.5s;
        position: fixed;
    }

        .mobile-menu nav {
            padding-top: 48px;
            text-align: center;
        }

            .mobile-menu nav ul {
                list-style: none;
            }

                .mobile-menu nav ul li + li {
                    margin-top: 20px;
                }

                .mobile-menu nav ul li a {
                    color: #fff;
                    font-family: 'Famosa', serif;
                    font-size: 20px;
                    font-weight: bold;
                    line-height: 125%;
                    letter-spacing: 0.28px;
                    text-transform: uppercase;
                }

        .mobile-menu .buttons {
            max-width: 300px;
            font-size: 0;
            line-height: 0;
            text-align: center;
            margin: 20px auto 0 auto;
        }

            .mobile-menu .buttons .btn {
                display: inline-block;
                color: #fff;
                font-size: 12px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.24px;
                text-transform: uppercase;
                margin: 16px auto 0 auto;
                padding: 8px 16px;
                border: 1px solid var(--color-gold);
            }

                .mobile-menu .buttons .btn:hover {
                    background: var(--color-gold);
                }

        .mobile-menu .socials {
            display: flex;
            justify-content: center;
            padding-top: 36px;
        }

            .mobile-menu .socials a + a {
                margin-left: 24px;
            }

            .mobile-menu .socials svg {
                fill: #fff;
            }

    .mobile-menu-spacer {
        top: 0;
        left: 0;
        width: 100%;
        height: 56px;
        background: var(--color-green);
        position: absolute;
    }

    /*
     *  Opened nav
     */
    .opened-nav header .bars span {
        background: transparent;
    }

        .opened-nav header .bars span::before {
            top: 0;
            transform-origin: center center;
            transform: rotate(-45deg);
        }

        .opened-nav header .bars span::after {
            top: 0;
            transform-origin: center center;
            transform: rotate(45deg);
        }

    .opened-nav .mobile-menu {
        opacity: 1;
        visibility: visible;
    }


/*  Footer
-------------------------------------------*/

    footer {
        color: #fff;
        font-size: 16px;
        line-height: 160%;
        padding: 72px 0;
        background: var(--color-green);
    }

        footer .container {
            display: flex;
        }

        footer .col {
            width: calc(33.333% - 13.33px);
            padding-right: 20px;
        }

            footer .col:last-child {
                padding-right: 0;
            }

            footer .col h4 {
                font-family: 'Famosa', serif;
                font-size: 24px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.48px;
                margin-bottom: 24px;
            }

            footer .col p + p {
                margin-top: 24px;
            }

            footer .col a:hover {
                color: var(--color-gold);
            }

            footer .col:last-child p a {
                text-decoration: underline;
            }

            footer .col ul {
                list-style: none;
            }

                footer .col ul li + li {
                    margin-top: 24px;
                }

                footer .col ul li a {
                    text-decoration: underline;
                }

            footer .col .bottom {
                display: flex;
                align-items: flex-end;
                justify-content: space-between;
                margin-top: 36px;
            }

                footer .col .bottom img {
                    width: 178px;
                    height: 41px;
                }

                footer .col .bottom .socials {
                    display: flex;
                }

                    footer .col .bottom .socials a + a {
                        margin-left: 24px;
                    }

                    footer .col .bottom .socials svg {
                        fill: #fff;
                    }

                        footer .col .bottom .socials a:hover svg {
                            fill: var(--color-gold);
                        }


/*  Section: Hero
-------------------------------------------*/

    .hero {
        z-index: 1;
        position: relative;
    }

        .hero .bg {
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: var(--color-green);
            position: absolute;
        }

            .hero .bg::before {
                content: "";
                top: 0;
                left: 0;
                z-index: 2;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, 0.56);
                position: absolute;
            }

            .hero .bg .swiper-wrapper,
            .hero .bg .swiper-slide {
                height: 100%;
            }

                .hero .bg .swiper-slide img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

            .hero .bg .swiper-arrow {
                top: 50%;
                z-index: 10;
                cursor: pointer;
                transform: translateY(-50%);
                position: absolute;
            }

                .hero .bg .swiper-arrow svg {
                    fill: #fff;
                }

                    .hero .bg .swiper-arrow:hover svg {
                        fill: var(--color-gold);
                    }

                .hero .bg .swiper-prev {
                    left: 48px;
                }

                .hero .bg .swiper-next {
                    right: 48px;
                }

        .hero .container {
            z-index: 3;
            min-height: 720px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            position: relative;
        }

            .hero .content {
                max-width: 580px;
                text-align: center;
                padding: 40px 0;
            }

                .hero .content > img {
                    margin: 0 auto;
                }

                .hero .content h1 {
                    font-family: 'Famosa', serif;
                    font-size: 48px;
                    font-weight: 700;
                    line-height: 125%;
                    letter-spacing: 0.96px;
                    margin-top: 16px;
                }

                    .hero .content h1 small {
                        display: block;
                        font-size: 30px;
                        line-height: 125%;
                        letter-spacing: 0.6px;
                    }

                .hero .content p {
                    color: var(--color-cream);
                    font-size: 16px;
                    margin-top: 16px;
                }

                .hero .content .buttons {
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: center;
                }

                    .hero .content .buttons .button {
                        margin: 16px 8px 0 8px;
                    }


/*  Section: Featured info
-------------------------------------------*/

    .hero + .featured-info {
        z-index: 2;
        margin-top: -108px;
        position: relative;
    }

        .featured-info .container {
            padding: 20px;
            border: 1px solid var(--color-gold-dark);
        }

            .featured-info .box {
                color: #fff;
                padding: 40px;
                background: var(--color-gold);
            }

                .featured-info .items {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    padding: 0 63px;
                }

                    .featured-info .item {
                        display: flex;
                        align-items: center;
                        flex-direction: column;
                        text-align: center;
                    }

                        .featured-info .item img {
                            width: 48px;
                            height: 48px;
                            margin-bottom: 8px;
                        }

                        .featured-info .item .number {
                            font-family: 'Famosa', serif;
                            font-size: 30px;
                            font-weight: 700;
                            line-height: 125%;
                            letter-spacing: 0.6px;
                            white-space: nowrap;
                        }

                        .featured-info .item .label {
                            font-size: 12px;
                            line-height: 160%;
                            letter-spacing: 0.24px;
                            white-space: nowrap;
                            margin-top: -2px;
                        }


/*  Section: Featured text
-------------------------------------------*/

    .featured-text {
        padding: 96px 0;
        position: relative;
    }

    .featured-info + .featured-text {
        margin-top: 0;
    }

        .featured-text .bg {
            top: -182px;
            left: 50%;
            z-index: -1;
            width: 848px;
            height: 723px;
            transform: translateX(-50%);
            position: absolute;
        }

            .featured-text .bg img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

        .featured-text .content {
            max-width: 960px;
            margin: 0 auto;
            padding: 0 99px;
            position: relative;
        }

            .featured-text .content p {
                font-family: 'Famosa', serif;
                font-size: 30px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.6px;
                text-align: center;
            }

            .featured-text .decor {
                top: 50%;
                width: 24px;
                height: 24px;
                transform: translateY(-50%);
                position: absolute;
            }

                .featured-text .decor.--left {
                    left: 0;
                    transform: translateY(-50%) rotate(270deg);
                }

                .featured-text .decor.--right {
                    right: 0;
                    transform: translateY(-50%) rotate(90deg);
                }


/*  Section: Text with image
-------------------------------------------*/

    .featured-text + .text-with-image {
        margin-top: 0px;
    }

    .text-with-image .columns {
        min-height: 480px;
        display: flex;
        align-items: stretch;
        gap: 20px;
    }

    .text-with-image.--image-right .columns {
        flex-direction: row-reverse;
    }

        .text-with-image .image {
            width: calc(50% - 10px);
            display: flex;
            overflow: hidden;
        }

            .text-with-image .image img {
                width: 100%;
                object-fit: cover;
            }

        .text-with-image .content {
            width: calc(50% - 10px);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            text-align: center;
            padding: 50px 0;
        }

            .text-with-image .content > * + * {
                margin-top: 32px;
            }

            .text-with-image .text > * + * {
                margin-top: 16px;
            }

                .text-with-image .text .decor {
                    width: 24px;
                    height: 24px;
                    margin: 0 auto;
                }

                .text-with-image .text h2 {
                    font-family: 'Famosa', serif;
                    font-size: 36px;
                    font-weight: 700;
                    line-height: 125%;
                    letter-spacing: 0.72px;
                }

                    .text-with-image .text h2 small {
                        display: block;
                        font-size: 20px;
                        line-height: 125%;
                        letter-spacing: 0.4px;
                    }

            .text-with-image .tags {
                max-width: 336px;
            }

                .text-with-image .tags a {
                    color: #3B3936;
                }


/*  Section: Full block
-------------------------------------------*/

    .full-block {
        min-height: 600px;
        display: flex;
        align-items: center;
        color: var(--color-cream);
        padding: 96px 0;
        background: #000;
        overflow: hidden;
        position: relative;
    }

        .full-block .bg {
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            position: absolute;
        }

            .full-block .bg::after {
                content: "";
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, 0.5);
                position: absolute;
            }

            .full-block .bg img,
            .full-block .bg video {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center;
            }

        .full-block .container {
            position: relative;
        }

            .full-block .content {
                max-width: 580px;
                text-align: center;
                margin: 0 auto;
            }

                .full-block .content > * + * {
                    margin-top: 16px;
                }

                .full-block .content .decor {
                    width: 24px;
                    height: 24px;
                    margin: 0 auto;
                }

                .full-block .content h2 {
                    font-family: 'Famosa', serif;
                    font-size: 36px;
                    font-weight: 700;
                    line-height: 125%;
                    letter-spacing: 0.72px;
                }

            .full-block .tags {
                max-width: 714px;
                margin: 24px auto 0 auto;
            }


/*  Section: Capacity
-------------------------------------------*/

    .capacity .head {
        max-width: 580px;
        text-align: center;
        margin: 0 auto 24px auto;
    }

        .capacity .head .section-title {
            margin-bottom: 16px;
        }

    .capacity .items {
        display: flex;
        align-items: stretch;
        gap: 20px;
    }

        .capacity .item {
            width: calc(25% - 15px);
            min-height: 421px;
            display: flex;
            padding: 20px;
            border: 1px solid var(--color-gold);
        }

            .capacity .item .image {
                width: 100%;
                display: flex;
                overflow: hidden;
                position: relative;
            }

                .capacity .item .image img {
                    width: 100%;
                    object-fit: cover;
                    transition: all ease 0.4s;
                }

                    .capacity .item:hover .image img {
                        transform: scale(1.05);
                    }

                .capacity .item .title {
                    left: 0;
                    right: 0;
                    bottom: 0;
                    height: 177px;
                    display: flex;
                    align-items: flex-end;
                    justify-content: center;
                    color: #fff;
                    font-family: 'Famosa', serif;
                    font-size: 24px;
                    font-weight: 700;
                    line-height: 125%;
                    letter-spacing: 0.48px;
                    text-align: center;
                    padding: 40px 20px;
                    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 28.5%, rgba(0, 0, 0, 0.75) 100%);
                    position: absolute;
                }

        .capacity .item.--capacity .box {
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 40px 0;
            background: var(--color-green);
        }

            .capacity .item.--capacity h3 {
                color: var(--color-gold);
                font-family: 'Famosa', serif;
                font-size: 24px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.48px;
                margin-bottom: 10px;
                padding: 0 20px;
            }

            .capacity .item.--capacity ul {
                list-style: none;
            }

                .capacity .item.--capacity li {
                    display: flex;
                    align-items: flex-end;
                    justify-content: space-between;
                    color: var(--color-cream);
                    font-size: 12px;
                    line-height: 160%;
                    margin: 0 16px;
                    padding-bottom: 8px;
                    border-bottom: 1px solid rgba(255, 245, 228, 0.5);
                }

                .capacity .item.--capacity li + li {
                    margin-top: 10px;
                }

                    .capacity .item.--capacity li span {
                        color: var(--color-gold);
                        font-weight: 700;
                        white-space: nowrap;
                        padding-left: 12px;
                    }


/*  Section: Tags row
-------------------------------------------*/

    .tags-row .tags {
        max-width: 700px;
        margin: 0 auto;
    }


/*  Section: Package
-------------------------------------------*/

    .package .head .separator {
        display: flex;
        align-items: center;
        gap: 18px;
    }

        .package .head .separator span {
            flex: 1;
            height: 1px;
            background: var(--color-gold);
        }

        .package .head .separator img {
            width: 24px;
            height: 24px;
        }

    .package .head .title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        margin-top: 40px;
    }

        .package .head .title h2 {
            font-family: 'Famosa', serif;
            font-size: 48px;
            font-weight: 700;
            line-height: 125%;
            letter-spacing: 0.96px;
        }

        .package .head .title .button {
            margin-top: 0;
        }

    .package .items {
        display: flex;
        align-items: stretch;
        gap: 20px;
        margin-top: 42px;
    }

        .package .item {
            flex: 1;
            padding: 24px 12px;
            background: #fff;
        }

            .package .item .number {
                color: #666768;
                font-family: 'Famosa', serif;
                font-size: 14px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.28px;
            }

            .package .item h3 {
                color: var(--color-gold-dark);
                font-family: 'Famosa', serif;
                font-size: 20px;
                font-weight: 700;
                line-height: 125%;
                letter-spacing: 0.4px;
                margin-top: 10px;
            }

            .package .item p {
                margin-top: 10px;
            }

    .package .boxes {
        display: flex;
        align-items: stretch;
        gap: 20px;
        margin-top: 42px;
    }

        .package .box {
            flex: 1;
            min-height: 364px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            padding: 40px 20px;
            background: #000;
            overflow: hidden;
            position: relative;
        }

            .package .box.align-start {
                align-items: flex-start;
            }

            .package .box > img {
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                opacity: 0.24;
                position: absolute;
            }

            .package .box .content {
                max-width: 480px;
                text-align: center;
                position: relative;
            }

                .package .box .content > * + * {
                    margin-top: 16px;
                }

                .package .box .content .decor {
                    width: 24px;
                    height: 24px;
                    margin: 0 auto;
                }

                .package .box .content h3 {
                    font-family: 'Famosa', serif;
                    font-size: 36px;
                    font-weight: 700;
                    line-height: 125%;
                    letter-spacing: 0.72px;
                }

                .package .box .content ol {
                    padding-left: 0;
                    list-style-position: inside;
                }

                    .package .box .content li + li {
                        margin-top: 0;
                    }

                .package .box .content .tags {
                    max-width: 524px;
                    margin-left: auto;
                    margin-right: auto;
                }

                .package .box .content .buttons {
                    display: flex;
                    flex-wrap: wrap;
                    align-items: center;
                    justify-content: center;
                    gap: 16px;
                }

                    .package .box .content .buttons .button {
                        margin-top: 0;
                    }

    /*
     *  Dark variation
     */
    .package.--dark .head .title h2 {
        color: var(--color-cream);
    }

        .package.--dark .item {
            color: var(--color-cream);
            background: #102923;
        }

            .package.--dark .item .number {
                color: var(--color-cream);
            }


/*  Section: Gallery
-------------------------------------------*/

    .gallery .images {
        display: flex;
        flex-wrap: wrap;
    }

        .gallery .images .wrap {
            width: calc(100% / 3);
            display: flex;
            flex-wrap: wrap;
        }

        .gallery .item {
            display: block;
            width: 50%;
            border: 2px solid var(--color-cream);
        }

            .gallery .item.lg {
                width: 100%;
            }

            .gallery .item img {
                width: 100%;
                aspect-ratio: 1;
                object-fit: cover;
            }


/*  Section: Request form
-------------------------------------------*/

    .request-form {
        color: var(--color-cream);
        padding: 50px 0 96px 0;
        background: #102923;
        overflow: hidden;
        position: relative;
    }

        .request-form .bg {
            top: 0;
            left: 50%;
            width: 2118px;
            height: 100%;
            margin-left: -1059px;
            position: absolute;
        }

            .request-form .bg img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

        .request-form .container {
            position: relative;
        }

            .request-form .head {
                max-width: 580px;
                text-align: center;
                margin: 0 auto 48px auto;
            }

                .request-form .head > * + * {
                    margin-top: 16px;
                }

                .request-form .head .decor {
                    width: 24px;
                    height: 24px;
                    margin: 0 auto;
                }

                .request-form .head h2 {
                    font-family: 'Famosa', serif;
                    font-size: 36px;
                    font-weight: 700;
                    line-height: 125%;
                    letter-spacing: 0.72px;
                }

            .request-form .columns {
                display: flex;
                align-items: stretch;
            }

                .request-form .form {
                    width: calc(100% - 412px);
                    padding: 40px;
                    background: var(--color-cream);
                }

                    .request-form .form iframe {
                        display: block;
                        width: 100%;
                        height: 100%;
                        border: 0;
                    }

                .request-form .info {
                    width: 412px;
                    padding: 85px 24px;
                    background: var(--color-green);
                }

                    .request-form .block {
                        padding-bottom: 20px;
                        border-bottom: 1px solid #102923;
                    }

                    .request-form .block + .block {
                        margin-top: 42px;
                    }

                        .request-form .block > * + * {
                            margin-top: 20px;
                        }

                        .request-form .block h3 {
                            color: var(--color-gold);
                            font-family: 'Famosa', serif;
                            font-size: 30px;
                            font-weight: 700;
                            line-height: 125%;
                            letter-spacing: 0.6px;
                        }

                        .request-form .block .big {
                            font-family: 'Famosa', serif;
                            font-size: 24px;
                            font-weight: 700;
                            line-height: 125%;
                            letter-spacing: 0.48px;
                        }

                        .request-form .block .big + .big {
                            margin-top: 11px;
                        }

                            .request-form .block .big a:hover {
                                color: var(--color-gold);
                            }

                        .request-form .block ul {
                            list-style: none;
                        }

                            .request-form .block ul li {
                                line-height: 224%;
                                padding-left: 16px;
                                position: relative;
                            }

                            .request-form .block ul li::before {
                                content: "•";
                                left: 0;
                                position: absolute;
                            }

                        .request-form .person {
                            display: flex;
                            align-items: center;
                            gap: 12px;
                        }

                            .request-form .person img {
                                width: 96px;
                                height: 96px;
                                border-radius: 50%;
                            }

                            .request-form .person .position {
                                font-family: 'Famosa', serif;
                                font-size: 24px;
                                font-weight: 700;
                                line-height: 125%;
                                letter-spacing: 0.48px;
                            }


/*  Section: 404
-------------------------------------------*/

    .error-404 {
        min-height: 480px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 96px 0;
    }

        .error-404 .decor {
            width: 24px;
            height: 24px;
            margin: 0 auto;
        }

        .error-404 h1 {
            font-family: 'Famosa', serif;
            font-size: 48px;
            font-weight: 700;
            line-height: 125%;
            letter-spacing: 0.96px;
            margin-top: 16px;
        }

        .error-404 p {
            margin-top: 16px;
        }


/*  Responsive
-------------------------------------------*/

@media (max-width: 1023px)
{
    body { margin-top: 56px; }
    .container { width: calc(100% - 40px); }
    section + section, section + .band, .band + section { margin-top: 64px; }

    .button { margin-top: 24px; }

    .section-title { font-size: 26px; margin-bottom: 32px; }
    .section-title span { padding: 0 36px; background-size: auto 24px; }

    header .logo { padding: 8px 0; }
    header .menu ul { display: none; }
    header .bars { display: flex; }
    header .buttons .btn { display: none; }
    header .buttons .lang { height: 56px; font-size: 14px; margin-right: -16px; }

    footer { padding: 36px 0; font-size: 14px; text-align: center; }
    footer .container { display: block; }
    footer .col { width: 100%; padding-right: 0; }
    footer .col + .col { margin-top: 36px; }
    footer .col p + p { margin-top: 18px; }
    footer .col .bottom { flex-direction: column; align-items: center; }
    footer .col .bottom .socials { order: 1; margin-bottom: 40px; }
    footer .col .bottom > a { order: 2; }

    .hero .container { min-height: 540px; }
    .hero .content { padding: 0 0 75px 0; }
    .hero .content h1 { font-size: 30px; }
    .hero .content h1 small { font-size: 20px; }
    .hero .bg .swiper-arrow { display: none; }

    .hero + .featured-info { margin-top: -60px; }
    .featured-info .container { padding: 15px; }
    .featured-info .box { padding: 30px; }
    .featured-info .items { flex-wrap: wrap; row-gap: 32px; padding: 0; }
    .featured-info .item { width: 50%; }

    .featured-text { padding: 64px 0; }
    .featured-text .bg { top: 50%; width: 200%; height: auto; transform: translate(-50%, -50%); }
    .featured-text .bg img { height: auto; }
    .featured-text .content { padding: 0 44px; }
    .featured-text .content p { font-size: 26px; }

    .text-with-image .columns, .text-with-image.--image-right .columns { min-height: 0; flex-direction: column; }
    .text-with-image .image, .text-with-image .content { width: 100%; }
    .text-with-image .image { height: auto; aspect-ratio: 580 / 480; }
    .text-with-image .content { padding: 32px 0; }
    .text-with-image .text h2 { font-size: 26px; }
    .text-with-image .text h2 small { font-size: 18px; }

    .error-404 { min-height: 320px; padding: 64px 0; }
    .error-404 h1 { font-size: 30px; }

    .full-block { min-height: 420px; padding: 64px 0; }
    .full-block .content h2 { font-size: 26px; }

    .capacity .items { flex-wrap: wrap; }
    .capacity .item { width: calc(50% - 10px); }

    .package .head .title { flex-direction: column; align-items: flex-start; margin-top: 32px; }
    .package .head .title h2 { font-size: 30px; }
    .package .items { flex-wrap: wrap; margin-top: 32px; }
    .package .item { flex: 0 0 calc(50% - 10px); }
    .package .boxes { flex-direction: column; margin-top: 32px; }
    .package .box { min-height: 320px; }
    .package .box .content h3 { font-size: 26px; }

    .band.--green { padding: 64px 0; }
    .band .bg { top: 0; left: 0; width: 100%; height: 100%; margin-left: 0; }

    .request-form .columns { flex-direction: column; }
    .request-form .form, .request-form .info { width: 100%; }
    .request-form .form { min-height: 1040px; }
    .request-form .info { padding: 48px 24px; }
    .request-form .head h2 { font-size: 26px; }
}

@media (max-width: 767px)
{
    section + section, section + .band, .band + section { margin-top: 40px; }

    .hero .container { min-height: 390px; }

    .featured-info .box { padding: 24px 15px; }
    .featured-info .item .number { font-size: 26px; }

    .featured-text { padding: 48px 0; }
    .featured-text .content { padding: 0; }
    .featured-text .content p { font-size: 24px; }
    .featured-text .decor { display: none; }

    .text-with-image .content { padding: 0 0 24px 0; }

    .full-block { min-height: 0; padding: 48px 0; }
    :is(.full-block, .tags-row, .package .box) .tags { flex-direction: column; align-items: center; gap: 8px; }
    :is(.full-block, .tags-row, .package .box) .tags :is(a, span):not(:last-child)::after { display: block; width: 24px; height: 1px; margin: 8px auto 0 auto; }

    .capacity .item { width: 100%; min-height: 0; }
    .capacity .item .title { font-size: 20px; }

    .package .head .title { align-items: center; text-align: center; }
    .package .item { flex: 0 0 100%; text-align: center; }
    .package .box { min-height: 0; padding: 32px 20px; }

    .band.--green { padding: 48px 0; }

    .gallery .images .wrap { width: 100%; }

    .request-form { padding: 40px 0 48px 0; }
    .request-form .info { padding: 36px 20px; }
    .request-form .block h3 { font-size: 26px; }
    .request-form .block .big { font-size: 20px; }
}
