/* header.css -- everything governing #main-header, the top nav
   (#top-menu / #top-menu-nav / #et-top-navigation), the logo
   (.logo_container / #logo), and the mobile hamburger menu
   (#et_mobile_nav_menu / .mobile_nav / .mobile_menu_bar), plus the
   fixed/sticky header behavior (.et-fixed-header, data-height-onload).

   Faithfully re-extracted from the real WP export -- original Divi class
   names and values only, cross-referenced against the actual HTML/body
   classes of all 5 pages (et_header_style_left, et_fixed_nav, et_show_nav,
   et_fullwidth_nav, dipi-zoom-logo, dipi-mobile-menu-fullscreen,
   dipi-mobile-cta-button, dipi-cta-button are the only header-relevant
   toggles actually present; et_header_style_split/centered/slide,
   et_vertical_nav, et_boxed_layout, admin-bar, mega-menu, et_top_search,
   #et-secondary-nav etc. are never reachable on this site and are dropped).

   Sources, in real cascade order from the page <head>:
     1) wp-content/cache/wpo-minify (cache dir)/assets/wpo-minify-header-*.min.css
        (combined Divi core + child theme stylesheet)
     2) the page's inline <style> blocks, in their real DOM order:
        #global-hamburger-styles-css, #mobile-menu-fixed-header-css,
        #mobile-menu-fullscreen-css, #mobile-menu-hamburger-css,
        #mobile-menu-styles-css, #cta-button-styles,
        #mobile-cta-button-styles, #primary-menu-position,
        #top-header-bar-css, #primary-menu-styles-css,
        #dropdown-menu-styles-css (byte-identical across all 5 pages).

   Font-face rules dropped (fonts self-hosted separately, see fonts.css).
   No Complianz/Forminator selectors were reachable here to begin with. */


/* ---- 1) base stylesheet: wpo-minify-header bundle ---- */
body.dipi-zoom-logo .logo_container a #logo {
  transform: scale(1);
  transition: all .6s ease-in-out
}

body.dipi-zoom-logo .logo_container a:hover #logo {
  transform: scale(1.1)
}

.dipi-cta-button-effect-zoomin {
  transition: all .3s ease-in-out;
  transform: scale(1)
}

.dipi-cta-button-effect-zoomin:hover {
  transition: all .3s ease-in-out;
  transform: scale(1.1)
}

.hamburger {
  font: inherit;
  display: inline-block;
  overflow: visible;
  margin: 0;
  padding: 8px;
  cursor: pointer;
  transition-timing-function: linear;
  transition-duration: .15s;
  transition-property: opacity, filter;
  text-transform: none;
  color: inherit;
  border: 0;
  background-color: transparent
}

.hamburger:hover {
  opacity: .7
}

.hamburger-box {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 14px
}

.hamburger-inner {
  top: 50%;
  display: block;
  margin-top: -1px
}

.hamburger-inner,
.hamburger-inner:after,
.hamburger-inner:before {
  position: absolute;
  width: 20px;
  height: 2px;
  transition-timing-function: ease;
  transition-duration: .15s;
  transition-property: transform;
  border-radius: 4px;
  background-color: #000
}

.hamburger-inner:after,
.hamburger-inner:before {
  display: block;
  content: ""
}

.hamburger-inner:before {
  top: -6px
}

.hamburger-inner:after {
  bottom: -6px
}

.hamburger--slider .hamburger-inner {
  top: 1px
}

.hamburger--slider .hamburger-inner:before {
  top: 6px;
  transition-timing-function: ease;
  transition-duration: .15s;
  transition-property: transform, opacity
}

.hamburger--slider .hamburger-inner:after {
  top: 12px
}

#top-menu>li:last-of-type {
  padding-right: 0
}

.container {
  width: 80%;
  max-width: 1080px;
  margin: auto
}

@media (min-width:981px) {
  #main-content .container:before {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: #e2e2e2
  }

  .et_no_sidebar #main-content .container:before {
    display: none
  }
}

@media (max-width:980px) {
  #main-content .container:before {
    display: none !important
  }
}

.entry-content address {
  line-height: 24px;
  margin-bottom: 12px
}

#top-menu li {
  word-wrap: break-word
}

#top-menu li.current-menu-item>a,
.mobile_menu_bar:after,
.mobile_menu_bar:before {
  color: #2ea3f2
}

/* ---- real site override, verified against the raw source
   (wp-content/et-cache/47/et-core-unified-tb-26044679-47.min.css) --
   this near-black color (close to the nav's normal #2a2d36 text) is what
   actually replaces Divi's stock blue default above, which is why the
   current/active nav item barely differs from the others visually. ---- */
#top-menu li.current-menu-item>a,
#top-menu li.current_page_item>a {
  color: #1c1c1c
}

.et-fixed-header #top-menu li.current_page_item>a {
  color: #1c1c1c !important
}

#main-header {
  -webkit-transition: background-color .4s, color .4s, opacity .4s ease-in-out, -webkit-transform .4s;
  transition: background-color .4s, color .4s, opacity .4s ease-in-out, -webkit-transform .4s;
  transition: background-color .4s, color .4s, transform .4s, opacity .4s ease-in-out;
  transition: background-color .4s, color .4s, transform .4s, opacity .4s ease-in-out, -webkit-transform .4s
}

.container {
  text-align: left;
  position: relative
}

.et_fixed_nav.et_show_nav #page-container {
  padding-top: 80px
}

.et_fixed_nav #main-header {
  position: fixed
}

.et_header_style_left #et-top-navigation {
  padding-top: 33px
}

.et_header_style_left #et-top-navigation nav>ul>li>a {
  padding-bottom: 33px
}

.et_header_style_left .logo_container {
  position: absolute;
  height: 100%;
  width: 100%
}

.et_header_style_left #et-top-navigation .mobile_menu_bar {
  padding-bottom: 24px
}

#logo {
  width: auto;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
  margin-bottom: 0;
  max-height: 54%;
  display: inline-block;
  float: none;
  vertical-align: middle;
  -webkit-transform: translateZ(0)
}

.logo_container {
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out
}

span.logo_helper {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  width: 0
}

#top-menu,
#top-menu-nav {
  line-height: 0
}

#et-top-navigation {
  font-weight: 600
}

.et_fixed_nav #et-top-navigation {
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out
}

#top-menu,
nav#top-menu-nav {
  float: left
}

#top-menu li {
  display: inline-block;
  font-size: 14px;
  padding-right: 22px
}

#top-menu>li:last-child {
  padding-right: 0
}

#top-menu a {
  color: rgba(0, 0, 0, .6);
  text-decoration: none;
  display: block;
  position: relative;
  -webkit-transition: opacity .4s ease-in-out, background-color .4s ease-in-out;
  transition: opacity .4s ease-in-out, background-color .4s ease-in-out
}

#top-menu-nav>ul>li>a:hover {
  opacity: .7;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out
}

.container.et_menu_container {
  z-index: 99
}

#et-top-navigation {
  float: right
}

#top-menu li li {
  padding: 0 20px;
  margin: 0
}

#top-menu li li a {
  padding: 6px 20px;
  width: 200px
}

#et_mobile_nav_menu {
  float: right;
  display: none
}

.mobile_menu_bar:before {
  content: "a";
  font-size: 32px;
  left: 0;
  position: relative;
  top: 0;
  cursor: pointer
}

@media (min-width:981px) {
  #main-header.et-fixed-header {
    -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, .1) !important;
    box-shadow: 0 0 7px rgba(0, 0, 0, .1) !important
  }

  .et_header_style_left .et-fixed-header #et-top-navigation {
    padding-top: 20px
  }

  .et_header_style_left .et-fixed-header #et-top-navigation nav>ul>li>a {
    padding-bottom: 20px
  }

  .et_primary_nav_dropdown_animation_slide #et-top-navigation ul li:hover>ul {
    -webkit-animation: fadeLeft .4s ease-in-out;
    animation: fadeLeft .4s ease-in-out
  }

  .et_fullwidth_nav #main-header .container {
    width: 100%;
    max-width: 100%;
    padding-right: 32px;
    padding-left: 30px
  }
}

@media (max-width:980px) {
  .et_fixed_nav.et_show_nav #page-container {
    padding-top: 80px
  }

  #top-menu {
    display: none
  }

  #et-top-navigation {
    margin-right: 0;
    -webkit-transition: none;
    transition: none
  }

  .et_fixed_nav #main-header {
    position: absolute
  }

  .et_header_style_left #et-top-navigation,
  .et_header_style_left .et-fixed-header #et-top-navigation {
    padding-top: 24px;
    display: block
  }

  .et_fixed_nav #main-header {
    -webkit-transition: none;
    transition: none
  }

  #logo,
  #main-header,
  .container,
  .logo_container {
    -webkit-transition: none;
    transition: none
  }

  .et_header_style_left #logo {
    max-width: 50%
  }

  #et_mobile_nav_menu {
    display: block
  }
}

@media (max-width:767px) {
  #et-top-navigation {
    margin-right: 0
  }
}

@media (max-width:479px) {
  #et-top-navigation {
    margin-right: 0
  }
}

@media print {
  #main-header {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important
  }
}

.et_pb_button:after,
.mobile_menu_bar:before {
  font-family: ETmodules !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: 0 0;
  direction: ltr
}

#main-header {
  line-height: 23px;
  font-weight: 500;
  top: 0;
  background-color: #fff;
  width: 100%;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  position: relative;
  z-index: 99999
}

.mobile_menu_bar {
  position: relative;
  display: block;
  line-height: 0
}

.mobile_menu_bar:before {
  content: "a";
  font-size: 32px;
  position: relative;
  left: 0;
  top: 0;
  cursor: pointer
}

.et_pb_module .mobile_menu_bar:before {
  top: 2px
}

.mobile_nav .select_page {
  display: none
}

/* ---- 2) inline <style id="global-hamburger-styles-css"> ---- */
.mobile_nav .select_page {
  display: none !important;
}

#main-header .mobile_menu_bar:before {
  content: unset;
}

#main-content .mobile_menu_bar:before {
  content: unset !important;
}

@media all and (min-width: 981px) {
  .dipi_hamburger {
    display: none;
  }
}

/* ---- 3) inline <style id="mobile-menu-fixed-header-css"> ---- */
@media all and (max-width: 980px) {
  #main-header {
    position: fixed !important;
    display: flex;
    flex-direction: column;
    width: 100%;
    z-index: 9999999;
  }

  .et_menu_container {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    justify-content: center;
  }

  #et-top-navigation {
    display: flex !important;
    flex-direction: row;
    justify-content: flex-end;
  }
}

/* ---- 4) inline <style id="mobile-menu-fullscreen-css"> ---- */
@media all and (max-width: 980px) {
  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.opened:before {
    visibility: visible;
    background: #ffffff !important;
    opacity: 1;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.closed:before {
    visibility: hidden;
    background: transparent !important;
    opacity: 0;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav:before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    display: block;
    transition: all 1s !important;
    transition-timing-function: cubic-bezier(.79, .14, .15, .86) !important;
    opacity: 0;
    visibility: hidden;
    height: 120vh;
    top: -20vh;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.closed:before {
    transition-duration: .7s !important;
    transition-delay: .2s;
    transition-timing-function: cubic-bezier(.79, .14, .15, .86);
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.opened:before {
    transition-duration: .7s !important;
    transition-timing-function: cubic-bezier(.79, .14, .15, .86);
  }

  #main-header .mobile_menu_bar {
    z-index: 10001;
  }
}

/* ---- 5) inline <style id="mobile-menu-hamburger-css"> ---- */
#et_mobile_nav_menu .dipi_hamburger.hamburger {
  display: inline-block !important;
  float: none !important;
  line-height: 1em !important;
  background-color: #ffd095 !important;
  border-radius: 100px !important;
  padding-top: 12px !important;
  padding-bottom: 11px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.dipi_hamburger .hamburger-inner,
.dipi_hamburger .hamburger-inner:after,
.dipi_hamburger .hamburger-inner:before {
  background-color: #1c1c1c !important;
}

/* ---- 6) inline <style id="mobile-menu-styles-css"> ---- */
@media screen and (max-width: 980px) {
  #main-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 80px !important;
    background: #d1d3db !important;
  }

  .et_header_style_left .et-fixed-header #et-top-navigation,
  .et_header_style_left:not(.et_header_style_slide):not(.et_header_style_fullscreen) #et-top-navigation {
    padding-top: 0 !important;
  }

  .et_header_style_left:not(.et_header_style_slide):not(.et_header_style_fullscreen) #et-top-navigation .mobile_menu_bar {
    padding-bottom: 0 !important;
  }

  .et_header_style_left #logo {
    max-height: 0px !important;
    height: auto !important;
  }

  .et-l--header {
    height: 80px !important;
    background: #d1d3db !important;
  }

  .et_header_style_fullscreen #et-top-navigation {
    padding-bottom: 0 !important;
  }

  #main-header #et_top_search {
    margin: 0 35px 0 0;
  }

  #main-header #et_top_search #et_search_icon:before {
    top: 7px;
  }

  #top-header .container #et-info {
    width: 100% !important;
    text-align: center;
  }

  .et_header_style_split header#main-header #dipi_logo,
  .et_header_style_centered header#main-header #logo {
    max-height: 0px !important;
    height: auto !important;
    margin: 0 auto !important;
    width: auto;
  }

  header .et_mobile_menu {
    background: #ffffff !important;
    padding-right: 0px !important;
    padding-left: 0px !important;
  }

  header .et_mobile_menu:before {
    content: "";
    display: block;
    height: 80px !important;
  }

  header .et_mobile_menu:after {
    content: "";
    display: block;
    height: 20px !important;
  }

  header .et_mobile_menu li:not(:last-child) a {
    margin-bottom: 0px !important;
  }

  header .et_mobile_menu > li > a {
    text-align: center !important;
  }

  header .et-menu li {
    margin-bottom: 0px !important;
    text-align: center !important;
  }

  /* the pill-shaped mobile nav items (white background, fully rounded corners) */
  header .et_mobile_menu > li > a,
  header .et-menu > li > a {
    font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
    background-color: rgba(44, 61, 73, 0.03) !important;
    padding-top: 15px !important;
    padding-right: 10px !important;
    padding-bottom: 15px !important;
    padding-left: 10px !important;
    font-size: 16px !important;
    color: #383024 !important;
    letter-spacing: 0px !important;
    font-weight: 600;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #6b6e7a !important;
  }

  header .et_mobile_menu li.menu-item-has-children > a,
  header .et-menu li.menu-item-has-children > a {
    font-weight: 600 !important;
  }

  #main-header .et_mobile_menu li li,
  #main-header .et_mobile_menu li ul.sub-menu {
    padding-left: 0;
  }
}

/* ---- 7) inline <style> (unlabeled, right after mobile-menu-styles-css) ---- */
@media all and (max-width: 980px) {
  #et-top-navigation {
    display: flex !important;
  }
}

/* ---- 8) inline <style id="cta-button-styles"> (header CTA menu-item button) ---- */
.et-db #et-boc .et-l ul>li>a.dipi-cta-button,
header#main-header #et-top-navigation nav>ul>li>a.dipi-cta-button,
nav>ul>li>a.dipi-cta-button {
  opacity: 1 !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0px;
  color: #383024 !important;
  background-color: #ffd095;
  padding-top: 10px !important;
  padding-right: 20px !important;
  padding-bottom: 10px !important;
  padding-left: 20px !important;

  border-width: 2px !important;
  border-color: 0|0|0|0;
  border-radius: 0px !important;
  border-style: solid !important;

  transition: all .3s;
}

header#main-header .dipi-cta-button span:before,
header#main-header .dipi-cta-button span:after {
  position: relative;
  text-shadow: 0 0;
  font-family: ETmodules !important;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  speak: none;
}

.et-db #et-boc .et-l ul>li>a.dipi-cta-button:hover,
ul li a.dipi-cta-button:hover,
nav>ul>li>a.dipi-cta-button:hover,
header#main-header ul>li>a.dipi-cta-button:hover,
header#main-header #et-top-navigation nav>ul>li>a.dipi-cta-button:hover {
  color: #383024 !important;
  background-color: #ffd095 !important;
  border-color: 0|0|0|0 !important;
  padding-top: 10px !important;
  padding-right: 20px !important;
  padding-bottom: 10px !important;
  padding-left: 20px !important;
}

header#main-header .dipi-cta-button span {
  display: flex;
  align-items: center;
  justify-content: center;
}

header#main-header .et_pb_button.dipi-cta-button span:before {
  margin-right: 5px;
}

header#main-header .et_pb_button.dipi-cta-button span:after {
  margin-left: 5px;
}

header#main-header .dipi-cta-button-menu-item .et_pb_button:after,
header#main-header .dipi-cta-button-menu-item .et_pb_button:before {
  content: none !important;
}

header#main-header .et_pb_button.dipi-cta-button-icon-right span:after {
  content: "$";
  font-size: 15px;
}

header#main-header.et-fixed-header #et-top-navigation .dipi-cta-button {
  background-color: #ffd095 !important;
  border-color: 0|0|0|0 !important;
  color: #383024 !important;
}

header#main-header.et-fixed-header #et-top-navigation .dipi-cta-button:hover {
  background-color: #ffd095 !important;
  border-color: 0|0|0|0 !important;
  color: #383024 !important;
}

nav>ul>li>a.dipi-cta-button {
  margin-right: 0;
}

/* ---- 9) inline <style id="mobile-cta-button-styles"> ---- */
@media (max-width: 980px) {

  body.dipi-mobile-cta-button .dipi-cta-button,
  body.dipi-mobile-cta-button #main-header.et-fixed-header .dipi-cta-button {
    font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600 !important;
    font-size: 16px !important;
    letter-spacing: 0|0|0|0px !important;
    color: #383024 !important;
    background-color: #ffd095 !important;
    padding: 12px !important;
    border-style: solid;
    border-width: 1px !important;
    border-color: #6b6e7a !important;
    border-radius: 100px !important;
    transition: all .5s ease-in-out;
  }
}

/* ---- 10) inline <style id="primary-menu-position"> ---- */
@media screen and (min-width: 981px) {
  .et_header_style_left div#et-top-navigation {
    align-items: flex-start !important;
  }

  .et_header_style_left #et-top-navigation nav>ul>li>a {
    padding-bottom: 28.2px !important;
  }

  .et_header_style_left #et-top-navigation nav>ul>li>a {
    line-height: 1.7em;
  }

  .et_header_style_left div#et-top-navigation {
    display: flex;
    align-items: center;


    padding-top: 20px;
    padding-bottom: 1.8px;
  }

  .et_header_style_left .et-fixed-header #et-top-navigation {
    padding-top: 20px !important;
    padding-bottom: 1.8px !important;
  }

  .et_header_style_left .et-fixed-header #et-top-navigation nav>ul>li>a {
    padding-bottom: 28.2px !important;
  }

  #top-menu li:not(.mega-menu) ul {
    width: 240px !important;
  }

  #top-menu li li a {
    width: 100% !important;
  }

  #top-menu li li {
    width: 100%;
  }
}

/* ---- 11) inline <style id="top-header-bar-css"> ---- */
@media (max-width: 980px) {
  #main-header {
    transition: transform 0.4s, opacity 0.4s ease-in-out, -webkit-transform 0.4s !important;
  }
}

/* ---- 12) inline <style id="primary-menu-styles-css"> ---- */
#top-menu li {
  padding-right: 31px !important;
}

#top-menu li:hover {
  transition: all .3s ease-in-out;
}

.et-fixed-header #top-menu li {
  padding-right: 0|0|0|0px !important;
  transition: all .3s ease-in-out;
}

#top-menu a {
  text-transform: uppercase !important;
  font-weight: 700;
}

#top-menu a:hover {
  color: #383024;
  opacity: 1 !important;
}

.et-fixed-header ul#top-menu li a:hover {
  color: #383024 !important;
}

/* ---- 13) inline <style id="dropdown-menu-styles-css"> ---- */
#top-menu.nav li ul li.current-menu-item a,
#top-menu.nav li ul a {
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0px !important;
  color: 0|0|0|0 !important;
  transition: all .2s ease-in-out !important;
}

#top-menu.nav li ul li.current-menu-item a:hover,
#top-menu.nav li ul a:hover {
  color: 0|0|0|0 !important;
  letter-spacing: 0px !important;
  background: 0|0|0|0 !important;
  transition: all .2s ease-in-out;
}

/* ---- 14) merged from assets/vendor/css/dipi-menu-hover-styles.css ----
   That file defines 12 alternate nav hover-animation styles (three_dots,
   filled_background, slide_up_below, slide_down_below, grow_*, bracketed_*),
   selected via a body class. Only `slide_down_below` ever appears in this
   theme's body class (see default.htm / home-direct.htm) -- confirmed by
   grepping the whole theme -- so the other 11 variants are dead and were
   dropped. nav-underline.js wraps each nav-link's text in a <span> so these
   `> span` selectors have something to animate. */
#top-menu li a,
.et_pb_menu__menu > nav > ul > li a {
  transition: all .3s ease-in-out;
}

#top-menu li > a > span,
.et_pb_menu__menu > nav > ul > li a > span {
  position: relative;
}

.slide_down_below #top-menu > li:not(.menu-item-has-children):not(.dipi-cta-button-menu-item) a > span:after,
.slide_down_below .et_pb_menu__menu > nav > ul > li:not(.menu-item-has-children):not(.dipi-cta-button-menu-item) a > span:after {
  content: '';
  display: block;
  background: #ffd095;
  width: 100%;
  height: 2px;
  left: 0;
  position: absolute;
  top: 15px;
  transition: all .3s ease-in-out;
  opacity: 0;
  border-radius: 0px;
}

.slide_down_below #top-menu li.current-menu-ancestor > a > span:after,
.slide_down_below .et_pb_menu__menu > nav > ul > li.current-menu-ancestor > a > span:after,
.slide_down_below #top-menu > li:not(.menu-item-has-children):not(.dipi-cta-button-menu-item):not(.centered-inline-logo-wrap):hover a > span:after,
.slide_down_below .et_pb_menu__menu > nav > ul > li:not(.menu-item-has-children):not(.dipi-cta-button-menu-item):not(.centered-inline-logo-wrap):hover a > span:after {
  top: calc(15px + 5px) !important;
  opacity: 1 !important;
}

.slide_down_below .et-fixed-header #top-menu li.current-menu-ancestor > a > span:after,
.slide_down_below .et-fixed-header #top-menu > li:not(.menu-item-has-children):not(.dipi-cta-button-menu-item) > a > span:after {
  background-color: rgba(237, 234, 227, 0.73) !important;
}

/* ---- initial fallback for the JS-measured header height ----
   The original Divi site measures #main-header's rendered height with core
   frontend JS and writes it back as an inline pixel style (consumed by
   #logo's `data-height-percentage="62"` attribute) so that `.logo_container`
   and `#logo`'s percentage-based height rules above have something concrete
   to resolve against. #main-header is otherwise left with no explicit height and the
   percentages below silently fail to resolve (falling back to the logo
   image's native 171px attribute height -- this was the actual cause of
   the header rendering far too tall).

   89.3906px is the real measured desktop header height (confirmed against
   the live original site). It is retained as the first-paint fallback; once
   the navigation is ready, sticky-header.js replaces it with the measured
   value (about 102px in the narrow desktop/hamburger breakpoint). Setting
   the fallback here lets
   `.et_header_style_left .logo_container { height: 100% }` and
   `#logo { max-height: 54% }` above resolve before that measurement. */
#main-header {
  --glyptic-desktop-header-min-height: 89.3906px;
  height: var(--glyptic-desktop-header-min-height);
}

/* sticky-header.js briefly removes the sticky state while it measures the
   natural header. Suppress transitions so that read is deterministic and the
   temporary state can never be painted between animation frames. */
#main-header.glyptic-header-measuring,
#main-header.glyptic-header-measuring * {
  transition: none !important;
}

.et_header_style_left .et_mobile_menu.et_mobile_menu {
  top: 90px;
}

.mobile_nav.opened .et_mobile_menu {
  display: block;
}

/* Hamburger-to-X transform on ".is-active" -- dropped by the initial CSS
   prune since the hamburger's real markup (.hamburger--slider) wasn't wired
   into header.htm yet at prune time, so nothing in the DOM matched it. */
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 6px, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner:before {
  transform: rotate(-45deg) translate3d(-2.85714px, -4px, 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner:after {
  transform: translate3d(0, -12px, 0) rotate(-90deg);
}

/* #main-header is always position:fixed (et_fixed_nav/et_show_nav are static
   body classes here, not scroll-toggled), so in-page anchor links -- the nav's
   #reference/#omne/#kontakt and the hero's #sluzby buttons -- need this offset
   or their target's heading lands underneath the header. */
#reference,
#omne,
#sluzby,
#kontakt {
  scroll-margin-top: var(--glyptic-header-height, 89.3906px);
}

/* ---- merged from assets/vendor/css/head-styles-after-wpo-header.css ----
   That file was linked directly as a stopgap (see the mobile-menu-fullscreen
   comment above) because it carries mobile-menu rules never fully ported
   into this file: the circle-expand reveal (.dipi-menu-background-animation-circle)
   and slide-in variants actually used by header.htm's markup
   (mobile_nav classes include dipi-menu-background-animation-circle and
   dipi-menu-animation-slide-bottom on the real site), plus the opened-menu
   scrollbar/max-height rules and #top-header's own font block. Everything
   below is only the subset of that vendor file not already covered above
   (duplicate/simplified-selector CTA-button, dropdown-menu, and top-menu
   padding rules were dropped as redundant; unreachable blog/archive-page and
   image-overlay-icon rules -- this site has neither -- were dropped as dead). */

body.dipi-mobile-menu-fullscreen {
  overflow-x: hidden;
}

body.custom-background {
  background-color: #ffffff;
}

#top-header {
  font-family: "none", sans-serif;
  font-size: 20px !important;
  letter-spacing: 0px !important;
}

@media all and (max-width: 980px) {
  #main-header,
  .et-l--header,
  #top-header {
    position: fixed !important;
    display: flex;
    flex-direction: column;
    width: 100%;
    z-index: 9999999;
  }

  .dipi-fixed-header {
    top: 0px !important;
  }

  .et_mobile_menu {
    max-height: calc(100vh - 120px);
    overflow: auto;
  }

  body.dipi-mobile-menu-fullscreen #main-header #mobile_menu,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu .et_mobile_menu {
    top: 0;
    min-height: 100vh;
    background: transparent !important;
    border-top: none !important;
    box-shadow: none !important;
    list-style: none;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.opened ul.et_mobile_menu,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu .mobile_nav.opened ul.et_mobile_menu {
    opacity: 1;
    transition: all 1s;
    transition-timing-function: cubic-bezier(.79, .14, .15, .86);
    max-height: 100vh;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.opened ul.et_mobile_menu::-webkit-scrollbar,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu .mobile_nav.opened ul.et_mobile_menu::-webkit-scrollbar {
    display: none;
  }

  body.dipi-mobile-menu-fullscreen #main-header .et_pb_sticky_placeholder .mobile_nav,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_pb_sticky_placeholder .mobile_nav {
    pointer-events: none;
  }

  /* circle-expand reveal -- confirmed live: header.htm's mobile_nav carries
     the dipi-menu-background-animation-circle class alongside .opened/.closed */
  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.dipi-menu-background-animation-circle:before,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu.dipi-menu-background-animation-circle .mobile_nav:before {
    position: absolute;
    top: calc(20px - 50vh);
    right: calc(20px - 50vh);
    bottom: auto;
    left: auto;
    height: 100vh;
    width: 100vh;
    transform-origin: 50% 50%;
    border-radius: 50%;
    background: #ffffff !important;
    transition-property: transform;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.dipi-menu-background-animation-circle.closed:before,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu.dipi-menu-background-animation-circle .closed:before {
    opacity: 0;
    visibility: visible;
    transform: scale(0);
    will-change: transform;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.dipi-menu-background-animation-circle.closed.animate:before,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu.dipi-menu-background-animation-circle .closed.animate:before {
    opacity: 1;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.dipi-menu-background-animation-circle.opened:before,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu.dipi-menu-background-animation-circle .opened:before {
    transform: scale(4.8);
    position: fixed;
    transition-duration: .8s !important;
  }

  body.dipi-mobile-menu-fullscreen #main-header .mobile_nav.dipi-menu-background-animation-circle.closed:before,
  body.dipi-mobile-menu-fullscreen .et-l--header .et_mobile_nav_menu.dipi-menu-background-animation-circle .closed:before {
    transition-duration: .5s !important;
  }

  /* slide-in variants -- confirmed live: header.htm's mobile_nav also carries
     dipi-menu-animation-slide-bottom */
  .dipi-menu-animation-slide-left.closed #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-left .closed ul.et_mobile_menu {
    transform: translateX(-120%);
  }

  .dipi-menu-animation-slide-left.opened #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-left .opened ul.et_mobile_menu {
    transform: translateX(0);
  }

  .dipi-menu-background-animation-slide-left.closed:before,
  .et-l--header .dipi-menu-background-animation-slide-left .closed:before {
    transform: translateX(-100%);
  }

  .dipi-menu-background-animation-slide-left.opened:before,
  .et-l--header .dipi-menu-background-animation-slide-left .opened:before {
    transform: translateX(0);
  }

  .dipi-menu-animation-slide-right.closed #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-right .closed ul.et_mobile_menu {
    transform: translateX(120%);
  }

  .dipi-menu-animation-slide-right.opened #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-right .opened ul.et_mobile_menu {
    transform: translateX(0);
  }

  .dipi-menu-background-animation-slide-right.closed:before,
  .et-l--header .dipi-menu-background-animation-slide-right .closed:before {
    transform: translateX(100%);
  }

  .dipi-menu-background-animation-slide-right.opened:before {
    transform: translateX(0);
  }

  .dipi-menu-animation-slide-bottom.closed #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-bottom .closed ul.et_mobile_menu {
    transform: translateY(120%);
  }

  .dipi-menu-background-animation-slide-bottom.closed:before,
  .et-l--header .dipi-menu-background-animation-slide-bottom .closed:before {
    transform: translateY(100%);
  }

  .dipi-menu-animation-slide-bottom.opened #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-bottom .opened ul.et_mobile_menu,
  .dipi-menu-background-animation-slide-bottom.opened:before,
  .et-l--header .dipi-menu-background-animation-slide-bottom .opened:before {
    transform: translateY(0);
  }

  .dipi-menu-animation-slide-top.closed #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-top .closed ul.et_mobile_menu {
    transform: translateY(-120%);
  }

  .dipi-menu-background-animation-slide-top.closed:before,
  .et-l--header .dipi-menu-background-animation-slide-top .closed:before {
    transform: translateY(-100%);
  }

  .dipi-menu-animation-slide-top.opened #mobile_menu,
  .et-l--header .dipi-menu-animation-slide-top .opened ul.et_mobile_menu,
  .dipi-menu-background-animation-slide-top.opened:before,
  .et-l--header .dipi-menu-background-animation-slide-top .opened:before {
    transform: translateY(0);
  }

  .dipi-menu-animation-grow.closed #mobile_menu,
  .dipi-menu-background-animation-grow.closed:before,
  .et-l--header .dipi-menu-animation-grow .closed ul.et_mobile_menu,
  .et-l--header .dipi-menu-background-animation-grow .closed:before {
    transform: scale(.5);
    opacity: 0;
    visibility: hidden;
  }

  .dipi-menu-animation-grow.opened #mobile_menu,
  .et-l--header .dipi-menu-animation-grow .opened ul.et_mobile_menu,
  .dipi-menu-background-animation-grow.opened:before,
  .et-l--header .dipi-menu-background-animation-grow .opened:before {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
  }

  .dipi-menu-animation-fade.closed #mobile_menu,
  .et-l--header .dipi-menu-animation-fade .closed ul.et_mobile_menu,
  .dipi-menu-background-animation-fade .closed:before {
    opacity: 0;
    visibility: hidden;
  }

  .dipi-menu-animation-fade.opened #mobile_menu,
  .et-l--header .dipi-menu-animation-fade .opened .et_mobile_menu,
  .dipi-menu-background-animation-fade.opened:before {
    opacity: 1;
    visibility: visible;
  }

  .mobile_nav.closed #mobile_menu,
  .et-l--header .mobile_nav.closed ul.et_mobile_menu {
    transition-duration: .5s;
  }

  .mobile_nav.opened #mobile_menu,
  .et-l--header .mobile_nav.opened ul.et_mobile_menu {
    transition-duration: .5s;
    transition-delay: .2s !important;
  }

  .mobile_nav #mobile_menu,
  .et-l--header .mobile_nav .et_mobile_menu {
    display: block !important;
    position: absolute;
    z-index: 9998;
    width: 100%;
  }

  .mobile_nav:not(.opened) #mobile_menu,
  .et-l--header .mobile_nav:not(.opened) .et_mobile_menu {
    pointer-events: none;
  }
}
