@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

body {
    font-family: "Montserrat", sans-serif;
    overflow-x: hidden;
}

:root {
    --green: #017280CC;
    --purple: #00008ECC;
    --yellow: #FFC400;
}

/* Header */

.header {
    padding: 20px 10px 10px 10px;
    position: relative;
    z-index: 3;
    background-color: transparent;
}

.navbar {
    display: block;
}

.nav-ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 35px;
    margin-bottom: 0;
    padding-left: 0;
}

.navlogo {
    width: 70%;
}

.list {
    color: white;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 10px;
    text-decoration-thickness: 2px;
}

.list:hover,
.footul li:hover a {
    text-decoration-color: white;
    transition: 0.3s;
}

.active {
    text-decoration-color: white;
}

/* Header */

.sec1 {
    background: url(../images/banner.png);
    background-size: cover;
    padding: 250px 10px 200px;
    margin-top: -80px;
    background-position: bottom;
}

.sec1-inner {
    color: white;
    text-align: center;
    margin: auto;
    width: 75%;
}

.sec1-inner h5 {
    color: #FFFFFF;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 12px;
}

.sec1-inner h1 {
    font-size: 70px;
    font-weight: 800;
    color: #FFFFFF;
    text-transform: uppercase;
}

.btns {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
}

.rmbtn {
    color: var(--purple);
    background-color: white;
    padding: 15px 30px;
    font-weight: 500;
    height: 60px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rmbtn:hover {
    color: white;
    background-color: var(--purple);
    transition: 0.3s ease-in-out;
}

.rmbtn i {
    background-color: var(--purple);
    color: white;
    padding: 5px 8px;
    margin-right: 10px;
}

.rmbtn:hover i {
    color: var(--purple);
    background-color: white;
    transition: 0.3s ease-in-out;
}

.dnbtn {
    color: #fff;
    background-color: var(--purple);
    padding: 15px 30px;
    font-weight: 500;
    height: 60px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dnbtn:hover {
    color: var(--purple);
    background-color: white;
    transition: 0.3s ease-in-out;
}

.purple-head {
    color: var(--purple);
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 8px;
}

.black-head {
    font-size: 50px;
    font-weight: 800;
    color: #000;
    text-transform: uppercase;
}

.afbtn {
    color: white;
    background-color: var(--green);
    padding: 15px 30px;
    text-decoration: none;
    border: 1px solid var(--green);
    height: 60px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
}

.afbtn:hover {
    background-color: white;
    color: var(--green);
    transition: 0.3s ease-in-out;
}

.afbtn i {
    color: var(--green);
    background-color: white;
    padding: 5px 8px;
    margin-right: 10px;
}

.afbtn:hover i {
    background-color: var(--green);
    color: white;
    transition: 0.3s ease-in-out;
}

.sec2-img img,
.sec3-img img {
    width: 100%;
}

.sec2,
.sec3,
.sec4,
.sec5,
.sec6 {
    padding: 70px 10px 10px;
}

.sec3-cntnt {
    width: 80%;
}

.sec4-head,
.sec5-head {
    text-align: center;
    padding-bottom: 10px;
}

.sec6-head {
    padding-bottom: 10px;
}

.service {
    background: url(../images/service-bg.png);
    padding: 20px;
    text-align: center;
    background-size: cover;
    color: white;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: space-between;
    height: 380px;
    border: 1px solid var(--purple);
}

.service:hover {
    background: white;
    color: #000;
    transition: 0.8s;
}

.service:hover img {
    filter: invert(1);
    transition: 0.8s;
}

.service:hover .service-rm,
.service:hover h4 {
    color: #000;
    transition: 0.8s;
}

.sec5-body {
    display: grid;
    grid-template-columns: 24% 24% 24% 24%;
    align-items: center;
    gap: 17px;
    padding-top: 20px;
}

.sec5-body img {
    width: 100%;
    height: 100%;
    border: 10px;
}

.port-imgs {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.service-rm {
    color: white;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
}

.sec4 .afbtn {
    margin: 30px auto auto;
}

.service img {
    width: 40%;
    margin: auto;
}

.service h4 {
    color: white;
    font-size: 20px;
    margin: 0;
}

.service p {
    margin: 0;
    font-size: 14px;
}

.sec5-head img {
    width: 100%;
}

.testimonial {
    box-shadow: 0px 2px 25px #00008E27;
    border-radius: 35px;
    padding: 50px;
    width: 80%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

.testi-prof {
    display: flex;
    gap: 20px;
    align-items: center;
}

.info h4 {
    font-size: 30px;
    color: black;
    font-weight: 700;
}

.info h6 {
    font-size: 16px;
}

.stars i {
    color: var(--yellow);
}

.testi-text p {
    margin: 0;
}

.owl-nav {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    gap: 20px;
}

.owl-prev,
.owl-next {
    font-size: 30px !important;
    border: 1px solid black !important;
    border-radius: 10px !important;
    height: 55px;
    width: 55px;
    display: flex;
    font-size: 20px !important;
    justify-content: center;
    align-items: center;
}

.sec6 {
    padding-bottom: 80px;
}

/* Footer */

footer {
    background: url(../images/footer-bg.png);
    background-size: cover;
}

.Main-foot {
    color: white;
    padding: 50px 10px;
}

.footul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 0;
}

.Main-foot h4 {
    font-size: 20px;
    color: white;
    font-weight: 700;
}

.footul a {
    color: white;
    text-decoration: none;
    font-size: 16px;
}

.footul i {
    color: white;
    padding-right: 10px;
    font-size: 15px;
}

.footlogo img {
    width: 80%;
}

.icons {
    display: flex;
    gap: 10px;
}

.icons i {
    font-size: 25px;
    color: white;
}

.footlogo {
    margin-bottom: 15px;
}

.reserve p {
    margin-bottom: 0;
    font-size: 16px;
    text-align: center;
}

.copyright {
    color: white;
    background-color: transparent;
    border-top: 1px solid white;
    padding: 10px;
}

.foot-socials {
    display: flex;
    align-items: center;
    gap: 25px;
}

.signup .search-field {
    background-color: transparent;
    padding: 15px;
    color: white !important;
    border: 1px solid #E1E1E1;
    width: 100%;
    border-radius: 50px;
}

.signup .search {
    width: 100%;
    position: relative;
}

::placeholder {
    color: white;
}

.search-field:focus-visible {
    border-color: white;
    outline: 0;
}

.secondcol {
    padding-left: 30px;
}

.subbtn {
    border-radius: 50px;
    position: absolute;
    top: 50%;
    height: 45px;
    right: 2%;
    width: 45px;
    transform: translateY(-50%);
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.foot-info a {
    display: flex;
    color: white;
    align-items: center;
    text-decoration: none;
    gap: 20px;
}

.text p {
    margin: 0;
    font-size: 12px;
}

.text h4 {
    font-size: 14px;
}

.thirdcol {
    display: flex;
    flex-direction: column;
    gap: 30px;
}


/* Footer */



/*  Template page  */

.template-main .sec2 {
    padding: 80px 10px;
}

.template-main .port-imgs h5 {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.template-main .port-imgs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.template-main .port-imgs p {
    font-size: 14px;
    font-style: italic;
    margin: 0px 0px 5px;
}

/*  Template page  */


/*  Price Page  */

.price-main .sec2 {
    padding: 80px 10px;
}

.price-main .sec1-inner {
    width: 90%;
}

.package {
    background: linear-gradient(to left, #017280CC, #00008ECC);
    border-radius: 10px;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.p-head h3 {
    font-size: 40px;
    color: white;
    padding-bottom: 25px;
    font-weight: 600;
}

.p-head h5 {
    font-size: 18px;
    color: white;
}

.p-head p {
    color: white;
    font-size: 14px;
    margin: 0;
}

.p-price {
    font-size: 55px;
    color: white;
    font-weight: 700;
}

.p-foot h4 {
    font-size: 20px;
    color: white;
}

.p-foot ul {
    padding: 10px 0px 50px;
    margin: 0;
    color: white;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.p-foot li {
    display: flex;
    align-items: center;
    gap: 15px;
}

.tffbtn {
    color: #4296A0;
    text-decoration: none;
    background-color: white;
    border: 1px solid white;
    padding: 20px 30px;
    display: block;
    font-size: 18px;
    text-align: center;
    border-radius: 10px;
}

.tffbtn:hover {
    color: white;
    background-color: transparent;
    transition: 0.3s;
}

.p-price span {
    font-size: 20px;
    font-weight: 500;
}

/*  Price Page  */




/*  Contact Page  */


.contact-main .sec1 {
    padding: 200px 10px 150px;
    background-position: bottom;
}

.contact-section {
    padding: 50px;
    background: linear-gradient(to bottom, #00008e6e, #0172807a);
    color: white;
    border-radius: 50px;
    margin: auto;
    width: 90%;
    backdrop-filter: blur(30px);
}

.contact-fields:focus-visible {
    outline: 0;
}

.left h1 {
    font-size: 60px;
    font-weight: 800;
    margin-bottom: 10px;
}

.left p {
    font-size: 16px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact-form p {
    margin: 0;
    font-size: 16px;
}

.contact-fields {
    padding: 25px;
    border-radius: 40px;
    border: 1px solid white;
    background-color: transparent;
    width: 100%;
    font-size: 16px;
    color: white;
}


.connectbtn {
    padding: 15px 40px;
    border-radius: 40px;
    border: 1px solid white;
    background-color: transparent;
    font-size: 16px;
    color: white;
    width: max-content;
}

.left .thirdcol {
    gap: 20px;
}

.left .foot-info img {
    width: 8%;
}

.left .text h6 {
    margin: 0;
}


/*  Contact Page  */

@media only screen and (min-width:0px) and (max-width:767px) {

    /* Header */


    .navbar-toggler {
        float: right;
    }

    .navbar-toggler i {
        font-size: 25px;
        color: white;
    }

    .navlogo {
        width: 60%;
    }

    .list {
        color: black;
    }

    .list:hover {
        text-decoration-color: #000;
        transition: 0.3s;
    }

    .navbar-brand .logo {
        width: 100%;
    }

    #navbarOffcanvas {
        background-color: white !important;
        width: 71%;
    }

    .nav-ul {
        gap: 15px;
        flex-direction: column;
    }

    button.btn-close.btn-close-white.text-reset {
        filter: invert(0) brightness(0);
    }


    /* Header */

    .sec1-inner {
        width: 100%;
    }

    .sec1-inner h1 {
        font-size: 24px;
    }

    .sec1-inner h5 {
        font-size: 10px;
        letter-spacing: 6px;
    }


    .sec1-inner {
        font-size: 14px;
    }

    .rmbtn,
    .dnbtn,
    .afbtn {
        font-size: 12px;
        padding: 10px 19px;
        height: 40px;
        gap: 5px;
    }

    .afbtn {
        margin: auto;
    }

    .rmbtn i {
        padding: 3px 3px;
        font-size: 10px;
        margin-right: 0;
    }

    .purple-head {
        font-size: 10px;
        letter-spacing: 6px;
        text-align: center;
    }

    .sec1 {
        padding: 150px 10px 100px;
    }

    .black-head {
        font-size: 22px;
        text-align: center;
    }

    .sec2-cntnt {
        font-size: 14px;
        text-align: center;
    }

    .ord {
        order: 1;
    }

    .sec2-img img,
    .sec3-img img {
        padding-bottom: 20px;
    }

    .sec3-cntnt {
        width: 100%;
        font-size: 14px;
        text-align: center;
    }

    .service img {
        width: 25%;
    }

    .afbtn i {
        padding: 3px 4px;
    }

    .service {
        gap: 10px;
        height: 300px;
        margin: 10px 0px;
    }

    .service h4 {
        color: white;
        font-size: 18px;
    }

    .service p {
        margin: 0;
        font-size: 12px;
    }

    .service-rm {
        color: white;
        font-size: 14px;
    }

    .sec5-body {
        gap: 5px;
    }

    .port-imgs {
        gap: 5px;
    }

    .testimonial {
        box-shadow: 0px 2px 25px #00008E27;
        border-radius: 35px;
        padding: 10px;
        width: 100%;
    }

    .testi-text p {
        margin: 0;
        text-align: center;
        font-size: 14px;
    }

    .info h4 {
        font-size: 20px;
    }

    .info h6 {
        font-size: 12px;
    }

    .image {
        width: 25% !important;
    }

    .testi-prof {
        gap: 10px;
        justify-content: center;
    }

    .owl-nav {
        width: 100%;
        justify-content: space-between;
    }

    .owl-prev,
    .owl-next {
        height: 35px;
        width: 35px;
        font-size: 14px !important;
    }

    .owl-nav {
        top: 18%;
    }

    /* Footer */

    .footlogo img {
        width: 60%;
    }

    .firstcol {
        font-size: 14px;
    }

    .secondcol {
        padding-left: 0;
        padding-top: 25px;
    }

    .fourthcol p {
        font-size: 14px;
    }

    .footul a {
        font-size: 14px;
    }

    .foot-info img {
        width: 8%;
    }

    .thirdcol {
        gap: 15px;
        padding-top: 25px;
    }

    .footul i {
        color: white;
        padding-right: 10px;
        font-size: 12px;
    }


    .signup .search-field {
        font-size: 14px;
    }

    .fourthcol {
        padding-top: 25px;
    }

    .subbtn {
        height: 40px;
        width: 40px;
    }

    .reserve p {
        font-size: 14px;
    }

    /* Footer */

    /*  Template Page  */

    .template-main .port-imgs h5 {
        font-size: 16px;
    }

    .template-main .port-imgs p {
        font-size: 12px;
    }

    .template-main .sec5-body {
        grid-template-columns: 48% 48%;
        gap: 10px;
    }

    /*  Template Page  */



    /*  Price Page  */

    .price-main .sec2 {
        padding: 40px 10px;
    }

    .price-main .sec1-inner {
        width: 100%;
    }

    .p-head p {
        color: white;
        font-size: 10px;
    }

    .p-price span {
        font-size: 16px;
        font-weight: 500;
    }

    .p-price {
        font-size: 40px;
    }

    .p-head h5 {
        font-size: 14px;
    }

    .p-head p {
        color: white;
        font-size: 10px;
    }

    .p-head h3 {
        font-size: 30px;
        color: white;
        padding-bottom: 10px;
        font-weight: 600;
    }

    .package {
        padding: 30px 20px;
        gap: 15px;
        margin: 10px 0px;
    }

    .p-foot h4 {
        font-size: 16px;
    }

    .p-foot ul {
        padding: 10px 0px 30px;
        gap: 10px;
    }

    .p-foot li {
        font-size: 12px;
        gap: 10px;
    }

    .tffbtn {
        padding: 10px 20px;
        font-size: 14px;
    }

    /*  Price Page  */



    /*  Contact Us Page  */

    .contact-main .sec1 {
        padding: 150px 10px 120px;
        background-position: bottom;
    }

    .contact-section {
        padding: 20px;
        width: 100%;
        border-radius: 20px;
    }

    .left h1 {
        font-size: 26px;
        text-align: center;
        margin-bottom: 0;
    }

    .contact-fields {
        padding: 10px;
        font-size: 12px;
    }

    .left p {
        font-size: 12px;
        text-align: center;
    }

    .contact-form {
        gap: 5px;
    }

    .left .text h6 {
        margin: 0;
        font-size: 12px;
    }

    .contact-form p {
        margin: 0;
        font-size: 12px;
        text-align: center;
    }

    .connectbtn {
        padding: 10px 30px;
        font-size: 12px;
        width: 100%;
    }

    .right h2 {
        font-size: 15px;
        text-align: center;
    }

    .right {
        padding-top: 30px;
    }

    .left .thirdcol {
        gap: 15px;
        padding: 0;
    }

    .left .text p {
        font-size: 12px;
    }

    /*  Contact Us Page  */

}


@media only screen and (min-width:768px) and (max-width:1023px) {

    /* Header */

    .list {
        font-size: 15px;
    }

    .nav-ul {
        gap: 20px;
    }

    /* Header */


    .sec1 {
        padding: 150px 10px 100px;
    }

    .sec1-inner h5 {
        font-size: 14px;
        letter-spacing: 10px;
    }

    .sec1-inner h1 {
        font-size: 50px;
    }

    .sec1-inner {
        font-size: 14px;
        width: 90%;
    }

    .rmbtn,
    .afbtn,
    .dnbtn {
        padding: 12px 24px;
        height: 50px;
    }

    .black-head {
        font-size: 26px;
    }

    .purple-head {
        font-size: 12px;
    }

    .sec2-cntnt {
        font-size: 14px;
    }

    .sec3-cntnt {
        font-size: 14px;
        width: 100%;
    }

    .service {
        padding: 15px;
        gap: 15px;
        height: 300px;
        margin: 10px 0px;
    }

    .service img {
        width: 25%;
        margin: auto;
    }

    .service h4 {
        color: white;
        font-size: 18px;
    }

    .service p {
        margin: 0;
        font-size: 12px;
    }

    .service-rm {
        font-size: 14px;
    }

    .sec5-body {
        gap: 10px;
    }

    .port-imgs {
        gap: 10px;
    }

    .testimonial {
        padding: 20px
    }

    .info h4 {
        font-size: 24px;
    }

    .info h6 {
        font-size: 14px;
    }

    .testi-text p {
        font-size: 14px;
    }

    .image {
        width: 20%;
    }

    /* Footer */

    .footlogo img {
        width: 60%;
    }

    .firstcol {
        font-size: 14px;
    }

    .secondcol {
        padding-left: 0;
        padding-top: 25px;
    }

    .fourthcol p {
        font-size: 14px;
    }

    .foot-info img {
        width: 15%;
    }

    .footul a {
        font-size: 14px;
    }

    .thirdcol {
        gap: 15px;
        padding-top: 25px;
    }


    .signup .search-field {
        font-size: 14px;
    }

    .fourthcol {
        padding-top: 25px;
    }

    .subbtn {
        height: 40px;
        width: 40px;
    }

    .reserve p {
        font-size: 14px;
    }

    .text p {
        margin: 0;
        font-size: 10px;
    }

    .footul i {
        padding-right: 5px;
        font-size: 10px;
    }

    /* Footer */


    /*  Template Page  */

    .template-main .port-imgs h5 {
        font-size: 16px;
    }

    .template-main .port-imgs p {
        font-size: 12px;
    }

    .template-main .sec5-body {
        grid-template-columns: 32% 32% 32%;
        gap: 15px;
    }

    /*  Template Page  */


    /*  Price Page  */


    .p-head h3 {
        font-size: 30px;
        padding-bottom: 15px;
    }

    .p-head h5 {
        font-size: 15px;
    }

    .p-head p {
        font-size: 12px;
    }

    .p-price {
        font-size: 42px;
    }

    .p-price span {
        font-size: 16px;
    }

    .p-foot h4 {
        font-size: 16px;
    }

    .p-foot ul {
        padding: 10px 0px 40px;
        gap: 15px;
    }

    .package {
        padding: 35px 25px;
        gap: 20px;
        margin: 10px 0px;
    }

    .p-foot li {
        gap: 10px;
        font-size: 14px;
    }

    .tffbtn {
        padding: 15px 30px;
        font-size: 16px;
    }

    /*  Price Page  */



    /*  Contact Us Page  */

    .contact-main .sec1 {
        padding: 150px 10px 120px;
        background-position: bottom;
    }

    .contact-section {
        padding: 40px;
        width: 100%;
    }

    .left h1 {
        font-size: 30px;
    }

    .contact-fields {
        padding: 15px;
    }

    .left p {
        font-size: 14px;
    }

    .contact-form p {
        margin: 0;
        font-size: 14px;
    }

    .connectbtn {
        padding: 10px 30px;
        font-size: 14px;
    }

    .right h2 {
        font-size: 20px;
    }

    .left .thirdcol {
        gap: 15px;
        padding: 0;
    }

    .left .text p {
        font-size: 12px;
    }

    /*  Contact Us Page  */
}