@charset "utf-8";

/*
Theme Name: Vitalis - Multi-Specialty Clinic HTML5 Template.
Author: Metropolitanthemes
Version: 1.0.0

%%%%%%% Responsive Stylesheet %%%%%%%
Desktop-first max-width cascade: 1399 / 1199 / 991 / 767 / 575
*/

/*======================
Max Width 1399px
========================*/
@media (max-width: 1399.98px) {
  /* Header */
  .vt-nav > ul > li > a { padding-left: 10px; padding-right: 10px; }
  .top-link { display: none; }
  /* Hero */
  .hero-frame { height: 500px; }
  .strip-tile { padding: 22px 20px; gap: 12px; }
}

/*======================
Max Width 1199px
========================*/
@media (max-width: 1199.98px) {
  /* Header */
  .vt-nav { display: none; }
  .vt-menu-toggle { display: inline-flex; }
  .header-actions { margin-left: auto; }
  .header-inner { min-height: 80px; }
  .vt-header.is-scrolled { padding-bottom: 81px; }
  .top-urgent { display: none; }
  /* Hero */
  .hero-grid { gap: 36px; }
  .hero-frame { height: 460px; }
  .hero-wait { right: 0; }
  .vt-strip { grid-template-columns: repeat(2, 1fr); }
  .strip-tile:nth-child(3) { border-left: 0; }
  .strip-tile:nth-child(n+3) { border-top: 1px solid var(--vt-line); }
  /* About */
  .collage-main { height: 460px; }
  /* Departments */
  .dept-bento { grid-template-columns: repeat(3, 1fr); }
  .dept-tile.is-big { grid-column: span 3; grid-row: auto; min-height: 380px; }
  .dept-tile.is-cta { grid-column: span 2; }
  /* Home 02 Urgent Care */
  .wait-panel { width: 330px; padding: 22px; }
  .wp-num b { font-size: 4rem; }
  /* Home 03 Family And Wellness */
  .vt-hero3-slider .swiper-slide { min-height: 700px; padding: 40px; }
  .hero3-team { right: 40px; top: 40px; }
  .hero-controls.is-card { right: 40px; bottom: 40px; }
  .age-card { width: 320px; }
  /* Inner Pages */
  .doc-filters { grid-template-columns: 1fr 1fr 1fr; }
  .df-days { grid-column: 1 / -1; }
  .vt-timeline { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
  .tl-line { display: none; }
  .cond-grid { grid-template-columns: repeat(2, 1fr); }
  /* Appointment Booking */
  .bk-summary { position: relative; top: 0; }
  /* Timetable Lab Pricing Locations */
  .lab-panel { position: relative; top: 0; }
  .tt-table th, .tt-table td { padding: 12px 8px; }
  .tt-doc img { display: none; }
  /* FAQ Journal Contact And Accounts */
  .post-grid { grid-template-columns: 1fr 1fr; }
  /* Footer */
  .dock-grid { grid-template-columns: repeat(2, 1fr); }
  .dock-tile:nth-child(3) { border-left: 0; }
  .dock-tile:nth-child(n+3) { border-top: 1px solid var(--vt-line); }
  .footer-dock { transform: translateY(-40%); }
}

/*======================
Max Width 991px
========================*/
@media (max-width: 991.98px) {
  /* General */
  .vt-pt-120 { padding-top: 90px; }
  .vt-pb-120 { padding-bottom: 90px; }
  .vt-head-row { flex-direction: column; align-items: flex-start; }
  /* Subheader */
  .sub-inner { grid-template-columns: 1fr; gap: 36px; }
  .sub-media { height: 280px; }
  /* Hero */
  .vt-hero { padding: 44px 0 76px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-media { padding: 0 0 34px 0; }
  .hero-frame { height: 420px; }
  .hero-next { left: 18px; }
  /* About */
  .collage-badge { left: 16px; }
  /* Vitals Monitor */
  .vitals-head { grid-template-columns: 1fr; gap: 18px; }
  .vitals-grid { grid-template-columns: repeat(2, 1fr); }
  .vital:nth-child(3) { border-left: 0; }
  .vital:nth-child(n+3) { padding-top: 26px; margin-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
  /* Process */
  .visit-steps { grid-template-columns: repeat(2, 1fr); row-gap: 46px; }
  .steps-line { display: none; }
  /* Call To Action */
  .cta-inner { grid-template-columns: 1fr; }
  .cta-inner .vt-actions { justify-content: flex-start; }
  .vt-cta { padding: 90px 0; }
  /* Home 02 Urgent Care */
  .vt-hero2 { min-height: 0; display: block; }
  .vt-hero2-slider { position: relative; }
  .vt-hero2-slider .swiper-slide { padding: 170px 0 90px; }
  .hero2-over { height: auto; padding: 0 12px 90px; }
  .wait-panel { position: relative; right: auto; top: auto; transform: none; width: 100%; max-width: 460px; margin-top: -40px; }
  .hero-controls.is-night { position: relative; left: auto; bottom: auto; margin-top: 26px; }
  .vv-media { height: 420px; }
  .vt-rows.is-two { grid-template-columns: 1fr; }
  /* Home 03 Family And Wellness */
  .vt-hero3 { padding: 12px 12px 76px; }
  .vt-hero3-slider .swiper-slide { min-height: 0; padding: 300px 24px 110px; }
  .hero3-panel { padding: 30px 28px; }
  .hero3-team { left: 24px; right: auto; top: 24px; }
  .hero-controls.is-card { left: 24px; right: auto; bottom: 24px; }
  .intro3-media { padding-left: 50px; }
  .bmi-result { grid-template-columns: 1fr 1fr; }
  .bmi-result > div:last-child { grid-column: span 2; }
  /* Inner Pages */
  .fig-strip { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .fig:nth-child(3) { border-left: 0; }
  .vt-sidebar { position: relative; top: 0; }
  .profile-card { grid-template-columns: 1fr; gap: 40px; }
  .pc-photo { height: 520px; }
  .slot-strip { grid-template-columns: repeat(2, 1fr); }
  .lab-media, .join-media { height: 400px; }
  /* Timetable Lab Pricing Locations */
  /* the timetable and the fee table become one card per doctor (no sideways scroll) */
  .tt-table thead { display: none; }
  .tt-table, .tt-table tbody, .tt-table tr, .tt-table th, .tt-table td { display: block; width: 100%; }
  .tt-table tbody tr { padding: 16px; border-bottom: 1px solid var(--vt-line); display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .tt-table tbody tr th { grid-column: 1 / -1; padding: 0 0 6px; border: 0; }
  .tt-table tbody td { padding: 0; border: 0; }
  .tt-table tbody td::before { content: attr(data-label); display: block; margin-bottom: 4px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vt-muted); }
  .tt-table tbody td.is-off { display: none; }
  .tt-doc img { display: block; }
  .fee-table tbody tr { grid-template-columns: repeat(2, 1fr); }
  .map-wrap { grid-template-columns: 1fr; }
  .map-frame, .map-frame iframe { min-height: 380px; }
  /* FAQ Journal Contact And Accounts */
  .account-wrap { grid-template-columns: 1fr; }
  .account-media { min-height: 420px; }
  .contact-map, .contact-map iframe { min-height: 400px; }
}

/*======================
Max Width 767px
========================*/
@media (max-width: 767.98px) {
  /* General */
  /* phones: the texture photo would be stretched up a tall section and is invisible under the wash */
  .vt-tint .tint-img { display: none; }
  .vt-pt-120 { padding-top: 76px; }
  .vt-pb-120 { padding-bottom: 76px; }
  .vt-title { margin-bottom: 36px; }
  .vt-rows > div { grid-template-columns: 1fr; gap: 2px; }
  .hero-title .line, .vt-words .line { white-space: normal; }
  /* Header */
  .vt-topbar .vt-social { display: none; }
  .head-book, .head-call { display: none; }
  .vt-logo img { height: 40px; }
  /* Departments */
  .dept-bento { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .dept-tile.is-big { grid-column: span 2; }
  .dept-tile.is-cta { grid-column: span 2; }
  .dept-tile { padding: 22px; min-height: 220px; }
  /* Inner Pages */
  .doc-filters { grid-template-columns: 1fr; }
  .vt-timeline { grid-template-columns: 1fr 1fr; }
  .proc-list li { grid-template-columns: 1fr auto; }
  .pr-time { grid-column: 1; grid-row: 2; }
  .proc-list b { grid-row: span 2; }
  .detail-hero { height: 320px; }
  .detail-pair { grid-template-columns: 1fr; }
  /* Appointment Booking */
  .bk-card { padding: 22px 18px; }
  .bk-steps { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .bk-steps li { justify-content: center; padding: 10px 6px; }
  .bk-steps li b { display: none; }
  .bk-docs { grid-template-columns: 1fr; }
  .bk-days { grid-template-columns: repeat(4, 1fr); }
  .bk-legend { font-size: 1.375rem; }
  /* Timetable Lab Pricing Locations */
  .lab-grid { grid-template-columns: 1fr; }
  .lab-search { width: 100%; }
  .tt-table tbody tr { grid-template-columns: repeat(2, 1fr); }
  /* FAQ Journal Contact And Accounts */
  .post-grid { grid-template-columns: 1fr; }
  .post-nav { grid-template-columns: 1fr; }
  .post-nav a.is-next { text-align: left; align-items: flex-start; }
  .author-box { flex-direction: column; align-items: flex-start; }
  .comment.is-reply { margin-left: 30px; }
  .article-hero { height: 320px; }
  .article-rows > div { grid-template-columns: 1fr; }
  .soon-count > div { width: 86px; padding: 16px 6px; }
  .soon-count b { font-size: 2.2rem; }
  /* Footer */
  .bottom-inner { flex-direction: column; text-align: center; }
  .vt-mobile-bar {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 95;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-radius: 20px;
    background: var(--vt-ink);
    box-shadow: 0 18px 40px rgba(6, 9, 24, 0.35);
    overflow: hidden;
  }
  .vt-mobile-bar a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 11px 0; color: #FFFFFF; font-size: 0.8125rem; font-weight: 700; }
  .vt-mobile-bar a.is-book { background: var(--vt-lime); color: var(--vt-ink); }
  .vt-back-to-top { bottom: 96px; right: 16px; width: 46px; height: 46px; }
  body { padding-bottom: 86px; }
}

/*======================
Max Width 575px
========================*/
@media (max-width: 575.98px) {
  /* Header */
  .vt-topbar .top-status span[data-hs-text] { display: none; }
  /* Subheader */
  .vt-subheader { padding: 54px 0 70px; }
  .sub-media { height: 220px; }
  /* Hero */
  .hero-frame { height: 320px; }
  .hero-wait { top: 18px; right: 12px; padding: 10px 14px 10px 10px; }
  .wait-ic { width: 38px; height: 38px; }
  .vt-strip { grid-template-columns: 1fr; }
  .strip-tile + .strip-tile { border-left: 0; border-top: 1px solid var(--vt-line); }
  .hero-bar { display: none; }
  .vt-strip-wrap { margin-bottom: 76px; }
  /* About */
  .about-collage { padding: 0 0 60px; }
  .collage-main { height: 340px; }
  .collage-small { width: 58%; height: 180px; }
  .collage-badge { bottom: auto; top: 16px; padding: 14px 18px; }
  .collage-badge b { font-size: 2.2rem; }
  /* Departments */
  .dept-bento { grid-template-columns: 1fr; }
  .dept-tile.is-big, .dept-tile.is-cta { grid-column: auto; min-height: 340px; }
  .dept-tile.is-cta { min-height: 240px; }
  /* Vitals Monitor */
  .vitals-monitor { padding: 20px 18px 26px; }
  .monitor-id { display: none; }
  .monitor-trace { height: 110px; }
  .vital { padding: 20px 14px 0; }
  /* Process */
  .visit-steps { grid-template-columns: 1fr; }
  /* Patient Stories */
  .story-card { padding: 30px 24px 24px; }
  .story-card blockquote { font-size: 1.1875rem; }
  /* Insurance And Estimator */
  .plans-list { grid-template-columns: 1fr; }
  .plans-list li:last-child:nth-child(odd) { grid-column: auto; }
  .est-card { padding: 24px 20px; }
  .est-result b { font-size: 2.4rem; }
  /* Home 02 Urgent Care */
  .vv-media { height: 300px; }
  .wp-num b { font-size: 3.4rem; }
  .acc-btn { padding: 18px 18px; font-size: 1.0625rem; }
  .acc-panel { padding: 0 18px 18px; }
  /* Home 03 Family And Wellness */
  .vt-hero3-slider .swiper-slide { padding: 240px 14px 100px; }
  .hero3-frame { border-radius: 28px; }
  .hero3-panel { padding: 24px 20px; border-radius: 24px; }
  .hero3-team .faces-text { display: none; }
  .intro3-media { padding: 0 0 50px; }
  .intro3-a { height: 340px; }
  .intro3-b { width: 56%; height: 170px; }
  .age-card { width: 280px; }
  .tool-card { padding: 24px 20px; }
  /* Inner Pages */
  .fig-strip { grid-template-columns: 1fr; }
  .fig + .fig { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.12); padding-top: 24px; }
  .vt-timeline { grid-template-columns: 1fr; }
  .cond-grid { grid-template-columns: 1fr; }
  .dc-conds { grid-template-columns: 1fr; }
  .pc-photo { height: 420px; }
  .slot-strip { grid-template-columns: 1fr; }
  .side-box, .slots-card, .cred-card { padding: 22px 18px; }
  /* Appointment Booking */
  .bk-nav { flex-wrap: wrap; }
  .bk-nav .vt-btn { flex: 1 1 auto; }
  .bk-done { padding: 36px 20px; }
  /* FAQ Journal Contact And Accounts */
  .account-form, .form-card, .comment-form { padding: 26px 20px; }
  .soon-count { gap: 8px; }
  .soon-count > div { width: 72px; }
  /* Footer */
  .dock-grid { grid-template-columns: 1fr; }
  .dock-tile + .dock-tile { border-left: 0; border-top: 1px solid var(--vt-line); }
  .footer-dock { transform: none; margin-top: -60px; margin-bottom: 20px; }
}
