/* Mobile layout fix for myonlinearchitect.com/our-projects.html
   Load this file after the existing theme CSS, or paste it at the end of style.css. */

@media (max-width: 767px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  body {
    position: relative;
  }

  .page-wraper,
  .site-header,
  .site-header .main-bar,
  .site-header .sticky-header,
  .site-header .extra-nav,
  .page-content,
  main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }

  .site-header {
    height: auto !important;
  }

  .site-header .main-bar,
  .site-header .container,
  .site-header .container-fluid {
    display: flex;
    align-items: center;
  }

  .site-header .container,
  .site-header .container-fluid,
  .page-content .container,
  .page-content .container-fluid,
  .section-full .container,
  .section-full .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .site-header .logo-header {
    flex: 0 0 auto;
  }

  .site-header .logo-header img {
    max-width: 76px;
    height: auto;
  }

  .site-header .navbar-toggler,
  .site-header .menu-icon,
  .site-header .extra-nav {
    margin-left: auto !important;
    position: relative !important;
    right: auto !important;
    transform: none !important;
  }

  .section-hero,
  section.section-hero,
  .hero,
  .project-hero,
  [class*="hero"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 96px 16px 32px !important;
    background-size: contain !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    overflow: visible !important;
  }

  .section-hero .container,
  .section-hero .container-fluid,
  .hero .container,
  .hero .container-fluid,
  .project-hero .container,
  .project-hero .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .section-hero img,
  .hero img,
  .project-hero img,
  [class*="hero"] img,
  footer img,
  .site-footer img,
  .footer img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .site-footer .footer-bg,
  #footer .footer-bg,
  footer .footer-bg {
    width: 100vw !important;
    min-height: 360px !important;
    height: 48vh !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .site-footer .container,
  #footer .container,
  footer .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-footer .row,
  #footer .row,
  footer .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .site-footer .footer-bg,
  .site-footer .footer-bg-parent,
  .site-footer .footer-bg-wrap,
  .site-footer .footer-bg-holder,
  .site-footer .col-lg-5:has(.footer-bg),
  #footer .col-lg-5:has(.footer-bg),
  footer .col-lg-5:has(.footer-bg) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-footer .footer-bg,
  #footer .footer-bg,
  footer .footer-bg {
    margin-left: 0 !important;
    transform: none !important;
  }

   .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  img,
  .dz-media img,
  .project-media img,
  .project-img img,
  .portfolio-box img,
  .portfolio-media img {
    display: block;
    max-width: 100% !important;
    height: auto;
  }

  .dz-media,
  .project-media,
  .project-img,
  .portfolio-box,
  .portfolio-media {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  .navbar-collapse,
  .header-nav,
  .mo-left .navbar-collapse,
  .mo-left .header-nav {
    max-width: 100vw !important;
  }

  .site-header.mo-left .header-nav {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    background: #f5f3ee !important;
    z-index: 99999 !important;
    transform: translateX(-100%) !important;
    transition: transform 0.35s ease !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  .site-header.mo-left .header-nav.active,
  .site-header.mo-left .header-nav.show {
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }

  .site-header .mobile-menu-close {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    height: 44px !important;
    justify-content: center !important;
    padding: 0 !important;
    position: absolute !important;
    right: 20px !important;
    top: 44px !important;
    width: 44px !important;
    z-index: 100001 !important;
  }

  .site-header .mobile-menu-close span {
    background: #222 !important;
    display: block !important;
    height: 2px !important;
    left: 11px !important;
    position: absolute !important;
    top: 21px !important;
    width: 24px !important;
  }

  .site-header .mobile-menu-close span:first-child {
    transform: rotate(45deg);
  }

  .site-header .mobile-menu-close span:last-child {
    transform: rotate(-45deg);
  }

  body.menu-open {
    overflow: hidden;
  }

  section.hero,
  .hero {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 20px 24px !important;
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
  }

  .hero h1 {
    display: block !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
    position: relative;
    z-index: 1;
  }
}
