@font-face {
  font-family: "Gotham medium", sans-serif;
  src: url("../fonts/gotham-medium-webfont.woff"), url("../fonts/gotham-medium-webfont.woff2");
}

@font-face {
  font-family: "Gotham book", sans-serif;
  src: url("../fonts/GothamBook.eot"), url("../fonts/GothamBook.ttf"), url("../fonts/GothamBook.woff");
}

@font-face {
  font-family: "Gotham bold", sans-serif;
  src: url("../fonts/gothambold1.eot"), url("../fonts/gothambold1.ttf"), url("../fonts/gothambold1.woff");
}

@font-face {
  font-family: "Opensans regular", sans-serif;
  src: url("../fonts/OpenSans-Regular.ttf"), url("../fonts/opensans-regular-webfont.woff"), url("../fonts/opensans-regular-webfont.woff2");
}

.slider__item, .project-block__info, .footer {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.nav__list, .social-block, .project-block, .gallery__content, .gallery__wrapper-img, .form-block__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.slick-dots {
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header, .projects, .news, .gallery {
  padding-left: calc(50vw - 580px);
  padding-right: calc(50vw - 580px);
}

@media screen and (max-width: 1180px) {
  .header, .projects, .news, .gallery {
    padding-left: calc(50vw - 500px);
    padding-right: calc(50vw - 500px);
  }
}

@media screen and (max-width: 1020px) {
  .header, .projects, .news, .gallery {
    padding-left: calc(50vw - 400px);
    padding-right: calc(50vw - 400px);
  }
}

@media screen and (max-width: 900px) {
  .header, .projects, .news, .gallery {
    padding-left: calc(50vw - 330px);
    padding-right: calc(50vw - 330px);
  }
}

@media screen and (max-width: 670px) {
  .header, .projects, .news, .gallery {
    padding-left: calc(50vw - 280px);
    padding-right: calc(50vw - 280px);
  }
}

@media screen and (max-width: 580px) {
  .header, .projects, .news, .gallery {
    padding-left: calc(50vw - 240px);
    padding-right: calc(50vw - 240px);
  }
}

@media screen and (max-width: 500px) {
  .header, .projects, .news, .gallery {
    padding-left: calc(50vw - 200px);
    padding-right: calc(50vw - 200px);
  }
}

@media screen and (max-width: 420px) {
  .header, .projects, .news, .gallery {
    padding-left: calc(50vw - 150px);
    padding-right: calc(50vw - 150px);
  }
}

.slider__item_theme_main, .slider__item_theme_city, .slider__item_theme_beijin, .slider__item_theme_triangle, .slider__item_theme_skyscrapper, .news, .footer, .form-block {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.main-title, .main-subtitle, .projects__title, .project-block__subtitle, .project-block__title, .news__title, .gallery__title, .form-block__title {
  text-align: center;
  text-transform: uppercase;
}

.projects__title, .news__title, .gallery__title, .form-block__title {
  position: relative;
}

.projects__title::before, .news__title::before, .gallery__title::before, .form-block__title::before {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background-color: #2c4058;
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -50px;
}

@media screen and (max-width: 1150px) {
  .projects__title::before, .news__title::before, .gallery__title::before, .form-block__title::before {
    top: -20px;
  }
}

@media screen and (max-width: 420px) {
  .projects__title::before, .news__title::before, .gallery__title::before, .form-block__title::before {
    top: -10px;
  }
}

.project-block__btn, .gallery__btn, .form-block__btn {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #2c4058;
  text-transform: uppercase;
  padding: 16px 40px;
  border: 1px solid #2c4058;
  outline: none;
  background: transparent;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.project-block__btn:hover, .gallery__btn:hover, .form-block__btn:hover {
  background: #ececec;
}

.project-block__btn:active, .gallery__btn:active, .form-block__btn:active {
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

@media screen and (max-width: 580px) {
  .project-block__btn, .gallery__btn, .form-block__btn {
    padding: 10px 20px;
  }
}

* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

a {
  text-decoration: none;
  color: inherit;
}

input {
  outline: none;
}

ul,
li {
  list-style: none;
}

.main-section {
  height: 100vh;
  position: relative;
}

.main-section__arrow {
  height: 40px;
  width: 40px;
  position: absolute;
  bottom: 50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

@media screen and (max-width: 1200px) and (orientation: landscape) {
  .main-section__arrow {
    bottom: 18px;
  }
}

.main-section__arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  -webkit-transform: rotateZ(-45deg);
          transform: rotateZ(-45deg);
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  top: 50%;
  margin-top: -5px;
  left: 15px;
  z-index: 3;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}

.main-section__arrow:hover {
  background-color: rgba(239, 244, 248, 0.3);
}

@media screen and (max-width: 925px) {
  .main-section .header__social-block {
    display: none;
  }
}

.header {
  height: calc( 95px + 55 * ((100vw - 320px) / 1254));
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.header__logo {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.header__logo img {
  width: calc( 150px + 91 * ((100vw - 320px) / 1254));
}

.nav {
  width: 55%;
}

@media screen and (max-width: 1020px) {
  .nav {
    width: 48%;
  }
}

@media screen and (max-width: 925px) {
  .nav {
    opacity: 0;
    visibility: hidden;
    padding: 27px;
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
  }
}

.nav__list {
  list-style-type: none;
}

@media screen and (max-width: 925px) {
  .nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.mobile .nav__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.nav__item {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #fff;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-transform: uppercase;
}

@media screen and (max-width: 925px) {
  .nav__item {
    text-align: center;
  }
  .nav__item:not(:last-of-type) {
    margin-bottom: 20px;
  }
}

.nav__item:hover .nav__link::before {
  background-color: #fff;
}

.nav__link {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

@media screen and (max-width: 925px) {
  .nav__link:hover {
    color: #55b6fe;
  }
}

.nav__link::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: transparent;
  border: 1px solid #fff;
  display: inline-block;
  border-radius: 50%;
  margin-right: 10px;
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
}

@media screen and (max-width: 925px) {
  .nav__link::before {
    display: none;
  }
}

.nav.mobile {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 1;
  visibility: visible;
  top: 0;
  background-color: rgba(26, 34, 41, 0.8);
}

.burger-btn {
  width: 40px;
  height: 26px;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -20px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media screen and (max-width: 925px) {
  .burger-btn {
    display: block;
  }
}

.burger-btn .first-bar,
.burger-btn .second-bar,
.burger-btn .third-bar {
  width: 35px;
  height: 2px;
  position: absolute;
  background-color: #fff;
  border-radius: 5px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

.burger-btn .first-bar {
  top: 0;
}

.burger-btn .second-bar {
  top: 50%;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.burger-btn .third-bar {
  top: 100%;
}

.burger-btn.checked .first-bar {
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
  top: 10px;
}

.burger-btn.checked .second-bar {
  display: none;
}

.burger-btn.checked .third-bar {
  -webkit-transform: rotateZ(-45deg);
          transform: rotateZ(-45deg);
  top: 10px;
}

.social-block {
  width: 160px;
}

.social-block__link {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.social-block__icon {
  border: 1px solid #fff;
  padding: 10px;
  border-radius: 50%;
  fill: #fff;
  width: 40px;
  height: 40px;
  overflow: visible;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.social-block__icon:hover {
  fill: #7c5bf9;
  border-color: #7c5bf9;
  background-color: #fff;
}

.slider {
  width: 100%;
  height: 100%;
  position: relative;
}

.slider__item {
  width: 100%;
  height: 100vh;
}

.slider__item_theme_main {
  background-image: url("../img/main.png"), -webkit-gradient(linear, left bottom, right top, from(#55b6fe), to(#7c5bf9));
  background-image: url("../img/main.png"), linear-gradient(to right top, #55b6fe, #7c5bf9);
}

.slider__item_theme_city {
  background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(89, 62, 199, 0.9)), to(rgba(7, 142, 245, 0.9))), url("../img/main-bg-1.jpg");
  background-image: linear-gradient(to right bottom, rgba(89, 62, 199, 0.9), rgba(7, 142, 245, 0.9)), url("../img/main-bg-1.jpg");
}

.slider__item_theme_beijin {
  background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(7, 142, 245, 0.9)), to(rgba(89, 62, 199, 0.9))), url("../img/main-bg-2.jpg");
  background-image: linear-gradient(to right top, rgba(7, 142, 245, 0.9), rgba(89, 62, 199, 0.9)), url("../img/main-bg-2.jpg");
}

.slider__item_theme_triangle {
  background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(7, 142, 245, 0.9)), to(rgba(89, 62, 199, 0.9))), url("../img/main-bg-3.jpg");
  background-image: linear-gradient(to right top, rgba(7, 142, 245, 0.9), rgba(89, 62, 199, 0.9)), url("../img/main-bg-3.jpg");
}

.slider__item_theme_skyscrapper {
  background-image: -webkit-gradient(linear, left bottom, right top, from(rgba(7, 142, 245, 0.9)), to(rgba(89, 62, 199, 0.9))), url("../img/main-bg-4.jpg");
  background-image: linear-gradient(to right top, rgba(7, 142, 245, 0.9), rgba(89, 62, 199, 0.9)), url("../img/main-bg-4.jpg");
}

.slider .slick-dots {
  height: 205px;
  right: 40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 670px) {
  .slider .slick-dots {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 25%;
    top: unset;
    height: 10px;
    width: 205px;
  }
}

.slick-dots {
  position: absolute;
  font-size: 0;
}

.slick-dots .slick-active > button {
  background-color: #fff;
}

.slick-dots button {
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: 0;
  background-color: transparent;
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
  cursor: pointer;
}

.main-title {
  font-family: "Gotham bold", sans-serif;
  font-size: 80px;
  color: #fff;
  font-size: calc( 40px + 40 * ((100vw - 320px) / 1254));
}

@media screen and (max-width: 550px) {
  .main-title {
    width: 85%;
  }
}

.main-subtitle {
  font-family: "Gotham book", sans-serif;
  font-size: 18px;
  color: #fff;
  font-size: calc( 16px + 2 * ((100vw - 320px) / 1254));
  letter-spacing: 3px;
}

@media screen and (max-width: 550px) {
  .main-subtitle {
    width: 85%;
  }
}

.projects {
  padding-bottom: calc( 30px + 110 * ((100vw - 320px) / 1254));
  padding-top: calc( 30px + 105 * ((100vw - 320px) / 1254));
  position: relative;
  overflow: hidden;
}

.projects__title {
  font-family: "Gotham bold", sans-serif;
  font-size: 44px;
  color: #2c4058;
  font-size: calc( 20px + 24 * ((100vw - 320px) / 1254));
  margin-bottom: 10%;
}

@media screen and (max-width: 1020px) {
  .projects__title {
    margin-bottom: 14%;
  }
}

@media screen and (max-width: 1020px) {
  .project-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (max-width: 1020px) {
  .project-block:last-of-type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.project-block:not(:last-of-type) {
  margin-bottom: 15%;
}

.project-block__info {
  padding-left: 5%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-preferred-size: 45%;
      flex-basis: 45%;
}

@media screen and (max-width: 1020px) {
  .project-block__info {
    width: 630px;
    padding-left: 0;
  }
}

@media screen and (max-width: 670px) {
  .project-block__info {
    width: 100%;
  }
}

.project-block__info_lefthand {
  padding-left: 0;
  padding-right: 5%;
}

.project-block__img-placeholder {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

@media screen and (max-width: 1020px) {
  .project-block__img-placeholder {
    margin-bottom: 20px;
  }
}

.project-block__img-placeholder > img {
  visibility: hidden;
  width: 100%;
}

.project-block__img {
  position: relative;
  top: 0;
  left: -1000px;
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

.project-block__img img {
  max-width: 100%;
}

.project-block__img::before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: -70px;
  left: -100%;
  right: 40%;
  z-index: -1;
  background: #55b6fe;
}

@media screen and (max-width: 580px) {
  .project-block__img::before {
    top: -35px;
  }
}

@media screen and (max-width: 500px) {
  .project-block__img::before {
    top: -20px;
  }
}

.project-block__img.animate {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 1;
}

.project-block__img_righthand {
  left: 1000px;
}

.project-block__img_righthand.animate {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 1;
}

.project-block__img_righthand::before {
  left: 40%;
  right: -100%;
  background: #7c5bf9;
}

.project-block__subtitle {
  font-family: "Gotham book", sans-serif;
  font-size: 18px;
  color: #2c4058;
  margin-bottom: 10px;
}

.project-block__title {
  font-family: "Gotham medium", sans-serif;
  font-size: 44px;
  color: #2c4058;
  font-size: calc( 20px + 24 * ((100vw - 320px) / 1254));
  text-align: unset;
  margin-bottom: 30px;
}

.project-block__txt {
  font-family: "Opensans regular", sans-serif;
  font-size: 18px;
  color: #2c4058;
  font-size: calc( 14px + 4 * ((100vw - 320px) / 1254));
  line-height: 1.6;
  margin-bottom: 30px;
}

.project-block__btn {
  margin-bottom: 50px;
}

.project-block__location {
  font-family: "Opensans regular", sans-serif;
  font-size: 18px;
  color: #2c4058;
  font-size: calc( 14px + 4 * ((100vw - 320px) / 1254));
  font-style: italic;
}

.project-block__icon {
  width: 15px;
  height: 15px;
}

.news {
  background-image: url("../img/news-bg.png"), -webkit-gradient(linear, left bottom, right top, from(#4182d5), to(#24ccfa));
  background-image: url("../img/news-bg.png"), linear-gradient(to right top, #4182d5, #24ccfa);
  padding-top: calc( 30px + 105 * ((100vw - 320px) / 1254));
  padding-bottom: calc( 70px + 70 * ((100vw - 320px) / 1254));
}

@media screen and (max-width: 1020px) {
  .news {
    padding-bottom: 12%;
  }
}

@media screen and (max-width: 800px) {
  .news {
    padding-bottom: 14%;
  }
}

@media screen and (max-width: 670px) {
  .news {
    padding-bottom: 16%;
  }
}

@media screen and (max-width: 420px) {
  .news {
    padding-bottom: 20%;
  }
}

.news__title {
  font-family: "Gotham medium", sans-serif;
  font-size: 44px;
  color: #fff;
  font-size: calc( 20px + 24 * ((100vw - 320px) / 1254));
  margin-bottom: 5%;
}

.news__title::before {
  background-color: #fff;
}

.news__slider {
  position: relative;
}

.news__slider .slick-dots {
  width: 206px;
  height: 10px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  right: 50%;
  top: 110%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

@media screen and (max-width: 670px) {
  .news__slider .slick-dots {
    bottom: -9%;
    top: unset;
    width: 150px;
  }
}

.news__slider .slick-arrow {
  font-size: 0;
  outline: none;
  width: 40px;
  height: 40px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: transparent;
  position: absolute;
  top: 50%;
  margin-top: -20px;
  z-index: 2;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.news__slider .slick-arrow:hover {
  background-color: rgba(239, 244, 248, 0.3);
}

.news__slider .slick-prev {
  left: -4%;
}

.news__slider .slick-prev:before {
  content: "";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  top: 50%;
  margin-top: -5px;
  left: 15px;
  z-index: 3;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}

@media screen and (max-width: 880px) {
  .news__slider .slick-prev {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    left: -14px;
  }
}

.news__slider .slick-next {
  right: -4%;
}

.news__slider .slick-next:before {
  content: "";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  -webkit-transform: rotateZ(-45deg);
          transform: rotateZ(-45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  top: 50%;
  margin-top: -5px;
  right: 15px;
  z-index: 3;
}

@media screen and (max-width: 880px) {
  .news__slider .slick-next {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    right: -14px;
  }
}

.news-article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 15px 0 15px;
}

.news-article img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.news-article img:hover {
  opacity: 0.7;
}

.news-article__wrapper {
  background: #fff;
  padding: 20px 10px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (max-width: 670px) {
  .news-article__wrapper {
    padding: 30px 40px;
  }
}

@media screen and (max-width: 420px) {
  .news-article__wrapper {
    padding: 20px 10px;
  }
}

.news-article__title {
  font-family: "Gotham bold", sans-serif;
  font-size: 20px;
  color: #2c4058;
  font-size: calc( 16px + 4 * ((100vw - 320px) / 1254));
  text-transform: uppercase;
  margin-bottom: 10px;
}

.news-article__txt {
  font-family: "Opensans regular", sans-serif;
  font-size: 18px;
  color: #2c4058;
  font-size: calc( 14px + 4 * ((100vw - 320px) / 1254));
  line-height: 1.6;
  margin-bottom: 20px;
}

.author-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: auto;
}

.author-block img {
  margin-right: 15px;
  width: calc( 30px + 10 * ((100vw - 320px) / 1254));
  height: calc( 30px + 10 * ((100vw - 320px) / 1254));
}

.author-block__wrapper {
  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;
}

.author-block__name {
  font-family: "Gotham book", sans-serif;
  font-size: 18px;
  color: #2c4058;
  font-size: calc( 14px + 4 * ((100vw - 320px) / 1254));
  text-transform: uppercase;
}

.author-block__date {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #24ccfa;
}

.gallery {
  padding-top: calc( 30px + 105 * ((100vw - 320px) / 1254));
  padding-bottom: calc( 35px + 105 * ((100vw - 320px) / 1254));
}

.gallery__title {
  font-family: "Gotham medium", sans-serif;
  font-size: 44px;
  color: #2c4058;
  font-size: calc( 20px + 24 * ((100vw - 320px) / 1254));
  margin-bottom: 7%;
}

.gallery__content {
  margin-bottom: 5%;
}

@media screen and (max-width: 580px) {
  .gallery__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.gallery__big-img {
  -ms-flex-preferred-size: 49.5%;
      flex-basis: 49.5%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: relative;
}

@media screen and (max-width: 580px) {
  .gallery__big-img {
    margin-bottom: 5px;
  }
}

.gallery__big-img img {
  max-width: 100%;
  width: 100%;
}

.gallery__big-img::before {
  content: url("../img/360.png");
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 50%;
  margin-left: -40px;
}

.gallery__wrapper-img {
  -ms-flex-line-pack: justify;
      align-content: space-between;
  -ms-flex-preferred-size: 49.5%;
      flex-basis: 49.5%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.gallery__img {
  -ms-flex-preferred-size: 49%;
      flex-basis: 49%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

@media screen and (max-width: 580px) {
  .gallery__img {
    margin-bottom: 5px;
  }
}

.gallery__img img {
  max-width: 100%;
}

.gallery__img:hover {
  opacity: 0.7;
}

.gallery__btn {
  display: block;
  margin: 0 auto;
}

.map {
  width: 100%;
  height: 100vh;
}

.footer {
  position: relative;
  background-image: url("../img/footer-bg.png"), -webkit-gradient(linear, left bottom, right top, from(#55b6fe), to(#7c5bf9));
  background-image: url("../img/footer-bg.png"), linear-gradient(to right top, #55b6fe, #7c5bf9);
  padding-top: calc( 30px + 165 * ((100vw - 320px) / 1254));
  padding-bottom: calc( 30px + 175 * ((100vw - 320px) / 1254));
  padding-left: calc(50vw - 385px);
  padding-right: calc(50vw - 385px);
}

@media screen and (max-width: 810px) {
  .footer {
    padding-left: calc(50vw - 300px);
    padding-right: calc(50vw - 300px);
  }
}

@media screen and (max-width: 625px) {
  .footer {
    padding-left: calc(50vw - 250px);
    padding-right: calc(50vw - 250px);
  }
}

.footer .header {
  padding: 0;
  position: static;
  height: auto;
  margin-bottom: calc( 10px + 25 * ((100vw - 320px) / 1254));
}

@media screen and (max-width: 510px) {
  .footer .header {
    -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;
  }
}

@media screen and (max-width: 510px) {
  .footer .header__logo {
    margin-bottom: 10px;
  }
}

.footer .header .social-block {
  width: calc( 115px + 45 * ((100vw - 320px) / 1254));
}

.footer .header .social-block__icon {
  width: calc( 35px + 5 * ((100vw - 320px) / 1254));
  height: calc( 35px + 5 * ((100vw - 320px) / 1254));
}

.footer .header .social-block__icon:hover {
  fill: #7485fa;
  border-color: #7485fa;
}

.footer__copy-block {
  -ms-flex-item-align: start;
      align-self: flex-start;
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #fff;
  font-size: calc( 12px + 2 * ((100vw - 320px) / 1254));
}

@media screen and (max-width: 510px) {
  .footer__copy-block {
    width: 100%;
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.footer__copy {
  margin-right: 10px;
}

@media screen and (max-width: 510px) {
  .footer__copy {
    margin: 0;
    margin-bottom: 5px;
  }
}

.footer__who-made {
  border-left: 1px solid #fff;
  padding: 0 0 0 12px;
}

@media screen and (max-width: 510px) {
  .footer__who-made {
    border: none;
    padding: 0;
  }
}

.form-block {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -280px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 770px;
  width: 100%;
  background-image: url("../img/modal-bg.png");
  background-color: #fff;
  padding: 5% 4% 5% 4%;
}

@media screen and (max-width: 902px) {
  .form-block {
    width: 70%;
    top: -230px;
  }
}

@media screen and (max-width: 770px) {
  .form-block {
    top: -310px;
  }
}

@media screen and (max-width: 510px) {
  .form-block {
    top: -290px;
  }
}

.form-block__title {
  font-family: "Gotham medium", sans-serif;
  font-size: 44px;
  color: #2c4058;
  font-size: calc( 20px + 24 * ((100vw - 320px) / 1254));
  margin-bottom: 7%;
}

@media screen and (max-width: 902px) {
  .form-block__title::before {
    top: -10px;
  }
}

@media screen and (max-width: 440px) {
  .form-block__title::before {
    display: none;
  }
}

@media screen and (max-width: 770px) {
  .form-block__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.form-block__form {
  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-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.form-block__form input {
  display: block;
  width: 100%;
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #2c4058;
  border: none;
  border-bottom: 1px solid #d5d9de;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.form-block__form input::-webkit-input-placeholder {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #d5d9de;
}

.form-block__form input:-ms-input-placeholder {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #d5d9de;
}

.form-block__form input::-ms-input-placeholder {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #d5d9de;
}

.form-block__form input::placeholder {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #d5d9de;
}

.form-block__form input:focus {
  border-bottom: 1px solid #2c4058;
}

@media screen and (max-width: 770px) {
  .form-block__form input {
    padding-bottom: 8px;
    margin-bottom: 13px;
  }
}

.form-block__btn {
  margin-left: auto;
}

.contacts {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.contacts__list i {
  color: #7c5bf9;
  margin-right: 10px;
}

.contacts__item {
  font-family: "Gotham book", sans-serif;
  font-size: 14px;
  color: #2c4058;
}

.contacts__item:not(:last-of-type) {
  margin-bottom: 30px;
}

@media screen and (max-width: 770px) {
  .contacts__item:not(:last-of-type) {
    margin-bottom: 12px;
  }
}

@media screen and (max-width: 770px) {
  .contacts {
    margin-bottom: 10px;
  }
}
/*# sourceMappingURL=main.css.map */