/*--------------------------------------------------------------------- File Name: responsive.css ---------------------------------------------------------------------*/

/* Navigation Responsive Styles */
@media (max-width: 991px) {
    .nav_links {
        display: none;
    }
    
    .mobile_menu_toggle {
        display: flex;
    }
    
    .mobile_menu {
        display: block;
    }
    
    .main_nav {
        padding-right: 15px;
    }
    
    /* Hide sticky nav on mobile/tablet */
    .sticky_nav {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .logo {
        padding-left: 15px;
    }
    
    .logo img {
        max-height: 45px;
    }
    
    .mobile_menu {
        min-width: 180px;
    }
    
    .mobile_nav_link {
        padding: 10px 20px;
        font-size: 14px;
    }
}

@media (max-width: 575px) {
    .logo img {
        max-height: 40px;
    }
    
    .main_nav {
        height: 50px;
    }
}

/*------------------------------------------------------------------- 991px x 768px ---------------------------------------------------------------------*/

@media only screen and (min-width: 768px) and (max-width: 991px) {

    .header-search {
        padding: 15px 0px;
    }
}


/*------------------------------------------------------------------- 767px x 599px ---------------------------------------------------------------------*/

@media only screen and (min-width: 599px) and (max-width: 767px) {
    .logo {
        text-align: center;
    }

    .cart-content-right {
        padding-bottom: 5px;
    }

    .mg {
        margin: 0px 0px;
    }

    .menu-area-main {
        height: 256px;
        overflow-y: auto;
    }

    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }

    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }

    .mean-container .mean-nav ul li a.mean-expand {
        height: 19px;
    }

    .category-box.women-box {
        display: none;
    }

    .cart-box {
        display: inline-block;
        margin: 0px 30px;
    }

    .wish-box {
        float: none;
        margin: 0px 30px;
        display: inline-block;
    }

    .menu-add {
        display: none;
    }

    .category-box {
        display: none;
    }

    .mean-container .mean-nav ul li ol {
        padding: 0px;
    }

    .mean-container .mean-nav ul li a {
        padding: 10px 20px;
        width: 94.8%;
    }

    .mean-container .mean-nav ul li li a {
        width: 92%;
        padding: 1em 4%;
    }

    .mean-container .mean-nav ul li li li a {
        width: 100%;
    }

    .header-search {
        padding: 15px 0px;
    }

    #collapseFilter.d-md-block {
        padding: 30px 0px;
    }
}


/*------------------------------------------------------------------- 599px x 280px ---------------------------------------------------------------------*/

@media only screen and (min-width: 280px) and (max-width: 599px) {
    .cart-content-right {
        padding-bottom: 5px;
    }

    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }

    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }

    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }

    .mean-container .mean-nav ul li a {
        padding: 1em 4%;
        width: 92%;
    }

    .mean-container .mean-nav ul li li a {
        width: 90%;
        padding: 1em 5%;
    }

    .mean-container .sub-full.megamenu-categories ol li a {
        padding: 5px 0px;
        text-transform: capitalize;
        width: 100%;
    }

    .megamenu .sub-full.megamenu-categories .women-box .banner-up-text a {
        width: auto;
        border: none;
        float: none;
    }

    .menu-area-main {
        height: 45px;
        overflow-y: auto;
    }

    .mean-container .mean-nav ul li a.mean-expand {
        top: 0;
    }





}

@media (min-width: 992px) and (max-width: 1199px) {

    .titlepage h2::after {
        width: 58%;
    }

    .about-box .titlepage h2::after {
        width: 52%;
        right: -221px;
    }

    .Nursery-img .text-box h3 {
        padding: 111px 50px;
    }

    .contact .titlepage h2::after {
        left: -650px;
        width: 30%;
    }

    .image_1 {
        width: 85%;
    }

    .banner_section {
        padding-top: 50px;
    }

    .banner_taital_1 {
        font-size: 36px;
    }

    .banner_taital {
        font-size: 32px;
    }

    .banner_text {
        width: 93%;
        font-size: 16px;
        margin: 0px 0px 15px 0px;
    }

    .header_section {
        padding-top: 15px;
        padding-bottom: 160px;
        background-size: cover;
    }

    .play_icon {
        margin-top: 40px;
    }

    .services_taital {
        font-size: 34px;
    }

    .ipsum_text {
        font-size: 14px;
    }

    .image_2 {
        height: 240px;
    }

    .choose_box {
        margin-top: 30px;
    }

    .choose_section_2 {
        padding-top: 50px;
    }

    .team_section_2 {
        padding-top: 50px;
    }

    .subscribe_bt {
        width: 130px;
    }

    .contact_taital {
        font-size: 24px;
    }

    .background_bg {
        padding: 15px 0px 0px 0px;
        height: 105px;
    }

    .team_section_2 {
        padding-top: 20px;
    }

    .menu_text {
        padding-top: 15px;
    }

    .toggle_menu {
        top: 5px;
    }

}

@media (min-width: 768px) and (max-width: 991px) {
    .main-menu ul>li a {
        padding: 7px 6px;
    }

    .main-menu ul>li a {
        font-size: 14px;
    }


    .banner-main .carousel-caption h1 {

        font-size: 36px;
        padding-top: 0px;
    }

    .banner-main .carousel-caption p {

        margin-bottom: 7px;
        display: none;
    }

    .main {
        width: 15%;
    }

    .info_icon {
        min-width: 10%;
    }

    #main_slider a.carousel-control-prev {
        display: block;
    }

    .btn_main {
        margin-top: 58px;
        width: 65%;
    }

    #main_slider a.carousel-control-next {
        display: block;
    }

    .sporrt_text {
        margin-top: 0px;
        font-size: 24px;
    }

    .email_btn {
        padding: 41px;
    }

    .btn-primary {
        max-width: 144px;
    }

    .titlepage h2::after {
        width: 79%;
    }

    .about-box .titlepage h2::after {
        width: 73%;
        right: -88px;
    }

    .contact .titlepage h2::after {
        left: -403px;
        width: 41%;
    }

    .paddimg-right {
        padding-right: 15px;
    }

    .paddimg-left {
        padding-left: 15px;
    }

    .menu_text {
        padding-top: 0px;
    }

    .banner_section {
        padding-top: 50px;
    }

    .banner_taital_1 {
        font-size: 42px;
    }

    .banner_taital {
        font-size: 36px;
    }

    .banner_text {
        width: 100%;
        font-size: 14px;
        margin: 0px;
    }

    .header_section {
        padding-top: 15px;
        padding-bottom: 120px;
        background-size: cover;
    }

    .padding_left0 {
        padding-left: 10px;
    }

    .menu_main {
        font-size: 18px;
    }

    .play_icon {
        margin-top: 40px;
    }

    .services_taital {
        font-size: 34px;
    }

    .ipsum_text {
        font-size: 14px;
    }

    .image_2 {
        height: 240px;
    }

    .choose_box {
        margin-top: 30px;
    }

    .choose_section_2 {
        padding-top: 50px;
    }

    .team_section_2 {
        padding-top: 50px;
    }

    .subscribe_bt {
        width: 130px;
    }

    .tempor_text {
        font-size: 12px;
    }

    .contact_taital {
        font-size: 24px;
    }

    .location_text {
        font-size: 14px;
    }

    .background_bg {
        padding: 15px 0px 0px 0px;
        height: 85px;
    }

    .team_section_2 {
        padding-top: 20px;
    }

    .menu_text {
        padding-top: 5px;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .last {
        display: none;
    }

    .banner-main .carousel-caption {
        top: 0%;
    }

    .titlepage h2 {
        font-size: 42px;
        display: block;
    }

    #main_slider a.carousel-control-prev {
        position: absolute;
        left: 25%;
        top: 64%;
        display: none;
    }

    .btn_main {
        margin-top: 58px;
        width: 80%;
    }

    #main_slider a.carousel-control-next {
        position: absolute;
        left: 50px;
        top: 64%;
        display: none;
    }

    .btn-primary {
        margin-top: 0px;
        margin-left: -7px;
    }

    .menu_main {
        width: 95%;
    }

    .banner-main .carousel-caption h1 {
        font-size: 50px;
    }

    .titlepage h2::after {
        width: 88%;
    }

    .about-box .titlepage h2::after {
        width: 45%;
        right: -281px;
    }

    .sporrt_text {
        margin-top: 0px;
    }

    .Nursery-img .text-box h3 {
        font-size: 36px;
        padding: 126px 40px;
    }

    .main {
        width: 20%;
    }

    .contact .titlepage h2::after {
        left: -234px;
        width: 55%;
    }

    .logo {
        width: 40%;
        padding-left: 0px;
    }

    .togle_3 {
        display: none;
    }

    .toggle_menu {
        top: -48px;
        float: right;
    }

    .header_section {
        background-size: cover;
        padding-top: 15px;
        padding-bottom: 90px;
        background: #89cbeb;
    }

    .banner_section {
        padding-top: 30px;
    }

    .banner_taital {
        font-size: 28px;
    }

    .banner_taital_1 {
        font-size: 32px;
    }

    .banner_text {
        width: 100%;
        font-size: 13px;
    }

    .image_1 {
        padding-top: 20px;
    }

    .services_taital {
        font-size: 29px;
    }

    .services_text {
        font-size: 13px;
    }

    .services_section_2 {
        padding-top: 0px;
    }

    .box_section {
        margin-top: 30px;
    }

    .tile_text {
        font-size: 28px;
    }

    .lorem_text {
        font-size: 13px;
    }

    .image_2 {
        padding-top: 20px;
    }

    .about_section .row {
        flex-direction: column-reverse;
    }

    .ipsum_text {
        font-size: 14px;
    }

    .choose_taital {
        font-size: 30px;
    }

    .choose_text {
        font-size: 13px;
    }

    .choose_section_2 {
        padding-top: 30px;
    }

    .choose_box {
        margin-top: 30px;
    }

    .get_bt {
        width: 150px;
    }

    .consectetur_text {
        padding-top: 30px;
    }

    .dummy_text {
        margin-top: 0px;
        font-size: 13px;
    }

    .consectetur_text_1 {
        padding-top: 30px;
    }

    .dummy_text_1 {
        margin-top: 0px;
        font-size: 13px;
    }

    .subscribe_bt {
        width: 116px;
    }

    .footer_left {
        width: 50%;
    }

    .location_text {
        text-align: left;
    }

    /* Contact Cards Tablet */
    .contact_info_cards {
        gap: 15px;
    }

    .contact_card {
        padding: 12px 18px;
    }

    .contact_card_value {
        font-size: 14px;
    }

    .mail_section {
        width: 100%;
    }

    .contact_taital {
        width: 73%;
        font-size: 24px;
        text-align: left;
    }

    .background_bg {
        padding: 15px 0px 0px 0px;
        height: 105px;
    }

    .team_section_2 {
        padding-top: 20px;
    }

    .menu_text {
        padding-top: 0px;
    }

    /* Gallery responsive styles for large mobile */
    .gallery-title {
        font-size: 22px;
    }
    
    .gallery-description {
        font-size: 15px;
        padding: 0 15px;
    }
    
    .twentytwenty-container img {
        height: 280px;
    }
    
    #gallery_slider_mobile .carousel-control-prev,
    #gallery_slider_mobile .carousel-control-next {
        width: 55px;
        height: 55px;
        font-size: 26px;
    }

}

@media (max-width: 575px) {
    .last {
        display: none;
    }

    .carousel-caption {
        display: none;
    }

    .header {
        padding-top: 0px;
    }

    /* CTA Button Mobile */
    .cta_button {
        padding: 14px 28px;
        font-size: 15px;
        gap: 10px;
    }

    .cta_icon svg {
        width: 18px;
        height: 18px;
    }

    .btn-primary {
        max-width: 126px;
        margin-right: 2px;
        font-size: 14px;
    }

    .banner-main .carousel-caption h1 {
        font-size: 30px;
        line-height: 38px;
    }

    .titlepage h2 {
        font-size: 27px;
    }

    .sporrt_text {
        font-size: 23px;
        margin-top: 0px;
    }

    .main {
        width: 30%;
    }

    .btn_main {
        margin-top: 30px;
        padding-bottom: 30px;
        width: 55%;
    }

    #main_slider a.carousel-control-prev {
        position: absolute;
        left: 10px;
        top: 68%;
        transform: translateY(-50%);
        display: block;
        background: rgba(0, 0, 0, 0.5);
        border-radius: 50%;
        width: 40px;
        height: 40px;
        text-align: center;
        line-height: 40px;
    }

    #main_slider a.carousel-control-next {
        position: absolute;
        right: 10px;
        top: 68%;
        transform: translateY(-50%);
        display: block;
        background: rgba(0, 0, 0, 0.5);
        border-radius: 50%;
        width: 40px;
        height: 40px;
        text-align: center;
        line-height: 40px;
    }

    .titlepage h2::after {
        width: 93%;
    }

    .about-box .titlepage h2::after {
        width: 238px;
        right: -50px;
    }

    .Gallery .titlepage h2 {
        font-size: 47px;
    }

    .Gallery .titlepage h2::after {
        width: 89%;
    }

    .paddimg-right {
        padding-right: 15px;
    }

    .paddimg-left {
        padding-left: 15px;
    }

    .Nursery-img .text-box h3 {
        font-size: 23px;
        padding: 30px 14px;

    }

    .contact .titlepage h2::after {

        left: -8px;
        width: 281px;
    }

    .footer .headinga span {
        font-size: 16px;

    }

    .menu-bottom {
        margin-bottom: 45px;
    }

    ul.link li {

        padding: 8px 12px;
        padding-bottom: 0px;
    }

    .logo {
        width: 40%;
        padding-left: 0px;
    }

    .togle_3 {
        display: none;
    }

    .toggle_menu {
        top: -70px;
        float: right;
    }

    .header_section {
        background-size: cover;
        padding-top: 15px;
        padding-bottom: 90px;
        background: #89cbeb;
    }

    .banner_section {
        padding-top: 30px;
    }

    .banner_taital {
        font-size: 32px;
        text-align: center;
    }

    .banner_taital_1 {
        font-size: 38px;
        text-align: center;
    }

    .banner_text {
        width: 100%;
        font-size: 15px;
    }

    .play_icon {
        display: none;
    }

    .image_1 {
        padding-top: 20px;
    }

    .services_taital {
        font-size: 29px;
    }

    .services_text {
        font-size: 15px;
    }

    .services_section_2 {
        padding-top: 0px;
    }

    .box_section {
        margin-top: 30px;
    }

    .tile_text {
        font-size: 28px;
    }

    .lorem_text {
        font-size: 15px;
    }

    .image_2 {
        padding-top: 20px;
    }

    .about_section .row {
        flex-direction: column-reverse;
    }

    .ipsum_text {
        font-size: 14px;
    }

    .choose_taital {
        font-size: 30px;
    }

    .choose_text {
        font-size: 15px;
    }

    .choose_section_2 {
        padding-top: 30px;
    }

    .choose_box {
        margin-top: 30px;
    }

    .get_bt {
        width: 150px;
    }

    .consectetur_text {
        padding-top: 30px;
    }

    .dummy_text {
        margin-top: 0px;
        font-size: 15px;
    }

    .images_main .row {
        flex-direction: column-reverse;
    }

    .consectetur_text_1 {
        padding-top: 30px;
    }

    .dummy_text_1 {
        margin-top: 0px;
        font-size: 15px;
    }

    .subscribe_bt {
        width: 116px;
    }

    .footer_left {
        width: 100%;
    }

    .location_text {
        text-align: left;
    }

    .mail_section {
        width: 100%;
    }

    /* Contact Cards Mobile */
    .contact_info_cards {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .contact_card {
        width: 100%;
        max-width: 300px;
        padding: 12px 20px;
        justify-content: flex-start;
    }

    .contact_card_icon {
        width: 40px;
        height: 40px;
    }

    .contact_card_icon img {
        width: 18px;
        height: 18px;
    }

    .contact_card_label {
        font-size: 11px;
    }

    .contact_card_value {
        font-size: 14px;
    }

    .background_bg {
        padding: 15px 0px 0px 0px;
    }

    .team_section_2 {
        padding-top: 20px;
    }

    .menu_text {
        padding-top: 0px;
    }
    
    /* Mobile carousel controls styling - matching desktop format */
    #main_slider_desktop a.carousel-control-prev,
    #main_slider_desktop a.carousel-control-next,
    #main_slider_mobile a.carousel-control-prev,
    #main_slider_mobile a.carousel-control-next {
        background: #367d99;
        opacity: 1;
        font-size: 30px;
        color: #ffffff;
        border-radius: 100%;
        top: 68%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
    }
    
    #main_slider_desktop a.carousel-control-prev,
    #main_slider_mobile a.carousel-control-prev {
        left: -13px;
    }
    
    #main_slider_desktop a.carousel-control-next,
    #main_slider_mobile a.carousel-control-next {
        right: -13px;
    }
    
    #main_slider_desktop a.carousel-control-prev:hover,
    #main_slider_desktop a.carousel-control-next:hover,
    #main_slider_desktop a.carousel-control-prev:focus,
    #main_slider_desktop a.carousel-control-next:focus,
    #main_slider_mobile a.carousel-control-prev:hover,
    #main_slider_mobile a.carousel-control-next:hover,
    #main_slider_mobile a.carousel-control-prev:focus,
    #main_slider_mobile a.carousel-control-next:focus {
        background: #367d99;
        color: #fff;
    }
    
    /* Mobile carousel specific styles */
    #main_slider_mobile .carousel-item .col-12 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    /* Gallery responsive styles */
    .gallery-title {
        font-size: 20px;
        margin-top: 15px;
    }
    
    .gallery-description {
        font-size: 14px;
        padding: 0 10px;
    }
    
    .gallery-item {
        padding: 15px 10px;
    }
    
    .twentytwenty-container img {
        height: 250px;
    }
    
    .twentytwenty-before-label,
    .twentytwenty-after-label {
        font-size: 14px;
        padding: 8px 12px;
    }
    
    #gallery_slider_mobile .carousel-control-prev,
    #gallery_slider_mobile .carousel-control-next {
        width: 50px;
        height: 50px;
        font-size: 24px;
    }
    
    #gallery_slider_mobile a.carousel-control-prev {
        left: -20px;
    }
    
    #gallery_slider_mobile a.carousel-control-next {
        right: -20px;
    }

    /* Contact Form Mobile Styles */
    .contact_form_section {
        padding: 20px 15px;
    }

    .form_group_half {
        width: 100%;
    }

    .form_row {
        margin: 0 -5px;
        margin-bottom: 10px;
    }

    .form_group {
        padding: 0 5px;
        margin-bottom: 10px;
    }

    .form_label {
        font-size: 13px;
    }

    .form_input,
    .form_select,
    .form_textarea {
        padding: 10px 12px;
        font-size: 14px;
    }

    .section_title {
        font-size: 16px;
    }

    .conditional_section {
        padding: 15px;
    }

    .qty_btn {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .qty_input {
        font-size: 16px;
    }

    .field_hint {
        font-size: 11px;
    }

    .submit_btn {
        padding: 12px 25px;
        font-size: 16px;
    }

    .submit_btn.loading::after {
        width: 18px;
        height: 18px;
        margin-left: -9px;
        margin-top: -9px;
    }

    .checkbox_label {
        padding: 10px 12px;
    }

    .checkbox_custom {
        width: 20px;
        height: 20px;
        margin-right: 10px;
    }

    .checkbox_text {
        font-size: 14px;
    }

    .footer_section .social_icon {
        text-align: center;
    }

    .footer_section .map_main {
        margin-top: 30px;
    }
}

/* Contact Form Tablet Styles */
@media (min-width: 576px) and (max-width: 991px) {
    .contact_form_section {
        padding: 25px 20px;
    }

    .form_group_half {
        width: 50%;
    }

    .footer_section .social_icon {
        text-align: center;
    }

    .footer_section .map_main {
        margin-top: 30px;
    }
}

/* Contact Form Desktop/Tablet Adjustments */
@media (min-width: 992px) {
    .contact_form_section {
        margin-right: 20px;
    }

    .footer_section .col-lg-5 {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .footer_section .map_main {
        flex-grow: 1;
    }
}

/* Map Title Responsive */
@media (max-width: 991px) {
    .map_title {
        margin-top: 30px;
    }
}

@media (max-width: 575px) {
    .map_title h4 {
        font-size: 18px;
    }

    .map_title p {
        font-size: 13px;
    }
}

/* Site Footer Responsive */
@media (max-width: 575px) {
    .site_footer {
        padding: 25px 0;
    }

    .footer_content {
        gap: 15px;
    }

    .footer_logo img {
        max-height: 40px;
    }

    .footer_social a {
        width: 36px;
        height: 36px;
    }

    .footer_social img {
        width: 16px;
        height: 16px;
    }

    .footer_copyright p {
        font-size: 12px;
    }
}