/* Converted from SCSS: hero_section */
.hero_section {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: var(--ths-section-spacing) 0;
  background-color: var(--ths-grey);
}
.hero_section .main_image,
.hero_section div.image_mobile img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  object-fit: cover;
}
@media (max-width: 899px) {
  .hero_section .main_image,
  .hero_section div.image_mobile img { display: none; }
}
.hero_section img.image_mobile,
.hero_section div.image_mobile img { display: none; }
@media (max-width: 899px) {
  .hero_section img.image_mobile,
  .hero_section div.image_mobile img { display: block; }
}
.hero_section img.image_mobile { width: 100%; margin-bottom: 30px; }
.hero_section img.image_mobile.has_bg_video { display: none; }
.hero_section .main_image,
.hero_section .image_mobile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero_section .main_image.Top,
.hero_section .image_mobile img.Top { object-position: center 10%; }
.hero_section .main_image.Bottom,
.hero_section .image_mobile img.Bottom { object-position: center bottom; }
.hero_section .main_image.Center,
.hero_section .image_mobile img.Center { object-position: center; }
.hero_section .main_image.Right,
.hero_section .image_mobile img.Right { object-position: right; }
.hero_section .main_image.Left,
.hero_section .image_mobile img.Left { object-position: left; }
.hero_section .video-background-wpr {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hero_section .video-background-wpr iframe {
  position: absolute;
  width: 200%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 1500px) { .hero_section .video-background-wpr iframe { width: 100%; height: 120%; } }
@media (min-width: 1600px) { .hero_section .video-background-wpr iframe { height: 142%; } }
@media (max-width: 899px) { .hero_section .video-background-wpr iframe { width: 200vh; } }
.hero_section .bg_video_wpr { position: absolute; width: 100%; height: 100%; top: 0; left: 0; overflow: hidden; }
.hero_section .bg_video_wpr .bg_video { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; min-width: 100%; min-height: 100%; object-fit: cover; object-position: center; transform: translate(-50%, -50%); }
.hero_section .overlay { position: absolute; width: 100%; height: 100%; top: 0; right: 0; z-index: 2; pointer-events: none; }
.hero_section .container-fluid { display: flex; }
.hero_section .container-fluid .wpr { position: relative; z-index: 3; width: 100%; }
@media (max-width: 899px) {
  .hero_section:not(.separate) { height: auto; padding: calc(var(--ths-section-spacing) / 2) 0; }
}
.hero_section:not(.separate).Small { min-height: 500px; }
@media (max-width: 899px) { .hero_section:not(.separate).Small { min-height: 350px; } }
.hero_section:not(.separate).Large { min-height: 850px; }
@media (max-width: 899px) { .hero_section:not(.separate).Large { min-height: 90vh; } }
.hero_section:not(.separate).Full { min-height: 100vh; }
@media (min-height: 1500px) { .hero_section:not(.separate).Full { min-height: auto; height: 100vh; max-height: 1500px; } }
@media (min-width: 900px) {
  .hero_section.separate.Small { min-height: 500px; }
  .hero_section.separate.Large { min-height: 850px; }
  .hero_section.separate.Full { min-height: 100vh; }
}
@media (min-height: 1500px) { .hero_section.separate.Full { min-height: auto; height: 100vh; max-height: 1500px; } }
@media (max-width: 899px) {
  .hero_section.separate { padding: 0 0 30px; }
  .hero_section.separate .bg_video_wpr { position: relative; padding-bottom: 50%; margin-bottom: 30px; }
}
