@import url(normalize.css);
@import url(animate.css);

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

body {
   font-family: Arial, sans-serif;
   font-size: 16px;
   line-height: 125%;
   background-color: white;
}

.services,
.works,
.team,
.blog,
.contact, footer {
   padding: 60px 0;
}

h1 {
   font-size: 48px;
   font-weight: 600;
   line-height: 58px;
}

h2 {
   font-size: 30px;
   font-weight: 600;
   line-height: 40px;
   color: #444444;
   text-align: center;
   text-transform: uppercase;
}

h3 {
   font-size: 24px;
   font-weight: 600;
}

ul {
   list-style: none;
}

a {
   text-decoration: none;
}

.header {
   background-color: #161c35;
   height: 65px;
   position: sticky;
   z-index: 10;
   top: 0;
}

.main-wrapper {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 15px;
}

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

.header .main-wrapper img{
   position: relative;
   z-index: 20;
}

/* li{
   display: inline-block;
} */

.menu__list {
   display: flex;
}

.menu__list > li {
   margin-right: 15px;
   font-size: 15px;
   font-family: "Roboto", sans-serif;
   font-weight: 400;
   letter-spacing: 1px;
}

.menu__list > li:last-child {
   margin-right: 0;
}

.menu__link {
   color: white;
   position: relative;
}

.menu__link::after {
   content: "";
   position: absolute;
   background: #00d5c3;
   width: 20px;
   height: 3px;
   top: 20px;
   right: 0;
   left: 0;
   margin: 0 auto;
   opacity: 0;
   transition-duration: 0.3;
}

.menu__link:hover::after {
   opacity: 1;
   width: 100%;
}

.main-board {
   background: url(../img/bg.jpg) no-repeat fixed;
   background-size: cover;
   position: relative;
}

.main-board::after {
   content: "";
   position: absolute;
   background: rgba(33, 42, 73, 0.6);
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 1;
}

.main-board .main-wrapper {
   display: flex;
   padding-top: 60px;
   padding-bottom: 60px;
   position: relative;
   z-index: 2;
}

.main-board__left-block {
   width: 50%;
   color: white;
}

.main-board .main-wrapper img {
   margin: 0 auto;
}

.main-board__left-block > div:first-of-type {
   font-family: "Open Sans", sans-serif;
   font-weight: 400;
   font-size: 16px;
   margin-bottom: 45px;
}

.left-block h1 {
   margin-bottom: 35px;
   position: relative;
   padding: 10px 0 0 15px;
}

.left-block h1::before {
   content: "";
   position: absolute;
   background: #00d5c3;
   height: 4px;
   width: 150px;
   top: 0;
   left: 0;
}

.left-block h1::after {
   content: "";
   position: absolute;
   background: #00d5c3;
   height: 150px;
   width: 4px;
   top: 0;
   left: 0;
}

.button {
   border: 1px solid;
   border-radius: 0 5px 0 5px;
   padding: 5px 20px;
}

.left-block__button {
   display: flex;
}

.left-block__link {
   color: #00d5c3;
   display: flex;
   align-items: center;
   transition-duration: 0.3s;
   width: 185px;
}

.left-block__link:first-of-type {
   margin-right: 20px;
}

.left-block__link i {
   font-size: 25px;
   margin-right: 20px;
   transition-duration: 0.3s;
}

.left-block__link > div {
   color: white;
   font-size: 12px;
}

.button__link--bold {
   font-weight: 700;
   font-size: 16px;
}

.left-block__link:hover {
   background: #00d5c3;
}

.left-block__link:hover i {
   color: white;
}

.main-wrapper .services {
   margin: 0 auto;
}

h2 > span {
   position: relative;
}

h2 > span::after {
   content: "";
   position: absolute;
   height: 2px;
   background: #444444;
   width: 40%;
   margin-left: -20%;
   left: 50%;
   top: 120%;
}

.services__block-item {
   display: flex;
   justify-content: space-between;
   margin: 30px;
}

.services__item {
   padding: 30px;
   text-align: center;
   flex: 0 0 32%;
   display: flex;
   align-items: center;
   flex-direction: column;
   transition-duration: 0.3s;
   border-radius: 5px;
}

.box-icon {
   border: 1px solid #161c35;
   border-radius: 50%;
   height: 108px;
   line-height: 108px;
   text-align: center;
   width: 108px;
   margin: 0 auto;
}

.box-icon i {
   font-size: 54px;
   color: #161c35;
   line-height: 108px;
}

.services__item > h3 {
   margin: 23px 0;
   color: #161c35;
   text-align: center;
}

.services__item > p {
   font-size: 16px;
   font-weight: 400;
   font-family: "Open Sans", sans-serif;
   line-height: 24px;
   margin-bottom: 20px;
   color: #666666;
}

.services__item .button {
   padding: 10px 20px;
   font-size: 18px;
   font-weight: 600;
   border: 1px solid #161c35;
   color: #161c35;
   transition-duration: 0.3s;
}

.services__item:hover .box-icon {
   background: #161c35;
}

.services__item:hover i {
   color: white;
}

.services__item:hover {
   box-shadow: 0 5px 25px 0 rgb(5 5 5 / 20%);
}

.services__item .button:hover {
   background: #161c35;
   color: white;
}

.works {
   background: url(../img/banner-bg.jpg);
   background-size: cover;
   position: relative;
}

.works h2,
.blog h2 {
   color: white;
}

.works h2 > span::after,
.blog h2 > span::after {
   content: "";
   background: white;
}

.works > .main-wrapper > div {
   display: flex;
   width: 100%;
   justify-content: space-between;
   align-items: center;
}

.works__container {
   color: white;
   flex: 0 0 60%;
   margin: 30px;
   font-size: 16px;
   font-weight: 400;
   font-family: "Open Sans", sans-serif;
   line-height: 24px;
}

.works__container > h3 {
   margin: 30px;
}

.works__container > ul {
   margin-top: 20px;
}

.works__container > ul > li {
   padding-left: 22px;
   position: relative;
   margin-bottom: 15px;
}

.works > .main-wrapper {
   position: relative;
   z-index: 2;
}

.works::after,
.blog::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   background-color: rgba(33, 42, 73, 0.6);
   z-index: 1;
}

.works__container > ul > li::before {
   content: "\f105";
   position: absolute;
   left: 0;
   font-family: fontawesome;
   color: #00d5c3;
}

.team-container {
   display: flex;
   justify-content: space-between;
}

.team .main-wrapper h2 {
   margin-bottom: 30px;
}

.team-container__item {
   flex: 0 0 255px;
   display: flex;
   flex-direction: column;
   margin-bottom: 30px;
}

.team-container__item > figure {
   position: relative;
   overflow: hidden;
}

.team-container__item > figure > img {
   display: block;
   transition-duration: 0.5s;
}

.team-container__item > figure > figcaption {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   display: flex;
   justify-content: center;
   align-items: flex-start;
}

.team-container__item > figure > figcaption > a {
   margin-top: auto;
   margin-bottom: 30px;
   margin-left: 10px;
   margin-right: 10px;
   border: 1px solid white;
   color: white;
   width: 30px;
   height: 30px;
   text-align: center;
   line-height: 30px;
   transition-duration: 0.5s;
}

.team-container__item > figure > figcaption > a:nth-child(1) {
   transform: translateY(70px);
}
.team-container__item > figure > figcaption > a:nth-child(2) {
   transform: translateY(120px);
}
.team-container__item > figure > figcaption > a:nth-child(3) {
   transform: translateY(170px);
}

.team-container__item:hover > figure > figcaption > a {
   transform: translateY(0);
}

.team-container__item:hover > figure > img {
   transform: scale(1.1);
}

.team-container__item:hover > figure > figcaption {
   background: rgba(33, 42, 73, 0.6);
}

.team-container__item > figure > figcaption > a:hover {
   background: white;
   color: #00d5c3;
}

.team-container__item-footer {
   padding: 20px;
   box-shadow: 4px 4px 18px 0px #ccc;
}

.team-container__item-footer h3 {
   margin-bottom: 10px;
   color: #666666;
}

.team-container__item-footer span {
   color: #666666;
}

.blog {
   background: url(../img/blog-bg.jpg) no-repeat;
   background-position: center;
   background-size: cover;
   position: relative;
}

.blog .main-wrapper {
   text-align: center;
   position: relative;
   z-index: 2;
}

.blog-container {
   display: flex;
   flex-wrap: wrap;
   margin: 30px;
   justify-content: space-between;
}

.blog-container__item {
   display: flex;
   flex: 0 0 49%;
   height: 275px;
   background: #fff;
   margin-bottom: 22px;
}

.block-image1 {
   background: url(../img/6-850x850.jpg);
   background-size: cover;
}
.block-image2 {
   background: url(../img/5-850x850.jpg);
   background-size: cover;
}
.block-image3 {
   background: url(../img/2-850x850.jpg);
   background-size: cover;
}
.block-image4 {
   background: url(../img/1-850x850.jpg);
   background-size: cover;
}

.blog-container__image {
   flex: 0 0 50%;
   position: relative;
   height: 100%;
   filter: grayscale(0.9);
   transition-duration: 0.3s;
}

.blog-container__image::after {
   content: "";
   position: absolute;
   display: inline-block;
   border-top: 15px solid transparent;
   border-right: 15px solid #eee;
   border-bottom: 15px solid transparent;
   border-right-color: #fff;
   right: 0;
   margin-top: -15px;
   top: 50%;
}

.blog-container__item:hover > .blog-container__image {
   filter: grayscale(0);
}

.blog-container__item-text-container {
   display: flex;
   width: 100%;
   justify-content: center;
   flex-direction: column;
   padding: 30px;
}

.blog-container__item-text-container > span {
   margin-bottom: 10px;
   font-size: 12px;
   letter-spacing: 2px;
   line-height: 20px;
   text-transform: uppercase;
   color: #333;
   text-align: center;
}

.blog-container__item-text-container > p {
   font-size: 18px;
   letter-spacing: 1px;
   color: #333;
   text-align: center;
   font-family: "Open Sans", sans-serif;
   text-transform: uppercase;
   font-weight: 600;
   line-height: 24px;
}

.blog-container__item-text-container:hover p {
   text-decoration: underline;
}

.blog .button {
   color: #00d5c3;
   padding: 10px 30px;
   font-size: 18px;
   display: inline-block;
   transition-duration: 0.3s;
}

.blog .button:hover {
   background: #00d5c3;
   color: #fff;
   border: 1px solid #00d5c3;
}

.contact h2 {
   margin-bottom: 30px;
}

.form {
   background: url(../img/bg.jpg) no-repeat;
   background-size: cover;
   height: 200px;
   background-position: 50% -50px;
   position: relative;
   overflow: hidden;
}

.form::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   background-color: rgb(33, 42, 73, 0.6);
   z-index: 1;
}

.form .main-wrapper {
   z-index: 2;
   position: relative;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   height: 100%;
}

.form__main-text {
   color: #00d5c3;
   font-weight: 300;
   margin-bottom: 20px;
   font-size: 20px;
}

.form__main-text span {
   color: white;
   font-weight: 600;
}

.form form {
   display: flex;
   justify-content: center;
}

.form form input {
   background: transparent;
   border: 1px solid #00d5c3;
   color: #ffffff;
   font-size: 18px;
   font-family: "Roboto", sans-serif;
   font-weight: 300;
   padding: 10px;
   width: 450px;
   transform: translateX(-2000px);
   animation-name:form-animate-input;
   animation-duration: 4s;
   animation-iteration-count: 1;
   animation-timing-function: linear;
   animation-fill-mode: forwards;
   animation-play-state: paused;
}

.form form input::placeholder {
   color: white;
}

.form button {
   background: #00d5c3;
   border: 1px solid #00d5c3;
   color: #ffffff;
   font-size: 22px;
   width: 100px;
   transform: translateX(2000px);
   animation-name:form-animate-button;
   animation-duration: 4s;
   animation-iteration-count: 1;
   animation-timing-function: linear;
   animation-fill-mode: forwards;
   animation-play-state: paused;
}

.anim-items._active {
   animation-play-state: running;
}

button:hover {
   background: #ffffff;
   color: #00d5c3;
   border-color: white;
}

form button i{
   font-size: 16px;
   color: white;
}

footer > .main-wrapper {
   display: flex;
   flex-direction: column;
   align-items: center;
}

footer > .main-wrapper div {
   margin: 20px 0;
}


footer > .main-wrapper div a {
   font-size: 16px;
   color: #161c35;
   display: inline-block;
   width: 20px;
   margin: 10px;
   position: relative;
}

footer > .main-wrapper div a::after {
   content: "";
   position: absolute;
   width: 25px;
   height: 25px;
   border: 1px solid #161c35;
   transform: rotate(45deg);
   top: -5px;
   bottom: 0;
   right: 50%;
   left: -8px;
   z-index: -1;
}

footer > .main-wrapper div a:hover {
   color: #ffffff;
}

footer > .main-wrapper div a:hover::after {
   background: #161c35;
}

@media (max-width: 1100px) {
   .team-container {
      overflow-y: scroll;
      padding-bottom: 20px;
   }

   .team-container__item {
      margin-right: 10px;
   }

   .team-container__item:last-of-type {
      margin-right: 0;
   }

   .services__item {
      border: 1px solid #161c356e;
   }
}

@media (max-width: 980px) {
   .works > .main-wrapper > div {
      flex-wrap: wrap;
      justify-content: center;
   }

   .works__container {
      flex: 1 0 100%;
   }

   .blog-container__text {
      padding: 20px;
   }
}

@media (max-width: 920px) {
   .main-board__left-block {
      width: 100%;
   }

   .main-board .main-wrapper {
      flex-wrap: wrap;
   }

   .main-board {
      height: auto;
      padding: 30px 30px;
   }

   .main-board__left-block > div:last-of-type {
      justify-content: center;
   }

   .main-board .main-wrapper > img {
      margin-top: 30px;
   }

   .services__item {
      height: 450px;
      display: flex;
      flex-direction: column;
      align-items: center;
   }

   .services__item > p {
      flex-shrink: 1;
      overflow: hidden;
   }

   .services,
   .works,
   .team,
   .blog,
   .contact,
   .form,
   footer {
      padding: 30px 0;
   }
}

@media (max-width: 780px) {
   .services__block-item {
      flex-wrap: wrap;
      justify-content: center;
   }

   .services__item {
      flex-basis: 320px;
      margin: 10px;
   }

   .blog-container__item {
      flex-basis: 100%;
   }

header > .main-wrapper > div{
   display: flex;
}

body._lock {
   overflow: hidden;
}

.menu__icon {
   z-index: 15;
   display: block;
   position: relative;
   width: 30px;
   height: 20px;
   cursor: pointer;
}

.menu__icon span,
.menu__icon::after,
.menu__icon::before {
   left: 0;
   position: absolute;
   width: 100%;
   height: 10%;
   transition: all 0.3s ease 0s;
   background: #ffffff ;
}

.menu__icon::before,
.menu__icon::after {
   content: '';
}

.menu__icon::before {
   top: 0;
}

.menu__icon::after {
   bottom: 0;
}

.menu__icon span {
   top: 50%;
   transform: scale(1) translate(0px, -50%);
}

.menu__icon._active span {
   transform: scale(0) translate(0px, -50%);
   }

.menu__icon._active::before {
   top: 50%;
   transform: rotate(45deg) translate(0px, -50%);
   }

.menu__icon._active::after {
   bottom: 50%;
   transform: rotate(-45deg) translate(0px, 50%);
   }

.menu__body {
   position: fixed;
   top: 0px;
   left: -100%;
   width: 100%;
   height: 100%;
   background-color: rgb(0, 0, 0, 0.9);
   padding: 100px 30px 30px 30px;
   transition: left 0.3s ease 0s;
   /* overflow: auto; */
}

.menu__body._active {
   left: 0;
}

.menu__body>ul {
   display: flex;
   flex-direction: column;
}

.menu__body>ul>li {
   margin: 0px 0px 30px 0px;
}

.menu__body>ul>li:last-child {
   margin-bottom: 0%;
}

.menu__body {
   font-size: 24px;
}

}

@media (max-width: 640px) {
   .main-board {
      background: url(../img/bg.jpg) no-repeat;
   }
}

@media (max-width: 580px) {
   .form form input {
      width: 80%;
   }

}

@media (max-width: 480px) {
   .main-board .main-wrapper > img {
      width: 100%;
   }

   h1 {
      font-size: 30px;
      line-height: 36px;
   }

   .main-board h1::before {
      width: 75px;
      height: 4px;
   }
   .main-board h1::after {
      width: 4px;
      height: 75px;
   }

   .left-block__button {
      flex-direction: column;
      align-items: center;
   }

   .left-block__link:first-of-type{
margin-right: 0;
margin-bottom: 25px;
   }
}

@media (max-width: 420px) {

   .works img {
      width: 100%;
   }

   .main-board__left-block> div:nth-child(3) {
    flex-direction: column;
    align-items: center;
   }
}