@import url(https://use.typekit.net/rlh4ywn.css);
@font-face {
    font-family: "icons";
    src: url(../fonts/icons.eot?3a5b7bbab9ffd71064e20fffebd38b77#iefix) format("embedded-opentype"),
url(../fonts/icons.woff2?997ebf49c42ceea54c6bb3d22de4f1ee) format("woff2"),
url(../fonts/icons.woff?217ea8d4adc70099fe00b725dea16b1b) format("woff");
}

i[class^="icon-"]:before, i[class*=" icon-"]:before {
    font-family: icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-slim-down:before {
    content: "\f101";
}
.icon-arrow-slim-left:before {
    content: "\f102";
}
.icon-arrow-slim-right:before {
    content: "\f103";
}
.icon-arrow-tail-right:before {
    content: "\f104";
}
.icon-close:before {
    content: "\f105";
}

/**/
/**/
/**/
.btn-lines {
  display: block;
  width: 100%;
  font-weight: 900;
  position: relative;
  padding: 20px 20px;
  transition: background-color 250ms ease-in-out;
  overflow: hidden;
}
.btn-lines .background {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #000;
  transition: transform 250ms ease-in-out;
}
.btn-lines::before, .btn-lines::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #000;
  z-index: 1;
  transform: translateX(calc(100% + 1px));
  transition: transform 250ms ease-in-out;
}
.btn-lines::before {
  top: 0;
}
.btn-lines::after {
  bottom: 0;
}
.btn-lines .btn-text {
  color: #fff;
  position: relative;
  font-weight: 400;
  transition: color 250ms ease-in-out;
}
.btn-lines:hover::before, .btn-lines:hover::after {
  transform: translateX(0%);
  transition: transform 250ms 150ms ease-in-out;
}
.btn-lines:hover .btn-text {
  color: #000;
  transform: translate(0px, -50%);
}
.btn-lines:hover .background {
  transform: translateX(calc(-100% - 1px));
}

#cookies-warning {
  padding: 20px 15px 15px;
}

.btn-cookies-modal {
  color: #fff;
  text-decoration: underline;
  font-weight: 300;
  transition: background 250ms ease-in-out, color 250ms ease-in-out;
}
.btn-cookies-modal:hover {
  text-decoration: none;
}

.cookies-close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #000;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  font-size: 1.125rem;
  font-weight: 300;
  transition: opacity 250ms ease-in-out;
}
@media (max-width: 900px), (max-height: 900px) {
  .cookies-close {
    font-size: calc(1.0125rem + 0.2vmin);
  }
}
.cookies-close svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cookies-close:hover {
  opacity: 0.5;
}

@media only screen and (min-width: 576px) {
  #cookies-warning {
    min-width: 370px;
    left: 50%;
    right: unset;
    bottom: 60px;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 1200px) {
  #cookies-warning {
    bottom: 30px;
  }
}
.cursor-fx {
  opacity: 0;
}

.is-cursor-fx-active,
.is-cursor-fx-active * {
  cursor: none;
}

.is-cursor-fx-active .cursor-fx {
  transition-delay: 0.3s;
}

.is-cursor-fx-active .cursor-fx.cursor-fx--loaded {
  opacity: 1;
}

.cursor-fx[data-v-f3f73494] {
  color: var(--color, #333);
  transition: color 0.18s ease-in-out, opacity 0.6s ease-in-out;
}

.cursor-fx--hover[data-v-f3f73494] {
  color: var(--color-hover, #333);
}

.cursor-fx__inner[data-v-f3f73494] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999 !important;
  border-radius: 100%;
  transition-timing-function: ease;
  transition-duration: 0.23s;
  transition-property: color, width, height, background-color, border-radius, border-color;
  pointer-events: none;
  will-change: auto;
}

.cursor-fx__inner__outside[data-v-f3f73494] {
  border: 1px solid;
}

.cursor-fx__inner__custom[data-v-f3f73494],
.cursor-fx__inner__outside[data-v-f3f73494] {
  width: 64px;
  height: 64px;
}

.cursor-fx__inner__inside[data-v-f3f73494] {
  width: 6px;
  height: 6px;
  background-color: currentColor;
}

.cursor-fx--shape-square > .cursor-fx__inner[data-v-f3f73494] {
  border-radius: 0;
}

.datepicker-in-fullscreen-background {
  background: rgba(0, 0, 0, 0.9);
}

.table-condensed > thead > tr > th {
  font-weight: 300 !important;
}
.table-condensed > thead > tr > th.dow {
  color: #000;
  font-weight: 400 !important;
  font-size: 1.1rem;
}
@media (max-width: 900px), (max-height: 900px) {
  .table-condensed > thead > tr > th.dow {
    font-size: calc(1.01rem + 0.16vmin);
  }
}

.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover {
  background: #f1f1f1;
  position: relative;
}

div.datepicker table tr td.day {
  color: #000;
  font-size: 1.1rem;
}
@media (max-width: 900px), (max-height: 900px) {
  div.datepicker table tr td.day {
    font-size: calc(1.01rem + 0.16vmin);
  }
}
div.datepicker table tr td.active.active {
  background: #000 !important;
}
div.datepicker table tr td span.active.active {
  background: #000 !important;
}
div.datepicker table tr td span.active.active:hover {
  background: #000 !important;
}

.datepicker-in-fullscreen-controls .dpifs-close {
  border: none !important;
  width: 100%;
  font-family: "hero-new", sans-serif;
  font-weight: 300;
}
.datepicker-in-fullscreen-controls .dpifs-close i {
  color: #fff;
}
.datepicker-in-fullscreen-controls .dpifs-close i::before {
  font-size: 3rem;
}
@media (max-width: 900px), (max-height: 900px) {
  .datepicker-in-fullscreen-controls .dpifs-close i::before {
    font-size: calc(1.2rem + 3.2vmin);
  }
}
.datepicker-in-fullscreen-controls .dpifs-close:hover {
  background: transparent;
}

.datepicker-in-fullscreen-content {
  background: transparent;
}

.datepicker-in-fullscreen {
  background: #fff;
}

.error-page .logo {
  height: 80px;
  max-width: 100%;
}

.with-fancybox .header {
  pointer-events: none;
}
.with-fancybox .header .btn-menu {
  display: none;
}

.fancybox__backdrop {
  background: rgba(0, 0, 0, 0.95);
}

.fancybox__toolbar {
  z-index: 11;
}
.fancybox__toolbar.is-absolute {
  top: 33px;
  right: 18px;
}

.f-button:focus-visible {
  box-shadow: none;
}
.f-button.f-button-close {
  background: none;
  height: auto;
  width: auto;
  color: #fff;
}
.f-button.f-button-close span {
  font-family: hero-new, sans-serif;
  position: relative;
  font-size: 0.7rem;
  line-height: 1;
  font-weight: 100;
}
.f-button.f-button-close span::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0%;
  height: 1px;
  background: #fff;
  transition: width 250ms ease-out;
}
.f-button.f-button-close:hover {
  background: none;
}
.f-button.f-button-close:hover span::before {
  width: 100%;
}

.is-horizontal .fancybox__nav .f-button.is-prev, .is-horizontal .fancybox__nav .f-button.is-next {
  width: 50vw;
  height: unset;
  top: 0px;
  bottom: 0px;
  z-index: 30;
  transform: none;
  background: none;
}
.is-horizontal .fancybox__nav .f-button.is-prev::before, .is-horizontal .fancybox__nav .f-button.is-next::before {
  content: unset;
}
.is-horizontal .fancybox__nav .f-button.is-prev:hover, .is-horizontal .fancybox__nav .f-button.is-next:hover {
  background: none;
}
.is-horizontal .fancybox__nav .f-button.is-prev {
  left: 0 !important;
  cursor: url(../images/cursor_left.svg?19d2ed9d842b5d4e2cdf7b9e01c3e4a9), auto;
}
.is-horizontal .fancybox__nav .f-button.is-next {
  right: 0 !important;
  cursor: url(../images/cursor_right.svg?bf346b95ec0f0e7a949a6516009f8007), auto;
}

.fancybox__nav {
  position: absolute;
  top: 0px;
  bottom: 0px;
  width: 100%;
  z-index: 20;
}

.fancybox__caption {
  text-align: center;
  padding: 0;
  font-weight: 100;
  font-size: 0.9rem;
  color: #fff;
}

.fancybox__footer {
  text-align: center;
}

.is-device .fancybox__nav {
  display: none;
}

@media only screen and (min-width: 576px) {
  .fancybox__toolbar.is-absolute {
    right: 32px;
  }

  .f-button.f-button-close span {
    font-size: 0.75rem;
  }

  .fancybox__caption {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .fancybox__carousel {
    padding: 80px 10px 40px;
  }

  .f-button.f-button-close span {
    font-size: 0.8rem;
  }

  .fancybox__caption {
    margin: 40px 0px 0px 0px;
  }
}
@media only screen and (min-width: 992px) {
  .with-fancybox .header {
    pointer-events: all;
  }

  .fancybox__toolbar.is-absolute {
    right: 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .fancybox__carousel {
    padding: 60px 10px 20px;
  }

  .f-button.f-button-close span {
    font-size: 0.75rem;
  }

  .fancybox__caption {
    font-size: 0.9rem;
    margin: 20px 0px 0px 0px;
  }
}
@media only screen and (min-width: 1367px) {
  .fancybox__carousel {
    padding: 80px 10px 40px;
  }

  .fancybox__caption {
    margin: 40px 0px 0px 0px;
  }
}
footer {
  z-index: 997;
  padding: 2vh 5%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  mix-blend-mode: difference;
}

.footer-menu {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: none;
  margin-bottom: 5px;
}
.footer-menu li {
  display: block;
  line-height: 1;
  margin-top: 14px;
}
.footer-menu li a,
.footer-menu li button {
  position: relative;
  text-align: left;
  display: inline-block;
}
.footer-menu li a span,
.footer-menu li button span {
  line-height: 1;
  font-size: 0.6rem;
  letter-spacing: 0.2rem;
  color: #adadad;
  display: inline;
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-image: linear-gradient(to right, #adadad 0, #adadad 100%);
  background-position: left 50%;
  transition: background-size 0.55s cubic-bezier(0.2, 0.75, 0.5, 1), color 250ms cubic-bezier(0.2, 0.75, 0.5, 1);
}
.footer-menu li a:hover span, .footer-menu li a.router-link-active span,
.footer-menu li button:hover span,
.footer-menu li button.router-link-active span {
  background-image: linear-gradient(to right, #fff 0, #fff 100%);
  color: #fff;
  background-size: 100% 1px;
}
.footer-menu li:nth-child(1) {
  margin-top: 0px;
}

.copyrights {
  font-family: Arial;
  font-size: 0.45rem;
  color: #bfbfbf;
  text-align: center;
  transition: color 250ms ease-in-out;
}
.copyrights span {
  letter-spacing: 0.05rem;
}
.copyrights a {
  position: relative;
  padding: 0 0px;
  color: #bfbfbf;
  opacity: 1;
  letter-spacing: 0.05rem;
  transition: color 250ms ease-out;
}
.copyrights a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0%;
  height: 1px;
  background: #707070;
  transition: all 250ms ease-out;
}
.copyrights a:hover::after {
  width: 100%;
}

.dark-page .footer-menu li a:hover span, .dark-page .footer-menu li a.router-link-active span,
.dark-page .footer-menu li button:hover span,
.dark-page .footer-menu li button.router-link-active span {
  color: #fff;
  background-image: linear-gradient(to right, #fff 0, #fff 100%);
}
.dark-page .copyrights {
  color: #707070;
}
.dark-page .copyrights a {
  color: #707070;
}

@media only screen and (min-width: 768px) {
  .footer-menu li a span,
.footer-menu li button span {
    font-size: 0.55rem;
    letter-spacing: 0.15rem;
  }

  .copyrights {
    font-size: 0.625rem;
  }
}
@media only screen and (min-width: 992px) {
  .is-device footer {
    position: fixed;
  }

  footer {
    padding: 0px 3% 25px;
  }

  .footer-menu {
    display: block;
  }

  .copyrights {
    text-align: right;
  }
}
@media only screen and (min-width: 1200px) {
  .footer-menu li {
    margin-top: 8px;
  }
  .footer-menu li:nth-child(1) {
    margin-top: 0px;
  }
}
@media only screen and (min-width: 1367px) {
  footer {
    padding: 0px 5% 35px;
  }

  .footer-menu li {
    margin-top: 14px;
  }
  .footer-menu li a span,
.footer-menu li button span {
    letter-spacing: 0.2rem;
    font-size: 0.67rem;
  }
}
[v-cloak] {
  display: none !important;
}

a[href^=tel] {
  text-decoration: inherit;
  color: inherit;
}

a {
  transition: color 250ms ease-in-out, background-color 250ms ease-in-out, box-shadow 250ms ease-in-out;
}

body {
  overflow-anchor: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.container-fluid {
  max-width: 1720px;
  padding-left: 5%;
  padding-right: 5%;
}

.pos-center-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pos-top-center {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
}

.pos-top-left {
  position: absolute;
  top: 0%;
  left: 0%;
}

.min-h-100 {
  min-height: 100%;
}

.h-30 {
  height: 30px;
}

.h-33 {
  height: 33px;
}

.h-50px {
  height: 50px;
}

.h-52 {
  height: 52px;
}

.h-55 {
  height: 55px;
}

.vh-90 {
  height: 90vh;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-30 {
  opacity: 0.3;
}

[class^=z-],
[class*=z-] {
  position: relative;
}

.z-5 {
  z-index: 5;
}

.z-10 {
  z-index: 10;
}

@media only screen and (min-width: 576px) {
  .container-fluid-sm-align-left {
    max-width: unset;
    padding-right: 0;
  }

  .container-fluid-sm-align-right {
    max-width: unset;
    padding-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  .container-fluid-md-align-left {
    max-width: unset;
    padding-right: 0;
  }

  .container-fluid-md-align-right {
    max-width: unset;
    padding-left: 0;
  }
}
@media only screen and (min-width: 992px) {
  .container-fluid-lg-align-left {
    max-width: unset;
    padding-right: 0;
  }

  .container-fluid-lg-align-right {
    max-width: unset;
    padding-left: 0;
    padding-right: 5%;
  }

  .pos-lg-top-left {
    position: absolute;
    top: 0%;
    left: 0%;
  }

  .pos-lg-center-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .position-lg-unset {
    position: unset !important;
  }

  .h-lg-100 {
    height: 100%;
  }

  .overflow-lg-visible {
    overflow: visible !important;
  }

  .is-device .lg-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 46px;
  }

  .pt-lg-sticky {
    padding-top: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .container-fluid-xl-align-left {
    max-width: unset;
    padding-right: 0;
  }

  .container-fluid-xl-align-right {
    max-width: unset;
    padding-left: 0;
  }

  .opacity-xl-100 {
    opacity: 1;
  }

  .opacity-xl-10 {
    opacity: 0.1;
  }

  .is-device .lg-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
  }

  .pt-lg-sticky {
    padding-top: 100px;
  }
}
@media only screen and (min-width: 1367px) {
  .container-fluid-xxl-align-left {
    max-width: unset;
    padding-right: 0;
  }

  .container-fluid-xxl-align-right {
    max-width: unset;
    padding-left: 0;
  }

  .pt-lg-sticky {
    padding-top: 120px;
  }
}
@media only screen and (min-width: 1720px) {
  .container-fluid-align-right,
.container-fluid-sm-align-right,
.container-fluid-md-align-right,
.container-fluid-lg-align-right,
.container-fluid-xl-align-right,
.container-fluid-xxl-align-right {
    padding-right: calc((100vw - 1720px) / 2 + 5%) !important;
  }
}
.header {
  z-index: 99999;
  position: fixed;
  top: 0;
  left: 0;
  padding: 25px 5% 25px 5%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  background-color: #fff;
  transition: background-color 250ms ease-in-out;
}
.header::before {
  content: "";
  background-image: url(../images/noise.png?d095195e9883ee121289aa3ca61bbffd);
  background-position: 50%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.header .logo-link {
  line-height: 1;
  width: 200px;
  height: 11px;
  position: relative;
  margin-top: 8px;
}
.header .logo-link .logo {
  position: absolute;
  top: 0;
  left: 0;
}
.header .logo-link .logo.logo-white {
  display: none;
}
.header .btn-menu {
  text-align: left;
  width: 60px;
  height: 26px;
  position: relative;
}
.header .btn-menu span {
  height: 1px;
  background: #000;
  display: block;
  position: absolute;
  right: 0;
  transition: all 250ms ease-out;
}
.header .btn-menu span:nth-child(1) {
  top: 0;
  width: 60px;
}
.header .btn-menu span:nth-child(2) {
  top: calc(50% - 1px);
  width: 51px;
}
.header .btn-menu span:nth-child(3) {
  top: calc(100% - 3px);
  width: 40px;
}
.header.drawer-open {
  background-color: #000 !important;
}
.header.drawer-open::before {
  content: unset;
}
.header.drawer-open .btn-menu span {
  background: #fff;
}
.header.drawer-open .btn-menu span:nth-child(2), .header.drawer-open .btn-menu span:nth-child(3) {
  width: 60px;
}
.header.drawer-open .logo-link .logo {
  display: none;
}
.header.drawer-open .logo-link .logo.logo-white {
  display: block;
}

.dark-page .header .logo-link .logo {
  display: none;
}
.dark-page .header .logo-link .logo.logo-white {
  display: block;
}
.dark-page .header .btn-menu span {
  background: #fff;
}

.with-fancybox .header {
  background-color: transparent;
}
.with-fancybox .header::before {
  content: unset;
}
.with-fancybox .header .logo-link .logo {
  display: none;
}
.with-fancybox .header .logo-link .logo.logo-white {
  display: block;
}

.home-page .header {
  background: none !important;
}
.home-page .header::before {
  content: unset;
}

@media only screen and (min-width: 768px) {
  .header .logo-link .logo {
    width: 250px;
    height: 13px;
  }
}
@media only screen and (min-width: 992px) {
  .header {
    background-color: transparent !important;
    padding: 30px 0px 0px 3%;
    width: unset;
  }
  .header::before {
    content: unset;
  }
  .header .logo-link {
    margin-top: 0px;
  }
  .header .logo-link .logo {
    width: 200px;
  }
  .header .btn-menu {
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  .header {
    padding: 35px 0px 0px 3%;
  }
  .header .logo-link .logo {
    width: 230px;
  }
}
@media only screen and (min-width: 1367px) {
  .header {
    padding: 45px 0px 0px 4%;
  }
  .header .logo-link .logo {
    width: 230px;
  }
}
.response-wrapper {
  position: relative;
  max-width: 100%;
  padding-top: 35px;
  margin: 2px auto;
}
.response-wrapper .response-msg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 5px;
  width: 100%;
  height: 80%;
}
.response-wrapper.response-wrapper-left .error-msg {
  left: 0;
  transform: unset;
}
.response-wrapper.response-wrapper-right .error-msg {
  left: unset;
  right: 0;
  transform: unset;
}

.error-msg {
  position: absolute;
  right: 0px;
  font-size: 0.47rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  color: #fff;
  background-color: #ce0000;
  padding: 2px 6px;
  z-index: 5;
}

.input-wrapper {
  position: relative;
  margin-bottom: 1.5rem;
}
.input-wrapper label {
  font-family: "hero-new", sans-serif;
  font-size: 0.75rem;
  color: #000;
  display: block;
  font-weight: 400;
  letter-spacing: 0.1rem;
  margin-bottom: 8px;
}
.input-wrapper label span {
  font-size: 0.5625rem;
}
.input-wrapper input[type=text],
.input-wrapper input[type=email],
.input-wrapper input[type=password],
.input-wrapper input[type=search]:not(.vs__search),
.input-wrapper input[type=number] {
  font-family: "hero-new", sans-serif;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.1rem;
  color: #444444;
  width: 100%;
  border-width: 0px 0px 1px 0px;
  border-color: #444444;
  border-style: solid;
  border-radius: 0px;
  padding: 10px 12px;
  background-color: transparent;
  -webkit-appearance: none;
}
.input-wrapper input[type=text]:focus,
.input-wrapper input[type=email]:focus,
.input-wrapper input[type=password]:focus,
.input-wrapper input[type=search]:not(.vs__search):focus,
.input-wrapper input[type=number]:focus {
  outline: none;
}
.input-wrapper input[type=text]::-webkit-input-placeholder,
.input-wrapper input[type=email]::-webkit-input-placeholder,
.input-wrapper input[type=password]::-webkit-input-placeholder,
.input-wrapper input[type=search]:not(.vs__search)::-webkit-input-placeholder,
.input-wrapper input[type=number]::-webkit-input-placeholder {
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.input-wrapper input[type=text]::-moz-placeholder,
.input-wrapper input[type=email]::-moz-placeholder,
.input-wrapper input[type=password]::-moz-placeholder,
.input-wrapper input[type=search]:not(.vs__search)::-moz-placeholder,
.input-wrapper input[type=number]::-moz-placeholder {
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.input-wrapper input[type=text]:-ms-input-placeholder,
.input-wrapper input[type=email]:-ms-input-placeholder,
.input-wrapper input[type=password]:-ms-input-placeholder,
.input-wrapper input[type=search]:not(.vs__search):-ms-input-placeholder,
.input-wrapper input[type=number]:-ms-input-placeholder {
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.input-wrapper input[type=text]:-moz-placeholder,
.input-wrapper input[type=email]:-moz-placeholder,
.input-wrapper input[type=password]:-moz-placeholder,
.input-wrapper input[type=search]:not(.vs__search):-moz-placeholder,
.input-wrapper input[type=number]:-moz-placeholder {
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.input-wrapper input[type=text]::-webkit-outer-spin-button, .input-wrapper input[type=text]::-webkit-inner-spin-button,
.input-wrapper input[type=email]::-webkit-outer-spin-button,
.input-wrapper input[type=email]::-webkit-inner-spin-button,
.input-wrapper input[type=password]::-webkit-outer-spin-button,
.input-wrapper input[type=password]::-webkit-inner-spin-button,
.input-wrapper input[type=search]:not(.vs__search)::-webkit-outer-spin-button,
.input-wrapper input[type=search]:not(.vs__search)::-webkit-inner-spin-button,
.input-wrapper input[type=number]::-webkit-outer-spin-button,
.input-wrapper input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.input-wrapper input[type=number] {
  -moz-appearance: textfield;
}
.input-wrapper.input-date input[type=text] {
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  line-height: 1;
  z-index: 2;
  position: relative;
}
.input-wrapper.input-date i {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  color: #000;
  z-index: 1;
}
.input-wrapper.input-date i::before {
  font-size: 1.1rem;
}
@media (max-width: 900px), (max-height: 900px) {
  .input-wrapper.input-date i::before {
    font-size: calc(1.01rem + 0.16vmin);
  }
}
.input-wrapper.input-date::before {
  content: "";
  display: block;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 60%;
  background: rgba(0, 0, 0, 0.2);
}
.input-wrapper input:disabled,
.input-wrapper select:disabled {
  opacity: 0.7;
}
.input-wrapper .error-msg {
  top: 100%;
}
.input-wrapper.has-error label {
  color: #ce0000;
}
.input-wrapper.has-error input[type=email],
.input-wrapper.has-error input[type=text],
.input-wrapper.has-error input[type=password],
.input-wrapper.has-error input[type=search],
.input-wrapper.has-error input[type=number] {
  border-color: #ce0000;
}
.input-wrapper.has-error .v-select .vs__dropdown-toggle {
  border-color: #ce0000;
}
.input-wrapper.has-error .dpifs-fake-input {
  border-color: #ce0000;
}
.input-wrapper.label-float label {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  transition: all 250ms ease-out;
  z-index: 1;
  margin-bottom: 0;
  line-height: 1;
}
.input-wrapper.label-float.has-value label {
  top: calc(0% - 0.28125rem);
  transform: translateY(0%);
  color: #000;
  font-size: 0.5625rem;
}

.textarea-wrapper {
  position: relative;
}
.textarea-wrapper label {
  font-family: "hero-new", sans-serif;
  font-size: 0.75rem;
  color: #000;
  display: block;
  font-weight: 400;
  letter-spacing: 0.1rem;
  cursor: pointer;
  margin-bottom: 8px;
}
.textarea-wrapper textarea {
  font-family: "hero-new", sans-serif;
  font-size: 0.875rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.1rem;
  color: #444444;
  width: 100%;
  border-width: 1px;
  border-color: #fff;
  border-style: solid;
  border-radius: 0px;
  background-color: #fff;
  padding: 27px 23px;
  -webkit-appearance: none;
}
.textarea-wrapper textarea:focus {
  outline: none;
}
.textarea-wrapper textarea::-webkit-input-placeholder {
  font-family: "hero-new", sans-serif;
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.textarea-wrapper textarea::-moz-placeholder {
  font-family: "hero-new", sans-serif;
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.textarea-wrapper textarea:-ms-input-placeholder {
  font-family: "hero-new", sans-serif;
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.textarea-wrapper textarea:-moz-placeholder {
  font-family: "hero-new", sans-serif;
  letter-spacing: 0.05rem;
  font-size: 0.875rem;
  color: #a2a29f;
}
.textarea-wrapper .error-msg {
  top: calc(100% - 10px);
}
.textarea-wrapper.has-error label {
  color: #ce0000;
}
.textarea-wrapper.has-error textarea {
  border-color: #ce0000;
}
.textarea-wrapper.label-float label {
  position: absolute;
  top: 20px;
  left: 20px;
  transition: all 250ms ease-out;
  margin-bottom: 0;
  line-height: 1;
}
.textarea-wrapper.label-float.has-value label {
  top: 10px;
  left: 10px;
  transform: translateY(0%);
  font-size: 0.5625rem;
}

.radio-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 120px);
}
.radio-wrapper .radio-button {
  margin-right: 15px;
  display: inline-block;
  position: relative;
  padding-left: 27px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.radio-wrapper .radio-button label {
  font-size: 0.7rem;
  margin-bottom: 0px;
  color: #000;
  font-weight: 400;
  letter-spacing: 0.1rem;
}
.radio-wrapper .radio-button input {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.radio-wrapper .radio-button .radio {
  position: absolute;
  top: 5px;
  left: 0;
  height: 21px;
  width: 21px;
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #444444;
}
.radio-wrapper .radio-button .radio::after {
  content: "";
  display: none;
  height: calc(100% + 8px);
  width: 1px;
  background-color: #444444;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotateZ(45deg);
}
.radio-wrapper .radio-button:hover input ~ .radio {
  background-color: transparent;
}
.radio-wrapper .radio-button input:checked ~ .radio {
  background-color: transparent;
}
.radio-wrapper .radio-button input:checked ~ .radio::after {
  display: block;
}
.radio-wrapper .radio-button.has-error .radio {
  border-color: #ce0000;
}

.btn-submit {
  display: block;
  width: 100%;
  font-weight: 900;
  position: relative;
  padding: 30px 20px;
  transition: background-color 250ms ease-in-out;
  overflow: hidden;
}
.btn-submit .background {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #000;
  transition: transform 250ms ease-in-out;
}
.btn-submit::before, .btn-submit::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #000;
  z-index: 1;
  transform: translateX(calc(100% + 1px));
  transition: transform 250ms ease-in-out;
}
.btn-submit::before {
  top: 0;
}
.btn-submit::after {
  bottom: 0;
}
.btn-submit i {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translate(-10px, -50%);
  color: #f1f1f1;
  transition: transform 250ms ease-in-out, color 250ms ease-in-out;
}
.btn-submit i::before {
  font-size: 3rem;
}
@media (max-width: 900px), (max-height: 900px) {
  .btn-submit i::before {
    font-size: calc(1.2rem + 3.2vmin);
  }
}
.btn-submit:hover::before, .btn-submit:hover::after {
  transform: translateX(0%);
  transition: transform 250ms 150ms ease-in-out;
}
.btn-submit:hover i {
  color: #000;
  transform: translate(0px, -50%);
}
.btn-submit:hover .background {
  transform: translateX(calc(-100% - 1px));
}
.btn-submit.loading span {
  opacity: 0;
}
.btn-submit.loading .loader {
  opacity: 1;
}
.btn-submit.loading .loader span {
  opacity: 1;
}
.btn-submit .loader {
  opacity: 0;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate(0px, -50%) translateZ(0);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  border-top: 3px solid rgba(0, 0, 0, 0.2);
  border-right: 3px solid rgba(0, 0, 0, 0.2);
  border-bottom: 3px solid rgba(0, 0, 0, 0.2);
  border-left: 3px solid #000;
  -webkit-animation: load 1s infinite linear;
          animation: load 1s infinite linear;
}
.btn-submit .loader::after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.btn-submit.error .background {
  background: #ce0000;
}
.btn-submit.error i {
  color: #fff;
  transform: translate(0px, -50%);
}
.btn-submit.error::before, .btn-submit.error::after {
  background: #ce0000;
}
.btn-submit.error:hover .background {
  transform: translateX(0%);
}
.btn-submit.success .background {
  background: #33c91b;
}
.btn-submit.success i {
  color: #fff;
  transform: translate(0px, -50%);
}
.btn-submit.success::before, .btn-submit.success::after {
  background: #33c91b;
}
.btn-submit.success:hover .background {
  transform: translateX(0%);
}

.btn-response {
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  font-size: 0.75rem;
  font-weight: 300;
  color: #fff;
}

@-webkit-keyframes load {
  0% {
    transform: translate(0px, -50%) rotate(0deg);
  }
  100% {
    transform: translate(0px, -50%) rotate(360deg);
  }
}

@keyframes load {
  0% {
    transform: translate(0px, -50%) rotate(0deg);
  }
  100% {
    transform: translate(0px, -50%) rotate(360deg);
  }
}
@media only screen and (min-width: 576px) {
  .radio-wrapper {
    grid-template-columns: repeat(4, 0fr);
  }
}
@media only screen and (min-width: 768px) {
  .radio-wrapper .radio-button label {
    font-size: 0.75rem;
  }
}
@keyframes load {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.img-loader {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateZ(0);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  border-left: 1px solid #fff;
  -webkit-animation: load 0.5s infinite linear;
          animation: load 0.5s infinite linear;
}
.img-loader::after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.mobile-menu-wrapper {
  height: 100vh;
  height: 100svh;
  padding: 80px 5% 20px;
  display: flex;
  flex-flow: column;
}
.mobile-menu-wrapper .mobile-menu {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  height: 100%;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: center;
}
.mobile-menu-wrapper .mobile-menu li {
  margin-top: 20px;
}
.mobile-menu-wrapper .mobile-menu li a,
.mobile-menu-wrapper .mobile-menu li button {
  font-size: 2rem;
  font-weight: 100;
  color: #fff;
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-image: linear-gradient(to right, #adadad 0, #adadad 100%);
  background-position: left 50%;
  transition: background-size 0.55s cubic-bezier(0.2, 0.75, 0.5, 1), color 250ms cubic-bezier(0.2, 0.75, 0.5, 1);
}
@media (max-width: 900px), (max-height: 900px) {
  .mobile-menu-wrapper .mobile-menu li a,
.mobile-menu-wrapper .mobile-menu li button {
    font-size: calc(1.1rem + 1.6vmin);
  }
}
.mobile-menu-wrapper .mobile-menu li a.router-link-exact-active,
.mobile-menu-wrapper .mobile-menu li button.router-link-exact-active {
  background-image: linear-gradient(to right, #fff 0, #fff 100%);
  color: #fff;
  background-size: 100% 1px;
}
.mobile-menu-wrapper .mobile-menu li:nth-child(1) {
  margin-top: 0px;
}
.mobile-menu-wrapper .mobile-submenu li {
  line-height: 1.2;
  margin-top: 10px;
}
.mobile-menu-wrapper .mobile-submenu li a,
.mobile-menu-wrapper .mobile-submenu li button {
  font-size: 1rem;
  font-weight: 100;
  color: #fff;
}
.mobile-menu-wrapper .mobile-menu-secondary {
  margin-top: 30px;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  justify-self: flex-end;
  justify-content: space-between;
}
.mobile-menu-wrapper .mobile-menu-secondary li a,
.mobile-menu-wrapper .mobile-menu-secondary li button {
  font-size: 1rem;
  font-weight: 100;
  color: #fff;
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-image: linear-gradient(to right, #adadad 0, #adadad 100%);
  background-position: left 50%;
  transition: background-size 0.55s cubic-bezier(0.2, 0.75, 0.5, 1), color 250ms cubic-bezier(0.2, 0.75, 0.5, 1);
}
.mobile-menu-wrapper .mobile-menu-secondary li a.router-link-exact-active,
.mobile-menu-wrapper .mobile-menu-secondary li button.router-link-exact-active {
  background-image: linear-gradient(to right, #fff 0, #fff 100%);
  color: #fff;
  background-size: 100% 1px;
}

.is-device .mobile-menu-wrapper {
  height: calc(100vh - 110px);
  height: 100svh;
}

.modal-body {
  padding-top: 70px;
}
.modal-body .modal-body-inner {
  background: #fff;
}

.btn-modal-close {
  cursor: pointer !important;
  color: #fff;
  position: absolute;
  top: 0px;
  left: 50%;
  z-index: 5;
  transform: translateX(-50%);
  transition: color 250ms ease-in-out;
}
.btn-modal-close i::before {
  font-size: 3rem;
}
.btn-modal-close:hover {
  color: #cccccc;
}

.page-loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  z-index: 999999;
  overflow: hidden;
  display: block;
  will-change: display;
}
.page-loader .circle-big,
.page-loader .circle-small {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  will-change: width;
}
.page-loader .circle-big > span,
.page-loader .circle-small > span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding-top: 100%;
  border-radius: 50%;
}
.page-loader .circle-big {
  width: 0%;
}
.page-loader .circle-big span {
  background-color: #fff;
}
.page-loader .circle-small {
  width: 160px;
  opacity: 1;
}
.page-loader .circle-small > span {
  background-color: #000;
}
.page-loader .circle-small .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-47%, -55%);
  font-size: 0.5rem;
  text-align: center;
  color: #fff;
  opacity: 1;
}
.page-loader .circle-small .text p {
  white-space: nowrap;
}
.page-loader .circle-small .text p.gallery {
  text-transform: uppercase;
}
.page-loader .circle-small .text p.percentage {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
}
.page-loader .circle-half-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
}
.page-loader .circle-half-wrapper.circle-half-wrapper-main {
  transform: scale(1) translate(-50%, -50%);
}
.page-loader .circle-half-wrapper.circle-half-wrapper-1, .page-loader .circle-half-wrapper.circle-half-wrapper-2 {
  display: none;
}
.page-loader .circle-half-wrapper.circle-half-wrapper-1 {
  transform: translate(-50%, -50%) scale(0.4);
}
.page-loader .circle-half-wrapper.circle-half-wrapper-2 {
  transform: translate(-50%, -50%) scale(0.7);
}
.page-loader .circle-half-wrapper .circle-half {
  height: 50%;
  width: 100%;
  background-color: #fff;
  transform-origin: 50% 0%;
}
.page-loader .circle-half-wrapper .circle-half.circle-half-top {
  height: calc(50% + 1px);
  position: relative;
  top: 1px;
}
.page-loader .circle-half-wrapper .circle-half.half-1, .page-loader .circle-half-wrapper .circle-half.half-2 {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 50% 100%;
}
.page-loader .circle-half-wrapper .circle-half.half-1 {
  transform: rotateZ(0deg);
}
.page-loader .circle-half-wrapper .circle-half.half-2 {
  transform: rotateZ(0deg);
}

@media (orientation: portrait) {
  .circle-half-wrapper {
    height: 140vh;
    height: 140svh;
    width: 140vh;
    width: 140svh;
  }

  .circle-half.circle-half-top, .circle-half.half-1, .circle-half.half-2 {
    border-top-left-radius: 100vh;
    border-top-right-radius: 100vh;
  }
  .circle-half.circle-half-bottom {
    border-bottom-left-radius: 100vh;
    border-bottom-right-radius: 100vh;
  }
}
@media (orientation: landscape) {
  .circle-half-wrapper {
    height: 140vw;
    width: 140vw;
  }

  .circle-half.circle-half-top, .circle-half.half-1, .circle-half.half-2 {
    border-top-left-radius: 100vw;
    border-top-right-radius: 100vw;
  }
  .circle-half.circle-half-bottom {
    border-bottom-left-radius: 100vw;
    border-bottom-right-radius: 100vw;
  }
}
.about-page .page-loader .circle-big span {
  background-color: #000;
}
.about-page .page-loader .circle-small > span {
  background-color: #fff;
}
.about-page .page-loader .circle-small .text {
  color: #000;
}
.about-page .page-loader .circle-half-wrapper .circle-half {
  background-color: #000;
}

@media only screen and (min-width: 576px) {
  .page-loader .circle-small {
    width: 190px;
  }
}
@media only screen and (min-width: 992px) {
  .page-loader {
    z-index: 99999;
  }
}
::-moz-selection {
  color: #fff;
  background: #000;
  opacity: 1;
}

::selection {
  color: #fff;
  background: #000;
  opacity: 1;
}

.tooltip {
  opacity: 1;
}

.fade-right-active,
.fade-right-leave-active {
  transition: all 250ms ease-out;
}

.fade-right-enter,
.fade-right-leave-to {
  opacity: 0;
  transform: translate(100%, -50%) !important;
}

.text-sans-serif {
  font-family: "hero-new", sans-serif !important;
}

.text-monospace {
  font-family: "arial", sans-serif !important;
}

.tiny {
  font-size: 0.625rem;
}

.xtiny {
  font-size: 0.5625rem;
}

.ls-30 {
  letter-spacing: 0.2rem;
}

.lh-10 {
  line-height: 1;
}

.lh-15 {
  line-height: 1.7;
}

.link-strikethrough {
  position: relative;
  color: #000;
}
.link-strikethrough::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0%;
  height: 1px;
  background: currentColor;
  transition: width 250ms ease-in-out;
}
.link-strikethrough:hover {
  color: currentColor;
}
.link-strikethrough:hover::after {
  width: 100%;
}

ul.no-style {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

hr {
  border-top: 1px solid #fff;
  margin: 5px auto;
}
hr.vertical {
  border-top: none;
  position: relative;
  margin: 0 auto;
}
hr.vertical::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 148px;
  background-color: #775c22;
  transform: translateY(-50%);
}
hr.vertical.medium::after {
  height: 86px;
}
hr.vertical.primary::after {
  background-color: #000;
}

.text-terms h1,
.text-terms h2,
.text-terms h3,
.text-terms h4,
.text-terms h5,
.text-terms h6,
.text-terms .h1,
.text-terms .h2,
.text-terms .h3,
.text-terms .h4,
.text-terms .h5,
.text-terms .h6,
.text-terms p,
.text-terms li {
  color: #444444;
  font-family: "hero-new", sans-serif;
}
.text-terms h2 {
  color: #000;
  margin-bottom: 25px;
}
.text-terms .h3 {
  font-size: 1rem;
  font-weight: 600;
}
.text-terms h3,
.text-terms h4,
.text-terms h5,
.text-terms h6 {
  color: #000;
  margin: 20px 0px;
}
.text-terms p {
  margin-bottom: 15px;
  font-size: 0.7rem;
  line-height: 1.7;
}
.text-terms ul,
.text-terms ol {
  padding: 0px 0px 0px 20px;
  margin-bottom: 15px;
}
.text-terms ul li,
.text-terms ol li {
  font-size: 0.9em;
  line-height: 1.7em;
}
.text-terms a {
  color: #444444;
  text-decoration: underline;
}
.text-terms a:hover {
  text-decoration: none;
}

i[class^=icon-],
i[class*=" icon-"] {
  font-size: 0;
  line-height: 1;
}

i.icon-xl[class^=icon-]::before,
i.icon-xl[class*=" icon-"]::before {
  font-size: 3.25rem;
}
@media (max-width: 900px), (max-height: 900px) {
  i.icon-xl[class^=icon-]::before,
i.icon-xl[class*=" icon-"]::before {
    font-size: calc(1.225rem + 3.6vmin);
  }
}

@media only screen and (min-width: 576px) {
  .lh-sm-20 {
    line-height: 2;
  }

  .text-sm-justify {
    text-align: justify !important;
  }
}
/**/
.bg-noise {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
}
.bg-noise::after {
  content: "";
  background-image: url(../images/noise.png?d095195e9883ee121289aa3ca61bbffd);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.page-wrapper {
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  padding-top: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.page-wrapper.full-page .content-wrapper {
  padding-bottom: 0;
}
.page-wrapper.align-page-left .content-wrapper {
  margin: 0px 0px 0px 5%;
}

.side-contact {
  display: none;
  position: fixed;
  left: 4%;
  top: 0;
  bottom: 0;
}
.side-contact p {
  font-size: 0.5rem;
  white-space: nowrap;
  letter-spacing: 0.07rem;
  position: absolute;
  top: 42%;
  left: 0%;
  padding-right: 140px;
  transform-origin: 0% 50%;
  transform: rotateZ(-90deg) translateX(-50%);
}
.side-contact p .counters {
  position: absolute;
  right: 0;
  width: 137px;
}
.side-contact p .counters .counter-1,
.side-contact p .counters .counter-2 {
  position: absolute;
}
.side-contact p .counters .counter-1 .counter,
.side-contact p .counters .counter-1 .unit,
.side-contact p .counters .counter-2 .counter,
.side-contact p .counters .counter-2 .unit {
  position: absolute;
}
.side-contact p .counters .counter-1 .counter,
.side-contact p .counters .counter-2 .counter {
  left: 0;
}
.side-contact p .counters .counter-1 .unit,
.side-contact p .counters .counter-2 .unit {
  right: 0;
}
.side-contact p .counters .counter-1 {
  width: 63px;
}
.side-contact p .counters .counter-2 {
  width: 66px;
  right: 0px;
}

.content-wrapper {
  width: 100%;
  margin: 0 5%;
}

.has-scroll-smooth .content-wrapper {
  overflow: hidden;
  height: calc(100vh - 80px);
}
.has-scroll-smooth [data-scroll-container] {
  padding-bottom: 140px;
  display: flex;
}
.has-scroll-smooth [data-scroll-container] [data-scroll-section] {
  width: 100%;
}

.title {
  font-size: 3rem;
  letter-spacing: 0.05rem;
  font-weight: 100;
  line-height: 0.9;
}
@media (max-width: 900px), (max-height: 900px) {
  .title {
    font-size: calc(1.2rem + 3.2vmin);
  }
}

.title-2 {
  font-size: 4rem;
  letter-spacing: 0.05rem;
  font-weight: 100;
  line-height: 0.9;
}
@media (max-width: 900px), (max-height: 900px) {
  .title-2 {
    font-size: calc(1.3rem + 4.8vmin);
  }
}

.page-links {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-links li {
  margin-right: 25px;
  padding-right: 25px;
  position: relative;
}
.page-links li a {
  font-size: 1.4rem;
  font-weight: 100;
  color: #898A89;
  white-space: nowrap;
  letter-spacing: 0.2rem;
}
@media (max-width: 900px), (max-height: 900px) {
  .page-links li a {
    font-size: calc(1.04rem + 0.64vmin);
  }
}
.page-links li a:hover {
  color: #fff;
}
.page-links li::after {
  content: "//";
  font-size: 1.875rem;
  font-weight: 100;
  line-height: 1;
  color: #898A89;
  display: block;
  position: absolute;
  right: 0;
  top: 55%;
  transform: translate(50%, -50%);
}
@media (max-width: 900px), (max-height: 900px) {
  .page-links li::after {
    font-size: calc(1.0875rem + 1.4vmin);
  }
}
.page-links li:last-child {
  margin-right: 0px;
  padding-right: 0px;
}
.page-links li:last-child::after {
  content: unset;
}

.is-device [data-scroll-container] {
  padding-bottom: 60px;
}

@media (orientation: portrait) {
  .is-device .page-wrapper {
    min-height: calc(100vh - 75px);
    min-height: 100svh;
  }
  .is-device.safari-13-14 .page-wrapper {
    min-height: calc(100vh - 115px);
    min-height: 100svh;
  }
}
@media (orientation: landscape) {
  .is-device .page-wrapper {
    min-height: calc(100vh - 51px);
    min-height: 100svh;
  }
}
.home-menu {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  z-index: 9;
  position: relative;
  margin-bottom: 50px;
}
.home-menu li {
  margin-top: 2vh;
}
.home-menu li a {
  font-size: 3.3rem;
  font-weight: 100;
  line-height: 1;
  position: relative;
  letter-spacing: 0.4rem;
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-image: linear-gradient(to right, #000 0, #000 100%);
  transition: background-size 0.55s cubic-bezier(0.2, 0.75, 0.5, 1);
  background-position: left 56%;
}
@media (max-width: 900px), (max-height: 900px) {
  .home-menu li a {
    font-size: calc(1.23rem + 3.68vmin);
  }
}
.home-menu li a:hover, .home-menu li a.active {
  color: #444444;
  background-size: 100% 1px;
}
.home-menu li:nth-child(1) {
  margin-top: 0;
}

canvas.cursor-pointer {
  cursor: pointer;
}

.high-res-images-loader {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
  background: #000;
  height: 180px;
  width: 36px;
  z-index: 5;
}
.high-res-images-loader .value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-48%, -50%) rotateZ(-90deg);
  text-align: center;
  white-space: nowrap;
}
.high-res-images-loader .value span {
  line-height: 1;
  display: inline-block;
  color: #fff;
  font-size: 0.5rem;
  line-height: 1;
  padding: 3px 0px;
}
.high-res-images-loader .value span:last-child {
  font-weight: 600;
}

.portfolio-menu {
  position: relative;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-flow: column;
}
.portfolio-menu li {
  margin-top: 10px;
  line-height: 1;
  opacity: 0.5;
}
.portfolio-menu li a,
.portfolio-menu li button {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1;
  position: relative;
  letter-spacing: 0.2rem;
  text-align: left;
  color: #000;
}
.portfolio-menu li a span,
.portfolio-menu li button span {
  display: inline;
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-image: linear-gradient(to right, #000 0, #000 100%);
  transition: background-size 0.55s cubic-bezier(0.2, 0.75, 0.5, 1);
  background-position: left 50%;
}
.portfolio-menu li a:hover span, .portfolio-menu li a.active span, .portfolio-menu li a.router-link-exact-active span,
.portfolio-menu li button:hover span,
.portfolio-menu li button.active span,
.portfolio-menu li button.router-link-exact-active span {
  background-size: 100% 1px;
}
.portfolio-menu li:nth-child(1) {
  margin-top: 0;
}

.masonry {
  display: grid;
  opacity: 0;
  transition: opacity 250ms ease-in-out;
}
.masonry.columns-1 {
  grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
}
.masonry.columns-2 {
  grid-template-columns: repeat(auto-fill, minmax(50%, 1fr));
}
.masonry.columns-3 {
  grid-template-columns: repeat(auto-fill, minmax(33%, 1fr));
}
.masonry.columns-4 {
  grid-template-columns: repeat(auto-fill, minmax(25%, 1fr));
}
.masonry .masonry-item {
  overflow: hidden;
  position: relative;
  margin: 5px;
  display: block;
}
.masonry .masonry-item .img-low {
  width: 100%;
  z-index: 1;
  filter: blur(25px);
}
.masonry .masonry-item .img-medium {
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 100%;
  transition: opacity 1500ms ease-in-out;
}
.masonry .masonry-item .img-medium.show {
  opacity: 1;
}
.masonry .masonry-item .img-loader {
  z-index: 2;
}
.masonry.active {
  opacity: 1;
}

.btn-change-view {
  font-size: 0.6875rem;
  opacity: 0.34;
  text-align: right;
  line-height: 1.3;
  display: block;
  color: #000;
  transition: opacity 250ms ease-in-out;
}
.btn-change-view:hover {
  opacity: 1;
}

.btn-logout {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.2;
  color: #000;
  opacity: 0.34;
  text-align: left;
  display: block;
  transition: opacity 250ms ease-in-out;
}
.btn-logout:hover {
  opacity: 1;
}

.dark-page .side-contact {
  color: #898A89;
}

@media only screen and (min-width: 576px) {
  .title {
    font-size: 3rem;
    letter-spacing: 0.3rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 900px), only screen and (min-width: 576px) and (max-height: 900px) {
  .title {
    font-size: calc(1.2rem + 3.2vmin);
  }
}
@media only screen and (min-width: 576px) {
  .page-links li {
    margin-right: 30px;
    padding-right: 30px;
  }
  .page-links li a {
    letter-spacing: 0.5rem;
    font-size: 1.875rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 900px), only screen and (min-width: 576px) and (max-height: 900px) {
  .page-links li a {
    font-size: calc(1.0875rem + 1.4vmin);
  }
}
@media only screen and (min-width: 576px) {
  .portfolio-menu {
    flex-flow: row;
  }
  .portfolio-menu li {
    margin-top: 0px;
    margin-right: 25px;
  }
}
@media only screen and (min-width: 768px) {
  .page-wrapper.align-page-left .content-wrapper {
    margin: 0 5%;
  }

  .content-wrapper {
    width: 100%;
    margin: 0 10%;
  }

  [data-scroll-container] {
    padding-bottom: 60px;
  }

  .has-scroll-smooth .content-wrapper {
    height: calc(100vh - 80px);
  }
  .has-scroll-smooth [data-scroll-container] {
    padding-bottom: 150px;
  }

  .side-contact {
    display: block;
  }

  .page-links li {
    margin-right: 50px;
    padding-right: 50px;
  }

  .home-page .side-contact,
.about-page .side-contact,
.login-page .side-contact {
    display: none;
  }
}
@media only screen and (min-width: 992px) {
  .page-wrapper {
    padding-top: 100px;
  }
  .page-wrapper.full-page {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .page-wrapper.align-page-left .content-wrapper {
    margin: 0 5% 0 10%;
  }

  .content-wrapper {
    margin: 0 3% 0 10%;
    padding-bottom: 130px;
  }

  .home-content {
    width: calc(100vw - 10vw);
  }

  [data-scroll-container] {
    padding-bottom: 100px;
  }

  .has-scroll-smooth .page-wrapper.full-page .content-wrapper {
    height: 100vh;
  }
  .has-scroll-smooth .page-wrapper.full-page .content-wrapper [data-scroll-container] {
    padding-bottom: 150px;
  }

  .portfolio-menu {
    flex-flow: column;
  }
  .portfolio-menu li {
    margin-top: 10px;
    margin-right: 0;
  }

  .page-links {
    justify-content: flex-start;
  }
  .page-links li {
    margin-right: 30px;
    padding-right: 30px;
  }
  .page-links li a {
    letter-spacing: 0.4rem;
  }

  .about-page .side-contact,
.login-page .side-contact {
    display: block;
  }
}
@media only screen and (min-width: 1200px) {
  .side-contact {
    left: 3%;
  }

  .home-page .side-contact {
    display: block;
  }

  .title {
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 900px), only screen and (min-width: 1200px) and (max-height: 900px) {
  .title {
    font-size: calc(1.15rem + 2.4vmin);
  }
}
@media only screen and (min-width: 1200px) {
  .page-links li {
    margin-right: 50px;
    padding-right: 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .masonry {
    padding-left: 10px;
  }
}
@media only screen and (min-width: 1367px) {
  .has-scroll-smooth .page-wrapper.full-page .content-wrapper [data-scroll-container] {
    padding-bottom: 165px;
  }

  .home-menu li a {
    font-size: 4.5rem;
  }
}
@media only screen and (min-width: 1367px) and (max-width: 900px), only screen and (min-width: 1367px) and (max-height: 900px) {
  .home-menu li a {
    font-size: calc(1.35rem + 5.6vmin);
  }
}
@media only screen and (min-width: 1367px) {
  .title {
    font-size: 3.75rem;
  }
}
@media only screen and (min-width: 1367px) and (max-width: 900px), only screen and (min-width: 1367px) and (max-height: 900px) {
  .title {
    font-size: calc(1.275rem + 4.4vmin);
  }
}
@media only screen and (min-width: 1024px) {
  [data-scroll-container] {
    padding-bottom: 120px;
  }
}
@media only screen and (max-height: 649px) {
  .side-contact {
    display: none;
  }

  .home-page .side-contact,
.about-page .side-contact,
.login-page .side-contact {
    display: none;
  }
}

/*# sourceMappingURL=styles.css.map*/