@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Satisfy&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Mulish", sans-serif;
    text-decoration: none !important;
   /*  font-family: "Satisfy", cursive; */
}
:root
{
    --primary-color: #2c2c2c;
    --secondary-color: #111;
    --btn-bg: rgb(17 24 39/1);
    --btn-border: #e5e5e556;
    --warning-color: crimson;
    --text-purple: #5f11e8;
}
body
{
    color: var(--primary-color) !important;
}
.web_frame
{
    padding-left: 70px;
    padding-right: 70px;
}

/*--- index ---*/
.nav_bar
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    padding-top: 5px;
    padding-bottom: 5px;
}

@media(min-width: 992px)
{
    .nav_bar.active 
    {
        background-color: white;
    }
    .nav_bar.active .nav-link
    {
        color: var(--secondary-color) !important;
    }
    .nav_bar.active .login_btn
    {
        border: 0.5px solid #2c2c2c;
    }
    .nav_bar.active .login_btn:hover
    {
        background-color: var(--secondary-color) !important;
        color: white !important;
    }
    
}


.navbar-toggler
{
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: white !important;
    font-size: 25px !important;
}

.navbar-brand img
{
    width: 180px;
}
.nav-item
{
    margin: 0 16px;
}
.nav-link
{
   color:  white !important;
   font-size: 17px;
   font-weight: 600;
}
.login_btn
{
    background-color: transparent;
    border: 0.5px solid var(--btn-border);
    color: white !important;
    padding: 9px 20px !important;
    border-radius: 2px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    transition: all linear 0.4s !important;
    position: relative;
}
.login_btn:hover
{
    background-color: white;
    color: var(--secondary-color) !important;

}

.hero
{
    height: 100vh;
    width: 100%;
    position: relative;
}
.hero_item 
{
    position: relative;
}
.hero_item img 
{
    height: 100vh;
    object-fit: cover;
}
.hero_item::before
{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.4);
}
.search_box
{
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 40px;
    border-radius: 10px;
    z-index: 11;
    max-width: 1000px;
    width: 96%;
}
.search_box > h4 
{
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    font-family: "Satisfy", cursive;
    color: var(--secondary-color);
}
.search_box > h1 
{
    font-size: 28px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    color: var(--secondary-color);
}
.search_inp_box
{
    border: 1px solid #ccc;
    padding: 10px 15px;
    width: 100%;
    border-radius: 5px;
    display: grid;
    grid-template-columns: 14px auto;
    gap: 5px;
    align-items: center;
    margin: 10px 0;
    position: relative;
}
.search_icon > i 
{
    font-size: 18px;
}
.search_inp
{
    position: relative;
}
.search_inp input
{
    height: 35px;
    width: 100%;
    padding: 0 10px;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 15px;
    font-weight: 500;
}

.search_inp > label
{
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    color: var(--secondary-color);
    font-weight: 700;
    font-size: 14px;
    pointer-events: none;
    transition: top 0.3s ease;
}

.search_inp input:focus ~  label,
.search_inp input:not(:placeholder-shown) ~ label {
    top: -25%;
    left: 10px;
    background-color: white;
}

.search_btn
{
    background-color: var(--secondary-color);
    color: white;
    width: 100%;
    height: 55px;
    border-radius: 5px;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 16px;
    font-weight: 700;
    margin: 10px 0;
}
.search_btn:hover
{
    opacity: 0.9;
}
.search_location
{
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    overflow: hidden;
    max-height: 0px;
    overflow-y: auto;
    z-index: 11;
}

.drop_location.show,.booking_type.show,.booking_price.show 
{
    max-height: 200px;
}






.search_location > ul 
{
    margin: 0;
    padding: 0;
    list-style: none;
    box-shadow: none;
}
.search_location > ul > li 
{
    padding: 10px 15px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    border-bottom: 1px solid #e5e5e5;
}
.search_location > ul > li > i 
{
    margin-right: 5px;
}
.search_location > ul > li.active,.search_location > ul > li:hover
{
    background-color: #e5e5e544;
} 
.popular_place
{
    padding-top: 50px;
}
.popular_place > h1 
{
    font-size: 35px;
    font-weight: 700;
    color: var(--secondary-color);
    margin: 0;
}
.popular_place > p 
{
    font-size: 18px;
    font-weight: 400;
    margin: 0; 
}

.popular_place_in
{
    margin-top: 30px;
}
.popular_item
{
    position: relative;
    display: block;
    margin: 10px 10px;
    border-radius: 10px;
    overflow: hidden;
    color: white !important;
}
.popular_item::before
{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    background-color: rgba(0,0,0,0.4);
}
.popular_item > img
{
    height: 450px;
    object-fit: cover;
    transition: all 0.2s linear;
}
.popular_item:hover > img
{
 transform: scale(1.1);
}
.popular_place_info
{
    position: absolute;
    bottom: 40px;
    left: 40px;
    z-index: 1;
}
.popular_place_info > h1 
{
    font-size: 28px;
    font-weight: 600;
    margin: 0;
}
.popular_place_info > p 
{
    font-size: 16px;
    font-weight: 400;
    margin: 5px 0;
}

.popular_place_in .owl-carousel .owl-nav button.owl-prev
{
    position: absolute;
    top: 40%;
    left: -20px;
    font-size: 20px;
    height: 40px;
    width: 40px;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color) !important;
}
.popular_place_in .owl-carousel .owl-nav button.owl-next
{
    position: absolute;
    top: 40%;
    right: -20px;
    font-size: 20px;
    height: 40px;
    width: 40px;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color) !important;
}

.popular_place_in .owl-carousel .owl-nav button.owl-prev:hover, .popular_place_in .owl-carousel .owl-nav button.owl-next:hover 
{
    background-color: var(--secondary-color);
    color: white !important;
}

.popular_place_in .owl-carousel .owl-nav button.owl-prev span,.popular_place_in .owl-carousel .owl-nav button.owl-next span
{
    margin-top: 2px;
}

.rental_place
{
    padding-top: 50px;
    padding-bottom: 30px;
}
.rental_place > h1 
{
    font-size: 35px;
    font-weight: 700;
    color: var(--secondary-color);
    margin: 0;
}
.rental_place > p 
{
    font-size: 18px;
    font-weight: 400;
    margin: 0; 
}
.rental_place_in
{
    margin-top: 30px;
}
.rental_item
{
    display: block;
    color: var(--secondary-color) !important;
    margin: 15px 0;
    padding: 10px 18px 20px 18px;
    border-radius: 10px;
}
.rental_gallery
{
    border-radius: 10px;
    overflow: hidden;
}
.rental_gallery img 
{
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: all linear 0.2s;
}
.rental_gallery:hover > img 
{
    transform: scale(1.1);
}
.rental_info
{
    margin-top: 15px;
}
.rental_info > h4 
{
    font-size: 17px;
    font-weight: 700;
    margin: 0;
}
.rental_info > p 
{
    font-size: 14px;
    font-weight: 500;
    margin: 0;
    color: var(--primary-color) !important;
}
.rental_price
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 5px;
}

.rental_price > h3 
{
    font-size: 20px;
    font-weight: 800;
    margin: 0;
}

.rental_price > h3 > del 
{
   font-size: 18px;
   text-decoration: line-through !important; 
   color: var(--warning-color);
}


.rental_price > h3 small
{
    font-size: 14px;
    font-weight: 500;
}
.rental_price figure
{
    display: flex;
    align-items: center;
    gap: 0 8px;
    margin: 0;
}
.rental_rating
{
    white-space: nowrap;
}
.rental_rating i 
{
    margin: 0 0px;
    color: orange;
    font-size: 14px;
}
.total_booked 
{
    font-size: 15px;
    font-weight: 600;
}
.more_rental_btn_box
{
    margin-top: 50px;
}
.more_rental_destination
{
    background-color: var(--secondary-color);
    color: white !important;
    max-width: 250px;
    width: 100%;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 18px 25px;
    border-radius: 5px;
    border: 1px solid transparent;
    transition: all linear 0.2s;
}
.more_rental_destination:hover
{
    background-color: white;
    color: var(--secondary-color) !important;
    border: 1px solid var(--secondary-color);
}

.testimonial
{
    padding-top: 50px;
    padding-bottom: 30px;
}
.testimonial > h1 
{
    font-size: 35px;
    font-weight: 700;
    color: var(--secondary-color);
    margin: 0;
}
.testimonial > p 
{
    font-size: 18px;
    font-weight: 400;
    margin: 0; 
}
.testimonial_in
{
    margin-top: 30px;
}
.testimonial_item
{
    margin: 10px;
    padding: 30px;
    border-radius: 10px;
    color: var(--secondary-color) !important;
    border: 2px solid #e5e5e5;
    background-color: white;
}
.testimonial_content
{
    max-height: 200px;
    overflow: auto;
}
.testimonial_content::-webkit-scrollbar
{
    width: 2px;
}
.testimonial_content::-webkit-scrollbar-thumb
{
    border-radius: 5px;
    background-color: var(--btn-border);
}
.testimonial_content p 
{
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}
.testimonial_info
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 15px;
    border-top: 1px solid #e5e5e5;
    padding-top: 15px;
}
.testimonial_info_left
{
    display: flex;
    align-items: center;
    gap: 10px;
}
.testimonial_info_img
{
    height: 50px;
    width: 50px;
    object-fit: cover;
    border-radius: 50%;
}

.testimonial_info_left h1
{
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}
.testimonial_info_left p 
{
    font-size: 15px;
    font-weight: 400;
    margin: 0;
}
.testimonial_info_right i 
{
    margin: 0 -2px;
    color: orange;
    font-size: 14px;
}
.testimonial_in .owl-carousel .owl-nav button.owl-prev
{
    position: absolute;
    top: 40%;
    left: -20px;
    font-size: 20px;
    height: 40px;
    width: 40px;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color) !important;
}
.testimonial_in .owl-carousel .owl-nav button.owl-next
{
    position: absolute;
    top: 40%;
    right: -20px;
    font-size: 20px;
    height: 40px;
    width: 40px;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color) !important;
}
.testimonial_in .owl-carousel .owl-nav button.owl-prev:hover, .testimonial_in .owl-carousel .owl-nav button.owl-next:hover 
{
    background-color: var(--secondary-color);
    color: white !important;
}
.testimonial_in .owl-carousel .owl-nav button.owl-prev span,.testimonial_in .owl-carousel .owl-nav button.owl-next span
{
    margin-top: 2px;
}
.newsletter
{
    padding-top: 50px;
    padding-bottom: 50px;
}
.newsletter_in
{
    background-image: url("../image/view1.jpg");
    background-size: cover;
    background-position: top;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 80px 100px;
    position: relative;
    overflow: hidden;
}
.newsletter_in::before
{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.3);
}
.newsletter_content
{
    max-width: 500px;
    background-color: white;
    padding: 30px;
    border-radius: 20px;
    position: relative;
    z-index: 1;
}
.newsletter_content > h1 
{
    font-size: 35px;
    font-weight: 700;
    color: var(--secondary-color);
}
.newsletter_content > p 
{
    font-size: 16px;
    font-weight: 400;
}
.newsletter_inp 
{
    position: relative;
}
.newsletter_inp input
{
    width: 100%;
    height: 55px;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 0 130px 0 10px;
    font-size: 16px;
    font-weight: 400;
    outline: none;
    box-shadow: none;
    background-color: white;
}
.newsletter_inp button
{
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    background-color: var(--secondary-color);
    color: white;
    border: none;
    outline: none;
    box-shadow: none;
    padding: 10px 15px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
}
.newsletter_inp button:hover
{
    opacity: 0.9;
}
.footer
{
    background-image: url("../image/footer_bg.jpg");
    background-size: cover;
    position: relative;
}
.footer::before
{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.7);
}

.footer_in
{
    position: relative;
    z-index: 1;
    padding-top: 80px;
    padding-bottom: 100px;
}
.footer_top
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--btn-border);
}
.footer_top img {
    width: 180px;
}

.footer_top_right
{
    display: flex;
    align-self: center;
    gap: 10px;
}
.footer_top_right a 
{
    height: 50px;
    width: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--secondary-color);
    color: white !important;
    transition: all linear 0.3s;
}
.footer_top_right a:hover 
{
    background-color: white;
    color: var(--secondary-color) !important;
}

.footer_btm
{
    padding-top: 30px;
}

.footer_item
{
    margin: 10px 0;
}
.footer_item ul 
{
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer_item ul li 
{
    margin: 10px 0;
}
.footer_item ul li a 
{
    color: white !important;
    font-size: 17px;
    font-weight: 400;
    position: relative;
}
.footer_item ul li a::before
{
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 1px;
    width: 0%;
    background-color: white;
    transition: all linear 0.3s;
}
.footer_item ul li a:hover::before
{
    width: 100%;
}

.footer_item p 
{
    color: white;
    font-size: 18px;
    font-weight: 500;
    margin: 10px 0;
}
.footer_copyright
{
    padding-top: 40px;
}
.footer_copyright p 
{
    font-size: 15px;
    font-weight: 400;
    margin: 10px 0;
}
.go_top
{
    position: fixed;
    bottom: 30px;
    right: 22px;
    z-index: 999;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--secondary-color) !important;
    border: 1px solid var(--secondary-color);
    display: none;
}
.go_top:hover
{
    background-color: var(--secondary-color);
    color: white !important;
    border: 1px solid white;
}

@media(max-width: 991px)
{
    .navbar-collapse
    {
        padding: 20px;
        border-radius: 10px;
        background-color: white;
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    }
    .nav-link
    {
        color: var(--secondary-color) !important;
    }
    .login_btn
    {
        width: fit-content;
        text-align: center;
        background-color: var(--secondary-color);
        color: white !important;
    }
    .nav_bar.active 
    {
        background-color: white;
    }
    .nav_bar.active .navbar-toggler
    {
        color: var(--secondary-color) !important;
    }
}

@media(max-width : 425px)
{
    .web_frame {
        padding-left: 10px;
        padding-right: 10px;
    }
    .navbar-brand img
    {
        width: 150px;
    }
    .search_box {
        padding: 25px;
    }
    .search_box > h1 {
        font-size: 22px;
    }
    .hero,.hero_item img {
        height: 700px;
    }
    .popular_place > h1,.rental_place > h1,.testimonial > h1 {
        font-size: 30px;
    }
    .popular_place > p,.rental_place > p,.testimonial > p {
        font-size: 16px;
    }
    .popular_item
    {
        margin: 10px 0;
    }
    .popular_item > img {
        height: 350px;
    }
    .rental_gallery img {
        height: 220px;
    }

    .popular_place_in .owl-carousel .owl-nav button.owl-prev,.testimonial_in .owl-carousel .owl-nav button.owl-prev {
        left: -15px;
    }
    .popular_place_in .owl-carousel .owl-nav button.owl-next,.testimonial_in .owl-carousel .owl-nav button.owl-next {
        right: -15px;
    }
    .testimonial_item
    {
        margin: 10px 0;
    }
    .testimonial_content p {
        font-size: 15px;
    }
    .testimonial_info {
        align-items: self-start;
        justify-content: start;
        flex-direction: column-reverse;
    }
    .newsletter {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .newsletter_in {
        padding: 40px 10px;
    }
    .newsletter_content
    {
        text-align: center;
    }
    .newsletter_content > h1 {
        font-size: 25px;
    }
    .newsletter_inp input {
        height: 45px;
        padding: 0 10px 0 10px;
        font-size: 15px;
    }
    .newsletter_inp button {
        position: initial;
        width: 100%;
        display: block;
        margin-top: 30px;
    }
    .footer_in {
        padding-top: 50px;
        padding-bottom: 80px;
    }
    .footer_top {
        flex-direction: column;
    }
    .footer_item ul li a {
        font-size: 16px;
    }
    .footer_item p
    {
        font-size: 17px;
    }


}

@media(min-width : 426px) and (max-width : 575px)
{
    .web_frame {
        padding-left: 20px;
        padding-right: 20px;
    }
    .navbar-brand img
    {
        width: 150px;
    }
    .hero,.hero_item img {
        height: 750px;
    }
    .popular_place > h1,.rental_place > h1,.testimonial > h1 {
        font-size: 30px;
    }
    .popular_place > p,.rental_place > p,.testimonial > p {
        font-size: 16px;
    }
    .popular_item
    {
        margin: 10px 0;
    }
    .popular_item > img {
        height: 350px;
    }
    .testimonial_item
    {
        margin: 10px 0;
    }
    .newsletter {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .newsletter_in {
        padding: 40px 10px;
    }
    .newsletter_content > h1 {
        font-size: 30px;
    }
    .newsletter_content > p {
        font-size: 15px;
    }
    .footer_top {
        flex-direction: column;
    }
    .footer_in {
        padding-top: 50px;
        padding-bottom: 80px;
    }
    .footer_item ul li a {
        font-size: 16px;
    }
    .footer_item p
    {
        font-size: 17px;
    } 

}

@media(min-width : 576px) and (max-width : 767px)
{
    .web_frame {
        padding-left: 30px;
        padding-right: 30px;
    }
    .navbar-brand img
    {
        width: 150px;
    }
    .hero,.hero_item img {
        height: 650px;
    }
    .search_box {
        max-width: 660px;
    }
    .popular_item {
        margin: 10px 0px;
    }
    .popular_item > img {
        height: 280px;
    }
    .rental_gallery img {
        height: 200px;
    }
    .rental_item {
        padding: 10px 15px 20px 15px;
    }
    .testimonial_info {
        display: flex;
        align-items: start;
        flex-direction: column-reverse;
    }
    .newsletter {
        padding-top: 20px;
    }
    .newsletter_in {
        padding: 80px 40px;
    }
    .footer_item ul li a {
        font-size: 16px;
    }
    .footer_item p {
        font-size: 17px;
    }
}


@media(min-width : 768px) and (max-width : 991px)
{
    .web_frame {
        padding-left: 50px;
        padding-right: 50px;
    }
    .hero,.hero_item img {
        height: 700px;
    }
    .popular_item > img {
        height: 380px;
    }
    .testimonial_item {
        margin: 10px 5px;
    }
    .testimonial_info_left h1 {
        font-size: 16px;
    }
    .footer_item ul li a {
        font-size: 16px;
    }
    .footer_item p {
        font-size: 17px;
    }
}
/*--- /index ---*/

/*--- listing ---*/

.filter_show_line
{
    margin-top: 10px;
    font-size: 18px;
    font-weight: 600;
    color: crimson;
    margin-bottom: 0;
}
.filter_show_line a  
{
    color: crimson !important;
}

.listing_filter
{
    height: 300px;
    background-image: url("../image/slider.jpg"); 
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    position: relative;
}
.listing_filter::before
{
    position: absolute;
    content: "";
    background-color: rgba(0,0,0,0.5);
    height: 100%;
    width: 100%;
}

.listing_filter_in
{
    margin-top: 40px;
    position: relative;
    z-index: 1;
    color: white;
    text-align: center;
}
.listing_filter_in > p 
{
    margin: 5px 0;
    font-size: 20px;
    font-weight: 500;
    font-family: "Satisfy", cursive;
    text-transform: capitalize;
}
.listing_filter_in > h1
{
    margin: 0;
    font-size: 30px;
    font-weight: 800;
    text-transform: uppercase;
}

.rental_filter_in
{
    display: grid;
    grid-template-columns: repeat(7,1fr);
    gap: 10px;
    align-items: center;
    max-width: 1350px;
}

.reset_rental_filter
{
    border: 1px solid var(--warning-color);
    color: var(--warning-color) !important;
    padding: 2px 15px;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 600;
    transition: all linear 0.1s;
    text-align: center;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reset_rental_filter:hover
{
    background-color: var(--warning-color);
    color: white !important;
}

.rental_pagination
{
    margin: 50px auto 0 auto;
    max-width: 600px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.rental_pagination > a
{
    height: 35px;
    width: 35px;
    border: 0.5px solid var(--secondary-color);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    color: var(--secondary-color) !important;
}
.rental_pagination > a:hover,.rental_pagination > a.active
{
    background-color: var(--secondary-color) !important;
    color: white !important;
}


@media(max-width : 575px)
{
    .rental_filter_in {
        grid-template-columns: repeat(2,1fr);
        max-width: 100%;
        gap: 5px 10px;
    }
}

@media(min-width : 576px) and (max-width : 767px)
{
    .rental_filter_in {
        grid-template-columns: repeat(3,1fr);
        max-width: 100%;
        gap: 5px 10px;
    }
}

@media(min-width : 768px) and (max-width : 991px)
{
    .rental_filter_in {
        grid-template-columns: repeat(4,1fr);
        max-width: 100%;
    }
}

@media(min-width : 992px) and (max-width : 1199px)
{
    .rental_filter_in {
        grid-template-columns: repeat(5,1fr);
        max-width: 100%;
    }
}

/*--- /listing ---*/


/*--- description ---*/
.apartment_desc
{
    padding-top: 40px;
    padding-bottom: 40px;
}

.apartment_gallery_item img
{
  height: 450px;
  object-fit: cover;
}


.apartment_gallery .owl-carousel .owl-nav button.owl-prev
{
    position: absolute;
    top: 40%;
    left: 20px;
    font-size: 25px;
    height: 55px;
    width: 55px;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color) !important;
}
.apartment_gallery .owl-carousel .owl-nav button.owl-next
{
    position: absolute;
    top: 40%;
    right: 20px;
    font-size: 25px;
    height: 55px;
    width: 55px;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color) !important;
}

.apartment_gallery .owl-carousel .owl-nav button.owl-prev:hover, .apartment_gallery .owl-carousel .owl-nav button.owl-next:hover 
{
    background-color: var(--secondary-color);
    color: white !important;
}

.apartment_gallery .owl-carousel .owl-nav button.owl-prev span,.apartment_gallery .owl-carousel .owl-nav button.owl-next span
{
    margin-top: 2px;
}

.apartment_overview
{
    display: grid;
    grid-template-columns: 70% auto;
    gap: 50px;
    padding-top: 30px;
}

.apartment_overview_left > h1 
{
    font-size: 25px;
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 10px;
    color: var(--secondary-color);
    text-transform: uppercase;
}

.apartment_overview_left > p 
{
    font-size: 17px;
    font-weight: 400;
    margin-top: 5px;
    margin-bottom: 5px;
}

.apartment_overview_left > h2 
{
    font-size: 25px;
    font-weight: 800;
    margin-top: 20px;
    margin-bottom: 20px;
    color: var(--secondary-color);
    text-transform: uppercase;
}

.apartment_amenities
{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    gap: 10px;
}
.apartment_amenities p 
{
    margin: 10px 0;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    gap: 10px;
    align-items: center;
    text-transform: uppercase;
    color: var(--secondary-color);
}
.apartment_amenities p i 
{
    color: var(--text-purple);
}

.apartment_review
{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 40px;
}

.apartment_review_item
{
    margin: 10px 0;
}
.apartment_review_top
{
    display: grid;
    grid-template-columns: 80px auto;
    align-items: center;
    gap: 10px;
}
.apartment_review_top img 
{
    height: 80px;
    width: 80px;
    border-radius: 50%;
}
.apartment_review_top_right h2 
{
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: var(--secondary-color);
}
.apartment_review_top_right p 
{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
}

.customer_apartment_rating 
{
    white-space: nowrap;
}
.customer_apartment_rating i 
{
    margin: 0 0px;
    color: orange;
}

.apartment_review_mid > h1 
{
    margin-top: 20px;
    margin-bottom: 0;
    font-size: 25px;
    font-weight: 700;
    color: var(--secondary-color);
}
.apartment_review_mid > p 
{
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 400;
}


.apartment_overview_right_in
{
    border-radius: 10px;
    overflow: hidden;
}
.apartment_overview_right_top
{
    background-color: var(--secondary-color);
    padding: 20px 40px;
}
.apartment_overview_right_top > h1 
{
    font-size: 22px;
    font-weight: 700;
    color: white;
    margin: 0;
    text-transform: uppercase;
}
.apartment_overview_right_mid
{
    background-color: #F0F6FD;
    padding: 30px 40px;
} 
.book_inp label
{
    display: block;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 5px;
    color: var(--secondary-color);
}

.book_inp input
{
   width: 100%;
   height: 50px;
   background-color: white;
   border: 1px solid white;
   padding: 5px 15px;
   font-size: 16px;
   font-weight: 500;
   outline: none;
   box-shadow: none;
   color: var(--secondary-color);
}

.book_inp
{
    margin-bottom: 20px;
}

.book_inp > h4 
{
    font-size: 16px;
    font-weight: 800;
    color: var(--secondary-color);
    margin: 10px 0;
    text-transform: uppercase;
}

.extra_service_label_box
{
    margin-bottom: 15px;
}
 
.extra_service_label_box .visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.extra_service_label_box .checkbox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--secondary-color);
    cursor: pointer;
}

.check_box_with_title
{
    display: flex;
    align-items: center;
}

.extra_service_label_box .checkbox + .checkbox {
    margin-top: 1.2em;
}

.extra_service_label_box .checkbox__symbol {
    display: inline-block;
    display: flex;
    margin-right: calc(1.2em * 0.7);
    border: 1px solid #5f11e8;
    position: relative;
    border-radius: 0.1em;
    width: 1em;
    height: 1em;
    transition: box-shadow 0.4s cubic-bezier(0.11, 0.29, 0.18, 0.98), background-color 0.4s;
    box-shadow: 0 0 0 0 rgb(95 17 232 / 10%);
}

.extra_service_label_box .checkbox__symbol:after {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0.5em;
    width: 0.25em;
    height: 0.25em;
    background-color: rgb(95 17 232 / 20%);
    opacity: 0;
    border-radius: 3em;
    transform: scale(1);
    transform-origin: 50% 50%;
}
.extra_service_label_box .checkbox .icon-checkbox {
    width: 1em;
    height: 1em;
    margin: auto;
    fill: none;
    stroke-width: 3;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    color: #5f11e8;
    display: inline-block;
}

.extra_service_label_box .checkbox .icon-checkbox path {
    transition: stroke-dashoffset 0.2s ease-in;
    stroke-dasharray: 30px, 31px;
    stroke-dashoffset: 31px;
}
  
.extra_service_label_box .checkbox__textwrapper {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--secondary-color); 
}

.extra_service_label_box .checkbox__trigger:checked + .checkbox__symbol:after {
   animation: ripple-33 1.5s cubic-bezier(0.11, 0.29, 0.18, 0.98);
}

.extra_service_label_box
.checkbox__trigger:checked
+ .checkbox__symbol
.icon-checkbox
path {
   transition: stroke-dashoffset 0.4s cubic-bezier(0.11, 0.29, 0.18, 0.98);
   stroke-dashoffset: 0px;
}

.extra_service_label_box .checkbox__trigger:focus + .checkbox__symbol {
    box-shadow: 0 0 0 0.25em rgb(95 17 232 / 20%);
}

@keyframes ripple-33 {
    from {
    transform: scale(0);
    opacity: 1;
    }

    to {
    opacity: 0;
    transform: scale(20);
    }
}

.book_total
{
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #e5e5e5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.book_total > h3 
{
    font-size: 20px;
    font-weight: 700;
    color: var(--secondary-color);
    margin: 0;
}

.apartment_book_btn
{
    margin-top: 20px;
    background-color: var(--secondary-color);
    color: white;
    width: 100%;
    height: 55px;
    border-radius: 5px;
    border: none;
    outline: none;
    box-shadow: none;
    font-size: 16px;
    font-weight: 700;
}
.apartment_book_btn:hover
{
    opacity: 0.9;
}

@media(max-width : 425px)
{
    .apartment_gallery_item img {
        height: 400px;
    }
    .apartment_gallery .owl-carousel .owl-nav button.owl-prev {
        font-size: 20px;
        height: 45px;
        width: 45px;
    }
    .apartment_gallery .owl-carousel .owl-nav button.owl-next {
        font-size: 20px;
        height: 45px;
        width: 45px;
    }
    .apartment_overview_left > p {
        font-size: 16px;
    }
    .apartment_amenities p {
        font-size: 14px;
    }
    .apartment_review_mid > h1 {
        font-size: 20px;
    }


    .apartment_overview {
        grid-template-columns: 100%;
        gap: 30px;
    }
    .apartment_review {
        grid-template-columns: 100%;
        gap: 20px;
    }
    .apartment_amenities {
        grid-template-columns: repeat(2, 1fr);
    }

    .apartment_overview_right_mid {
        padding: 30px 30px;
    }
    .apartment_overview_right_top
    {
        padding: 20px 30px;
    }
}

@media(min-width : 426px) and (max-width : 575px)
{
    .apartment_gallery_item img {
        height: 400px;
    }
    .apartment_gallery .owl-carousel .owl-nav button.owl-prev {
        font-size: 20px;
        height: 45px;
        width: 45px;
    }
    .apartment_gallery .owl-carousel .owl-nav button.owl-next {
        font-size: 20px;
        height: 45px;
        width: 45px;
    }
    .apartment_overview_left > p {
        font-size: 16px;
    }
    .apartment_amenities p {
        font-size: 14px;
    }
    .apartment_review_mid > h1 {
        font-size: 20px;
    }

    .apartment_overview {
        grid-template-columns: 100%;
        gap: 30px;
    }
    .apartment_review {
        grid-template-columns: 100%;
        gap: 20px;
    }
    .apartment_amenities {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
    }

    .apartment_overview_right_mid {
        padding: 30px 30px;
    }
    .apartment_overview_right_top
    {
        padding: 20px 30px;
    }
}

@media(min-width : 576px) and (max-width : 767px)
{
    .apartment_overview {
        grid-template-columns: 100%;
        gap: 30px;
    }

    .apartment_amenities {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
    }

    .apartment_gallery_item img {
        height: 400px;
    }
    .apartment_gallery .owl-carousel .owl-nav button.owl-prev {
        font-size: 20px;
        height: 45px;
        width: 45px;
    }
    .apartment_gallery .owl-carousel .owl-nav button.owl-next {
        font-size: 20px;
        height: 45px;
        width: 45px;
    }
    .apartment_overview_left > p {
        font-size: 16px;
    }
    .apartment_amenities p {
        font-size: 14px;
    }
   
    .apartment_review {
        gap: 30px;
    }
    .apartment_review_top_right h2 {
        font-size: 20px;
    }
    .apartment_review_mid > h1 {
        font-size: 20px;
    }
    .apartment_review_mid > p {
        font-size: 15px;
    }
 
} 

@media(min-width : 768px) and (max-width : 991px)
{
    .apartment_overview {
        grid-template-columns: 100%;
        gap: 30px;
    }
} 


@media(min-width : 992px) and (max-width : 1199px)
{
    .apartment_overview {
        grid-template-columns: 55% auto;
        gap: 40px;
    }
    .apartment_amenities p {
        font-size: 14px;
        gap: 8px;
    }
    .apartment_review_mid > h1 {
        font-size: 20px;
    }
    .apartment_review_mid > p {
        font-size: 15px;
    }
    .apartment_review {
        gap: 20px;
    }
} 

@media(min-width : 1200px) and (max-width : 1439px)
{
    .apartment_overview {
        grid-template-columns: 65% auto;
        gap: 40px;
    }
} 

/*--- /description ---*/

/*--- about ---*/
.about_us
{
    padding-top: 50px;
    padding-bottom: 40px;
}
.about_us_left,.about_us_right
{
    margin: 10px 0;
}
.about_us_left
{
    position: relative;
}
.about_us_left > img:first-child
{
    max-width: 500px;
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 10px;
}
.about_fix_img
{
    position: absolute;
    bottom: -40px;
    right: 40px;
    height: 250px;
    width: 250px;
    object-fit: cover;
    border-radius: 10px;
}

.about_us_right > h1 
{
    font-size: 35px;
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 10px;
}
.about_us_right > p 
{
    margin: 10px 0;
    font-size: 16px;
    font-weight: 400;
}
.about_us_right > a 
{
    color: white !important;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 25px;
    background-color: var(--secondary-color);
    display: inline-block;
    margin-top: 10px;
    border-radius: 3px;
}
.about_us_right > a:hover 
{
    opacity: 0.9;
}
.our_overview
{
    margin-top: 50px;
}
.our_overview_in 
{
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    padding: 10px 0;
}
.our_overview_in
{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    align-items: center;
    gap: 20px;
}
.our_overview_item
{
    text-align: center;
    margin: 10px 0;
}
.our_overview_icon
{
    height: 90px;
    width: 90px;
    background-color: #537EAC;
    border-radius: 50%;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    font-size: 35px;
}

.our_overview_icon img 
{
    width: 60px;
}

.our_overview_icon:hover i,.our_overview_icon:hover img
{
  animation-name: overview_icon;
  animation-duration: .5s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: linear;
}

@keyframes overview_icon{
    0%{
        transform: scale(1);
    }
    100%{
        transform: scale(0.7);
    }
}

.our_overview_item > h1 
{
    font-size: 35px;
    font-weight: 700;
    color: var(--secondary-color);
    margin-top: 10px;
    margin-bottom: 0;
}
.our_overview_item h5
{
    font-size: 15px;
    font-weight: 500;
    margin: 0;
}
.our_team
{
   padding-top: 50px;
   padding-bottom: 40px;
}
.our_team_in > h1 
{
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 30px;
    margin-top: 20px;
}

.our_team_row
{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    align-items: center;
    gap: 20px;
    margin-top: 150px;
}
.our_team_item
{
    background-color: #F0F6FD;
    padding: 20px 20px;
    text-align: center;
    border-radius: 10px;
    margin-bottom: 100px;
}
.our_team_item img 
{
    width: 90%;
    height: 400px;
    object-fit: cover;
    object-position: top;
    margin-top: -100px;
    border-radius: 10px;
}
.our_team_item > h1 
{
    font-size: 25px;
    font-weight: 700;
    color: var(--secondary-color);
    margin-top: 16px;
    margin-bottom: 10px;
    text-align: center;
    position: relative;
}
.our_team_item > h1::after
{
    content: "";
    position: absolute;
    content: "";
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 50px;
    background-color: var(--secondary-color);
}
.our_team_item > p 
{
    font-size: 15px;
    font-weight: 500;
    color: var(--secondary-color);
    margin-top: 0px;
    margin-bottom: 0px;
    text-align: center;
}


@media(max-width : 425px)
{
    .about_us_left > img:first-child {
        height: 350px;
    }
    .about_fix_img {
        right: 20px;
        height: 150px;
        width: 150px;
    }
    .about_us_right
    {
        margin-top: 50px;
    }
    .our_overview {
        margin-top: 0px;
    }
    .our_overview_item > h1 {
        font-size: 30px;
    }
    .our_team {
        padding-top: 30px;
    }
    .our_team_in > h1 {
        font-size: 35px;
    }
    .our_team_item img {
        width: 100%;
        height: 300px;
    }
    .our_team_item:first-child
    {
        margin-top: 0px;
    }
    .our_team_item {
        margin-top: 100px;
        margin-bottom: 0px;
    }

    .our_overview_in {
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    .our_team_row {
        grid-template-columns: repeat(1,1fr);
        gap: 20px;
    }
}

@media(min-width : 426px) and (max-width : 575px)
{
    .about_us_left > img:first-child {
        height: 350px;
    }
    .about_fix_img {
        right: 20px;
        height: 150px;
        width: 150px;
    }
    .about_us_right
    {
        margin-top: 50px;
    }
   .our_overview {
        margin-top: 0px;
    }
    .our_overview_item > h1 {
        font-size: 30px;
    }
    .our_team {
        padding-top: 30px;
    }
   .our_team_in > h1 {
        font-size: 35px;
    }
     .our_team_item:first-child
    {
        margin-top: 0px;
    }
    .our_team_item {
        margin-top: 100px;
        margin-bottom: 0px;
    } 

    .our_overview_in {
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    .our_team_row {
        grid-template-columns: repeat(1,1fr);
        gap: 20px;
    }
}


@media(min-width : 576px) and (max-width : 767px)
{
    .about_us_left > img:first-child {
        height: 350px;
    }
    .about_fix_img {
        right: 20px;
        height: 150px;
        width: 150px;
    }
    .about_us_right
    {
        margin-top: 50px;
    }
   .our_overview {
        margin-top: 0px;
    }
    .our_team {
        padding-top: 30px;
    }
    .our_team_item {
        margin-bottom: 20px;
    }
    .our_team_item img {
        height: 300px;
    }
    .our_team_row {
        grid-template-columns: repeat(2,1fr);
        gap: 120px 20px;
    } 
    .our_overview_in {
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    
}

@media(min-width : 768px) and (max-width : 991px)
{
    .our_overview_item > h1 {
        font-size: 30px;
    }
    .our_team {
        padding-top: 30px;
    }
    .our_team_item {
        margin-bottom: 20px;
    }
    .our_team_row {
        grid-template-columns: repeat(2,1fr);
        gap: 120px 20px;
    } 
}

/*--- /about ---*/

/*--- privacy policy ---*/
.terms_condition
{
    padding-top: 50px;
    padding-bottom: 20px;
}
.terms_condition > p 
{
    margin: 15px 0;
    font-size: 16px;
    font-weight: 400;
}
.privacy_content
{
    margin-top: 20px;
    margin-bottom: 20px;
}
.privacy_content > h1
{
    margin: 10px 0;
    font-size: 26px;
    font-weight: 700;
    color: var(--secondary-color);
}
.privacy_content > p
{
    margin: 10px 0;
    font-size: 16px;
    font-weight: 400;
}
.privacy_content > ol 
{
    margin: 0;
}
.privacy_content > ol > li 
{
    margin: 8px 0;
    font-size: 16px;
    font-weight: 400;
}

@media(max-width : 575px)
{
    .terms_condition {
        padding-top: 30px;
        padding-bottom: 20px;
    }
    .privacy_content > h1 {
        font-size: 25px;
    }
}

/*--- /privacy policy ---*/

/*--- contact ---*/
.contact
{
    padding-top: 40px;
    padding-bottom: 40px;
}
.contact > h1 
{
  text-align: center;
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 40px;
}

.contact_box_left
{
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: center;
}

.contact_box_left_item
{
  display: grid;
  grid-template-columns: 55px 1fr;
  align-items: center;
  gap: 10px;
  border: 1px solid #e5e5e5;
  padding: 20px 40px;
  max-width: 500px;
  width: 100%;
  border-radius: 10px;
  position: relative;
  margin-top: 20px;
  margin-bottom: 30px;
}

.contact_box_left_item_icon
{
  height: 50px;
  width: 50px;
  background-color: var(--secondary-color);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: all linear 0.2s;
  border: 1px solid transparent;
}
.contact_box_left_item_icon:hover
{
  background-color: white;
  color: var(--secondary-color);
  border: 1px solid var(--secondary-color);
}

.contact_box_left_item_content a,.contact_box_left_item_content p
{
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
  color: var(--text-color) !important;
}


.contact_box_left_item_content a:hover,.contact_box_left_item_content p:hover
{
  color: crimson !important;
}

.contact_box_left_item > .title
{
  font-size: 16px;
  font-weight: 500;
  position: absolute;
  top: -2px;
  left: 30px;
  transform: translateY(-50%);
  margin: 0;
  padding: 0 20px;
  background-color: white;
  opacity: 0.9;
}
.contact_box_right
{
  padding: 50px 60px;
  border-radius: 10px;
  background: linear-gradient(125deg,rgba(99,171,69,0.1) 0%,rgba(251,176,59,0.1) 100%);
  max-width: 800px;
  width: 100%;
}
.contact_box_right >  h2 
{
  font-size: 30px;
  font-weight: 700;
  margin-top: 0px;
  margin-bottom: 30px;
}
.contact_inp
{
  margin: 10px 0;
}
.contact_inp label
{
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 5px;
  display: block;
}
.contact_inp input,.contact_inp textarea
{
  height: 50px;
  width: 100%;
  padding: 8px 15px;
  font-size: 16px;
  font-weight: 400;
  border: 1px solid #e5e5e5;
  outline: none;
  box-shadow: none;
}
.contact_inp textarea
{
  height: 100px;
}
.error_msg
{
  font-size: 15px;
  font-weight: 400;
  margin: 5px 0;
  color: red;
}
.contact_btn
{
  background-color: var(--secondary-color);
  color: white;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 30px;
  border: none;
  outline: none;
  box-shadow: none;
  border-radius: 5px;
  display: inline-block;
  margin-top: 10px;
  transition: all linear 0.2s;
  border: 1px solid transparent;
}
.contact_btn:hover
{
  background-color: white;
  color: var(--secondary-color);
  border: 1px solid var(--secondary-color);
}

.map_location
{
  padding-top: 40px;
  padding-bottom: 0px;
}
.map_location iframe
{
  width: 100%;
  height: 500px;
}

@media(max-width : 425px)
{
  .contact > h1 {
    font-size: 30px;
  }
  .contact_box_left_item {
    padding: 20px 20px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .contact_box_left {
    align-items: center;
  }
  .contact_box_left_item_content a, .contact_box_left_item_content p {
    font-size: 16px;
  }
  .contact_box_right {
    padding: 30px 20px;
  }
 
  .map_location iframe {
    height: 350px;
  }
}

@media(min-width : 426px) and (max-width : 575px)
{
  .contact > h1 {
    font-size: 32px;
  }
  .contact_box_right {
    padding: 50px 30px;
  }
  .contact_box_left {
    align-items: center;
  }
  .map_location iframe {
    height: 400px;
  }
}

@media(min-width : 576px) and (max-width : 767px)
{
  .contact > h1 {
    font-size: 35px;
  }
  .contact_box_left {
    align-items: center;
  }
}

@media(min-width : 768px) and (max-width : 991px)
{
  .contact_box_left_item {
    padding: 20px 25px;
  }
  .contact_box_right {
    padding: 30px 25px;
  }
}
/*--- /contact ---*/

/*--- login ---*/
.login_box
{
  padding-top: 80px;
  padding-bottom: 40px;
}

.login_box_in
{
  background-color: white;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border-radius: 10px;
  padding: 30px 30px;
  max-width: 500px;
  width: 100%;
  height: fit-content;
  margin: auto;
}

.login_box_in > h1 
{
  text-align: center;
  font-size: 35px;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 30px;
}

.login_inp
{
  margin-top: 10px;
  margin-bottom: 10px;
  position: relative;
}

.terms_condition_checkbox
{
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
}
.terms_condition_checkbox > input
{
    width: 20px !important;
    height: 20px !important;
    cursor: pointer;
}


.login_inp span
{
  display: block;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.login_inp input
{
  width: 100%;
  height: 50px;
  padding: 5px 15px;
  border: none;
  outline: none;
  box-shadow: none;
  border: 1px solid #e5e5e5;
}
#image_label
{
  background-color: var(--secondary-color);
  color: white;
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  cursor: pointer;
}
#image_label i 
{
  margin-right: 5px;
}
.login_submit_btn
{
  display: block;
  margin-top: 20px;
  width: 100%;
  height: 50px;
  background-color: var(--secondary-color);
  text-align: center;
  border: none;
  outline: none;
  box-shadow: none;
  border-radius: 4px;
  color: white;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  transition: all linear 0.2s;
}
#password_eye
{
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-color) !important;
}
.login_submit_btn:hover
{
  opacity: 0.9;
}
.login_box_in > p 
{
  text-align: center;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: 400;
  opacity: 0.9;
}
.login_box_in > p > a:hover
{
  color: var(--secondary-color);
}

@media(max-width : 767px)
{
    .login_box {
        padding-top: 40px;
        padding-bottom: 20px;
    }
}
/*--- /login ---*/


/*--- verify_email ---*/
.email_verification
{
    padding-top: 70px;
    padding-bottom: 40px;
}
.email_verification_in
{
    max-width: 550px;
    width: 95%;
    margin: auto;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 40px 20px;
    border-radius: 5px;
    text-align: center;
}
.email_verification_in img 
{
    width: 80px;
}
.email_verification_in h4 
{
    margin-top: 20px;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
}
.email_verification_in p  
{
    margin:  0;
    font-size: 18px;
    font-weight: 400;
}

@media(max-width : 575px)
{
    .email_verification {
        padding-top: 40px;
        padding-bottom: 20px;
    }
}
/*--- /verify_email ---*/


/*--- checkout ---*/
.checkout
{
    padding-top: 60px;
    padding-bottom: 20px;
}
.checkout_left,.checkout_right
{
    margin: 10px 0;
}
.checkout_left 
{
    padding-right: 30px;
}
.booking_form_box > h1,.checkout_login > h1
{
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
    text-transform: uppercase;
}
.booking_inp,.coupon_inp
{
    margin: 10px 0;
}
.coupon_inp_box
{
    display: grid;
    grid-template-columns: 70% auto;
    align-items: center;
    gap: 10px;
}

.booking_inp label
{
    font-size: 16px;
    font-weight: 700;
    display: block;
    margin-bottom: 6px;
    text-transform: uppercase;
    color: var(--secondary-color);
}
.booking_inp input,.coupon_inp_box input
{
    width: 100%;
    height: 50px;
    border: 1px solid #e5e5e5;
    padding: 5px 12px;
    font-size: 16px;
    font-weight: 500;
    outline: none;
    box-shadow: none;
    border-radius: 5px;
}

.booking_submit_btn,.coupon_submit_btn
{
    background-color: var(--secondary-color);
    color: white;
    border: none;
    cursor: pointer;
    height: 50px;
    width: 100%;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 5px;
}
.booking_submit_btn:hover,.coupon_submit_btn:hover
{
    opacity: 0.9;
}

.checkout_right > h1 
{
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 25px;
}
.checkout_apartment
{
    overflow: hidden;
    border-radius: 10px;
}
.checkout_apartment img 
{
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 10px;
    transition: all linear 0.2s;
}
.checkout_apartment img:hover 
{
    transform: scale(1.1);
}
.checkout_apartment_info > h2 
{
    font-size: 20px;
    font-weight: 700;
    margin-top: 12px;
    margin-bottom: 0;
}
.checkout_apartment_info > p 
{
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}
.checkout_extra_service
{
    margin-top: 15px;
}
.checkout_extra_service h2
{
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
}
.checkout_extra_service p 
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 600;
    margin: 6px 0;
}


.payment_method > h2
{
    font-size: 22px;
    font-weight: 700;
    margin-top: 20px;
    text-transform: uppercase;
}


.total_show_able_amount > h2
{
    font-size: 22px;
    font-weight: 700;
    margin-top: 20px;
    text-transform: uppercase;
}
.total_show_able_amount > h3
{
    font-size: 22px;
    font-weight: 700;
    margin: 0;
}

@media(max-width : 767px)
{
    .checkout_left
    {
        padding-right: 0px;
    }
}


/*--- /checkout ---*/

/*--- paypal_pay ---*/
.payment_method_box
{
    padding-top: 70px;
    padding-bottom: 30px;
}

.payment_method_box .payment
{
   width: fit-content;
   margin: auto;
}

/*--- /paypal_pay ---*/

/*--- thank you ---*/
.thank_you
{
    padding-top: 50px;
    padding-bottom: 30px;
}
.thank_you h2 
{
    font-size: 25px;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

.thank_you > dotlottie-player
{
    height: 200px;
    width: 200px;
    display: block;
    margin: auto;
}

@media(max-width : 575px)
{
    .thank_you > dotlottie-player {
        height: 150px;
        width: 150px;
    }
    .thank_you h2 {
        font-size: 20px;
    }
}
/*--- /thank you ---*/


