/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.3.6,
* Autoprefixer: v10.3.1
* Browsers: last 4 version
*/

:root {
  --font-primary: "Raleway", sans-serif;
  --font-secondary: "Cinzel", serif;
  --font-third: "Montserrat", sans-serif;
  --color-dark-1: #111111;
  --color-dark-2: #262626;
  --color-dark-3: #333333;
  --color-dark-4: #555555;
  --color-light-1: #ffffff;
  --color-light-2: #ffffff;
  --color-light-3: #ffffff;
  --color-light-4: #ffffff;
  --color-gray-1: #888888;
  --color-gray-2: #cccccc;
  --xl-max-font-size: 188;
  --xl-min-font-size: 54;
  --xl-line-height: 1.1;
  --xl-color-light: #eeece6;
  --xl-color-dark: #333333;
  --h1-max-font-size: 104;
  --h1-min-font-size: 35;
  --h1-line-height: 1.13;
  --h1-color-light: #eeece6;
  --h1-color-dark: #333333;
  --h2-max-font-size: 65;
  --h2-min-font-size: 31;
  --h2-line-height: 1.31;
  --h2-color-light: #eeece6;
  --h2-color-dark: #333333;
  --h3-max-font-size: 42;
  --h3-min-font-size: 24;
  --h3-line-height: 1.29;
  --h3-color-light: #eeece6;
  --h3-color-dark: #333333;
  --h4-max-font-size: 26;
  --h4-min-font-size: 22;
  --h4-line-height: 1.62;
  --h4-color-light: #ffffff;
  --h4-color-dark: #262626;
  --h5-max-font-size: 18;
  --h5-min-font-size: 18;
  --h5-line-height: 1.6;
  --h5-color-light: #ffffff;
  --h5-color-dark: #262626;
  --h6-max-font-size: 14;
  --h6-min-font-size: 14;
  --h6-line-height: 1.6;
  --h6-color-light: #ffffff;
  --h6-color-dark: #262626;
  --blockquote-max-font-size: 24;
  --blockquote-min-font-size: 16;
  --blockquote-line-height: 1.6;
  --blockquote-color-light: #ffffff;
  --blockquote-color-dark: #262626;
  --paragraph-max-font-size: 18;
  --paragraph-min-font-size: 16;
  --paragraph-line-height: 1.8;
  --paragraph-color-light: #cccccc;
  --paragraph-color-dark: #262626;
  --dropcap-max-font-size: 110;
  --dropcap-min-font-size: 60;
  --dropcap-line-height: 0.7;
  --dropcap-color-light: #ffffff;
  --dropcap-color-dark: #111111;
  --distance-min-xsmall: 30;
  --distance-min-small: 30;
  --distance-min-medium: 50;
  --distance-min-large: 100;
  --distance-min-xlarge: 160;
  --distance-max-xsmall: 50;
  --distance-max-small: 120;
  --distance-max-normal: 240;
  --distance-max-large: 360;
  --distance-max-xlarge: 400;
  --gutter-horizontal: 120px;
  --gutter-vertical: 80px;
  --preloader-circle-max-size: 960;
  --preloader-circle-min-size: 280;
}

@media screen and (max-width: 1400px) {
  :root {
    --gutter-horizontal: 80px;
    --gutter-vertical: 60px;
  }
}

@media screen and (max-width: 1280px) {
  :root {
    --gutter-horizontal: 60px;
    --gutter-vertical: 40px;
  }
}

@media screen and (max-width: 991px) {
  :root {
    --gutter-horizontal: 20px;
    --gutter-vertical: 20px;
  }
}

html {
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-kerning: none;
  font-kerning: none;
}

body {
  position: relative;
  width: 100%;
  min-width: 320px;
  font-family: var(--font-third);
  font-size: 100%;
  line-height: 2;
  color: var(--paragraph-color-dark);
  word-wrap: break-word;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: var(--color-gray-1);
}

.page-wrapper__content {
  position: relative;
  overflow: hidden;
  z-index: 50;
}

.arrow {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  outline: 0;
}

.arrow .svg-circle {
  width: 60px;
  height: 60px;
}

.arrow .circle {
  stroke: rgba(128, 128, 128, 0.5);
  stroke-width: 1px;
}

.arrow_mini .svg-circle {
  width: 40px;
  height: 40px;
}

.arrow_mini .arrow__pointer {
  width: 50% !important;
  right: 22px;
}

.arrow_mini .arrow__triangle {
  border-width: 4px 0 4px 6px;
}

.arrow_mini .circle {
  stroke-width: 2px;
}

.arrow-left {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.arrow__pointer {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: rgba(128, 128, 128, 0.5);
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
}

.arrow__triangle {
  display: inline-block;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent rgba(128, 128, 128, 0.5);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 991px) {
  .arrow {
    width: 36px;
    height: 36px;
  }
  .arrow .svg-circle {
    width: 36px;
    height: 36px;
  }
  .arrow .arrow__pointer {
    width: 50% !important;
    right: 20px;
  }
  .arrow .arrow__triangle {
    top: 50%;
    border-width: 4px 0 4px 6px;
  }
  .arrow .circle {
    stroke-width: 2px;
  }
}

.bg-dark-1 {
  background-color: var(--color-dark-1) !important;
}

.bg-dark-2 {
  background-color: var(--color-dark-2) !important;
}

.container-fluid {
  padding-left: var(--gutter-horizontal);
  padding-right: var(--gutter-horizontal);
}

.container-fluid_paddings {
  padding-top: var(--gutter-horizontal);
  padding-bottom: var(--gutter-horizontal);
}

.button {
  position: relative;
  display: inline-block;
  font-size: calc(10 * 1px);
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.3;
  text-transform: uppercase;
  font-weight: 700;
  text-align: center;
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-width: 2px;
  border-style: solid;
  padding: 21px 48px;
  border-radius: 64px;
}

@media screen and (min-width: 320px) {
  .button {
    font-size: calc(10 * 1px + (13 - 10) * ((100vw - 320px) / 2240));
  }
}

.button[data-hover]:before {
  content: attr(data-hover);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
}

.button__label-hover {
  display: block;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 1680px) {
  .button {
    padding: 14px 32px;
  }
}

@media screen and (max-width: 991px) {
  .button {
    padding: 12px 28px;
  }
}

.button_bordered.button_white {
  border-color: #fff;
  color: #fff;
}

.button_bordered.button_black {
  border-color: var(--color-dark-1);
  color: var(--color-dark-1);
}

.js-circle-button[data-arts-os-animation] {
  visibility: visible !important;
}

.circle-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: bottom;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(1 * (100 * 1px));
  height: calc(1 * (100 * 1px));
}

@media screen and (min-width: 320px) {
  .circle-button {
    width: calc(1 * (100 * 1px + (160 - 100) * ((100vw - 320px) / 2240)));
  }
}

@media screen and (min-width: 320px) {
  .circle-button {
    height: calc(1 * (100 * 1px + (160 - 100) * ((100vw - 320px) / 2240)));
  }
}

.circle-button__outer {
  width: 100%;
  height: 100%;
}

.circle-button__wrapper-label {
  width: 100%;
  height: 100%;
}

.circle-button__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.circle-button__inner .svg-circle {
  width: calc(1 * (60 * 1px));
  height: calc(1 * (60 * 1px));
  border: 1px solid rgba(104, 104, 104, 0.5);
  border-radius: 100%;
}

@media screen and (min-width: 320px) {
  .circle-button__inner .svg-circle {
    width: calc(1 * (60 * 1px + (100 - 60) * ((100vw - 320px) / 2240)));
  }
}

@media screen and (min-width: 320px) {
  .circle-button__inner .svg-circle {
    height: calc(1 * (60 * 1px + (100 - 60) * ((100vw - 320px) / 2240)));
  }
}

.circle-button__inner .circle {
  stroke-width: 4px;
}

.circle-button__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 0;
}

.circle-button__icon svg {
  height: 35px;
}

@media screen and (max-width: 991px) {
  .circle-button__label {
    font-size: 10px !important;
    letter-spacing: 0.3px !important;
  }
  .circle-button__icon svg {
    height: 27px;
  }
}

.cursor {
  position: fixed;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10000;
  display: none;
  color: var(--color-gray-1);
}

.cursor__follower {
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 100%;
}

.cursor__follower svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cursor__follower svg #inner,
.cursor__follower svg #outer {
  fill: none;
  stroke-linecap: butt;
}

.cursor__follower svg #inner {
  stroke-width: 1px;
  stroke: var(--color-gray-1);
  opacity: 0.7;
}

.cursor__follower svg #outer {
  stroke-width: 2px;
  stroke: #c5c6c9;
}

.cursor__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.cursor__arrow {
  position: absolute;
  margin: auto;
  font-size: 24px !important;
  width: 24px;
  height: 24px;
  opacity: 0;
  visibility: hidden;
}

.cursor__arrow_left {
  top: 0;
  bottom: 0;
  left: 0;
}

.cursor__arrow_right {
  top: 0;
  bottom: 0;
  right: 0;
}

.cursor__arrow_up {
  top: 0;
  left: 0;
  right: 0;
}

.cursor__arrow_down {
  bottom: 0;
  left: 0;
  right: 0;
}

.cursor__label {
  display: block;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;
  margin: auto;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  white-space: nowrap;
}

.cursor__icon {
  display: block;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  margin: auto;
  font-size: 28px !important;
  width: 28px;
  height: 28px;
}

.header_fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
}

.header__container {
  position: relative;
  z-index: 501;
}

.header__col {
  opacity: 0;
  visibility: hidden;
}

.header__burger {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 38px;
  vertical-align: middle;
  z-index: 500;
}

.header__burger-line {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: var(--color-dark-2);
}

.header__burger-line:nth-of-type(1) {
  top: 9px;
  left: 0;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: scaleX(0.75);
  -ms-transform: scaleX(0.75);
  transform: scaleX(0.75);
}

.header__burger-line:nth-of-type(2) {
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
}

.header__burger-line:nth-of-type(3) {
  bottom: 9px;
  left: 0;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: scaleX(0.75);
  -ms-transform: scaleX(0.75);
  transform: scaleX(0.75);
}

.header__wrapper-menu {
  position: relative;
  width: 100%;
  max-width: 50%;
  margin: auto 0;
}

.header__wrapper-overlay-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 500;
  background: 0 0 !important;
  background-color: unset !important;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  visibility: hidden;
}

.header__overlay-menu-back {
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: -2px;
  opacity: 0;
  visibility: hidden;
}

.header__wrapper-overlay-widgets {
  margin-top: auto;
  width: 100%;
  max-width: 50%;
}

.header__widget-content {
  font-size: 14px;
}

.header__widget-content p {
  font-size: 14px;
  line-height: 2;
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (max-width: 991px) {
  .header__wrapper-overlay-menu {
    text-align: center;
  }
  .header__wrapper-menu {
    max-width: 100%;
    margin-top: calc(var(--gutter-horizontal) * 2);
    margin-bottom: calc(var(--gutter-horizontal) * 2);
  }
  .header__wrapper-overlay-widgets {
    max-width: 100%;
    margin-top: 0;
    margin-bottom: calc(var(--gutter-horizontal) * 2);
  }
  .header__widget {
    margin-bottom: 1em;
  }
  .header__widget:last-child {
    margin-bottom: 2em;
  }
  .header__burger {
    width: 30px;
    height: 35px;
  }
  .header__overlay-menu-back {
    top: 2px;
  }
}

[data-arts-header-logo="secondary"] .logo__img-primary {
  opacity: 0;
  visibility: hidden;
}

[data-arts-header-logo="secondary"] .logo__img-secondary {
  opacity: 1;
  visibility: visible;
}

.js-header-sticky {
  -webkit-box-shadow: 0 0 30px 0 rgba(24, 24, 24, 0);
  box-shadow: 0 0 30px 0 rgba(24, 24, 24, 0);
  will-change: padding, box-shadow, background-color;
}

.header[data-arts-theme-text="light"] .header__burger-line {
  background-color: #fff;
}

.lazy-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: rgba(136, 136, 136, 0.1);
}

.list-projects__cover {
  display: none;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
}

.list-projects__cover > div {
  width: 100%;
  height: 100%;
}

.list-project__canvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .list-projects__cover {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .list-project__canvas {
    display: none;
  }
}

.logo {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  vertical-align: middle;
}

.logo__wrapper-img {
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  height: 100%;
  margin-right: 15px;
}

.logo__wrapper-img img {
  display: block;
}

.logo__img-secondary {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
}

.menu-overlay {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.menu-overlay > li {
  display: block;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.menu-overlay > li > a {
  display: inline-block;
}

.menu-overlay__item-wrapper {
  width: 100%;
  height: 100%;
}

.menu-overlay .sub-menu {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  list-style-type: none;
  padding: 0;
  margin: 0;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
}

.menu-overlay .sub-menu > li {
  display: block;
}

.menu-overlay .sub-menu > li > a {
  display: inline-block;
  padding: 8px 0;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.overlay_bottom-dark {
  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0, #111),
    to(rgba(17, 17, 17, 0))
  );
  background-image: -o-linear-gradient(
    bottom,
    #111 0,
    rgba(17, 17, 17, 0) 100%
  );
  background-image: linear-gradient(0deg, #111 0, rgba(17, 17, 17, 0) 100%);
}

[data-arts-parallax] {
  position: relative;
  overflow: hidden;
}

[data-arts-parallax] > div {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.preloader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99;
  background-color: #fff;
  overflow: hidden;
}

.preloader__circle {
  position: fixed;
  top: 50%;
  left: 50%;
  right: 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: calc(1 * (var(--preloader-circle-min-size) * 1px));
  height: calc(1 * (var(--preloader-circle-min-size) * 1px));
  max-width: calc(100vh - var(--gutter-vertical) * 3);
  max-height: calc(100vh - var(--gutter-vertical) * 3);
  border-radius: 100%;
  z-index: 1;
}

@media screen and (min-width: 320px) {
  .preloader__circle {
    width: calc(
      1 *
        (
          var(--preloader-circle-min-size) * 1px +
            (
              var(--preloader-circle-max-size) -
                var(--preloader-circle-min-size)
            ) * ((100vw - 320px) / 2240)
        )
    );
  }
}

@media screen and (min-width: 320px) {
  .preloader__circle {
    height: calc(
      1 *
        (
          var(--preloader-circle-min-size) * 1px +
            (
              var(--preloader-circle-max-size) -
                var(--preloader-circle-min-size)
            ) * ((100vw - 320px) / 2240)
        )
    );
  }
}

.preloader__content {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 30px;
  width: calc(1 * (var(--preloader-circle-min-size) * 1px));
  height: calc(1 * (var(--preloader-circle-min-size) * 1px));
  max-height: calc(100vh - var(--gutter-vertical) * 3);
}

@media screen and (min-width: 320px) {
  .preloader__content {
    width: calc(
      1 *
        (
          var(--preloader-circle-min-size) * 1px +
            (
              var(--preloader-circle-max-size) -
                var(--preloader-circle-min-size)
            ) * ((100vw - 320px) / 2240)
        )
    );
  }
}

@media screen and (min-width: 320px) {
  .preloader__content {
    height: calc(
      1 *
        (
          var(--preloader-circle-min-size) * 1px +
            (
              var(--preloader-circle-max-size) -
                var(--preloader-circle-min-size)
            ) * ((100vw - 320px) / 2240)
        )
    );
  }
}

.preloader__header {
  width: 100%;
}

.preloader__counter {
  white-space: nowrap;
}

.preloader__counter-number {
  display: inline-block;
  width: 40px;
}

.preloader__counter-current {
  text-align: right;
}

.preloader__counter-total {
  text-align: left;
}

.pswp__button {
  outline: 0;
}

.pswp__button--arrow--left,
.pswp__button--arrow--right {
  width: auto;
  height: auto;
  opacity: 1;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  display: none;
}

.pswp__button--arrow--left {
  left: 30px;
}

.pswp__button--arrow--right {
  right: 30px;
}

.pswp__top-bar {
  padding: 15px 15px 0;
}

.pswp__counter {
  left: 25px;
  top: 15px;
}

@media screen and (max-width: 991px) {
  .pswp__counter {
    top: 0;
    left: 10px;
  }
  .pswp__top-bar {
    padding: 0;
  }
  .pswp__button--arrow--left {
    left: 10px;
  }
  .pswp__button--arrow--right {
    right: 10px;
  }
}

[data-arts-os-animation]:not([data-arts-os-animation="animated"]) {
  opacity: 0;
  visibility: hidden;
}

[data-arts-scroll-fixed] {
  width: 100% !important;
  left: 0 !important;
  top: 0 !important;
}

.section {
  position: relative;
}

.section-fullheight {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.section-fullheight__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  min-height: 100vh;
}

.section-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.section-image__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.section-masthead__inner {
  position: relative;
  overflow: hidden;
  z-index: 50;
}

.section-masthead__background_fullscreen {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.section-masthead__wrapper-scroll-down {
  display: inline-block;
  position: absolute;
  bottom: 2px;
  z-index: 50;
}

.section-masthead__wrapper-scroll-down_center {
  left: 0;
  right: 0;
  margin: auto;
}

.overlay.section-masthead__overlay {
  z-index: 1;
  -webkit-transform: scale(1.02);
  -ms-transform: scale(1.02);
  transform: scale(1.02);
}

.section-masthead__header {
  z-index: 50;
}

@media screen and (max-width: 991px) {
  .section-masthead__wrapper-scroll-down {
    bottom: 10px;
  }
}

.spinner {
  position: fixed;
  left: var(--gutter-horizontal);
  bottom: calc(var(--fix-bar-vh, 30px) + 15px);
  width: 30px;
  height: 30px;
  z-index: 10000;
  -webkit-animation: rotator 1.2s ease-in-out infinite;
  animation: rotator 1.2s ease-in-out infinite;
  opacity: 0;
  visibility: hidden;
}

@-webkit-keyframes rotator {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}

@keyframes rotator {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}

.spinner__path {
  stroke: var(--color-gray-1);
  stroke-dasharray: 202;
  stroke-dashoffset: 0;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-animation: dash 1.2s ease-in-out infinite;
  animation: dash 1.2s ease-in-out infinite;
}

@-webkit-keyframes dash {
  0% {
    stroke-dashoffset: 202;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    stroke-dashoffset: 50.5;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 202;
    -webkit-transform: rotate(450deg);
    transform: rotate(450deg);
  }
}

@keyframes dash {
  0% {
    stroke-dashoffset: 202;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    stroke-dashoffset: 50.5;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 202;
    -webkit-transform: rotate(450deg);
    transform: rotate(450deg);
  }
}

[data-arts-theme-text="light"] {
  color: #fff;
}

[data-arts-theme-text="light"] .xl {
  color: var(--xl-color-light);
}

[data-arts-theme-text="light"] h1 {
  color: var(--h1-color-light);
}

[data-arts-theme-text="light"] .h2 {
  color: var(--h2-color-light);
}

[data-arts-theme-text="light"] .h3 {
  color: var(--h3-color-light);
}

[data-arts-theme-text="light"] .h4 {
  color: var(--h4-color-light);
}

[data-arts-theme-text="light"] .h5 {
  color: var(--h5-color-light);
}

[data-arts-theme-text="light"] p {
  color: var(--paragraph-color-light);
}

[data-arts-theme-text="light"] a {
  color: var(--color-gray-1);
}

[data-arts-theme-text="light"] .circle-button__inner .svg-circle {
  border: 1px solid rgba(255, 255, 255, 0.3);
}

[data-arts-theme-text="light"] .circle-button__inner .circle-button__icon {
  fill: #fff;
}

.h2,
.h3,
.h4,
.h5,
.xl,
h1 {
  font-family: var(--font-secondary);
}

h1 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.xl {
  font-size: calc(var(--xl-min-font-size) * 1px);
  font-weight: 400;
  line-height: var(--xl-line-height);
  color: var(--xxl-color-dark);
}

@media screen and (min-width: 320px) {
  .xl {
    font-size: calc(
      var(--xl-min-font-size) * 1px +
        (var(--xl-max-font-size) - var(--xl-min-font-size)) *
        ((100vw - 320px) / 2240)
    );
  }
}

h1 {
  font-size: calc(var(--h1-min-font-size) * 1px);
  font-weight: 400;
  line-height: var(--h1-line-height);
  color: var(--h1-color-dark);
}

@media screen and (min-width: 320px) {
  h1 {
    font-size: calc(
      var(--h1-min-font-size) * 1px +
        (var(--h1-max-font-size) - var(--h1-min-font-size)) *
        ((100vw - 320px) / 2240)
    );
  }
}

.h2 {
  font-size: calc(var(--h2-min-font-size) * 1px);
  font-weight: 400;
  line-height: var(--h2-line-height);
  color: var(--h2-color-dark);
}

@media screen and (min-width: 320px) {
  .h2 {
    font-size: calc(
      var(--h2-min-font-size) * 1px +
        (var(--h2-max-font-size) - var(--h2-min-font-size)) *
        ((100vw - 320px) / 2240)
    );
  }
}

.h3 {
  font-size: calc(var(--h3-min-font-size) * 1px);
  font-weight: 400;
  line-height: var(--h3-line-height);
  color: var(--h3-color-dark);
}

@media screen and (min-width: 320px) {
  .h3 {
    font-size: calc(
      var(--h3-min-font-size) * 1px +
        (var(--h3-max-font-size) - var(--h3-min-font-size)) *
        ((100vw - 320px) / 2240)
    );
  }
}

.h4 {
  font-size: calc(var(--h4-min-font-size) * 1px);
  font-weight: 700;
  line-height: var(--h4-line-height);
  color: var(--h4-color-dark);
}

@media screen and (min-width: 320px) {
  .h4 {
    font-size: calc(
      var(--h4-min-font-size) * 1px +
        (var(--h4-max-font-size) - var(--h4-min-font-size)) *
        ((100vw - 320px) / 2240)
    );
  }
}

.h5 {
  font-size: calc(var(--h5-min-font-size) * 1px);
  font-weight: 700;
  line-height: var(--h5-line-height);
  color: var(--h5-color-dark);
}

@media screen and (min-width: 320px) {
  .h5 {
    font-size: calc(
      var(--h5-min-font-size) * 1px +
        (var(--h5-max-font-size) - var(--h5-min-font-size)) *
        ((100vw - 320px) / 2240)
    );
  }
}

p {
  margin-top: 1em;
  margin-bottom: 1em;
  font-size: calc(var(--paragraph-min-font-size) * 1px);
  line-height: var(--paragraph-line-height);
  color: var(--paragraph-color-dark);
}

@media screen and (min-width: 320px) {
  p {
    font-size: calc(
      var(--paragraph-min-font-size) * 1px +
        (var(--paragraph-max-font-size) - var(--paragraph-min-font-size)) *
        ((100vw - 320px) / 2240)
    );
  }
}

.small-caps {
  font-size: calc(10 * 1px);
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--color-gray-1);
}

@media screen and (min-width: 320px) {
  .small-caps {
    font-size: calc(10 * 1px + (13 - 10) * ((100vw - 320px) / 2240));
  }
}

.mt-xsmall {
  margin-top: calc(1 * (var(--distance-min-xsmall) * 1px));
}

@media screen and (min-width: 320px) {
  .mt-xsmall {
    margin-top: calc(
      1 *
        (
          var(--distance-min-xsmall) * 1px +
            (var(--distance-max-xsmall) - var(--distance-min-xsmall)) *
            ((100vw - 320px) / 2240)
        )
    );
  }
}

.mt-small {
  margin-top: calc(1 * (var(--distance-min-small) * 1px));
}

@media screen and (min-width: 320px) {
  .mt-small {
    margin-top: calc(
      1 *
        (
          var(--distance-min-small) * 1px +
            (var(--distance-max-small) - var(--distance-min-small)) *
            ((100vw - 320px) / 2240)
        )
    );
  }
}

.mt-0 {
  margin-top: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.mt-1 {
  margin-top: 1em;
}

.mt-0-5 {
  margin-top: 0.5em;
}

.mt-auto {
  margin-top: auto !important;
}

.overflow {
  position: relative;
  overflow: hidden;
}

.of-cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.hidden {
  opacity: 0;
  visibility: hidden;
}

.w-100 {
  width: 100% !important;
}

#js-webgl {
  display: none;
}

@-ms-viewport {
  width: device-width;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

*,
::after,
::before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.container-fluid {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-left: -20px;
}

.col,
.col-12,
.col-auto,
.col-lg-4 {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 20px;
  padding-left: 20px;
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
  flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -ms-flex: 0 0 auto;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-12 {
  -ms-flex: 0 0 100%;
  -webkit-box-flex: 0;
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 992px) {
  .col-lg-4 {
    -ms-flex: 0 0 33.333333%;
    -webkit-box-flex: 0;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
}

.justify-content-center {
  -ms-flex-pack: center !important;
  -webkit-box-pack: center !important;
  justify-content: center !important;
}

.justify-content-between {
  -ms-flex-pack: justify !important;
  -webkit-box-pack: justify !important;
  justify-content: space-between !important;
}

.align-items-center {
  -ms-flex-align: center !important;
  -webkit-box-align: center !important;
  align-items: center !important;
}

.text-center {
  text-align: center !important;
}

*,
::after,
::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
}

@-ms-viewport {
  width: device-width;
}

header,
main,
section {
  display: block;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

ul {
  margin-top: 0;
  margin-bottom: 1rem;
}

ul ul {
  margin-bottom: 0;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

button {
  border-radius: 0;
}

button {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button {
  overflow: visible;
}

button {
  text-transform: none;
}

button {
  -webkit-appearance: button;
}

button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: 0 0;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(../img/default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px;
}

.pswp__button--close {
  background-position: 0 -44px;
}

.pswp__button--fs {
  display: none;
}

.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: 0 0;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}

.pswp__button--arrow--left {
  left: 0;
}

.pswp__button--arrow--right {
  right: 0;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: "";
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute;
}

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px;
}

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px;
}

.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #fff;
  opacity: 0.75;
  padding: 0 10px;
}

.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #ccc;
}

.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  will-change: opacity;
  direction: ltr;
}

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}

.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%;
}

.pswp__caption,
.pswp__top-bar {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__caption,
.pswp__top-bar {
  background-color: rgba(0, 0, 0, 0.5);
}

.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__top-bar {
  opacity: 0.001;
}

.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  outline: 0;
}

.pswp * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.pswp__container,
.pswp__img {
  -webkit-touch-callout: none;
}

.pswp__bg {
  will-change: opacity;
}

.pswp__container {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

:root {
  --swiper-theme-color: #007aff;
}

:root {
  --swiper-navigation-size: 44px;
}
