.header2 {
  position: relative;
  z-index: var(--z-index-header);
  padding-block: var(--container-padding);
}
.header2_container {
  display: flex;
  column-gap: 1rem;
  align-items: center;
  padding-block: var(--_padding-block);
  padding-inline: var(--container-padding);
  color: var(--header-color, var(--body-color));
  background-color: var(--main-color-2, var(--body-bg));
  border-radius: var(--border-radius);
}
@media (min-width: 740px) {
  .header2_container {
    --_padding-block: 1rem;
  }
}
@media (max-width: 739.98px) {
  .header2_container {
    --_padding-block: 0.625rem;
  }
}
.header2_logo {
  display: block;
  width: fit-content;
}
.header2_logo img {
  width: auto;
  max-height: 40px;
  object-fit: contain;
}
@media (max-width: 1199.98px) {
  .header2_logo {
    margin-inline-end: auto;
  }
}
@media (min-width: 1200px) {
  .header2_nav {
    margin-inline: auto;
  }
}
@media (max-width: 1199.98px) {
  .header2_nav {
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    padding-inline: calc(2 * var(--container-padding));
    overflow: auto;
    color: var(--header-color, var(--body-color));
    visibility: hidden;
    background-color: var(--main-color-2, var(--body-bg));
    opacity: 0;
    transition-timing-function: ease-in-out;
    transition-duration: 250ms;
    transition-property: opacity, visibility, transform;
    transform: translateY(-4px);
  }
}
.header2_nav.show {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.header2_nav_top {
  padding-block: var(--_padding-block);
}
@media (min-width: 1200px) {
  .header2_nav_top {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .header2_nav_inner {
    display: grid;
    row-gap: 1.5rem;
    padding-block: var(--container-padding) calc(2 * var(--container-padding));
  }
}
.header2_end {
  display: grid;
  grid-auto-flow: column;
  column-gap: 1rem;
}
.header2_cta {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 740px) {
  .header2_cta {
    gap: 1rem;
    width: fit-content;
    margin-inline: auto;
  }
}
@media (max-width: 739.98px) {
  .header2_cta {
    gap: 0.75rem;
  }
  .header2_cta > * {
    flex-grow: 1;
    min-width: fit-content;
  }
}
@media (max-width: 739.98px) {
  .header2_cta--main {
    display: none;
  }
}
@media (min-width: 740px) {
  .header2_cta--sub {
    display: none;
  }
}
.header2_hamb {
  --size: 40px;
  --padding: 5px;
  --line-size: 3px;
  --space: 5px;
  position: relative;
  display: flex;
  align-items: center;
  width: var(--size);
  height: var(--size);
  padding: var(--padding);
  color: inherit;
}
@media (min-width: 1200px) {
  .header2_hamb {
    display: none;
  }
}
.header2_hamb.active .header2_hamb_icon {
  height: 0;
}
.header2_hamb.active .header2_hamb_icon::before,
.header2_hamb.active .header2_hamb_icon::after {
  top: 0;
  height: var(--line-size);
}
.header2_hamb.active .header2_hamb_icon::before {
  transform: rotate(-45deg);
}
.header2_hamb.active .header2_hamb_icon::after {
  transform: rotate(45deg);
}
.header2_hamb_icon {
  top: calc(50% - var(--line-size) / 2);
  display: grid;
  place-content: center;
  width: calc(100% - 2 * var(--padding));
}
.header2_hamb_icon,
.header2_hamb_icon::before,
.header2_hamb_icon::after {
  position: absolute;
  display: block;
  height: var(--line-size);
  content: "";
  background-color: currentColor;
  transition: all 250ms ease-in-out;
}
.header2_hamb_icon::before,
.header2_hamb_icon::after {
  width: 100%;
}
.header2_hamb_icon::before {
  top: calc((var(--space) + var(--line-size)) * -1);
}
.header2_hamb_icon::after {
  top: calc(var(--space) + var(--line-size));
}
.header2_menu {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1200px) {
  .header2_menu {
    column-gap: 16px;
    align-items: center;
    justify-content: center;
    padding-inline: 24px;
  }
}
@media (max-width: 1199.98px) {
  .header2_menu {
    flex-direction: column;
    gap: 10px;
  }
}
.header2_menu > li > a {
  font-weight: 500;
}
@media (min-width: 1200px) {
  .header2_menu > li > a {
    padding: 4px 6px;
    font-size: 16px;
    border-radius: 4px;
  }
  .header2_menu > li > a:hover,
  .header2_menu > li > a:focus-visible {
    color: var(--body-color);
    background-color: var(--main-color-3);
  }
}
@media (max-width: 1199.98px) {
  .header2_menu > li > a {
    margin-inline: calc(-1 * var(--container-padding));
  }
}
@media (min-width: 740px) and (max-width: 1199.98px) {
  .header2_menu > li > a {
    padding-block: 6px;
    font-size: 20px;
    line-height: 1.4;
  }
}
@media (max-width: 739.98px) {
  .header2_menu > li > a {
    padding-block: 4px;
    font-size: 14px;
    line-height: 1.429;
  }
}
.header2_menu a {
  display: block;
  transition: all 150ms ease-in-out;
}
.header2_menu a[href="#"] {
  pointer-events: none;
}
@media (max-width: 1199.98px) {
  .header2_menu a {
    padding-inline: var(--container-padding);
  }
  .header2_menu a:hover,
  .header2_menu a:focus-visible {
    background-color: var(--main-color-3);
  }
}
.header2_menu .menu-item-has-children {
  position: relative;
}
@media (min-width: 1200px) {
  .header2_menu .menu-item-has-children > a {
    display: grid;
    grid-auto-flow: column;
    column-gap: 4px;
    align-items: center;
    justify-content: start;
    padding-inline-start: 14px;
  }
  .header2_menu .menu-item-has-children > a::after {
    width: 24px;
    height: 24px;
    content: "";
    background-color: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m7 10 5 5 5-5H7Z'/%3E%3C/svg%3E");
    transition: transform 150ms ease-in-out;
  }
}
.header2_menu .menu-item-has-children > a[href="#"] {
  pointer-events: none;
}
@media (min-width: 1200px) {
  .header2_menu .menu-item-has-children:hover .sub-menu,
  .header2_menu .menu-item-has-children:focus-visible .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
  .header2_menu .menu-item-has-children:hover > a::after,
  .header2_menu .menu-item-has-children:focus-visible > a::after {
    transform: scaleY(-1);
  }
}
.header2_menu .sub-menu {
  display: grid;
  transition: all 150ms ease-in-out;
}
@media (min-width: 1200px) {
  .header2_menu .sub-menu {
    position: absolute;
    inset-inline-start: 0;
    top: calc(100% + 2px);
    z-index: 2;
    row-gap: 4px;
    width: max-content;
    min-width: 100px;
    max-height: unset;
    padding: 12px 10px 10px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-5px);
  }
  .header2_menu .sub-menu::before {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 2px);
    content: "";
    background-color: var(--main-color-1);
    border-radius: var(--border-radius);
  }
  .header2_menu .sub-menu a {
    position: relative;
    width: fit-content;
    padding: 2px 4px;
    font-weight: 600;
  }
  .header2_menu .sub-menu a::after {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: currentColor;
    opacity: 0;
    transition: opacity 150ms ease-in-out;
  }
  .header2_menu .sub-menu a:hover::after,
  .header2_menu .sub-menu a:focus-visible::after {
    opacity: 1;
  }
}
@media (max-width: 1199.98px) {
  .header2_menu .sub-menu {
    row-gap: 14px;
  }
  .header2_menu .sub-menu .menu-item:first-child {
    margin-top: 10px;
  }
  .header2_menu .sub-menu .menu-item:last-child {
    margin-bottom: 6px;
  }
}
@media (max-width: 1199.98px) {
  .header2_menu .sub-menu a {
    font-weight: 500;
  }
}
@media (min-width: 740px) and (max-width: 1199.98px) {
  .header2_menu .sub-menu a {
    padding-block: 6px;
    font-size: 16px;
  }
}
@media (max-width: 739.98px) {
  .header2_menu .sub-menu a {
    padding-block: 4px;
    font-size: 12px;
  }
}
