.menu-icon {
  height: 25px;
  cursor: pointer;
  width: 40px;
  position: relative;
  overflow: hidden;
}
.menu-icon:before, .menu-icon:after {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  transition-delay: 0s;
  content: "";
  display: block;
  width: 4px;
  height: 28px;
  border-radius: 10px;
  transform-origin: center center;
  background-color: #fff;
}
.menu-icon:before {
  position: absolute;
  top: 0;
  left: 18px;
  transform: rotate(-45deg);
}
.menu-icon:after {
  position: absolute;
  top: 0;
  right: 18px;
  transform: rotate(45deg);
}
.menu-icon .bar {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  transition-delay: 0.2s;
  width: 100%;
  height: 5px;
  background-color: #fff;
  border-radius: 20px;
}
.menu-icon .bar-1 {
  position: absolute;
  top: 0;
  left: 0;
}
.menu-icon .bar-2 {
  position: absolute;
  top: 10px;
  left: 0;
}
.menu-icon .bar-3 {
  position: absolute;
  top: 20px;
  left: 0;
}
.menu-icon.opened .bar {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  transition-delay: 0s;
}
.menu-icon.opened:before, .menu-icon.opened:after {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  transition-delay: 0.2s;
}
.menu-icon-3:before {
  transform: rotate(-90deg);
}
.menu-icon-3:after {
  transform: rotate(90deg);
}
.menu-icon-3:before, .menu-icon-3:after {
  top: -2px;
}
.menu-icon-3.opened:before {
  transform: rotate(-45deg);
}
.menu-icon-3.opened:after {
  transform: rotate(45deg);
}
.menu-icon-3.opened:before, .menu-icon-3.opened:after {
  top: 0px;
}
.menu-icon-3.opened .bar {
  opacity: 0;
}
.menu-icon-3.opened .bar-1 {
  top: 10px;
}
.menu-icon-3.opened .bar-3 {
  top: 10px;
}
.menu-icon {
  display: none;
}

@media screen and (min-width: 1421px) {
  .contact-head-inner h1 {
      padding-left: 175px;
      position: relative;
      /* top: -3px; */
      width: 100%;
  }

  .contact-head-inner {
      align-items: center;
      padding-top: 60px;
  }

  .clients-active {
    min-height: 200px;
  }
}

@media screen and (max-width: 1420px) {
  .menu-icon {
    display: block;
    margin-left: 75px;
  }

  .header-links .wpml-ls {
      margin: 0;
  }
  .header-links .header-links-inner {
      position: absolute;
      right: 0;
      background: #222;
      top: 65px;
      height: 100vh;
      transition: 0.3s;
      transform: translateX(101%);
  }

  .header-links .header-links-inner {
      display: block;
      padding: 30px 50px;
  }

  header {
      padding: 5px 15px;
  }

  .logo {
      max-width: 100px;
  }

  header.active {
      background: #1D1D1B;
  }

  .header-links {
      padding-top: 0;
  }

  header.active .logo img ~ img {
      display: none;
  }

  header.active .logo img {
      display: block;
  }

  header.active .header-links .wpml-ls-legacy-list-horizontal a, header.active .header-links a {
      color: #FAFAFA;
  }

  .header-links ul li {
      margin-bottom: 25px;
  }

  .header-links.active .header-links-inner {
      transform: translateX(0);
  }

  .header-links ul {
      display: block;
  }

  section.section1 {
      font-size: 100px;
  }

  section.section1 strong {
      font-size: 100px;
  }


  section.section3 {
      font-size: 50px;
  }

  section.section4 .section-inner {
      width: 100%;
      padding: 100px 20px 0;
  }

  section.section5 {
      font-size: 90px;
  }

  section.section5 p {
      margin-bottom: 30px;
  }

  section.section7 {
      font-size: 60px;
  }

  .section-inner h2 {
      max-width: 100%;
  }

  section.section8 h2 {
      max-width: 100%;
      font-size: 90px;
      margin: 0;
  }

  .section8-text {
      padding: 50px 0;
      display: block;
  }

  .section8-text-right {
      padding-left: 60px;
  }

  .section8-text-right p:not(:first-child) {
      margin-left: -60px;
  }

  .section8-text-right p {
      margin-bottom: 60px;
      font-size: 40px;
  }

  .section8-text-right:before {
      font-size: 30px;
  }

  .services-list {
      padding-left: 0;
  }

  .service-title {
      font-size: 32px;
      line-height: 40px;
  }

  .companies-inner {
      display: block;
  }

  .companies-list {
      margin-top: 60px;
  }

  .companies h2 {
      text-align: left;
      padding-bottom: 50px;
      font-size: 50px;
      padding-left: 0 !important;
  }

  .clients-top {
      display: block;
  }

  .clients-top h2 {
      font-size: 90px;
  }

  .clients-active {
      font-size: 50px;
      margin-top: 50px;
      max-width: 100%;
  }

  .clients-bottom {
      flex-direction: column-reverse;
      padding-left: 20px;
  }

  .clients-list {
      max-width: 100%;
      font-size: 30px;
  }

  .section9-text1 {
      font-size: 80px;
      margin-bottom: 50px;
  }

  section.testims h2 {
      max-width: 100%;
      font-size: 50px;
  }

  .testim-item-inner {
      display: block;
  }

  .testims-list {
      max-width: 100%;
      margin: 20px;
  }

  button.slick-arrow {
      transform: translateX(-110%) rotate(180deg);
  }

  button.slick-next.slick-arrow {
      transform: translateX(100%);
  }

  .testim-item-label {
      font-size: 40px;
      max-width: 170px;
  }

  .testim-item-label:before {
      padding-right: 40px;
  }

  .testim-item-info {
      margin-top: 40px;
      font-size: 20px;
  }

  .section-link {
      font-size: 30px;
  }

  .footer-main {
      padding: 30px 0;
      display: block;
  }

  .footer-slogan {
      font-size: 90px;
      text-align: center;
  }

  .footer-slogan1 {
      padding: 0;
  }

  .footer-contacts {
      max-width: 350px;
      margin: 30px auto;
  }

  .footer-contact-link {
      margin-bottom: 40px;
  }
  .section9-text3 {
      flex: 1;
  }
  .common-head h1 {
      font-size: 120px;
      padding: 0 0 30px;
      text-align: center;
  }

  .team-text {
      margin-left: auto;
      margin-right: 60px;
      font-size: 28px;
      line-height: 43px;
      transform: translateX(70px);
  }

  .team-info-title h2 {
      font-size: 60px;
      line-height: 70px;
  }

  .team-info1 .team-member {
      transform: none;
      align-items: center;
      flex-direction: row;
      margin: 40px 0;
      width: 100%;
  }

  .team-info1-members {
      display: flex;
      gap: 30px;
  }

  .team-member-img {
      max-width: 150px;
      height: auto;
  }

  .team-info2-members {
      gap: 40px;
  }

  .team-info2-members .team-member-img {
      height: 150px;
      max-width: 120px;
  }

  .team-info2:not(.team-info2-1) h2 {
      padding: 40px 0;
  }

  .exp-links {
      transform: none;
      margin: 0 auto;
      padding-top: 40px;
  }

  .exp-text-inner {
      margin: 0 0 0 80px;
      max-width: 100%;
      font-size: 50px;
  }

  .exp-text-inner:before {
      font-size: 100px;
  }

  .exp-info h2 {
      font-size: 80px;
      margin-bottom: 50px;
  }

  .exp-info-text {
      font-size: 20px;
  }
  .work-text {
      margin-left: 30px;
      max-width: 100%;
      margin-right: 0;
  }

  .work-text:before {
      font-size: 70px;
  }

  .work-item-client {
      font-size: 50px;
      max-width: 250px;
      padding-left: 40px;
  }

  .work-item-client:after {
      left: -40px;
      font-size: 40px;
  }

  .work-item-inner h2 {
      max-width: calc(100% - 250px);
      font-size: 40px;
      line-height: 50px;
  }

  .work-item .work-item-text {
      transform: none;
      top: 0;
      padding: 20px 0;
      max-width: calc(100% - 250px);
      margin: 0;
  }

  .work-item.active .work-item-link {
      transform: none;
      text-align: left;
  }

  .work-item-link a {
      transform: none;
      padding: 20px 40px;
      font-size: 20px;
  }

  .about-quote-text {
      font-size: 40px;
      max-width: calc(100% - 60px);
  }

  section.work-arch-title h2 {
      font-size: 75px;
  }

  .work-item-archive-client {
      max-width: 190px;
      padding: 20px 20px 20px 45px;
      font-size: 30px;
  }

  .work-item-archive-client:after {left: -32px;display: block;}

  .work-item-archive-inner {
      flex-direction: row;
      align-items: stretch;
      gap: 30px;
  }

  .work-item-archive-text h2 {
      font-size: 35px;
  }

  .work-item-archive-text {
      font-size: 20px;
  }

  .work-item-archive-link {
      margin-top: 20px;
      font-weight: 600;
  }

  .news-item-title h2 {
      font-size: 40px;
  }

  .news-item-excerpt {
      font-size: 20px;
  }

  .news-item {
      margin-right: 0;
      margin-left: 100px;
      padding-left: 20px;
  }

  .news-head-inner .news-item {
      margin-left: 50px;
      margin-right: 0;
      margin-top: 59px;
  }

  .news-item-date {
      font-size: 39px;
      right: calc(100% + 15px);
  }

  .news-all-top h2 {
      font-size: 50px;
      line-height: 70px;
  }

  .news-all-top {
      padding-top: 50px;
  }

  .news-all-list .news-item {
      margin-top: 80px;
      margin-bottom: 80px;
  }


  .news-all-list-news {padding-bottom: 130px;}

  .general-head-inner h1 {
      font-size: 90px;
  }

  section.about4:before {
      font-size: 50px;
      max-width: 50px;
      line-height: 90px;
      bottom: inherit;
      top: 50%;
  }

  section.about4 h2 {
      font-size: 80px;
      padding-left: 50px;
  }

  .about-contact-text h2 {
      font-size: 90px;
      text-align: center;
      line-height: 170px;
  }

  .about-contact-link a {
      display: inline-block;
      padding: 30px 50px 30px 40px;
  }

  .about-contact-link {
      font-size: 40px;
      text-align: center;
      width: 100%;
  }
  form.wpcf7-form h2 {
      font-size: 80px;
  }

  .contact-step {
      position: static;
      max-width: 150px;
      margin-bottom: 40px;
      margin-left: -20px;
  }

  .contact-inputs.flexed p {
      display: block;
  }

  .titles-wrap {
      margin-top: 0;
  }

  .titles-wrap h1 {
      font-size: 60px;
  }

  .titles-wrap .suptitle {
      font-size: 40px;
  }

  .titles-wrap:before {
      top: 20px;
  }

  .teamm-img {
      max-width: 480px;
  }

  .section-teamm-main-inner {
      top: -30px;
  }

  .teamm-cv-link {
      position: static;
  }

  .teamm-cv-link a {
      display: inline-block;
      margin-bottom: 70px;
  }

  .teamm-bottom-inner {
      gap: 20px;
  }

  .teamm-bottom-free-text.teamm-bottom-free-text2 {
      padding-top: 50px;
  }
}



@media screen and (max-width: 840px) {
  section.section1 strong {
      font-size: 42px;
  }

  .teamm-cv-link a i, .dark a i.fa-long-arrow-right, .dark .footer-contact-link a i, .dark .section-link a i {
      padding-left: 10px;
  }

  .teamm-cv-link a i:before, .dark a i.fa-long-arrow-right:before, .dark .footer-contact-link a i:before, .dark .section-link a i:before {
      opacity: 0;
  }

  section.section1 {
      font-size: 42px;
      line-height: 50px;
  }

  section {
      padding: 50px 20px 20px;
  }

  section.section3 .section-inner {
      padding: 0;
      width: 100%;
  }

  section.section3 {
      font-size: 25px;
  }

  section.section4 .section-inner {
      font-size: 24px;
  }

  section.section4 p {
      margin-bottom: 40px;
  }

  .section-link a i {
      padding-left: 10px;
  }

  .section-link {
      font-size: 22px;
  }

  section.section5 {
      font-size: 36px;
      transition-delay: 0.4s;
  }

  section.section7 {
      font-size: 40px;
  }

  section.home8 h2 {
      font-size: 40px;
      line-height: 50px;
  }

  .section8-text-left {
      margin-bottom: 20px;
      font-size: 40px;
  }

  .section8-text-right {font-size: inherit;}

  .section8-text-right p {
      font-size: 30px;
  }

  .service-title {
      padding-left: 40px;
      font-size: 28px;
  }

  .service-text {
      padding: 40px 0 0;
  }

  .service-item {
      margin-bottom: 30px;
  }

  .clients-top h2 {
      font-size: 50px;
  }

  section.clients .section-inner {
      padding: 0 20px 50px;
  }

  .clients-active {
      font-size: 30px;
      margin-left: 20px;
  }

  .clients-list {
      font-size: 20px;
  }

  .section9 .section-inner {
      padding: 0;
  }

  .section9-text1 {
      font-size: 40px;
  }

  .section9-bottom {
      font-size: 50px;
  }

  .section-inner.section-inner-padding {
      padding: 0;
  }

  button.slick-arrow {
      top: 0;
      transform: translateY(50%) rotate(180deg);
      z-index: 3;
  }

  button.slick-next.slick-arrow {
      transform: translateY(50%);
  }

  .testims-list {
      margin: 0;
  }

  .footer-slogan {
      font-size: 50px;
      text-align: left;
  }

  .footer-contact-link {
      font-size: 28px;
  }

  section.first-section {
      padding-top: 100px;
  }

  .common-head h1 {
      font-size: 60px;
  }

  .team-text {
      transform: none;
      font-size: 24px;
      margin-right: 0;
      line-height: 36px;
  }

  .team-text:before {
      transform: translate(0, calc(-100% - 20px));
      font-size: 60px;
  }

  .team-info2-members .team-member {
      display: block;
      max-width: 150px;
  }

  .team-info2-members {
      gap: 25px 15px;
  }

  .team-info2-members .team-member-img {
      max-width: 100%;
      margin-bottom: 15px;
  }

  .team-info-title {
      padding-top: 0;
  }

  .team-info-title h2 {
      font-size: 40px;
      line-height: 50px;
  }

  .exp-links {
      font-size: 30px;
      margin-left: 25px;
  }

  .exp-text-inner {
      font-size: 40px;
      margin-left: 0;
  }

  .exp-text-inner:before {
      transform: translate(0, -100%);
  }

  .exp-info h2 {
      font-size: 36px;
  }
  .work-text:before {
      transform: translate(-50%, -100%);
  }

  .work-text {
      font-size: 26px;
  }

  .work-item-client {
      font-size: 20px;
      max-width: 100%;
      width: 100%;
      height: auto;
      position: static;
      order: -1;
      padding: 20px;
      margin-bottom: 10px;
  }

  .work-item-inner h2 {
      max-width: 100%;
      padding-top: 0;
      line-height: 35px;
  }

  .work-item .work-item-text {
      max-width: 100%;
      font-size: 20px;
  }

  .work-item-inner {
      display: flex;
      flex-wrap: wrap;
  }

  .work-item-client:before {
      display: none;
  }

  .work-item-client:after {
      left: 0;
  }

  .about-quote-author {
      position: static;
      transform: none;
      margin: 30px 0 0;
      border-bottom: 2px solid currentColor;
      padding-bottom: 10px;
  }

  .about-quote-text {
      font-size: 32px;
      max-width: 100%;
  }

  section.work-arch-title h2 {
      font-size: 60px;
  }

  .work-item-archive-client {
      order: -1;
  }

  .work-item-archive-text {
      font-size: 18px;
  }

  .work-item-archive-inner {
      margin-left: 0 !important;
      margin-right: 0 !important;
  }

  .work-archive-items {
      padding-bottom: 80px;
  }
  section.news-all .section-inner {
      padding: 0;
  }

  .news-all-cats {
      gap: 20px;
      font-size: 18px;
  }

  .news-all-list .news-item {
      margin-left: 30px !important;
      margin-right: 0 !important;
  }

  .news-item-date {
      font-size: 28px;
  }

  .news-item-title {
  }

  .news-item-title h2 {
      font-size: 32px;
  }

  .pager {
      display: flex;
      transform: none;
      margin-bottom: 30px;
      font-size: 18px;
      gap: 30px;
      justify-content: center;
      left: 0;
  }

  .pageNumbers a {
      width: 30px;
      height: 30px;
      font-size: 18px;
  }

  .news-all-list-news {
      padding-bottom: 50px;
  }

  section.about4 h2 {
      font-size: 40px;
      padding-left: 20px;
  }

  section.about4 p {
      padding-left: 20px;
  }

  section.about5 h2 {
      font-size: 40px;
  }

  .about-fact.about-fact-1 {
      padding-left: 0;
      margin-bottom: 280px;
  }

  .about-fact.about-fact-1:before {
      transform: translate(100%, 100%);
      line-height: 100px;
  }

  .about-fact.about-fact-2 {
      max-width: 100%;
      margin: 0 20px 50px;
  }

  .about-fact {
      font-size: 48px;
      line-height: 50px;
  }

  .about-fact.about-fact-3 {
      margin-left: 0;
      margin-bottom: 50px;
  }

  .about-contact-text h2 {
      font-size: 50px;
  }

  .about-contact-text p {
      font-size: 24px;
  }

  .about-contact-link a {
      font-size: 26px;
      padding: 20px 10px 20px 30px;
  }

  .about-contact-link a i {
    padding-right: 10px;
    margin-right: 10px;
  }
  .contact-head-inner h1 {
      font-size: 80px;
      margin-bottom: 40px;
  }

  .header-email:before {
      width: 100px;
  }

  .header-email {
      gap: 30px;
      font-size: 30px;
  }

  .header-phone {
      font-size: 28px;
  }

  .header-phone a {
      font-size: 30px;
      max-width: 230px;
      margin-top: 15px;
  }

  form.wpcf7-form h2 {
      font-size: 44px;
  }

  form.wpcf7-form label span {
      font-size: 40px;
  }

  form.wpcf7-form input {
      font-size: 28px;
  }

  .contact-inputs.flexed {
      margin-top: 20px;
  }

  .contact-step {
      font-size: 36px;
      max-width: 120px;
      padding: 20px 20px 10px 20px;
  }

  section.teamm-feat h2 {
      font-size: 50px;
  }

  .teamm-cv-link a {
      padding: 20px 15px;
  }

  .teamm-bottom-free-text h2 {
      font-size: 40px;
  }
  section.about2 h2, section.about3 h2 {
      font-size: 64px;
  }

  .exp-head-inner h1 {text-align: left;padding-left: 20px;}

  .footer-social-item a i {margin-left: 1px;}

  .footer-slogan1 {
      padding-left: 50px;
  }

  .footer-contacts {
      max-width: 100%;
      margin-left: 50px;
  }

  section.footer {
      padding-left: 10px;
  }

  .testim-item-label {
      margin: 0 0 0 70px;
  }

  .testim-item-text:before {
      float: left;
      padding-right: 20px;
      padding-top: 20px;
      padding-bottom: 0;
  }

  .footer-email:before {
      display: none;
  }

  .footer-email {
      border-bottom: 2px solid currentColor;
      padding-bottom: 30px;
  }

  .marquee {
      overflow: hidden;
      font-size: 32px;
  }
}