﻿@import url(https://fonts.googleapis.com/css2?family=Mona+Sans:ital,wght@0,200..900;1,200..900&display=swap);

@font-face {
    font-family: "appareldisplay-bold";
    src: url(../fonts/appareldisplay-bold.woff) format("woff");
    font-style: normal;
    font-display: swap
}

@keyframes shine {
    0% {
        left: -100px
    }

    100% {
        left: 100%
    }
}

:root {
    --animate-delay: 2s
}

html {
    overflow-x: hidden
}

    html body {
        font-family: "Mona Sans",sans-serif;
        font-optical-sizing: auto;
        overflow-x: hidden;
        background-color: #fff
    }

        html body h1, html body h2, html body h3, html body h4, html body h5, html body h6 {
            font-family: "appareldisplay-bold",sans-serif;
            font-weight: 400;
            margin: 0
        }

        html body .primary-btn {
            font-size: 14px;
            text-transform: uppercase;
            font-weight: 500;
            letter-spacing: .5px;
            padding: 15px 30px;
            background-color: #f0e3d2;
            color: #000;
            border: none
        }

        html body .read-more {
            text-transform: uppercase;
            color: #fff;
            font-weight: 600;
            font-size: 13px;
            margin-top: 30px;
            display: inline-block;
            position: relative;
            padding: 0 0 10px;
            background-image: url(../images/caret-more.svg);
            background-repeat: no-repeat;
            background-position: right 0 top 5px;
            background-size: 5px;
            padding-right: 20px
        }

            html body .read-more::before {
                content: "";
                position: absolute;
                width: 100%;
                height: 2px;
                left: 0;
                bottom: 0;
                background-color: #f0e3d2;
                opacity: .5
            }

            html body .read-more::after {
                content: "";
                position: absolute;
                width: 0%;
                height: 2px;
                left: 0;
                bottom: 0;
                background-color: #f0e3d2;
                transition: all 0.3s ease;
                -webkit-transition: all 0.3s ease;
                -o-transition: all 0.3s ease;
                -moz-transition: all 0.3s ease;
                -ms-transition: all 0.3s ease
            }

            html body .read-more:hover::after {
                width: 100%
            }

        html body .shine-button {
            border: none;
            background-image: url(../images/rivabg.webp);
            background-position: center center;
            background-repeat: no-repeat;
            background-size: cover;
            color: #fff;
            cursor: pointer;
            position: relative;
            overflow: hidden
        }

            html body .shine-button::before {
                content: "";
                position: absolute;
                top: 0;
                left: -100px;
                width: 80px;
                height: 100%;
                background-image: linear-gradient(90deg,#fff0 0%,rgb(14 177 85 / .5) 50%,#fff0 100%);
                transform: skewX(-20deg);
                animation: shine 3s ease-in-out infinite
            }

        html body .part {
            padding: 0 50px
        }

        html body .modal {
            display: none;
            position: fixed;
            z-index: 999;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgb(0 0 0 / .6);
            opacity: 0;
            transition: opacity 0.4s ease
        }

            html body .modal.form .modal-content {
                background-image: url(../images/rivabg.webp);
                background-position: center center;
                background-repeat: no-repeat;
                background-size: cover;
                padding: 20px
            }

                html body .modal.form .modal-content h6 {
                    color: #fff;
                    font-size: 25px;
                    margin-bottom: 30px
                }

                html body .modal.form .modal-content input {
                    padding: 15px 20px;
                    border: none;
                    background-color: #fff;
                    margin: 5px 0;
                    width: 100%
                }

                html body .modal.form .modal-content .intl-tel-input, html body .modal.form .modal-content .iti {
                    width: 100%
                }

                html body .modal.form .modal-content .primary-btn {
                    position: relative !important;
                    width: 100% !important;
                    background-color: #f0e3d2 !important;
                    margin-top: 30px
                }

            html body .modal.show {
                display: block;
                opacity: 1
            }

        html body .modal-content {
            background: #fff;
            padding: 0;
            border: none;
            width: 90%;
            max-width: 400px;
            animation: slideIn 0.4s ease;
            box-shadow: 0 10px 30px rgb(0 0 0 / .2);
            border-radius: 0;
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%)
        }

            html body .modal-content .content {
                padding: 30px
            }

                html body .modal-content .content h6 {
                    font-family: "Mona Sans",sans-serif;
                    font-size: 20px;
                    font-weight: 600;
                    text-align: left;
                    margin-bottom: 15px
                }

                html body .modal-content .content p {
                    margin: 0
                }

@keyframes slideIn {
    from {
        transform: translateY(-30px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

html body .close {
    color: #fff;
    float: right;
    font-size: 30px;
    font-weight: 300;
    cursor: pointer;
    position: absolute;
    right: 30px;
    top: 30px;
    border: 1px solid rgb(255 255 255 / .29);
    height: 50px;
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    background: rgb(255 255 255 / .14);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
}

html body .whatsapp {
    background-color: #fff;
    padding: 10px;
    position: fixed;
    right: 35px;
    bottom: 35px;
    height: 50px;
    width: 50px;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999
}

    html body .whatsapp::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        padding: 25px;
        border: 5px solid #49b15d;
        opacity: .75;
        animation-name: pulse-border;
        animation-duration: 1.5s;
        animation-timing-function: ease-out;
        animation-iteration-count: infinite
    }

html body .phone {
    background-color: #0D8648;
    padding: 10px;
    position: fixed;
    left: 35px;
    bottom: 35px;
    height: 50px;
    width: 50px;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999
}

    html body .phone img {
        width: 20px
    }

    html body .phone::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        padding: 25px;
        border: 5px solid #49b15d;
        opacity: .75;
        animation-name: pulse-border;
        animation-duration: 1.5s;
        animation-timing-function: ease-out;
        animation-iteration-count: infinite
    }

@keyframes pulse-border {
    0% {
        padding: 25px;
        opacity: .75
    }

    75% {
        padding: 50px;
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

@keyframes pulsee {
    0% {
        box-shadow: 0 0 0 0 rgb(37 211 102 / .5)
    }

    80% {
        box-shadow: 0 0 0 14px #fff0
    }
}

html body header {
    position: fixed;
    width: 100%;
    padding: 15px 0;
    background-color: #fff0;
    z-index: 999;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease
}

    html body header .site-header__logo img {
        width: 200px;
        height: auto
    }

    html body header .site-header__prplogo img {
        width: 250px;
        position: absolute;
        left: 0;
        right: 0;
        height: auto;
        margin: 0 auto;
        display: block;
        transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease
    }

    html body header .site-header__right {
        display: flex;
        align-items: center;
        justify-content: flex-end
    }

        html body header .site-header__right select {
            padding: 15px;
            padding-right: 30px;
            display: inline-block;
            height: auto;
            font-size: 14px;
            text-transform: uppercase;
            font-weight: 500;
            letter-spacing: .5px;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            background-color: #f0e3d2;
            background-image: url(../images/caret-down.svg);
            background-repeat: no-repeat;
            background-position: right 10px center;
            background-size: 14px;
            cursor: pointer;
            border: none
        }

    html body header.sticky-header {
        background-image: url(../images/rivabg.webp);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        filter: drop-shadow(2px 2px 20px rgb(51 51 51 / .09))
    }

        html body header.sticky-header .site-header__prplogo img {
            width: 120px
        }

        html body header.sticky-header .site-header__right {
            display: flex;
            align-items: center;
            justify-content: flex-end
        }

html body section {
    padding: 100px 0;
    position: relative
}

    html body section .section-title {
        margin-bottom: 50px;
        font-size: 45px;
        line-height: 60px;
        text-transform: uppercase
    }

    html body section.home-slider {
        padding: 0;
        position: relative;
        overflow: hidden
    }

        html body section.home-slider .hero-slider {
            width: 100%;
            height: 100vh;
            display: flex;
            position: relative;
            z-index: 0
        }

            html body section.home-slider .hero-slider .swiper-container {
                width: 100%;
                height: 100%;
                position: absolute;
                left: 0;
                top: 0
            }

                html body section.home-slider .hero-slider .swiper-container .swiper-button-next, html body section.home-slider .hero-slider .swiper-container .swiper-button-prev {
                    background-size: 20px 44px;
                    height: 80px;
                    width: 80px;
                    border: 1px solid rgb(255 255 255 / .5);
                    border-radius: 50px
                }

                html body section.home-slider .hero-slider .swiper-container .swiper-button-next {
                    background-image: url(../images/arrow-next.svg);
                    right: 5%
                }

                html body section.home-slider .hero-slider .swiper-container .swiper-button-prev {
                    background-image: url(../images/arrow-prev.svg);
                    left: 5%
                }

            html body section.home-slider .hero-slider .swiper-slide {
                overflow: hidden;
                color: #fff
            }

                html body section.home-slider .hero-slider .swiper-slide .slide-inner {
                    width: 100%;
                    height: 100vh;
                    position: absolute;
                    left: 0;
                    top: 0;
                    z-index: 1;
                    background-size: cover !important;
                    background-position: center !important;
                    z-index: 1
                }

                    html body section.home-slider .hero-slider .swiper-slide .slide-inner:before {
                        position: absolute;
                        content: "";
                        left: 0;
                        right: 0;
                        top: 0;
                        bottom: 0;
                        background: #000;
                        background: linear-gradient(180deg,#000000 0%,#fff0 26%,#fff0 68%,#000000 100%);
                        opacity: .8
                    }

                    html body section.home-slider .hero-slider .swiper-slide .slide-inner video {
                        width: 100%;
                        height: 100vh;
                        -o-object-fit: cover;
                        object-fit: cover
                    }

                    html body section.home-slider .hero-slider .swiper-slide .slide-inner img {
                        -o-object-fit: cover;
                        object-fit: cover;
                        width: 100%;
                        height: 100%
                    }

                    html body section.home-slider .hero-slider .swiper-slide .slide-inner .meta {
                        position: absolute;
                        left: 0;
                        right: 0;
                        bottom: 80px;
                        width: 50% !important;
                        text-align: center;
                        margin: 0 auto
                    }

                        html body section.home-slider .hero-slider .swiper-slide .slide-inner .meta span {
                            font-family: Miama;
                            font-size: 80px;
                            line-height: 95px
                        }

                        html body section.home-slider .hero-slider .swiper-slide .slide-inner .meta .banner-caption {
                            font-size: 55px;
                            text-transform: uppercase;
                            margin-bottom: 50px
                        }

        html body section.home-slider .common-bnr-caption {
            position: absolute;
            bottom: 80px;
            width: 70%;
            left: 0;
            right: 0;
            margin: 0 auto
        }

            html body section.home-slider .common-bnr-caption .feature h3 {
                color: #fff;
                font-family: "Mona Sans",sans-serif;
                font-size: 20px;
                font-weight: 600;
                margin-bottom: 5px
            }

            html body section.home-slider .common-bnr-caption .feature h4 {
                color: #fff;
                font-family: "Mona Sans",sans-serif;
                font-size: 15px;
                font-weight: 400;
                margin: 0
            }

            html body section.home-slider .common-bnr-caption .feature .primary-btn {
                float: right
            }

    html body section.about {
        background-image: url(../images/rivabg.webp);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        padding-bottom: 350px
    }

        html body section.about img {
            -o-object-fit: cover;
            object-fit: cover;
            height: 365px
        }

        html body section.about .section-title {
            color: #fff
        }

        html body section.about p {
            color: #fff;
            font-size: 18px;
            line-height: 35px;
            margin-bottom: 20px
        }

        html body section.about .part {
            padding: 0 50px
        }

            html body section.about .part h5 {
                font-size: 25px;
                color: #fff;
                font-family: "Mona Sans",sans-serif;
                margin-bottom: 40px;
                line-height: 35px;
                width: 70%;
                font-weight: 600
            }

        html body section.about .paragraph-wrapper .clamp {
            overflow: hidden;
            line-height: 1.5em;
            transition: max-height 0.3s ease
        }

            html body section.about .paragraph-wrapper .clamp.expanded {
                max-height: 1000px !important
            }

    html body section.video-section {
        padding: 0;
        background-color: #fff8ef
    }

        html body section.video-section .part .video-wrapper video {
            width: 100%;
            height: 550px;
            -o-object-fit: cover;
            object-fit: cover;
            margin-top: -250px
        }

    html body section.amenities {
        background-color: #fff8ef
    }

        html body section.amenities .part {
            padding: 0 50px
        }

            html body section.amenities .part .section-title {
                -webkit-background-clip: text;
                -webkit-text-fill-color: #fff0;
                background-image: linear-gradient(270deg, #032011 30.16%, #064852 68.39%)
            }

            html body section.amenities .part p {
                font-size: 18px;
                color: #000;
                line-height: 35px
            }

        html body section.amenities .swiper {
            margin-top: 50px
        }

            html body section.amenities .swiper .swiper-slide .amenities-card {
                background-color: #fff;
                padding: 40px;
                cursor: pointer
            }

                html body section.amenities .swiper .swiper-slide .amenities-card img {
                    margin-bottom: 30px
                }

                html body section.amenities .swiper .swiper-slide .amenities-card h4 {
                    font-family: "Mona Sans",sans-serif;
                    font-weight: 600;
                    font-size: 18px;
                    text-align: left;
                    margin: 0;
                    width: 90%
                }

    html body section.destination {
        padding: 0;
        padding-bottom: 100px;
        background-color: #064852
    }

        html body section.destination .image-container {
            position: relative
        }

            html body section.destination .image-container img {
                width: 100%;
                height: auto;
                -o-object-fit: cover;
                object-fit: cover;
                -o-object-position: center;
                object-position: center
            }

            html body section.destination .image-container::after {
                position: absolute;
                content: "";
                left: 0;
                right: 0;
                top: 0;
                bottom: 0;
                background: #000;
                background: linear-gradient(180deg,#fff0 0%,#fff0 26%,#fff0 68%,#07261f 100%);
                opacity: .8
            }

        html body section.destination .part {
            margin-top: -100px;
            z-index: 1
        }

        html body section.destination .section-title {
            color: #fff
        }

        html body section.destination p {
            color: #fff;
            font-size: 18px;
            line-height: 35px;
            margin-bottom: 20px
        }

    html body section.floor-plans {
        background-color: #fffcf7
    }

        html body section.floor-plans .part .section-title {
            -webkit-background-clip: text;
            -webkit-text-fill-color: #fff0;
            background-image: linear-gradient(270deg, #032011 30.16%, #064852 68.39%)
        }

        html body section.floor-plans .part p {
            font-size: 18px;
            color: #000;
            line-height: 35px
        }

        html body section.floor-plans .part.floor-container {
            padding-left: 80px;
            padding-right: 0;
            overflow: hidden
        }

            html body section.floor-plans .part.floor-container::before {
                content: "";
                width: 50%;
                height: 100%;
                position: absolute;
                top: 0;
                right: 0;
                background-color: #fff8ef;
                z-index: 0
            }

            html body section.floor-plans .part.floor-container .swiper {
                position: relative
            }

            html body section.floor-plans .part.floor-container .swiper-button-next, html body section.floor-plans .part.floor-container .swiper-button-prev {
                background-size: 20px 44px;
                height: 50px;
                width: 50px;
                border: 1px solid rgb(255 255 255 / .5);
                border-radius: 50px
            }

            html body section.floor-plans .part.floor-container .swiper-button-next {
                background-image: url(../images/arrow-next.svg);
                right: 5%;
                z-index: 9;
                background-color: #155030;
                background-size: 15px
            }

            html body section.floor-plans .part.floor-container .swiper-button-prev {
                background-image: url(../images/arrow-prev.svg);
                left: 5%;
                z-index: 9;
                background-color: #155030;
                background-size: 15px
            }

            html body section.floor-plans .part.floor-container .col {
                position: relative;
                z-index: 1
            }

                html body section.floor-plans .part.floor-container .col span {
                    margin-bottom: 10px;
                    display: block
                }

                html body section.floor-plans .part.floor-container .col h6 {
                    font-family: "Mona Sans",sans-serif;
                    font-weight: 400;
                    font-size: 18px;
                    display: block
                }

                    html body section.floor-plans .part.floor-container .col h6 strong {
                        font-weight: 700;
                        margin-right: 5px
                    }

            html body section.floor-plans .part.floor-container .floor-plan-img {
                margin-top: 50px
            }

                html body section.floor-plans .part.floor-container .floor-plan-img img {
                    width: 55%;
                    height: auto;
                    margin: 0 auto;
                    display: block
                }

            html body section.floor-plans .part.floor-container .primary-btn {
                position: absolute;
                bottom: 0;
                right: 0;
                width: 50%
            }

    html body section.gallery .section-title {
        text-align: center;
        width: 50%;
        margin: 0 auto 20px auto;
        -webkit-background-clip: text;
        -webkit-text-fill-color: #fff0;
        background-image: linear-gradient(270deg, #032011 30.16%, #064852 68.39%)
    }

    html body section.gallery p {
        font-size: 18px;
        color: #000;
        line-height: 35px;
        text-align: center
    }

    html body section.gallery .swiper {
        margin-top: 50px
    }

    html body section.faq-section {
        padding-top: 0
    }

        html body section.faq-section .section-title {
            text-align: center;
            width: 50%;
            margin: 0 auto 50px auto;
            -webkit-background-clip: text;
            -webkit-text-fill-color: #fff0;
            background-image: linear-gradient(270deg, #032011 30.16%, #064852 68.39%)
        }

        html body section.faq-section .faq {
            max-width: 800px;
            margin: 0 auto
        }

            html body section.faq-section .faq details {
                padding: 30px 0;
                border-bottom: 1px solid rgb(204 204 204 / .63);
                transition: all 0.5s ease;
                -webkit-transition: all 0.5s ease;
                -o-transition: all 0.5s ease;
                -moz-transition: all 0.5s ease;
                -ms-transition: all 0.5s ease
            }

            html body section.faq-section .faq summary {
                cursor: pointer;
                font-weight: 600;
                font-size: 20px;
                color: #333;
                list-style: none;
                position: relative
            }

                html body section.faq-section .faq summary::after {
                    content: "+";
                    position: absolute;
                    right: 0;
                    top: -10px;
                    font-size: 30px;
                    transition: transform 0.3s;
                    color: #05a64a;
                    background-color: rgb(240 227 210 / .5);
                    height: 50px;
                    width: 50px;
                    text-align: center;
                    border-radius: 50px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    font-weight: 400
                }

            html body section.faq-section .faq details[open] summary::after {
                content: "-"
            }

            html body section.faq-section .faq p {
                font-size: 18px;
                color: #000;
                line-height: 35px;
                margin-top: 30px
            }

    html body section.enquiry {
        background-color: #fffcf7
    }

        html body section.enquiry .part .section-title {
            margin: 0 auto 50px auto;
            -webkit-background-clip: text;
            -webkit-text-fill-color: #fff0;
            background-image: linear-gradient(270deg, #032011 30.16%, #064852 68.39%)
        }

        html body section.enquiry .part form input {
            padding: 15px 20px;
            border: 1px solid #f6ede0;
            background-color: #fff;
            margin: 5px 0;
            width: 100%
        }

        html body section.enquiry .part form button {
            margin-top: 30px
        }

html body footer {
    padding: 100px 0 0;
    position: relative;
    background-image: url(../images/rivabg.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex
}

    html body footer .footer-top {
        position: relative;
        border-bottom: 1px solid rgb(255 255 255 / .29);
        margin-bottom: 50px;
        padding-bottom: 50px
    }

        html body footer .footer-top .part.line:after {
            content: "";
            width: 1px;
            height: 50%;
            background-color: #fff;
            position: absolute;
            left: 50%;
            top: 30%;
            transform: translate(-50%,-50%)
        }

        html body footer .footer-top .part img {
            width: 300px
        }

        html body footer .footer-top .part .contact {
            padding-left: 100px;
            position: relative
        }

            html body footer .footer-top .part .contact span {
                font-size: 15px;
                margin-bottom: 20px;
                font-weight: 400;
                color: #fff;
                display: block
            }

            html body footer .footer-top .part .contact a {
                display: block;
                color: #fff;
                font-size: 25px;
                font-weight: 600;
                line-height: 35px;
                text-decoration: none
            }

    html body footer .footer-mid .part .address {
        margin-bottom: 30px
    }

        html body footer .footer-mid .part .address span {
            color: #fff;
            text-transform: uppercase;
            font-weight: 600;
            margin-bottom: 15px;
            display: block
        }

        html body footer .footer-mid .part .address p {
            color: #fff;
            font-size: 15px;
            line-height: 25px;
            margin: 0
        }

        html body footer .footer-mid .part .address a {
            color: #fff;
            font-size: 15px;
            line-height: 25px;
            text-decoration: none;
            display: inline-block;
            margin-top: 10px;
            padding: 10px 0;
            position: relative
        }

            html body footer .footer-mid .part .address a:before {
                content: "";
                position: absolute;
                width: 100%;
                height: 2px;
                left: 0;
                bottom: 0;
                background-color: #f0e3d2;
                opacity: .5
            }

    html body footer .footer-mid .part .useful-links span {
        color: #fff;
        text-transform: uppercase;
        font-weight: 600;
        margin-bottom: 15px;
        display: block
    }

    html body footer .footer-mid .part .useful-links ul {
        list-style-type: none;
        padding: 0
    }

        html body footer .footer-mid .part .useful-links ul li a {
            color: #fff;
            font-size: 15px;
            line-height: 40px;
            text-decoration: none
        }

    html body footer .footer-bottom {
        padding: 30px 0;
        margin-top: 30px;
        border-top: 1px solid rgb(255 255 255 / .29)
    }

        html body footer .footer-bottom .social-links {
            float: right
        }

            html body footer .footer-bottom .social-links span {
                color: #fff;
                text-transform: uppercase;
                font-weight: 600;
                margin-bottom: 15px;
                display: block
            }

            html body footer .footer-bottom .social-links a {
                margin-right: 10px
            }

                html body footer .footer-bottom .social-links a img {
                    filter: brightness(5)
                }

        html body footer .footer-bottom p {
            color: #fff;
            font-size: 15px;
            text-align: left;
            margin: 0
        }
