/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/generic/_reset.sass ***!
  \***********************************************************************************************************************/
html {
  padding: 0;
  margin: 0;
}

body {
  padding: 0;
  margin: 0;
}

button, input, select {
  appearence: none;
}
/*!*********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/tools/_fonts.sass ***!
  \*********************************************************************************************************************/
@font-face {
  src: url(../js/../fonts/Aspekta-900.98a6d8ff4ee49e69fe00.woff2) format(woff2);
  font-family: "Aspekta";
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url(../js/../fonts/Aspekta-800.574b2a9950c45714b38d.woff2) format(woff2);
  font-family: "Aspekta";
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url(../js/../fonts/Aspekta-700.a2dbaa1a04a4fbec8ba4.woff2) format(woff2);
  font-family: "Aspekta";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url(../js/../fonts/Aspekta-400.9efc7fb5c2a6a521a379.woff2) format(woff2);
  font-family: "Aspekta";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url(../js/../fonts/CrimsonText-Regular.b7af1dccae742a310539.ttf) format(truetype);
  font-family: "Crimson";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url(../js/../fonts/CrimsonText-Bold.22c807fdbe784a0ec91a.ttf) format(truetype);
  font-family: "Crimson";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url(../js/../fonts/CrimsonText-SemiBold.3518edb0e88939f1d275.ttf) format(truetype);
  font-family: "Crimson";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url(../js/../fonts/CrimsonText-Italic.428025ba40b1c354f687.ttf) format(truetype);
  font-family: "Crimson";
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/elements/_base.sass ***!
  \***********************************************************************************************************************/
:root {
  --color1: #000000;
  --color2: #B4B4B4;
  --color3: #D9D9D9;
  --color4: #f1f1f1;
  --color5: #ffffff;
  --bp-wide: 80rem;
  --bp-desktop: calc(64rem + 1px);
  --bp-tablet: calc(48rem + 1px);
  --ff1: Aspekta, sans-serif;
  --ff2: Crimson, sans-serif;
  --bp1: 80rem;
  --bp2: calc(64rem + 1px);
  --bp3: calc(56rem + 1px);
  --bp4: calc(48rem + 1px);
  --bp5: 40rem;
  --bp6: 32rem;
  --bp7: 24rem;
}

@media all and (orientation: landscape) {
  :root {
    --fs-small: 1.3vw;
    --fs-regular: 1.5vw;
    --fs-mid: 2vw;
    --fs-large: 1.61rem;
    --fs-xl: 2vw;
    --fs-xxl: 4vw;
    --fs-xxxl: 4.5vw;
    --fs-xxxxl: 7.7vw;
    --fs-xxxxxl: 5.5vw;
    --fs-big: 9vw;
    --fixed-header-space: 7.7vw;
    --body-outer-padding: 10vw 1vw 7.7vw 1vw;
  }
}
@media all and (orientation: portrait) {
  :root {
    --fs-small: 4vw;
    --fs-regular: 5vw;
    --fs-mid: 5.5vw;
    --fs-large: 7.5vw;
    --fs-xl: 2rem;
    --fs-xxl: 2.5rem;
    --fs-xxxl: 8.5vw;
    --fs-xxxxl: 11vw;
    --fs-xxxxxl: 10vw;
    --fs-big: 10vw;
    --fixed-header-space: 18vw;
    --body-outer-padding: 23vw 3vw 10vw 3vw;
  }
}
/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/objects/_btns.sass ***!
  \**********************************************************************************************************************/
.btn {
  appearance: none;
  cursor: pointer;
}
.btn--regular {
  font-size: var(--fs-small);
  padding: 1.2vw 3vw;
  box-sizing: border-box;
  letter-spacing: 0;
}
.btn--small {
  letter-spacing: 0.2rem;
  font-size: var(--fs-small);
  padding: 0.5rem 1rem;
  box-sizing: border-box;
}
.btn__default {
  text-decoration: none;
  text-align: center;
  display: block;
  border-radius: 0;
  font-weight: 700;
  font-family: var(--ff1);
  border: none;
}
.btn__default--grey {
  background-color: var(--color6);
  color: var(--color1);
}
.btn__default--white {
  color: var(--color2);
  background-color: var(--color1);
}
.btn__default--black {
  background-color: var(--color1);
  color: var(--color5);
}
.btn__simple {
  text-decoration: none;
  border: none;
  background-color: transparent;
  border-bottom: 1px solid transparent;
  width: max-content;
  padding-left: 0;
  padding-right: 0;
  font-family: var(--ff1);
  font-weight: 600;
  display: block;
}
.btn__simple--white {
  color: var(--color2);
}
.btn__simple--black {
  color: var(--color1);
  border-bottom-color: var(--color1);
}
.btn__simple--red {
  color: var(--color3);
  border-bottom-color: var(--color3);
}
.btn__outlined {
  text-decoration: none;
  text-align: center;
  display: block;
  font-weight: 400;
  font-family: var(--ff1);
}
.btn__outlined--black {
  border: 1px solid var(--color2);
  color: var(--color2);
}
.btn__outlined--green {
  background-color: transparent;
  color: var(--color7);
  border: 1px solid var(--color7);
}
/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_header.sass ***!
  \***************************************************************************************************************************/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  width: 100%;
  z-index: 100;
}
.header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  margin: auto;
}
.header__logo {
  display: block;
}

.nav__button {
  padding: 0;
  border: none;
  cursor: pointer;
  color: var(--color1);
  background-color: transparent;
  display: block;
}
.nav__button svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media all and (orientation: landscape) {
  .header__networks {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__network {
    display: block;
    width: 1.5vw;
    height: 1.5vw;
    color: var(--color1);
    margin: auto 1.5vw;
  }
  .header__network svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .header__logo {
    width: 11vw;
  }
  .header__container {
    padding: 1vw;
  }
  .nav__button {
    width: 3vw;
    height: 3vw;
    margin-left: 7vw;
  }
}
@media all and (orientation: portrait) {
  .header__logo {
    width: 32vw;
  }
  .header__networks {
    display: none;
  }
  .header__container {
    padding: 2vw;
  }
  .nav__button {
    width: 13vw;
    height: 13vw;
  }
}
/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_menu.sass ***!
  \*************************************************************************************************************************/
.menu {
  position: fixed;
  top: -100vh;
  left: 0;
  z-index: 200;
  width: 100%;
  height: auto;
  min-height: 100vh;
  background-color: var(--color1);
  display: block;
  transition: all 600ms ease-in-out;
}
.menu--active {
  top: 0;
}
.menu__close {
  border: none;
  background-color: transparent;
  padding: 0;
  color: var(--color5);
  display: block;
  position: absolute;
}
.menu__close svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.menu__container {
  width: 90%;
  box-sizing: border-box;
  margin: auto;
}
.menu__search {
  width: 100%;
}
.menu__column--left {
  padding-top: 5vw;
}
.menu__column--right {
  padding-top: 5vw;
}
.menu__title {
  color: var(--color5);
  margin: auto;
  font-size: var(--fs-regular);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-regular);
  letter-spacing: calc(var(--fs-regular) * -0.03);
}
.menu__logo {
  display: block;
}
.menu__networks {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 auto auto 0;
}
.menu__networks-text {
  display: block;
  font-size: var(--fs-regular);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-regular);
  letter-spacing: calc(var(--fs-regular) * -0.03);
  color: var(--color5);
}
.menu__network {
  color: var(--color5);
  text-decoration: none;
  display: block;
}
.menu__network svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.menu__copy {
  color: var(--color5);
  margin: 3vw auto auto 0;
  font-size: var(--fs-small);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-small);
  letter-spacing: calc(var(--fs-small) * -0.03);
}
.menu__copy--link {
  color: var(--color5);
  text-decoration: none;
}

.nav__element {
  color: var(--color5);
  margin: auto auto auto 0;
  display: block;
  text-decoration: none;
  padding: 1vw 0;
  transition: all 600ms ease-in-out;
}
.nav__element:hover {
  margin-left: 4vw;
  color: var(--color2);
}

@media all and (orientation: landscape) {
  .menu__container {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 3vw 0;
    flex-wrap: wrap;
  }
  .menu__close {
    width: 1.5vw;
    height: 1.5vw;
    top: 1.5vw;
    right: 1.5vw;
  }
  .menu__column--left {
    width: 65%;
  }
  .menu__column--right {
    width: 35%;
  }
  .menu__networks {
    flex-wrap: wrap;
  }
  .menu__networks-text {
    width: 100%;
  }
  .menu__network {
    width: 1.5vw;
    height: 1.5vw;
    margin: auto 3vw auto 0;
  }
  .menu__logo {
    width: 100%;
    margin: auto 0 auto auto;
  }
  .nav__element {
    font-size: var(--fs-xxl);
    font-weight: 700;
    font-family: var(--ff1);
    font-style: normal;
    line-height: var(--fs-xxl);
    letter-spacing: calc(var(--fs-xxl) * -0.03);
  }
}
@media all and (orientation: portrait) {
  .menu__close {
    width: 7vw;
    height: 7vw;
    top: 2vw;
    right: 2vw;
  }
  .menu__container {
    padding: 8vw 0;
  }
  .menu__network {
    width: 6vw;
    height: 6vw;
    margin: auto 5vw auto 0;
  }
  .menu__networks-text {
    margin: 0 4vw 0 0;
  }
  .menu__logo {
    width: 50%;
    margin: auto auto auto 0;
  }
  .nav__element {
    font-size: var(--fs-large);
    font-weight: 700;
    font-family: var(--ff1);
    font-style: normal;
    line-height: var(--fs-large);
    letter-spacing: calc(var(--fs-large) * -0.03);
  }
}
/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_search_form.sass ***!
  \********************************************************************************************************************************/
.menu-form__container {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border-bottom: 1px solid var(--color2);
}
.menu-form__button {
  height: auto;
  border: none;
  cursor: pointer;
  margin: 0;
  background-color: transparent;
  padding: 0;
  color: var(--color5);
  transform: rotateY(180deg);
}
.menu-form__button svg {
  width: 60%;
  height: 60%;
  object-fit: contain;
}
.menu-form__input {
  color: var(--color3);
  width: calc(100% - 5vw);
  padding: 1vw;
  box-sizing: border-box;
  border: none;
  background-color: transparent;
  font-size: var(--fs-mid);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-mid);
  letter-spacing: calc(var(--fs-mid) * -0.03);
  outline: none;
}

@media all and (orientation: landscape) {
  .menu-form__button {
    width: 5vw;
  }
}
@media all and (orientation: portrait) {
  .menu-form__button {
    width: 10vw;
  }
}
/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_footer.sass ***!
  \***************************************************************************************************************************/
.footer {
  background-color: var(--color4);
}
.footer__container {
  width: 90%;
  margin: auto;
}
.footer__column--left {
  box-sizing: border-box;
}
.footer__logo {
  width: 100%;
  display: block;
}
.footer__newsletter-text {
  color: var(--color1);
  margin: 0;
}
.footer__newsletter-text--small {
  font-size: var(--fs-regular);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-regular);
  letter-spacing: calc(var(--fs-regular) * -0.03);
}
.footer__newsletter-text--big {
  font-size: var(--fs-big);
  font-weight: 900;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-big);
  letter-spacing: calc(var(--fs-big) * -0.03);
  line-height: var(--fs-xxxxl);
}
.footer__copy {
  color: var(--color1);
  font-size: var(--fs-small);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-small);
  letter-spacing: calc(var(--fs-small) * -0.03);
}
.footer__copy--link {
  text-decoration: none;
  color: var(--color1);
}
.footer__networks {
  display: flex;
}
.footer__network {
  color: var(--color1);
  display: block;
  text-decoration: none;
}
.footer__network svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.newsletter-form {
  margin-top: 6vw;
}
.newsletter-form__input {
  outline: none;
  width: 100%;
  padding: 1vw;
  box-sizing: border-box;
  border: none;
  border-bottom: 0.2vw solid var(--color2);
  background-color: transparent;
  font-size: var(--fs-regular);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-regular);
  letter-spacing: calc(var(--fs-regular) * -0.03);
}
.newsletter-form__button {
  padding: 1vw;
  border: none;
  color: var(--color1);
  background-color: transparent;
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-small);
  font-weight: 800;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-small);
  letter-spacing: calc(var(--fs-small) * -0.03);
  cursor: pointer;
}
.newsletter-form__button svg {
  width: 3vw;
  height: 3vw;
  object-fit: contain;
  margin-left: 0.5vw;
}

@media all and (orientation: landscape) {
  .footer__container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 8vw 1vw;
  }
  .footer__column--left {
    width: 50%;
    padding-right: 4vw;
  }
  .footer__column--right {
    width: 45%;
  }
  .footer__network {
    width: 2vw;
    height: 2vw;
    margin: auto 3vw auto 0;
  }
  .footer__copy {
    margin: 7vw auto 4vw auto;
  }
  .newsletter-form__container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
}
@media all and (orientation: portrait) {
  .footer__container {
    padding: 16vw 2vw;
    display: grid;
  }
  .footer__column--left {
    order: 2;
    margin-top: 16vw;
  }
  .footer__column--right {
    order: 1;
  }
  .footer__network {
    width: 6vw;
    height: 6vw;
    margin: auto 6vw auto 0;
  }
  .footer__copy {
    margin: 15vw auto 8vw auto;
  }
  .newsletter-form__button {
    margin: 6vw auto 0 auto;
  }
}
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_messages.sass ***!
  \*****************************************************************************************************************************/
.messages {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 900;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.4);
}
.messages--active {
  display: flex;
}
.messages__container {
  width: 40%;
  background-color: var(--color4);
  box-shadow: 0 0 2vw rgba(0, 0, 0, 0.2);
  padding: 3vw;
  box-sizing: border-box;
  position: relative;
}
.messages__container--success .messages__icon--success {
  display: block;
}
.messages__container--failed .messages__icon--failed {
  display: block;
}
.messages__title {
  text-align: center;
  color: var(--color1);
  font-size: var(--fs-xl);
  font-weight: 700;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-xl);
  letter-spacing: calc(var(--fs-xl) * -0.03);
  margin: auto auto 2vw auto;
}
.messages__close {
  border: none;
  background-color: transparent;
  padding: 0;
  width: 2vw;
  height: 2vw;
  position: absolute;
  top: 1vw;
  right: 1vw;
  cursor: pointer;
}
.messages__close svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.messages__text {
  color: var(--color1);
  text-align: center;
  font-size: var(--fs-regular);
  font-weight: 400;
  font-family: var(--ff1);
  font-style: normal;
  line-height: var(--fs-regular);
  letter-spacing: calc(var(--fs-regular) * -0.03);
  margin: auto;
}
.messages__icon {
  display: none;
  width: 6vw;
  height: 6vw;
  object-fit: contain;
  margin: auto auto 2vw auto;
}
/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_loading.sass ***!
  \****************************************************************************************************************************/
.loading {
  background-color: rgba(255, 255, 255, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  display: none;
  align-items: center;
  justify-content: center;
}
.loading--active {
  display: flex;
}
.loading svg {
  width: 20vw;
  height: 20vw;
  object-fit: contain;
}
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_pp_promo.sass ***!
  \*****************************************************************************************************************************/
.pp-book {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(180, 180, 180, 0.8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.pp-book--active {
  display: flex;
}
.pp-book__container {
  position: relative;
  width: 90%;
  max-width: 24rem;
  height: max-content;
}
.pp-book__link-image {
  display: block;
  width: 100%;
  height: auto;
}
.pp-book__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  appearance: none;
  border: none;
  background: none;
  cursor: pointer;
}
.pp-book__close svg {
  width: 2rem;
  height: 2rem;
  fill: #000000;
}
.pp-book__show-pp {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 900;
}
.pp-book__show-icon {
  width: 10rem;
  height: 10rem;
  object-fit: contain;
}

@media all and (max-width: calc(56rem + 1px)) {
  .pp-book__show-icon {
    width: 6rem;
    height: 6rem;
  }
}
