.footer-inner {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  padding: 70px 40px;
  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; }
  @media (max-width: 1023px) {
    .footer-inner {
      padding: 40px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media (max-width: 767px) {
    .footer-inner {
      padding: 32px 16px; } }

footer {
  border-top: 1px solid rgba(0, 0, 0, 0.1); }
  footer p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #000;
    font-size: 14px;
    text-transform: uppercase; }
    footer p a {
      margin-left: 8px;
      color: #215ece;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      footer p a svg {
        margin-right: 4px; }
    @media (max-width: 1023px) {
      footer p {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3; } }
  footer .social {
    padding-right: 0; }
    @media (max-width: 1023px) {
      footer .social {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        margin: 16px 0; } }
    @media (max-width: 767px) {
      footer .social {
        margin: 24px 0; } }

@media (max-width: 1023px) {
  .footer__menu {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

.footer__menu ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 767px) {
    .footer__menu ul {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .footer__menu ul li:not(:last-child) {
    margin-right: 30px; }
    @media (max-width: 767px) {
      .footer__menu ul li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 16px; } }
  @media (max-width: 767px) {
    .footer__menu ul li {
      text-align: center; } }
  .footer__menu ul a {
    font-size: 14px;
    text-transform: uppercase;
    color: #303030; }

.social {
  padding-right: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none; }
  .social li:not(:last-child) {
    margin-right: 14px; }

.tel-icon {
  display: none;
  fill: #000;
  width: 20px;
  height: 20px; }
  @media (max-width: 1023px) {
    .tel-icon {
      display: block; } }

.projects {
  padding: 60px 0; }
  @media (max-width: 767px) {
    .projects {
      padding: 30px 0; } }
  .projects .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #215ece;
    height: 3px;
    top: -1px; }
  .projects .swiper-pagination-progressbar {
    background-color: #e5e5e5;
    height: 1px; }
  .projects .swiper-pagination {
    top: auto;
    bottom: 56px; }

@media (max-width: 1199px) {
  .main-projects-slider {
    padding-bottom: 94px; } }

@media (max-width: 767px) {
  .main-projects-slider {
    padding-bottom: 80px; } }

.main-projects-slider-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto; }
  .main-projects-slider-bottom .swiper-button-next,
  .main-projects-slider-bottom .swiper-button-prev {
    position: relative;
    left: 0;
    right: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    margin: 0;
    top: 0; }
    .main-projects-slider-bottom .swiper-button-next::after,
    .main-projects-slider-bottom .swiper-button-prev::after {
      color: #000;
      font-size: 18px; }
  .main-projects-slider-bottom .swiper-button-next {
    margin-left: 24px; }

.project__item {
  width: 100%;
  position: relative;
  overflow: hidden; }
  .project__item-link {
    font-size: 14px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-top: 1px solid #303030;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 20px;
    text-transform: uppercase;
    -webkit-transform: translateY(150px);
        -ms-transform: translateY(150px);
            transform: translateY(150px);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
    @media (max-width: 1023px) {
      .project__item-link {
        display: none; } }
  .project__item-name {
    display: none; }
    @media (max-width: 1023px) {
      .project__item-name {
        display: block;
        text-transform: uppercase;
        margin-top: 16px;
        color: #303030;
        font-size: 21px; } }
    @media (max-width: 767px) {
      .project__item-name {
        font-size: 16px; } }
  .project__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0.8)));
    background: -o-linear-gradient(bottom, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 100%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 100%);
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s; }
    @media (max-width: 1023px) {
      .project__item::before {
        display: none; } }
  .project__item img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%; }
    @media (max-width: 1023px) {
      .project__item img {
        aspect-ratio: 1/1; } }

.section-head {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 40px; }
  .section-head h2 {
    margin-bottom: 0; }

.do {
  padding: 60px 0; }
  @media (max-width: 1023px) {
    .do {
      padding: 30px 0; } }
  @media (max-width: 767px) {
    .do {
      padding-bottom: 0;
      border-bottom: 1px solid #e5e5e5; } }
  @media (max-width: 767px) {
    .do ~ .articles {
      margin-top: 30px; } }

.do__items {
  display: grid;
  grid-template-columns: 1.1fr 0.8fr 1.2fr;
  position: relative; }
  @media (max-width: 1199px) {
    .do__items {
      grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 1023px) {
    .do__items {
      grid-template-columns: 1fr 1fr; } }
  @media (max-width: 767px) {
    .do__items {
      grid-template-columns: 1fr; } }

.do__item {
  padding: 32px; }
  @media (max-width: 767px) {
    .do__item {
      padding: 32px 16px;
      border-bottom: 1px solid #e5e5e5;
      border-left: 1px solid #e5e5e5; } }
  .do__item:not(:last-child) {
    border-right: 1px solid #e5e5e5; }
  @media (max-width: 1023px) {
    .do__item:last-child {
      border: 1px solid #e5e5e5; } }
  @media (max-width: 767px) {
    .do__item:last-child {
      border-bottom: none; } }
  @media (max-width: 1023px) {
    .do__item:nth-child(2) {
      border-bottom: 1px solid #e5e5e5; } }
  @media (max-width: 767px) {
    .do__item:nth-child(2) {
      border-bottom: none; } }
  .do__item:first-child {
    padding-left: 0; }
    @media (max-width: 1023px) {
      .do__item:first-child {
        padding-left: 32px;
        border-left: 1px solid #e5e5e5; } }
    @media (max-width: 767px) {
      .do__item:first-child {
        padding-left: 16px; } }
  .do__item img {
    margin-bottom: 32px; }
    @media (max-width: 1199px) {
      .do__item img {
        width: 64px;
        height: 64px;
        margin-bottom: 24px; } }
  .do__item a {
    text-transform: uppercase;
    font-size: 20px;
    line-height: 140%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media (max-width: 1199px) {
      .do__item a {
        font-size: 16px; } }
    .do__item a:not(:last-child) {
      margin-bottom: 20px; }
    .do__item a svg {
      margin-top: 14px;
      margin-right: 16px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      -webkit-transition: -webkit-transform 0.3s;
      transition: -webkit-transform 0.3s;
      -o-transition: transform 0.3s;
      transition: transform 0.3s;
      transition: transform 0.3s, -webkit-transform 0.3s; }
      .do__item a svg path {
        stroke: #303030;
        -webkit-transition: stroke 0.3s;
        -o-transition: stroke 0.3s;
        transition: stroke 0.3s; }

.articles {
  padding: 60px 0; }
  @media (max-width: 1023px) {
    .articles {
      padding: 30px 0; } }
  .articles h2 {
    text-align: left; }
  @media (max-width: 767px) {
    .articles ~ .contacts {
      margin-top: 30px; } }

.articles__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; }
  @media (max-width: 1023px) {
    .articles__items {
      grid-template-columns: 1fr 1fr; } }
  @media (max-width: 767px) {
    .articles__items {
      grid-template-columns: 1fr;
      gap: 40px; } }

.articles__item img {
  width: 100%; }

.articles__item:first-child {
  position: relative;
  grid-column: 1/3; }
  @media (max-width: 1023px) {
    .articles__item:first-child {
      max-height: 400px; } }
  @media (max-width: 767px) {
    .articles__item:first-child {
      grid-column: 1; } }
  .articles__item:first-child::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(54.69%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 54.69%, rgba(0, 0, 0, 0.6) 100%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 54.69%, rgba(0, 0, 0, 0.6) 100%); }
  .articles__item:first-child img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  .articles__item:first-child p {
    text-transform: uppercase;
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 64px;
    font-size: 24px;
    color: #fff;
    line-height: 140%; }
    @media (max-width: 1023px) {
      .articles__item:first-child p {
        bottom: 40px; } }
    @media (max-width: 767px) {
      .articles__item:first-child p {
        font-size: 16px;
        left: 16px;
        bottom: 24px; } }

.articles__item:not(:first-child) img {
  margin-bottom: 20px; }

.articles__item:not(:first-child) .articles__item-name {
  -webkit-transition: color 0.3s;
  -o-transition: color 0.3s;
  transition: color 0.3s;
  font-size: 20px;
  line-height: 140%;
  margin-bottom: 16px;
  text-transform: uppercase; }
  @media (max-width: 1199px) {
    .articles__item:not(:first-child) .articles__item-name {
      font-size: 16px; } }

.articles__item:not(:first-child) .articles__item-date {
  color: #000;
  opacity: 0.5;
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .articles__item:not(:first-child) .articles__item-date {
      margin-bottom: 16px;
      font-size: 15px; } }

.articles__item:not(:first-child) .articles__item-text {
  color: #000;
  opacity: 0.5;
  line-height: 140%; }
  @media (max-width: 767px) {
    .articles__item:not(:first-child) .articles__item-text {
      font-size: 15px; } }

.about {
  padding: 60px 0;
  overflow-x: hidden; }
  @media (max-width: 1023px) {
    .about {
      padding-top: 0; } }
  @media (max-width: 767px) {
    .about {
      padding-bottom: 30px; } }

.about-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px; }
  @media (max-width: 767px) {
    .about-inner {
      grid-template-columns: 1fr; } }
  .about-inner h2 {
    text-align: left; }
    @media (max-width: 1023px) {
      .about-inner h2 {
        font-size: 24px; } }
  .about-inner .img-bottom {
    width: 100%;
    margin-top: auto; }
    @media (max-width: 1023px) {
      .about-inner .img-bottom {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover; } }
  .about-inner .col:first-child {
    position: relative; }
    .about-inner .col:first-child::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      left: 100px;
      background-color: #e5e5e5;
      top: 6px; }
      @media (max-width: 1023px) {
        .about-inner .col:first-child::before {
          width: calc(100% - 98px - 24px - 24px); } }
      @media (max-width: 767px) {
        .about-inner .col:first-child::before {
          width: calc(100% - 98px - 32px); } }
  .about-inner h3 {
    text-transform: uppercase;
    font-size: 14px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 40px;
    font-weight: 400;
    padding-right: 35px;
    background-color: #fff; }
    @media (max-width: 767px) {
      .about-inner h3 {
        margin-bottom: 32px; } }
  .about-inner .col:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative; }
  .about-inner .img-top {
    position: absolute;
    top: -32px;
    left: 80px; }
    @media (max-width: 1023px) {
      .about-inner .img-top {
        display: none; } }
  .about-inner p {
    max-width: 480px;
    color: rgba(0, 0, 0, 0.5);
    line-height: 140%; }
    .about-inner p:not(:last-child) {
      margin-bottom: 16px; }

.contacts {
  margin-top: 60px;
  padding-left: calc(50vw - 591px);
  border-top: 1px solid rgba(0, 0, 0, 0.1); }
  .contacts h2 {
    text-align: left;
    color: #215ece; }
  @media (max-width: 1199px) {
    .contacts {
      padding-left: 15px; } }
  @media (max-width: 767px) {
    .contacts {
      padding-right: 15px; } }

.contacts__box {
  padding-right: 120px;
  padding-top: 80px;
  padding-left: 40px;
  padding-bottom: 94px;
  border-left: 1px solid rgba(0, 0, 0, 0.1); }
  @media (max-width: 1023px) {
    .contacts__box {
      padding-right: 56px; } }
  @media (max-width: 767px) {
    .contacts__box {
      border-left: none;
      padding: 64px 0 40px; } }
  .contacts__box ul {
    list-style: none; }
    .contacts__box ul li:not(:last-child) {
      margin-bottom: 47px; }
      @media (max-width: 767px) {
        .contacts__box ul li:not(:last-child) {
          margin-bottom: 32px; } }
    .contacts__box ul li {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .contacts__box ul li svg {
        margin-right: 16px; }
  .contacts__box a {
    font-size: 14px;
    color: #303030;
    text-transform: uppercase; }
  .contacts__box address {
    font-style: normal;
    text-transform: uppercase;
    font-size: 14px;
    color: #303030;
    line-height: 140%; }

.contacts-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  @media (max-width: 767px) {
    .contacts-inner {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0 15px;
      border-left: 1px solid rgba(0, 0, 0, 0.1);
      border-right: 1px solid rgba(0, 0, 0, 0.1);
      padding-bottom: 32px; } }
  .contacts-inner iframe {
    height: auto !important;
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: block;
    border: none; }
    @media (max-width: 767px) {
      .contacts-inner iframe {
        height: 250px !important;
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto; } }

.categories-page {
  padding-bottom: 60px;
  padding-top: 50px; }
  @media (max-width: 767px) {
    .categories-page {
      padding-bottom: 30px;
      padding-top: 40px; } }

.categiries {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px; }
  @media (max-width: 767px) {
    .categiries {
      grid-template-columns: 1fr; } }

.categies__item {
  -webkit-transition: border 0.3s, -webkit-box-shadow 0.3s;
  transition: border 0.3s, -webkit-box-shadow 0.3s;
  -o-transition: border 0.3s, box-shadow 0.3s;
  transition: border 0.3s, box-shadow 0.3s;
  transition: border 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
  height: 240px;
  position: relative;
  border: 1px solid #e5e5e5;
  padding-left: 20px;
  padding-bottom: 20px;
  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: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media (max-width: 1199px) {
    .categies__item {
      height: 190px; } }
  @media (max-width: 1023px) {
    .categies__item {
      padding-top: 20px;
      height: auto;
      padding-right: 20px; } }
  .categies__item-name {
    max-width: 260px;
    text-transform: uppercase;
    font-size: 20px;
    -webkit-transition: color 0.3s;
    -o-transition: color 0.3s;
    transition: color 0.3s; }
    @media (max-width: 1023px) {
      .categies__item-name {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        max-width: 100%; } }
  .categies__item svg {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 20px;
    display: block; }
    @media (max-width: 1023px) {
      .categies__item svg {
        margin-top: 0;
        margin-left: 15px; } }
    .categies__item svg path {
      -webkit-transition: stroke 0.3s;
      -o-transition: stroke 0.3s;
      transition: stroke 0.3s; }
  .categies__item img {
    -o-object-fit: contain;
       object-fit: contain;
    max-height: 190px;
    position: absolute;
    bottom: 20px;
    right: 20px; }
    @media (max-width: 1199px) {
      .categies__item img {
        max-height: 124px; } }
    @media (max-width: 1023px) {
      .categies__item img {
        position: static;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: 20px; } }

.categories-head {
  margin-bottom: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .categories-head ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    list-style: none; }
    @media (max-width: 1023px) {
      .categories-head ul {
        overflow: auto; } }
    @media (max-width: 1023px) {
      .categories-head ul::-webkit-scrollbar {
        display: none; } }
    .categories-head ul li {
      width: 33.333%; }
      @media (max-width: 1023px) {
        .categories-head ul li {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content; } }
    .categories-head ul .radio-name {
      height: 100%;
      cursor: pointer;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding-bottom: 10px;
      text-transform: uppercase;
      text-align: center;
      color: rgba(0, 0, 0, 0.5);
      position: relative; }
      @media (max-width: 1023px) {
        .categories-head ul .radio-name {
          min-width: 300px; } }
      .categories-head ul .radio-name::before {
        content: "";
        position: absolute;
        width: 100%;
        left: 0;
        bottom: 0;
        right: 0;
        height: 3px;
        background-color: #215ece;
        -webkit-transform: scale(0);
            -ms-transform: scale(0);
                transform: scale(0);
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        -o-transition: transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
        -webkit-transform-origin: 0 0;
            -ms-transform-origin: 0 0;
                transform-origin: 0 0; }
    .categories-head ul input[type="radio"] {
      display: none; }
    .categories-head ul input[type="radio"]:checked + .radio-name {
      color: #215ece; }
      .categories-head ul input[type="radio"]:checked + .radio-name::before {
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1); }

.categories {
  padding-bottom: 60px; }
  @media (max-width: 767px) {
    .categories {
      padding-top: 60px; } }
  .categories .swiper-pagination {
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    position: static;
    padding-left: calc(50vw - 591px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-right: calc(50vw - 591px); }
    @media (max-width: 1023px) {
      .categories .swiper-pagination {
        overflow: auto; }
        .categories .swiper-pagination::-webkit-scrollbar {
          display: none; } }
  .categories .swiper .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .categories .swiper-scrollbar {
    max-width: 1180px;
    width: 100%;
    bottom: auto;
    top: 46px;
    min-width: 970px;
    margin: 0 auto;
    left: 0;
    right: 0;
    border-radius: 0;
    height: 1px;
    background-color: transparent; }
    @media (max-width: 1023px) {
      .categories .swiper-scrollbar {
        display: none; } }
  .categories .swiper-scrollbar-drag {
    background-color: #215ece;
    height: 3px; }
  .categories .swiper-pagination-bullet {
    padding-bottom: 10px;
    opacity: 1;
    width: 33.3333%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    background-color: transparent;
    color: rgba(0, 0, 0, 0.5); }
    @media (max-width: 1023px) {
      .categories .swiper-pagination-bullet {
        min-width: 290px; } }
    .categories .swiper-pagination-bullet-active {
      color: #215ece; }
      @media (max-width: 1023px) {
        .categories .swiper-pagination-bullet-active {
          position: relative; }
          .categories .swiper-pagination-bullet-active::before {
            content: "";
            position: absolute;
            width: 100%;
            left: 0;
            bottom: 0;
            right: 0;
            height: 3px;
            background-color: #215ece; } }
  .categories .categories__items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px; }
    @media (max-width: 1199px) {
      .categories .categories__items {
        grid-template-columns: repeat(3, 1fr); } }
    @media (max-width: 767px) {
      .categories .categories__items {
        grid-template-columns: 1fr; } }

.category {
  border: 1px solid #e5e5e5;
  padding: 40px 20px 0;
  position: relative;
  aspect-ratio: 1/1; }
  @media (max-width: 767px) {
    .category {
      min-height: 220px;
      aspect-ratio: auto; } }
  .category p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-transform: uppercase;
    font-size: 20px;
    -webkit-transition: color 0.3s;
    -o-transition: color 0.3s;
    transition: color 0.3s; }
    @media (max-width: 1023px) {
      .category p {
        font-size: 16px; } }
  .category svg {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
    .category svg path {
      -webkit-transition: stroke 0.3s;
      -o-transition: stroke 0.3s;
      transition: stroke 0.3s; }
  .category .category__images {
    position: absolute;
    left: 0;
    bottom: 0; }
    .category .category__images img {
      position: absolute;
      left: 0;
      bottom: 0;
      -webkit-transition: opacity 0.3s;
      -o-transition: opacity 0.3s;
      transition: opacity 0.3s; }
      @media (max-width: 1023px) {
        .category .category__images img {
          width: 140px;
          height: 140px;
          -o-object-fit: contain;
             object-fit: contain; } }
  .category .hover-img {
    opacity: 0; }

.hero {
  overflow: hidden;
  background-position: top left;
  background-repeat: no-repeat;
  padding-top: 280px;
  padding-bottom: 270px; }
  @media (max-width: 1023px) {
    .hero {
      text-align: center;
      padding: 140px 0 80px; } }
  @media (max-width: 767px) {
    .hero {
      background-color: #f1f5f9;
      background-image: none !important; } }
  .hero .container {
    position: relative; }
    .hero .container img {
      position: absolute;
      right: -150px;
      top: 55%;
      max-width: 65%;
      -o-object-fit: contain;
         object-fit: contain;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media (max-width: 1199px) {
        .hero .container img {
          max-width: 70%;
          -o-object-fit: contain;
             object-fit: contain;
          right: -64px; } }
      @media (max-width: 1023px) {
        .hero .container img {
          position: static;
          -webkit-transform: none;
              -ms-transform: none;
                  transform: none;
          margin: 0 auto; } }
      @media (max-width: 767px) {
        .hero .container img {
          max-width: 100%; } }
  .hero h1 {
    max-width: 600px;
    text-align: left;
    font-size: 50px;
    margin-bottom: 20px; }
    .hero h1 span {
      font-weight: 500; }
    @media (max-width: 1199px) {
      .hero h1 {
        font-size: 40px; } }
    @media (max-width: 1023px) {
      .hero h1 {
        text-align: center;
        max-width: 100%; } }
    @media (max-width: 767px) {
      .hero h1 {
        font-size: 32px; } }

.page-head {
  padding: 50px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  @media (max-width: 767px) {
    .page-head {
      padding: 40px 0; } }
  .page-head h1 {
    margin-bottom: 0; }

.contacts-page iframe {
  margin-top: -186px;
  height: 540px !important;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.contacts-page__box {
  position: relative;
  z-index: 3;
  background-color: #fff;
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-top: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media (max-width: 1023px) {
    .contacts-page__box {
      display: grid;
      grid-template-columns: 1fr 1fr; } }
  @media (max-width: 1023px) {
    .contacts-page__box {
      grid-template-columns: 1fr; } }
  .contacts-page__box .btn {
    -webkit-transition: background 0.3s, color 0.3s;
    -o-transition: background 0.3s, color 0.3s;
    transition: background 0.3s, color 0.3s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    padding: 20px 32px;
    text-transform: uppercase;
    border: 1px solid #215ece;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    color: #215ece; }
  .contacts-page__box form {
    max-width: 380px;
    width: 100%;
    margin: 0 auto; }
    @media (max-width: 1023px) {
      .contacts-page__box form {
        max-width: none; } }
  .contacts-page__box .col {
    padding-top: 64px;
    padding-left: 92px; }
    @media (max-width: 1199px) {
      .contacts-page__box .col {
        padding-left: 60px; } }
    @media (max-width: 1023px) {
      .contacts-page__box .col {
        padding: 64px 32px; } }
    @media (max-width: 767px) {
      .contacts-page__box .col {
        padding: 40px 16px; } }
  .contacts-page__box .col:last-child {
    max-width: 400px;
    width: 100%;
    border-left: 1px solid rgba(0, 0, 0, 0.1); }
    @media (max-width: 1023px) {
      .contacts-page__box .col:last-child {
        max-width: none; } }
    @media (max-width: 767px) {
      .contacts-page__box .col:last-child {
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-left: none; } }
  .contacts-page__box .col:first-child {
    padding-bottom: 76px;
    text-align: center; }
    @media (max-width: 767px) {
      .contacts-page__box .col:first-child {
        padding-bottom: 40px; } }
  .contacts-page__box h2 {
    font-size: 20px;
    text-align: left;
    margin-bottom: 40px; }
    @media (max-width: 1023px) {
      .contacts-page__box h2 {
        margin-bottom: 24px; } }
  .contacts-page__box ul {
    list-style: none; }
    .contacts-page__box ul li:not(:last-child) {
      margin-bottom: 40px; }
    .contacts-page__box ul li {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .contacts-page__box ul li svg {
        margin-right: 16px; }
  .contacts-page__box p {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .contacts-page__box p span {
      margin: 0 14px; }
  .contacts-page__box a {
    font-size: 14px;
    color: #303030;
    text-transform: uppercase; }
  .contacts-page__box address {
    font-style: normal;
    text-transform: uppercase;
    font-size: 14px;
    color: #303030;
    line-height: 140%; }

.portfolio-bottom {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  text-align: center;
  padding: 110px 0; }
  @media (max-width: 767px) {
    .portfolio-bottom {
      padding: 60px 16px; } }
  .portfolio-bottom h2 {
    font-size: 32px;
    margin-bottom: 20px; }
    @media (max-width: 767px) {
      .portfolio-bottom h2 {
        font-size: 24px;
        margin-bottom: 16px; } }
  .portfolio-bottom p {
    line-height: 140%; }

.contacts-custom {
  margin-top: 0 !important; }

.portfolio {
  padding-top: 30px; }

.portfolio__items {
  padding-top: 100px; }
  @media (max-width: 767px) {
    .portfolio__items {
      padding-top: 60px; } }
  .portfolio__items .row {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px; }
    @media (max-width: 767px) {
      .portfolio__items .row {
        gap: 4px;
        grid-template-columns: 1fr 1fr; } }
    .portfolio__items .row:not(:last-child) {
      margin-bottom: 20px; }
      @media (max-width: 767px) {
        .portfolio__items .row:not(:last-child) {
          margin-bottom: 4px; } }
    .portfolio__items .row:nth-child(odd) {
      grid-template-columns: 2fr 1fr; }
      @media (max-width: 767px) {
        .portfolio__items .row:nth-child(odd) {
          grid-template-columns: 1fr 1fr; } }
    .portfolio__items .row iframe {
      max-height: 400px;
      display: block;
      border: none;
      width: 100%;
      height: 100%; }
    .portfolio__items .row img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      max-height: 400px; }

.projects-slider .swiper-slide:not(.swiper-slide-active) {
  opacity: 0.2; }
  .projects-slider .swiper-slide:not(.swiper-slide-active) .projects-slide p {
    opacity: 0; }

.projects-slider .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  position: relative; }

.projects-slider .swiper-button-next::after,
.projects-slider .swiper-button-prev::after {
  color: #000;
  font-size: 18px; }

@media (max-width: 767px) {
  .projects-slider .swiper-button-next,
  .projects-slider .swiper-button-prev {
    display: none; } }

.projects-slider .swiper-button-next {
  right: calc(50vw - 591px); }
  @media (max-width: 1199px) {
    .projects-slider .swiper-button-next {
      right: 15px; } }

.projects-slider .swiper-button-prev {
  left: calc(50vw - 591px); }
  @media (max-width: 1199px) {
    .projects-slider .swiper-button-prev {
      left: 15px; } }

.projects-slide {
  width: 100%;
  height: 100%;
  position: relative; }
  .projects-slide::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(59.66%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 59.66%, rgba(0, 0, 0, 0.6) 100%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 59.66%, rgba(0, 0, 0, 0.6) 100%);
    z-index: 3;
    top: 0;
    left: 0; }
  .projects-slide img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    max-height: 440px;
    height: 100%; }
    @media (max-width: 1199px) {
      .projects-slide img {
        max-height: 360px; } }
  .projects-slide p {
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
    text-align: center;
    font-size: 40px;
    text-transform: uppercase;
    color: #fff;
    max-width: 80%;
    margin: 0 auto;
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0;
    z-index: 4; }
    @media (max-width: 1199px) {
      .projects-slide p {
        bottom: 40px;
        font-size: 32px; } }
    @media (max-width: 767px) {
      .projects-slide p {
        max-width: 95%;
        font-size: 24px; } }

.article-head {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-left: calc(50vw - 591px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media (max-width: 1199px) {
    .article-head {
      padding-left: 15px;
      display: grid;
      grid-template-columns: 1fr 1fr; } }
  @media (max-width: 767px) {
    .article-head {
      padding-left: 0;
      grid-template-columns: 1fr; } }
  .article-head img {
    width: 100%;
    height: 100%;
    max-height: 340px;
    -o-object-fit: cover;
       object-fit: cover; }

.technologies-head p {
  text-transform: uppercase;
  font-size: 20px; }
  @media (max-width: 767px) {
    .technologies-head p {
      font-size: 16px; } }

.technologies-head .article-head__box {
  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; }

.article-head__box {
  max-width: 600px;
  width: 100%;
  padding: 48px 16px 48px 0; }
  @media (max-width: 1199px) {
    .article-head__box {
      max-width: none; } }
  @media (max-width: 767px) {
    .article-head__box {
      padding-left: 16px;
      padding-top: 40px;
      padding-bottom: 40px; } }
  .article-head__box h1 {
    text-align: left;
    margin-bottom: 20px; }
  .article-head__box p {
    color: rgba(0, 0, 0, 0.3); }

.text {
  max-width: 60%;
  width: 100%;
  margin-left: auto;
  padding: 40px 0; }
  @media (max-width: 1023px) {
    .text {
      max-width: 100%; } }

.article {
  padding-bottom: 60px; }
  @media (max-width: 767px) {
    .article {
      padding-bottom: 30px; } }
  .article .video {
    padding-bottom: 40px; }
    .article .video:last-child {
      padding-bottom: 0; }
    .article .video iframe {
      max-width: 980px;
      margin: 0 auto;
      display: block;
      width: 100%; }

.portfolio .video {
  padding-top: 20px; }
  .portfolio .video iframe {
    display: block;
    width: 100%; }
  @media (max-width: 767px) {
    .portfolio .video {
      padding-top: 4px; } }

.industry-video {
  padding-top: 90px;
  padding-bottom: 60px; }
  @media (max-width: 767px) {
    .industry-video {
      padding: 60px 0 30px; } }
  .industry-video iframe {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
    display: block;
    height: 440px; }

.technologies {
  padding-top: 70px; }
  .technologies h2 {
    margin-bottom: 70px; }
    @media (max-width: 767px) {
      .technologies h2 {
        margin-bottom: 40px; } }
  @media (max-width: 767px) {
    .technologies {
      padding-top: 40px; } }

.technologies__items {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); }

.technologies__item {
  display: grid;
  grid-template-columns: 1fr 1fr; }
  @media (max-width: 767px) {
    .technologies__item {
      grid-template-columns: 1fr; } }
  .technologies__item:nth-child(even) .col:last-child {
    padding-left: calc(50vw - 591px);
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
    @media (max-width: 1199px) {
      .technologies__item:nth-child(even) .col:last-child {
        padding-left: 15px; } }
    @media (max-width: 767px) {
      .technologies__item:nth-child(even) .col:last-child {
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0; } }
  .technologies__item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    max-height: 350px; }
    @media (max-width: 1199px) {
      .technologies__item img {
        max-height: none; } }
  .technologies__item .col:last-child {
    padding: 62px 40px 75px 70px;
    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; }
    @media (max-width: 1023px) {
      .technologies__item .col:last-child {
        padding: 40px 32px; } }
    @media (max-width: 767px) {
      .technologies__item .col:last-child {
        padding: 32px 15px; } }
  .technologies__item-name {
    letter-spacing: 0.2px;
    text-transform: uppercase;
    font-size: 20px;
    margin-bottom: 20px; }
  .technologies__item-descr {
    max-width: 460px;
    width: 100%;
    line-height: 140%;
    margin-bottom: 20px; }
  .technologies__item a {
    padding: 20px 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: 1px solid var(--main, #303030);
    font-weight: 500;
    font-size: 14px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    letter-spacing: 0.14px;
    text-transform: uppercase;
    -webkit-transition: background 0.3s, color 0.3s, border 0.3s;
    -o-transition: background 0.3s, color 0.3s, border 0.3s;
    transition: background 0.3s, color 0.3s, border 0.3s; }
    .technologies__item a svg {
      margin-left: 10px; }
      .technologies__item a svg path {
        -webkit-transition: fill 0.3s;
        -o-transition: fill 0.3s;
        transition: fill 0.3s; }

.simular {
  padding: 60px 0; }
  @media (max-width: 767px) {
    .simular {
      padding: 30px 0; } }

@media (max-width: 1023px) {
  .solutions-slide-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.solutions-slide-box span {
  display: none;
  color: rgba(33, 94, 206, 0.1);
  font-size: 56px;
  line-height: 46px;
  margin-right: 10px;
  letter-spacing: 0.56px; }
  @media (max-width: 1023px) {
    .solutions-slide-box span {
      display: block; } }

@media (max-width: 1300px) {
  .simular-slider {
    max-width: calc(100% - 72px); } }

@media (max-width: 767px) {
  .simular-slider {
    max-width: 80%; } }

@media (max-width: 1300px) {
  .simular-slider .categies__item {
    height: 200px; } }

@media (max-width: 767px) {
  .simular-slider .categies__item {
    height: auto; } }

@media (max-width: 1300px) {
  .simular-slider .categies__item img {
    max-height: 140px; } }

.simular-wrapper {
  position: relative; }
  .simular-wrapper .swiper-button-next {
    right: -48px; }
    @media (max-width: 1300px) {
      .simular-wrapper .swiper-button-next {
        right: 0; } }
  .simular-wrapper .swiper-button-prev {
    left: -48px; }
    @media (max-width: 1300px) {
      .simular-wrapper .swiper-button-prev {
        left: 0; } }
  .simular-wrapper .swiper-button-next::after,
  .simular-wrapper .swiper-button-prev::after {
    color: #000;
    font-size: 18px; }

.product {
  padding-top: 80px;
  padding-bottom: 120px; }
  @media (max-width: 1023px) {
    .product {
      padding-bottom: 30px;
      padding-top: 48px; } }

.product__info {
  margin-bottom: 80px; }
  @media (max-width: 1023px) {
    .product__info {
      margin-bottom: 48px; } }
  .product__info p {
    color: rgba(0, 0, 0, 0.5);
    line-height: 140%; }
    .product__info p:not(:last-child) {
      margin-bottom: 16px; }

.purpose__title {
  letter-spacing: 0.16px;
  text-transform: uppercase;
  margin-bottom: 20px; }

.purpose {
  margin-bottom: 80px; }
  @media (max-width: 1023px) {
    .purpose {
      margin-bottom: 48px; } }
  .purpose ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none; }
    .purpose ul li:not(:last-child) {
      margin-right: 20px; }
    .purpose ul p {
      letter-spacing: 0.16px;
      text-align: center; }
  .purpose__icon {
    border: 1px solid var(--grid, #e5e5e5);
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 16px;
    -webkit-transition: background 0.3s, border 0.3s;
    -o-transition: background 0.3s, border 0.3s;
    transition: background 0.3s, border 0.3s; }
    .purpose__icon svg path {
      stroke: #303030;
      -webkit-transition: stroke 0.3s;
      -o-transition: stroke 0.3s;
      transition: stroke 0.3s; }

.characteristics {
  list-style: none; }
  .characteristics li {
    border-bottom: 1px solid #000;
    padding-bottom: 20px; }
    .characteristics li:not(:last-child) {
      margin-bottom: 20px; }
  .characteristics p {
    letter-spacing: 0.16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 140%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .characteristics p span {
      padding-left: 8px;
      font-weight: 600;
      white-space: nowrap; }

.product .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px; }
  @media (max-width: 1023px) {
    .product .container {
      grid-template-columns: 1fr; } }

.product .col:first-child {
  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; }
  @media (max-width: 1023px) {
    .product .col:first-child {
      display: none; } }
  .product .col:first-child img {
    width: 100%; }

.solutions {
  padding: 98px 0;
  background-color: #f1f5f9; }
  @media (max-width: 1023px) {
    .solutions {
      padding: 64px 0; } }
  .solutions h2 {
    margin-bottom: 40px; }
  .solutions .swiper-slide:first-child .solutions-slide__text {
    left: 210px; }
    @media (max-width: 1023px) {
      .solutions .swiper-slide:first-child .solutions-slide__text {
        left: 45px; } }
  .solutions .swiper-slide:nth-child(2) .solutions-slide__text {
    left: 200px; }
    @media (max-width: 1023px) {
      .solutions .swiper-slide:nth-child(2) .solutions-slide__text {
        left: auto;
        padding-left: 0;
        padding-right: 30px;
        right: 16px; } }
    @media (max-width: 1023px) {
      .solutions .swiper-slide:nth-child(2) .solutions-slide__text svg {
        left: auto;
        right: 0; } }
  .solutions .swiper-slide:nth-child(2) img {
    margin-left: 110px;
    margin-top: 30px; }
    @media (max-width: 1023px) {
      .solutions .swiper-slide:nth-child(2) img {
        margin-left: auto;
        margin-top: 0; } }

.solutions-slider__bottom {
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .solutions-slider__bottom .swiper-button-next,
  .solutions-slider__bottom .swiper-button-prev {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
    .solutions-slider__bottom .swiper-button-next::after,
    .solutions-slider__bottom .swiper-button-prev::after {
      color: #000;
      font-size: 18px; }
  .solutions-slider__bottom .swiper-button-prev {
    margin-right: 30px; }

.solutions-slides {
  width: 940px;
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: auto; }

.solutions-slider {
  max-width: 940px; }
  @media (max-width: 1023px) {
    .solutions-slider {
      padding-bottom: 94px; } }
  .solutions-slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #215ece;
    height: 3px;
    top: -1px; }
  .solutions-slider .swiper-pagination-progressbar {
    background-color: #e5e5e5;
    height: 1px; }
  .solutions-slider .swiper-pagination {
    display: none; }
    @media (max-width: 1023px) {
      .solutions-slider .swiper-pagination {
        top: auto;
        bottom: 48px;
        display: block; } }
  .solutions-slider .swiper-scrollbar {
    display: none; }

.solutions-slide:first-child .solutions-slide__text {
  left: 212px; }
  @media (max-width: 1023px) {
    .solutions-slide:first-child .solutions-slide__text {
      left: 64px; } }

.solutions-slide:nth-child(2) .solutions-slide__text {
  left: 40px; }
  @media (max-width: 1199px) {
    .solutions-slide:nth-child(2) .solutions-slide__text {
      left: 15px; } }

@media (max-width: 1023px) {
  .solutions-slide img {
    width: auto;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    height: 160px;
    margin: 0 auto;
    -o-object-fit: contain;
       object-fit: contain; } }

@media (max-width: 767px) {
  .solutions-slide img {
    height: auto;
    max-width: 98%;
    height: 140px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; } }

.solutions-slide__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  padding-left: 20px;
  position: relative;
  margin-bottom: 20px; }
  @media (max-width: 1023px) {
    .solutions-slide__text {
      position: static;
      padding-left: 0;
      margin-bottom: 40px; } }
  .solutions-slide__text > svg {
    position: absolute;
    left: 0;
    top: 0; }
    @media (max-width: 1023px) {
      .solutions-slide__text > svg {
        display: none; } }
  .solutions-slide__text p {
    max-width: 260px;
    letter-spacing: 0.16px; }
    @media (max-width: 1023px) {
      .solutions-slide__text p {
        max-width: 100%; } }
    .solutions-slide__text p:first-child {
      text-transform: uppercase; }
    .solutions-slide__text p:not(:last-child) {
      margin-bottom: 10px; }
  .solutions-slide__text a {
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: #215ece; }
    .solutions-slide__text a svg {
      margin-left: 10px; }

.model {
  padding: 48px 0;
  background-color: #f1f5f9; }
  .model img {
    width: 90%;
    margin: 0 auto;
    -o-object-fit: contain;
       object-fit: contain; }
    @media (max-width: 1199px) {
      .model img {
        height: 320px; } }
    @media (max-width: 767px) {
      .model img {
        height: auto;
        width: 100%; } }
  .model .container {
    padding: 0;
    width: calc(100% - 30px);
    margin: 0 auto; }
  @media (max-width: 767px) {
    .model .model-image {
      position: relative;
      padding: 0; } }
  .model .model-image ul {
    margin-bottom: 35px;
    list-style: none;
    display: none; }
    @media (max-width: 767px) {
      .model .model-image ul {
        display: block; } }
    .model .model-image ul li {
      max-width: 295px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      line-height: 130%;
      font-size: 16px;
      text-transform: uppercase;
      color: #303030; }
      .model .model-image ul li:not(:last-child) {
        margin-bottom: 48px; }
      .model .model-image ul li:nth-child(2) {
        margin-left: 44px; }
      .model .model-image ul li span {
        color: rgba(33, 94, 206, 0.1);
        font-size: 56px;
        font-weight: 400;
        line-height: 46px;
        /* 82.143% */
        letter-spacing: 0.56px;
        margin-right: 10px; }
  @media (max-width: 1023px) {
    .model {
      padding: 20px 0; } }
  @media (max-width: 767px) {
    .model {
      padding-top: 64px; } }

@media (max-width: 767px) {
  .model-two {
    padding-bottom: 64px;
    margin-bottom: 30px; } }

.model-info {
  background-color: #215ece;
  padding: 80px 0; }
  @media (max-width: 1023px) {
    .model-info {
      padding: 48px 0; } }
  @media (max-width: 767px) {
    .model-info {
      display: none; } }
  .model-info ul {
    list-style: none;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(4, 1fr); }
  .model-info li {
    line-height: 140%;
    text-transform: uppercase;
    color: var(--light-bg, #f1f5f9);
    letter-spacing: 0.16px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 15px; }
    .model-info li span {
      color: var(--light-bg, #f1f5f9);
      font-size: 56px;
      font-weight: 400;
      line-height: 46px;
      letter-spacing: 0.56px;
      margin-right: 10px;
      opacity: 0.2; }
      @media (max-width: 1199px) {
        .model-info li span {
          font-size: 48px; } }
      @media (max-width: 1023px) {
        .model-info li span {
          font-size: 24px; } }
    @media (max-width: 1023px) {
      .model-info li {
        font-size: 12px; } }
    @media (max-width: 767px) {
      .model-info li {
        position: absolute; } }
    .model-info li svg {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      position: absolute; }
    .model-info li:first-child svg {
      left: 48%;
      bottom: 120%; }
      @media (max-width: 1199px) {
        .model-info li:first-child svg {
          height: 340px !important; } }
      @media (max-width: 1023px) {
        .model-info li:first-child svg {
          height: 270px !important; } }
    .model-info li:nth-child(2) svg, .model-info li:nth-child(3) svg {
      left: 48%;
      top: 120%; }
    @media (max-width: 1023px) {
      .model-info li:nth-child(2) svg {
        height: 160px; } }
    @media (max-width: 1023px) {
      .model-info li:nth-child(3) svg {
        height: 200px; } }
    .model-info li:last-child svg {
      left: 48%;
      bottom: 120%; }
      @media (max-width: 1199px) {
        .model-info li:last-child svg {
          height: 170px !important; } }
      @media (max-width: 1023px) {
        .model-info li:last-child svg {
          height: 140px !important; } }

.gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr); }
  @media (max-width: 1023px) {
    .gallery {
      grid-template-columns: 1fr 1fr; } }
  .gallery img {
    max-height: 350px;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
    @media (max-width: 767px) {
      .gallery img {
        aspect-ratio: 1/1; } }

.accordion {
  width: 100%;
  overflow: hidden;
  position: relative; }

.accordion__intro {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-transition: background-color 0.3s ease-in-out;
  -o-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
  color: #303030;
  font-weight: 500;
  font-size: 18px; }

.accordion__intro-btn {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-left: 12px; }

.accordion__content {
  max-height: 0;
  will-change: max-height;
  -webkit-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  opacity: 0;
  position: relative;
  padding: 0; }

.accordion__content-inner {
  padding-bottom: 16px;
  padding-top: 20px; }

.modal-menu .accordion__content ul {
  padding: 0; }

.modal-menu .accordion__content ul li {
  font-size: 16px;
  font-weight: 500;
  color: #5c5c5b; }

.modal-menu__list ul li:not(:last-child) {
  margin-bottom: 14px; }

.accordion__active .accordion__content {
  opacity: 1; }

.accordion__active .accordion__intro-btn svg {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.accordion__intro-btn svg {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; }

.blog {
  padding-top: 48px; }
  .blog h2 {
    margin-bottom: 0; }

.blog-boxes {
  padding: 80px 0; }
  @media (max-width: 767px) {
    .blog-boxes {
      padding: 48px 0 64px; } }
  .blog-boxes .articles__items:not(:last-child) {
    margin-bottom: 80px; }
    @media (max-width: 1023px) {
      .blog-boxes .articles__items:not(:last-child) {
        margin-bottom: 64px; } }
    @media (max-width: 767px) {
      .blog-boxes .articles__items:not(:last-child) {
        margin-bottom: 40px; } }
  .blog-boxes .articles__items:nth-child(even) .articles__item:first-child {
    grid-column: 3/5; }
    @media (max-width: 1023px) {
      .blog-boxes .articles__items:nth-child(even) .articles__item:first-child {
        grid-column: 1/2; } }
  .blog-boxes .articles__items:nth-child(even) .articles__item:nth-child(2),
  .blog-boxes .articles__items:nth-child(even) .articles__item:nth-child(3) {
    grid-row: 1; }
    @media (max-width: 1023px) {
      .blog-boxes .articles__items:nth-child(even) .articles__item:nth-child(2),
      .blog-boxes .articles__items:nth-child(even) .articles__item:nth-child(3) {
        grid-row: 2; } }
    @media (max-width: 767px) {
      .blog-boxes .articles__items:nth-child(even) .articles__item:nth-child(2),
      .blog-boxes .articles__items:nth-child(even) .articles__item:nth-child(3) {
        grid-row: auto;
        grid-column: 1/2; } }

@media (hover), (min-width: 0\0), (min--moz-device-pixel-ratio: 0) {
  .modal-menu__list > li a:hover {
    color: #215ece; }
  .purpose ul a:hover {
    color: #215ece; }
    .purpose ul a:hover .purpose__icon {
      background-color: #215ece;
      border-color: #215ece; }
      .purpose ul a:hover .purpose__icon svg path {
        stroke: #fff; }
  header ul li:hover ul {
    opacity: 1;
    visibility: visible; }
  .header__menu > ul ul a:hover {
    color: #215ece; }
  .header__menu > ul > li > a:hover::before {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left; }
  .contacts-page__box .btn:hover {
    background-color: #215ece;
    color: #fff; }
  .contacts__box a:hover {
    color: #215ece; }
  .contacts-page__box a:hover {
    color: #215ece; }
  .technologies__item a:hover {
    background-color: #215ece;
    border-color: #215ece;
    color: #fff; }
    .technologies__item a:hover svg path {
      fill: #fff; }
  .category:hover {
    border-color: #215ece;
    -webkit-box-shadow: 0px 12px 20px 0px rgba(12, 63, 133, 0.2);
            box-shadow: 0px 12px 20px 0px rgba(12, 63, 133, 0.2); }
    .category:hover .hover-img {
      opacity: 1; }
    .category:hover .no-hover-img {
      opacity: 0; }
    .category:hover p {
      color: #215ece; }
    .category:hover svg {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
      .category:hover svg path {
        stroke: #215ece; }
  .header__box .mes:hover {
    color: #215ece; }
  .header__box .tel:hover {
    color: #215ece; }
  .footer__menu ul a:hover {
    color: #215ece; }
  .categies__item:hover {
    border-color: #215ece;
    -webkit-box-shadow: 0px 12px 20px 0px rgba(12, 63, 133, 0.2);
            box-shadow: 0px 12px 20px 0px rgba(12, 63, 133, 0.2); }
    .categies__item:hover .categies__item-name {
      color: #215ece; }
    .categies__item:hover svg {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
      .categies__item:hover svg path {
        stroke: #215ece; }
  .articles__item:not(:first-child):hover .articles__item-name {
    color: #215ece; }
  .project__item:hover .project__item-link {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  .project__item:hover::before {
    opacity: 1; }
  .do__item a:hover {
    color: #215ece; }
    .do__item a:hover svg {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    .do__item a:hover svg path {
      stroke: #215ece; }
  .footer__copyright-oxbox a:hover {
    color: #000; }
  .footer__copyright-oxbox a:hover::after {
    -webkit-animation: DevLogo 2s infinite;
    animation: DevLogo 2s infinite; }
  .checkbox-container:hover input ~ .checkmark {
    border-color: #000; }
  .text-content a:hover {
    opacity: 0.5; }
  .breadcrumbs ul a:hover {
    opacity: 0.5; } }

.revealOnScroll {
  opacity: 0; }

.animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  aniamtion-timing-function: linear;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.flipX {
  -webkit-animation-name: flipX;
          animation-name: flipX; }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight; }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown; }

.zoomIn {
  -webkit-animation-name: zoomIn;
          animation-name: zoomIn; }

@-webkit-keyframes zoomOut {
  0% {
    opacity: 1;
    -webkit-transform: matrix3d(1.08419, 0.00011, 0, 0, -0.00011, 1.08419, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
            transform: matrix3d(1.08419, 0.00011, 0, 0, -0.00011, 1.08419, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
  100% {
    opacity: 1; } }

@keyframes zoomOut {
  0% {
    opacity: 1;
    -webkit-transform: matrix3d(1.08419, 0.00011, 0, 0, -0.00011, 1.08419, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
            transform: matrix3d(1.08419, 0.00011, 0, 0, -0.00011, 1.08419, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
            transform: translate3d(0, 20%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
            transform: translate3d(0, 20%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes DevLogo {
  from {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg); }
  to {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg); } }

@keyframes DevLogo {
  from {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg); }
  to {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg); } }

@media screen and (max-width: 767px) {
  .revealOnScroll {
    opacity: 1; } }
