/* Mobile fit fix: remove white border / white bars / horizontal scroll,
   black mobile menu button, keep tracking search form inside its box. */
html,
body {
  overflow-x: hidden !important;
  width: 100%;
  max-width: 100%;
}
body {
  position: relative;
}
/* Keep every major section inside the viewport (prevents right-side white bar). */
.Site,
.Site-inner,
.Content-outer,
.Index,
.Footer,
.Footer-inner,
.Header-inner,
.Index-page,
.Index-page-content,
.sqs-layout,
.sqs-row {
  max-width: 100vw !important;
}
/* Parallax / hero images are sized with JS fixed pixel widths - keep wrappers
   clipping so they can never widen the page. */
.Index-page-image,
.Parallax-item,
.Parallax-host,
.Parallax-host-outer,
.image-block-wrapper {
  overflow: hidden !important;
  max-width: 100% !important;
}
.sqs-block-content img:not(.thumb-image),
.Footer img,
.Header-branding-logo,
.Mobile-bar-branding-logo,
.img-responsive {
  max-width: 100% !important;
  height: auto !important;
}
center {
  max-width: 100%;
}
.odm_extension,
iframe[src*="getbuttonio"],
iframe[src*="tawk"],
iframe[src*="smartsupp"],
iframe[src*="jivosite"] {
  max-width: 100vw !important;
}
.banner-silder,
.jislider,
.events,
.banner-bottom,
.footer {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
/* Black mobile menu button, Squarespace mobile bar (top-right). */
.Mobile-bar--top [data-nc-container="top-right"] {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.Mobile-bar-menu {
  background: #000 !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 9px 11px !important;
  line-height: 0 !important;
  stroke: #fff !important;
  fill: #fff !important;
  color: #fff !important;
  cursor: pointer;
}
.Mobile-bar-menu .Icon,
.Mobile-bar-menu svg,
.Mobile-bar-menu use {
  stroke: #fff !important;
  fill: #fff !important;
  display: none;
}
.Mobile-bar-menu .Icon--hamburger {
  display: block !important;
  width: 24px !important;
  height: 18px !important;
}
/* Black mobile menu button, Bootstrap navbar (top). */
.navbar-default .navbar-toggle {
  background: #000 !important;
  border-color: #000 !important;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background: #222 !important;
  border-color: #222 !important;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #fff !important;
}
/* Tracking search form stays inside its box. */
#userForm {
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  -webkit-box-sizing: border-box !important;
  -moz-box-sizing: border-box !important;
  box-sizing: border-box !important;
}
#userForm .search-bar {
  width: 100% !important;
  max-width: 100% !important;
  -webkit-box-sizing: border-box !important;
  -moz-box-sizing: border-box !important;
  box-sizing: border-box !important;
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}
#userForm .mob-track {
  min-width: 0 !important;
  -webkit-box-flex: 1 !important;
  -ms-flex: 1 1 200px !important;
  flex: 1 1 200px !important;
}
#userForm .form-control,
#userForm .input-group,
#userForm input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
  -webkit-box-sizing: border-box !important;
  -moz-box-sizing: border-box !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}
@media screen and (max-width: 500px) {
  #userForm {
    padding: 0 12px !important;
  }
  #userForm .search-bar {
    padding: 16px !important;
    gap: 10px !important;
  }
  #userForm .mob-track {
    -ms-flex-preferred-size: 100% !important;
    flex-basis: 100% !important;
  }
  #userForm #send {
    width: 100% !important;
    text-align: center;
  }
}
