.siteLayoutWrapper {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 0; overflow: auto;
  background-color: var(--background-color);
}
.siteLayout {
  --site-left-sidebar-width: 300px;
  --site-right-sidebar-width: 300px;
  --site-header-height: 84px;
  --brand-text-yellow: #FBC800;
  --brand-text-green: #009933;
  --brand-background-green: #A6FFA6;
  --brand-background-green-lighter: #BFFFBF;
  --hero-background: var(--background-gray);
}
.siteLayout .siteNavBarWrapper {
  background: linear-gradient(to top, white, #f9f9f9);
  border-bottom: none !important;
  overflow: hidden;
}
.siteLayout .boldHeader {
  text-align: center;
  font-size: 48px;
  font-weight: bold;
  color: var(--text-color-dark);
  margin: 0;
}
.lg-l .siteLayout .boldHeader {
  font-size: 42px;
}
.sm-l .siteLayout .boldHeader {
  font-size: 36px;
}
.xs-l .siteLayout .boldHeader {
  font-size: 32px;
}
.sm-l .siteLayout .subHeading {
  font-size: 16px !important;
}
.xs-l .siteLayout .subHeading {
  font-size: 14px !important;
}
.siteLayout .subHeading {
  font-size: 18px;
  color: var(--text-color);
  margin: 0
}
.siteLayout .grayLinks a {
  color: var(--text-color-selected);
  text-decoration: none;
  transition: color 0.2s;
  display: block;
}
.siteLayout .grayLinks a:hover {
  color: var(--text-color-dark);
}
.siteLayout a.selected {
  text-decoration: none;
  font-weight: bold;
}
.siteLayout .siteNavBar {
  min-height: var(--site-header-height);
  margin: 0 auto;
  padding: 18px 20px;
}
.md-g .siteLayout .siteNavBarLogo {
  height: 30px;
  margin-top: -5px;
}
.sm-l .siteLayout .siteNavBarLogo {
  height: 27px;
}
.md-g .siteLayout .siteNavBar .showFlexBasis {
  flex-basis: 225px;
}
.siteLayout .pageContent {
  max-width: min(1280px, 90%);
  margin: 0 auto;
  padding: 60px 0 60px 0;
  min-height: 350px;
}
.sm-l .siteLayout .pageContent {
  max-width: 90%;
}
.siteLayout .footerTop {
  padding-bottom: 25px;
}
.siteLayout .footerWrapper {
  border-top: 1px solid var(--border-divider-color);
  margin-top: auto;
}
.siteLayout .footer {
  max-width: 1280px;
  width: 90%;
  padding: 38px 0;
}
.siteLayout .footerGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}
.siteLayout .footerGroup {
  gap: 12px;
}
.siteLayout .footerGroup h3 {
  color: var(--text-color-dark);
  font-size: 16px;
  font-weight: bold;
}
.siteLayout .footerBottom {
  border-top: 1px solid var(--border-divider-color);
  margin-top: 40px;
  padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.siteLayout .footerLegal {
  gap: 24px;
}
.md-l .siteLayout .footerGrid {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.sm-l .siteLayout .footerGrid {
  grid-template-columns: 1fr;
}
.xs-l .siteLayout .footerLegal {
  flex-wrap: wrap;
  justify-content: center;
}
.sm-l .siteLayout .footerBottom {
  flex-direction: column;
  gap: 24px;
  text-align: center;
}
.mobileNavDetails summary {
  list-style: none;
  position: relative;
  z-index: 1001; 
}
.mobileNavDetails summary::-webkit-details-marker {
  display: none;
}
.mobileNavPanel {
  background-color: var(--background-color);
  position: fixed;
  top: var(--site-header-height);
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: calc(100vh - var(--site-header-height));
  z-index: 1000;
  overflow-y: auto;
}
.mobileNavLinks {
  padding: 16px 20px;
}
.mobileNavItem {
  display: flex;
  align-items: center;
  padding: 12px 0;
  text-decoration: none;
  font-size: 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.mobileNavItem.subitem {
  padding-left: 16px;
  font-size: 14px;
}
.mobileNavButtons {
  padding: 0 16px;
}
.siteLayoutWrapper:has(.mobileNavDetails[open]) {
  overflow: hidden !important;
}
.takeoffPhoneIconWrapper {
  color: var(--text-color);
  margin-right: 10px;
}
.takeoffPhoneSmall {
  display: none;
  margin-bottom: 10px;
}
@media (max-width: 389px) {
  .takeoffPhoneIconWrapper {
    display: none;
  }
  .takeoffPhoneSmall {
    display: inherit;
  }
  .takeoffPhoneSmall a {
    color: var(--text-color);
  }
  .siteNavBar {
    min-height: 60px !important;
    padding-top: 0px !important;
    padding-bottom: 5px !important;
  }
}
.takeoffPhoneIcon {
  width: 18px;
  height: 18px;
}
.md-l .takeoffPhoneIconWrapper {
  margin-right: 0;
}
.md-l .takeoffPhoneIcon {
  width: 26px;
  height: 26px;
}
.sm-l .takeoffPhoneIcon {
  margin-right: 6px;
}
.sm-l .logoDiv {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.mobileLogoPhone {
  margin-top: 4px;
  font-size: 13px;
  color: var(--text-color);
  text-decoration: none;
}