body {
  padding-top: 100vh;
}

.project {
  position: fixed;
  top: 86px;
  right: 0;
  left: 0;
  bottom: 0;
  height: calc(100vh - 86px - 86px);
}

.project__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.project__slider .fotorama {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.project__slider .fotorama__wrap {
  z-index: unset;
  height: 100%;
}

.project__slider .fotorama__wrap .fotorama__stage {
  height: 100% !important;
}

.project__slider .fotorama__wrap .fotorama__stage img {
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.project__slider .fotorama__nav-wrap {
  z-index: 9999;
  opacity: 0;
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px);
  position: absolute;
  bottom: 9px;
  left: 0;
  width: 100%;
  -webkit-transition: opacity 0.45s ease-in-out, -webkit-transform 0.45s ease-in-out;
  transition: opacity 0.45s ease-in-out, -webkit-transform 0.45s ease-in-out;
  -o-transition: opacity 0.45s ease-in-out, transform 0.45s ease-in-out;
  transition: opacity 0.45s ease-in-out, transform 0.45s ease-in-out;
  transition: opacity 0.45s ease-in-out, transform 0.45s ease-in-out, -webkit-transform 0.45s ease-in-out;
}

.is-thumb-hover .project__slider .fotorama__nav-wrap,
.project__slider .fotorama__nav-wrap:hover,
.project__slider .fotorama__nav-wrap.show {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 0.45s ease-in-out, -webkit-transform 0.45s ease-in-out;
  transition: opacity 0.45s ease-in-out, -webkit-transform 0.45s ease-in-out;
  -o-transition: opacity 0.45s ease-in-out, transform 0.45s ease-in-out;
  transition: opacity 0.45s ease-in-out, transform 0.45s ease-in-out;
  transition: opacity 0.45s ease-in-out, transform 0.45s ease-in-out, -webkit-transform 0.45s ease-in-out;
}

.project__slider .fotorama__nav__frame {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.project__slider .fotorama__nav__frame.fotorama__nav__frame--thumb.fotorama__active .fotorama__thumb:after {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  -o-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

.project__slider .fotorama__nav__frame.fotorama__nav__frame--thumb.fotorama__active .fotorama__thumb img {
  border: 2px solid #fff !important;
  -webkit-transition: border 0.4s ease-in-out;
  -o-transition: border 0.4s ease-in-out;
  transition: border 0.4s ease-in-out;
}

.project__slider .fotorama__thumb {
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.project__slider .fotorama__thumb:after {
  content: '';
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0.3)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3));
  -webkit-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  -o-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

.project__slider .fotorama__thumb:hover:after {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  -o-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

.project__slider .fotorama__thumb img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  max-width: 100% !important;
  border: none !important;
  max-height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  -o-object-position: center !important;
     object-position: center !important;
  width: 100%;
  height: 100%;
  -webkit-transition: border 0.4s ease-in-out;
  -o-transition: border 0.4s ease-in-out;
  transition: border 0.4s ease-in-out;
}

.project__slider .fotorama__thumb-border {
  display: none;
}

.project__slider:after {
  content: '';
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(164%, #000000));
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), #000000 164%);
  background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0), #000000 164%);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #000000 164%);
  background-blend-mode: multiply;
}

.project__wrapper {
  z-index: 2;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  min-height: calc(100vh - (86px * 2));
  padding: 50px 0 100px 0;
}

.project__wrapper-left,
.project__wrapper-right {
  width: 50%;
}

.project__wrapper-right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
     -moz-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.project__title,
.project__subtitle {
  color: #ffffff;
}

.project__title {
  font-size: 33px;
  line-height: 1.39;
}

.project__subtitle {
  font-size: 20px;
  font-weight: 300;
  line-height: 2;
}

.project__down {
  position: relative;
  width: 26px;
  height: 55px;
}

.project__down span {
  display: block;
  width: 18px;
  height: 18px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  margin: -10px;
  -webkit-animation: animateArrowDown 2s infinite;
          animation: animateArrowDown 2s infinite;
}

.project__down span:nth-child(2) {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}

.project__down span:nth-child(3) {
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}

@-webkit-keyframes animateArrowDown {
  0% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translate(-20px, -20px);
            transform: rotate(45deg) translate(-20px, -20px);
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translate(20px, 20px);
            transform: rotate(45deg) translate(20px, 20px);
  }
}

@keyframes animateArrowDown {
  0% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translate(-20px, -20px);
            transform: rotate(45deg) translate(-20px, -20px);
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translate(20px, 20px);
            transform: rotate(45deg) translate(20px, 20px);
  }
}

.project .swiper-container {
  direction: ltr;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.project .swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.project .swiper-slide img {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.project .home-cover__sliderNav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 28px;
  font-weight: 100;
}

.project .home-cover__sliderNav img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 2px;
  margin-left: 7px;
  margin-right: 7px;
}

.project .home-cover__sliderNav .cd-words-wrapper {
  display: inline-block;
  position: relative;
  text-align: left;
  width: 12px;
  height: 27px;
}

.project .home-cover__sliderNav .cd-words-wrapper b {
  opacity: 0;
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

.project .home-cover__sliderNav .cd-words-wrapper b.is-hidden {
  -webkit-animation: slide-out .9s;
          animation: slide-out .9s;
}

.project .home-cover__sliderNav .cd-words-wrapper b.is-visible {
  opacity: 1;
  top: 0;
  -webkit-animation: slide-in .9s;
          animation: slide-in .9s;
}

.description {
  padding-top: 70px;
  padding-bottom: 70px;
}

.description__visual {
  display: none;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 20px;
}

.description__visual img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.description__wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.description__wrapper-left {
  width: 100%;
  max-width: 200px;
  padding-right: 30px;
}

[dir='rtl'] .description__wrapper-left {
  padding-right: 0;
  padding-left: 30px;
}

.description__wrapper-right {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
     -moz-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 1px;
  max-width: 100%;
}

.description__subtitle {
  display: none;
  padding-bottom: 5px;
  font-size: 30px;
  line-height: 1.53;
  color: #000000;
}

.description__title {
  position: relative;
  font-size: 24px;
  font-weight: 300;
  color: #000000;
}

.description__title:after {
  content: '';
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #979797;
}

.description__desc {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.66;
  color: #000000;
}

.description__media {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 40px;
}

.description__media > div:not(:last-of-type) {
  padding-bottom: 16px;
}

.description__media img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.parallax {
  position: relative;
  background: #fff;
}

@media screen and (max-width: 767px) {
  body {
    padding-top: 0;
  }

  .project {
    display: none;
  }

  .project__wrapper {
    min-height: unset;
    padding: 0;
  }

  .project__wrapper-left,
  .project__wrapper-right {
    width: 100%;
  }

  .project__wrapper-right {
    display: none;
  }

  .project__title,
  .project__subtitle {
    color: #000000;
    text-align: center;
  }

  .project__title {
    padding-top: 15px;
    font-size: 30px;
  }

  .project__down {
    display: none;
  }

  .description {
    padding-bottom: 50px;
  }

  .description__visual {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }

  .description__wrapper {
    padding-left: 15px;
    padding-right: 15px;
  }

  .description__wrapper-left {
    max-width: 100%;
    padding-left: 0;
    padding-bottom: 15px;
  }

  [dir='rtl'] .description__wrapper-left {
    padding-left: 0;
  }

  .description__wrapper-right {
    margin-top: 10px;
  }

  .description__subtitle {
    display: block;
    padding-bottom: 15px;
  }

  .description__title:after {
    top: calc(100% + 1px);
  }

  .description__media {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
}