@charset "UTF-8";
/* CSS Document */

.mobile-menu-toggle {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 2101;
  border: 0;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
  color: #222;
  padding: 0.85rem 1rem;
  font-size: 1.6rem;
  line-height: 1;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.mobile-menu-toggle:hover {
  background: rgba(255, 255, 255, 1);
}

/* global menu panel */
#globalMenu {
  background: #f7f7f7;
}

#globalMenu .offcanvas-header {
  padding: 0.8rem 2rem 1rem;
  border-bottom: 1px solid #ececec;
  background: #ffffff;
}

#globalMenu .offcanvas-title {
  font-family: "Mulish", sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: #111;
}

#globalMenu .btn-close {
  background-size: 0.9rem;
  opacity: 1;
}

#globalMenu .offcanvas-body {
  padding: 0;
  background: #f7f7f7;
  overflow-y: auto;
}

#globalMenu .list-group,
#globalMenu .list-group-flush {
  display: block !important;
  grid-template-columns: none !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  column-count: 1 !important;
}

#globalMenu .list-group-item {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  border-top: 1px solid #e2dee8 !important;
  background: #f7f7f7 !important;
  color: #2d2d2d !important;
  font-family: "Mulish", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  padding: 0.9rem 2rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  text-align: left !important;
  transform: none !important;
  float: none !important;
  position: relative !important;
  overflow: visible !important;
}

#globalMenu .list-group-item:first-child {
  border-top: 0 !important;
}

#globalMenu .list-group-item:hover,
#globalMenu .list-group-item:focus {
  background: #f1f1f1 !important;
  color: #111 !important;
  transform: none !important;
  box-shadow: none !important;
}

/* LEFT PANEL */
#offcanvasStart {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: auto !important;
}

#offcanvasStart .bg-holder {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
}

#offcanvasStart .offcanvas-body {
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
  min-height: auto !important;
  padding-top: 3rem !important;
  padding-bottom: 2rem !important;
}

/* RIGHT PANEL */
#offcanvasEnd {
  background: transparent !important;
  position: relative !important;
}

#offcanvasEnd .offcanvas-body {
  position: relative !important;
  width: 100% !important;
  background: transparent !important;
}

/* tile grid base */
#offcanvasEnd .row.g-0 {
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
  margin: 0 !important;
}

#offcanvasEnd .row.g-0 > [class*="col-"] {
  padding: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

#offcanvasEnd .nav-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

#offcanvasEnd .card-img-overlay {
  inset: 0 !important;
}

#offcanvasEnd .items {
  display: block !important;
  text-align: left !important;
  text-wrap: balance;
  margin: 0 !important;
}

/* main clearfix for split intro layout */
body.home-intro-active main.main::after {
  content: "";
  display: block;
  clear: both;
}

/* MOBILE / TABLET default stack */
@media (max-width: 959.98px) {
  #offcanvasStart,
  #offcanvasEnd {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    float: none !important;
  }

  #offcanvasStart .offcanvas-body,
  #offcanvasEnd .offcanvas-body {
    min-height: auto !important;
  }
}

/* 540px–959px */
@media (min-width: 540px) and (max-width: 959.98px) {
  #offcanvasEnd .row.g-0 {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  #offcanvasEnd .row.g-0 > [class*="col-"] {
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    height: 220px !important;
    min-height: 220px !important;
  }

  #offcanvasEnd .card-img-overlay {
	inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 0.9rem 0.8rem !important;
  }

  #offcanvasEnd .items {
/*
	font-size: clamp(0.9rem, 1.45vw, 1.08rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em !important;
    font-weight: 600 !important;
    max-width: 92% !important;
    margin: 0 !important;
    text-align: left !important;
    text-wrap: balance;
*/
	font-size: clamp(1.05rem, 1.9vw, 1.25rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em !important;
    font-weight: 600 !important;
    max-width: 92% !important;
  }
}

/* 0px–539px */
@media (max-width: 539.98px) {
  #offcanvasEnd .row.g-0 {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  #offcanvasEnd .row.g-0 > [class*="col-"] {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    height: 180px !important;
    min-height: 180px !important;
  }

  #offcanvasEnd .card-img-overlay {
	inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 0.8rem 0.75rem !important;
  }

  #offcanvasEnd .items {
/*
	font-size: clamp(0.82rem, 3.2vw, 1rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.01em !important;
    font-weight: 600 !important;
    max-width: 94% !important;
    margin: 0 !important;
    text-align: left !important;
    text-wrap: balance;
*/
	font-size: clamp(0.98rem, 4.2vw, 1.2rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.01em !important;
    font-weight: 600 !important;
    max-width: 94% !important;
  }
}

/* DESKTOP: 960px+ split layout with full-height fill tiles */
@media (min-width: 960px) {
  body.home-intro-active #offcanvasStart,
  body.home-intro-active #offcanvasEnd {
    display: block !important;
    float: left !important;
    width: 50% !important;
  }

  body.home-intro-active #offcanvasStart,
  body.home-intro-active #offcanvasStart .offcanvas-body,
  body.home-intro-active #offcanvasEnd,
  body.home-intro-active #offcanvasEnd .offcanvas-body {
    min-height: 100vh !important;
  }

  body.home-intro-active #offcanvasStart .offcanvas-body {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 3.5rem 2.5rem 2.5rem !important;
  }

  body.home-intro-active #pageSections {
    clear: both !important;
    margin-left: 0 !important;
    transition: none !important;
  }

  body.home-intro-active #offcanvasEnd .row.g-0 {
    height: 100vh !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }

  body.home-intro-active #offcanvasEnd .nav-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.home-intro-active #offcanvasEnd .card-img-overlay {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: clamp(0.95rem, 1.2vw, 1.45rem) !important;
  }

  body.home-intro-active #offcanvasEnd .items {
    font-weight: 600 !important;
    text-align: left !important;
    letter-spacing: -0.015em !important;
    max-width: 90% !important;
    margin: 0 !important;
  }
}

/* 960px–1139px */
@media (min-width: 960px) and (max-width: 1139.98px) {
  body.home-intro-active #offcanvasEnd .row.g-0 > [class*="col-"] {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    height: 25vh !important;
    min-height: 0 !important;
  }

  body.home-intro-active #offcanvasEnd .items {
    font-size: clamp(1.08rem, 1.45vw, 1.45rem) !important;
    line-height: 1.08 !important;
  }
}

/* 1140px+ */
@media (min-width: 1140px) {
  body.home-intro-active #offcanvasEnd .row.g-0 > [class*="col-"] {
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    height: 25vh !important;
    min-height: 0 !important;
  }

  body.home-intro-active #offcanvasEnd .items {
    font-size: clamp(1.02rem, 1.12vw, 1.28rem) !important;
    line-height: 1.08 !important;
  }
}

/* small-screen menu refinement */
@media (max-width: 576px) {
  #globalMenu .offcanvas-header {
    padding: 1.25rem 1.25rem 0.9rem;
  }

  #globalMenu .list-group-item {
    font-size: 1.05rem !important;
    padding: 1.2rem 1.25rem !important;
  }
}