@import "https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css";
@font-face {
  font-family: 'Lato';
  font-weight: 300;
  src: url(./assets/fonts/Lato-Light.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-weight: 400;
  src: url(./assets/fonts/Lato-Regular.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-weight: 700;
  src: url(./assets/fonts/Lato-Bold.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-weight: 900;
  src: url(./assets/fonts/Lato-Black.ttf) format('truetype');
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Lato', sans-serif;
  scroll-behavior: smooth;
}

.content {
  max-width: 1020px;
  margin: 0 auto;
}

.wrapper {
  margin: 0 40px;
}

.header {
  background-color: #2d303a;
  position: sticky;
  top: -95px;
  z-index: 20;
  transition: top 0.2s ease-out;
}

.background-menu {
  display: none;
}

.menu {
  display: none;
}

.show-header {
  top: 0;
}

.header--body {
  height: 89px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header--title {
  margin: 0;
  color: #ffffff;
  font-size: 25px;
  font-weight: 700;
  text-transform: uppercase;
  transform-origin: 0px 0px;
  transform: scaleX(0.96);
}

.header--title::after {
  content: '*';
  color: #f06c64;
}

.navigation {
  width: 370px;
  display: flex;
  justify-content: space-between;
  padding: 7px 0 0 0;
  margin: 0;
  list-style: none;
}

.navigation .dot {
  color: #555555;
  transform: translateY(-3px);
}

.navigation--item {
  display: inline-block;
}

.navigation--link {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  color: #ffffff;
}

.navigation--link.link-active {
  color: #f06c64;
}

.navigation--link:hover {
  text-decoration: underline;
  color: yellow;
}

.header--bottom {
  height: 6px;
  background-color: #323746;
}

.slider--body {
  position: relative;
  display: flex;
  align-items: stretch;
}

.slider--body::before {
  content: "";
  float: left;
  width: 0;
  padding-top: 58.2%;
}

.slider--slides {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.slide {
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.slide-1 {
  background-color: #f06c64;
}

.slide-2 {
  background-color: #648bf0;
}

.hide {
  display: none !important;
}

.slider--content {
  position: relative;
  height: 100%;
  width: 78.3%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
}

.slider--controls {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 0 4%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.slider--chev {
  padding: 20px 0;
  z-index: 2;
}

.slider--chev:hover {
  cursor: pointer;
  transform: scale(1.5, 1.5);
}

.slider--phone {
  position: relative;
}

.phone-vertical {
  height: 81.6%;
  width: 30.2%;
  transform: translateY(-2px);
}

.phone-vertical>img {
  height: 100%;
  width: 100%;
}

.phone-horizontal {
  height: 40.5%;
  width: 60.7%;
  transform: translateY(-4px);
}

.phone-horizontal>img {
  height: 100%;
  width: 100%;
}

.phone--base {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #f2f2f2;
  display: flex;
  align-items: center;
}

.phone-horizontal .phone--base {
  flex-direction: row-reverse;
  width: 94.8%;
  height: 90%;
  border-top-left-radius: 7% 14%;
  border-top-right-radius: 7% 14%;
  border-bottom-right-radius: 7% 14%;
  border-bottom-left-radius: 7% 14%;
}

.phone-vertical .phone--base {
  flex-direction: column;
  width: 90%;
  height: 94.5%;
  border-top-left-radius: 14% 7%;
  border-top-right-radius: 14% 7%;
  border-bottom-right-radius: 14% 7%;
  border-bottom-left-radius: 14% 7%;
}

.phone--cam {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 2.5px solid #d8d8d8;
  background-color: #eb5055;
}

.phone-vertical .phone--cam {
  margin-top: 8%;
}

.phone-horizontal .phone--cam {
  margin-right: 4%;
}

.phone--speaker {
  border-radius: 3px;
  background-color: #acacac;
}

.phone-vertical .phone--speaker {
  width: 17%;
  height: 1.2%;
  margin-top: 5%;
}

.phone-horizontal .phone--speaker {
  width: 1.2%;
  height: 17%;
  margin-right: 2%;
}

.phone--screen {
  border: 3px solid #c6c6c6;
  border-radius: 3px;
}

.slide-1 .phone-vertical .phone--screen {
  width: 89%;
  height: 74%;
  background: url(./assets/images/screen_vertical.png) 3.5% 55%;
  background-size: 312% 173%;
  margin-top: 10%;
}

.slide-2 .slider--content {
  justify-content: space-around;
}

.slide-2 .phone-vertical .phone--screen {
  width: 89%;
  height: 74%;
  background: url(./assets/images/phone-vertical-display.png);
  background-size: 100% 100%;
  margin-top: 10%;
}

.slider--back {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.back-phone {
  width: 19.5%;
  height: 53%;
  background: url('./assets/images/slider-content.png') no-repeat;
  background-size: 100% 100%;
}

.back1 {
  margin-right: 28%;
  position: relative;
  left: 4.5%;
}

.phone-horizontal .phone--screen {
  height: 89%;
  width: 73%;
  background: url(./assets/images/screen_horizont.png) 50% 30%;
  background-size: 175% 311%;
  margin-right: 5%;
}

.phone--screen.disable-screen {
  background: #000000 !important;
}

.phone--home-btn {
  border-radius: 50%;
  background-color: #fafafa;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.phone-vertical .phone--home-btn {
  margin-top: 2%;
  width: 19%;
  height: 9%;
}

.phone-horizontal .phone--home-btn {
  margin-right: 2%;
  width: 9%;
  height: 19%;
}

.home--square {
  width: 40%;
  height: 40%;
  border-radius: 30%;
  border: 2px solid #bababa;
}

.slider--bottom {
  background-color: #ea676b;
}

.bottom-size {
  padding-top: 0.588%;
}

.services--body {
  padding-bottom: 28px;
  background-color: #f2f2f2;
}

.services--bottom {
  height: 6px;
  background-color: #ffffff;
}

.services--content {
  padding-top: 60px;
}

.services--title {
  margin: 0;
  font-size: 30px;
  color: #666d89;
  font-weight: 900;
}

.services--text {
  margin: 18px 0 0 0;
  font-size: 18px;
  line-height: 30px;
  text-align: justify;
  color: #767e9e;
  font-weight: 300;
}

.services--text::first-line {
  word-spacing: 1px;
}

.services--articles {
  padding-top: 47px;
  margin: 0;
}

.layout-flex-3-column {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.layout-flex-3-column>* {
  flex: 0 0 300px;
}

.article {
  height: 104px;
  display: flex;
  margin: 0 0 20px;
  padding-bottom: 0px;
  overflow: hidden;
}

.article--icon {
  background-size: 32px 32px;
  width: 59px;
  height: 59px;
  border-radius: 29px;
  border: 2px solid #666d89;
  flex-shrink: 0;
}

.icon-pen {
  background: url(./assets/images/pen.svg) no-repeat center center;
}

.icon-bulb {
  background: url(./assets/images/bulb.svg) no-repeat center center;
}

.icon-heart {
  background: url(./assets/images/heart.svg) no-repeat center center;
}

.icon-phone {
  background: url(./assets/images/phone.svg) no-repeat center center;
}

.icon-bubble {
  background: url(./assets/images/bubble.svg) no-repeat center center;
}

.icon-star {
  background: url(./assets/images/star.svg) no-repeat center center;
}

.article--body {
  padding: 0 2px 0 20px;
  height: 123px;
  overflow: hidden;
}

.article--title {
  margin: 0;
  font-size: 18px;
  line-height: 14px;
  color: #666d89;
  font-weight: 900;
}

.article--text {
  margin: 12px 0 0 0;
  font-size: 12px;
  line-height: 22px;
  color: #767e9e;
  text-align: justify;
}

.portfolio {
  padding-top: 60px;
  background-color: #2d303a;
}

.portfolio__title {
  font-size: 30px;
  line-height: 35px;
  color: #666d89;
  font-weight: 900;
}

.portfolio__text {
  margin-top: 18px;
  font-size: 18px;
  line-height: 30px;
  color: #767e9e;
  font-family: "Lato";
  font-weight: 300;
}

.portfolio__images {
  margin-top: 5px;
}

.tag {
  display: inline-block;
  height: 22px;
  padding: 0 7px 0 6px;
  margin-right: 6.5px;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: 0px;
  word-spacing: 0px;
  border-radius: 5px;
}

.tag-bordered {
  color: #767e9e;
  border: 1px solid #666d89;
  margin-top: 5px;
}

.tag-selected {
  border: 1px solid #c5c5c5;
  color: #dedede;
}

.tag:hover {
  border: 1px solid yellow;
  color: yellow;
  cursor: pointer;
}

.layout_4_column {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-gap: 0;
  grid-auto-rows: 0;
  overflow-y: hidden;
}

.layout_4_column>div {
  padding: 10px;
}

.portfolio__pictures {
  margin: 10px -10px 0;
}

.portfolio__img {
  background-color: #464b5e;
  padding-top: 85%;
}

.img1 {
  background: url('./assets/images/portfolio/img1.png') no-repeat 41% 23%;
  background-size: 108%;
}

.img2 {
  background: url('./assets/images/portfolio/img2.png') no-repeat 56.5% 51%;
  background-size: 166%;
}

.img3 {
  background: url('./assets/images/portfolio/img3.png') no-repeat 36% 2%;
  background-size: 113.5%;
}

.img4 {
  background: url('./assets/images/portfolio/img4.png') no-repeat 57% 31%;
  background-size: 119%;
}

.img5 {
  background: url('./assets/images/portfolio/img5.png') no-repeat 44.5% 19%;
  background-size: 110%;
}

.img6 {
  background: url('./assets/images/portfolio/img6.png') no-repeat 42% 70%;
  background-size: 117%;
}

.img7 {
  background: url('./assets/images/portfolio/img7.png') no-repeat 20.1% 21.7%;
  background-size: 169%;
}

.img8 {
  background: url('./assets/images/portfolio/img8.png') no-repeat 40% 36.5%;
  background-size: 126%;
}

.img9 {
  background: url('./assets/images/portfolio/img9.png') no-repeat 45% 72%;
  background-size: 115.5%;
}

.img10 {
  background: url('./assets/images/portfolio/img10.png') no-repeat 55.5% 24%;
  background-size: 215%;
}

.img11 {
  background: url('./assets/images/portfolio/img11.png') no-repeat 74% 78%;
  background-size: 188%;
}

.img12 {
  background: url('./assets/images/portfolio/img12.png') no-repeat 48% 25%;
  background-size: 134%;
}

.portfolio__bottom {
  height: 6px;
  margin-top: 56px;
  background-color: #323746;
}

.about {
  padding-top: 67px;
  background-color: #f2f2f2;
}

.about__title {
  font-size: 30px;
  line-height: 18px;
  color: #666d89;
  font-weight: 900;
}

.about__text {
  margin-top: 28px;
  font-size: 18px;
  line-height: 30px;
  color: #767e9e;
  font-weight: 300;
  text-align: justify;
}

.about__text::first-line {
  word-spacing: 1.1px;
}

.about__people {
  margin-top: 5px;
  margin-bottom: 58px;
}

.layout-3-column {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 20px;
}

.person {
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  margin-top: 40px;
}

.person>* {
  flex-shrink: 0;
  flex-grow: 0;
}

.person__photo {
  background-color: #464b5e;
  padding-top: 100%;
}

.person1 .person__photo {
  background: url('./assets/images/photo/photo1.png') no-repeat 0% 0%;
  background-size: 101% 101%;
}

.person2 .person__photo {
  background: url('./assets/images/photo/photo2.png') no-repeat 1% 1%;
  background-size: 101% 101.5%;
}

.person3 .person__photo {
  background: url('./assets/images/photo/photo3.png') no-repeat 0% 0%;
  background-size: 101% 101%;
}

.person__title {
  width: 100%;
  margin-top: 15px;
  padding: 2px 0;
  font-size: 18px;
  line-height: 18px;
  color: #666d89;
  font-weight: 900;
  letter-spacing: -0.1px;
  white-space: nowrap;
}

.person__text {
  margin-top: 8px;
  font-size: 12px;
  line-height: 22px;
  color: #767e9e;
  font-weight: 400;
  text-align: justify;
  flex-grow: 1;
}

.person:first-child .person__text::first-line {
  word-spacing: -1px;
}

.person__media {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
}

.media {
  width: 32px;
  height: 32px;
  border-radius: 16px;
  margin: 0 8px 10px 0;
  border: 1px solid #666d89;
}

.media-facebook {
  background: url('./assets/images/media/facebook.png') no-repeat center center;
}

.media-google {
  background: url('./assets/images/media/google.png') no-repeat center center;
}

.media-twitter {
  background: url('./assets/images/media/twitter.png') no-repeat center center;
}

.media-linked {
  background: url('./assets/images/media/linkedin.png') no-repeat center center;
}

.media:hover {
  cursor: pointer;
  box-shadow: 0 0 5px blue;
}

.about__bottom {
  height: 6px;
  background-color: #ffffff;
}

.quote {
  position: relative;
  background-color: #f06c64;
  padding-top: 68px;
  padding-bottom: 2px;
}

.quote__title {
  font-size: 30px;
  line-height: 18px;
  color: #f0d8d9;
  font-weight: 900;
  margin-bottom: 26px;
}

.quote__text {
  font-size: 18px;
  line-height: 30px;
  color: #f0d8d9;
  font-weight: 300;
  margin-bottom: 26px;
}

.quote__text::first-line {
  word-spacing: 1.1px;
}

.quote__contact {
  padding-top: 18px;
}

.layout-21-column {
  display: flex;
}

.contact__form {
  flex: 0 0 65.8%;
}

.contact-field {
  margin-bottom: 16px;
}

.contact-field input, .contact-field textarea {
  width: 100%;
  padding: 7px 14px;
  border: 0;
  border-radius: 5px;
  background-color: #d6564f;
  font-size: 12px;
  line-height: 22px;
  color: #f48c8f;
  font-weight: 400;
}

.contact-field input {
  height: 38px;
}

.contact-field textarea {
  height: 202px;
  resize: none;
}

.contact-field *::-webkit-input-placeholder {
  color: #f48c8f;
}

.contact-button {
  text-align: right;
}

.contact-button button {
  width: 100px;
  padding: 7px 14px;
  border: 0;
  margin-bottom: 19px;
  border-radius: 5px;
  background-color: #d6564f;
  font-size: 12px;
  line-height: 22px;
  color: #f0d8d9;
  font-weight: 400;
  cursor: pointer;
}

.contact-button button:hover {
  background-color: #a7302a;
}

.contact__info {
  padding-left: 20px;
}

.contact__title {
  margin-bottom: 9px;
  font-size: 18px;
  line-height: 18px;
  color: #f0d8d9;
  font-weight: 900;
}

.contact__text {
  margin-bottom: 22px;
  text-align: justify;
  word-spacing: -0.06px;
  font-size: 12px;
  line-height: 22px;
  color: #f0d8d9;
  font-weight: 400;
}

.contact__text::first-line {
  word-spacing: -0.07px;
}

.contact__points {
  margin-bottom: 40px;
}

.contact__points, .contact__points a:link, .contact__points a:visited {
  font-size: 12px;
  line-height: 22px;
  color: #f0d8d9;
  font-weight: 400;
  text-decoration: none;
}

.contact__points a:hover {
  text-decoration: underline;
}

.icon-point {
  display: inline-block;
  width: 14px;
  height: 10px;
  margin: 0 8px 0 0;
  background-size: 100% 100%;
}

.icon__point-location {
  background: url('./assets/images/contact/location.png') no-repeat center;
}

.icon__point-tel {
  background: url('./assets/images/contact/phone.png') no-repeat center;
}

.icon__point-mail {
  background: url('./assets/images/contact/mail.png') no-repeat center 2px;
}

.quote__bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 6px;
  width: 100%;
  background-color: #ea676b;
}

.footer {
  height: 76px;
  background-color: #2d303a;
}

.footer .wrapper {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer__copy {
  padding-left: 2px;
  letter-spacing: -0.2px;
  color: #666d89;
  font-size: 12px;
  line-height: 14px;
}

.footer__media {
  display: flex;
}

.footer-ico {
  width: 32px;
  height: 32px;
  border-radius: 16px;
  border: 1px solid #666d89;
  margin-left: 8px;
}

.footer__facebook {
  background: url('./assets/images/media/facebook.png') no-repeat center;
}

.footer__google {
  background: url('./assets/images/media/google.png') no-repeat center;
}

.footer__twitter {
  background: url('./assets/images/media/twitter.png') no-repeat center;
}

.footer__in {
  background: url('./assets/images/media/linkedin.png') no-repeat center;
}

.footer-ico:hover {
  cursor: pointer;
  box-shadow: 0 0 10px yellow;
}

.slide {
  position: absolute;
  top: 0;
  display: none;
}

.active {
  left: 0;
  display: block;
}

.animation {
  transition: left 1s ease-out;
}

.active-left, .hide-right {
  left: -100%;
  display: block;
}

.hide-left, .active-right {
  left: 100%;
  display: block;
}

.image-bordered {
  outline: 5px solid #F06C64;
}

.message {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  justify-content: center;
  align-items: center;
}

.message-window {
  min-width: 300px;
  max-width: 600px;
  min-height: 300px;
  padding: 20px;
  margin: 0 5px;
  border-radius: 10px;
  background: #aaaaaa;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  line-height: 40px;
  overflow: auto;
}

.message-text {
  font-size: 20px;
  line-height: 40px;
  text-align: center;
}

.message-btn {
  width: 100px;
  margin-top: 30px;
  border: 0;
  border-radius: 5px;
  font-size: 20px;
  line-height: 40px;
}

.blur {
  filter: blur(3px);
}

@media (max-width: 1019px) {
  .services--text {
    text-align: left;
  }
  .layout-flex-3-column>* {
    margin-right: 35px;
  }
  .layout_4_column {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
  }
  .layout-3-column {
    grid-gap: 2%;
  }
}

@media (max-width: 767px) {
  .wrapper {
    margin: 0 30px;
  }
  .header {
    top: 0;
    height: 71px;
  }
  .header--bottom {
    display: none;
  }
  .header .wrapper {
    margin: 0;
  }
  .header--body {
    background-color: #2d303a;
    height: 71px;
    justify-content: center;
    position: relative;
    overflow: auto;
  }
  .menu {
    display: block;
    width: 25px;
    height: 20px;
    position: absolute;
    left: 20px;
    top: 25px;
    transition: 0.2s linear;
  }
  .header--title {
    font-size: 19.6875px;
    line-height: 24px;
    letter-spacing: -0.03em;
    transform: none;
  }
  .header--navigation {
    display: none;
  }
  .navigation {
    width: 205px;
    flex-direction: column;
    margin-top: 71px;
  }
  .navigation--item {
    margin-bottom: 27px;
  }
  .navigation--item>a {
    font-size: 24px;
    line-height: 29px;
    letter-spacing: -0.035em;
  }
  .dot {
    display: none;
  }
  .slider--controls {
    padding: 0 10px;
  }
  .slider--chev img {
    width: 14px;
    height: 24px;
  }
  .services--content {
    padding-top: 25px;
  }
  .services--body {
    padding-bottom: 0;
  }
  .services--articles {
    padding-top: 25px;
  }
  .layout-flex-3-column {
    justify-content: space-around;
  }
  .layout-flex-3-column>* {
    margin: 0 35px;
  }
  .services--bottom {
    display: none;
  }
  .portfolio {
    padding: 42px 0 37px;
  }
  .portfolio__text {
    margin-top: 14px;
  }
  .layout_4_column {
    grid-template-columns: repeat(2, 1fr);
  }
  .layout_4_column>div {
    padding: 5px;
  }
  .portfolio__pictures {
    margin: 15px -5px 0;
  }
  .portfolio__bottom {
    display: none;
  }
  .about {
    padding-top: 33px;
  }
  .about__text {
    margin-top: 14px;
  }
  .about__people {
    margin-bottom: 0;
    padding-bottom: 11px;
  }
  .layout-3-column {
    display: block;
  }
  .person {
    margin-top: 14px;
    padding-bottom: 24px;
  }
  .person__media {
    margin-top: 9px;
  }
  .about__bottom {
    display: none;
  }
  .quote {
    padding-top: 44px;
  }
  .quote__title {
    line-height: 36px;
    margin-bottom: 14px;
  }
  .quote__text {
    margin-bottom: 19px;
  }
  .quote__contact {
    padding-top: 0;
  }
  .layout-21-column {
    display: block;
  }
  .contact__form {
    flex: none;
  }
  .contact-field {
    margin-bottom: 12px;
  }
  .contact-button {
    margin-top: 2px;
  }
  .contact-button button {
    width: 100%;
    margin-bottom: 32px;
  }
  .contact__info {
    padding-left: 0;
  }
  .contact__text {
    margin-bottom: 5px;
  }
  .quote__bottom {
    display: none;
  }
  .footer__copy {
    display: none;
  }
  .footer .wrapper {
    justify-content: center;
  }
  .menu-active .header--body {
    height: 100vh;
    width: 278px;
    box-shadow: 0 -40px 20px rgba(0, 0, 0, 0.4);
    justify-content: flex-end;
  }
  .menu-active .background-menu {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #2d303a;
    opacity: 0.6;
  }
  .menu-active .menu {
    transform: rotate(90deg);
  }
  .menu-active .header--title {
    position: absolute;
    top: 24px;
    left: 71px;
  }
  .menu-active .header--navigation {
    display: block;
  }
}