@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-Black.woff2) format("woff2"),
        url(../fonts/Inter-Black.woff) format("woff");
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-ExtraBold.woff2) format("woff2"),
        url(../fonts/Inter-ExtraBold.woff) format("woff");
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-Bold.woff2) format("woff2"),
        url(../fonts/Inter-Bold.woff) format("woff");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-ExtraLight.woff2) format("woff2"),
        url(../fonts/Inter-ExtraLight.woff) format("woff");
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-Light.woff2) format("woff2"),
        url(../fonts/Inter-Light.woff) format("woff");
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-Regular.woff2) format("woff2"),
        url(../fonts/Inter-Regular.woff) format("woff");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-SemiBold.woff2) format("woff2"),
        url(../fonts/Inter-SemiBold.woff) format("woff");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-Medium.woff2) format("woff2"),
        url(../fonts/Inter-Medium.woff) format("woff");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: Inter;
    font-display: swap;
    src: url(../fonts/Inter-Thin.woff2) format("woff2"),
        url(../fonts/Inter-Thin.woff) format("woff");
    font-weight: 100;
    font-style: normal;
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
body {
    line-height: 1;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    height: 100%;
}
body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    font: 1.1em/1.4em Inter, sans-serif;
    color: #fff;
    background: #8f13fd;
}
.middle {
    margin: 0 auto;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 1590px;
    width: 100%;
}
a {
    text-decoration: none;
}
header {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}
.header-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.logo {
    margin-top: 50px;
}
.nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 63px;
    font-weight: 600;
    text-transform: uppercase;
}
.nav-list__item {
    margin-left: 22px;
}
.nav-list__item-link {
    color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.nav-list__item-link:hover {
    opacity: 0.8;
}
.taptap-main-menu-button {
    display: none;
}
.main-wrapper {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}
.h1 {
    margin-bottom: 8px;
    width: 70%;
    font-size: 3.4em;
    line-height: 1.2em;
    font-weight: 700;
    text-transform: uppercase;
}
.h2 {
    margin-bottom: 15px;
    width: 90%;
    font-size: 3.4em;
    font-weight: 800;
    line-height: 1.2em;
    text-transform: uppercase;
}
.h3 {
  margin-bottom: 15px;
  width: 100%;
  font-size: 2.2em;
  font-weight: 800;
  line-height: 1.1em;
  text-transform: uppercase;
}
.no-webp .main-section {
    background: #8f13fd url(../img/1.jpg) no-repeat right 30px;
}
.webp .main-section {
    background: #8f13fd url(../img/1.webp) no-repeat right 30px;
}
.main-section {
    padding-top: 146px;
    padding-bottom: 208px;
}
.main-section .section-info {
    width: 50%;
}
.main-section .h2 {
    margin-bottom: 20px;
    font-size: 2.4em;
    font-weight: 400;
    line-height: 1.15em;
}
.company-desc {
    width: 70%;
    line-height: 1.4em;
}
.company-desc p {
    margin-bottom: 20px;
}
.main-section-link {
    display: inline-block;
    margin-top: 15px;
    padding: 15px 30px;
    border-radius: 30px;
    font-weight: 500;
    color: #000;
    text-transform: uppercase;
    background-color: #fff;
    transition: 0.3s;
}
.main-section-link:hover {
    opacity: 0.8;
}
.no-webp .about-section {
    background: #ffe76d url(../img/2.jpg) no-repeat 255px 200px;
}
.webp .about-section {
    background: #ffe76d url(../img/2.webp) no-repeat 255px 200px;
}
.about-section {
    padding-top: 328px;
    padding-bottom: 264px;
    color: #9013fe;
}
.about-section .section-info {
    width: 38.5%;
}
.about-section .middle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
}
.about-section .company-desc {
    width: 60%;
}
.no-webp .services-section {
    background: url(../img/3.jpg) no-repeat right 280px top 180px;
}
.webp .services-section {
    background: url(../img/3.webp) no-repeat right 280px top 180px;
}
.services-section {
    padding-top: 290px;
    padding-bottom: 254px;
}
.services-section .section-info {
    width: 38.5%;
}
.services-section .company-desc {
    width: 80%;
}
.services-section .company-desc b {
    display: block;
    font-weight: 700;
    font-size: 1.1em;
}
.services-section .services-inner {
    position: relative;
    padding-left: 140px;
}
.services-section .services-info {
    position: absolute;
    right: 260px;
    bottom: -150px;
    font-size: 1.4em;
    line-height: 1.6em;
}
.services-section .services-info b {
    display: block;
    font-size: 1.6em;
    font-weight: 800;
}
.no-webp .what-section {
    background: #ffe76d url(../img/4.jpg) no-repeat left 0;
}
.webp .what-section {
    background: #ffe76d url(../img/4.webp) no-repeat left 0;
}
.what-section {
    padding-top: 305px;
    padding-bottom: 268px;
    color: #9013fe;
    background-size: auto 100%;
}
.what-section .section-info {
    width: 38%;
}
.what-section .middle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
}
.what-section .company-desc {
    width: 90%;
}
footer {
    padding-bottom: 45px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}
footer .logo {
    margin-top: 52px;
}
footer .nav-list {
    margin-top: 70px;
}
@media (max-width: 1400px) {
    .webp .main-section,
    .no-webp .main-section {
        background-size: 50%;
        background-position: right -100px top 50%;
    }
    .main-section .section-info {
        width: 60%;
    }
    .webp .about-section,
    .no-webp .about-section {
        background-size: 50%;
        background-position: 50px center;
    }
    .about-section .section-info {
        width: 45%;
    }
    .about-section .company-desc {
        width: 90%;
    }
    .webp .what-section,
    .no-webp .what-section {
        background-size: 50%;
        background-position: -150px center;
    }
    .what-section {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .what-section .section-info {
        width: 50%;
    }
    .services-section .services-inner {
        padding-left: 0;
    }
    .webp .services-section,
    .no-webp .services-section {
        background-position: right 50px top 100px;
    }
    .services-section {
        padding-top: 130px;
        padding-bottom: 240px;
    }
    .services-section .services-info {
        right: 100px;
    }
    .services-section .section-info {
        width: 50%;
    }
}
@media (max-width: 1280px) {
    .main-section {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .webp .about-section,
    .no-webp .about-section {
        background-size: 40%;
    }
    .about-section {
        padding-top: 180px;
        padding-bottom: 120px;
    }
    .what-section {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}
@media (max-width: 1140px) {
    .webp .what-section,
    .no-webp .what-section {
        background-size: auto 100%;
    }
}
@media (max-width: 992px) {
    .webp .services-section,
    .no-webp .services-section {
        background-size: 50%;
    }
    .services-section {
        padding-bottom: 100px;
    }
    .services-section .services-info {
        right: 0;
        bottom: 0;
    }
}
@media (max-width: 768px) {
    main .middle {
        padding-left: 50px;
        padding-right: 50px;
    }
    .no-webp .main-section {
        background-image: url(../img/5.png);
    }
    .webp .main-section {
        background-image: url(../img/5.webp);
    }
    .webp .main-section,
    .no-webp .main-section {
        background-position: center top;
        background-size: 40%;
    }
    .main-section {
        padding-top: 350px;
    }
    body {
        text-align: center;
    }
    .about-section .company-desc,
    .about-section .section-info,
    .company-desc,
    .h1,
    .h2,
    .main-section .h2,
    .main-section .section-info,
    .services-section .company-desc,
    .services-section .section-info,
    .what-section .company-desc,
    .what-section .section-info {
        width: 100%;
    }
    .h1,
    .h2 {
        text-align: center;
    }
    .webp .about-section,
    .no-webp .about-section {
        background-position: center 40px;
    }
    .about-section {
        padding-top: 400px;
        padding-bottom: 100px;
    }
    .webp .services-section,
    .no-webp .services-section {
        background-position: center 40px;
        background-size: 40%;
    }
    .services-section {
        padding-top: 400px;
    }
    .services-section .services-info {
        display: none;
    }
    .no-webp .what-section {
        background-image: url(../img/6.png);
    }
    .webp .what-section {
        background-image: url(../img/6.webp);
    }
    .webp .what-section,
    .no-webp .what-section {
        background-position: center 40px;
        background-size: 25%;
    }
    .what-section {
        padding-top: 400px;
        padding-bottom: 100px;
    }
    footer .header-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    footer .nav-list {
        margin-top: 40px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        text-align: center;
    }
    footer .nav-list__item {
        margin-left: 0;
    }
    header {
        padding-top: 20px;
    }
    header .logo {
        margin-top: 0;
        width: 70px;
    }
    header .logo img {
        display: block;
        width: 100%;
    }
    header nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1000;
        background-color: #9013fe;
    }
    header nav .nav-list {
        -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;
        height: 100%;
    }
    header nav .nav-list__item {
        padding: 15px 0;
    }
    header .header-inner {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .taptap-main-menu-button {
        display: block;
        position: fixed;
        top: 20px;
        right: 15px;
        z-index: 1001;
        padding: 6px 5px;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    .taptap-main-menu-button:hover {
        cursor: pointer;
    }
    .taptap-main-menu-button.active {
        position: fixed;
        top: 30px;
        right: 15px;
    }
    .taptap-main-menu-button span.taptap-main-menu-button-middle:before,
    .taptap-main-menu-button:after,
    .taptap-main-menu-button:before {
        content: "";
        display: block;
        width: 30px;
        height: 2px;
        margin: 7px 0;
        background-color: #fff;
        -webkit-transition: all 0.25s ease;
        transition: all 0.25s ease;
    }
    .taptap-main-menu-button.active span.taptap-main-menu-button-middle:before {
        opacity: 0;
    }
    .taptap-main-menu-button.active:before {
        -ms-transform: translateY(9px) rotate(45deg);
        transform: translateY(9px) rotate(45deg);
        -webkit-transform: translateY(9px) rotate(45deg);
    }
    .taptap-main-menu-button.active:after {
        -ms-transform: translateY(-9px) rotate(-45deg);
        transform: translateY(-9px) rotate(-45deg);
        -webkit-transform: translateY(-9px) rotate(-45deg);
    }
}
@media (max-width: 600px) {
    .webp .main-section,
    .no-webp .main-section {
        background-position: center 40px;
    }
    .about-section,
    .main-section,
    .services-section,
    .what-section {
        padding-top: 320px;
        padding-bottom: 50px;
    }
    footer .logo img {
        margin: 0 auto;
        max-width: 90%;
        width: 100%;
    }
    .main-section .h2 {
        font-size: 2em;
    }
}
@media (max-width: 400px) {
    .h1,
    .h2 {
        font-size: 2.5em;
    }
    .main-section .h2 {
        font-size: 1.5em;
    }
    .about-section,
    .main-section,
    .services-section,
    .what-section {
        padding-top: 230px;
    }
}
@media (max-width: 320px) {
    .h1,
    .h2 {
        font-size: 2em;
    }
    .main-section .h2 {
        font-size: 1.2em;
    }
    .about-section,
    .main-section,
    .services-section,
    .what-section {
        padding-top: 200px;
    }
}
