/* ==================
 * General
 * ================== */
* {
    padding: 0;
    margin: 0;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
img, svg {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
.wrapper {
    overflow: hidden;
}
blockquote {
    position: relative;
    padding: 35px 39px 30px 56px;
    margin-top: 45px;
    margin-left: 32px;
    margin-bottom: 50px;

    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;

    -webkit-box-shadow: 3px 0 10px rgb(214 214 214 / 100%);
    -moz-box-shadow: 3px 0 10px rgb(214 214 214 / 100%);
    box-shadow: 3px 0 10px rgb(214 214 214 / 100%);
}
blockquote:before,
blockquote::before,
blockquote:after,
blockquote::after {
    position: absolute;
    width: 36px;
    height: 29px;
    background: url(../images/quote.svg) no-repeat left top;
    content: '';
}
blockquote:before,
blockquote::before {
    top: 14px;
    left: 10px;
}
blockquote:after,
blockquote::after {
    right: 30px;
    bottom: 24px;
}

canvas {
    display: block;
}

/* ==================
 * Elementor
 * ================== */
.elementor-editor-active .elementor-add-section-inline {
    z-index: 1000 !important;
}

/* ==================
 * Banner
 * ================== */
.main-header {
    position: relative;
    z-index: 888;
}
.main-header:after,
.main-header::after {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    content: '';

    -webkit-filter: blur(10px);
    -filter: blur(10px);
}

.main-header__contacts {
    position: relative;
    z-index: 110;
    padding-top: 10px;
    padding-bottom: 9px;
}
.main-header__contact-list a {
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.05em;
    color: #8c8c8c;
    text-decoration: none;
}
.main-header__contact-list a:hover {
    text-decoration: underline;
}

.mobile-menu-btn {
    display: none;
}

.main-header__top {
    position: relative;
    z-index: 200;
    /*padding-top: 27px;*/
    /*padding-bottom: 28px;*/
}
body.single-portfolio .main-header__top:after,
body.single-portfolio .main-header__top::after {
    display: none;
}

.main-header__top-line,
.main-header__bottom-line {
    position: absolute;
    top: 0;
    right: 0;
}
.main-header__bottom-line {
    top: initial;
    right: initial;
    left: 50%;
    bottom: -1px;

    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.main-header__top .container {
    width: 1360px;
}

.main-header__right {
    padding-right: 123px;
}
.main-header__right > div {
    gap: 70px;
}
.main-nav ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 44px;
    align-items: center;
}
.main-nav ul li {
    list-style: none;
}
.main-nav ul li a {
    font-family: "SF Pro Display Light", Sans-serif;
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 0.1em;
    color: #393939;
    line-height: normal;
    text-decoration: none;
}
.main-nav ul li a:hover {
    color: #1669da;
}

.mobile-btn {
    display: none;
}
.main-nav ul li .sub-menu {
    flex-direction: column;
}
.main-nav > .widget.widget_nav_menu {
    position: static;
}
.main-nav > div > div > ul.menu > li.menu-item {
    padding: 30px 0 38px;
}
.main-nav > div > div > ul.menu > li.menu-item:hover a {
    color: #1669da;
}
.main-nav > div > div > ul.menu > li.menu-item.current-menu-parent a,
.main-nav > div > div > ul.menu > li.menu-item.current-menu-item a {
    font-family: 'SF Pro Display Bold', Sans-serif;
    color: #1669da;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu {
    -webkit-column-count: 5;
    -moz-column-count: 5;
    column-count: 5;

    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    column-gap: 24px;

    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    width: 100%;
    height: 412px;
    padding: 50px 71px 25px;
    border-bottom: 1px solid rgba(102, 102, 102, 0.5);
    background: rgba(255, 255, 255, 0.8) url(../images/menu-mobile-line.svg) no-repeat center top;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu {
    -webkit-column-count: initial;
    -moz-column-count: initial;
    column-count: initial;

    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;

    height: 80px;
    padding: 30px 15px;
    text-align: center;
}
.main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu > li:after,
.main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu > li::after {
    display: none;
}
.main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu > li {
    padding: 0px 20px;
    vertical-align: top;
}
.main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu > li > a {
    display: block;
    margin: 0;
}
.main-nav > div > div > ul.menu > li.menu-item:hover > ul.sub-menu {
    display: block;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu li {
    position: relative;
    line-height: 1;
}
.main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu li {
    display: inline-block;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li:after,
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background: url(../images/menu-line.svg) no-repeat center center;
    content: '';
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li.hide-border:after,
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li.hide-border::after {
    display: none;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > a {
    display: inline-block;
    vertical-align: top;
    margin-bottom: 17px;
    font-family: 'SF Pro Display Medium', Sans-serif;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: #1669da;
    text-decoration: none;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li.current-menu-item > a,
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > a:hover {
    text-decoration: underline;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    gap: 7px;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 14px;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul > li {
    padding-left: 11px;
    padding-right: 24px;
    background: url('../images/menu-arrow.svg') no-repeat left top 6px;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul > li > a {
    display: inline-block;
    vertical-align: top;
    font-family: 'SF Pro Display Light', Sans-serif;
    font-size: 14px;
    letter-spacing: 0.05em;
    color: #414141;
    text-decoration: none;
}
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul > li.current-menu-item a,
.main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul > li > a:hover {
    text-decoration: underline;
}

.sep-column {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.main-header__btn {
    cursor: pointer;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.main-header__btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 20px;

    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 16px;
    letter-spacing: 0.1em;
    color: #393939;
    line-height: normal;
}

.circle {
    position: absolute;
    z-index: 1;
}
.circle.circle-left {
    top: -45px;
    left: -275px;

    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}
.circle.circle-right {
    top: -51px;
    right: -345px;
}

.banner {
    position: relative;
    padding: 163px 0 319px;
}
.banner__title {
    position: relative;
    z-index: 20;
    margin-bottom: 33px;
    color: #161616;
    font-family: 'Nexa-Bold';
    font-size: 80px;
    line-height: 100%;
    font-weight: normal;
}
.banner__desc {
    position: relative;
    z-index: 20;
    width: 793px;
    max-width: 100%;
    color: #161616;
    font-family: 'Nexa-Light';
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 1px;
}
.banner__desc p {
    margin-bottom: 0;
}

#bubble-banner-1 {
    margin-top: 130px;
    margin-left: -560px;
}
#bubble-banner-2 {
    margin-top: 0;
    margin-left: -105px;
}
#bubble-banner-3 {
    margin-top: -110px;
    margin-left: 560px;
}
#bubble-banner-4 {
    margin-top: 235px;
    margin-left: 330px;
}
#bubble-banner-5 {
    margin-top: 530px;
    margin-left: -370px;
}
#bubble-banner-6 {
    margin-top: 600px;
    margin-left: 490px;
}

/* ==================
 * Elementor
 * ================== */
.btn-link .elementor-button-wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
}
.btn-link a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
.btn-link a:hover .elementor-button-text {
    text-decoration: underline;
}
.btn-link a .elementor-button-icon {
    width: 27px;
}
.blob,
.bubble {
    pointer-events: none;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.bubble svg,
.elementor-button-icon svg {
    width: auto;
}

.elementor-button {
    position: relative;
}

.icon-hover-dark a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
}
.icon-hover-dark a:hover .elementor-button-icon svg path {
    stroke: #000;
}

.hover-text-bold.elementor-align-center a.elementor-button {
    width: 252px;
}
.hover-text-bold a:hover {
    font-family: "SF Pro Display Bold", Sans-serif !important;
}

.hover-text-bold.elementor-align-center a.elementor-button svg {
    position: absolute;
    right: 41px;
}

.gradient-line {
    height: 1px;
    background: rgba(102, 102, 102, 0.5);
    background: -webkit-linear-gradient(315deg, rgba(102, 102, 102, 0.5) 0%, rgba(102, 102, 102, 0.5) 50.9%, rgba(102, 102, 102, 0.5) 100%);
    background: -moz-linear-gradient(315deg, rgba(102, 102, 102, 0.5) 0%, rgba(102, 102, 102, 0.5) 50.9%, rgba(102, 102, 102, 0.5) 100%);
    background: -o-linear-gradient(315deg, rgba(102, 102, 102, 0.5) 0%, rgba(102, 102, 102, 0.5) 50.9%, rgba(102, 102, 102, 0.5) 100%);
    background: linear-gradient(315deg, rgba(102, 102, 102, 0.5) 0%, rgba(102, 102, 102, 0.5) 50.9%, rgba(102, 102, 102, 0.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(102, 102, 102, 0.5)', endColorstr='rgba(102, 102, 102, 0.5)', GradientType=1);
}

.elementor-widget-image.img-block img {
    display: block;
}

.income .elementor-widget-container {
    -webkit-box-shadow: 0 0 20px rgba(211, 211, 211, 0.5);
    -moz-box-shadow: 0 0 20px rgba(211, 211, 211, 0.5);
    box-shadow: 0 0 20px rgba(211, 211, 211, 0.5);
}
.income.income-icon .elementor-widget-container {
    width: 111px;
}

.form-left {
    gap: 70px;
}
.form-row-field {
    flex: 0 1 200px;
}
.form-field,
.form-row-field p {
    display: block;
    width: 100%;
}
body .wpcf7-form p input.wpcf7-submit.form-send,
.eael-contact-form-7 .wpcf7-form p input.wpcf7-submit.form-send {
    width: 178px;
    height: 57px;
    padding: 0;
    margin-bottom: 0;
    font-family: "SF Pro Display Regular", Sans-serif;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0.15em;
    text-align: center;
    color: #414141;
    text-transform: uppercase;
    background: #fff;
    cursor: pointer;

    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

body .without-bg .wpcf7-form p input.wpcf7-submit.form-send,
.without-bg .eael-contact-form-7 .wpcf7-form p input.wpcf7-submit.form-send {
    color: #fff;
    background-color: #1669DA;
}

body .elementor-element .eael-contact-form-7 form.wpcf7-form .form-body .form-row-field .wpcf7-not-valid-tip,
body .eael-contact-form-7 form .form-row-field > p > .wpcf7-form-control-wrap > span,
body .eael-contact-form-7 form.wpcf7-form.invalid .wpcf7-response-output,
body .eael-contact-form-7 form.wpcf7-form.invalid .form-row-field .wpcf7-not-valid-tip,
.form-row-field .wpcf7-not-valid-tip {
    display: none !important;
}
body .wpcf7 form > div,
body .wpcf7 form > p {
    margin-bottom: 0;
}

body .elementor-element .eael-contact-form-7 form.wpcf7-form .form-body .form-row-field .wpcf7-form-control.wpcf7-text.wpcf7-not-valid {
    border-color: #ff2424;
}

.modal__thanks-msg {
    display: none;
}
.modal__form-title.form-title {
    padding-bottom: 29px;
    margin-bottom: 23px;
}
.modal__form-title.form-title:after,
.modal__form-title.form-title::after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 130px;
    height: 3px;
    background: #1669da;
    content: '';
}
.modal__thanks-msg-desc {
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 16px;
    line-height: 125%;
    letter-spacing: 0.1em;
    color: #646464;
}

.form-row-field.form-row-field-send {
    position: relative;
}
.wpcf7-spinner {
    position: absolute;
    top: 21px;
    right: -60px;
}

body .eael-contact-form-7 form.wpcf7-form.invalid input:not([type="button"]):not([type="submit"]).wpcf7-not-valid {
    color: #ff2424;
    background-image: url(../images/error.svg);
    background-repeat: no-repeat;
    background-position: right top 1px;
}
body .eael-contact-form-7 form.wpcf7-form.invalid input:not([type="button"]):not([type="submit"]).wpcf7-not-valid::-webkit-input-placeholder {
    color: #ff2424;
}
body .eael-contact-form-7 form.wpcf7-form.invalid input:not([type="button"]):not([type="submit"]).wpcf7-not-valid:-moz-placeholder {
    color: #ff2424;
}
body .eael-contact-form-7 form.wpcf7-form.invalid input:not([type="button"]):not([type="submit"]).wpcf7-not-valid::-moz-placeholder {
    color: #ff2424;
}
body .eael-contact-form-7 form.wpcf7-form.invalid input:not([type="button"]):not([type="submit"]).wpcf7-not-valid:-ms-input-placeholder {
    color: #ff2424;
}
body .eael-contact-form-7 form.wpcf7-form.invalid input:not([type="button"]):not([type="submit"]).wpcf7-not-valid::placeholder {
    color: #ff2424;
}
.wpcf7 form.sent .wpcf7-response-output {
    padding: 0;
    margin: 0;
    border: none;
    font-size: 12px;
    color: #fff;
}

.circle-data {
    height: 114px;
}

/* ==================
 * Clients Logo
 * ================== */
.logos-scroll img {
    max-width: 100%;
}

/* When slick mounts on an Elementor container, neutralize flex/gaps */
.logos-scroll-area.slick-initialized,
.logos-scroll-area .e-con-inner.slick-initialized{
    display: block !important;
    overflow: hidden;
    gap: 0 !important; /* Elementor gaps can break slide spacing */
}

body .logos-scroll .os-content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 54px;
}
.logos-scroll-area .slick-track {
    display: -webkit-box !important;
    display: -moz-box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: flex !important;
    align-items: center;
}
.logos-scroll-area .slick-slide {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logos-scroll-area .slick-slide .elementor-widget-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logos-scroll .e-con-inner .elementor-widget-image {
    flex-shrink: 1;
    text-align: left;
    float: none;
}
.logos-scroll .e-con-inner img {
    flex-shrink: 1;
}

body .os-theme-dark > .os-scrollbar.os-scrollbar-horizontal > .os-scrollbar-track,
body .os-theme-ligh > .os-scrollbar.os-scrollbar-horizontal > .os-scrollbar-track {
    width: initial;
    height: 1px;
}
body .os-theme-dark.os-host-transition > .os-scrollbar.os-scrollbar-horizontal > .os-scrollbar-track > .os-scrollbar-handle,
body .os-theme-light.os-host-transition > .os-scrollbar.os-scrollbar-horizontal > .os-scrollbar-track > .os-scrollbar-handle {
    height: 5px;
    margin-top: -2px;
    margin-left: auto;
}

/* ==================
 * Chart
 * ================== */
body .e-con.e-con > .e-con-inner > .elementor-widget.years-list,
body .elementor.elementor .e-con > .elementor-widget.years-list,
body .e-con.e-con > .e-con-inner > .elementor-widget.chart-bg,
body .elementor.elementor .e-con > .elementor-widget.chart-bg,
body .e-con.e-con > .e-con-inner > .elementor-widget.chart-line,
body .elementor.elementor .e-con > .elementor-widget.chart-line {
    max-width: none;
}
.years-list,
.chart-bg,
.chart-line {
    position: absolute;
    left: 50%;
    bottom: 0;
    max-width: none;

    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
.years-list {
    z-index: 0;
    margin-left: 9px;
    bottom: 4px;
}
.chart-bg {
    z-index: 5;
    margin-left: 114px;
    bottom: 57px;
}
.chart-line {
    z-index: 10;
    margin-left: 55px;
    bottom: 73px;
}

/* ==================
 * 404 Page
 * ================== */
.not-found-title {
    margin: 0 auto;
    max-width: 100%;
    font-family: "SF Pro Display Thin";
    font-size: 32px;
    letter-spacing: 0.05em;
    color: #000;
    line-height: 1.6;
    text-align: center;
}
.code {
    font-family: "SF Pro Display Bold";
    font-weight: 900;
    font-size: 250px;
    color: #1669da;
    line-height: 1.05;
    text-align: center;

    -webkit-filter: drop-shadow(-9px -19px 4px #e8e8e8);
    filter: drop-shadow(-9px -19px 4px #e8e8e8);
}
.error-404.not-found .page-content {
    padding-top: 74px;
}

.go-home {
    margin-top: 30px;
}

.error-404.not-found {
    padding-bottom: 127px;
}

.not-found-arrow,
.not-found-circle,
.not-found-bubble {
    left: 50%;
}
.not-found-arrow svg,
.not-found-circle svg,
.not-found-bubble img {
    max-width: none;
}
.not-found-bubble.not-found-bubble-1 {
    top: 160px;
    margin-left: -990px;
}
.not-found-bubble.not-found-bubble-2 {
    top: 600px;
    margin-left: -400px;
}
.not-found-bubble.not-found-bubble-3 {
    top: 160px;
    margin-left: 110px;
}

.not-found-circle-1 {
    top: 544px;
    margin-left: -893px;
}
.not-found-circle-2 {
    top: 440px;
    margin-left: 323px;
}

.not-found-arrow {
    top: 0;
    margin-left: 157px;
}

/* ==================
 * Breadcrumbs
 * ================== */
.breadcrumbs-wrapper {
    padding-bottom: 29px;
}
.breadcrumbs-wrapper .e-con-inner {
    width: 1202px;
    padding-left: 17px;
    padding-right: 17px;
    max-width: 100%;
    margin: 0 auto;
}

/* ==================
 * Blog Page
 * ================== */
.category-banner {
    padding: 114px 0 70px;
}
.category-banner > .container {
    width: 1200px;
    padding-left: 15px;
    padding-right: 15px;
}

.category-banner__content {
    width: 60%;
}
.category-banner__img {
    width: 40%;
}
.category-banner__img img {
    max-width: none;
    position: relative;
    margin-top: -75px;
}
.category-banner .page-desc {
    max-width: 700px;
}
.category-banner .page-desc > div:first-of-type,
.category-banner .page-desc > p:first-of-type {
    padding-right: 90px;
}

/*
 * Main post
 */
.list-of-categories {
    padding-top: 48px;
    padding-bottom: 45px;
}
body .list-of-categories ~ svg {
    display: block;
    margin: 0 auto;
}
.list-of-cases ul,
.list-of-categories__row {
    width: 960px;
    max-width: 100%;
    margin: 0 auto;
    gap: 0 112px;
}
.list-of-cases ul li,
.list-of-categories__item {
    position: relative;
    list-style: none;
}
.list-of-cases ul li:after,
.list-of-cases ul li::after,
.list-of-categories__item:after,
.list-of-categories__item::after {
    position: absolute;
    top: 50%;
    right: -55px;
    width: 2px;
    height: 31px;
    margin-top: -15px;
    background: #1669da;
    content: '';
}
.list-of-cases ul li.last-in-first-row:after,
.list-of-cases ul li.last-in-first-row::after,
.list-of-cases ul li:last-of-type:after,
.list-of-cases ul li:last-of-type::after,
.list-of-categories__item.last-in-first-row:after,
.list-of-categories__item.last-in-first-row::after,
.list-of-categories__item:last-of-type:after,
.list-of-categories__item:last-of-type::after {
    display: none;
}
.list-of-cases a,
.list-of-categories__item a {
    font-family: "SF Pro Display Ultralight", Sans-serif;
    font-weight: normal;
    font-size: 36px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #414141;
    text-decoration: none;

    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    -ms-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}
.list-of-cases a:hover {
    color: #1669da;
}
.list-of-cases ul li.current-menu-item a,
.list-of-categories__item.list-of-categories__item-active a {
    font-family: "SF Pro Display Bold", Sans-serif;
}
.list-of-cases ul li.current-menu-item a:hover,
.list-of-categories__item a:hover {
    text-decoration: none;
}
.category-banner ~ .list-of-categories .list-of-cases ul li.current-menu-item a,
.category-banner ~ .list-of-categories .list-of-categories__item.list-of-categories__item-active a {
    letter-spacing: 0.04em;
}

.no-cases-found {
    padding: 50px 0;
    font-family: 'SF Pro Display Thin', Sans-serif;
}

.article-item {
    height: 576px;
    border: 1px solid #fff;

    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}
.article-item__bg {
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}
.article-item:before,
.article-item::before {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';

    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;

    filter: blur(10px);
    background: linear-gradient(135deg, rgba(237, 237, 237, 0.5) 0%, #d6d6d6 100%);
}
.article-item__data {
    left: -2px;
    bottom: -2px;
    display: block;
    width: calc(100% + 4px);
    max-width: none;
}
.article-item__wave {
    left: 0;
    bottom: 0;
    width: 100%;
}

.article-item__data {
    padding-left: 50px;
    padding-bottom: 37px;
}

.article-item .article-item__title {
    position: relative;
    padding-left: 29px;
    margin-bottom: 10px;
    width: 80%;
    font-family: "SF Pro Display Bold", Sans-serif;
    font-weight: normal;
    font-size: 24px;
    line-height: 146%;
    letter-spacing: 0.05em;
}
.article-item .article-item__title:before,
.article-item .article-item__title::before {
    position: absolute;
    top: 5px;
    left: 0;
    width: 4px;
    height: calc(100% - 10px);
    background: #48dbfb;
    content: '';
}
.article-item .article-item__title a {
    color: #0f0f0f;
    text-decoration: none;
}

.article-item__title svg {
    top: -10px;
    right: -15px;

    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
}

.article-item__categories {
    top: 61px;
    right: 0;
    gap: 10px;
}
.article-item__categories > div {
    min-width: 170px;
    font-family: "SF Pro Display Thin", Sans-serif;
    font-weight: 900;
    font-size: 16px;
    color: #fff;
    line-height: normal;
    background: #0c76f0;

    -webkit-border-radius: 20px 0 0 20px;
    -moz-border-radius: 20px 0 0 20px;
    border-radius: 20px 0 0 20px;
}
.article-item__categories > div a,
.article-item__categories > div a:hover {
    display: block;
    padding: 15px 18px 12px 21px;
    color: #fff;
    text-decoration: none;
}
.article-item__categories > div > a {
    font-family: "SF Pro Display Ultralight", Sans-serif;
}
.article-item__categories > div > a > span {
    font-family: "SF Pro Display Bold", Sans-serif;
    letter-spacing: 0.03em;
    font-weight: normal;
}

.article-item__data > a {
    right: 39px;
    bottom: 40px;
}

.line-bottom {
    padding: 70px 0;
    text-align: center;
}
body .line-bottom svg {
    display: block;
    margin: 0 auto;
}

.user-avatar {
    width: 118px;
    height: 118px;
    border: 2px solid #fff;
    overflow: hidden;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
body.archive.category .user-avatar {
    position: absolute;
    z-index: 3;
    right: 32px;
    bottom: 139px;
}
.user-avatar img {
    width: 100%;
}

/*
 * Other posts
 */
.archive-list__container.container.container-small {
    width: 1222px;
}

.archive-list__others-wrapper {
    display: -ms-grid;
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.post-area {
    max-width: 100%;
    padding-bottom: 28px;
    background-color: #fff;

    -webkit-box-shadow: 3px 0 10px rgb(214 214 214 / 100%);
    -moz-box-shadow: 3px 0 10px rgb(214 214 214 / 100%);
    box-shadow: 3px 0 10px rgb(214 214 214 / 100%);

    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}
.post-area > a {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.post-area__thumbnail img {
    width: 100%;
    height: 263px;
    object-fit: cover;
}

.post-area__line {
    padding: 15px 0 10px;
}
.post-area__line svg {
    display: block;
    max-width: none;
}

.archive-list__others .post-area__title {
    font-family: "SF Pro Display Bold", Sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 125%;
    letter-spacing: 0.05em;
    color: #1669da;
}
.post-area__title a,
.post-area__title a:hover {
    color: #1669da;
    text-decoration: none;
}
.post-area__categories,
.post-meta,
.archive-list__others .post-area__title,
.post-area__desc {
    padding: 0 16px;
}
.archive-list__others > * {
    max-width: 100%;
}
.post-area__desc {
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.05em;
    color: #444;
    font-weight: normal;
}
.archive-list__others-wrapper .post-area__content .post-area__desc {
    font-family: "SF Pro Display Thin", Sans-serif;
}
.post-area__desc > svg {
    top: 7px;
    left: 8px;
}

.post-meta {
    gap: 10px;
    padding-top: 7px;
    margin-bottom: 6px;
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 12px;
    line-height: normal;
    color: #737373;
}
.post-meta__author {
    font-family: "SF Pro Display SemiBold", Sans-serif;
    color: #7d7d7d;
    font-weight: normal;
}

.post-area__categories {
    gap: 9px;
    padding-top: 16px;
}
.post-area__categories > div {
    min-width: 98px;
    height: 31px;
    font-family: "SF Pro Display SemiBold", Sans-serif;
    font-size: 12px;
    line-height: 250%;
    text-align: center;
    color: #9d9d9d;
    letter-spacing: 0.01em;
    border: 1px solid #48dbfb;
    background: rgba(255, 255, 255, 0.33);

    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;

    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.post-area__categories > div:hover {
    color: #fff;
    background: #48dbfb;
}
.post-area__categories > div a,
.post-area__categories > div a:hover {
    display: block;
    padding: 0 8px;
    color: #9d9d9d;
    font-weight: normal;
    text-decoration: none;

    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.post-area__categories > div:hover a {
    color: #fff;
}

.archive-load-more-wrapper {
    padding-top: 24px;
    padding-bottom: 52px;
}
.archive-load-more-wrapper .archive-load-more {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 23px;
    align-items: center;
    justify-content: center;

    width: 252px;
    height: 72px;
    padding: 0;
    background: #fff;
    border-color: #fff;
    cursor: pointer;

    font-family: "SF Pro Display Medium", Sans-serif;
    font-size: 20px;
    line-height: 200%;
    letter-spacing: 0.05em;
    font-weight: normal;
    color: #1669da;

    -webkit-box-shadow: 0px 0px 10px 0px rgba(169.99999999999997, 169.99999999999997, 169.99999999999997, 0.5);
    -moz-box-shadow: 0px 0px 10px 0px rgba(169.99999999999997, 169.99999999999997, 169.99999999999997, 0.5);
    box-shadow: 0px 0px 10px 0px rgba(169.99999999999997, 169.99999999999997, 169.99999999999997, 0.5);

    -webkit-border-radius: 30px 30px 30px 30px;
    -moz-border-radius: 30px 30px 30px 30px;
    border-radius: 30px 30px 30px 30px;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.archive-load-more-wrapper .archive-load-more:hover {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(169.99999999999997, 169.99999999999997, 169.99999999999997, 0.8);
    -moz-box-shadow: 0px 0px 10px 0px rgba(169.99999999999997, 169.99999999999997, 169.99999999999997, 0.8);
    box-shadow: 0px 0px 10px 0px rgba(169.99999999999997, 169.99999999999997, 169.99999999999997, 0.8);
}

.form-without-bg {
    padding-bottom: 10px;
}
.form-without-bg .form-line {
    display: none;
}

.wrapper-pagination {
    padding-top: 66px;
}
body.page-template-cases-page .wrapper-pagination {
    padding: 0 0 56px;
}
.wrapper-pagination .navigation > * {
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 15px;
    color: #8c8c8c;
    line-height: 50%;
    letter-spacing: 0.1em;
    text-decoration: none;

    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.wrapper-pagination .navigation > *.current {
    font-size: 24px;
    color: #1669da;
}
.wrapper-pagination .navigation > *:hover {
    color: #1669da;
    text-decoration: none;
}

/* ==================
 * Single Page
 * ================== */
body.single-post .elementor-widget-text-editor p {
    margin-bottom: 16px;
}
body.single-post .elementor-widget-text-editor ol,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul {
    margin-top: 10px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul {
    margin-top: 2px;
    margin-bottom: 26px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li > ol,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ol > li > ol,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ol > li > ul,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li > ul {
    padding-left: 0;
    margin-top: 5px;
    margin-bottom: 0;

    -webkit-transform: translateX(-7px);
    -moz-transform: translateX(-7px);
    -ms-transform: translateX(-7px);
    -o-transform: translateX(-7px);
    transform: translateX(-7px);
}

body.single-post .elementor-widget-text-editor ul li:not(.elementor-editor-element-edit),
body.single-post .elementor-widget-text-editor ol li {
    line-height: 143%;
}
body.single-post .large-space.elementor-widget-text-editor > div:not(.elementor-element-overlay) ul {
    padding-left: 39px;
}
body.single-post .large-space.elementor-widget-text-editor ul li:not(.elementor-editor-element-edit) {
    margin-bottom: 36px;
}
body.single-post .elementor-widget-text-editor ul {
    padding-left: 13px;
}
body.single-post .elementor-widget-text-editor ul li:not(.elementor-editor-element-edit) {
    position: relative;
    padding-left: 19px;
    margin-bottom: 10px;
    list-style: none;
}
body.single-post .elementor-widget-text-editor ul > li:not(.elementor-editor-element-edit):before,
body.single-post .elementor-widget-text-editor ul > li:not(.elementor-editor-element-edit)::before {
    position: absolute;
    top: 4px;
    left: 0;
    display: block;
    width: 8px;
    height: 14px;
    background: url(../images/list-arrow.svg) no-repeat center center;
    content: '';
}
body.single-post .large-space.elementor-widget-text-editor ul li:not(.elementor-editor-element-edit):before,
body.single-post .large-space.elementor-widget-text-editor ul li:not(.elementor-editor-element-edit)::before {
    top: 9px;
}
body.single-post .elementor-widget-text-editor .elementor-widget-container ol {
    margin-top: 4px;
    margin-bottom: 18px;
    counter-reset: l-item;
}
body.single-post .elementor-widget-text-editor .elementor-widget-container ol:has(li > ul) {
    margin-bottom: 0;
}
body.single-post .elementor-widget-text-editor ol[start] {
    margin-bottom: 0;
}
body.single-post .elementor-widget-text-editor ol[start="1"] > li {
    counter-reset: l-item 0;
}
body.single-post .elementor-widget-text-editor ol[start="2"] > li {
    counter-reset: l-item 1;
}
body.single-post .elementor-widget-text-editor ol[start="3"] > li {
    counter-reset: l-item 2;
}
body.single-post .elementor-widget-text-editor ol[start="4"] > li {
    counter-reset: l-item 3;
}
body.single-post .elementor-widget-text-editor ol[start="5"] > li {
    counter-reset: l-item 4;
}
body.single-post .elementor-widget-text-editor ol[start="6"] > li {
    counter-reset: l-item 5;
}
body.single-post .elementor-widget-text-editor ol[start="7"] > li {
    counter-reset: l-item 6;
}
body.single-post .elementor-widget-text-editor ol[start="8"] > li {
    counter-reset: l-item 7;
}
body.single-post .elementor-widget-text-editor ol[start="9"] > li {
    counter-reset: l-item 8;
}
body.single-post .elementor-widget-text-editor ol[start="10"] > li {
    counter-reset: l-item 9;
}
body.single-post .elementor-widget-text-editor ul[style="list-style-type: disc;"] {
    margin-top: 11px;
    margin-left: 8px;
    margin-bottom: 31px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] {
    margin-top: 27px;
    margin-left: 13px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] > li > b,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] > li > strong {
    color: #48dbfb;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] li:not(.elementor-editor-element-edit) {
    padding-left: 26px;
    margin-bottom: 14px;
    list-style: none;
}
body.single-post .elementor-widget-text-editor ul[style="list-style-type: disc;"] li:not(.elementor-editor-element-edit) {
    padding-left: 2px;
    margin-bottom: 6px;
    list-style: disc;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] li:not(.elementor-editor-element-edit):before,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] li:not(.elementor-editor-element-edit)::before,
body.single-post .elementor-widget-text-editor ul[style="list-style-type: disc;"] li:not(.elementor-editor-element-edit):before,
body.single-post .elementor-widget-text-editor ul[style="list-style-type: disc;"] li:not(.elementor-editor-element-edit)::before {
    display: none;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] li:not(.elementor-editor-element-edit):before,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul[style="list-style-type: circle;"] li:not(.elementor-editor-element-edit)::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 7px;
    height: 7px;
    background: #ededed;
    content: '';

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
body.single-post .elementor-widget-text-editor ol li {
    position: relative;
    padding-left: 41px;
    margin-bottom: 16px;
    list-style: none;
}
body.single-post .elementor-widget-text-editor ol li:has(> ul) {
    margin-bottom: 14px;
}
body.single-post .elementor-widget-text-editor ol > li:before,
body.single-post .elementor-widget-text-editor ol > li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 33px;
    padding-left: 3px;
    padding-bottom: 3px;
    font-family: "SF Pro Display Thin", Sans-serif;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0.05em;
    color: #282828;

    background: url(../images/arrow-under-number.svg) no-repeat center bottom;

    content: counter(l-item);
    counter-increment: l-item;
}
body.single-post .elementor-widget-text-editor ol.general {
    margin-top: 25px;
    margin-bottom: 27px;
}
body.single-post .elementor-widget-text-editor ol.general li {
    padding-left: 6px;
    margin-bottom: 16px;
    list-style: decimal inside;
}
body.single-post .elementor-widget-text-editor ol.general li:before,
body.single-post .elementor-widget-text-editor ol.general li::before {
    display: none;
}
body.single-post .elementor-widget-text-editor ol li:has(> b):before,
body.single-post .elementor-widget-text-editor ol li:has(> b)::before,
body.single-post .elementor-widget-text-editor ol li:has(> strong):before,
body.single-post .elementor-widget-text-editor ol li:has(> strong)::before {
    font-family: "SF Pro Display Bold", Sans-serif;
}

body.single-post .elementor-widget-text-editor ol li:has(> ul):before,
body.single-post .elementor-widget-text-editor ol li:has(> ul)::before,
body.single-post .elementor-widget-text-editor b,
body.single-post .elementor-widget-text-editor strong {
    font-family: "SF Pro Display Bold", Sans-serif;
}




/* Linear easing for truly even speed */
.more-cases-carousel .swiper-wrapper {
    transition-timing-function: linear !important;
}




body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul:has(ol) {
    padding-left: 20px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li:has(> ol) {
    padding-left: 28px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li:not(.elementor-editor-element-edit) > ol {
    padding-left: 0;
    margin-top: 14px;
    margin-bottom: 20px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li:not(.elementor-editor-element-edit) > ol > li {
    padding-left: 35px;
    margin-bottom: 0;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul:has(ol) ol > li:before,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul:has(ol) ol > li::before {
    font-family: "SF Pro Display Thin", Sans-serif;
}

body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li > ol > li > ul[style="list-style-type: circle;"] {
    margin-top: 14px;
    margin-left: 17px;
}
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li > ol > li > ul[style="list-style-type: circle;"]:not(.elementor-editor-element-edit) li:before,
body.single-post .elementor-widget-text-editor > div:not(.elementor-element-overlay) ul > li > ol > li > ul[style="list-style-type: circle;"]:not(.elementor-editor-element-edit) li::before  {
    margin-bottom: 3px;
    background-color: #9cd4ff;
}

body.single-post .elementor-widget-text-editor img.attention-left,
body.single-post .elementor-widget-text-editor img.attention-right {
    position: absolute;
    display: inline;

    -webkit-transform: translate(6px, -9px);
    -moz-transform: translate(6px, -9px);
    -ms-transform: translate(6px, -9px);
    -o-transform: translate(6px, -9px);
    transform: translate(6px, -9px);
}
body.single-post .elementor-widget-text-editor img.attention-left {
    -webkit-transform: translate(-58px, 21px);
    -moz-transform: translate(-58px, 21px);
    -ms-transform: translate(-58px, 21px);
    -o-transform: translate(-58px, 21px);
    transform: translate(-58px, 21px);
}

body.single-post .elementor-widget-text-editor h1:not(.elementor-heading-title),
body.single-post .elementor-widget-text-editor h2:not(.elementor-heading-title),
body.single-post .elementor-widget-text-editor h3:not(.elementor-heading-title),
body.single-post .elementor-widget-text-editor h4:not(.elementor-heading-title),
body.single-post .elementor-widget-text-editor h5:not(.elementor-heading-title),
body.single-post .elementor-widget-text-editor h6:not(.elementor-heading-title) {
    position: relative;
    margin-bottom: 15px;
    font-family: "SF Pro Display SemiBold", Sans-serif;
    font-weight: normal;
    line-height: 156%;
    letter-spacing: 0.05em;
    color: #414141;
}
body.single-post .elementor-widget-text-editor h1:not(.elementor-heading-title) {
    font-size: 30px;
}
body.single-post .elementor-widget-text-editor h2:not(.elementor-heading-title) {
    margin-bottom: 22px;
}
body.single-post .elementor-widget-text-editor h3:not(.elementor-heading-title) {
    font-size: 16px;
}
body.single-post .elementor-widget-text-editor h4:not(.elementor-heading-title),
body.single-post .elementor-widget-text-editor h5:not(.elementor-heading-title),
body.single-post .elementor-widget-text-editor h6:not(.elementor-heading-title) {
    font-size: 14px;
}

body.single-post .elementor-widget-text-editor img.attention-right-mob {
    display: none;
}
body .post-bio-wrapper {
    padding-top: 9px;
}
body .post-bio-wrapper > svg {
    display: block;
    margin: 0 auto;
}

body.single-post .single-services-carousel > * {
    position: fixed;
    z-index: 500;
    left: 0;
    bottom: 0;
    width: 100%;
    padding-bottom: 0;
}
body.single-post .single-services-carousel > *.no-fixed {
    position: static; /* або relative */
}

/* ==================
 * Cases Page
 * ================== */
.list-cases {
    width: 1049px;
    max-width: 100%;
    padding-top: 24px;
    margin: 0 auto;
}
.list-of-cases {
    position: relative;
    z-index: 500;
    padding-bottom: 3px;
}
.list-of-cases ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.cases-button {
    padding-top: 103px;
}
.cases-button button.btn.btn-large {
    width: 250px;
    height: 81px;
    padding-left: 15px;
    padding-right: 15px;
    font-weight: normal;
}
body.page-template-cases-page .category-banner {
    padding-bottom: 14px;
}
body.page-template-cases-page .breadcrumbs-wrapper {
    padding-bottom: 5px;
}

.list-cases__item {
    position: relative;
    padding-top: 95px;
    padding-left: 328px;
    padding-bottom: 65px;
    margin-bottom: 105px;
}
.list-cases > .list-cases__item.is-last {
    margin-bottom: 12px;
}
body .list-cases__item svg {
    display: block;
}

.list-cases__meta {
    position: absolute;
    top: 2%;
    left: 19%;
    width: 235px;
    padding: 11px 10px;

    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.list-cases__item.list-cases__item--right .list-cases__meta {
    top: 22%;
    left: auto;
    right: 15%;
}
.list-cases__meta:before,
.list-cases__meta::before,
.list-cases__meta:after,
.list-cases__meta::after {
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background-color: #fff;

    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.list-cases__meta:after,
.list-cases__meta::after {
    z-index: 1;

    -webkit-filter: blur(8px);
    -moz-filter: blur(8px);
    -ms-filter: blur(8px);
    -o-filter: blur(8px);
    filter: blur(8px);

    background: #c8c8c8;
    background: -webkit-linear-gradient(135deg, rgba(212, 211, 211, 0.2) 0%, #c8c8c8 100%);
    background: -moz-linear-gradient(135deg, rgba(212, 211, 211, 0.2) 0%, #c8c8c8 100%);
    background: -o-linear-gradient(135deg, rgba(212, 211, 211, 0.2) 0%, #c8c8c8 100%);
    background: linear-gradient(135deg, rgba(212, 211, 211, 0.2) 0%, #c8c8c8 100%);
}
.list-cases__meta-logo,
.list-cases__meta-title,
.list-cases__meta-link,
.list-cases__meta-desc {
    position: relative;
    z-index: 20;
    line-height: normal;
}

.list-cases__meta-logo {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: 5px;

    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.list-cases__meta-title,
.list-cases__meta-link {
    padding-left: 35px;
}

.list-cases__meta-title {
    font-family: 'SF Pro Display Thin', Sans-serif;
    font-size: 12px;
    letter-spacing: 0.05em;
    color: #414141;
}
.list-cases__meta-title span {
    font-family: 'SF Pro Display Bold', Sans-serif;
}

.list-cases__meta-link {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin-bottom: 8px;
}
.list-cases__meta-link a {
    font-family: 'SF Pro Display Medium', Sans-serif;
    font-size: 8px;
    color: #1669da;
    text-decoration: none;
    letter-spacing: 0.05em;
}
.list-cases__meta-link a:hover {
    text-decoration: underline;
}

.list-cases__meta-desc {
    font-family: 'SF Pro Display Light', Sans-serif;
    font-size: 10px;
    color: #656565;
    letter-spacing: 0.03em;
}

.list-cases__btns,
.tags__list,
body .list-cases__title,
.list-cases__desc,
.list-cases__extra-desc,
.list-cases__props {
    padding-left: 60px;
    line-height: normal;
}
body .list-cases__title {
    margin-bottom: 5px;
    font-family: 'SF Pro Display Ultralight', Sans-serif;
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.05em;
    color: #414141;
}
body .list-cases__title span {
    font-family: 'SF Pro Display Bold', Sans-serif;

    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    -ms-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}
body .list-cases__title a {
    color: #414141;
    text-decoration: none;
}
body .list-cases__title a:hover {
    text-decoration: none;
}
body .list-cases__title a:hover span {
    color: #1669da;
}
.list-cases__desc {
    width: 65%;
    padding-top: 20px;
    margin-bottom: 12px;
    font-family: 'SF Pro Display Bold', Sans-serif;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: #1669da;
}
.list-cases__extra-desc {
    width: 500px;
    max-width: 100%;
    margin-bottom: 10px;
    font-family: 'SF Pro Display Bold', Sans-serif;
    font-size: 14px;
    color: #656565;
}

.list-cases__props {
    gap: 58px;
    padding-top: 25px;
    margin-bottom: 30px
}
.list-cases__label {
    margin-bottom: 2px;
    font-family: 'SF Pro Display SemiBold', Sans-serif;
    font-size: 14px;
    color: #9e9e9e;
    line-height: normal;
    letter-spacing: 0.05em;
}
body.page-template-cases-page .list-cases__label {
    margin-bottom: 14px;
}
.list-cases__value {
    font-family: 'SF Pro Display Ultralight', Sans-serif;
    font-size: 14px;
    line-height: 1.1;
}
.list-cases__value img {
    display: inline-block;
}
.list-cases__value b,
.list-cases__value strong {
    font-family: 'Montserrat', Sans-serif;
    font-size: 24px;
    color: #0f65d9;
    font-weight: 800;
}
.list-cases__value p {
    margin: 0;
    padding: 0;
}

.tags__list {
    gap: 20px;
    margin-bottom: 14px;
}
.tags__item {
    font-family: 'SF Pro Display Light', Sans-serif;
    font-size: 14px;
    line-height: normal;
    color: #909090;
    list-style: none;
}
.tags__item a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    height: 34px;
    padding: 0 18px;
    border: 1px solid #48dbfb;
    color: #909090;
    line-height: normal;

    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.list-cases__more {
    gap: 30px;
    padding-left: 16px;
}
.list-cases__btns svg {
    display: block;
}
.list-cases__btns > svg {
    top: -20px;
    left: 27px;
}
.list-cases__more a {
    width: 139px;
    height: 45px;
    font-family: 'SF Pro Display Light', Sans-serif;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0.05em;
    text-align: center;
    color: #1669da;
    text-decoration: none;
    border: 1px solid #b1b1b1;

    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.list-cases__more a:first-of-type {
    font-family: 'SF Pro Display Bold', Sans-serif;
    color: #fff;
    background: #0c76f0;
    border-color: #0c76f0;
}
.list-cases__more a:hover {
    text-decoration: none;
}

.list-cases .form-without-bg {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-bottom: 81px;
}

body .cases-form-with-bg svg {
    position: absolute;
    z-index: 300;
    top: 5px;
    left: 50%;
    display: block;

    -webkit-transform: translateX(-720px);
    -moz-transform: translateX(-720px);
    -ms-transform: translateX(-720px);
    -o-transform: translateX(-720px);
    transform: translateX(-720px);
}
.cases-form-without-bg .e-con-inner {
    padding-top: 0;
    padding-bottom: 60px;
}

/*Right block*/
.list-cases__item.list-cases__item--right {
    padding-left: 0;
    padding-right: 328px;
    background-position-x: right !important;
    padding-bottom: 40px;
}
.list-cases__item.list-cases__item--right:last-of-type {
    margin-bottom: 56px;
}
.list-cases__item.list-cases__item--right .list-cases__btns,
.list-cases__item.list-cases__item--right .tags__list,
body .list-cases__item.list-cases__item--right .list-cases__title,
.list-cases__item.list-cases__item--right .list-cases__desc,
.list-cases__item.list-cases__item--right .list-cases__extra-desc,
.list-cases__item.list-cases__item--right .list-cases__props {
    padding-left: 35px;
}
.list-cases__item.list-cases__item--right .list-cases__desc {
    width: 52%  ;
}
.list-cases__item.list-cases__item--right .list-cases__btns > svg {
    left: 3px;
}

/* ==================
 * Modal
 * ================== */
.modal {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.modal__body {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1116px;
    max-width: 90%;
    height: 591px;

    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.modal__inner-body {
    min-height: 591px;
    background: #fff;
    overflow: hidden;

    -webkit-border-radius: 30px;
    -webkit-border-top-right-radius: 0;
    -moz-border-radius: 30px;
    -moz-border-radius-topright: 0;
    border-radius: 30px;
    border-top-right-radius: 0;

    -webkit-mask-image: radial-gradient(circle 31px at 100% 0, transparent 100%, black 101%);
    mask-image: radial-gradient(circle 31px at 100% 0, transparent 100%, black 101%);
}

.modal__close {
    position: absolute;
    z-index: 10;
    top: -26px;
    right: -26px;
    width: 52px;
    height: 52px;
    cursor: pointer;
    background-color: #0C76F0;
    cursor: pointer;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;

    --webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.modal__body-left {
    flex: 1 1 400px;
    width: 400px;
    padding: 25px 25px 30px;
}
.modal__body-left canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
}

.modal__body-left > svg {
    position: relative;
    z-index: 10;
    display: block;
}
body .modal__body-content > svg {
    display: block;
    margin-bottom: 14px;
}
.modal__body-content {
    font-family: 'SF Pro Display Light', Sans-serif;
    font-size: 12px;
    line-height: 125%;
    letter-spacing: 0.05em;
    color: #fff;
}
.modal__body-content b,
.modal__body-content strong {
    font-family: 'SF Pro Display Medium', Sans-serif;
    font-weight: normal;
}
.modal__body-right {
    flex: 1 1 716px;
    width: auto;
    padding: 71px 115px 53px 60px;
    margin-bottom: 47px;
}

.form-title {
    position: relative;
    font-family: 'SF Pro Display Bold', Sans-serif;
    font-size: 40px;
    line-height: 112%;
    letter-spacing: 0.02em;
    color: #000;
}
.form-title svg {
    position: absolute;
    top: 100%;
    right: -70px;
    margin-top: -54px;
}

.form-layout {
    padding-top: 43px;
}
body .modal .form-body .form-field,
body .modal .form-body textarea.form-field {
    padding: 0;
    font-family: 'SF Pro Display Regular', Sans-serif;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #5f5f5f;
    border: none;
    border-bottom: 1px solid #5f5f5f;
}
body .modal .form-body .form-field.wpcf7-not-valid {
    font-family: 'SF Pro Display Bold', Sans-serif;
    background: url(../images/error-input-icon.svg) no-repeat right top 9px;
    color: #ff2424;
}
::placeholder {
    font-family: 'SF Pro Display Light Italic', sans-serif;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #5f5f5f;
}
::-webkit-input-placeholder {
    font-family: 'SF Pro Display Light Italic', sans-serif;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #5f5f5f;
}
:-moz-placeholder {
    font-family: 'SF Pro Display Light Italic', sans-serif;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #5f5f5f;
    opacity: 1; /* for Firefox */
}
::-moz-placeholder {
    font-family: 'SF Pro Display Light Italic', sans-serif;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #5f5f5f;
    opacity: 1;
}
:-ms-input-placeholder {
    font-family: 'SF Pro Display Light Italic', sans-serif;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #5f5f5f;
}
body .modal .form-body .form-field.wpcf7-not-valid::placeholder {
    color: #ff2424;
}
body .modal .form-body .form-field.wpcf7-not-valid::-webkit-input-placeholder {
    color: #ff2424;
}
body .modal .form-body .form-field.wpcf7-not-valid:-moz-placeholder {
    color: #ff2424;
}
body .modal .form-body .form-field.wpcf7-not-valid::-moz-placeholder {
    color: #ff2424;
}
body .modal .form-body .form-field.wpcf7-not-valid:-ms-input-placeholder {
    color: #ff2424;
}


body .modal .form-body .form-field span {
    display: block;
}
.form-layout {
    gap: 40px;
}
.form-layout > .form-row-field {
    flex: 1 1 33%;
}

.form-message {
    padding-top: 25px;
}
.form-message p {
    flex: 1 1 100%;
}
.form-message span {
    display: block;
}
.form-message textarea.form-field {
    display: block;
    width: 100%;
    height: 145px;
    resize: none;
}

.wpcf7-not-valid-tip {
    display: none;
}
.form-accept input {
    display: none;
}
.form-accept .wpcf7-list-item {
    display: block;
    margin-left: 17px;
}
.form-accept label {
    display: block;
    padding-top: 16px;
}
.form-accept .wpcf7-list-item-label {
    position: relative;
    display: block;
    padding-left: 29px;
    font-family: 'SF Pro Display Light', Sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 167%;
    letter-spacing: 0.03em;
    color: #7e7e7e;
}
.form-accept .wpcf7-not-valid .wpcf7-list-item-label {
    color: #ff2424;
}

.form-accept .wpcf7-list-item-label:before,
.form-accept .wpcf7-list-item-label::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 11px;
    height: 11px;
    border: 3px solid #c0c0c0;

    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.form-accept input:checked + .wpcf7-list-item-label:before,
.form-accept input:checked + .wpcf7-list-item-label::before {
    border-color: #0c76f0;
}
.form-accept input:checked + .wpcf7-list-item-label:after,
.form-accept input:checked + .wpcf7-list-item-label::after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 9px;
    height: 9px;
    background: #0c76f0;

    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.form-accept .wpcf7-not-valid .wpcf7-list-item-label:before {
    border-color: #ff2424;
}

body .modal .form-body .form-submit {
    padding-top: 27px;
}
body .modal .form-body .form-submit .form-row-field-send p input[type="submit"].form-send {
    width: 100%;
    height: 69px;
    padding: 0;
    font-family: 'SF Pro Display Light', Sans-serif;
    font-weight: normal;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 0.1em;
    text-align: center;
    color: #fff;
    text-transform: initial;
    outline: none;
    background: #0c76f0;

    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}
body .modal form.wpcf7-form.invalid .form-body .form-submit .form-row-field-send p input[type="submit"].form-send {
    background: #88bfff;
    border-color: #88bfff;
    cursor: not-allowed;
    pointer-events: none;
}

.wpcf7 form .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
    display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
    display: block;
    position: relative;
    top: 10px;
    font-family: 'SF Pro Display Light', Sans-serif;
    font-size: 14px;
    line-height: 214%;
    letter-spacing: 0.05em;
    color: #5f5f5f;
}

/* ==================
 * Mobile nav button
 * ================== */
body .form-title svg.mobile-svg {
    display: none;
}
.mobile-btn {
    width: 31px;
    height: 31px;
    cursor: pointer;
    position: relative;
}
.mobile-btn svg {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s ease;
}
.svg-hidden {
    opacity: 0;
    pointer-events: none;
}
.svg-visible {
    opacity: 1;
    pointer-events: auto;
}

/* ==================
 * Single Post
 * ================== */
.content_desc__line {
    display: none;
}
.post-main .container {
    position: relative;
    z-index: 100;
    width: 1232px;
    max-width: 100%;
    margin: 0 auto;
}
body:not(.elementor-used) .single-post-content {
    position: relative;
    padding-top: 72px;
    font-family: "SF Pro Display Thin", Sans-serif;
    font-weight: normal;
    font-size: 14px;
    line-height: 179%;
    letter-spacing: 0.1em;
    color: #4d4d4d;
}

body:not(.elementor-used) .single-post-content div > h1,
body:not(.elementor-used) .single-post-content div > h2,
body:not(.elementor-used) .single-post-content div > h3,
body:not(.elementor-used) .single-post-content div > h4,
body:not(.elementor-used) .single-post-content div > h5,
body:not(.elementor-used) .single-post-content div > h6,
body:not(.elementor-used) .single-post-content > h1,
body:not(.elementor-used) .single-post-content > h2,
body:not(.elementor-used) .single-post-content > h3,
body:not(.elementor-used) .single-post-content > h4,
body:not(.elementor-used) .single-post-content > h5,
body:not(.elementor-used) .single-post-content > h6 {
    position: relative;
    margin-bottom: 20px;
    font-family: "SF Pro Display Bold", Sans-serif;
    font-weight: normal;
    letter-spacing: 0.05em;
    color: #414141;
}
body:not(.elementor-used) .single-post-content div > h1,
body:not(.elementor-used) .single-post-content > h1 {
    font-size: 26px;
}

body:not(.elementor-used) .single-post-content div > h2,
body:not(.elementor-used) .single-post-content > h2 {
    padding: 9px 0 9px 11px;
    margin-bottom: 22px;
    font-size: 24px;
    line-height: 104%;
    letter-spacing: 0.05em;

    border-style: solid;
    border-width: 0px 0px 0px 3px;
}
body:not(.elementor-used) .single-post-content div > h2:nth-of-type(6n+1),
body:not(.elementor-used) .single-post-content > h2:nth-of-type(6n+1) {
    border-color: #1669da;
}
body:not(.elementor-used) .single-post-content div > h2:nth-of-type(6n+2),
body:not(.elementor-used) .single-post-content > h2:nth-of-type(6n+2) {
    border-color: #48dbfb;
}
body:not(.elementor-used) .single-post-content div > h2:nth-of-type(6n+3),
body:not(.elementor-used) .single-post-content > h2:nth-of-type(6n+3) {
    border-color: #ff8b00;
}
body:not(.elementor-used) .single-post-content div > h2:nth-of-type(6n+4),
body:not(.elementor-used) .single-post-content > h2:nth-of-type(6n+4) {
    border-color: #9bef29;
}
body:not(.elementor-used) .single-post-content div > h2:nth-of-type(6n+5),
body:not(.elementor-used) .single-post-content > h2:nth-of-type(6n+5) {
    border-color: #e5ff1d;
}
body:not(.elementor-used) .single-post-content div > h2:nth-of-type(6n),
body:not(.elementor-used) .single-post-content > h2:nth-of-type(6n) {
    border-color: #b848ed;
}

body:not(.elementor-used) .content_desc:after,
body:not(.elementor-used) .content_desc::after {
    display: block;
    clear: both;
    content: '';
}
body:not(.elementor-used) .content_desc > h2 {
    border: none;
    padding: 9px 0;
    margin-bottom: 22px;
    font-size: 24px;
    line-height: 104%;
    color: #414141;
    letter-spacing: 0.05em;
}

body:not(.elementor-used) .single-post-content div > h3,
body:not(.elementor-used) .single-post-content > h3 {
    margin-bottom: 15px;
    font-family: "SF Pro Display SemiBold", Sans-serif;
    font-size: 16px;
    line-height: 156%;
    letter-spacing: 0.05em;
    color: #414141;
}
body:not(.elementor-used) .single-post-content div > h4,
body:not(.elementor-used) .single-post-content div > h5,
body:not(.elementor-used) .single-post-content div > h6,
body:not(.elementor-used) .single-post-content > h4,
body:not(.elementor-used) .single-post-content > h5,
body:not(.elementor-used) .single-post-content > h6 {
    font-size: 14px;
}

body:not(.elementor-used) .single-post-content p {
    margin-bottom: 16px;
}

body:not(.elementor-used) .single-post-content b,
body:not(.elementor-used) .single-post-content strong {
    font-family: "SF Pro Display Bold", Sans-serif;
    font-weight: normal;
}

body:not(.elementor-used) .single-post-content div > *:not(.carousel-news-area) img,
body:not(.elementor-used) .single-post-content div > .content_desc img,
body:not(.elementor-used) .single-post-content div > img,
body:not(.elementor-used) .single-post-content > *:not(.carousel-news-area) img,
body:not(.elementor-used) .single-post-content > .content_desc img,
body:not(.elementor-used) .single-post-content > img {
    margin-top: 37px;
    margin-bottom: 49px;

    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;
}
body:not(.elementor-used) .single-post-content div > *:not(.carousel-news-area) img.aligncenter,
body:not(.elementor-used) .single-post-content div > .content_desc img.aligncenter,
body:not(.elementor-used) .single-post-content div > img.aligncenter,
body:not(.elementor-used) .single-post-content > *:not(.carousel-news-area) img.aligncenter,
body:not(.elementor-used) .single-post-content > .content_desc img.aligncenter,
body:not(.elementor-used) .single-post-content > img.aligncenter {
    margin: 0 auto;
    clear: both;
}
body:not(.elementor-used) .single-post-content div > *:not(.carousel-news-area) img.alignleft,
body:not(.elementor-used) .single-post-content div > .content_desc img.alignleft,
body:not(.elementor-used) .single-post-content div > img.alignleft,
body:not(.elementor-used) .single-post-content > *:not(.carousel-news-area) img.alignleft,
body:not(.elementor-used) .single-post-content > .content_desc img.alignleft,
body:not(.elementor-used) .single-post-content > img.alignleft {
    float: left;
}
body:not(.elementor-used) .single-post-content div > *:not(.carousel-news-area) img.alignright,
body:not(.elementor-used) .single-post-content div > .content_desc img.alignright,
body:not(.elementor-used) .single-post-content div > img.alignright,
body:not(.elementor-used) .single-post-content > *:not(.carousel-news-area) img.alignright,
body:not(.elementor-used) .single-post-content > .content_desc img.alignright,
body:not(.elementor-used) .single-post-content > img.alignright {
    float: right;
}
body:not(.elementor-used) .single-post-content div > *:not(.carousel-news-area) img.alignnone,
body:not(.elementor-used) .single-post-content div > .content_desc img.alignnone,
body:not(.elementor-used) .single-post-content div > img.alignnone,
body:not(.elementor-used) .single-post-content > *:not(.carousel-news-area) img.alignnone,
body:not(.elementor-used) .single-post-content > .content_desc img.alignnone,
body:not(.elementor-used) .single-post-content > img.alignnone {
    float: none;
}

body:not(.elementor-used) .single-post-content ol li,
body:not(.elementor-used) .single-post-content ul li {
    position: relative;
    margin-bottom: 10px;
    list-style: none;
}

body:not(.elementor-used) .single-post-content ul {
    padding-left: 13px;
    margin-top: 2px;
    margin-bottom: 20px;
}
body:not(.elementor-used) .single-post-content ul[style="list-style-type: circle;"] {
    margin-top: 27px;
    margin-left: 13px;
}
body:not(.elementor-used) .single-post-content ul li {
    padding-left: 19px;
}
body:not(.elementor-used) .single-post-content ul[style="list-style-type: circle;"] li {
    padding-left: 26px;
    margin-bottom: 14px;
    list-style: none;
}
body:not(.elementor-used) .single-post-content ul[style="list-style-type: disc;"] li {
    padding-left: 2px;
    margin-bottom: 6px;
    list-style: disc;
}
body:not(.elementor-used) .single-post-content ul li:before,
body:not(.elementor-used) .single-post-content ul li::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 14px;
    background: url(../images/list-arrow.svg) no-repeat center center;
    content: '';
}

body:not(.elementor-used)  .single-post-content ul[style="list-style-type: circle;"] li:before,
body:not(.elementor-used)  .single-post-content ul[style="list-style-type: circle;"] li::before {
    position: absolute;
    top: 8px;
    left: 0;
    display: block;
    width: 7px;
    height: 7px;
    background: #ededed;
    content: '';

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
body:not(.elementor-used) .single-post-content ul[style="list-style-type: circle;"] > li > b,
body:not(.elementor-used) .single-post-content ul[style="list-style-type: circle;"] > li > strong {
    color: #48dbfb;
}

body:not(.elementor-used) .single-post-content a {
    /*color: #414141;*/
    color: #1669da;
    text-decoration: none;
}
body:not(.elementor-used) .single-post-content a:hover {
    text-decoration: underline;
}

body:not(.elementor-used) .single-post-content ol {
    margin-top: 4px;
    margin-bottom: 26px;
}
body:not(.elementor-used) .single-post-content ol li  {
    padding-left: 41px;
    margin-bottom: 14px;
    line-height: 143%;
}
body:not(.elementor-used) .single-post-content ol.general li {
    padding-left: 6px;
    margin-bottom: 16px;
    list-style: decimal inside;
}
body:not(.elementor-used) .single-post-content ol li:has(> ul) {
    margin-bottom: 16px;
}
body:not(.elementor-used) .single-post-content ol li:has(> ul):before,
body:not(.elementor-used) .single-post-content ol li:has(> ul)::before,
body:not(.elementor-used) .single-post-content b,
body:not(.elementor-used) .single-post-content strong {
    font-family: "SF Pro Display Bold", Sans-serif;
    font-weight: normal;
}
body:not(.elementor-used) .single-post-content ol > li:before,
body:not(.elementor-used) .single-post-content ol > li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 33px;
    padding-left: 3px;
    padding-bottom: 3px;
    font-family: "SF Pro Display Thin", Sans-serif;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0.05em;
    color: #282828;
    background: url(../images/arrow-under-number.svg) no-repeat center bottom;
    content: counter(list-item);
}

body:not(.elementor-used) .back-to-news-wrapper .e-con.e-flex > .e-con-inner {
    padding-top: 90px;
}
body:not(.elementor-used) .services-carousel-wrapper {
    padding-top: 40px;
}
body:not(.elementor-used) .services-carousel-wrapper > .elementor > .elementor-element {
    margin-bottom: 62px;
}
body:not(.elementor-used) .services-carousel-wrapper ~ .form-without-bg {
    padding-bottom: 23px;
}
body:not(.elementor-used).single-post .breadcrumbs-wrapper {
    padding-bottom: 10px;
}

/*Blobs*/
.blob-main {
    left: 50%;
    margin-top: 0;
    margin-left: 0;
}
.blob-1 {
    margin-top: 40px;
    margin-left: 480px;
}
.blob-2 {
    margin-top: 330px;
    margin-left: -230px;
}
.blob-3 {
    margin-top: 80px;
    margin-left: -840px;
}

.blob-4 {
    margin-top: 50px;
    margin-left: 280px;
}
.blob-5 {
    margin-top: 290px;
    margin-left: 250px;
}
.blob-6 {
    margin-top: 1010px;
    margin-left: -800px;
}
.blob-7 {
    margin-top: 1130px;
    margin-left: 400px;
}
.blob-8 {
    margin-top: 1350px;
    margin-left: -820px;
}
.blob-9 {
    margin-top: 3000px;
    margin-left: 360px;
}
.blob-10 {
    margin-top: 3730px;
    margin-left: -950px;
}
.blob-11 {
    margin-top: 3840px;
    margin-left: 380px;
}
.blob-12 {
    margin-top: 5040px;
    margin-left: -760px;
}
.blob-13 {
    margin-top: 5190px;
    margin-left: 360px;
}

/* ==================
 * Latest News Shortcode
 * ================== */
.carousel-news-area {
    padding-top: 63px;
}
.carousel-news-area svg:not(:root) {
    display: block;
}

.back-to-news-wrapper,
.back-to-news-wrapper ~ *:not(.single-services-carousel) {
    position: relative;
    z-index: 100;
}

.form-field-btn {
    display: none;
}

/* ==================
 * Footer
 * ================== */
.footer {
    position: relative;
    z-index: 300;
    padding: 82px 0 25px;
    overflow: hidden;

    background: #5b4cff;
    background: -webkit-linear-gradient(139deg, #5b4cff 0%, #0c76f0 100%);
    background: -moz-linear-gradient(139deg, #5b4cff 0%, #0c76f0 100%);
    background: -o-linear-gradient(139deg, #5b4cff 0%, #0c76f0 100%);
    background: linear-gradient(139deg, #5b4cff 0%, #0c76f0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5b4cff', endColorstr='#0c76f0', GradientType=1);
}
.footer > svg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
}
.footer__top {
    position: relative;
    z-index: 10;
    padding-bottom: 155px;
}
.footer__item {
    position: relative;
    padding-left: 50px;
    padding-right: 40px;
    width: 25%;
}

.footer__item:first-child:before,
.footer__item:first-child::before,
.footer__item:after,
.footer__item::after {
    position: absolute;
    top: -25px;
    right: 0;
    width: 1px;
    height: 666px;

    background: #fff;
    background: -webkit-linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    background: -moz-linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff', endColorstr='rgba(255, 255, 255, 0)', GradientType=1);

    content: '';
}
.footer__item:first-child:before,
.footer__item:first-child::before {
    left: 0;
}
.footer__item:first-child .widget.widget_nav_menu:after,
.footer__item:first-child .widget.widget_nav_menu::after,
.footer__item:last-child:after,
.footer__item:last-child::after {
    display: none;
}
.footer__item:first-child {
}
.footer__item:last-child {
}
.footer__item .widget-title {
    position: relative;
    margin-bottom: 15px;
    font-family: "SF Pro Display Bold", Sans-serif;
    font-size: 20px;
    letter-spacing: 0.05em;
    color: #fff;
}
.footer__item .widget-title:after,
.footer__item .widget-title::after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 3px;
    background: #fff;
    content: '';
}
.footer__item ul li {
    list-style: none;
    line-height: normal;
}
.footer__item .widget.widget_nav_menu ul li {
    margin-bottom: 17px;
}
.footer__item ul li:last-child {
    margin-bottom: 0;
}
.footer__item ul li a {
    display: inline-block;
    vertical-align: top;
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 14px;
    letter-spacing: 0.15em;
    color: #fff;
    text-decoration: none;
}
.footer__item ul li a:hover {
    text-decoration: underline;
}

.widget.widget_nav_menu {
    position: relative;
}
.footer__item.footer__item-contacts .widget.widget_nav_menu {
    padding-bottom: 32px;
}
.widget.widget_nav_menu:after,
.widget.widget_nav_menu::after {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 192px;
    background-color: #fff;
    content: '';
}
.footer__item.footer__item-services {
    border: none;
}
.footer__item.footer__item-services svg {
    cursor: pointer;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.footer__item.footer__item-services .widget.widget_nav_menu {
    margin-bottom: 17px;
    padding-bottom: 0;
}

.social {
    padding-top: 22px;
}
.social-title {
    margin-bottom: 15px;
    font-family: "SF Pro Display Bold", Sans-serif;
    font-size: 20px;
    letter-spacing: 0.05em;
    color: #fff;
    line-height: normal;
}
.social-list {
    gap: 30px;
}
.social-list__item,
.social-list__item a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
}

.footer__item-btn button {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;

    width: 190px;
    height: 43px;
    padding: 0;

    font-family: "SF Pro Display SemiBold";
    font-size: 14px;
    line-height: 214%;
    letter-spacing: 0.05em;
    color: #216bf4;
    background: #fff;
    cursor: pointer;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.footer__item-btn {
    padding-top: 22px;
}
.footer__item-btn button svg {
    position: static;
}

.google-partner {
    padding-top: 30px;
}
.google-partner img {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.copyright {
    position: relative;
    z-index: 10;
}
.copyright__text {
    padding-top: 15px;
    border-top: 2px solid #fff;
    font-family: "SF Pro Display Regular", Sans-serif;
    font-size: 12px;
    letter-spacing: 0.15em;
    color: #fff;
    line-height: normal;
}

.footer__item.footer__item-contacts ul li {
    margin-bottom: 0;
}
.footer__item.footer__item-contacts ul li.footer__contact-item-address {
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 14px;
    letter-spacing: 0.15em;
    color: #fff;
}
.footer__item.footer__item-contacts ul li.footer__contact-item-address p {
    margin-bottom: 30px;
}
.footer__item.footer__item-contacts ul li.footer__contact-item-address > *:last-child {
    margin-bottom: 0;
}

/* ==================
 * Animation
 * ================== */
.fade-in {
    opacity: 0;
}
.faq-item {
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    transform: translateY(40px);
}

/* ==================
 * Classes
 * ================== */
body .wrapper .desktop {
    display: block;
    margin: 0 auto;
}
body .wrapper .mobile {
    display: none;
}
.d-flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}

.text-center {
    text-align: center;
}

.align-start {
    align-items: flex-start;
}
.align-center {
    align-items: center;
}
.align-end {
    align-items: flex-end;
}

.wrap {
    flex-wrap: wrap;
}

.justify-start {
    justify-content: flex-start;
}
.justify-center {
    justify-content: center;
}
.justify-end {
    justify-content: flex-end;
}
.justify-between {
    justify-content: space-between;
}

.column {
    flex-direction: column;
}
.row {
    flex-direction: row;
}

.uppercase {
    text-transform: uppercase;
}
.hide {
    display: none !important;
}

.half {
    width: 50%;
    flex: 1 1 50%;
}
.third {
    width: 33.33%;
    flex: 1 1 33.33%;
}
.disabled-grow {
    flex-grow: 0;
}

.alignleft {
    float: left;
}
.alignright {
    float: right;
}
.aligncenter {
    display: block;
    margin: 0 auto 20px;
}

.absolute {
    position: absolute;
}
.relative {
    position: relative;
}

.grow {
    flex-grow: 1;
}

.overflow-hidden {
    overflow: hidden;
}

.index-1 {
    z-index: 1;
}
.index-2 {
    z-index: 2;
}
.index-3 {
    z-index: 3;
}
.index-100 {
    z-index: 100;
}
.index-200 {
    z-index: 200;
}

.arrow path.stroke {
    fill: none;
    stroke: rgba(255, 255, 255, 0.6);
    stroke-width: 2;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

.container {
    width: 1347px;
    max-width: 100%;
    padding-left: 31px;
    padding-right: 31px;
    margin: 0 auto;
}
.container-small {
    width: 1202px;
    padding-left: 16px;
    padding-right: 16px;
}

.btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;

    position: relative;
    height: 57px;
    margin-bottom: 0;
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: normal;
    text-align: center;
    color: #8c8c8c;
    background: #fff;
    cursor: pointer;

    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.btn:hover {
    font-family: "SF Pro Display Bold", Sans-serif;
}
.btn:active {
    font-family: "SF Pro Display Light", Sans-serif;
}
.btn.btn-large {
    width: 252px;
    height: 72px;
}
body .btn:active:after,
body .btn:active::after,
.btn:after,
.btn::after {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';

    -webkit-filter: blur(20px);
    -filter: blur(20px);

    background: rgba(224, 224, 224, 0.5);
    background: -webkit-linear-gradient(143deg, rgba(224, 224, 224, 0.5) 0%, rgba(170, 170, 170, 0.5) 100%);
    background: -moz-linear-gradient(143deg, rgba(224, 224, 224, 0.5) 0%, rgba(170, 170, 170, 0.5) 100%);
    background: -o-linear-gradient(143deg, rgba(224, 224, 224, 0.5) 0%, rgba(170, 170, 170, 0.5) 100%);
    background: linear-gradient(143deg, rgba(224, 224, 224, 0.5) 0%, rgba(170, 170, 170, 0.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(224, 224, 224, 0.5)', endColorstr='rgba(170, 170, 170, 0.5)', GradientType=1);

    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
}
.btn:hover:after,
.btn:hover::after {
    background: rgba(224, 224, 224, 0.8);
    background: -webkit-linear-gradient(143deg, rgba(224, 224, 224, 0.8) 0%, rgba(170, 170, 170, 0.8) 100%);
    background: -moz-linear-gradient(143deg, rgba(224, 224, 224, 0.8) 0%, rgba(170, 170, 170, 0.8) 100%);
    background: -o-linear-gradient(143deg, rgba(224, 224, 224, 0.8) 0%, rgba(170, 170, 170, 0.8) 100%);
    background: linear-gradient(143deg, rgba(224, 224, 224, 0.8) 0%, rgba(170, 170, 170, 0.8) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(224, 224, 224, 0.8)', endColorstr='rgba(170, 170, 170, 0.8)', GradientType=1);
}

.full-width {
    width: 100%;
    flex: 1 1 100%;
}
.full-height {
    height: 100%;
}

body .page-title {
    position: relative;
    padding-bottom: 31px;
    margin-bottom: 54px;
    font-family: "SF Pro Display Ultralight", Sans-serif;
    font-size: 40px;
    letter-spacing: 0.05em;
    color: #414141;
    font-weight: normal;
}
body .page-title:after,
body .page-title:after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 140px;
    height: 4px;
    background: #48dbfb;
    content: '';
}
body .page-title span {
    font-family: "SF Pro Display Bold", Sans-serif;
    color: #1669da;
}

.page-desc {
    font-family: "SF Pro Display Light", Sans-serif;
    font-size: 16px;
    line-height: 187%;
    letter-spacing: 0.1em;
    color: #4d4d4d;
}
.page-desc p {
    margin-bottom: 30px;
}
.page-desc > *:last-child {
    margin-bottom: 0;
}

/* Fro Blob */
.animated-blob {
    position: absolute;
    border-radius: 47% 53% 70% 30% / 30% 50% 50% 70%;
    filter: blur(25px);
    opacity: 0; /* Initial opacity 0 */
    pointer-events: none;
    will-change: transform, opacity, border-radius;
    mix-blend-mode: multiply;
    z-index: 0; /* Places elements on the background, under the content */

    /* Default values for CSS variables */
    --x-end: 50px;
    --y-end: 50px;
    --duration: 4s;
    --delay: 0s;

    animation:
            morph 8s ease-in-out infinite alternate,
            float var(--duration) ease-in-out infinite alternate var(--delay),
            fade var(--duration) ease-in-out infinite alternate var(--delay);
}

/* Smooth blob deformation */
@keyframes morph {
    0% {
        border-radius: 47% 53% 70% 30% / 30% 50% 50% 70%;
    }
    25% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
    50% {
        border-radius: 30% 60% 70% 40% / 50% 60% 30% 80%;
    }
    75% {
        border-radius: 40% 60% 40% 60% / 70% 30% 60% 30%;
    }
    100% {
        border-radius: 47% 53% 70% 30% / 30% 50% 50% 70%;
    }
}

/* Animation on move (yoyo-effect through 'alternate') */
@keyframes float {
    to {
        transform: translate(var(--x-end), var(--y-end));
    }
}

/* Animation for appearing/disappearing (yoyo-effect for opacity) */
@keyframes fade {
    /* Move from initial opacity: 0 to 1 */
    to {
        opacity: 1;
    }
}

/* 5 gradients based on your combinations */
.palette-1 { background: linear-gradient(to right, rgba(254, 184, 202, 1), rgba(155, 238, 249, 1)); }
.palette-2 { background: linear-gradient(to right, rgba(167, 149, 253, 1), rgba(54, 105, 254, 1)); }
.palette-3 { background: linear-gradient(to right, rgba(167, 149, 253, 1), rgba(64, 226, 241, 1)); }
.palette-4 { background: linear-gradient(to right, rgba(167, 149, 253, 1), rgba(127, 164, 255, 1), rgba(188, 237, 252, 1)); }
.palette-5 { background: linear-gradient(to right, rgba(167, 149, 253, 1), rgba(254, 184, 202, 1)); }

/* 20 solid colors from the rest of the palette */
.palette-6 { background-color: rgba(188, 215, 254, 1); } /* #bcd7fe */
.palette-7 { background-color: rgba(255, 220, 217, 1); } /* #ffdcd9 */
.palette-8 { background-color: rgba(254, 239, 229, 1); } /* #feefe5 */
.palette-9 { background-color: rgba(89, 208, 229, 1); } /* #59d0e5 */
.palette-10 { background-color: rgba(187, 217, 254, 1); } /* #bbd9fe */
.palette-11 { background-color: rgba(255, 220, 175, 1); } /* #ffdcaf */
.palette-12 { background-color: rgba(193, 240, 253, 1); } /* #c1f0fd */
.palette-13 { background-color: rgba(152, 198, 253, 1); } /* #98c6fd */
.palette-14 { background-color: rgba(186, 159, 252, 1); } /* #ba9ffc */
.palette-15 { background-color: rgba(70, 217, 253, 1); } /* #46d9fd */
.palette-16 { background-color: rgba(255, 184, 207, 1); } /* #ffb8cf */
.palette-17 { background-color: rgba(254, 189, 198, 1); } /* #febdc6 */
.palette-18 { background-color: rgba(254, 213, 239, 1); } /* #fed5ef */
.palette-19 { background-color: rgba(255, 143, 79, 1); } /* #ff8f4f */
.palette-20 { background-color: rgba(255, 207, 137, 1); } /* #ffcf89 */
.palette-21 { background-color: rgba(136, 142, 226, 1); } /* #888ee2 */
.palette-22 { background-color: rgba(241, 218, 249, 1); } /* #f1daf9 */
.palette-23 { background-color: rgba(255, 216, 222, 1); } /* #ffd8de */
.palette-24 { background-color: rgba(255, 234, 247, 1); } /* #ffeaf7 */
.palette-25 { background-color: rgba(18, 193, 214, 1); } /* #12c1d6 */

/* Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.blob-header {
    position: absolute;
    z-index: 110;
    left: 0;
    margin-top: -100px;
}