/*
 * QLC mobile overrides — loaded after responsive.css
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media only screen and (max-width: 991px) {
  html {
    font-size: 100% !important;
  }

  body {
    font-size: 15px;
    line-height: 1.6;
  }
}

@media only screen and (max-width: 900px) {
  /* Keep desktop menu hidden until hamburger opens it */
  .menuzord-responsive .menuzord-menu:not(.scrollable) {
    display: none !important;
    float: none;
    width: 100%;
  }

  .menuzord-responsive .menuzord-menu > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
  }

  .menuzord-responsive .showhide {
    display: block;
  }

  /* Prevent long mobile menus from getting clipped */
  .header-nav .header-nav-wrapper,
  .header-nav .header-nav-wrapper.scroll-to-fixed-fixed,
  .header-nav .menuzord-responsive.menuzord {
    overflow: visible !important;
  }

  .menuzord-responsive .menuzord-menu,
  .menuzord-responsive .menuzord-menu.scrollable {
    max-height: calc(100vh - 120px) !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .menuzord-responsive .menuzord-menu > li,
  .menuzord-responsive .menuzord-menu ul.dropdown,
  .menuzord-responsive .menuzord-menu ul.dropdown li {
    overflow: visible !important;
    height: auto !important;
  }

  /* Fix truncated submenu panels on mobile (plugin may leave fixed heights) */
  .menuzord-responsive .menuzord-menu ul.dropdown,
  .menuzord-responsive .menuzord-menu ul.dropdown ul.dropdown {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .header-nav .header-nav-wrapper,
  .header-nav .header-nav-wrapper.scroll-to-fixed-fixed {
    height: auto !important;
    max-height: none !important;
  }

  .menuzord-responsive .menuzord-menu > li > a {
    position: relative;
    display: block !important;
    font-size: 13px;
    padding: 12px 48px 12px 16px !important;
    line-height: 1.4;
    color: #333 !important;
    background: #fff !important;
    border-bottom: 1px solid #eee;
  }

  .menuzord-responsive .menuzord-menu > li > a .indicator {
    position: absolute !important;
    top: 0;
    right: 0;
    width: 48px;
    height: 100%;
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 0;
  }

  .menuzord-responsive .menuzord-menu > li > a .nav-chevron,
  .menuzord-responsive .menuzord-menu ul.dropdown li > a .nav-chevron {
    width: 8px;
    height: 8px;
    border-right-width: 2px;
    border-bottom-width: 2px;
    border-color: #555 !important;
  }

  .menuzord-responsive .menuzord-menu ul.dropdown {
    position: static !important;
    width: 100% !important;
    float: none !important;
    background: #f8f8f8;
    border: 0;
    box-shadow: none;
  }

  .menuzord-responsive .menuzord-menu ul.dropdown ul.dropdown {
    background: #f0f0f0;
  }

  .menuzord-responsive .menuzord-menu ul.dropdown li a {
    position: relative;
    display: block !important;
    font-size: 13px;
    padding: 10px 48px 10px 24px !important;
    min-height: 44px;
    height: auto !important;
    line-height: 1.4 !important;
    white-space: normal;
    color: #444 !important;
    background: transparent !important;
    border-bottom: 1px solid #e8e8e8;
  }

  .menuzord-responsive .menuzord-menu ul.dropdown li .indicator {
    position: absolute !important;
    top: 0;
    right: 0;
    width: 48px;
    height: 100%;
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .menuzord-responsive .menuzord-menu ul.dropdown ul.dropdown li a {
    padding-left: 36px !important;
  }

  .menuzord-responsive .menuzord-menu ul.dropdown li {
    display: block !important;
    clear: both;
    height: auto !important;
  }

  .menuzord-responsive .menuzord-menu li.mobile-submenu-open > ul.dropdown {
    display: block !important;
  }
}

/* Mobile accordion-style navigation (design match) */
@media only screen and (max-width: 900px) {
  /* Kill Menuzord side padding that shrinks submenu panels */
  #menuzord.qlc-mobile-accordion.menuzord,
  #menuzord.qlc-mobile-accordion {
    background: #202c45 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu,
  #menuzord.qlc-mobile-accordion .menuzord-menu.scrollable {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu > li,
  #menuzord.qlc-mobile-accordion .menuzord-menu ul.dropdown,
  #menuzord.qlc-mobile-accordion .menuzord-menu ul.dropdown li {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu > li > a {
    background: #202c45 !important;
    color: #f5f7fa !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    padding: 16px 52px 16px 16px !important;
  }

  /*
   * Root cause of "submenu cutting": Menuzord desktop dropdowns use a fixed
   * pixel width + absolute positioning. Force full-bleed accordion panels.
   */
  #menuzord.qlc-mobile-accordion .menuzord-menu ul.dropdown,
  #menuzord.qlc-mobile-accordion .menuzord-menu ul.dropdown ul.dropdown,
  #menuzord.qlc-mobile-accordion .menuzord-menu .megamenu {
    position: static !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: auto !important;
    float: none !important;
    display: none;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu ul.dropdown li a {
    background: #ffffff !important;
    color: #444 !important;
    border-bottom: 1px solid #e8e8e8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    white-space: normal !important;
    word-break: break-word;
    padding: 12px 52px 12px 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu ul.dropdown ul.dropdown li a {
    background: #f0f0f0 !important;
    padding-left: 34px !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu a .nav-chevron {
    display: none !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu a .indicator {
    width: 48px !important;
    right: 0 !important;
    top: 0 !important;
    height: 100% !important;
    position: absolute !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-left: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu a .indicator::before {
    content: "+";
    color: #f5f7fa;
    font-size: 30px;
    line-height: 1;
    font-weight: 300;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu li.is-open > a > .indicator::before {
    content: "\2212";
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu ul.dropdown a .indicator::before {
    color: #555;
  }

  #menuzord.qlc-mobile-accordion .menuzord-menu li.is-open > ul.dropdown,
  #menuzord.qlc-mobile-accordion .menuzord-menu li.is-open > .megamenu {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

@media only screen and (max-width: 767px) {
  html {
    font-size: 100% !important;
  }

  body {
    font-size: 14px;
  }

  /* Top bar quick links */
  .header-top .col-md-6:first-child {
    display: none;
  }

  .header-top .col-md-6:last-child {
    width: 100%;
    float: none;
  }

  .header-top .header-top-links,
  .header-top .widget .list-inline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 8px;
    padding: 6px 0;
  }

  .header-top .header-top-links > li.text-white,
  .header-top .widget .list-inline > li.text-white {
    display: none;
  }

  .header-top .header-top-links > li > a,
  .header-top .widget .list-inline > li > a {
    font-size: 11px;
    letter-spacing: 0.3px;
    padding: 4px 2px;
    white-space: nowrap;
  }

  .header-top .header-top-social,
  .header-top .styled-icons {
    float: none !important;
    display: flex;
    justify-content: center;
    margin: 0 auto 8px !important;
  }

  .header-top .styled-icons li {
    margin: 0 4px;
  }

  /* Logo + contact row */
  .header-middle {
    text-align: center;
  }

  .header-middle .menuzord-brand {
    float: none !important;
    display: block;
    margin: 12px auto 8px;
  }

  .header-middle .menuzord-brand img {
    max-height: 72px;
    width: auto;
    height: auto;
  }

  .header-middle .col-sm-4:not(:first-child) {
    display: none;
  }

  .header-middle .widget.pull-right {
    float: none !important;
  }

  .header-middle .list-inline {
    justify-content: center;
    display: inline-flex;
    align-items: center;
    text-align: left;
    margin-bottom: 12px;
  }

  .header-middle .font-36 {
    font-size: 26px !important;
  }

  .header-middle .mt-40 {
    margin-top: 12px !important;
  }

  .header-middle .mb-10 {
    margin-bottom: 0 !important;
  }

  /* Mobile nav title + menu */
  .title-mobil-class {
    display: block !important;
    text-align: center;
    font-size: 14px;
    line-height: 1.35;
    padding: 12px 48px 12px 16px;
    margin: 0;
    color: #fff;
    font-weight: 600;
  }

  .header-nav .menuzord-responsive.menuzord {
    padding: 0;
  }

  .menuzord-responsive .showhide {
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    line-height: 44px;
    border-radius: 4px;
  }

  /* Home slider */
  #home .rev_slider_wrapper {
    overflow: hidden;
  }

  #home .rev_slider,
  #home .rev_slider .tp-revslider-mainul,
  #home .rev_slider li {
    max-height: 42vh !important;
    min-height: 220px !important;
  }

  #home .slide-admissions-banner.rev_slider li,
  #home .slide-admissions-banner .slotholder,
  #home .slide-admissions-banner .tp-bgimg,
  #home .slide-main-banner .slotholder,
  #home .slide-main-banner .tp-bgimg {
    min-height: 220px !important;
    max-height: 42vh !important;
  }

  #home .slide-admissions-banner .slotholder,
  #home .slide-admissions-banner .tp-bgimg,
  #home .slide-admissions-banner .admission-banner-bg {
    background-color: #ffffff !important;
  }

  /* Inner page banners */
  .inner-header .font-28 {
    font-size: 1.35rem !important;
    line-height: 1.35;
    padding: 0 12px;
  }

  .inner-header .pt-70 {
    padding-top: 48px !important;
  }

  .inner-header .pb-20 {
    padding-bottom: 16px !important;
  }

  /* Content */
  .main-content {
    overflow-x: hidden;
  }

  .main-content img,
  .main-content iframe,
  .main-content video,
  .main-content embed,
  .main-content object {
    max-width: 100%;
    height: auto;
  }

  .main-content table {
    display: block;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .main-content .container,
  .main-content .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }

  /* News grid */
  #blog .post {
    margin-bottom: 24px;
  }

  #blog .post-thumb {
    height: 200px !important;
  }

  /* Faculty grid */
  #team .row.mtli-row-clearfix > .col-md-3 {
    width: 100%;
    margin-bottom: 24px;
  }

  .team-thumb > .img-fullwidth {
    height: 220px !important;
  }

  .home-faculty-team .team-thumb > .img-fullwidth {
    height: 100% !important;
  }

  /* Footer */
  footer .widget {
    margin-bottom: 24px;
    text-align: center;
  }

  footer .list-inline {
    text-align: center;
  }

  /* Forms */
  .contact-form .btn,
  .contact-form input,
  .contact-form textarea {
    width: 100%;
  }

  .scrollToTop {
    width: 44px;
    height: 44px;
    line-height: 44px;
    right: 12px;
    bottom: 12px;
  }

  .seo-breadcrumbs {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

@media only screen and (max-width: 479px) {
  html {
    font-size: 100% !important;
  }

  .header-top .widget .list-inline > li > a {
    font-size: 10px;
  }

  .header-middle .menuzord-brand img {
    max-height: 60px;
  }

  #home .rev_slider,
  #home .rev_slider .tp-revslider-mainul,
  #home .rev_slider li {
    min-height: 180px !important;
    max-height: 38vh !important;
  }
}

@media only screen and (max-width: 319px) {
  html {
    font-size: 100% !important;
  }
}

/* Site-wide hero slider layout */
.qlc-hero-slider > .container-fluid,
#home > .container-fluid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.qlc-hero-slider .home-hero-slider,
#home .home-hero-slider {
  width: 100% !important;
  max-width: 100% !important;
}

.qlc-hero-slider .home-hero-slide img,
#home .home-hero-slide img {
  object-fit: contain !important;
  object-position: center center !important;
}

#home .rev_slider_wrapper,
#home .rev_slider,
#home .rev_slider .tp-revslider-mainul,
#home .rev_slider li {
  width: 100% !important;
  max-width: 100% !important;
}

#home .slide-main-banner .slotholder,
#home .slide-main-banner .tp-bgimg,
#home .slide-main-banner .main-slider-bg,
#home .slide-main-banner .admission-banner-bg,
#home .rev_slider .tp-bgimg,
#home .rev_slider .rev-slidebg.main-slider-bg {
  background-size: cover !important;
  background-position: center center !important;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

.home-faculty-team .row.multi-row-clearfix {
  flex-wrap: wrap !important;
  overflow-x: hidden;
}

.home-faculty-team .team-thumb > .img-fullwidth {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

@media only screen and (max-width: 900px) {
  .menuzord-responsive .menuzord-menu > li > a,
  .menuzord-responsive .menuzord-menu ul.dropdown li a {
    white-space: normal;
    word-break: break-word;
  }
}

@media only screen and (max-width: 767px) {
  .main-content .row {
    margin-left: -10px;
    margin-right: -10px;
  }

  .main-content [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
  }

  .main-content h1,
  .main-content .font-28 {
    font-size: 1.6rem !important;
    line-height: 1.3;
  }

  .main-content h2,
  .main-content h3 {
    line-height: 1.35;
  }

  .video-popup > img[style] {
    padding: 0 !important;
  }

  .service-block .thumb[style] {
    padding: 12px !important;
  }

  .service-block .thumb img[style] {
    height: auto !important;
    max-height: 220px;
    object-fit: cover;
    object-position: center;
  }

  .post-thumb.thumb[style] {
    height: 200px !important;
  }

  .testimonial .thumb {
    float: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 0 !important;
    margin-bottom: 12px !important;
    text-align: center;
  }

  .owl-carousel .owl-item .testimonial,
  .owl-carousel-2col .owl-item .testimonial {
    text-align: center;
  }

  .owl-carousel .owl-item .testimonial .thumb img,
  .owl-carousel-2col .testimonial .thumb img {
    display: block !important;
    width: 75px !important;
    height: 75px !important;
    max-width: 75px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: cover;
    object-position: center;
  }

  .testimonial .ml-100 {
    margin-left: 0 !important;
    text-align: center;
  }

  #footer .widget > img[style],
  #footer .widget img[style*="height"] {
    width: auto !important;
    height: auto !important;
    max-width: 160px !important;
    max-height: 160px;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  #footer .opening-hours .value.pull-right {
    float: none !important;
    display: block;
    margin-top: 2px;
  }

  #footer .list.angle-double-right li a {
    overflow-wrap: anywhere;
  }

  #footer .widget.dark {
    text-align: center;
  }

  #footer .opening-hours .list-border li {
    text-align: center;
  }

  #footer .footer-visitor-counter-wrap {
    text-align: center;
  }

  #footer .footer-visitor-counter {
    display: inline-block;
    min-width: 0;
    width: auto;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #footer .footer-visitor-counter-head {
    justify-content: center;
  }

  #footer .footer-bottom .row > [class*="col-"] {
    float: none;
    width: 100%;
    text-align: center;
  }

  #footer .footer-bottom .text-right {
    text-align: center !important;
  }

  #footer .footer-bottom p {
    padding-left: 12px;
    padding-right: 12px;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }

  #myModal .modal-dialog {
    margin: 16px auto;
    width: calc(100% - 20px);
    max-width: 520px;
  }

  #myModal .btn.btn-lg {
    font-size: 14px;
    line-height: 1.3;
    padding: 10px 16px;
    white-space: normal;
  }

  .btn,
  .btn-read-more {
    white-space: normal;
  }
}
