
a.jump-to-content {
  color: #FDFCFC;
  margin: 0;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Livvic", sans-serif;
  text-decoration: none;
  font-size: 23px;
  padding: 40px;
  display: block;
  outline: 0;
  background-color: #050D38;
  z-index: 1001;
  position: relative;
}
a.jump-to-content:not(:focus) {
  width: 100%;
  position: absolute;
  transform: translateY(-100%);
}

header.header-block {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  padding: 2rem 0;
  background-color: transparent;
  z-index: 1000;
  transition: background-color 0.5s cubic-bezier(0.55, 0, 0.15, 0.6), transform 0.3s cubic-bezier(0.55, 0, 0.15, 0.6), padding 0.3s cubic-bezier(0.55, 0, 0.15, 0.6);
}
header.header-block.on {
  background-color: #050D38;
  padding: 1.5rem 0;
}
header.header-block.on .wrapper-logo a.logo {
  max-height: 32px;
  max-width: 148px;
}
@media all and (max-width: 600px) {
  header.header-block.on {
    top: 0 !important;
  }
}
header.header-block.collapse {
  transform: translateY(-100%);
}
header.header-block::before {
  pointer-events: none;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  transition: background-color 0.8s cubic-bezier(0.39, 0.17, 0.44, 1);
  background-color: transparent;
  z-index: -1;
}
header.header-block[menu-opened].collapse {
  transform: translateY(0);
}
header.header-block[menu-opened] .wrapper-buttons a,
header.header-block[menu-opened] .wrapper-buttons button {
  color: #050D38;
  border-color: #050D38;
}
header.header-block[menu-opened] .wrapper-buttons a::after,
header.header-block[menu-opened] .wrapper-buttons button::after {
  background-color: #050D38;
}
header.header-block[menu-opened] .wrapper-buttons a > span::after,
header.header-block[menu-opened] .wrapper-buttons button > span::after {
  color: #050D38;
}
header.header-block[menu-opened] .wrapper-buttons a > span::before,
header.header-block[menu-opened] .wrapper-buttons button > span::before {
  color: #050D38;
}
header.header-block[menu-opened] .wrapper-buttons button.btn-menu::after {
  rotate: 225deg;
}
header.header-block[menu-opened] ul.sub-links::after {
  height: 100% !important;
  transition-delay: 0.6s !important;
}
header.header-block[menu-opened]::before {
  pointer-events: all;
  background-color: rgba(5, 13, 56, 0.3215686275);
}
header.header-block .wrapper {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
header.header-block .wrapper-logo a.logo {
  display: block;
  max-width: 175px;
  max-height: 48px;
  filter: brightness(0) invert(100%);
  transition: filter 0.5s cubic-bezier(0.55, 0, 0.15, 0.6), max-width 0.3s cubic-bezier(0.55, 0, 0.15, 0.6), max-height 0.3s cubic-bezier(0.55, 0, 0.15, 0.6);
}
header.header-block .wrapper-logo img {
  max-width: 100%;
  height: auto;
  filter: brightness(0) saturate(100%) invert(8%) sepia(77%) saturate(1960%) hue-rotate(220deg) brightness(81%) contrast(109%);
}
header.header-block div.menu {
  min-width: 550px;
  max-width: 100vw;
  top: 0;
  position: fixed;
  right: 0;
  bottom: 0;
  transform: translateX(101%);
  height: 100dvh;
  background-color: #FDFCFC;
  pointer-events: none;
  transition: transform 0.8s cubic-bezier(0.39, 0.17, 0.44, 1), visibility 1s linear;
  padding: 80px;
  padding-top: 128px;
  visibility: hidden;
  z-index: -1;
}
header.header-block div.menu::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 531px;
  height: 520px;
  pointer-events: none;
  user-select: none;
  z-index: -1;
  background-image: url("data:image/svg+xml,%3Csvg width='531' height='520' viewBox='0 0 531 520' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M218.969 452.707C218.969 312.98 214.473 270.924 107.193 270.924L0 270.919V276.842C67.6885 276.842 71.6702 326.199 71.6702 399.247V640.673C71.6702 713.721 67.6885 763.077 0 763.077V769H294.644V763.077C226.956 763.077 218.992 713.721 218.992 640.673L218.969 452.707Z' fill='%23F9F8F6'/%3E%3Cpath d='M226.431 89.0295C226.431 50.6674 226.431 6.02802 164.915 6.02802V0H296.67C441.98 0 566 116.822 566 260.757C566 404.859 441.811 521.513 296.67 521.513V521.681L241.627 521.68C241.627 355.437 326.928 273.131 483.256 273.131V266.775L340.197 266.775C234.762 266.775 226.431 212.726 226.431 89.0295Z' fill='%23F9F8F6'/%3E%3C/svg%3E%0A");
}
header.header-block div.menu[aria-expanded=true] {
  transform: translateX(0);
  visibility: visible;
  pointer-events: all;
}
header.header-block div.menu .wrapper-menu {
  overflow-y: auto;
  max-height: 100%;
}
header.header-block div.menu .wrapper-menu nav > ul {
  display: flex;
  flex-direction: column;
  gap: 3rem 1rem;
}
header.header-block div.menu .wrapper-menu nav > ul > li {
  line-height: 0;
  width: 100%;
}
header.header-block div.menu .wrapper-menu nav > ul > li > a,
header.header-block div.menu .wrapper-menu nav > ul > li > button {
  overflow: hidden;
  display: inline-block;
  padding: 0;
}
header.header-block div.menu .wrapper-menu nav > ul > li > a > span,
header.header-block div.menu .wrapper-menu nav > ul > li > button > span {
  display: inline-block;
  transform: translateY(100%);
  font-family: "ivypresto-display", serif;
  font-size: 1.75rem;
  font-weight: 400;
  color: #050D38;
  line-height: 130%;
  text-decoration: none;
  background-image: linear-gradient(#050D38, #050D38);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.3s cubic-bezier(0.55, 0, 0.15, 0.6);
}
header.header-block div.menu .wrapper-menu nav > ul > li > a:hover > span, header.header-block div.menu .wrapper-menu nav > ul > li > a:focus > span, header.header-block div.menu .wrapper-menu nav > ul > li > a:focus-visible > span,
header.header-block div.menu .wrapper-menu nav > ul > li > button:hover > span,
header.header-block div.menu .wrapper-menu nav > ul > li > button:focus > span,
header.header-block div.menu .wrapper-menu nav > ul > li > button:focus-visible > span {
  background-size: 100% 1px;
}
header.header-block div.menu ul.sub-links {
  margin-top: 20px;
  position: relative;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem 1rem;
  width: 100%;
}
header.header-block div.menu ul.sub-links::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 0;
  transition: height 0.6s cubic-bezier(0.39, 0.17, 0.44, 1);
  transition-delay: 0s;
  background-color: rgba(5, 13, 56, 0.2);
}
header.header-block div.menu ul.sub-links li {
  max-width: 240px;
  width: 100%;
  line-height: 0;
}
header.header-block div.menu ul.sub-links a {
  display: inline-block;
  overflow: hidden;
  line-height: 0;
}
header.header-block div.menu ul.sub-links a span {
  display: inline-block;
  transform: translateY(100%);
  font-family: "Livvic", sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.02em;
  background-image: linear-gradient(#050D38, #050D38);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.3s cubic-bezier(0.55, 0, 0.15, 0.6);
}
header.header-block div.menu ul.sub-links a:hover span, header.header-block div.menu ul.sub-links a:focus span, header.header-block div.menu ul.sub-links a:focus-visible span {
  background-size: 100% 1px;
}
header.header-block div.menu ul.sub-links[data-two-col] {
  display: grid;
  grid-template-columns: repeat(2, auto);
}
header.header-block div.menu ul.sub-links[data-two-col] li {
  max-width: 240px;
  width: 100%;
  grid-column: var(--col);
  grid-row: var(--row);
}
@media all and (max-width: 700px) {
  header.header-block[menu-opened] .wrapper-logo a.logo {
    filter: none;
  }
}
@media all and (max-width: 620px) {
  header.header-block .wrapper-logo a.logo {
    max-width: 145px;
    max-height: 40px;
  }
  header.header-block[menu-opened] {
    background-color: #FDFCFC;
  }
  header.header-block[menu-opened] .wrapper-logo a.logo {
    filter: none;
  }
  header.header-block[menu-opened]::before {
    display: none;
  }
  header.header-block .wrapper-buttons a {
    display: none;
  }
  header.header-block div.menu {
    position: absolute;
    overflow: hidden;
    width: 100%;
    top: 100%;
    max-width: 100%;
    min-width: 100%;
    height: calc(100dvh - 104px);
    padding: 0;
    padding-bottom: 20px;
  }
  header.header-block div.menu .wrapper-menu {
    padding: 0 20px;
    height: 100%;
    overflow-y: auto;
  }
  header.header-block div.menu .wrapper-menu nav > ul {
    gap: 2rem 1rem;
  }
  header.header-block div.menu .wrapper-menu nav > ul > li:has(> .btn-submenu) {
    margin-bottom: -20px;
  }
  header.header-block div.menu ul.sub-links[data-two-col],
  header.header-block div.menu ul.sub-links {
    display: flex;
    flex-direction: column;
    transition: height 0.6s cubic-bezier(0.39, 0.17, 0.44, 1);
    overflow: hidden;
    height: 0;
  }
}