/*
=================================================================================
DentConnect - Responsive Design CSS (Enhanced)
=================================================================================
Breakpoints:
- Extra Small (XS):    < 576px     (Mobile Portrait)
- Small (SM):         576px - 767px (Mobile Landscape) 
- Medium (MD):        768px - 991px (Tablet Portrait)
- Large (LG):         992px - 1199px (Tablet Landscape / Small Desktop)
- Extra Large (XL):   1200px - 1399px (Desktop)
- Extra Extra Large:  >= 1400px (Large Desktop)
=================================================================================
*/

/* =================================================================================
   BASE RESPONSIVE FOUNDATION
================================================================================= */

/* Ensure all elements use border-box sizing */
*, *::before, *::after {
    box-sizing: border-box;
}

/* =================================================================================
   GLOBAL OUTLINE REMOVAL FOR RESPONSIVE DESIGN
================================================================================= */

/* Ensure NO outlines on any interactive element across all breakpoints */
*,
*:focus,
*:active,
button:focus,
button:active,
a:focus,
a:active,
.btn:focus,
.btn:active,
input:focus,
textarea:focus,
select:focus,
.form-control:focus {
    outline: none !important;
    outline-width: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Touch devices - remove tap highlights */
@media (hover: none) and (pointer: coarse) {
    *,
    *:focus,
    *:active {
        -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
        -webkit-tap-highlight-color: transparent !important;
        outline: none !important;
    }
}

/* Container responsive behavior */
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

/* Container max-widths for different breakpoints */
@media (min-width: 576px) {
    .container { max-width: 540px; }
}

@media (min-width: 768px) {
    .container { max-width: 720px; }
}

@media (min-width: 992px) {
    .container { max-width: 960px; }
}

@media (min-width: 1200px) {
    .container { max-width: 1140px; }
}

@media (min-width: 1400px) {
    .container { max-width: 1320px; }
}

/* =================================================================================
   EXTRA SMALL DEVICES (< 576px) - Mobile Portrait
================================================================================= */
@media (max-width: 575.98px) {
    
    /* Typography adjustments */
    h1, .h1 { font-size: 1.8rem !important; line-height: 1.3; }
    h2, .h2 { font-size: 1.6rem !important; line-height: 1.3; }
    h3, .h3 { font-size: 1.4rem !important; line-height: 1.4; }
    h4, .h4 { font-size: 1.2rem !important; line-height: 1.4; }
    h5, .h5 { font-size: 1.1rem !important; line-height: 1.4; }
    h6, .h6 { font-size: 1rem !important; line-height: 1.4; }
    
    body {
        font-size: 14px;
        line-height: 1.5;
    }
    
    /* Container adjustments */
    .container, .container-fluid {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    /* Form elements */
    .form-control {
        padding: 12px 15px;
        font-size: 16px; /* Prevents zoom on iOS */
        border-radius: 6px;
    }
    
    .form-group {
        margin-bottom: 15px;
    }
    
    /* Buttons */
    .btn {
        padding: 12px 20px;
        font-size: 14px;
        width: 100%;
        margin-bottom: 10px;
        min-height: 44px; /* Touch target size */
        border-radius: 6px;
    }
    
    .btn-group .btn {
        width: auto;
    }
    
    /* Cards and content sections */
    .card {
        margin-bottom: 15px;
        border-radius: 8px;
    }
    
    .card-body {
        padding: 15px 12px;
    }
    
    /* Content sections */
    .content-section {
        padding: 20px 0;
    }
    
    /* Profile sections */
    .profile-section {
        margin-bottom: 20px;
    }
    
    .profile-photo-section {
        text-align: center;
        margin-bottom: 20px;
    }
    
    /* Match cards */
    .matches-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .match-card {
        padding: 15px;
        margin-bottom: 15px;
    }
    
    /* Tables */
    .table-responsive {
        font-size: 12px;
    }
    
    .table thead {
        display: none;
    }
    
    .table tbody tr {
        display: block;
        border: 1px solid #dee2e6;
        margin-bottom: 10px;
        border-radius: 6px;
    }
    
    .table tbody tr td {
        display: block;
        text-align: right;
        padding: 10px 15px;
        position: relative;
        border: none;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .table tbody tr td:before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        width: 45%;
        text-align: left;
        font-weight: bold;
        color: #666;
    }
    
    /* Dashboard adjustments */
    .dashboard-container {
        padding: 10px 0;
    }
    
    .dashboard-sidebar {
        margin-bottom: 20px;
    }
    
    /* Modals */
    .modal-dialog {
        margin: 10px;
        max-width: calc(100% - 20px);
    }
    
    /* Navigation */
    .navbar-nav .nav-link {
        padding: 15px 20px;
        font-size: 16px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    /* Text alignment utilities */
    .text-xs-center { text-align: center !important; }
    .text-xs-left { text-align: left !important; }
    .text-xs-right { text-align: right !important; }
}

/* =================================================================================
   SMALL DEVICES (576px - 767px) - Mobile Landscape
================================================================================= */
@media (min-width: 576px) and (max-width: 767.98px) {
    
    /* Typography */
    h1, .h1 { font-size: 2rem; }
    h2, .h2 { font-size: 1.7rem; }
    h3, .h3 { font-size: 1.5rem; }
    h4, .h4 { font-size: 1.3rem; }
    
    body {
        font-size: 15px;
    }
    
    /* Container */
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    /* Forms */
    .form-control {
        padding: 10px 15px;
        font-size: 15px;
    }
    
    .btn {
        padding: 10px 20px;
        font-size: 15px;
    }
    
    /* Grid adjustments */
    .matches-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    
    /* Cards */
    .card-body {
        padding: 20px 15px;
    }
    
    /* Content sections */
    .content-section {
        padding: 25px 0;
    }
    
    /* Tables remain stacked but with better spacing */
    .table tbody tr td {
        padding: 12px 15px;
    }
}

/* =================================================================================
   MEDIUM DEVICES (768px - 991px) - Tablet Portrait  
================================================================================= */
@media (min-width: 768px) and (max-width: 991.98px) {
    
    /* Typography */
    h1, .h1 { font-size: 2.2rem; }
    h2, .h2 { font-size: 1.8rem; }
    h3, .h3 { font-size: 1.6rem; }
    
    body {
        font-size: 16px;
    }
    
    /* Container adjustments */
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    /* Grid system - 2 columns for most content */
    .matches-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    /* Forms - side by side where appropriate */
    .form-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -10px;
        margin-left: -10px;
    }
    
    .form-row .col {
        padding-right: 10px;
        padding-left: 10px;
    }
    
    /* Cards */
    .card-body {
        padding: 25px 20px;
    }
    
    /* Tables - normal display */
    .table thead {
        display: table-header-group;
    }
    
    .table tbody tr {
        display: table-row;
    }
    
    .table tbody tr td {
        display: table-cell;
        text-align: left;
        padding: 12px;
    }
    
    .table tbody tr td:before {
        display: none;
    }
    
    /* Dashboard layout */
    .dashboard-container {
        padding: 20px 0;
    }
    
    /* Profile layout adjustments */
    .profile-section {
        margin-bottom: 25px;
    }
    
    /* Content sections */
    .content-section {
        padding: 30px 0;
    }
    
    /* Navigation adjustments for tablet */
    .navbar-collapse {
        background: rgba(255, 255, 255, 0.98);
        border-radius: 8px;
        margin-top: 10px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }
    
    /* Banner area adjustments */
    .banner-area.bg-gradient .content .thumb img {
        max-width: 100%;
    }
    
    .banner-area.top-pad-50p .content.double-items {
        padding-top: 80px;
    }
    
    .banner-area.standard .thumb-box {
        display: none;
    }
    
    .banner-area.standard .content {
        padding: 0;
    }
    
    .banner-area.standard .info {
        padding: 100px 20px;
    }
}

/* =================================================================================
   LARGE DEVICES (992px - 1199px) - Tablet Landscape / Small Desktop
================================================================================= */
@media (min-width: 992px) and (max-width: 1023px) {
    
    /* Typography fine-tuning */
    h1, .h1 { font-size: 2.3rem; }
    h2, .h2 { font-size: 1.9rem; }
    
    /* Container */
    .container {
        padding-left: 25px;
        padding-right: 25px;
    }
    
    /* Grid system - 3 columns for matches */
    .matches-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }
    
    /* Cards */
    .card-body {
        padding: 30px 25px;
    }
    
    /* Content sections */
    .content-section {
        padding: 35px 0;
    }
    
    /* Dashboard layout */
    .dashboard-container {
        padding: 25px 0;
    }
    
    /* Profile layout - side by side */
    .profile-layout {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 30px;
    }
    
    /* Forms - better spacing */
    .form-group {
        margin-bottom: 20px;
    }
    
    /* MOBILE NAVBAR - OVERRIDE PREVIOUS RULES FROM style.css */
    /* At 992-1023px width, navbar must still be mobile slide-in menu */
    /* This loads AFTER style.css, so it wins the CSS cascade */
    .navbar .navbar-collapse,
    .navbar .collapse.navbar-collapse,
    .collapse.navbar-collapse,
    .navbar-collapse,
    #navbar-menu {
      display: block !important;
      position: fixed !important;
      top: 0 !important;
      left: -300px !important;
      height: 100vh !important;
      width: 300px !important;
      max-width: 85vw !important;
      background-color: #fff !important;
      box-shadow: 2px 0 15px rgba(0, 0, 0, 0.2) !important;
      z-index: 9999 !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      transition: left 0.3s ease-in-out !important;
      -webkit-transition: left 0.3s ease-in-out !important;
    }
    
    /* Show navbar when .show class is added - slide into view */
    .navbar .navbar-collapse.show,
    .navbar .collapse.navbar-collapse.show,
    .collapse.navbar-collapse.show,
    .navbar-collapse.show,
    #navbar-menu.show {
      left: 0 !important;
    }
    
    /* Vertical stacking for menu items */
    .navbar-nav {
        flex-direction: column;
    }
    
    .navbar-nav .nav-link {
        padding: 15px 20px;
        border-bottom: 1px solid #eee;
    }
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
    
    /* Typography fine-tuning */
    h1, .h1 { font-size: 2.3rem; }
    h2, .h2 { font-size: 1.9rem; }
    
    /* Container */
    .container {
        padding-left: 25px;
        padding-right: 25px;
    }
    
    /* Grid system - 3 columns for matches */
    .matches-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }
    
    /* Cards */
    .card-body {
        padding: 30px 25px;
    }
    
    /* Content sections */
    .content-section {
        padding: 35px 0;
    }
    
    /* Dashboard layout */
    .dashboard-container {
        padding: 25px 0;
    }
    
    /* Profile layout - side by side */
    .profile-layout {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 30px;
    }
    
    /* Forms - better spacing */
    .form-group {
        margin-bottom: 20px;
    }
    
    /* Navigation - full horizontal layout for desktop */
    .navbar-nav {
        flex-direction: row;
    }
    
    .navbar-nav .nav-link {
        padding: 15px 20px;
    }
}

/* =================================================================================
   EXTRA LARGE DEVICES (1200px - 1399px) - Desktop
================================================================================= */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    
    /* Typography */
    h1, .h1 { font-size: 2.4rem; }
    h2, .h2 { font-size: 2rem; }
    
    /* Container */
    .container {
        padding-left: 30px;
        padding-right: 30px;
    }
    
    /* Grid system */
    .matches-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    /* Cards */
    .card-body {
        padding: 35px 30px;
    }
    
    /* Content sections */
    .content-section {
        padding: 40px 0;
    }
    
    /* Dashboard layout */
    .dashboard-container {
        padding: 30px 0;
    }
    
    /* Profile layout enhancement */
    .profile-layout {
        grid-template-columns: 300px 1fr;
        gap: 40px;
    }
    
    /* Forms */
    .form-group {
        margin-bottom: 25px;
    }
    
    .form-control {
        padding: 12px 20px;
    }
}

/* =================================================================================
   EXTRA EXTRA LARGE DEVICES (>= 1400px) - Large Desktop
================================================================================= */
@media (min-width: 1400px) {
    
    /* Typography */
    h1, .h1 { font-size: 2.6rem; }
    h2, .h2 { font-size: 2.1rem; }
    
    /* Container max-width increase */
    .container {
        max-width: 1380px;
        padding-left: 40px;
        padding-right: 40px;
    }
    
    /* Grid system - more columns for large screens */
    .matches-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 35px;
    }
    
    /* Cards */
    .card-body {
        padding: 40px 35px;
    }
    
    /* Content sections */
    .content-section {
        padding: 50px 0;
    }
    
    /* Dashboard layout */
    .dashboard-container {
        padding: 40px 0;
    }
    
    /* Profile layout */
    .profile-layout {
        grid-template-columns: 350px 1fr;
        gap: 50px;
    }
    
    /* Navigation enhancement */
    .navbar-nav .nav-link {
        padding: 20px 25px;
    }
}

/* =================================================================================
   COMPONENT-SPECIFIC RESPONSIVE ADJUSTMENTS
================================================================================= */

/* Dashboard Cards */
.dashboard-card {
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

@media (max-width: 767.98px) {
    .dashboard-card {
        margin-bottom: 15px;
    }
}

/* Profile Photo Upload */
.profile-photo-upload {
    text-align: center;
    margin-bottom: 25px;
}

@media (max-width: 767.98px) {
    .profile-photo-upload {
        margin-bottom: 20px;
    }
    
    .profile-photo-upload img {
        max-width: 120px;
        height: 120px;
    }
}

/* Match Cards Specific */
.match-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    overflow: hidden;
}

.match-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}

@media (max-width: 575.98px) {
    .match-card {
        margin-bottom: 15px;
    }
    
    .match-card .card-body {
        padding: 15px;
    }
}

/* Notification Cards */
.notification-card {
    border-left: 4px solid #FB7F29;
    margin-bottom: 15px;
}

@media (max-width: 575.98px) {
    .notification-card {
        margin-bottom: 10px;
        border-left-width: 3px;
    }
    
    .notification-card .card-body {
        padding: 12px 15px;
    }
}

/* Form Sections */
.form-section {
    margin-bottom: 25px;
}

@media (max-width: 767.98px) {
    .form-section {
        margin-bottom: 20px;
    }
    
    .form-section .form-row {
        flex-direction: column;
    }
    
    .form-section .form-row .col {
        margin-bottom: 15px;
    }
}

/* Button Groups */
.btn-group-responsive {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 575.98px) {
    .btn-group-responsive {
        flex-direction: column;
    }
    
    .btn-group-responsive .btn {
        width: 100%;
        margin-bottom: 10px;
    }
}

/* Modal Responsive */
@media (max-width: 575.98px) {
    .modal-header {
        padding: 15px 20px;
    }
    
    .modal-body {
        padding: 20px;
    }
    
    .modal-footer {
        padding: 15px 20px;
        flex-direction: column;
    }
    
    .modal-footer .btn {
        width: 100%;
        margin-bottom: 10px;
    }
}

/* =================================================================================
   UTILITY CLASSES FOR RESPONSIVE DESIGN
================================================================================= */

/* Responsive spacing utilities */
@media (max-width: 575.98px) {
    .m-xs-0 { margin: 0 !important; }
    .m-xs-1 { margin: 0.25rem !important; }
    .m-xs-2 { margin: 0.5rem !important; }
    .m-xs-3 { margin: 1rem !important; }
    .p-xs-0 { padding: 0 !important; }
    .p-xs-1 { padding: 0.25rem !important; }
    .p-xs-2 { padding: 0.5rem !important; }
    .p-xs-3 { padding: 1rem !important; }
}

/* Hide/Show elements at different breakpoints */
.hide-xs { display: block !important; }
.hide-sm { display: block !important; }
.hide-md { display: block !important; }
.hide-lg { display: block !important; }
.hide-xl { display: block !important; }

@media (max-width: 575.98px) {
    .hide-xs { display: none !important; }
    .show-xs { display: block !important; }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .hide-sm { display: none !important; }
    .show-sm { display: block !important; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .hide-md { display: none !important; }
    .show-md { display: block !important; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .hide-lg { display: none !important; }
    .show-lg { display: block !important; }
}

@media (min-width: 1200px) {
    .hide-xl { display: none !important; }
    .show-xl { display: block !important; }
}

/* =================================================================================
   LEGACY RESPONSIVE SUPPORT (Maintaining existing styles)
================================================================================= */

/* Original banner styles preserved for compatibility */
.banner-area {
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .banner-area.bg-gradient .content .thumb img {
        max-width: 100%;
    }
    
    .banner-area.top-pad-50p .content.double-items {
        padding-top: 80px;
    }
    
    .banner-area.standard .thumb-box {
        display: none;
    }
    
    .banner-area.standard .content {
        padding: 0;
    }
    
    .banner-area.standard .info {
        padding: 100px 20px;
        text-align: center;
    }
}

.banner-style-one .thumb {
  height: auto;
  padding-top: 50px;
}

.banner-area.banner-style-three .transparent-nav .content {
  padding-top: 120px;
  padding-bottom: 120px;
}

.banner-area.banner-style-three .content h1 {
  font-size: 90px;
}

/* =================================================================================
   RESPONSIVE JAVASCRIPT SUPPORT STYLES
================================================================================= */

/* Touch-optimized buttons */
.touch-device .btn-touch-optimized {
    min-height: 44px;
    min-width: 44px;
    padding: 12px 16px;
}

/* Mobile form controls */
.form-control-mobile {
    font-size: 16px !important; /* Prevents zoom on iOS */
    padding: 12px 16px !important;
    line-height: 1.5;
}

/* Mobile button groups */
.btn-group-mobile {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.btn-group-mobile .btn {
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* Mobile modal adjustments */
.modal-dialog-mobile {
    margin: 10px !important;
    max-width: calc(100% - 20px) !important;
}

.modal-dialog-mobile .modal-content {
    border-radius: 8px;
}

.modal-dialog-mobile .modal-header {
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
}

.modal-dialog-mobile .modal-body {
    padding: 20px;
}

.modal-dialog-mobile .modal-footer {
    padding: 15px 20px;
    flex-direction: column;
    border-radius: 0 0 8px 8px;
}

.modal-dialog-mobile .modal-footer .btn {
    width: 100%;
    margin-bottom: 10px;
}

.modal-dialog-mobile .modal-footer .btn:last-child {
    margin-bottom: 0;
}

/* Responsive table mobile styles */
.table-responsive-mobile {
    border: 0;
}

.table-responsive-mobile thead {
    display: none;
}

.table-responsive-mobile tbody tr {
    display: block;
    border: 1px solid #dee2e6;
    margin-bottom: 15px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.table-responsive-mobile tbody tr td {
    display: block;
    text-align: right;
    padding: 12px 15px;
    position: relative;
    border: none;
    border-bottom: 1px solid #f0f0f0;
}

.table-responsive-mobile tbody tr td:last-child {
    border-bottom: none;
}

.table-responsive-mobile tbody tr td:before {
    content: attr(data-label) ": ";
    position: absolute;
    left: 15px;
    width: 45%;
    text-align: left;
    font-weight: 600;
    color: #333;
}

/* Grid system for cards */
.grid-xs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 15px !important;
}

.grid-sm {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}

.grid-md {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
}

.grid-lg {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
}

.grid-xl {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
}

.grid-xxl {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 35px !important;
}

/* Navbar hide/show on mobile scroll */
.navbar-hidden {
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
}

/* Body classes for JavaScript targeting */
body.xs {
    --current-breakpoint: 'xs';
}

body.sm {
    --current-breakpoint: 'sm';
}

body.md {
    --current-breakpoint: 'md';
}

body.lg {
    --current-breakpoint: 'lg';
}

body.xl {
    --current-breakpoint: 'xl';
}

body.xxl {
    --current-breakpoint: 'xxl';
}

/* Prevent navbar scroll when mobile menu is open */
body.navbar-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

/* =================================================================================
   PRINT STYLES
================================================================================= */

@media print {
    /* Hide navigation and non-essential elements */
    .navbar,
    .sidebar,
    .btn,
    .pagination,
    .modal,
    .overlay-screen {
        display: none !important;
    }
    
    /* Adjust typography for print */
    body {
        font-size: 12pt;
        line-height: 1.4;
        color: #000;
        background: #fff;
    }
    
    h1, h2, h3, h4, h5, h6 {
        color: #000;
        page-break-after: avoid;
    }
    
    /* Ensure tables fit on page */
    .table {
        font-size: 10pt;
    }
    
    .table thead th {
        background: #f8f9fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    /* Page breaks */
    .page-break {
        page-break-before: always;
    }
    
    /* Print URLs for links */
    a:after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #666;
    }
    
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }
}

/* =================================================================================
   ACCESSIBILITY IMPROVEMENTS
================================================================================= */

/* Focus indicators */
@media (prefers-reduced-motion: no-preference) {
    .btn:focus,
    .form-control:focus,
    .nav-link:focus,
    a:focus {
        outline: 2px solid #FB7F29;
        outline-offset: 2px;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .btn {
        border-width: 2px;
    }
    
    .card {
        border-width: 2px;
    }
    
    .table td,
    .table th {
        border-width: 1px;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .navbar-collapse {
        transition: none !important;
    }
}

/* Dark mode support (for future implementation) */
@media (prefers-color-scheme: dark) {
    /* This can be implemented later if needed */
    /* 
    body {
        background-color: #121212;
        color: #ffffff;
    }
    */
}

.banner-area.banner-style-four .content {
  padding: 120px 0;
  text-align: left;
}

.banner-style-four .content h1 {
  font-size: 60px;
  padding-right: 20%;
}

.banner-style-four .carousel-item.bg-cover {
  position: relative;
  z-index: 1;
}

.banner-style-four .carousel-item.bg-cover::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  height: 100%;
  width: 100%;
  background: var(--white);
  z-index: -1;
  opacity: 0.8;
}

.banner-area.banner-style-five .content {
  padding: 120px 0;
}

.banner-style-five.banner-area .content h1 {
  font-size: 80px;
}

.banner-area.banner-style-six .content h1 {
  font-size: 70px;
}

.banner-area.banner-style-six .content {
  padding: 120px 0;
}

.banner-area.banner-style-seven .carousel-inner {
  padding: 120px 0;
}

.banner-area.banner-style-seven .carousel-inner .content {
  padding-top: 50px;
}

.banner-style-nine .fun-fact {
  right: 50px;
}

.banner-style-nine .thumb {
  margin-top: 50px;
}

.banner-style-nine {
  padding-top: 120px;
}

.banner-style-nine .content {
  margin: 0;
}

  /* Why Chose Us */
  .chose-us-area .row > .info {
    padding-bottom: 70px;
  }

  .chose-us-area .thumb {
    min-height: 350px;
  }

  .chose-us-area.item-half .container-full .row > .info {
    padding: 80px 80px 75px;
    overflow: hidden;
  }

  .chose-us-area.item-half .info li:first-child, 
  .chose-us-area.item-half .info li:nth-child(2) {
    margin-top: 0;
  }

  .chose-us-area.item-half .info li:first-child, 
  .chose-us-area.item-half .info li:nth-child(2n) {
    padding: 0;
  }

  .services-details-area .sidebar {
    margin-top: 50px;
  }

  /* Top Services */
  .top-services-area .services-tabs ul.nav.nav-pills li {
    display: block;
    float: none;
  }

  .top-services-area .services-tabs ul.nav.nav-pills li a::after,
  .top-services-area .services-tabs ul.nav.nav-pills li.active a::after {
    position: absolute;
    left: 0;
    top: 0;
    background: #ffffff;
    content: "";
    height: 100%;
    width: 100%;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    z-index: -1;
}

.top-services-area .services-tabs ul.nav.nav-pills li a {
    justify-content: center;
    position: relative;
    z-index: 1;
}

.top-services-area .services-tabs ul.nav.nav-pills {
  margin-left: -15px;
  margin-right: -15px;
}

.top-services-area .services-tabs ul.nav.nav-pills li {
    float: left;
    width: 50%;
    margin: 0;
    padding: 0 15px;
    margin-bottom: 30px;
}

.top-services-area .services-tabs ul.nav.nav-pills li:last-child {
  margin-bottom: 0;
}

.top-services-area .info {
    padding-left: 15px;
}

.top-services-area .thumb {
  margin-bottom: 30px;
}

.top-services-area .thumb::after {
  display: none;
}

.top-services-area .services-tabs ul.nav.nav-tabs li button {
  padding: 50px 25px;
  display: block;
}

.top-services-area .services-tabs ul.nav.nav-tabs li button i {
  display: block;
  margin: 0;
  margin-bottom: 30px;
}

  /* Topbar Area */

  .top-bar-area .bar-btn {
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px;
  }

  .top-bar-area .address-info .info {
    text-align: center;
  }

  .top-bar-area .address-info ul {
    overflow: hidden;
    display: inline-block;
    margin: auto auto -10px;
    text-align: center;
    float: none;
  }

  .top-bar-area .text-end {
    text-align: center !important;
    display: none;
  }

  .top-bar-area {
    padding: 20px 0;
  }

  .top-bar-area li .icon, 
  .top-bar-area li .info {
    display: block;
  }

  .top-bar-area li .icon i {
    margin-right: 0;
    margin-bottom: 15px;
  }

  .top-bar-area.double-info .address-info li {
    margin: 0;
    padding: 20px;
  }

  .top-bar-area.double-info .address-info li::after, 
  .top-bar-area.double-info .address-info li::after {
    display: none;
  }

  /* Breadcrumb */
  .breadcrumb-area .text-end {
    text-align: center;
    margin-top: 15px;
  }

  .breadcrumb-area {
    text-align: center;
  }

  /* Banner */
  .banner-area.banner-style-two .content {
    display: grid;
    gap: 50px;
    padding-bottom: 120px;
}

  /* Top Entry */
  .top-entry-area .item-box .single-item {
    overflow: hidden;
  }

  /* About Area */
  .about-area .tabs-items {
    margin-top: 30px;
  }

  .about-items .emergency-services {
    margin-top: 50px;
  }

  .about-area .about-items .inc-video {
    margin-bottom: 30px;
  }

  .about-area .info {
    padding-right: 15px;
  }

  .about-area .services-area .equal-height:first-child, 
  .about-area .services-area .equal-height:nth-child(2) {
    margin-top: 30px;
  }

  .about-style-two .thumb {
    margin-right: 0;
    margin-bottom: 50px;
}

.about-style-two-info .top {
    margin: 0;
}

  /* Health Tips */
  .health-tips-items .info::after {
    left: 50%;
    top: -60px;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 30px solid #ffffff;
    margin-left: -30px;
  }

  .appoinment-box form .col-md-12 {
    float: left;
    width: 100%;
  }

  .health-tips-items .thumb img {
    border-radius: 10px 10px 0 0;
  }

  .health-tips-items .info {
    border-radius: 0 0 10px 10px;
  }

  .testimonial-items .item p {
    font-size: 16px;
  }


  /* Top Entry */

  .top-entry-area.border-less .single-item {
    margin-bottom: 30px;
  }

  .top-entry-area.border-less .single-item:last-child {
    margin-bottom: 0;
  }

  .top-entry-area.border-less .item {
    border: 1px solid #e7e7e7;
    overflow: hidden;
  }

  .top-entry-area .item-box .single-item:nth-child(2n)::after {
    display: none !important;
  }

  .top-entry-area .item-box .single-item:nth-child(2n) {
    background: transparent;
  }

  .top-entry-area .item-box .single-item:nth-child(2n) .item {
    background: #0cb8b6;
    border: none;
  }

  /* Department */
  .department-tabs .nav-pills {
    margin: 0 -7px;
  }

  .department-tabs .tab-navs li {
    width: 100%;
    margin-bottom: 0;
    padding: 5px 7px;
  }

  .department-tabs .tab-content .thumb {
    margin-top: 25px;
  }

  .department-tabs .tab-content .opening-info {
    padding: 20px 0 0 0;
    background: #ffffff;
    border: none;
    border-top: 1px solid #e7e7e7;
    margin-top: 20px;
  }

  /* Doctor Details */
  .doctor-details-area .info {
    margin-top: 30px;
  }

  /* Features */
  .features-area .features-items {
    padding-left: 15px;
    margin-top: 30px;
  }

  .features-area .features-items li {
    display: block;
    text-align: center;
  }

  .features-area .features-items li .info {
    padding-left: 0;
  }

  .features-area .bottom {
    display: block;
    text-align: center;
  }

  .features-area .bottom .content {
    padding-left: 0;
    margin-top: 30px;
  }


  /* Fun Factor */
  .fun-fact-area .item {
    margin-top: 30px;
  }

  .fun-fact-area .item:first-child, 
  .fun-fact-area .item:nth-child(2) {
    margin-top: 0;
  }

  /* gallery */
  .gallery-area .gallery-items.colums-2 .pf-item,
  .gallery-area .gallery-items.colums-3 .pf-item,
  .gallery-area .gallery-items.colums-4 .pf-item {
    width: 50%;
  }

  /* Blog */
  .blog-area .sidebar {
    margin-bottom: -10px;
    margin-top: 50px;
    float: left;
    width: 100%;
  }

  .blog-area .blog-items .single-item {
    margin-bottom: 50px;
  }

  .blog-area .blog-items .single-item:last-child {
    margin-bottom: 0;
  }


  /* Footer */

  footer .f-items .item {
    margin-bottom: 50px;
  }

  footer .f-items .item:last-child {
    margin-bottom: 0;
  }

  footer .f-items .item.col-sm-6 {
    margin-bottom: 0;
    margin-top: 50px;
  }

  footer .f-items .item.col-sm-6:first-child, 
  footer .f-items .item.col-sm-6:nth-child(2) {
    margin-top: 0;
  }

  footer .footer-bottom {
    text-align: center;
  }

  footer .footer-bottom .text-end {
    text-align: center !important;
    margin-top: 15px;
  }

  footer.active-first .f-items .item:first-child .f-item {
    padding: 0;
  }

  footer.active-first .f-items .item:first-child .f-item::after {
    display: none;
  }


/* Mobile Layout: 320px. */
@media only screen and (max-width: 767px) {

  .default-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .padding-xl {
    padding-bottom: 50px;
    padding-top: 50px;
  }

  .default-padding.bottom-less {
    padding-bottom: 20px;
    padding-top: 50px;
  }

  .default-padding-bottom {
    padding-bottom: 50px;
  }

  .default-padding-top {
    padding-top: 50px;
  }

  .default-padding.bottom-30 {
    padding-bottom: 0;
    padding-top: 50px;
  }

  .default-padding.bottom-20 {
    padding-bottom: 20px;
    padding-top: 50px;
  }

  .padding-less-mobile {
    padding-top: 0;
  }

  .site-heading {
    margin-bottom: 30px;
  }

  .site-heading.single {
    margin-bottom: 20px;
  }

  .carousel-shadow.default-padding {
    padding-bottom: 35px;
  }

  .bg-fixed {
    background-attachment: inherit;
    background-position: center center;
    background-size: cover;
  }

  .breadcrumb-area {
    padding: 100px 0;
  }

  .breadcrumb-area h1 {
    font-size: 36px;
  }

  .owl-carousel.owl-theme .owl-nav {
    display: none !important;
  }

  /* Topbar */

  .top-bar-area {
    display: none;
  }

.top-bar-area .text-end {
    display: none;
}

.top-bar-area .address-info .info ul {
    display: block;
}

.top-bar-area.inline .info li {
    display: block;
    align-items: center;
    font-family: 'Poppins', sans-serif;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #e7e7e7;
    padding-right: 0;
    margin-right: 0;
}

.top-bar-area.inline .info li:last-child {
  border: none;
}

.top-bar-area.inline .info li::after {
  display: none;
}

  nav.navbar .quote-btn {
    display: none;
  }

  /* Container Full */
  .container-full .row {
    display: block;
  }

  .container-full .row > .info {
    padding: 50px 15px;
    max-width: 600px;
  }


  /* Breadcrumb */

  .breadcrumb-area .text-end {
    text-align: center;
    margin-top: 20px;
  }

  .breadcrumb-area {
    text-align: center;
  }

  .breadcrumb-area h1 {
    padding-top: 0;
    margin: -10px;
  }

  /* Banner Area */

  body, .banner-area, .banner-area div {
    height: auto;
  }

  .banner-area .content {
    overflow: hidden;
    padding-right: 50px;
    padding-bottom: 50px;
  }

  .banner-area.banner-style-one .content {
    padding-bottom: 0;
    padding-right: 0;
    padding-top: 60px;
}

  .banner-style-one .thumb {
    height: auto;
    padding-top: 50px;
  }

  .banner-area .transparent-nav .content {
    padding-top: 110px;
  }

  .banner-area .content h1 {
    font-size: 36px;
    line-height: 1.2;
  }

  .banner-area .heading-uppercase .content h1 {
    font-size: 36px;
  }

  .banner-area .text-center p {
    padding: 0;
  }

  .banner-area.heading-exchange .content h1 {
    line-height: 1.2;
    margin-bottom: 20px;
  }

  .banner-area.heading-exchange .content h2, 
  .banner-area.heading-exchange .content h3, 
  .banner-area.heading-exchange .content h4 {
    margin-bottom: 20px;
  }

  .banner-area.responsive-auto-height, 
  .banner-area.responsive-auto-height div {
    height: auto;
  }

  .banner-area .double-items {
    display: block;
    padding-top: 50px;
    padding-bottom: 60px;
  }

  .banner-area.text-small .content h1 {
    font-size: 36px;
    line-height: 1.2;
  }

  .banner-area .appoinment-box {
    margin-top: 30px;
  }

  .banner-area .double-content .container > .row {
    display: block;
  }

  .banner-area.heading-exchange .content h1 {
    font-size: 36px;
  }

  .banner-area .double-content .content {
    padding-top: 30px;
  }

  .banner-area .double-content .thumb {
    padding-right: 15px;
    margin-top: 50px;
  }

  .banner-area.bg-gradient .content .thumb {
  padding-left: 15px;
  margin-top: 30px;
}

.banner-area.bg-gradient .content .thumb img {
  max-width: 100%;
}

.banner-area.top-pad-50p .content.double-items {
  padding-top: 100px;
}

.banner-area.border-shape::after {
  display: none;
}

.banner-area.standard .thumb-box {
    display: none;
}

.banner-area.standard .fixed-shape {
    opacity: 0.4;
}

.banner-area.standard .content {
    padding: 0;
}

.banner-area.standard .info {
    padding: 50px 15px;
}

.banner-area.standard .content h1 {
    font-size: 36px;
}

  .side-bg {
    display: none;
  }

  .appoinment-box {
    padding: 30px;
  }

  .appoinment-box form .col-md-12 {
    float: left;
    width: 100%;
  }


  .banner-area.banner-style-two .content {
    padding-top: 70px;
    padding-right: 15px;
}

.banner-area.banner-style-three .content h1 {
  font-size: 42px;
}

.banner-area.banner-style-three .transparent-nav .content {
  padding-top: 60px;
  padding-right: 0;
  padding-bottom: 70px;
}

.banner-area.banner-style-four .content {
  padding-top: 60px;
  padding-bottom: 60px;
  padding-right: 0;
  text-align: left;
}

.banner-style-four .carousel-item.bg-cover {
  position: relative;
  z-index: 1;
}

.banner-style-four .carousel-item.bg-cover::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  height: 100%;
  width: 100%;
  background: var(--white);
  z-index: -1;
  opacity: 0.8;
}

.banner-style-five.banner-area .content h1 {
  font-size: 40px;
}

.banner-area.banner-style-five .content {
  padding: 60px 0;
}

.banner-area.banner-style-six .content h1 {
  font-size: 42px;
}

.banner-area.banner-style-six .content {
  padding: 80px 0;
}

.banner-area.banner-style-seven .double-content .content h1 {
  font-size: 45px;
}

.banner-area.banner-style-seven .double-content .content {
  padding: 60px 0;
}

.banner-area .carousel-control {
  display: none;
}

.banner-style-nine h1 {
  font-size: 40px;
}

.banner-style-nine {
  padding-top: 60px;
  padding-bottom: 60px;
}

.banner-style-nine .content {
  margin: 0;
}

.banner-style-nine .fun-fact {
  right: 30px;
  display: none;
}

.banner-style-nine .thumb {
  padding-bottom: 0;
  margin-top: 40px;
}

.blog-area .item blockquote {
  padding: 50 30px;
  font-size: 20px;
}

  /* Top Entry */
  .top-entry-area .item {
    padding: 30px;
  }

  .top-entry-area .item-box .single-item {
    overflow: hidden;
  }

  /* Top Entry */

  .top-entry-area.border-less .single-item {
    margin-bottom: 30px;
  }

  .top-entry-area.border-less .single-item:last-child {
    margin-bottom: 0;
  }

  .top-entry-area.border-less .item {
    border: 1px solid #e7e7e7;
    overflow: hidden;
    padding: 30px;
  }

  .top-entry-area .item-box .single-item:nth-child(2n)::after {
    display: none !important;
  }

  .top-entry-area .item-box .single-item:nth-child(2n) {
    background: transparent;
  }

  .top-entry-area .item-box .single-item:nth-child(2n) .item {
    background: #0cb8b6;
    border: none;
  }

  /* About */
  .about-area .about-items .inc-video {
    margin-bottom: 30px;
  }

  .about-area .info {
    padding-right: 15px;
  }

  .about-area .bottom {
    display: block;
    text-align: center;
  }

  .about-area .bottom .content {
    padding-left: 0;
    margin-top: 30px;
  }

  .about-area .tabs-items {
    margin-top: 30px;
  }

  .about-area .services-area .equal-height:first-child, 
  .about-area .services-area .equal-height:nth-child(2) {
    margin-top: 30px;
  }

  .video-bg-area {
    padding: 80px 0;
  }

  .tabs-items .nav-pills {
    text-align: center;
  }

  .tabs-items .nav-pills li {
    float: none;
    display: inline-block;
  }

  .tabs-items .nav-pills li.active a::after {
    display: none;
  }

  .tabs-items .nav-pills li a {
    margin-bottom: 10px;
  }

  .about-style-two .thumb {
    padding: 0;
    margin: 0;
    margin-bottom: 30px;
}

.about-style-two .thumb img:nth-child(2) {
    display: none;
}

.about-style-two-info .top {
    margin: 0;
}

.feature-style-two ul {
  display: grid;
  gap: 30px;
}

.video-bg-area h1 {
  font-size: 36px;
}

  /* Doctor Details */
  .doctor-details-area .info {
    margin-top: 30px;
  }

  .doctor-details-area .nav-pills {
    text-align: center;
  }

  .doctor-details-area .nav-pills li {
    margin: 5px 10px;
    float: none;
    display: inline-block;
  }

  .doctor-details-area .nav-pills li.active::after {
    display: none;
  }

  .doctor-details-area .nav-pills li a {
    margin: 0;
    padding: 0;
  }

  .doctor-details-area .nav-pills {
    margin-bottom: 30px;
    margin-top: 25px;
    padding-bottom: 0;
    border: none;
  }

  .doctor-details-area .nav-pills .nav-link {
    float: none;
    width: 100%;
    margin: 5px 0;
    border: 1px solid #e7e7e7;
    padding: 15px;
}

.doctor-details-area .nav-pills .nav-link::after {
  display: none;
}

.doctor-details-area .nav-pills .nav-link.active {
  color: var(--color-primary);
}

  /* Features */
  .features-area .features-items {
    padding-left: 15px;
    margin-top: 30px;
  }

  .features-area .features-items li {
    display: block;
    text-align: center;
  }

  .features-area .features-items li .info {
    padding-left: 0;
  }

  .features-area .bottom {
    display: block;
    text-align: center;
  }

  .features-area .bottom .content {
    padding-left: 0;
    margin-top: 30px;
  }

  /* Services */
  .solid-services-area .item {
    padding: 50px 30px;
  }

  .services-area .services-carousel.owl-carousel .owl-nav {
    display: none;
  }

  .services-details-area .sidebar {
    margin-top: 50px;
  }



/* Top Services */
  .top-services-area .services-tabs ul.nav.nav-pills li {
    display: block;
    float: none;
  }

  .top-services-area .services-tabs ul.nav.nav-pills li a::after,
  .top-services-area .services-tabs ul.nav.nav-pills li.active a::after {
    position: absolute;
    left: 0;
    top: 0;
    background: #ffffff;
    content: "";
    height: 100%;
    width: 100%;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    z-index: -1;
}

.top-services-area .services-tabs ul.nav.nav-pills li a {
    justify-content: center;
    position: relative;
    z-index: 1;
}

.top-services-area .services-tabs ul.nav.nav-pills li {
  margin-bottom: 30px;
}

.top-services-area .services-tabs {
  padding: 60px 0;
  margin: 0;
  background: var(--dark);
  border: none;
}

.top-services-area .services-tabs ul.nav.nav-tabs {
  margin: 0;
}

.top-services-area .services-tabs ul.nav.nav-pills li:last-child {
  margin-bottom: 0;
}

.top-services-area .info {
    padding-left: 15px;
}

.top-services-area .thumb {
  margin-bottom: 30px;
}

.top-services-area .thumb::after {
  display: none;
}

.top-services-area .services-tabs ul.nav.nav-tabs li button {
  background: rgba(255, 255, 255, 0.1);
  width: 100%;
  color: var(--white);
}

.top-services-area .services-tabs ul.nav.nav-tabs li {
  display: block;
  margin: 5px 0;
}

.top-services-area .services-tabs ul.nav.nav-tabs li button.active::after {
  top: 0;
  height: 100%;
  width: 100%;
}

.top-services-area {
  background: var(--dark);
  margin-bottom: 60px;
  padding-bottom: 60px;
}

.top-services-area p {
  color: #d8f0fb;
}

.top-services-area li {
  color: var(--white);
}

.top-services-area .info ul li {
  color: var(--white);
}

.top-services-area .info h2 {
  color: var(--white);
}

.top-services-area .info ul.working-hours li {
  color: var(--color-heading);
}


.newsletter-area h2 {
  font-size: 36px;
}

  /* Chose Us */
  .chose-us-area .thumb {
    min-height: 300px;
  }

  .chose-us-area.item-half .container-full .row > .info {
    padding: 50px 15px 40px;
    overflow: hidden;
  }

  .chose-us-area.item-half .info li {
    float: none;
    width: 100%;
  }

  .chose-us-area.item-half .info li:first-child, 
  .chose-us-area.item-half .info li:nth-child(2n) {
    padding: 0;
  }

  .chose-us-area.item-half .info li:first-child, 
  .chose-us-area.item-half .info li:nth-child(2) {
    margin-top: 30px;
  }

  .chose-us-area.item-half .info li:first-child {
    margin-top: 0;
  }

  .faq-area {
    margin-top: 30px;
  }

  .services-area.inc-icon.bottom-less {
    padding-bottom: 20px;
  }

  .about-area .emergency-services {
    margin-top: 50px;
    margin-bottom: -10px;
  }

  /* Health Tips */
  .health-tips-items .info::after {
    left: 50%;
    top: -60px;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 30px solid #ffffff;
    margin-left: -30px;
  }

  .doctor-tips-area .tips-carousel.owl-carousel .owl-nav {
    display: none;
  }

  .health-tips-items .thumb img {
    border-radius: 10px 10px 0 0;
  }

  .health-tips-items .info {
    border-radius: 0 0 10px 10px;
  }

  /* Department */
  .department-tabs .tab-content .opening-info h4::after {
    left: 50%;
    margin-left: -25px;
    width: 40px;
  }

  .department-tabs .tab-content .opening-info h4::before {
    left: 50%;
    margin-left: 20px;
    width: 5px;
  }

  .department-tabs .tab-content .thumb {
    margin-top: 15px;
  }

  .department-tabs .tab-content .opening-info {
    padding: 20px 0 0 0;
    background: #ffffff;
    border: none;
    border-top: 1px solid #e7e7e7;
    margin-top: 20px;
  }

  .department-tabs {
    text-align: center;
  }

  .department-tabs .tab-content .opening-info li {
    text-align: left;
  }

  /* Fun Factor */
  .fun-fact-area .item {
    margin-bottom: 30px;
  }

  .fun-fact-area .item:last-child {
    margin-bottom: 0;
  }

  /* Testimonials */
  .testimonial-items {
    margin-top: 10px;
  }


  
  /* gallery */
  .gallery-area {
    padding-bottom: 35px;
  }

  .mix-item-menu {
    border: none;
    padding: 0;
  }

  .mix-item-menu button {
    padding: 8px 25px;
    border: 1px solid #e7e7e7;
    margin: 5px;
    background: #ffffff;
  }

  .mix-item-menu button.active::after {
    top: 12px;
  }

  .gallery-area .gallery-items.colums-2 .pf-item,
  .gallery-area .gallery-items.colums-3 .pf-item,
  .gallery-area .gallery-items.colums-4 .pf-item {
    width: 100%;
  }

  /* Blog */
  .blog-area .blog-items .single-item {
    margin-bottom: 50px;
  }

  .blog-area .blog-items .single-item:last-child {
    margin-bottom: 0;
  }

  .blog-area .sidebar {
    margin-top: 50px;
    float: left;
    width: 100%;
  }

  .blog-area.left-sidebar .blog-content {
    float: none;
  }

  .author-bio .avatar {
    display: block;
    margin-bottom: 30px;
    vertical-align: top;
    width: auto;
  }

  .author-bio .content {
    display: block;
    padding: 0;
  }

  .blog-area .author-bio {
    text-align: center;
  }

  .blog-area .author-bio img {
    border-radius: 50%;
    height: 300px;
    width: 300px;
    margin: auto;
  }

  .blog-area.single .blog-items .item .contact-comments .col-md-6 {
    float: none;
    padding: 0 15px;
  }

  .blog-area.single .content-box .meta .date {
    float: left;
    width: 100%;
    margin-bottom: 15px;
  }

  .comments-list .commen-item.reply {
    padding-left: 0;
  }

  .comments-info a {
    margin-left: 0;
  }

  .comments-area .commen-item .comments-info p {
    display: block;
    margin-bottom: 15px;
  }


  /* Google Maps */
  .google-maps iframe {
    height: 300px;
  }


  /* Error Page */
  .error-box .search form {
    width: 300px;
  }

  .error-page-area .error-box h1 {
    font-size: 120px;
  }

  /* Footer */

  footer .f-items .item {
    margin-bottom: 50px;
  }

  footer .f-items .item:last-child {
    margin-bottom: 0;
  }

  footer .footer-bottom {
    text-align: center;
  }

  footer .footer-bottom .text-end {
    text-align: center !important;
    margin-top: 15px;
  }

  footer.active-first .f-items .item:first-child .f-item {
    padding: 0;
  }

  footer.active-first .f-items .item:first-child .f-item::after {
    display: none;
  }
}

/* Max Wide Mobile Layout: 600px. */
@media only screen and (min-width: 600px) and (max-width: 767px) {


/* Topbar Area */

.top-bar-area .address-info .info ul {
    display: flex;
    align-items: center;
    justify-content: center;
}

.top-bar-area.inline .info li {
  border: none;
  padding: 15px 5px;
}

.top-bar-area.inline .info li::after {
  display: inline-block;
}

.top-bar-area.inline .info li:last-child::after {
  display: none;
} 


  /* gallery */
  .gallery-area .gallery-items.colums-2 .pf-item,
  .gallery-area .gallery-items.colums-3 .pf-item,
  .gallery-area .gallery-items.colums-4 .pf-item {
    width: 50%;
  }
}

/* Wide Mobile Layout: 480px. */
@media only screen and (min-width: 480px) and (max-width: 767px) {


  /* Testimonials */

  .testimonial-items .provider {
    display: flex;
    text-align: left;
  }

  .testimonial-items .provider .thumb {
    margin-right: 15px;
  }

  .testimonial-items .provider img {
    margin: 0;
  }
}


@media only screen and (max-width: 400px) {

.top-services-area .services-tabs ul.nav.nav-pills li a {
    display: block;
    text-align: center;
}

.top-services-area .services-tabs ul.nav.nav-pills li a i {
  display: block;
  margin-right: 0;
  margin-bottom: 15px;
}

.testimonial-items .item p {
  font-size: 17px;
}

.testimonial-items .item {
  padding: 40px;
}

.health-tips-items .info {
  padding: 30px;
}

.department-items .item .info {
  padding: 50px 30px;
}

.feature-style-two {
  padding: 50px 30px;
}

}