@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Roboto", sans-serif;
    background-color: #ffffff;
}

/* -----------------------------------------------------top-sec ------  */
.top-sec {
    padding-block: 1.3vw;
    padding-inline: 7.5vw;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
}

.main-logo-top {
    width: 5.2vw;

}

.top-btn {
    width: 7.7vw;
    height: 2.2vw;
    font-size: 0.8vw;
    font-weight: 500;
    border: none;
    border-radius: 2.6vw;
    background-color: #f7f6f7;
    transition: 0.6s ease;
    cursor: pointer;
}

.top-btn:hover {
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

/* -----------------------------------------------------hero-sec ------  */
.hero-sec {
    background-image: url(videos/finallow.avif);
    background-color: rgba(0, 0, 0, 0.705);
    background-blend-mode: overlay;
    background-size: cover;
    height: 44.7vw;
    margin-inline: 3.1vw;
    border-radius: 1.3vw 1.3vw 0 1.3vw;
    padding-top: 5.8vw;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.ht-span {
    color: #ffffff;
    font-weight: 500;
    font-size: 0.7vw;
    border: 1px solid #ffffff;
    width: max-content;
    padding-block: 0.6vw;
    padding-inline: 0.8vw;
    border-radius: 2.6vw;
}

.ht-h2 {
    font-size: 3.1vw;
    color: #ffffff;
    font-weight: 500;
    margin: 0;
    padding-top: 1.5vw;
    text-shadow: -1px -1px 1px rgba(255, 255, 255, .1), 1px 1px 1px rgba(0, 0, 0, .5);
}

.ht-para {
    margin: 0;
    padding-top: 0.5vw;
    font-weight: 400;
    font-size: 0.9vw;
    color: #ffffff;
}

.side-counter {
    position: absolute;
    background-color: #ffffff;
    bottom: 0;
    right: -1.7vw;
    width: 46.9vw;
    height: 4.7vw;
    transform: skew(-35deg);
    border-radius: 0.8vw 0 0 0;
}

.side-counter-ul {
    list-style-type: none;
    transform: skew(35deg);
    display: grid;
    grid-template-columns: auto auto auto;
    align-items: center;
    padding: 0 0 0 5.6vw;
    margin: 1vw 0 0 0;
}

.side-counter-ul li {
    text-align: left;
    display: grid;
    grid-template-columns: auto;
}

.num-val {
    font-size: 1.6vw;
    font-weight: 500;
}

.txt-val {
    font-size: 0.8vw;
    font-weight: 400;
}

/* -----------------------------------------------------sec-one ------  */
.sec-one {
    margin-top: 7vw;
    margin-inline: 13.5vw;
}

.so-text {
    text-align: center;
}

.ht-h2-dark {
    font-size: 2.1vw;
    color: #000000;
    font-weight: 500;
    margin: 0;
    padding-top: 1.5vw;
}

.ht-para-dark {
    margin: 0;
    padding-top: 0.5vw;
    font-weight: 400;
    font-size: 1vw;
    color: #000000;
}

.so-card-wrap {
    margin-top: 3vw;
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    justify-content: space-between;
}

.so-card {
    width: 13.3vw;
    height: 17.6vw;
    background-size: cover;
    border-radius: 0.8vw;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    transition: 0.6s ease;
}

.so-card:hover {
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.card-img1 {
    background-image: url(Images/naples-pool.jpg);
}

.card-img2 {
    background-image: url(Images/card2.jpg);
}

.card-img3 {
    background-image: url(Images/card3.jpg);
}

.card-img4 {
    background-image: url(Images/card4.jpg);
}

.card-img5 {
    background-image: url(Images/card5.jpg);
}

.card-header {
    font-size: 1vw;
    font-weight: 500;
    padding: 0;
    margin: 1.7vw 0 0 2.1vw;
    transition: 0.6s ease;
}

.card-value {
    font-size: 0.8vw;
    font-weight: 400;
    padding: 0;
    margin: 0.7vw 0 0 2.1vw;
    transition: 0.6s ease;
}

.so-card:hover .card-header {
    font-size: 1.2vw;
}

.so-card:hover .card-value {
    font-size: 1vw;
}

/* -----------------------------------------------------sec-two ------  */
.sec-two {
    margin-top: 9vw;
    margin-inline: 3.1vw;
    padding-inline: 10vw;
    padding-block: 9vw;
    background-color: #f9f9f9;
    border-radius: 1.3vw;
    display: grid;
    grid-template-columns: 35.7vw 32vw;
    justify-content: space-between;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.st-image-slider {
    width: 35.7vw;
    height: 35.7vw;
}

.st-image-slider img {
    width: 35.7vw;
    height: 35.7vw;
    display: block;
}

.st-text h2 {
    line-height: 1.4;
}

.st-text p {
    line-height: 1.9;
    text-align: justify;
    word-break: keep-all;
    margin-top: 1vw;
}

/* -----------------------------------------------------sec-three ------  */
.sec-three {
    margin-top: 7vw;
    margin-inline: 13.5vw;
}

.sth-text {
    text-align: center;
}

.sth-cards {
    margin-top: 2.5vw;
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: center;
    gap: 2.5vw;
}

.sth-card {
    width: 21.8vw;
    height: 22.1vw;
    border: 1px solid #a094942f;
    border-radius: 0.8vw;
    background-color: #ffffff;
    text-align: center;
    position: relative;
    padding: 1.5vw;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    transition: 0.6s ease;
}

.sth-card:hover {
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    background-color: #b7b7b7;
}

.sth-card:hover .sth-card-icons {
    color: #ffffff;
}

.sth-card:hover .sth-card-text {
    color: #ffffff;
}

.sth-card-icons {
    margin-top: 2.5vw;
    width: 7.6vw;
}

.sth-card-text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 2vw;
}

.sht-h2-dark {
    font-size: 1.7vw;
    font-weight: 500;
    margin: 0;
}

.sht-para-dark {
    font-size: 1vw;
    font-weight: 400;
    margin: 0;
    padding-top: 1.2vw;
}

/* -----------------------------------------------------sec-four ------  */
.sec-four {
    margin-top: 8vw;
    margin-inline: 3.1vw;
    height: 11.2vw;
    border-radius: 0.8vw;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    position: relative;
    overflow: hidden;
}

.long-img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* -----------------------------------------------------sec-five ------  */
.sec-five {
    margin-top: 8vw;
    margin-inline: 3.1vw;
    padding: 10vw;
    background-color: #f9f9f9;
    border-radius: 0.8vw;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.sfi-titles {
    display: grid;
    grid-template-columns: 23.4vw auto;
    justify-content: space-between;
}

.sfi-titles h2 {
    line-height: 1.4;
    padding-top: 0;
    margin-top: 0;
}

.sfi-titles ul {
    list-style-type: none;
    display: grid;
    grid-template-columns: auto auto;
    gap: 5vw;
    padding-top: 0;
    margin-top: 0;
}

.sfi-coun-num {
    font-size: 1.4vw;
    font-weight: 500;
}

.sfi-coun-text {
    font-size: 0.8vw;
}

.stars {
    font-size: 0.9vw;
    color: #e7c873;
}

.sfi-cards {
    padding-top: 2.2vw;
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: space-between;
}

.sfi-card {
    background-color: #ffffff;
    width: 23.3vw;
    border-radius: 0.8vw;
    padding: 2vw;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.card-top-wrap {
    display: grid;
    grid-template-columns: auto 10vw auto;
    justify-content: left;
    gap: 1vw;

}

.card-top-wrap img {
    width: 4.2vw;
    height: 4.2vw;
    border-radius: 50%;
}

.sfi-card-info {
    text-align: left;
}

.sfi-card-info h6 {
    font-size: 0.9vw;
    padding: 0;
    margin: 0.7vw 0 0 0;
    font-weight: 500;
}

.sfi-card-info p {
    font-size: 0.8vw;
    padding: 0;
    margin: 0.5vw 0 0 0;
}

.sfi-quote {
    width: 3.5vw;
    color: #000000;
}

.sfi-card-last {
    font-size: 0.9vw;
    color: #000000;
    font-weight: 400;
    line-height: 1.9;
    padding: 1.8vw 0 0 0;
    margin: 0;
}

/* -----------------------------------------------------sec-six ------  */
.sec-six {
    margin-top: 9vw;
    padding-inline: 13vw;
}

.ss-wrap {
    background-color: #f9f9f9;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    border-radius: 0.8vw;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.form-wrap {
    padding-left: 4vw;
    padding-top: 2vw;

}

form {
    margin-top: 2vw;
    display: grid;
    grid-template-columns: auto;
    gap: 1vw;
}

input {
    background-color: #b7b7b7;
    border: none;
    font-size: 0.8vw;
    font-weight: 500;
    color: #ffffff;
    border-radius: 0.6vw;
    padding: 1vw;
    width: 22.7vw;
    text-align: center;
}

.btn-form {
    color: #ffffff;
    background-color: #1a1a1a;
    border: none;
    width: 7.6vw;
    border-radius: 0.6vw;
    font-size: 0.8vw;
    font-weight: 500;
    padding: 1vw;
}

.ss-wrap img {
    width: 34.1vw;
}

/* -----------------------------------------------------footer ------  */
.footer {
    margin-top: 9vw;
    margin-inline: 3.1vw;
    padding-right: 3vw;
    padding-left: 3vw;
    background-color: #f9f9fb;
    border-radius: 0.8vw;
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    justify-content: space-between;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.footer ul {
    list-style: none;
    padding: 0;
}

.logo-bottom {
    width: 10vw;
}

.foo-txt-icon {
    font-size: 1.6vw;
    font-weight: 500;
}

.foo-title {
    font-size: 1vw;
    font-weight: 500;
    margin-bottom: 1vw;
}

.foo-small-txt,
.foo-para-txt {
    font-size: 0.8vw;
    font-weight: 400;
    line-height: 1.9;
    color: #1f4b43;
}

.foo-social {
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 1.5vw;
}

.foo-social-icon {
    width: 1vw;
}

.last-space {
    background-color: #ffffff;
    height: 16vw;
}


/* ---------------------------------------------------- screen 800--------  */
@media screen and (max-width: 800px) {

    /* --------------------------------------------------top-sec 800-----  */
    .top-sec {
        padding-block: 2.3vw;
        padding-inline: 10vw;
        align-items: center;
    }

    .main-logo-top {
        width: 8vw;
    }

    .top-btn {
        width: max-content;
        height: unset;
        padding: 1vw 2vw;
        font-size: 1.5vw;
    }

    /* --------------------------------------------------hero-sec 800------  */
    .hero-sec {
        height: 55vw;
        padding-top: 9vw;
    }

    .ht-span {
        font-size: 1.5vw;
    }

    .ht-h2 {
        font-size: 5vw;
        color: #ffffff;
    }

    .ht-para {
        font-size: 1.4vw;
    }

    .side-counter {
        bottom: -0.2vw;
        right: -3vw;
        width: 55vw;
        height: unset;
    }

    .side-counter-ul {
        padding: 0 0 0 5.6vw;
        margin: 0;
    }

    .side-counter-ul li {
        padding: 1vw;
    }

    .num-val {
        font-size: 2.6vw;
    }

    .txt-val {
        font-size: 1.5vw;
    }

    /* --------------------------------------------------sec-one 800------  */
    .sec-one {
        margin-top: 10vw;
        margin-inline: 3.1vw;
    }

    .ht-h2-dark {
        font-size: 4vw;
    }

    .ht-para-dark {
        font-size: 1.5vw;
    }

    .so-card-wrap {
        margin-top: 5vw;
        display: grid;
    }

    .so-card {
        width: 17.3vw;
        height: 20.6vw;
    }

    .card-header {
        font-size: 2vw;
    }

    .card-value {
        font-size: 1.5vw;
    }

    .so-card:hover .card-header {
        font-size: 2vw;
    }

    .so-card:hover .card-value {
        font-size: 1.5vw;
    }

    /* ------------------------------------------------sec-two 800------  */
    .sec-two {
        margin-top: 10vw;
        padding-inline: 5.9vw;
        padding-top: 8vw;
        padding-bottom: 10vw;
        grid-template-columns: auto 37vw;
        align-items: last baseline;
    }

    .st-image-slider {
        width: 43vw;
        height: 40vw;
    }

    .st-image-slider img {
        width: 43vw;
        height: 40vw;
    }

    .st-text h2 {
        line-height: 1.1;
    }

    .st-text p {
        line-height: 1.4;
    }

    /* -------------------------------------------------sec-three 800------  */
    .sec-three {
        margin-top: 8vw;
        margin-inline: 3.1vw;
    }

    .sth-cards {
        margin-top: 4vw;
    }

    .sth-card {
        width: 25.8vw;
        height: 25vw;
    }

    .sht-h2-dark {
        font-size: 1.9vw;
    }

    .sht-para-dark {
        font-size: 1.5vw;
    }

    /* ------------------------------------------------sec-four 800------  */
    .sec-four {
        margin-top: 10vw;
        height: 17vw;
    }

    /* -------------------------------------------------sec-five 800------  */
    .sec-five {
        margin-top: 10vw;
        margin-inline: 3.1vw;
        padding-inline: 5.9vw;
        padding-block: 10vw;
    }

    .sfi-titles {
        grid-template-columns: auto auto;
    }

    .sfi-titles h2 {
        line-height: 1.1;
    }

    .sfi-titles ul {
        grid-template-columns: auto auto;
        gap: 4vw;
    }

    .sfi-coun-num {
        font-size: 1.9vw;
    }

    .sfi-coun-text {
        font-size: 1.5vw;
    }

    .stars {
        font-size: 1.9vw;
    }

    .sfi-cards {
        padding-top: 3vw;
        gap: 2vw;
    }

    .sfi-card {
        width: 100%;
    }

    .card-top-wrap img {
        width: 6vw;
        height: 6vw;
    }

    .sfi-card-info h6 {
        font-size: 1.9vw;
    }

    .sfi-card-info p {
        font-size: 1.2vw;
    }

    .sfi-quote {
        width: 5vw;
    }

    .sfi-card-last {
        font-size: 1.5vw;
        line-height: 1.1;
    }

    /* -------------------------------------------------sec-six 800------  */
    .sec-six {
        margin-top: 10vw;
        padding-inline: 5.9;
    }

    .form-wrap {
        padding: 3vw;

    }

    input {
        font-size: 1.5vw;
        width: 100%;
    }

    .btn-form {
        width: 15vw;
        font-size: 1.5vw;
    }

    .ss-wrap img {
        width: 43vw;
        height: 100%;
    }

    /* -------------------------------------------------footer 800------  */
    .footer {
        margin-top: 10vw;
        margin-inline: 3.1vw;
        padding-right: 3vw;
        padding-left: 3vw;
        background-color: #f9f9f9;
        border-radius: 0.8vw;
        display: grid;
        grid-template-columns: auto auto auto auto auto;
        justify-content: space-between;
        align-items: center;
    }

    .footer ul {
        list-style: none;
        padding: 0;
    }

    .logo-bottom {
        width: 9vw;
    }

    .foo-txt-icon {
        font-size: 1.9vw;
    }

    .foo-title {
        font-size: 1.8vw;
    }

    .foo-small-txt,
    .foo-para-txt {
        font-size: 1.3vw;
    }

    .foo-social {
        grid-template-columns: auto auto;
        gap: 1vw;
    }

    .foo-social-icon {
        width: 2vw;
    }

}


/* ---------------------------------------------------- screen 500--------  */
@media screen and (max-width: 500px) {

    /* --------------------------------------------------top-sec 500-----  */
    .top-sec {
        padding-block: 3vw;
    }

    .main-logo-top {
        width: 12vw;
    }

    .top-btn {
        font-size: 3vw;
    }

    /* --------------------------------------------------hero-sec 500------  */
    .hero-sec {
        height: 95vw;
        padding-top: 15vw;
    }

    .ht-span {
        font-size: 3.2vw;
        padding-inline: 2vw;
    }

    .ht-h2 {
        font-size: 10vw;
    }

    .ht-para {
        font-size: 3vw;
    }

    .side-counter {
        right: -5vw;
        width: 75vw;
        padding: 2vw;
    }

    .num-val {
        font-size: 4vw;
    }

    .txt-val {
        font-size: 2.8vw;
    }

    /* --------------------------------------------------sec-one 500------  */
    .sec-one {
        margin-top: 15vw;
    }

    .ht-h2-dark {
        font-size: 8vw;
    }

    .ht-para-dark {
        font-size: 4vw;
    }

    .so-card-wrap {
        grid-template-columns: auto;
        justify-content: center;
        gap: 6vw;
    }

    .so-card {
        width: 70vw;
        height: 70vw;
    }

    .card-header {
        font-size: 5vw;
        padding: 5vw 0 0 5vw;
    }

    .card-value {
        font-size: 4vw;
        padding: 0 0 0 5vw;
    }

    .so-card:hover .card-header {
        font-size: 5vw;
    }

    .so-card:hover .card-value {
        font-size: 4vw;
    }

    /* ------------------------------------------------sec-two 500------  */
    .sec-two {
        margin-top: 15vw;
        padding-top: 14vw;
        padding-bottom: 15vw;
        grid-template-columns: auto;
        align-items: last baseline;
        gap: 6vw;
    }

    .st-image-slider {
        width: 80vw;
        height: 80vw;
    }

    .st-image-slider img {
        width: 80vw;
        height: 80vw;
    }

    /* -------------------------------------------------sec-three 500------  */
    .sec-three {
        margin-top: 13vw;
    }

    .sth-cards {
        margin-top: 6vw;
        grid-template-columns: auto;
        gap: 6vw;
    }

    .sth-card {
        width: 70vw;
        height: 70vw;
    }

    .sth-card-icons {
        margin-top: 10vw;
        width: 25vw;
    }

    .sht-h2-dark {
        font-size: 5vw;
    }

    .sht-para-dark {
        font-size: 4vw;
    }

    /* ------------------------------------------------sec-four 500------  */
    .sec-four {
        margin-top: 15vw;
        height: 30vw;
    }

    /* -------------------------------------------------sec-five 500------  */
    .sec-five {
        margin-top: 15vw;
        padding-block: 15vw;
    }

    .sfi-titles {
        grid-template-columns: auto;
    }

    .sfi-titles ul {
        margin-top: 6vw;
    }

    .sfi-coun-num {
        font-size: 5vw;
    }

    .sfi-coun-text {
        font-size: 4vw;
    }

    .stars {
        font-size: 5vw;
    }

    .sfi-cards {
        padding-top: 4vw;
        grid-template-columns: auto;
        gap: 6vw;
    }

    .card-top-wrap {
        grid-template-columns: auto 40vw auto;
        gap: 4vw;

    }

    .sfi-card {
        padding: 6vw;
    }

    .card-top-wrap img {
        width: 16vw;
        height: 16vw;
    }

    .sfi-card-info h6 {
        font-size: 5vw;
    }

    .sfi-card-info p {
        font-size: 4vw;
    }

    .sfi-quote {
        width: 10vw;
    }

    .sfi-card-last {
        font-size: 4vw;
        line-height: 1.3;
    }

    /* -------------------------------------------------sec-six 500------  */
    .sec-six {
        margin-top: 15vw;
    }

    .ss-wrap {
        grid-template-columns: auto;
        justify-content: center;
        gap: 6vw;
        border-radius: 0 0 7vw 7vw;
    }

    form {
        margin-top: 6vw;
        gap: 4vw;
        margin-right: 4vw;
    }

    input {
        font-size: 4vw;
        padding: 2vw;
        width: 100%;
    }

    .btn-form {
        width: 40vw;
        padding: 2vw;
        font-size: 4vw;
    }

    .ss-wrap img {
        width: 100%;
        border-radius: 7vw;
    }

    /* -------------------------------------------------footer 500------  */
    .footer {
        margin-top: 15vw;
        padding-right: 3vw;
        padding-left: 3vw;
        padding-block: 9vw;
        grid-template-columns: auto;
        justify-content: last baseline;
    }

    .logo-bottom {
        width: 25vw;
    }

    .foo-txt-icon {
        font-size: 7vw;
    }

    .foo-title {
        font-size: 6vw;
    }

    .foo-small-txt,
    .foo-para-txt {
        font-size: 5vw;
    }

    .foo-social {
        grid-template-columns: auto auto auto auto;
    }

    .foo-social-icon {
        width: 7vw;
    }

}