@font-face {
  font-family: 'xscale';
  src: url(fonts/xscale.ttf); }

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-red: #FF2D16;
  --color-reddark: #8d2419;
  --color-grey: #5a5a5a;
  --color-greytext: #D1D1D1;
  --color-greybg: #D8D8D8;
  --color1: #B1A295;
  --color2: #A28F80;
  --color3: #C57B58;
  --color4: #253746;
  --color5: #061F31;
  --color6: #33AAAC;
  --color-bg: #ffffff;
  --color-bg1: #F5F8F8;
  --color-bg2: #E6ECED;
  --height-header: 50px;
  --height-footer: 385px;
  --width-wrapper: calc(100% - 260px);
  --width-max: 1600px; }

::-webkit-scrollbar {
  width: 10px;
  border-radius: 10px; }

::-webkit-scrollbar-thumb {
  background: var(--color-bluegrey);
  border-radius: 10px; }

::-webkit-scrollbar-track {
  background: var(--color-bluegrey2);
  border-radius: 10px; }

::selection {
  background: var(--color-blueclear);
  text-shadow: none; }

/* --------------------- typo and other basic stuffs --------------------- */
*:focus,
*:focus-visible {
  outline: none; }

html {
  font-size: 16px; }

html, body, .main {
  position: relative;
  overflow-x: hidden;
  font-family: "apparat-light", sans-serif; }

body {
  font-family: "univia-pro", sans-serif;
  font-weight: 400;
  font-style: normal; }

section {
  position: relative; }

legend {
  display: none; }

p {
  line-height: 1.5;
  color: var(--color5); }

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: all .3s; }
  a:hover {
    opacity: .7; }

h1 {
  font-size: 3.75rem; }

h2 {
  font-size: 2.75rem; }

h3 {
  font-size: 2.5rem; }

h4 {
  font-size: 2rem; }

h5 {
  font-size: 1.5rem; }

p {
  font-size: 1.2rem; }

ul {
  list-style: none; }

strong {
  font-weight: bolder; }

svg {
  display: none; }

.cover {
  background-repeat: no-repeat;
  background-size: cover; }

.full {
  width: 100%; }

.half {
  width: 50%; }

.fullscreen {
  position: relative;
  background-color: var(--color-white);
  height: 100vh;
  z-index: 0;
  margin-top: 165px; }
  .fullscreen.lastscreen {
    height: calc(100vh - var(--height-footer)); }

.title {
  font-family: "apparat", sans-serif;
  color: var(--color-greydark);
  text-align: center;
  margin-top: 10px; }

.surtitle {
  font-family: "apparat-light", sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .25rem; }

.subtitle {
  font-family: "apparat-light", sans-serif;
  text-transform: uppercase; }

/* -------- Forms -------- */
input:-webkit-autofill,
input:-webkit-autofill:focus {
  transition: background-color 600000s 0s, color 600000s 0s; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0px 1000px var(--color-white) inset !important; }

.cta_arrow {
  display: block;
  width: fit-content;
  padding: 10px 50px 14px 30px;
  border-radius: 30px;
  color: var(--color-white);
  background-image: url("img/arrows/arrow_orange.svg");
  background-repeat: no-repeat;
  background-position: center right 20px; }
  .cta_arrow:hover {
    background-position: center right 16px; }
  .cta_arrow.black {
    background-color: var(--color4); }
  .cta_arrow.green {
    background-color: var(--color6); }

/* --------------------- big stuffs --------------------- */
html {
  margin: 0;
  padding: 0; }
  html body {
    margin: 0;
    padding: 0;
    background-color: var(--color-greybg);
    overflow: hidden; }

.container {
  max-width: var(--width-max);
  width: var(--width-wrapper);
  margin: 0 auto; }

.wrapper {
  position: relative;
  display: block;
  min-height: calc(100vh - var(--height-footer));
  width: 100vw;
  overflow: hidden; }
  .wrapper .main-wrapper {
    position: relative;
    top: var(--height-header);
    margin: 0 auto;
    width: var(--width-wrapper); }

/* =============================================================== RESPONSIVE =================================================================*/
@media (max-width: 960px) {
  :root {
    --width-wrapper: calc(100% - 40px);
    --width-max: calc(100vw - 80px); }
  .wrapper {
    min-height: 100vh; } }

footer {
  height: var(--height-footer);
  background-color: var(--color5); }
  footer p, footer a {
    color: var(--color-white); }
  footer .container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 50px 0; }
    footer .container .left {
      display: flex;
      flex-direction: column;
      margin: 20px 0 50px; }
      footer .container .left .footer_logo {
        display: block;
        width: fit-content;
        height: fit-content;
        margin-bottom: 40px; }
      footer .container .left .footer_link {
        margin-top: 15px;
        font-size: 16px;
        font-weight: 300; }

/* =============================================================== RESPONSIVE =================================================================*/
@media (max-width: 960px) {
  footer .right {
    display: none; }
  footer .container .left .img_logo {
    width: 170px; }
  footer .container .left .footer_link {
    font-size: 14px; } }

header {
  color: var(--color-white); }
  header .upper_menu {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: var(--height-header);
    padding: 0 4vw;
    background-color: var(--color1); }
    header .upper_menu .megamenu {
      width: 100%;
      margin-top: 7px; }
      header .upper_menu .megamenu > summary {
        display: inline-flex;
        position: relative;
        font-family: 'xscale';
        font-weight: 100;
        font-style: normal;
        font-size: 20px;
        letter-spacing: 4px;
        list-style: none;
        margin-left: 25px;
        cursor: pointer; }
        header .upper_menu .megamenu > summary::-webkit-details-marker {
          display: none; }
        header .upper_menu .megamenu > summary::before {
          position: absolute;
          left: -25px;
          top: 0;
          display: block;
          content: url("img/icons/icon_arrow_dn.svg");
          height: 7px;
          width: 13px;
          transform-origin: 8px 12px;
          transition: all .3s; }
      header .upper_menu .megamenu[open] > summary::before {
        transform: rotate(180deg); }
      header .upper_menu .megamenu .panel {
        position: absolute;
        top: 50px;
        left: 0;
        display: flex;
        flex-direction: row;
        width: 100vw;
        background-color: var(--color-white);
        background-image: url("img/bg_panel.jpg");
        background-size: cover; }
        header .upper_menu .megamenu .panel .links_list {
          display: flex;
          flex-direction: row;
          margin-bottom: 50px; }
          header .upper_menu .megamenu .panel .links_list .link_item {
            width: 20%;
            margin-right: 30px; }
            header .upper_menu .megamenu .panel .links_list .link_item .headline {
              font-size: 18px;
              font-weight: 700;
              font-style: bold; }
            header .upper_menu .megamenu .panel .links_list .link_item .descr {
              font-size: 15px;
              font-weight: 100;
              font-style: normal; }
            header .upper_menu .megamenu .panel .links_list .link_item .cta_arrow {
              margin-top: 30px;
              font-family: 'xscale';
              font-size: 20px;
              font-weight: 100;
              letter-spacing: 4px; }
      header .upper_menu .megamenu:not([open]) .links_list {
        animation: fadeOut .75s linear forwards; }
      header .upper_menu .megamenu[open] .links_list {
        animation: fadeIn .75s linear forwards; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
    header .upper_menu .contact_link {
      position: relative;
      top: -2px;
      width: fit-content;
      height: fit-content;
      padding: 3px 15px;
      margin-right: 6px;
      margin-top: 17px;
      line-height: 1;
      font-size: .75rem;
      font-weight: 100;
      letter-spacing: 1px;
      text-transform: uppercase;
      border-radius: 9px;
      transition: all .3s; }
      header .upper_menu .contact_link::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        display: block;
        height: 18px;
        width: 0;
        transition: all .3s;
        background-color: rgba(255, 255, 255, 0.4);
        border-radius: 9px; }
      header .upper_menu .contact_link:hover {
        opacity: 1;
        color: #fff; }
        header .upper_menu .contact_link:hover::after {
          width: 100%; }
    header .upper_menu .login_link {
      position: relative;
      width: fit-content;
      height: fit-content;
      height: 12px;
      border-left: 1px solid var(--color-white);
      padding: 0 0 3px 45px;
      margin-top: 17px;
      line-height: 1;
      font-size: .75rem;
      font-weight: 100;
      letter-spacing: 1px;
      text-transform: uppercase; }
      header .upper_menu .login_link::before {
        position: absolute;
        left: 20px;
        top: -2px;
        display: block;
        content: url("img/icons/icon_login_up.svg");
        height: 18px;
        width: 18px;
        transition: all .3s; }
      header .upper_menu .login_link::after {
        content: '';
        position: absolute;
        left: 20px;
        top: -2px;
        display: block;
        height: 18px;
        width: 18px;
        transition: all .3s;
        background-color: rgba(255, 255, 255, 0.4);
        border-radius: 9px; }
      header .upper_menu .login_link:hover {
        opacity: 1; }
        header .upper_menu .login_link:hover::before {
          transform: rotate(-45deg); }
        header .upper_menu .login_link:hover::after {
          width: 100%; }
  header .logo {
    display: block;
    width: fit-content;
    height: fit-content;
    padding: 40px 4vw; }
  header .middle_menu {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background-color: rgba(162, 143, 128, 0.6); }
    header .middle_menu .logo {
      background-color: var(--color-white); }
    header .middle_menu .mobile_menu {
      display: none; }
    header .middle_menu .menu {
      display: flex;
      flex-direction: row;
      justify-content: space-around;
      align-items: center;
      width: 100%;
      height: auto;
      margin: 0 3vw; }
      header .middle_menu .menu:has(.menu_link:hover) .menu_link {
        opacity: .5; }
        header .middle_menu .menu:has(.menu_link:hover) .menu_link:hover {
          opacity: 1; }
      header .middle_menu .menu .menu_link {
        position: relative;
        font-size: 1.25rem;
        font-weight: 100; }
        header .middle_menu .menu .menu_link::before {
          content: '';
          position: absolute;
          width: 100%;
          height: 1px;
          background-color: var(--color-white);
          bottom: 0;
          left: 0;
          transform-origin: right;
          transform: scaleX(0);
          transition: transform .3s ease-in-out; }
        header .middle_menu .menu .menu_link:hover::before {
          transform-origin: left;
          transform: scaleX(1); }
      header .middle_menu .menu .closer {
        display: none; }
    header .middle_menu .search {
      position: relative;
      display: flex;
      flex-direction: row;
      margin-top: 18px;
      position: relative;
      z-index: 9; }
      header .middle_menu .search .search-left {
        position: absolute;
        right: calc(4vw + 23px);
        background-color: rgba(255, 255, 255, 0.8);
        margin: 20px 0 14px 14px;
        width: 0;
        padding: 13px 0;
        border-radius: 25px 0 0 25px;
        border: 2px solid var(--color-white);
        backdrop-filter: blur(3px);
        border-right-width: 0;
        z-index: -1;
        transition: all .3s; }
        header .middle_menu .search .search-left:-webkit-autofill, header .middle_menu .search .search-left:-webkit-autofill:hover, header .middle_menu .search .search-left:-webkit-autofill:focus, header .middle_menu .search .search-left:-webkit-autofill:active {
          -webkit-box-shadow: 0 0 0px 1000px #efedeb inset !important; }
      header .middle_menu .search:hover .search-left, header .middle_menu .search:focus-within .search-left {
        padding: 13px 20px;
        width: 190px;
        opacity: 1; }
      header .middle_menu .search .search-right {
        background-color: var(--color-white);
        width: 45px;
        height: 45px;
        margin: 20px 4vw 14px 0;
        border-radius: 50%;
        background-image: url(img/icons/icon_search.svg);
        background-repeat: no-repeat;
        background-position: 12px 13px;
        cursor: pointer;
        transition: all .3s; }
        header .middle_menu .search .search-right:hover {
          transform: rotate(-45deg); }

/* =============================================================== RESPONSIVE =================================================================*/
@media (max-width: 960px) {
  header .upper_menu .contact_link,
  header .upper_menu .login_link {
    display: none; }
  header .upper_menu .megamenu > summary {
    margin: 5px auto;
    width: fit-content;
    display: block; }
    header .upper_menu .megamenu > summary::before {
      content: url("img/icon_cross.svg");
      top: 5px;
      transform-origin: 8px 8px; }
  header .upper_menu .megamenu .panel {
    flex-direction: column;
    min-height: calc(100vh - 43px); }
    header .upper_menu .megamenu .panel .links_list {
      position: relative;
      flex-direction: column;
      margin-top: 40px; }
      header .upper_menu .megamenu .panel .links_list .link_item {
        width: auto; }
  header .logo {
    width: calc(50vw - 60px);
    padding: 30px; }
    header .logo .img_logo {
      width: calc(50vw - 60px); }
  header .middle_menu {
    position: relative; }
    header .middle_menu .menu,
    header .middle_menu .search {
      position: absolute;
      display: none;
      margin-top: 60px;
      right: 60px; }
      header .middle_menu .menu .search-left,
      header .middle_menu .menu .search-left:hover,
      header .middle_menu .menu .search-left:focus-within,
      header .middle_menu .search .search-left,
      header .middle_menu .search .search-left:hover,
      header .middle_menu .search .search-left:focus-within {
        padding: 13px 20px;
        width: calc(100vw - 160px);
        right: calc(4vw + 12px);
        opacity: 1; }
    header .middle_menu .mobile_menu {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-evenly;
      width: 100%; }
      header .middle_menu .mobile_menu .menu_mobile_search {
        display: block;
        width: 15px;
        height: 15px;
        background-image: url("img/icons/icon_magn_mobile.svg");
        background-size: cover; }
      header .middle_menu .mobile_menu .menu_mobile_login {
        display: block;
        width: 15px;
        height: 15px;
        background-image: url("img/icons/icon_login_mobile.svg");
        background-size: cover; }
      header .middle_menu .mobile_menu .mobile_submenu {
        position: relative; }
        header .middle_menu .mobile_menu .mobile_submenu .menu_mobile_sections {
          display: block;
          width: 15px;
          height: 15px;
          background-image: url("img/icons/icon_sections_mobile.svg");
          background-size: cover; }
        header .middle_menu .mobile_menu .mobile_submenu .submenu {
          position: absolute;
          display: flex;
          flex-direction: column;
          top: 52px;
          right: -40px;
          width: calc(100vw - 80px);
          min-height: calc(100vh - 339px);
          padding: 100px 40px;
          background-color: var(--color-white);
          background-image: url("img/bg_panel.jpg");
          background-size: cover;
          color: var(--color4); }
          header .middle_menu .mobile_menu .mobile_submenu .submenu .menu_link {
            position: relative;
            font-size: 23px;
            margin: 3vh 0; }
            header .middle_menu .mobile_menu .mobile_submenu .submenu .menu_link::before {
              position: absolute;
              right: 0;
              top: 0;
              display: block;
              content: url("img/arrows/arrow_left_black.svg");
              height: 7px;
              width: 13px;
              transform-origin: 8px 12px;
              transition: all .3s; }
            header .middle_menu .mobile_menu .mobile_submenu .submenu .menu_link::after {
              position: absolute;
              bottom: -3vh;
              left: 0;
              content: '';
              width: 50px;
              height: 1px;
              background-color: var(--color4); }
            header .middle_menu .mobile_menu .mobile_submenu .submenu .menu_link:last-child::after {
              display: none; }
    header .middle_menu .closer {
      display: none;
      position: absolute;
      top: 94px;
      right: 35px;
      width: 14px;
      height: 14px;
      background-image: url("img/icons/icon_closer.svg");
      background-size: cover;
      z-index: 1; }
  header:has(.upper_menu .megamenu[open]) .middle_menu .search,
  header:has(.upper_menu .megamenu[open]) .middle_menu .closer {
    display: block; }
  header:has(.middle_menu .mobile_submenu[open]) .middle_menu .search {
    display: block;
    margin-top: 110px;
    right: 20px; }
    header:has(.middle_menu .mobile_submenu[open]) .middle_menu .search .search-left {
      width: calc(100vw - 120px); } }

/* -------- 13" -------- */
.block_social {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  margin-top: 60px; }
  .block_social .div1 {
    grid-area: 1 / 1 / 3 / 2; }
  .block_social .div2 {
    grid-area: 1 / 2 / 2 / 3; }
  .block_social .div3 {
    grid-area: 1 / 3 / 2 / 4; }
  .block_social .div4 {
    grid-area: 2 / 2 / 3 / 3; }
  .block_social .div5 {
    grid-area: 2 / 3 / 3 / 4; }
  .block_social .social_link {
    position: relative;
    border-radius: 10px;
    overflow: hidden; }
    .block_social .social_link .label {
      position: absolute;
      top: 50px;
      font-size: 16px;
      font-weight: 100;
      color: var(--color-black);
      width: 180px;
      text-align: center; }
      .block_social .social_link .label::after {
        position: absolute;
        left: 78px;
        top: 34px;
        display: block;
        content: url("img/arrows/arrow_full_orange.svg");
        height: 24px;
        width: 24px;
        transition: all .3s; }
    .block_social .social_link .social_newsletter {
      position: relative;
      display: block;
      width: 180px;
      height: 180px;
      object-fit: cover;
      border-radius: 10px; }
    .block_social .social_link .social {
      position: relative;
      display: block;
      width: 85px;
      height: 85px;
      background-color: var(--color-bg2);
      border-radius: 10px; }
    .block_social .social_link .social_facebook,
    .block_social .social_link .social_linkedin {
      height: 27px;
      margin: 0 auto;
      padding: 29px 0; }
    .block_social .social_link .social_instagram {
      height: 35px;
      margin: 0 auto;
      padding: 25px 0; }
    .block_social .social_link .social_youtube {
      height: 24px;
      margin: 0 auto;
      padding: 31px 0; }
    .block_social .social_link:hover .label::after {
      left: 82px; }
