/*RESPONSIVE MENU*/
.responsive_btn {
    display: none;
    cursor: pointer;
    text-align: center;
    width: 40px;
    height: 40px;
    margin: -2px 0;
    float: right;
    position: relative;
    z-index: 20;
    -moz-transition: all 300ms ease-in-out 0s;
    -webkit-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
    background: var(--primary-color);
    border-radius: 8px;
    /* margin-left: 40px; */
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.responsive_btn span {
    display: block;
    height: 2px;
    width: 20px;
    position: relative;
    top: 50%;
    margin: -1px auto;
}
.responsive_btn span:before,
.responsive_btn span:after {
    content: "";
    display: inline-block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
}
.responsive_btn span:before {
    top: -6px;
}
.responsive_btn span:after {
    bottom: -6px;
}
.responsive_btn span,
.responsive_btn span:before,
.responsive_btn span:after {
    background: #fff;
    -webkit-border-radius: 1px;
    border-radius: 1px;
    -moz-transition: all 300ms ease-in-out 0s;
    -webkit-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
}
.responsive_btn:hover span,
.responsive_btn:hover span:before,
.responsive_btn:hover span:after {
    background: #fff;
}
.responsive_nav {
    display: block;
    position: fixed;
    left: -280px;
    top: 0;
    bottom: 0;
    width: 280px;
    min-height: 100%;
    z-index: 101;
    background: var(--primary-color);
    -moz-transition: all 300ms ease-in-out 0s;
    -webkit-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
}
.responsive_nav ul {
    margin: 0;
    padding: 0;
    text-align: left;
    flex-direction: column;
}
.responsive_nav {
    margin: 0;
    padding: 0;
    text-align: left;
    overflow: scroll;
}
.responsive_nav li {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: relative;
    text-transform: capitalize;
    font-size: 15px;
    line-height: 20px;
    color: #fff;
}
.responsive_nav li:first-child {
    border-top: none;
}
.responsive_nav li:after {
    display: none;
}
.responsive_nav li>a {
    display: block;
    padding: 12px 10px 8px;
    color: var(--white-color);
    position: relative;
}
.responsive_nav li a:hover,
.responsive_nav li a:focus,
.responsive_nav li.current_page_item>a {
    color: #fff;
}
.responsive_nav ul {
    padding: 0
}
.responsive_nav .sub-menu,
.responsive_nav li a i {
    display: none;
}
.responsive_nav .subarrow {
    display: block;
    pointer-events: inherit;
    width: 30px;
    height: 40px;
    line-height: 40px;
    position: absolute;
    top: 0;
    right: 0;
}
.responsive_nav .sub-menu .container {
    width: 100%;
    padding: 0;
}
.bodyOverlay {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    transform: none;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 500ms ease 0s;
    transition: all 500ms ease 0s;
}
html.responsive,
.responsive body {
    overflow-y: hidden;
}
.responsive .wrapper {
    -webkit-transform: translate(-280px, 0) !important;
    transform: translate(-280px, 0) !important;
}
.responsive .bodyOverlay {
    opacity: 1;
    visibility: visible;
}
.responsive .responsive_nav {
    left: 0;
}
.responsive .responsive_btn {
    pointer-events: none;
}
.responsive .responsive_btn span {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.responsive .responsive_btn span:after {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
    top: 0;
}
.responsive .responsive_btn span:before {
    opacity: 0;
}
.responsive_nav .opened>.subarrow {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.responsive_nav .mCSB_outside+.mCSB_scrollTools {
    right: 0;
}
.responsive .responsive_nav .mCSB_outside+.mCSB_scrollTools {
    right: -4px;
}
.responsive_nav li.menu-item-has-children {
    display: block;
}
.responsive_nav ul li .sub-menu {
    padding-left: 0px;
}
/*MENU END*/

@media only screen and (max-width: 1599px){
    .header_navigation{gap: 30px;}
    .header_navigation li a{font-size: 14px;}
    .header_logo{max-width: 160px;}
    .header_logo img{width: 100%;}
    [class*="os-btn-"]{min-width: 130px; font: 400 15px var(--primary-font); height: 38px; line-height: 37px; padding: 0 14px;}
    .inner_banner_section{height: 430px;}
    .service_details_thumb_big figure{height: 500px;}
    .service_details_thumb_small figure{height: 150px;}
    .aboutsection .aboutbg{height: 450px;}
    .footer_contact_box .phone{font-size: 30px;}
    .testimonial .item .editor_text {
        padding: 6px 5px;
        overflow-x: hidden;
        height: 150px;
        overflow-y: auto;
        scrollbar-width: thin;
    }
    .testimonial .item{height: auto;}
    .banner_section , .banner_home_slide{height: 535px;}
}

/* 1170px */
@media only screen and (max-width: 1199px){
   .get_quote_heaqder_btn [class*="os-btn-"]{
        min-width: 100px;
        height: 34px;
        line-height: 33px;
        padding: 0 10px;
        font-size: 14px;
    }
   .header_navigation {
        gap: 15px;
    }
    .header_logo img{
        height: 100%;
    }
    .header_logo {
        max-width: 120px;
        top: 4px;
    }
    .header_navigation li a {
        font-size: 13px;
    }
    .banner_section, .banner_home_slide {
        height: 480px;
    }
    .heading{
        font-size: 42px;
        line-height: 52px;
    }
    .btn-wrap {
        margin: 20px 0 0;
    }
    .accommodation_box{
        height: 340px;
    }
    .footer_contact_box .phone {
        font-size: 25px;
    }
    .footer_logo_links_section {
        padding: 80px 0 60px;
    }
    .footer_section{
        padding: 60px 0 20px;
    }
    .inner_banner_section {
        height: 320px;
    }
    .home_banner_heading{
        font-size: 40px;
        line-height: 50px;
    }
    .aboutsection .content {
        max-width: 100%;
        background: #ffffff8c;
        top: 0;
        bottom: 0;
    }
    .aboutsection .aboutbg {
        height: 630px;
        background-size: 100% !important;
    }
    .servicebox figure {
        height: 200px;
    }
    .rj-widget li a{
        font-size: 14px;
    }
    .section {
        margin: 40px 0;
    }
    .inner_service_page .service_details_big_small_thumb_slide.float_left {
        position: relative;
        max-width: 100%;
        float: none;
        margin: 0 auto 20px;
    }
    .inner_service_page  .facility_grid span{
        max-width: 320px;
    }
    .service_details_page_text_form_right_full_box{
        padding-left: 0px;
    }
}

/*992px*/
@media only screen and (max-width: 1169px) {
    .park_box .parkimg{
        height: 280px;
    }
}

/*768px*/
@media only screen and (max-width: 991px) {
    .responsive_btn{display: block;}
    .menu-header-menu-container{display: none;}
    .get_quote_heaqder_btn{
        display: flex;
        column-gap: 20px;
    }
    .banner_section, .banner_home_slide {
        height: 400px;
    }
    .heading {
        font-size: 34px;
        line-height: 44px;
    }
    .parkfacility_list{
        grid-template-columns: repeat(2, 1fr);
    }
    .park_box .parkimg img{
        width: 100%;
    }
    .park_box .parkimg {
        height: 400px;
    }
    .footer_contact_box .phone {
        font-size: 20px;
    }
    .footer_content_box strong{
        font-size: 20px;
    }
    .footer_logo_links_section {
        padding: 60px 0 40px;
    }
    .footer_section {
        padding: 40px 0 20px;
    }
    .inner_banner_section .banner_text{
        right: 0;
        margin: 0 20px;
        width: 100%;
        padding-bottom: 110px;
    }
    .inner_banner_section {
        height: 280px;
    }
    .aboutsection .aboutbg{
        height: 510px;
    }
    .aboutsection .content{
        padding: 20px 10px;
    }
    .blog_details_page_right_section{
        padding-left: 0;
    }
    .pb_100 {
        padding-bottom: 40px !important;
    }
    .pt_100 {
        padding-top: 40px !important;
    }
    .imagesection{
        max-width: 100%;
        float: none;
    }
}

/*600px*/
@media only screen and (max-width: 767px) {
    .header_logo {
        max-width: 100px;
        top: 0;
    }
    .banner_text{
        width: 100%;
    }
    .bannerHeading{
        font-size: 28px;
        line-height: 38px;
    }
    .bannerTitle, .banner_text .text span{
        font-size: 20px;
    }
    .park_box .parkimg {
        height: 270px;
    }
    .footer-grid{
        grid-template-columns: repeat(1, 1fr 1fr);
    }
    .footer-grid div:nth-child(3){
        text-align: left;
    }
        .main-menu {
        display: block;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .main-menu.open {
        max-height: 1000px; /* Adjust based on expected menu height */
    }

    .main-menu li {
        list-style: none;
        /* border-bottom: 1px solid #ccc; */
    }

    .main-menu .sub-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        padding-left: 15px;
        background: #f9f9f9;
    }

    .main-menu li.open > .sub-menu {
        max-height: 500px; /* Adjust to fit your submenu height */
    }

    .touch {
        display: block;
        cursor: pointer;
        padding: 10px;
        background: #333;
        color: white;
        text-align: center;
    }

    .footer_upper ul{
        flex-direction: column;
    }
    .footer_lower{
        flex-direction: column-reverse;
        gap: 20px;
    }
    .aboutsection .aboutbg {
        height: 410px;
    }
    .aboutsection .aboutbg .editor-text{
        overflow: auto;
        max-height: 280px;
    }
    .servicebox figure {
        height: 150px;
    }
    .servicebox .headtag{
        font-size: 18px;
        line-height: 22px;
    }
    .servicebox .wrap .editor_text{
        font-size: 14px;
        line-height: 22px;
    }
    .servicedetails .row{
        flex-direction: column-reverse;
    }
    .service_details_thumb_big figure {
        height: 360px;
    }
    .service_details_page_text_form_left_box_btn{
        margin-top: 20px;
        margin-bottom: 30px;
    }
    .contact_inner ul li a{
        font-size: 18px;
    }
}

/*480px*/
@media only screen and (max-width: 599px) {
    .banner_section, .banner_home_slide {
        height: 280px;
    }
    .bannerHeading {
        font-size: 24px;
        line-height: 30px;
    }
    .bannerTitle, .banner_text .text span {
        font-size: 18px;
    }
    .heading {
        font-size: 28px;
        line-height: 38px;
    }
    .title{
        font-size: 22px;
        line-height: 28px;
        margin-bottom: 5px;
    }
    p, body{
        font-size: 15px;
        line-height: 25px;
    }
    .sm_contentleft{
        flex-direction: column;
        align-items: start;
    }
    .park_box .parkname{
        font-size: 15px;
        line-height: 20px;
    }
    .hidden_text .heading{
        font-size: 22px;
        line-height: 26px;
    }
    .gallery_grid{
        grid-template-columns: repeat(2,1fr);
    }
    .footer_copyright, .footer_copyright a{
        font-size: 11px;
    }
    .footer_contact_box .phone {
        font-size: 16px;
    }
    .footer_content_box strong {
        font-size: 16px;
    }
    .inner_banner_section {
        height: 160px;
    }
    .home_banner_heading {
        font-size: 20px;
        line-height: 30px;
    }
    .breadcrumbs{display: none;}
    .inner_banner_section .banner_text{padding-bottom: 60px;}
    .servicebox figure {
        height: 260px;
    }
    .paragraph h2 {
        font-size: 24px;
    }
    h1{font-size: 34px;}
    .comments-title {
        font-size: 25px;
    }
    .comment-list .comment-body{
        margin-top: 20px;
    }
    .blog_details_sub_heading{
        font-size: 24px;
    }
    .comment-reply-title{
        font-size: 28px;
    }
    .comment-form p {
        margin-bottom: 8px;
    }
    .sk_toggle .sk_ques::after{
        right: -12px;
        top: 1%;
    }
    .imagesection{
        height: 300px;
    }
    .footer_copyright{text-align: center;}
}

/*360px*/
@media only screen and (max-width: 479px) {
   .top_header_contact_mail_number span{
    display: none;
   }
   .leftpart{
    width: 100%;
    height: 360px;
   }
   .parkfacility_list {
        grid-template-columns: repeat(1, 1fr);
    }
    .park_box .parkimg {
        height: 440px;
    }
    .accommodation_box figure{
        height: 100%;
    }
    .accommodation_box img{
        object-fit: cover;
    }
    .booking-box ul li{
        font-size: 13px;
    }
    .hidden_text .text{
        padding-right: 0;
    }
    .get_quote_heaqder_btn .os-btn-book{
        font-size: 0;
        position: relative;
        background: var(--primary-color);
        width: 40px;
        min-width: 40px;
        border-radius: 6px;
        height: 40px;
        line-height: 38px;
    }
    .get_quote_heaqder_btn .os-btn-book::after {
        content: '\f02d';
        font-family: FontAwesome;
        position: absolute;
        left: 0;
        top: 0;
        font-size: 16px;
        color: #fff;
        right: 0;
        bottom: 0;
    }
    .get_quote_heaqder_btn .os-btn-contact{
        font-size: 0;
        position: relative;
        width: 40px;
        min-width: 40px;
        border-radius: 6px;
        height: 40px;
        line-height: 38px;
    }
    .get_quote_heaqder_btn .os-btn-contact::after{
        content: '\f2b9';
        font-family: FontAwesome;
        position: absolute;
        left: 0;
        top: 0;
        font-size: 16px;
        color: #fff;
        right: 0;
        bottom: 0;
    }
    .get_quote_heaqder_btn{
        column-gap: 30px;
    }
    .header_logo{
        max-width: 90px;
    }
    .banner_section, .banner_home_slide {
        height: 250px;
    }
    .bannerHeading {
        font-size: 20px;
        line-height: 26px;
    }
    .aboutsection .aboutbg {
        background-size: cover !important;
        background-position: center !important;
    }
    .pt_90 {
        padding-top: 20px !important;
    }
    .imagesection{
        height: 230px;
        margin: 0;
    }
    .blog_number_page_listing{display: none;}
}
