/* Shared chrome on top of extracted Divi CSS */

@font-face {
  font-family: ETmodules;
  src: url("/assets/fonts/modules.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.dipi_balloon_inner.is-open,
.dipi_balloon_inner.is-open .et_pb_section,
.dipi_balloon_inner.is-open .et_pb_section.dipi_balloon-inner,
.dipi_balloon_inner.is-open .dipi_balloon {
  background: transparent !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.dipi_balloon_inner.is-open {
  pointer-events: auto;
  filter: none;
}
.dipi_balloon_inner.is-open .dipi-balloon-wrap {
  background: #fff !important;
  border-radius: 10px;
  overflow: visible;
  box-shadow: 0 18px 40px rgb(0 0 0 / 0.22);
  box-sizing: border-box;
  width: max-content;
  max-width: calc(100vw - 24px);
  min-width: min(560px, calc(100vw - 24px));
  padding: 32px 40px !important;
}
.dipi_balloon_inner.is-open .dipi_balloon_2_tb_header .dipi-balloon-wrap,
.dipi_balloon_inner.is-open .dipi_balloon_5_tb_header .dipi-balloon-wrap {
  min-width: min(880px, calc(100vw - 24px));
}
.dipi_balloon_inner.is-open .et_pb_row {
  width: 100% !important;
  max-width: none !important;
}
.dipi_balloon_inner.is-open .et_pb_text_inner a,
.dipi_balloon_inner.is-open .et_pb_text_inner p,
.dipi_balloon_inner.is-open .entry-title {
  white-space: nowrap;
}
.dipi_balloon_inner.is-open a { color: #001c4c; }
.vbb-balloon-arrow {
  position: absolute;
  top: -8px;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #fff;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}

.et_pb_section_parallax { position: relative; }
.et_parallax_bg_wrap {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.et_parallax_bg {
  position: absolute;
  left: 0; right: 0;
  top: -40%;
  height: 180%;
  background-size: cover;
  background-position: center;
  will-change: transform;
}

/* Divi sets .et_animated { opacity:0 } until its JS runs. We never load that JS. */
.et_animated,
.et_pb_module.et_animated,
.et_pb_row.et_animated,
.et_pb_section.et_animated {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transform: none !important;
}

/* Hero video under the menu/logo, not over them. */
.et_pb_section_1_tb_header {
  position: relative;
  overflow: visible;
}
.et_pb_section_video_bg {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none;
}
.et_pb_section_video_bg video {
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: 0 !important;
  pointer-events: none;
}
.et_pb_section_1_tb_header:before {
  z-index: 1 !important;
  pointer-events: none !important;
}
.et_pb_section_1_tb_header > .et_pb_row,
.et_pb_section_1_tb_header .et_pb_row {
  position: relative !important;
  z-index: 30 !important;
}
.et_pb_menu,
.et_pb_menu_0_tb_header {
  position: relative;
  z-index: 31 !important;
}
.et_pb_preload { opacity: 1 !important; }

/* Weather hover panel */
.et_pb_code_1_tb_header { overflow: visible !important; z-index: 32; }
.wwf { z-index: 100002; }

/* GTranslate flags: live injects into .lang-sel as a column on the right */
.lang-sel,
.et_pb_text_0_tb_header.lang-sel {
  z-index: 33 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
  width: auto !important;
  min-height: 0 !important;
  background: transparent !important;
}
.lang-sel a.glink img,
.lang-sel img {
  display: block !important;
  width: 24px;
  height: 24px;
}
.gt_switcher_wrapper { display: none !important; }

/* Footer social: ETmodules glyphs */
.et_pb_social_media_follow .icon:before,
.et_pb_social_icon a.icon:before {
  font-family: ETmodules, "ETmodules" !important;
  speak: none;
}

.vbb-inner-header {
  background: #001c4c;
  padding: 0.35rem 0 0.8rem;
}
.vbb-inner-header .et_pb_menu__logo img {
  max-height: 72px;
  width: auto;
}

@media (prefers-reduced-motion: reduce) {
  .et_parallax_bg { transform: none !important; top: 0; height: 100%; }
  .et_pb_section_video_bg video { display: none !important; }
}
