body {
  overflow-x: initial;
}

body.body-overlay {
  position: relative;
}

body.body-overlay:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  background-color: var(--dark-purple-100);
  opacity: 0.4;
  height: 100%;
  width: 100%;
  z-index: 11;
}

header.site-header {
  background: var(--white-100);
  position: sticky;
  top: 0;
}

header.site-header.header-with-bg {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

header.site-header .section_nav_wrapper .top-nav-wrapper {
  background-color: var(--dark-purple-100);
}

header.site-header
  .section_nav_wrapper
  .top-nav-wrapper
  .utility-menu
  .search-open-with-item {
  max-width: 1240px;
  margin: auto;
  padding-right: 60px;
  position: relative;
}

header.site-header
  .section_nav_wrapper
  .top-nav-wrapper
  .utility-menu
  .search-opener {
  position: absolute;
  right: 0;
  top: -1px;
  padding: 16px 23px;
}

header.site-header
  .section_nav_wrapper
  .top-nav-wrapper
  .utility-menu
  .search-opener
  img {
  vertical-align: middle;
}

header.site-header
  .section_nav_wrapper
  .top-nav-wrapper
  .utility-menu
  nav
  ul.menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: flex-end;
}

header.site-header
  .section_nav_wrapper
  .top-nav-wrapper
  .utility-menu
  nav
  ul.menu
  li
  a {
  color: var(--white-100);
  font-size: 15px;
  line-height: 22px;
  font-weight: 600;
  padding: 19px 15px;
  display: block;
  font-family: var(--ZirkelBold-700);
}

header.site-header .section_nav_wrapper .top-navigation .container {
  max-width: 1240px;
  padding: 0;
}

header.site-header .section_nav_wrapper .top-navigation .site-title-wrap {
  max-width: 15%;
}

header.site-header .section_nav_wrapper .top-navigation .top-navigation-right {
  max-width: 85%;
}

@media (min-width: 1024px) {
  header.site-header
    .section_nav_wrapper
    .top-navigation
    .top-navigation-right {
    margin-top: 5px;
  }
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li {
  padding: 0 8px !important;
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  a {
  font-size: 18px;
  line-height: 21px;
  color: var(--black-100);
  font-family: var(--ZirkelMedium-500);
  position: relative;
  outline: none;
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  > a:hover {
  text-shadow: 0.4px 0px #000;
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li.current-menu-item
  > a {
  font-family: var(--ZirkelBold-700);
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li.current-menu-item
  > a:before,
header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li.current-menu-parent.current-menu-ancestor
  > a:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  height: 3px;
  width: 100%;
  transform: translate(-50%, 0%);
  background-color: var(--dark-orange-100);
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  ul.sub-menu
  li.current-menu-item
  > a:before {
  display: none;
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .container
  .top-navigation-right
  nav
  ul.menu
  li
  .sub-menu
  li.current-menu-item
  > a {
  text-decoration: underline;
  text-underline-offset: 7px;
  text-decoration-color: var(--dark-orange-100);
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .container
  .top-navigation-right
  nav
  ul.menu
  li
  .sub-menu
  li.current-menu-item
  > a:hover {
  text-decoration-color: var(--dark-orange-100);
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  .sub-menu {
  background: var(--dark-purple-100);
  box-shadow: 0px 4px 4px 0px rgba(14, 14, 14, 0.3);
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  .sub-menu:before {
  border-bottom: 8px solid var(--dark-purple-100);
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  .sub-menu
  li
  a {
  color: var(--white-100);
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  .sub-menu
  li:first-child
  a {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

header.site-header
  .section_nav_wrapper
  .top-navigation
  .top-navigation-right
  nav
  ul.menu
  li
  .sub-menu
  li:last-child
  a {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

header.site-header .section_nav_wrapper .search-inner-wrap {
  padding: 22px 20px;
  background: var(--white-100);
  position: absolute;
  z-index: 111;
  box-shadow: 1px 2px 3px var(--white-75);
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  /* transition: .4s; */
}

header.site-header .section_nav_wrapper .search-inner-wrap.active-search {
  visibility: visible;
  opacity: 1;
  transform: translate(0);
}

header.site-header .section_nav_wrapper .search-inner-wrap form > div {
  display: flex;
  justify-content: center;
  max-width: 600px;
  margin: auto;
}

header.site-header
  .section_nav_wrapper
  .search-inner-wrap
  form
  .search-input-group {
  flex-grow: 1;
  position: relative;
}

header.site-header
  .section_nav_wrapper
  .search-inner-wrap
  form
  .search-input-group
  .search-icon {
  position: absolute;
  right: 10px;
  top: 15px;
}

header.site-header
  .section_nav_wrapper
  .search-inner-wrap
  form
  .search-input-group
  input {
  border-radius: 5px;
  font-family: var(--ZirkelSemiBold-600);
  padding: 13px 20px;
}

header.site-header
  .section_nav_wrapper
  .search-inner-wrap
  form
  .search-input-group
  input::-webkit-search-cancel-button {
  margin-right: 20px;
}

header.site-header
  .section_nav_wrapper
  .search-inner-wrap
  form
  .mobile-search-submit {
  padding-left: 15px;
}

header.site-header
  .section_nav_wrapper
  .search-inner-wrap
  form
  .mobile-search-submit
  input[type="submit"] {
  padding: 14px 20px;
  border-radius: 5px;
  background-color: var(--dark-purple-100);
  font-family: var(--ZirkelSemiBold-600);
}

header.site-header .section_nav_wrapper .site-identity {
  padding: 25px 0;
}
@media (min-width: 1024px) {
  header.site-header .section_nav_wrapper .site-identity {
    padding: 46px 0;
  }
}

/* ===== class base icons ===== */
header.site-header .section_nav_wrapper nav ul.menu li.link-external a,
header.site-header .section_nav_wrapper nav ul.menu li.link-download a,
header.site-header .section_nav_wrapper nav ul.menu li.link-external-white a {
  padding-right: 21px;
}

header.site-header .section_nav_wrapper nav ul.menu li.link-external a:after,
header.site-header .section_nav_wrapper nav ul.menu li.link-download a:after,
header.site-header
  .section_nav_wrapper
  nav
  ul.menu
  li.link-external-white
  a:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  height: 15px;
  width: 15px;
  background-size: contain;
}

header.site-header .section_nav_wrapper nav ul.menu li.link-external a:after {
  background: url(../../images/external.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

header.site-header
  .section_nav_wrapper
  nav
  ul.menu
  li.link-external-white
  a:after
  :not(.drop-active > li) {
  background: url(../../images/external-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

header.site-header .section_nav_wrapper nav ul.menu li.link-download a:after {
  background: url(../../images/download.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

@media only screen and (min-width: 1001px) {
  .main-navigation ul li.only-mobile-show {
    display: none;
  }

  header.site-header
    .section_nav_wrapper
    nav
    ul.menu
    li.link-external-white
    a:after {
    background: url(../../images/external-white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
  }

  header.site-header
    .section_nav_wrapper
    .top-navigation
    .container
    .top-navigation-right
    nav
    ul.menu
    li
    .sub-menu
    li
    a:hover {
    text-decoration: underline;
    text-underline-offset: 7px;
  }

  /* fixed header for home page */
  .home #page {
    padding-top: 0;
  }

  .home header.site-header {
    position: fixed;
    background: transparent;
    /* z-index: 11; */
    width: 100%;
    transition: 0.3s;
  }

  .home .module_hero {
    padding-top: 215px;
  }

  .home header.site-header.header-with-bg {
    background: var(--white-100);
  }
}

/* ==== mobile navigation ===== */
@media only screen and (max-width: 1000px) {
  header.site-header .section_nav_wrapper .top-navigation .mobile-navigation {
    background: var(--white-100);
    max-width: 80px;
    margin-left: auto;
    display: block;
    height: 70px;
    padding: 0;
  }

  header.site-header
    .section_nav_wrapper
    .top-navigation
    .mobile-navigation
    .menu-toggle {
    height: 70px;
    overflow: hidden;
  }

  header.site-header
    .section_nav_wrapper
    .top-navigation
    .mobile-navigation
    .menu-toggle
    span {
    font-size: 0;
  }

  header.site-header
    .section_nav_wrapper
    .top-navigation
    .mobile-navigation
    .menu-toggle
    span
    i {
    color: var(--black-100);
    font-size: 30px;
  }

  header.site-header
    .section_nav_wrapper
    .top-navigation
    .container
    .site-title-wrap {
    max-width: 120px;
  }

  header.site-header .section_nav_wrapper .site-identity {
    position: absolute;
    top: 33px;
    left: 15px;
    padding: 0;
  }

  header.site-header .drawer-wrap .drawer-menu-explore {
    background: var(--white-100);
    padding-top: 0;
    padding-bottom: 0;
    overflow-x: initial;
  }

  header.site-header .drawer-wrap .drawer-menu-explore ul:not(.sub-menu) > li {
    border-bottom: 1px solid var(--black-100);
  }

  header.site-header .drawer-wrap .drawer-menu-explore ul li a {
    color: var(--black-100);
  }

  header.site-header .drawer-wrap .drawer-menu-explore ul li .toggle-sub {
    color: var(--black-100);
    background: var(--white-100);
    height: 53px;
  }

  header.site-header
    .section_nav_wrapper
    .top-nav-wrapper
    .utility-menu
    nav
    ul.menu
    li {
    padding: 10px 0px;
  }

  header.site-header
    .section_nav_wrapper
    .top-nav-wrapper
    .utility-menu
    nav
    ul.menu
    li
    a {
    display: none;
  }

  header.site-header
    .section_nav_wrapper
    .top-nav-wrapper
    .utility-menu
    .search-opener {
    right: 54px;
    top: 24px;
  }

  header.site-header
    .section_nav_wrapper
    .top-nav-wrapper
    .utility-menu
    .search-opener
    img {
    filter: invert(1);
  }

  header.site-header .section_nav_wrapper .search-inner-wrap.active-search {
    top: 90px;
  }
}