/* The Links */
.hsf-header a.depth-0 {
  color: white;
  position: relative;
  height: 60px;
  display: flex;
  align-items: center;
  padding: 0 0.25rem;
}
.hsf-header .active-section {
  border-bottom: 4px solid #fff;
}
.hsf-mobile-header a.depth-0 {
  color: var(--hsf-text);
  height: auto;
  padding: 0.25rem 0;
}
.hsf-mobile-header .menu-item {
  padding: 0.25rem 0;
}
.hsf-mobile-header hr {
  margin: 1rem 0;
}
.hsf-mobile-header .slide-out-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1025px){
  .hsf-header a:hover {
    color: white;
  }
  .hsf-header a:not(.logo, .menu-item-has-children)::before,
  .hsf-locale-selector button::before {
    position: absolute;
    content: '';
    background-color: rgba(255,255,255,0.15);
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 0px;
    transition: all 0.25s ease;
  }
  .hsf-header a:hover::before,
  .hsf-header a:focus::before,
  .hsf-locale-selector button:hover::before,
  .hsf-locale-selector button:focus::before {
    height: 100%;
  }
}


.hsf-locale-selector button {
  padding: 0 0.25rem;
  height: 60px;
  transition: none;
}

.hsf-header .login-button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.hsf-header .login-button img {
  height: 36px;
}
.hsf-header .login-button img.sticky {
  display: none;
}
.hsf-mobile-header .login-button img {
  display: none;
}
.hsf-mobile-header .login-button img.sticky {
  display: block;
}
.elementor-sticky--effects .hsf-header a,
.elementor-sticky--effects .hsf-locale-selector button {
  color: var(--hsf-text);
}
.elementor-sticky--effects .hsf-locale-selector button svg path {
  fill: var(--hsf-text);
}
.elementor-sticky--effects .hsf-header .login-button img {
  display: none;
}
.elementor-sticky--effects .hsf-header .login-button img.sticky {
  display: block;
}

/* Containers */
.hsf-header .top-bar,
.hsf-header .bottom-bar {
  padding-inline-start: var(--hsf-padding-inline-start);
  padding-inline-end: var(--hsf-padding-inline-end);
}
.hsf-header .top-bar .top-bar-inner,
.hsf-header .bottom-bar .bottom-bar-inner {
  position: relative;
  width: 100%;
  max-width: var(--content-width);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.hsf-header .top-bar,
.hsf-header .bottom-bar {
  transition: all 0.25s ease;
}

.hsf-header .top-bar .top-bar-inner::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  margin-left: -3%;
  margin-right: -3%;
  background: linear-gradient(to right, transparent, #FFFFFF 5%, #FFFFFF 95%, transparent);
}

.hsf-header .top-right,
.hsf-header .top-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.elementor-sticky--effects .hsf-header .top-bar {
  background-color: #F2F7FB;
}
.elementor-sticky--effects .hsf-header .bottom-bar {
  background-color: #FFFFFF;
}

/* The Logo */
.hsf-header .logo {
  margin-top: 1rem;
  margin-bottom: 1rem;
  display: block;
  position: relative;
  height: 90px;
  width: 213px;
  transition: all 0.25s ease;
  max-width: 40vw;
}
.hsf-header .logo img {
  width: auto;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: all .25s ease;
}
.hsf-header .logo .sticky {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
.elementor-sticky--effects .hsf-header .logo {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  height: 60px;
  width: 142px;
}
.elementor-sticky--effects .hsf-header .logo :not(.sticky),
.hsf-mobile-header.is-open .logo img:not(.sticky) {
  opacity: 0;
  pointer-events: none;
}
.elementor-sticky--effects .hsf-header .logo .sticky,
.hsf-mobile-header.is-open .logo img.sticky {
  opacity: 1;
  pointer-events: auto;
}

/* Locale Selector */
.hsf-locale-selector {
  position: relative;
  display: inline-block;
}
.hsf-locale-selector button {
  display: flex;
  align-items: center;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
  border-radius: 0;
  gap: 0.5rem;
  /* min-width: 200px; */
}
.hsf-locale-selector button svg path {
  fill: white;
}
.hsf-mobile-header .hsf-locale-selector button {
  color: var(--hsf-text);
}
.hsf-mobile-header .hsf-locale-selector button svg path {
  fill: var(--hsf-text);
}

.hsf-locale-selector ul {
  pointer-events: none;
  opacity: 0;
  list-style: none;
  position: absolute;
  width: 100%;
  top: calc(100% - 2px);
  left: 0;
  z-index: 100;
  background: #f2f7fb;
  padding: 0.5rem;
  padding-inline: 0.5rem;
  margin: 0;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  transition: opacity var(--hsf-transition-duration)
      var(--hsf-transition-timing-function);
}
.hsf-locale-selector li a {
  display: flex;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  align-items: center;
  color: black;
  gap: 0.5rem;
}
.hsf-locale-selector li a {
  position: relative;
}
.hsf-locale-selector li a:hover {
  color: black;
}
.hsf-locale-selector img {
  width: 54px;
}
.hsf-locale-selector svg {
  transition: all 0.25s ease;
}
.hsf-locale-selector.active ul {
  pointer-events: all;
  opacity: 1;
}
.hsf-locale-selector.active button:focus {
  outline: none;
}
.hsf-locale-selector.active button {
  background-color: #f2f7fb;
  color: var(--hsf-text);
  border-radius: 8px 8px 0 0;
}
.hsf-locale-selector.active button svg {
  transform: rotate(180deg);
}
.hsf-locale-selector.active button svg path {
  fill: var(--hsf-text);
}



/* The Menu */
.hsf-menu ul {
  padding: 0;
  list-style: none;
}
.hsf-menu > ul {
  display: flex;
}
.hsf-menu li {
  position: relative;
}
.hsf-menu div.dropdown {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--hsf-transition-duration)
      var(--hsf-transition-timing-function);
  position: absolute;
  top: 100%;
  left: 50%;
  width: 500px;
  transform: translateX(-50%);
  background-color: white;
  border-radius: 2rem;
  display: flex;
  box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.hsf-menu li.active > a.menu-item-has-children.depth-0,
.hsf-menu li:hover > a.menu-item-has-children.depth-0 {
  box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 101;
  color: var(--hsf-blue);
  border-radius: 2rem 2rem 0px 0px;
  background: white;
  clip-path: inset(-50px -50px 0% -50px);
}
.hsf-menu li.active > .dropdown,
.hsf-menu li:hover > .dropdown {
  opacity: 1;
  pointer-events: auto;
  z-index: 100;
}
.hsf-menu .menu-item {
  display: flex;
  align-items: center;
  color: black;
  text-decoration: none;
  font-size: 14px;
}
.hsf-menu .menu-item.depth-0 {
  padding: 20px 15px;
  font-weight: 700;
}
.hsf-menu li .icon {
  margin-left: 0.5rem;
  transition: var(--hsf-transition);
  border-radius: 50%;
  padding: 4px;
  height: calc(1em + 8px);
}
.hsf-menu li:hover .icon,
.hsf-menu li.active .icon {
  transform: rotateZ(-180deg);
}
.hsf-menu li .icon path {
  fill: #FFFFFF;
}
.hsf-menu li:hover .icon path {
  fill: var(--hsf-text);
}
.elementor-sticky--effects .hsf-menu li .icon path {
  fill: var(--hsf-text);
}
.hsf-menu .submenu {
  background-color: #f2f7fb;
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex: 0.5;
}
.hsf-menu .dropdown .wysiwyg-content {
  flex: 1;
}
.hsf-menu .dropdown .wysiwyg-content .content {
  padding: 2rem;
}
.hsf-menu .dropdown .wysiwyg-content .content a:hover {
  color: var(--hsf-blue);
}
.hsf-menu .submenu li a {
  padding: 0.5rem 1rem;
  transition: var(--hsf-transition);
}
.hsf-menu .submenu li a:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.hsf-menu .submenu li a svg {
  transition: var(--hsf-transition);
  margin-left: auto;
  margin-right: 1rem;
}
.hsf-menu .submenu li a:hover svg {
  transform: translateX(5px);
}

/* Responsive header */
.hsf-mobile-header {
  display: block;
}
.hsf-desktop-header {
  display: none;
}
.mobile-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: var(--hsf-padding-inline-start);
  padding-right: var(--hsf-padding-inline-end);
  margin: 0 auto;
  transition: all 0.25s ease;
  position: relative;
  z-index: 101;
}
.elementor-sticky--effects .mobile-header-inner {
  background-color: #FFF;
  box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.05);
}
.hsf-mobile-header .hsf-toggle-mobile-header,
.hsf-mobile-header .hsf-toggle-mobile-header:focus,
.hsf-mobile-header .hsf-close-button {
  background: none;
  border: 0;
  outline: none;
  position: relative;
}
.hsf-mobile-header .hsf-toggle-mobile-header svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.25s ease;
}
.hsf-mobile-header.is-open .hsf-toggle-mobile-header svg:nth-child(1),
.hsf-mobile-header .hsf-toggle-mobile-header svg:nth-child(2) {
  opacity: 0;
}
.hsf-mobile-header .hsf-toggle-mobile-header svg:nth-child(1),
.hsf-mobile-header.is-open .hsf-toggle-mobile-header svg:nth-child(2) {
  opacity: 1;
}
.hsf-mobile-header .hsf-toggle-mobile-header svg path {
  fill: #FFF;
  transition: all 0.25s ease;
}
.elementor-sticky--effects .hsf-mobile-header .hsf-toggle-mobile-header svg path,
.hsf-mobile-header.is-open .hsf-toggle-mobile-header svg path {
  fill: var(--hsf-text);
}
.hsf-mobile-header .hsf-close-button svg path {
  fill: var(--hsf-text);
}
.hsf-mobile-header .slide-out {
  background-color: #F2F7FB;
  position: fixed;
  padding-top: 122px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  transition: all 0.25s ease;
}
.hsf-mobile-header.is-open .slide-out {
  opacity: 1;
  pointer-events: all;
  z-index: 100;
}

.hsf-mobile-menu {
  padding: 0;
  list-style: none;
}
.hsf-mobile-menu .sub-menu {
  list-style: none;
  padding-left: 1rem;
}

@media screen and (min-width: 1025px){
  .hsf-mobile-header {
    display: none;
  }
  .hsf-desktop-header {
    display: block;
  }
}