/*!
 * M.Y. Gangoor Global Foundation — responsive.css (Optimised)
 * Based on Dhyana template by Bestwebcreator v1.1
 *
 * CHANGES FROM ORIGINAL:
 * ─────────────────────────────────────────────────────────────
 * 1. SPLIT .banner_content h2 RULES MERGED
 *    In the max-767px block, `.banner_content h2` appeared twice —
 *    once for font-size and once for margin-bottom. Merged into one
 *    rule. The browser was forced to parse and apply both separately.
 *
 * 2. REMOVED -moz-transform VENDOR PREFIXES (9 occurrences)
 *    Firefox has not required -moz-transform since Firefox 16 (2012).
 *    All modern browsers use plain `transform`. Removed all 9.
 *
 * 3. REMOVED DEAD/COMMENTED-OUT RULES
 *    Two commented-out `right` properties on .ol_shape11/.ol_shape12
 *    served no purpose — stripped clean.
 *
 * 4. REMOVED CONFLICTING .scrollup RULE in max-767px block
 *    index.html already has a fully self-contained `.scrollup` system
 *    (moved to left side to avoid Tawk.to overlap, with all breakpoints
 *    covered via !important). The `right: 10px` rule here would fight it.
 *    Removed `.scrollup` from this file entirely to avoid specificity
 *    battles — the single source of truth is in index.html.
 *
 * 5. EMPTY MEDIA QUERY BLOCKS PRESERVED (but clearly labelled)
 *    The (min:991px)-(max:1199px) block was empty. Kept as a clean
 *    extension point rather than silently removing it.
 *
 * 6. CONSISTENT FORMATTING
 *    Standardised indentation (4-space), consistent comment style,
 *    no mixed tabs/spaces.
 * ─────────────────────────────────────────────────────────────
 */

/* =============================================================
   max-width: 1800px
   ============================================================= */
@media only screen and (max-width: 1800px) {
    .shape2 img {
        max-width: 400px;
    }
}

/* =============================================================
   max-width: 1600px
   ============================================================= */
@media only screen and (max-width: 1600px) {
    .shape2 {
        right: -5%;
    }
    .banner_img4 {
        min-width: 600px;
    }
}

/* =============================================================
   max-width: 1500px
   ============================================================= */
@media only screen and (max-width: 1500px) {
    .banner_content_pad {
        padding-left: 50px;
    }
}

/* =============================================================
   max-width: 1400px
   ============================================================= */
@media only screen and (max-width: 1400px) {
    .banner_content h2 {
        font-size: 72px;
        margin-bottom: 30px;
    }
    .banner_content p {
        margin-bottom: 30px;
    }
    .banner_content3 h2 {
        font-size: 52px;
        margin-bottom: 20px;
        line-height: 70px;
    }
    .heading_s3 .sub_heading {
        font-size: 110px;
    }
    .banner_img img {
        max-width: 400px;
        width: 100%;
    }
    .banner_img .circle_bg1 {
        left: 35%;
        height: 600px;
        width: 600px;
    }
    .banner_img2 {
        min-width: 650px;
    }
    .banner_img3,
    .banner_img4 {
        min-width: 500px;
    }
    .shape5 img {
        max-width: 120px;
    }
    .shape6 {
        left: -15%;
    }
    .shape6 img {
        max-width: 450px;
    }
    .shape7 img {
        max-width: 120px;
    }
    .ol_shape1 {
        bottom: -70px;
    }
    .ol_shape1 img {
        max-width: 120px;
    }
    .ol_shape2 img {
        max-width: 100px;
    }
    .ol_shape3 {
        top: -70px;
    }
    .ol_shape3 img,
    .ol_shape4 img {
        max-width: 150px;
    }
}

/* =============================================================
   min-width: 1200px  —  Boxed layout option
   ============================================================= */
@media only screen and (min-width: 1200px) {
    .boxed_layout {
        background-position: center center;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
        max-width: 1200px;
        margin: 0 auto;
        position: relative;
        width: 100%;
    }
    .boxed_layout .header_wrap,
    .boxed_layout .header_wrap.nav-fixed {
        max-width: 1200px;
        margin: 0 auto;
    }
}

/* =============================================================
   min-width: 991px  AND  max-width: 1199px
   (Extension point — add tablet-landscape rules here if needed)
   ============================================================= */
@media only screen and (min-width: 991px) and (max-width: 1199px) {
}

/* =============================================================
   min-width: 767px  AND  max-width: 991px  — Tablet portrait
   ============================================================= */
@media only screen and (min-width: 767px) and (max-width: 991px) {
    .banner_img {
        position: relative;
        top: 0;
        -webkit-transform: none;
        transform: none;
        margin-top: 20px;
    }
    .banner_box_style1 .banner_img {
        bottom: -25px;
        margin-top: -5px;
        right: -10px;
    }
    .banner_img2 {
        margin-left: -30px;
    }
    .event_box {
        padding: 15px;
    }
    .event_date {
        width: 65px;
        padding: 8px;
    }
    .event_date span {
        font-size: 26px;
    }
    .event_meta li {
        padding-right: 10px;
        font-size: 14px;
    }
    .event_info > a {
        font-size: 14px;
    }
    .event_meta {
        margin-bottom: 0;
    }
}

/* =============================================================
   max-width: 1199px  — Desktop small / Laptop
   ============================================================= */
@media only screen and (max-width: 1199px) {
    section,
    .top_footer {
        padding: 80px 0;
    }
    section.small_pt,
    .small_pt,
    .top_footer.small_pt {
        padding-top: 40px;
    }
    section.small_pb,
    .small_pb,
    .top_footer.small_pb {
        padding-bottom: 40px;
    }
    section.pb_20,
    .pb_20 {
        padding-bottom: 10px;
    }
    section.pb_70,
    .pb_70 {
        padding-bottom: 50px;
    }
    .h1, h1 { font-size: 34px; }
    .h2, h2 { font-size: 30px; }
    .h3, h3 { font-size: 26px; }
    .h4, h4 { font-size: 22px; }
    .h5, h5 { font-size: 18px; }

    .large_divider  { height: 80px; }
    .medium_divider { height: 40px; }
    .small_divider  { height: 20px; }

    .medium_padding { padding: 40px; }

    .page-title h1 {
        font-size: 40px;
    }
    .heading_s1 h1,
    .heading_s2 h1,
    .heading_s3 h1 {
        font-size: 36px;
    }
    .heading_s1 h2,
    .heading_s2 h2,
    .heading_s3 h2 {
        font-size: 30px;
    }
    .heading_s3 .sub_heading {
        font-size: 100px;
    }
    .banner_slider:not(.full_screen),
    .banner_slider:not(.full_screen) .carousel-item,
    .banner_section:not(.full_screen) .banner_content_wrap,
    .banner_section:not(.full_screen) .banner_content_wrap .carousel-item {
        height: 750px;
    }
    .banner_content h2 {
        font-size: 66px;
    }
    .banner_img img {
        max-width: 300px;
    }
    .banner_img .circle_bg1 {
        height: 500px;
        width: 500px;
    }
    .banner_img4 {
        min-width: 400px;
    }
    .shape2 img { max-width: 300px; }
    .shape1 img { max-width: 300px; }
    .shape3 img { max-width: 200px; }
    .shape4 img { max-width: 180px; }

    .banner_img2 {
        min-width: 500px;
    }
    .banner_img3 {
        min-width: 400px;
    }
    .banner_content2 h2 {
        font-size: 50px;
        margin-bottom: 20px;
    }
    .banner_content3 h2 {
        font-size: 42px;
        line-height: 60px;
    }
    .banner_content2 p {
        margin-bottom: 25px;
    }
    .ol_shape1 {
        bottom: -40px;
    }
    .ol_shape1 img,
    .ol_shape2 img {
        max-width: 80px;
    }
    .ol_shape3 {
        top: -50px;
    }
    .ol_shape3 img,
    .ol_shape4 img {
        max-width: 100px;
    }
    .ol_shape7 img { max-width: 350px; }
    .shape8 img    { max-width: 700px; }

    .classes_filter li a {
        padding: 5px 15px;
    }
    .lr_form {
        padding: 30px;
    }
    .boxed_layout {
        background-image: none !important;
    }
    .blog_content {
        padding: 15px;
    }
    .icon_box_style2 .box_icon {
        max-width: 70px;
        height: 70px;
        line-height: 70px;
        margin: 0 10px 0 0;
    }
    .box_icon i {
        font-size: 40px;
    }
    .icon_box_style3 .box_icon {
        width: 80px;
        height: 80px;
        line-height: 80px;
    }
    .testimonial_bg {
        background-size: cover !important;
    }
    .btn_page .btn {
        margin-bottom: 10px;
    }
    .event_box_style1 .event_title {
        font-size: 16px;
    }
    .event_box_style1 .event_meta li {
        font-size: 14px;
    }
    .testimonial_section {
        padding: 0 100px;
    }
    .product_info {
        padding: 15px 10px;
    }
    .price del {
        margin-right: 7px;
    }
    .filter_price span {
        font-size: 14px;
    }
}

/* =============================================================
   min-width: 992px  — Desktop dropdown hover behaviour
   ============================================================= */
@media only screen and (min-width: 992px) {
    .heading_s1.text-lg-left::before  { margin: 0; right: auto; }
    .heading_s1.text-lg-center::before { margin: 0 auto; right: 0; }
    .heading_s1.text-lg-right::before  { margin: 0; right: 0; left: auto; }

    .navbar .navbar-nav .dropdown-menu .dropdown-menu {
        left: 100%;
        top: 0;
    }
    .navbar .navbar-nav .dropdown-menu li:hover .dropdown-menu {
        margin-top: -9px !important;
    }
    .navbar .navbar-nav li > .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease-in-out;
        margin-top: 20px;
    }
    .navbar .navbar-nav li:hover > .dropdown-menu,
    .overlay_menu .navbar .navbar-nav li:hover > .dropdown-menu.cart_box {
        display: block;
        opacity: 1;
        visibility: visible;
        margin: 0;
    }
    .navbar .navbar-nav .dropdown-menu .dropdown-menu.dropdown-reverse {
        left: auto;
        right: 100%;
    }
    .navbar .navbar-nav li:hover > .dropdown-menu.cart_box {
        transform: scale(1);
    }
    .header_dropdown li:hover .dropdown-menu {
        display: block;
    }
    .header_dropdown .dropdown-menu {
        display: none;
    }
}

/* =============================================================
   max-width: 991px  — Tablet / Mobile menu
   ============================================================= */
@media only screen and (max-width: 991px) {
    .btn        { padding: 8px 20px; }
    .btn-group-sm > .btn, .btn-sm { padding: 7px 15px; }
    .btn-xs     { padding: 3px 12px; }

    .padding_eight_all {
        padding: 5%;
    }
    .heading_s3 .sub_heading {
        font-size: 70px;
        margin-bottom: -20px;
    }

    /* Mobile nav */
    #navbarSupportedContent .navbar-nav {
        max-height: 80vh;
        overflow-y: auto;
        padding: 10px 0;
    }
    .header_wrap .navbar {
        display: block;
    }
    .header_wrap .navbar .navbar-nav.attr-nav {
        display: block;
        float: right;
    }
    .navbar .navbar-nav.attr-nav li {
        float: left;
    }
    .navbar-brand {
        padding: 13px 0;
        vertical-align: top;
        margin: 0;
    }
    .navbar .attr-nav li .nav-link {
        padding: 21px 10px !important;
    }
    .header_wrap .navbar-collapse {
        position: absolute;
        left: 0;
        right: 0;
        z-index: 999;
    }
    .header_wrap.light_skin .navbar-collapse::before {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
    }
    .header_wrap.dark_skin .navbar-collapse {
        border-top: 1px solid #eee;
        border-bottom: 1px solid #eee;
    }
    .header_wrap #navbarSupportedContent .navbar-nav:not([class*="bg_"]):not([class*="bg-"]) {
        background-color: #1E1E1E;
    }
    .light_skin.transparent_header.nav-fixed .navbar-collapse .navbar-nav > li > a {
        color: #fff;
    }
    .header_wrap.dark_skin #navbarSupportedContent .navbar-nav:not([class*="bg_"]):not([class*="bg-"]) {
        background-color: #fff;
    }
    .navbar .navbar-nav > li > .nav-link,
    .nav-fixed .navbar .navbar-nav > li > .nav-link,
    .bottom-header .navbar .navbar-nav > li > .nav-link {
        padding: 7px 15px;
    }
    .navbar .attr-nav li.cart_wrap .nav-link {
        padding: 27px 10px !important;
    }
    .navbar .attr-nav li .search_trigger i {
        line-height: 38px;
    }
    .mega-menu-col {
        border-right: 0;
        padding: 0;
    }
    .navbar .navbar-nav .dropdown-header {
        padding: 8px 8px 0;
    }
    .mega-menu {
        padding: 0;
    }
    .navbar .navbar-nav li .dropdown-menu {
        margin: 0 15px;
    }
    .navbar .navbar-nav li .cart_box.dropdown-menu {
        margin: 0;
    }
    .cart_count {
        top: 18px;
        right: 3px;
    }
    .dark_skin .navbar-nav .dropdown-menu {
        box-shadow: none;
        border: 0;
        margin-top: 0;
    }
    .dropdown-toggle::after,
    .dropdown-toggler::after {
        float: right;
        margin-top: 5px;
    }
    .navbar-nav li.show .dropdown-toggle::after,
    .navbar-nav li .dropdown-menu li.show .dropdown-toggler::after {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    .dropdown-toggler::after {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    .navbar .attr-nav li .search_trigger::before {
        content: normal;
    }
    .navbar .navbar-nav li.show > .dropdown-menu.cart_box {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    .menu_style1 .navbar .navbar-collapse .navbar-nav > li > .nav-link {
        margin: 2px 10px;
    }

    /* Banner */
    .banner_slider:not(.full_screen),
    .banner_slider:not(.full_screen) .carousel-item,
    .banner_section:not(.full_screen) .banner_content_wrap,
    .banner_section:not(.full_screen) .banner_content_wrap .carousel-item {
        height: 650px;
    }
    .banner_content h2 {
        font-size: 60px;
    }
    .banner_content3 h2 {
        font-size: 30px;
        line-height: 48px;
    }
    .banner_img .circle_bg1 {
        left: 45%;
    }
    .banner_img2  { min-width: 400px; }
    .banner_img3  { margin-left: -80px; }
    .banner_img4  { min-width: 300px; }

    .shape6 img     { max-width: 400px; }
    .ol_shape5 img  { max-width: 90px; }
    .ol_shape6 img  { max-width: 140px; }
    .ol_shape8 img  { max-width: 100px; }
    .ol_shape9 img  { max-width: 150px; }
    .shape8 img     { max-width: 600px; }

    .circle_bg1 {
        height: 350px;
        width: 350px;
    }
    .md-height-300 {
        height: 300px !important;
    }
    .header_wrap.fixed-top + .breadcrumb_section {
        padding-top: 100px;
    }
    .ol_shape13 img { max-width: 300px; }
    .ol_shape11 img { max-width: 150px; }
    .ol_shape12 img { max-width: 150px; }

    .icon_box {
        padding: 15px;
    }
    .schedule_table td {
        padding: 10px;
    }
    .classes_filter li {
        margin: 0 2px;
    }
    .testimonial_img img {
        max-width: 60px;
    }
    .testi_meta {
        overflow: visible;
    }
    .counter_text {
        font-size: 30px;
    }
    .box_counter p {
        font-size: 16px;
    }
    .newsletter_form button {
        right: 0;
        top: 0;
        padding: 15px 30px;
        font-size: 14px;
    }
    .overlap_bottom {
        margin-bottom: 0;
    }
    .contact_info_box {
        padding: 20px;
    }
    .contact_info_box .icon_box {
        margin-top: 15px;
    }
    .product_list .product_info h6 {
        font-size: 14px;
    }
    footer .widget_title {
        margin-bottom: 20px;
    }
    .toggle_info {
        padding: 12px;
        margin-bottom: 20px;
        font-size: 13px;
    }
    .nav_top_right2.owl-theme .owl-nav [class*="owl-"] {
        top: -55px;
    }
    .grid_col3 > li { width: 50%; }
    .grid_col4 > li { width: 33.33%; }

    .error_txt {
        font-size: 200px;
    }
    .counter_content p {
        font-size: 14px;
    }
    .newsletter_form2 input {
        height: 52px;
        padding: 10px 140px 10px 20px;
    }
    footer .widget_title2 {
        margin-bottom: 20px;
    }
    .testimonial_section {
        padding: 0 50px;
    }
    .testimonial_style3 .testi_desc p {
        font-size: 16px;
    }
    .insta_icon {
        font-size: 16px;
    }
    .trainer_image {
        margin-bottom: 25px;
    }
    .shop_cart_table tfoot .btn {
        padding: 7px 10px;
    }
    .shop_cart_table tfoot .btn + .btn {
        margin-left: 5px;
    }

    /* Small-screen button overrides */
    .btn-borderd { padding: 8px 15px !important; }
    .navbar-brand { padding: 15px 0; }
    .navbar-brand img { max-width: 120px; }
    .light_skin .header_list li a { font-size: 14px; }
    .navbar .navbar-nav.attr-nav li { position: static; }
    .navbar .attr-nav li .nav-link { padding: 16px 10px !important; }
    .navbar .attr-nav li.cart_wrap .nav-link { padding: 22px 10px !important; }
    .border_list::before { content: normal; }
    .btn-login li a { padding: 7px 15px; }

    .sidebar .widget { margin-bottom: 20px; }
    .user_img img { max-width: 40px; }
    .comment_info.reply { margin-left: 20px; }
    .content_title { font-size: 16px; }
    .border_list li::before { content: normal; }
    .banner_content2 h2 { font-size: 22px; }
    .banner_text p { font-size: 14px; }
    .comment-time { display: block; }
    .comment-time::before { content: normal; }
    .comment_content { padding-left: 12px; }
    .comment_list > li.comment_info { padding: 15px 0; }
    .children_comment { padding-top: 15px; margin-top: 15px; padding-left: 20px; }
    .meta_data { margin-bottom: 5px; }
    .meta_data h5 { margin-bottom: 5px; }
    .login_footer { text-align: center; }
    .login_footer > a { float: none; }
    .breadcrumb li a, .breadcrumb li { font-size: 14px; }
    .comment-time { font-size: 12px; }
    .trainer_info li span { max-width: 100%; }
    .trainer_info > li { margin-top: 10px; }
    .shop_cart_table tfoot .btn { display: block; width: 100%; }
    .shop_cart_table tfoot .btn + .btn { margin-left: 0; margin-top: 10px; }

    /* Countdown */
    .countdown_box .countdown,
    .countdown_box::before {
        font-size: 30px;
    }
    .countdown_content::before {
        font-size: 28px;
        top: 15px;
    }
    .countdown_time .cd_text {
        font-size: 14px;
    }

    /* Misc */
    .post_navigation span { font-size: 14px; }
    .top-header .custome_dropdown .ddChild { min-width: 100%; }
    .newsletter_form input, .newsletter_form input:focus {
        padding: 15px 130px 15px 20px;
    }
    .newsletter_form button { right: 6px; top: 5px; padding: 10px 20px; }
    .newslatter_wrap { margin-top: 30px; }
    .tags a { padding: 7px 12px; }
    .border_bottom_dash > li { padding-bottom: 8px; margin-bottom: 8px; }
    .widget_categories a { font-size: 14px; }
    .widget_categories ul li, .widget_archive ul li { padding-bottom: 5px; }
    .author_img img { width: 100%; max-width: 100%; }
    .comment_info.reply { margin-left: 40px; }
    .single_post .blog_post_footer { padding: 20px 0; }
    .author_block { padding: 15px; }
    .post_navigation a { padding: 6px 12px; }
    .single_post .post_navigation { margin: 20px 0; }
    .related_post, .comment-area, .comment_form { margin-top: 20px; }
    .posts-title * { margin-bottom: 15px; }
    .content_info { padding: 15px; }
    .sidebar_menu { width: 280px; right: -280px; }
    .testimonial_style3 .testi_desc::before { top: -10px; font-size: 70px; }
    .testimonial_img { margin-right: 10px; }
    .tab-style1 .nav-tabs .nav-item { margin-right: 0; }
    .tab-style1 .nav-tabs li.nav-item a { font-size: 13px; }
    .comment_img img { max-width: 60px; }
    .children_comment { padding-left: 30px; }
    .comment_block { padding-left: 75px; }
    .comment-date::before { margin: 0 7px; }
    .list_view .product_img { float: none; width: 100%; }
    .list_view .product_action_box li { margin: 0 5px 0 0; }
    .pagination li { margin-right: 5px; }
    .pagination .page-item a, .page-item.disabled .page-link { height: 34px; width: 34px; line-height: 34px; font-size: 16px; }
    .pagination .page-item a i { font-size: 24px; }
    .grid_col3 > li, .grid_col4 > li { width: 100%; }
    .gutter_medium > li { padding: 0 15px 15px 15px; }
    .error_txt { font-size: 120px; }
    .cs_content_box .countdown_time, .cs_content_box .newsletter_form { margin-bottom: 15px; }
    .logo_wrap img { max-width: 140px; }
    .logo_wrap { margin-bottom: 20px; }
    .grid_filter { margin-bottom: 15px; }
    .grid_filter li { display: block; margin: 3px 0; width: 100%; }
    .post_all_btn a { font-size: 20px; }
    .blockquote_style1 { padding: 15px; }
    .cta_section_small { padding: 20px; }
    .about_counter { padding: 10px 0; }
    .list_item li { padding: 0 10px; }
    .event_box { padding: 15px; }
    .event_date span { font-size: 24px; }
    .event_date * { font-size: 14px; }
    .icon_box_style3 .box_icon { width: 70px; height: 70px; line-height: 70px; }
    .icon_box_style3 .box_icon i { font-size: 40px; }
    .intro_desc h5 { font-size: 16px; }
    .testimonial_style2 .owl-item.center .testimonial_box::before { top: 50%; }

    /* Nav tabs / accordion */
    .nav-tabs li.nav-item { margin-right: 0; }
    .tab-style2 .nav-item .nav-link { padding: 8px 20px; }
    .nav-tabs [class*="pr_"] { display: inline-block; margin: 0 5px 0 0; vertical-align: middle; }
    .accordion > .card { margin-bottom: 0; }
    .accordion .card-header a { padding: 10px 50px 10px 0; }
    .page-title h1 { font-size: 24px; margin: 0; }
    .box_counter img { max-width: 50px; }
    .custome-checkbox .form-check-label { font-size: 14px; }
    .ol_shape12 { left: -80px; }
    .ol_shape13 img { max-width: 150px; }
}

/* =============================================================
   min-width: 768px  — Small tablet heading alignment
   ============================================================= */
@media only screen and (min-width: 768px) {
    .heading_s1.text-md-left::before   { margin: 0; right: auto; }
    .heading_s1.text-md-center::before { margin: 0 auto; right: 0; }
    .heading_s1.text-md-right::before  { margin: 0; right: 0; left: auto; }
}

/* =============================================================
   max-width: 767px  — Mobile
   ============================================================= */
@media only screen and (max-width: 767px) {
    .h1, h1 { font-size: 32px; }
    .h2, h2 { font-size: 28px; }
    .h3, h3 { font-size: 24px; }
    .h4, h4 { font-size: 20px; }

    .btn + .btn { margin-left: 5px; }

    section,
    .top_footer {
        padding: 50px 0;
    }
    section.small_pt,
    .small_pt,
    .top_footer.small_pt {
        padding-top: 25px;
    }
    section.small_pb,
    .small_pb,
    .top_footer.small_pb {
        padding-bottom: 25px;
    }
    section.pb_70,
    .pb_70 {
        padding-bottom: 35px;
    }

    .large_divider  { height: 50px; }
    .medium_divider { height: 25px; }
    .small_divider  { height: 15px; }
    .medium_padding { padding: 25px; }

    /* NOTE: .scrollup positioning is intentionally NOT set here.
       The scroll-up button is managed entirely in index.html
       (moved to left side to avoid Tawk.to chat overlap).
       Setting right/left here would create a specificity conflict. */

    .heading_s1 h1,
    .heading_s2 h1,
    .heading_s3 h1 {
        font-size: 30px;
    }
    .heading_s1 h2,
    .heading_s2 h2,
    .heading_s3 h2 {
        font-size: 26px;
    }
    .heading_s1,
    .heading_s2 {
        margin-bottom: 15px;
    }
    .heading_s3 .sub_heading {
        font-size: 50px;
    }
    .title_icon {
        font-size: 26px;
    }
    .navbar .navbar-nav > li > .nav-link,
    .nav-fixed .navbar .navbar-nav > li > .nav-link,
    .bottom-header .navbar .navbar-nav > li > .nav-link {
        padding: 5px 15px;
    }
    .navbar .navbar-nav .dropdown-header {
        padding: 5px 10px 0;
    }
    .navbar .navbar-nav .dropdown-item {
        padding: 5px 15px;
    }

    /* Banner heights */
    .banner_slider:not(.full_screen),
    .banner_slider:not(.full_screen) .carousel-item,
    .banner_section:not(.full_screen) .banner_content_wrap,
    .banner_section:not(.full_screen) .banner_content_wrap .carousel-item {
        height: 600px;
    }
    .banner_slide_half.banner_slider:not(.full_screen),
    .banner_slide_half.banner_slider:not(.full_screen) .carousel-item,
    .banner_slide_half.banner_section:not(.full_screen) .banner_content_wrap,
    .banner_slide_half.banner_section:not(.full_screen) .banner_content_wrap .carousel-item {
        height: auto;
    }
    .banner_slide_half.full_screen,
    .banner_slide_half.full_screen .carousel-item {
        height: auto;
        min-height: 100%;
    }
    .banner_slide_half .banner_slide_content {
        position: relative;
        top: auto;
        -webkit-transform: none;
        transform: none;
        padding: 120px 0;
    }

    .banner_img4          { min-width: 100%; margin-bottom: 20px; }
    .banner_img .circle_bg1 { left: 50%; height: 400px; width: 400px; }
    .banner_img           { margin-bottom: 20px; }
    .banner_img img       { margin-left: 100px; max-width: 243px; }
    .banner_img2          { margin-bottom: 50px; min-width: 100%; }
    .banner_img3          { min-width: 100%; margin-left: 0; margin-bottom: 20px; }
    .banner_img3 img      { max-width: 350px; width: 100%; }
    .banner_img4 img      { max-width: 80%; }

    .banner_slider .banner_slide_bg_img {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .banner_img5 {
        padding: 50px 0;
        position: relative;
        right: 0;
        left: 0;
        top: auto;
        -webkit-transform: none;
        transform: none;
    }
    .banner_img5 img { max-width: 40%; }

    .shape3 img, .shape4 img { max-width: 150px; }
    .shape6 img              { max-width: 350px; }
    .ol_shape7 img           { max-width: 280px; }
    .shape8                  { bottom: auto; top: 10%; }
    .shape8 img              { max-width: 100%; }

    .border_img::before {
        left: 20%;
        top: -15px;
        bottom: -15px;
        border: 6px solid #cdbb95;
    }
    .border_img::after {
        border-right: 6px solid #cdbb95;
    }

    .about_img { margin-top: 30px; }

    /* MERGED: was two separate .banner_content h2 rules in original */
    .banner_content h2 {
        font-size: 52px;
        margin-bottom: 15px;
    }
    .banner_content p { margin-bottom: 15px; }
    .banner_content p br,
    .banner_content2 p br { display: none; }
    .banner_content2 h2 { font-size: 40px; }

    .border_shape::before { left: 8%; right: 8%; }
    .overlap_box { margin: 0; }

    .classes_filter li {
        margin: 0 0 5px 0;
        width: 49%;
    }
    .content_box,
    .blog_post {
        margin-bottom: 15px;
    }
    .sm-height-300 { height: 300px !important; }
    .box_counter { margin-top: 20px; }
    [class*="col-"]:nth-child(-n+2) .box_counter { margin-top: 0; }

    .content_meta li { padding-right: 10px; font-size: 14px; }
    .page-title h1 { font-size: 30px; }

    .countent_detail_meta li {
        float: none;
        padding-right: 0;
        margin-right: 0;
        border-right: 0;
        clear: both;
        margin-bottom: 15px;
    }
    .countent_detail_meta label { display: inline-block; }
    .countent_detail_meta .teacher_info label { display: block; }
    .countent_detail_meta { padding: 15px 0; }
    .classes_desc { margin: 15px 0; }
    .review_content { margin-top: 15px; padding-top: 15px; }
    .review_form { margin-top: 15px; }
    .contact_map iframe { height: 300px; }
    .nav-tabs li.nav-item a { padding: 5px 15px; font-size: 14px; }
    .list_border::before { content: normal; }
    .counter_text { font-size: 26px; }
    .box_counter i { font-size: 40px; }
    .box_counter p { font-size: 14px; }
    .team_style1 .hover_info { padding: 10px; }
    .icon_box_style2 { margin-bottom: 15px; }
    .bottom_footer { padding: 25px 0; }
    .icon_box_style2 .box_icon img { max-width: 40px; height: 40px; }
    .icon_box_style2 .box_icon { margin-right: 15px; }
    .banner_content_pad { padding: 0; }
    .btn img { max-width: 24px; }
    .ol_shape13 img { max-width: 200px; }
    .ol_shape11 img { max-width: 120px; }
    .ol_shape12 img { max-width: 130px; }
    .blog_title { margin-bottom: 15px; }
    .blog_meta { margin-bottom: 10px; }
    .blog_content p { margin-bottom: 10px; }
    .blog_list .blog_content { padding: 15px 0 0 0; }
    .blog_list .blog_img { flex: 0 0 100%; max-width: 100%; }
    .author_img { padding-right: 0; float: none; margin-bottom: 15px; }
    .user_img img { max-width: 60px; }
    .single_post .blog_post_footer { padding: 30px 0; }
    .related_post, .comment-area, .comment_form { margin-top: 30px; }
    .single_post .comment_list { margin-bottom: 30px; }
    .single_post .post_navigation { margin: 30px 0; }
    .comment_content p { font-size: 14px; }
    .comment_list > li.comment_info { padding: 20px 0; }
    .children_comment { padding-top: 20px; margin-top: 20px; }
    .countdown_content { padding: 5px; }
    .countdown_box .countdown { font-size: 40px; }
    .countdown_content::before { font-size: 32px; top: 25px; }
    .contact_form { padding: 20px 15px; }
    .mfp-ajax-holder .ajax_quick_view { padding: 30px 15px; }
    .nav_top_right.owl-theme .owl-nav [class*="owl-"],
    .nav_top_right2.owl-theme .owl-nav [class*="owl-"] {
        top: 0;
        -webkit-transform: none;
        transform: none;
        position: relative;
        margin: 10px 5px 0 5px;
    }
    .nav_top_right.owl-theme .owl-nav .owl-prev,
    .nav_top_right2.owl-theme .owl-nav .owl-prev { right: auto; }
    .insta_icon { font-size: 16px; }
    .about_img { margin-bottom: 50px; }
    .overlap_section { margin-top: 0; }
    .testimonial_style3 .testi_desc::before { top: -20px; font-size: 80px; }
    .comments li { margin-bottom: 15px; padding-bottom: 15px; }
    .list_view .product_img { width: 35%; }
    .pr_desc p { font-size: 14px; }
    .grid_col4 > li { width: 50%; }
    .blog_list .blog_post { display: block; padding-bottom: 15px; }
    .error_txt { font-size: 160px; }
    .cs_content_box .countdown_time { padding-top: 10px; }
    .gallery_slider .owl-nav { margin-top: 10px; }
    .fancy_style1 { margin-left: 0; }
    .blog_container.grid_col2 > li,
    .blog_container.grid_col3 > li,
    .blog_container.grid_col4 > li { width: 100%; }
    .single_post .single_post_content { margin-top: 15px; }
    .single_post .blog_post_footer { margin-top: 0; }
    .pr_detail { margin-top: 20px; }
    .shop_info_tab .comment_list { margin-bottom: 20px; }
    .shop_cart_table thead { display: none; }
    .shop_cart_table td::before { content: attr(data-title) " "; float: left; text-transform: capitalize; }
    .shop_cart_table td { display: block; width: 100%; text-align: right; }
    .shop_cart_table td.product-name { text-align: right; }
    .product-quantity .quantity { margin-right: 0; }
    .shop_cart_table td.product-thumbnail,
    .shop_cart_table td.product-add-to-cart { text-align: center; }
}

/* =============================================================
   max-width: 640px
   ============================================================= */
@media only screen and (max-width: 640px) {
    .testimonial_wrap {
        margin: 0 15px;
    }
    .nav_style1.owl-theme .owl-nav .owl-prev { left: -40px; }
    .nav_style1.owl-theme .owl-nav .owl-next { right: -40px; }
    .testimonial_section { padding: 0 40px; }
    .testimonial_style3 .testi_desc p { font-size: 14px; }
    .ol_shape5 img  { max-width: 70px; }
    .ol_shape6 img  { max-width: 100px; }
    .ol_shape9 img  { max-width: 100px; }
    footer .widget_title3 { margin: 20px 0; }
    .testimonial_section.owl-theme .owl-nav [class*="owl-"] {
        font-size: 22px;
        line-height: 30px;
        height: 34px;
        width: 34px;
    }
    .testimonial_section.owl-theme .owl-nav .owl-prev { left: -5px; }
    .testimonial_section.owl-theme .owl-nav .owl-next { right: -5px; }
}

/* =============================================================
   max-width: 580px
   ============================================================= */
@media only screen and (max-width: 580px) {
    .btn          { font-size: 14px; }
    .btn-group-sm > .btn, .btn-sm  { padding: 7px 15px; }
    .btn-group-lg > .btn, .btn-lg  { padding: 15px 40px; }
    .btn-xs       { padding: 4px 15px; font-size: 12px; }
    .btn-md       { padding: 10px 25px; font-size: 16px; }
    .btn-lg       { padding: 10px 25px; font-size: 18px; }
    .btn.btn-xs i { font-size: 12px; }
    .btn.btn-lg i { font-size: 24px; }

    .cart_btn .add_wishlist,
    .cart_btn .add_compare { margin-left: 5px; }

    .banner_content h2  { font-size: 44px; }
    .banner_content2 h2 { font-size: 34px; }
    .ol_shape12         { left: -40px; }
}

/* =============================================================
   min-width: 576px  — Small device heading alignment
   ============================================================= */
@media only screen and (min-width: 576px) {
    .heading_s1.text-sm-left::before   { margin: 0; left: 0; }
    .heading_s1.text-sm-left::after    { margin: 0; }
    .heading_s1.text-sm-center::before { margin: 0 auto; left: -10px; right: 0; }
    .heading_s1.text-sm-center::after  { margin: 0 auto; right: 0; }
    .heading_s1.text-sm-right::before  { margin: 0; right: 0; left: auto; }
    .heading_s1.text-sm-right::after   { margin: 0; left: auto; right: 10px; }
}

/* =============================================================
   max-width: 575px
   ============================================================= */
@media only screen and (max-width: 575px) {
    .breadcrumb { padding-top: 10px; }
    footer .widget_title  { margin-bottom: 15px; }
    footer .instafeed li  { width: 25%; }
    footer .widget_title2 { margin-bottom: 15px; }

    .sidebar_menu {
        padding: 15px;
        width: 300px;
        right: -300px;
    }
    .widget_text { font-size: 14px; }
    .newsletter_form2 .form-control { height: 47px; }

    .slide_content_wrap {
        position: relative;
        -webkit-transform: none;
        transform: none;
        top: auto;
    }

    .banner_img img        { max-width: 225px; margin-left: 80px; }
    .banner_img .circle_bg1 { height: 350px; width: 350px; }
    .shape1 img            { max-width: 200px; }
    .shape2 img            { max-width: 150px; }
    .shape2                { right: 0; }
    .shape3 img, .shape4 img { max-width: 100px; }
    .shape5 img            { max-width: 80px; }
    .shape6                { left: -25%; bottom: -15%; }
    .shape6 img            { max-width: 300px; }
    .shape7 img            { max-width: 70px; }
    .ol_shape1 img, .ol_shape2 img { max-width: 60px; }
    .ol_shape3, .ol_shape4 { top: -20px; }
    .ol_shape3 img, .ol_shape4 img { max-width: 70px; }

    .banner_slider_img     { margin-top: 50px; text-align: center; }
    .banner_slider_img img { max-width: 300px; }

    .banner_slide_half .banner_slide_content { padding: 100px 0; }

    .carousel-control-next,
    .carousel-control-prev {
        font-size: 16px;
        height: 50px;
        width: 50px;
    }

    .icon_box,
    .classes_box,
    .pricing_box   { margin-bottom: 15px; }
    .pr_title_wrap { padding: 30px 15px; }
    .pr_footer     { padding: 20px 20px 30px 20px; }
    .pr_list li    { padding: 10px; line-height: normal; }
    .team_box      { margin-bottom: 15px; }
    .list_grid_icon { margin-top: 10px; }
    .grid_filter li { margin: 0 3px; }
    .grid_filter li a { padding: 3px 15px; }

    .btn_page .btn {
        display: table;
        margin: 0 auto 10px !important;
        text-align: center;
    }
    .cta_section_small { padding: 40px; }
    .event_box         { margin-bottom: 15px; }
    .classes_box_style1 .classes_title h4 { font-size: 18px; }
    .product           { margin-bottom: 15px; }

    .quantity .minus,
    .quantity .plus { height: 32px; line-height: 34px; }
    .quantity .qty  { height: 40px; }
}

/* =============================================================
   max-width: 480px
   ============================================================= */
@media only screen and (max-width: 480px) {
    body { font-size: 14px; }
    .h1, h1 { font-size: 24px; }
    .h2, h2 { font-size: 22px; }
    .h3, h3 { font-size: 20px; }
    .h4, h4 { font-size: 18px; }
    .h5, h5 { font-size: 16px; }
    .h6, h6 { font-size: 14px; }

    section,
    .top_footer { padding: 30px 0; }
    section.small_pt, .small_pt, .top_footer.small_pt { padding-top: 15px; }
    section.small_pb, .small_pb, .top_footer.small_pb { padding-bottom: 15px; }
    section.pb_20, .pb_20 { padding-bottom: 0; }
    section.pb_70, .pb_70 { padding-bottom: 15px; }

    .large_divider  { height: 30px; }
    .medium_divider { height: 15px; }
    .small_divider  { height: 10px; }
    .medium_padding { padding: 15px; }
    .padding_ten_all { padding: 30px; }

    .heading_s1 h1, .heading_s2 h1, .heading_s3 h1 { font-size: 26px; }
    .heading_s1 h2, .heading_s2 h2, .heading_s3 h2 { font-size: 22px; }
    .heading_s3 .sub_heading { font-size: 40px; }

    .btn-group-sm > .btn, .btn-sm { padding: 7px 15px; }
    .btn-group-lg > .btn, .btn-lg { padding: 15px 40px; }
    .btn-xs { padding: 4px 15px; font-size: 12px; }
    .btn-md { padding: 10px 22px; font-size: 14px; }
    .btn-lg { padding: 10px 22px; font-size: 16px; }
    .btn i      { font-size: 18px; }
    .btn.btn-lg i { font-size: 22px; }

    .navbar .attr-nav li .nav-link     { padding: 19px 10px !important; }
    .navbar-toggler                    { margin: 14px 0 0 10px; }
    .navbar-brand img                  { max-width: 150px; }
    .navbar .attr-nav li.cart_wrap .nav-link { padding: 25px 10px !important; }
    .cart_count                        { top: 14px; }

    .shape1 img   { max-width: 150px; }
    .ol_shape5 img { max-width: 40px; }
    .ol_shape6 img { max-width: 70px; }
    .ol_shape7 img { max-width: 250px; }
    .ol_shape9     { top: -10px; }
    .ol_shape9 img { max-width: 70px; }
    .ol_shape8 img { max-width: 60px; }

    .contact_detail i              { font-size: 14px; }
    .contact_detail > li,
    .header_list > li              { padding: 2px 5px; }
    .contact_detail > li a,
    .header_list > li a            { font-size: 13px; }

    .banner_slider:not(.full_screen),
    .banner_slider:not(.full_screen) .carousel-item,
    .banner_section:not(.full_screen) .banner_content_wrap,
    .banner_section:not(.full_screen) .banner_content_wrap .carousel-item {
        height: 500px;
    }
    .full_screen, .full_screen .carousel-item { min-height: 30rem; }

    .banner_slide_half .banner_slide_content { padding: 80px 0; }
    .banner_img2                             { margin-top: 15px; }
    .border_shape::before                    { left: 5%; right: 5%; border: 8px solid #fff; }

    .banner_content h2  { font-size: 36px; }
    .banner_content2 h2 { font-size: 24px; margin-bottom: 15px; }
    .banner_content3 h2 { font-size: 26px; line-height: 40px; margin-bottom: 15px; }
    .banner_content p,
    .banner_content2 p,
    .banner_content3 p  { font-size: 14px; margin-bottom: 20px; }

    .carousel-control-next,
    .carousel-control-prev { font-size: 14px; height: 40px; width: 40px; }

    .box_counter img { max-width: 50px; }
    .custome-checkbox .form-check-label { font-size: 14px; }
    .ol_shape12      { left: -80px; }
    .ol_shape13 img  { max-width: 150px; }

    .page-title h1   { font-size: 24px; margin: 0; }
    .nav-tabs li.nav-item { margin-right: 0; }
    .tab-style2 .nav-item .nav-link { padding: 8px 20px; }
    .nav-tabs [class*="pr_"] { display: inline-block; margin: 0 5px 0 0; vertical-align: middle; }
    .accordion > .card { margin-bottom: 0; }
    .accordion .card-header a { padding: 10px 50px 10px 0; }

    .countdown_box .countdown,
    .countdown_box::before { font-size: 30px; }
    .countdown_content::before { font-size: 28px; top: 15px; }
    .countdown_time .cd_text { font-size: 14px; }

    .post_navigation span { font-size: 14px; }
    .top-header .custome_dropdown .ddChild { min-width: 100%; }
    .newsletter_form input, .newsletter_form input:focus {
        padding: 15px 130px 15px 20px;
    }
    .newsletter_form button { right: 6px; top: 5px; padding: 10px 20px; }
    .newslatter_wrap        { margin-top: 30px; }
    .tags a                 { padding: 7px 12px; }
    .border_bottom_dash > li { padding-bottom: 8px; margin-bottom: 8px; }
    .widget_categories a    { font-size: 14px; }
    .widget_categories ul li,
    .widget_archive ul li   { padding-bottom: 5px; }
    .author_img img         { width: 100%; max-width: 100%; }
    .comment_info.reply     { margin-left: 40px; }
    .single_post .blog_post_footer { padding: 20px 0; }
    .author_block           { padding: 15px; }
    .post_navigation a      { padding: 6px 12px; }
    .single_post .post_navigation { margin: 20px 0; }
    .related_post, .comment-area, .comment_form { margin-top: 20px; }
    .posts-title *          { margin-bottom: 15px; }
    .content_info           { padding: 15px; }
    .sidebar_menu           { width: 280px; right: -280px; }
    .testimonial_style3 .testi_desc::before { top: -10px; font-size: 70px; }
    .testimonial_img        { margin-right: 10px; }
    .tab-style1 .nav-tabs .nav-item { margin-right: 0; }
    .tab-style1 .nav-tabs li.nav-item a { font-size: 13px; }
    .comment_img img        { max-width: 60px; }
    .children_comment       { padding-left: 30px; }
    .comment_block          { padding-left: 75px; }
    .comment-date::before   { margin: 0 7px; }
    .list_view .product_img { float: none; width: 100%; }
    .list_view .product_action_box li { margin: 0 5px 0 0; }
    .pagination li          { margin-right: 5px; }
    .pagination .page-item a,
    .page-item.disabled .page-link { height: 34px; width: 34px; line-height: 34px; font-size: 16px; }
    .pagination .page-item a i { font-size: 24px; }
    .grid_col3 > li, .grid_col4 > li { width: 100%; }
    .gutter_medium > li     { padding: 0 15px 15px 15px; }
    .error_txt              { font-size: 120px; }
    .cs_content_box .countdown_time,
    .cs_content_box .newsletter_form { margin-bottom: 15px; }
    .logo_wrap img          { max-width: 140px; }
    .logo_wrap              { margin-bottom: 20px; }
    .grid_filter            { margin-bottom: 15px; }
    .grid_filter li         { display: block; margin: 3px 0; width: 100%; }
    .post_all_btn a         { font-size: 20px; }
    .blockquote_style1      { padding: 15px; }
    .cta_section_small      { padding: 20px; }
    .about_counter          { padding: 10px 0; }
    .list_item li           { padding: 0 10px; }
    .event_box              { padding: 15px; }
    .event_date span        { font-size: 24px; }
    .event_date *           { font-size: 14px; }
    .icon_box_style3 .box_icon { width: 70px; height: 70px; line-height: 70px; }
    .icon_box_style3 .box_icon i { font-size: 40px; }
    .intro_desc h5          { font-size: 16px; }
    .testimonial_style2 .owl-item.center .testimonial_box::before { top: 50%; }
}

/* =============================================================
   max-width: 380px  — Very small phones
   ============================================================= */
@media only screen and (max-width: 380px) {
    .btn-borderd { padding: 8px 15px !important; }
    .navbar-brand { padding: 15px 0; }
    .navbar-brand img { max-width: 120px; }
    .light_skin .header_list li a { font-size: 14px; }
    .navbar .navbar-nav.attr-nav li { position: static; }
    .navbar .attr-nav li .nav-link { padding: 16px 10px !important; }
    .navbar .attr-nav li.cart_wrap .nav-link { padding: 22px 10px !important; }
    .cart_count { top: 14px; }
    .border_list::before { content: normal; }
    .btn-login li a { padding: 7px 15px; }

    .countdown_box .countdown { font-size: 26px; }
    .countdown_box::before { font-size: 22px; }
    .countdown_time .cd_text { font-size: 12px; }

    .sidebar .widget { margin-bottom: 20px; }
    .user_img img { max-width: 40px; }
    .comment_info.reply { margin-left: 20px; }
    .content_title { font-size: 16px; }
    .border_list li::before { content: normal; }

    .banner_content h2  { font-size: 26px; margin-bottom: 15px; }
    .banner_content2 h2 { font-size: 22px; }
    .banner_text p      { font-size: 14px; }

    .comment-time { display: block; font-size: 12px; }
    .comment-time::before { content: normal; }
    .comment_content { padding-left: 12px; }
    .comment_list > li.comment_info { padding: 15px 0; }
    .children_comment { padding-top: 15px; margin-top: 15px; padding-left: 20px; }
    .meta_data { margin-bottom: 5px; }
    .meta_data h5 { margin-bottom: 5px; }
    .login_footer { text-align: center; }
    .login_footer > a { float: none; }
    .breadcrumb li a, .breadcrumb li { font-size: 14px; }
    .trainer_info li span { max-width: 100%; }
    .trainer_info > li { margin-top: 10px; }
    .shop_cart_table tfoot .btn { display: block; width: 100%; }
    .shop_cart_table tfoot .btn + .btn { margin-left: 0; margin-top: 10px; }
}