@font-face {
  font-family: "TTNorms";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('/assets/fonts/TTNorms-Regular.woff') format('woff');
}

@font-face {
  font-family: "TTNorms";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('/assets/fonts/TTNorms-Medium.woff') format('woff');
}

:root {
    --fsH1: 48px;
    --fsH2: 32px;
    --fsH3: 24px;
    --fsH4: 18px;
    --colorPrimary: #3C2CFF;
    --colorPrimaryHover: #5b4eff;
    --colorSecondary: #26C7EA;
    --colorBlack: #222222;
    --colorLightGray: #F6F6F6;
    --colorDarkGray: #d8d8d8;
    --colorGray: #575757;
    --colorGreen: #21CD8F;
    --colorGreenHover: #57e4b1;
    --colorRed: #F22935;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ul[class],
ol[class] {
  padding: 0;
  list-style: none;
}

ul:not([class]),
ol:not([class]) {
    padding: 0;
}

ul:not([class]) li,
ol:not([class]) li {
    list-style: none;
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25;
    margin-bottom: 1rem;
}

ol:not([class]) {
    counter-reset: li;
}

ol:not([class]) > li {
    counter-increment: li;
}

ol:not([class]) > li::before {
    content: counter(li);
    display: inline-block;
    width: 1em;
    color: var(--colorDarkGray);
    margin-left: -1.5em;
    margin-right: 0.5em;
    text-align: right;
    direction: rtl;
}

ul:not([class]) > li {
    margin-left: 1.5em;
}

ul:not([class]) > li:before {
    content: "•";
    color: var(--colorPrimary);
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

ol:not([class]) li ul,
ul:not([class]) li ul {
    margin-top: 1em;
}

body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/*html {
  overflow-y: scroll;
}*/

body {
  font-family: "TTNorms", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-ligatures: none;
  
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
}

img {
  max-width: 100%;
  display: block;
}

/*
div > img:not([class]),
p > img:not([class]) {
    width: 100%;
    height: auto;
}
*/

article * + * {
  margin-top: 1em;
}

input,
button,
textarea,
select {
    font: inherit;
}

main {
    margin-top: 44px;
    padding: 72px 0;
    overflow: hidden;
}

@media screen and (max-width: 900px) {
    main {
        margin-top: 64px;
    }
}

a {
    text-decoration: none;
}

a:not([class]) {
    color: var(--colorPrimary);
}

a:not([class]):hover {
    color: var(--colorPrimaryHover);
    transition: all .3s;
}

a:active,
a:hover,
a:focus,
a:visited {
 text-decoration: none;
}

b, strong {
    font-weight: 500;
}

blockquote {
    max-width: calc(50rem - 5em);
    padding: 24px;
    border-radius: 24px;
    background-color: var(--colorLightGray);
}

blockquote p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--colorBlack);
}

cite {
    display: block;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    color: var(--colorBlack);
    margin-top: 1em;
}

.figcaption {
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.05;
    color: var(--colorGray);
    margin-top: 8px;
}

h1,
.heading_h1 {
    font-family: inherit;
    font-size: var(--fsH1);
    font-weight: 500;
    line-height: 1.05;
    color: var(--colorBlack);
}

h2,
.heading_h2 {
    font-size: var(--fsH2);
    font-weight: 500;
    line-height: 1.16;
    color: var(--colorBlack);
}

h3 {
    font-size: var(--fsH3);
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
}

h4 {
    font-size: var(--fsH4);
    font-weight: 500;
    line-height: 2.5;
    color: var(--colorBlack);
}

.heading_sm {
    font-size: var(--fsH4);
}

.heading_md {
    font-size: var(--fsH3);
}

.heading_xl {
    font-size: var(--fsH2);
}

p {
    font-size: var(--fsH4);
    font-weight: 400;
    color: var(--colorBlack);
}

p > img.justifyleft {
    float: left;
    width: 50%;
    height: auto;
    padding-right: 32px;
    padding-bottom: 32px;
}

p > img.justifyright {
    float: right;
    width: 50%;
    height: auto;
    padding-left: 32px;
    padding-bottom: 32px;
}

@media screen and (max-width: 768px) {
    p > img.justifyright {
        width: 100%;
        padding-left: 0;
    }
    
    p > img.justifyleft {
        width: 100%;
        padding-right: 0;
    }
}



table {
   display: table;
   border-collapse: collapse
}

table,
tbody,
thead {
    text-align: left;
    vertical-align: top
}

th {
    border-bottom: 2px solid var(--colorBlack);
    padding: 10px;
}

th p {
    font-weight: 500;
}

tr:nth-child(even) {
    /*border-bottom: 1px solid var(--colorDarkGray);*/
    background-color: var(--colorLightGray);
    padding: 8px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}


.table {
    display: flex;
    flex-wrap: wrap;
}

.column {
    width: calc(100% / 2);
}

@media screen and (max-width:768px) {
    .column {
        width: 100%;
    }
}

ul.cells {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.cells li {
    padding: 16px 8px;
}

ul.cells li:first-child {
    border-bottom: 2px solid var(--colorBlack);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 120px;
}

@media screen and (max-width:1440px) {
    .container {
        padding: 0 16px;
    }
}

.flex-wrapper {
    display: flex;
}

@media screen and (max-width:900px) {
    .flex-wrapper {
        flex-wrap: wrap;
    }
}

.section {
    display: flex;
}

.main {
    flex: 1;
    max-width: 100%;
}

.aside {
    width: 460px;
    margin-left: 40px;
}

.btn {
    cursor: pointer;
    display: inline-block;
    font-size: var(--fsH4);
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: .85rem 2rem;
    border-radius: 30px;
}

.btn_purchase:before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    -webkit-mask: url(/assets/images/svg/cart.svg) no-repeat center;
    -webkit-mask-size: contain;
    background-color: #FFFFFF;
    margin-right: 8px;
    margin-top: -2px;
}

.btn_filled-gray {
    color: var(--colorBlack);
    background-color: var(--colorDarkGray);
}

.btn_filled-gray:hover {
    color: #fff;
    background-color: var(--colorBlack);
    transition: all .3s;
}

.btn_filled-green {
    color: #fff;
    border-radius: 30px;
    background-color: var(--colorGreen);
}

.btn_filled-green:hover {
    color: #fff;
    background-color: var(--colorGreenHover);
    transition: all .3s;
}

.btn_filled-blue {
    color: #fff;
    border-radius: 30px;
    background-color: var(--colorPrimary);
}

.btn_filled-blue:hover {
    color: #fff;
    background-color: var(--colorPrimaryHover);
    transition: all .3s;
}

.btn_forward {
    text-align: left;
}

.btn_forward:after {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    -webkit-mask: url(/assets/images/svg/arrowhead.svg) no-repeat center;
    -webkit-mask-size: contain;
    background-color: #FFFFFF;
    vertical-align: middle;
    margin-left: 40px;
    margin-right: -16px;
    margin-top: -2px;
}

.btn_filled-clear {
    color: var(--colorPrimary);
    border-radius: 30px;
    background-color: #ffffff;
    border: 1px solid var(--colorPrimary);
}

.btn_filled-clear:hover {
    color: #fff;
    background-color: var(--colorPrimaryHover);
    border: 1px solid var(--colorPrimaryHover);
    transition: all .3s;
}

.infobar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 44px;
}

.infobar-list {
    display: flex;
    justify-content: flex-end;
    list-style-type: none;
}

.infobar-list__item + .infobar-list__item {
    margin: 0 0 0 24px;
}

.infobar-list__item--divided {
    position: relative;
}

.infobar-list__item--divided:not(:last-child)::after {
    content: "|";
    position: absolute;
    top: 0;
    right: -14px;
    color: inherit;
}

.infobar__link {
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorPrimary);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.infobar__link:hover {
    color: var(--colorPrimaryHover);
    transition: all .3s;
}

.infobar__link--internal {
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorBlack);
}



/*.infobar-right noindex + noindex {
    margin-left: 20px;
}

.infobar-right a.last-link {
    margin-right: 10px
}

.infobar-right a.last-link:before {
    display: none
}*/

@media screen and (max-width:900px) {
    .infobar-left > a,
    .infobar-right > a {
        font-size: 14px;
    }
}

@media screen and (max-width:900px) {
    .infobar {
        display: none;
    }
}

.header-wrapper {
  z-index: 1000;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  background-color: #FFFFFF;
}

.header-wrapper_shaded {
    top: -44px;
    transition: top .3s;
    box-shadow: 0 7px 17px rgb(0 55 137 / 14%);
}

.header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header-burger {
    display: none;
}

.header-logo {
  margin-right: auto;
}

.header-logo__image {
  width: 120px;
}

.header-logo:hover {
    opacity: .7;
    transition: all .3s;
}

.header-menu {}

@media screen and (max-width: 768px) {
    .header-menu {
        display: none;
    }
}

.header-menu__list {
  display: flex;
  list-style: none;
  padding: 0;
}

.header-menu__item {
    position: relative;
    margin-right: 30px;
}

.header-menu__link {
    display: block;
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorBlack);
    padding: 24px 0;
}

.header-menu__link:hover {
    color: var(--colorGray);
    transition: all .3s;
}

.header-menu__link_active::after {
    content: "";
    display: block;
    margin: auto;
    width: 100%;
    height: 1px;
    top: 5px;
    background: var(--colorBlack);
}

.header-menu__link_active:hover::after {
    background: var(--colorGray);
    transition: all .3s;
}

.header__search {
    cursor: pointer;
    width: 30px;
    height: 30px;
    -webkit-mask: url(/assets/images/svg/search.svg) no-repeat center;
    -webkit-mask-size: 17px;
    background-color: var(--colorBlack);
}

.header-menu__item:hover > .header-submenu__list {
    display: block;
    transition: all .3s ease-in-out;
}

.header-submenu__list {
    display: none;
    z-index: 1;
    position: absolute;
    top: 48px;
    left: 0;
    padding: 0;
    margin: 0;
    border-radius: 4px;
    border: 1px solid #D8D8D8;
    background-color: #FFFFFF;
    box-shadow: 0px 7px 17px rgba(0, 55, 137, 0.14);
}

.header-submenu__item {
    display: block;
    margin: 0;
    min-width: 280px;
    text-align: left;
    background-color: #FFFFF;
}

.header-submenu__item:hover {
    background-color: var(--colorBlue);
    transition: all .3s;
}

.header-submenu__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    font-weight: 400;
    color: var(--colorBlack);
    padding: 16px;
}

.header-submenu__link:hover {
    color: var(--colorBlack);
    background-color: var(--colorLightGray);
    transition: all .3s ease-in-out;
}

.header-submenu__link:after {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 12px;
    height: 10px;
    -webkit-mask-image: url(../images/white-arrow.svg);
    -webkit-mask-size: contain;
    background-color: #fff;
    margin-left: 20px;

}

footer {
    padding: 72px 0 32px;
    background-color: var(--colorBlack);
}

footer nav {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.footer-logo {
    display: block;
    width: 120px;
    height: 20px;
    -webkit-mask-image: url(../../img/svg/logo.svg);
    -webkit-mask-size: contain;
    background-color: #FFFFFF;
}

.footer-logo:hover {
    opacity: .8;
    transition: all .3s;
}

.footer-cta {
    display: flex;
    border: 1px solid var(--colorGray);
    border-radius: 50px;
    padding: .5rem;
}

.footer-inner__left {
    max-width: 230px;
}

.footer-column {
    width: 100%;
}

.footer-column__title {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.25;
    color: #FFFFFF;
}

.footer-column__title + .footer-column__list {
    margin-top: 1rem;
}

.footer-column__list + .footer-column__title {
    margin-top: 30px;
}

.footer-column__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-column__item + .footer-column__item {
    margin-top: 10px;
}

.footer-column__link {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25;
    color: #919191;
}

.footer-column__link:hover {
    color: #ffffff;
}

@media screen and (min-width: 900px) {
    .footer-inner {
        display: flex;
        justify-content: space-between;
    }

    .footer-inner__right {
        display: flex;
    }

    .footer-column {
        width:  calc(100% / 4 - 1rem);
        max-width: 180px;
    }

    .footer-column + .footer-column {
        margin-left: 18px;
    }
}

.footer-cta__icon {
    width: 40px;
    height: 40px;
    background: url(../../img/svg/conversation.svg);
    background-size: contain;
    margin-right: 16px;
}

.footer-cta span {
    max-width: 120px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.23;
    color: #FFFFFF;
}

.footer-cta span:hover {
    color: var(--colorDarkGray);
    text-decoration: none;
    transition: all .3s;
}



.footer-inner__unit + .footer-inner__unit {
    margin-top: 40px;
}

.footer-inner__unit span {
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.23;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: .5rem;
}

.footer-inner__unit a {
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.23;
    color: #FFFFFF;
}




/*.footer-cta span:before {
    content: '';
    display: inline-block;

}*/

.footer-menu__list {
    margin: 0;
    padding: 0;
}

.footer-menu__item {
    display: inline-block;
    list-style: none;
    padding-top: 14px;
}

.footer-menu__item + .footer-menu__item {
    margin-left: 25px;
}

.footer-menu__link {
    font-family: inherit;
    font-size: 20px;
    font-weight: 700;
    color: #f6efef;
}

.footer-menu__link:hover {
    color: #fff;
    transition: all .3s;
}

.footer-copyright {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 60px;
}

.footer-copyright__text,
.footer-copyright__link {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.33;
    color: var(--colorGray);
}

.footer-copyright__link:hover {
    color: var(--colorDarkGray);
    transition: all .3s;
}

/* Index Banner */

.index-banner {
    position: relative;
    width: 100%;
    height: 670px;
    background-size: cover;
    background-blend-mode: multiply;
}

.index-banner__inner {
    position: absolute;
    top: 50%;
    max-width: 800px;
    transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
    .index-banner__inner {
        text-align: center;
    }
}

.index-banner__logo {
    width: 140px;
    margin-bottom: 40px;
}

.index-banner__subtitle {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
    color: #ffffff;
    margin-bottom: 16px;
}

.index-banner__title {
    font-size: 68px;
    font-weight: 500;
    line-height: 1.05;
    color: #ffffff;
    margin: 0;
    margin-bottom: 16px;
}

.index-banner__brief {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.25;
    color: #ffffff;
}

.index-banner__cta {
    margin-top: 56px;
}

@media screen and (max-width: 768px) {
    .index-banner__cta {
        width: 100%;
    }
}

.bg_gray {;
    background-color: #F2F2F2;
}

.section__title {
    max-width: 800px;
    font-size: var(--fsH1);
    font-weight: 500;
    line-height: 1.16;
    color: var(--colorBlack);
    text-align: center;
    margin: 72px auto 56px;
}

.section__title:before {
    display: block;
    content: "";
    height: 68px;
    margin: -68px 0 0;
}

.section__controls {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.section__controls_right {
    justify-content: flex-end;
}

.events-tabs {
    list-style: none;
    margin-top: 36px !important;
    margin-bottom: 42px !important;
    padding: 0;
}

.events-tabs li {
    display: inline-block;
    cursor: pointer;
    color: var(--colorPrimary);
    padding: 14px 31px;
    border: 1px solid var(--colorPrimary);
    border-radius: 30px;
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
}

.events-tabs li:hover {
    color: var(--colorPrimaryHover);
    border-color: var(--colorPrimaryHover);
    transition: all .3s;
}

.events-tabs li + li {
    margin-left: 16px;
}

.events-tabs li.active-tab {
    cursor: default;
    color: #fff;
    padding: 14px 31px;
    background: var(--colorPrimary);
    border: 1px solid var(--colorPrimary);
    border-radius: 30px;
}

.pagination {
    text-align: center;
    margin-top: 56px;
}

.pagination a {
    display: inline-block;
    font-size: 32px;
    font-weight: 500;
    width: 64px;
    height: 64px;
    border-radius: 100%;
    line-height: 1;
    color: var(--colorPrimary);
    margin: 0 4px;
    padding-top: 14px;
}

.pagination a:hover {
    color: var(--colorPrimaryHover);
    transition: all .3s;
}

.pagination a.active {
    color: #fff;
    background-color: var(--colorPrimary);
}

.index-product__list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.index-product__item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: calc(100% / 3 - 1.5rem);
    height: 248px;
    background-color: #ffffff;
    border-radius: 24px;
    box-shadow: 0 7px 17px rgba(0, 55, 137, .14);
    padding: 24px;
}

.index-product__item:hover {
    box-shadow: 0 7px 34px rgba(0, 55, 137, .28);
    transition: all .3s;
}

@media (max-width: 900px) {
    .index-product__item {
        width: 100%;
    }

    .index-product__item + .index-product__item {
        margin-top: 1rem;
    }
}

.index-product__link {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.index-product__label  {
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 140px;
    display: block;
    overflow: hidden;
}

.index-product__label span {
  position: absolute;
  top: 25px;
  right: -40px;
  display: block;
  width: 170px;
  height: 40px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 40px;
  color: #ffffff;
  text-align: center;
  background: var(--colorPrimary);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
}

.index-product__title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
}

.index-product__title + .index-product__brief {
    margin-top: 1rem;
}

.index-product__brief {
    /*overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;*/
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.3rem;
    color: var(--colorBlack);
}

.index-product__logo {
    width: 160px;
    height: 40px;
    background-size: contain;
    margin-top: auto;
}

@media screen and (max-width: 768px) {
    .index-product__btn {
        width: 100%;
    }
}

.index-stories__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.index-stories__item {
    position: relative;
    width: 100%;
    height: 380px;
    background-color: #ffffff;
    background-blend-mode: multiply;
    border-radius: 24px;
    /*border: 1px solid var(--colorDarkGray);*/
    box-shadow: 0 7px 17px rgba(0, 55, 137, .14);
    margin: 0 0 2rem;
}

@media (min-width: 768px) {
    .index-stories__item {
        width: calc(100% / 4 - 1.5rem);
    }
}

.index-stories__item:nth-child(4n+1) {
    width: calc(100% / 2 - 2rem);
}

.index-stories__item:last-of-type {
    height: 300px;
}

.index-stories__item:hover {
    box-shadow: 0 7px 34px rgba(0, 55, 137, .28);
    transition: all .3s;
}

.index-stories__link {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.index-stories__inner {
    padding: 24px;
    border-radius: 24px;
}

.index-stories__item:nth-child(2) .index-stories__inner {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 0 20px 20px;
    background-color: var(--colorDarkGray);
}

.index-stories__item:nth-child(3) {
    background: #a18df8 !important;
    background-blend-mode: normal;
}

.index-stories__item:nth-child(4) {
    background: #3c2cff !important;
    background-blend-mode: normal;
}

.index-stories__item:nth-child(6) {
    background: #ffffff !important;
    background-blend-mode: normal;
}

.index-stories__category {
    display: block;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.2;
    color: #FFFFFF;
    margin-bottom: 8px;
}

.index-stories__title {
    display: block;
    font-size: var(--fsH4);
    font-weight: 500;
    line-height: 1.2;
    color: #FFFFFF;
}

.index-stories__item:nth-child(2) .index-stories__category,
.index-stories__item:nth-child(6) .index-stories__category,
.index-stories__item:nth-child(2) .index-stories__title,
.index-stories__item:nth-child(6) .index-stories__title {
    color: var(--colorBlack);
}

.index-stories__item:nth-child(4n+1) .index-stories__title {
    font-size: 2rem;
}

.index-stories__btn {
    height: 48px;
    margin-top: -80px;
    margin-left: auto;
    width: calc(100% / 4 - 1.5rem);
}

.index-stories__btn.btn_forward:after {
    float: right;
    margin: 2px -18px 0 0;
}

.index-news__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.index-news__item {
    width: calc(100% / 3 - 1rem);
}

@media (max-width: 900px) {
    .index-news__item {
        width: 100%;
    }

    .index-news__item + .index-news__item {
        margin-top: 2rem;
    }
}

.index-news__header {
    display: flex;
    align-items: baseline;
    margin-bottom: 1rem;
}

.index-news__category {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorPrimary);
}

.index-news__date {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorBlack);
}

.index-news__title {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
}

.index-news__title:hover {
    color: var(--colorDarkGray);
    transition: all .3s;
}

.index-partners__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.index-partners__item {
    width: calc(100% / 4 - 1rem);
    text-align: center;
    filter: grayscale(1);
    opacity: .5;
}

/* SERVICE */

/* PRODUCTS */

.products-anchors {
    text-align: center;
    padding: 36px 0;
}

.products-anchors__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}

.products-anchors__link {
    cursor: pointer;
    display: inline-block;
    height: 48px;
    font-size: 18px;
    font-weight: 400;
    /*line-height: 1;*/
    text-align: center;
    white-space: nowrap;
    padding: .75rem 2rem;
    margin: 0 8px 16px;
    color: var(--colorPrimary);
    border-radius: 24px;
    border: 1px solid var(--colorPrimary);

}

.products-anchors__link:hover {
    color: #ffffff;
    border: 1px solid var(--colorPrimary);
    background-color: var(--colorPrimary);
    transition: all .3s;
}

.swiper {
    overflow: visible !important;
}

.arrow_left, .arrow_right {
    z-index: 3;
    cursor: pointer;
    position: absolute;
    top: 50%;
    display: none;
    width: 64px;
    height: 64px;
    margin-top: -47px;
    background-color: #ffffff;
    border-radius: 50%;
    border: 1px solid var(--colorDarkGray);
    box-shadow: 0px 1px 14px rgba(49, 44, 103, 0.18);
    cursor: pointer;
    display: none;
}

.arrow_left:after, .arrow_right:after {
    content: '';
    display: block;
    width: 64px;
    height: 64px;
    -webkit-mask: url(/assets/images/svg/arrow.svg) no-repeat center;
    -webkit-mask-size: 32px;
    background-color: var(--colorDarkGray);
}

.arrow_left {
    left: -90px;
    transform: rotate(180deg);
}

.arrow_right {
    right: -90px;
}

.arrow_left:hover, .arrow_right:hover {
    box-shadow: 0px 1px 14px rgba(49, 44, 103, 0.36);
}

.product-list {
    display: flex;
    padding: 20px 0;
}

.product-list__item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: calc(100% / 3 - 20px);
    height: 360px;
    background-color: #ffffff;
    border-radius: 24px;
    box-shadow: 0 7px 17px rgba(0, 55, 137, .14);
    padding: 24px;
    margin: 0 0 20px; /* 0 20px 20px */
}

.product-list__item:hover {
    box-shadow: 0 7px 34px rgba(0, 55, 137, .28);
    transition: all .3s;
}

.product-list__item:hover .product-list__btn {
    color: #ffffff;
    border: 1px solid var(--colorPrimaryHover);
    background-color: var(--colorPrimaryHover);
    transition: all .3s;
}

.product-list__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.product-list__label  {
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 140px;
    display: block;
    overflow: hidden;
}

.product-list__label span {
  position: absolute;
  top: 25px;
  right: -40px;
  display: block;
  width: 170px;
  height: 40px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 40px;
  color: #ffffff;
  text-align: center;
  background: var(--colorPrimary);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
}

.product-list__logo {
    height: 50px;
    margin-bottom: 60px;
}

.product-list__title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    margin-bottom: 8px;
}

.product-list__brief {
    /*overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;*/
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.33;
    color: var(--colorBlack);
}

.product-list__btn {
    width: 100%;
    margin-top: auto;
}

/* Product Banner */

.product-banner {
    width: 100%;
    height: auto;
}

.product-banner__inner {
    max-width: 800px;
    padding: 112px 0;
}

.product-banner__subtitle {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
}

.product-banner__title {
    font-size: 4.25rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);}

.product-banner__brief {
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorBlack);
}

/* Product menu */

.product-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 72px;
    margin-bottom: 40px;
}

@media screen and (min-width: 1100px) {
    .product-menu {
        padding: 1rem 1rem 1rem 2rem;
        border-radius: 100px;
        background-color: #F2F2F2;
    }
}

.product-menu--inverted {
    background-color: #FFFFFF;
}

.product-menu__list {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-menu__link {
    font-size: 1.5rem;
    font-weight: 500;
    color: #C2C2C2;
}

.product-menu__item + .product-menu__item {
    margin-left: 1.5rem;
}

.product-menu__link:hover {
    color: var(--colorBlack);
    transition: all .3s;
}

.product-menu__link_active {
    color: var(--colorBlack);
}

@media screen and (max-width: 1100px) {
    .product-menu__link_active {
        padding-bottom: 8px;
        border-bottom: 4px solid var(--colorPrimary);
    }
}

.product-menu__options {
    display: flex;
    align-items: center;
    margin-left: auto;
}

@media screen and (max-width: 1100px) {
    .product-menu__options {
        margin-top: 32px;
        margin-left: 0;
    }
}

.product-menu__item_demo {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--colorBlack);
}

.product-menu__item_demo:before {
    content: '';
    display: inline-block;
    width: 2rem;
    height: 2rem;
    -webkit-mask: url(/assets/images/svg/download.svg) no-repeat center;
    -webkit-mask-size: contain;
    background-color: var(--colorBlack);
    vertical-align: middle;
    margin-right: 4px;
}

@media screen and (max-width: 1100px) {
    .product-menu__item_demo {
        font-size: var(--fsH4);
        padding: 0.85rem 2rem;
        border-radius: 30px;
        background-color: var(--colorLightGray);
    }
    .product-menu__item_demo:before {
        width: 1rem;
        height: 1rem;
    }
}

.product-menu__item_demo:hover {
    color: var(--colorGray);
    transition: all .3s;
}

.product-menu__item_demo:hover:before {
    background-color: var(--colorGray);
    transition: all .3s;
}

.product-menu__item_cta {
    margin-left: 1.25rem;  
}

/* Product Offer */
section.product-offer {
    padding: 1px 0 100px;
}

.product-offer__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: -.5rem;
}

.product-offer__item {
    display: flex;
    flex-direction: column;
    width: calc(100% / 3 - 1rem);
    min-width: 460px;
    margin: 0 .5rem;
    border-radius: 24px;
    border: 1px solid #E7E7E7;
    box-shadow: 0px 7px 17px rgba(0, 55, 137, .14);
}

.product-offer__item:hover {
    box-shadow: 0 7px 34px rgba(0, 55, 137, .28);
    transition: all .3s;
}

.product-offer__head {
    /*height: 124px;*/
    padding: 1.5rem 2rem;
    border-radius: 24px 24px 0 0;
    background-color: var(--colorPrimary);
}

.product-offer__item:nth-child(even) .product-offer__head {
    background-color: var(--colorSecondary);
}

.product-offer__title {
    font-size: 1.5rem;
    font-weight: 500;
    color: #FFFFFF;
    margin-bottom: 8px;
}

.product-offer__title span {
    display: block;
    font-size: var(--fsH4);
    font-weight: 400;
    color: #FFFFFF;
}

.product-offer__body {
    padding: 2rem;
    border-radius: 0 0 24px 24px;
    background-color: #FFFFFF;
}

.product-offer__attributes {
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-offer__attributes li {
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25
    color: var(--colorBlack);
}

.product-offer__attributes li + li {
    margin-top: 1rem;
}

.product-offer__attributes span {
    font-weight: 500;
}

.product-offer__price {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    margin-top: 56px;
}

.product-offer__cta {
    width: 100%;
    margin-top: 24px;
}

.swiper-pagination {
    display: none;
}

/* Product Stories */

.product-stories__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.product-stories__item {
    position: relative;
    width: calc(100% / 2 - 1rem);
}

@media (max-width: 768px) {
    .product-stories__item {
        width: 100%;
    }

    .product-stories__item:not(:last-of-type) {
        margin-bottom: 32px;
    }
}

.product-stories__link {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.product-stories__image {
    width: 100%;
    height: 286px;
    border-radius: 24px;
    background-blend-mode: multiply;
}

.product-stories__item:hover .product-stories__image {
    filter: brightness(1.3);
    transition: all .3s;
}

.product-stories__title {
    font-size: var(--fsH3);
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    margin-top: 1rem;
}

.product-stories__item:hover .product-stories__title {
    color: var(--colorBlackHover);
    transition: all .3s;
}

/* Product Description */

hr {
    display: block;
   border: 1px solid var(--colorDarkGray);
   margin-top: 4em;
   margin-bottom: 4em;
}
.product-description__wrapper {
    padding-top: 72px;
    margin-top: 72px;
    margin-bottom: 72px;
}

.product-description__inner {
    max-width: 800px;
}

.product-description__heading_large {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    margin-bottom: 1rem;
}

.product-description__heading_medium {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    margin-bottom: 1rem;
}

.product-description__heading_small {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    margin-bottom: 1rem;
}

.product-description__text {
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorBlack);
    margin-bottom: 2rem;
}

/* Accordion */
.accordion {
    margin-top: 40px;
    margin-bottom: 56px;
}

.accordion dt {
    cursor: pointer;
    display: flex;
    position: relative;
    border-bottom: 1px solid var(--colorDarkGray);
    padding: 1.5rem 0;
}

.accordion dt:last-of-type {
    border-bottom: none;
}

.accordion dd:last-of-type {
    border-bottom: none;
}

.accordion dt.is-opened {
    border-bottom: none;
}

.accordion dt span {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--colorBlack);
}

.accordion dt span:after {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    -webkit-mask: url(/assets/images/svg/arrow.svg) no-repeat center;
    -webkit-mask-size: 32px;
    background-color: var(--colorBlack);
    margin-left: auto;
}

.accordion dt.is-opened span:after {
    -webkit-mask: url(/assets/images/svg/close.svg) no-repeat center;
    -webkit-mask-size: 24px;
    transform: rotate(90deg);
    transition: all .3s;
}

.accordion dt:hover span {
    color: var(--colorGray);
    transition: all .3s;
}

.accordion dt:hover span:after {
    background-color: var(--colorGray);
    transition: all .3s;
}

.accordion dd {
    display: none;
    color: var(--colorBlack);
    padding: 10px 400px 60px 0;
    margin: 0;
}

.accordion dd p {
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.4;
}
/*.accordion ul li {
    padding-left: 55px;
}

.accordion ul li:before {
    width: 12px;
    margin-left: -30px;
}*/

.accordion a.btn {
    margin-top: 24px;
}

/* Events  */

.events-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.events-list__item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: calc(100% / 2 - 16px);
    height: auto;
    padding: 32px;
    margin-bottom: 32px;
    background-color: #FFFFFF;
    border-radius: 24px;
    box-shadow: 0px 7px 17px rgba(0, 55, 137, 0.14);
}

@media screen and (max-width: 900px) {
    .events-list__item {
        width: 100%;
    }
}

.events-list__item:hover {
    box-shadow: 0 7px 34px rgba(0, 55, 137, .28);
    transition: all .3s;
}

.events-list__link {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.events-list__title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    padding-bottom: 24px;
}

.events-list__brief {
    font-size: var(--fsH4);
    font-weight: 400;
    line-height: 1.25;
    color: var(--colorBlack);
}

.events-list__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-top: auto;
    padding-top: 40px;
}

.events-list__date {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);;
}

.events-list__year {
    display: block;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    padding-bottom: 5px;
}

.events-list__btn {
    z-index: 2;
    margin-top: 20px;
    margin-left: auto;
}


/* Article */

.breadcrumb {
    list-style: none;
    margin: 2em 0 1em !important;
    padding: 0;
}

.breadcrumb > li {
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    color: var(--colorBlack) !important;
}

.breadcrumb > li.active a {
    color: #888888 !important;
}

.breadcrumbs {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
}

.breadcrumbs__item {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--colorPrimary);
}

.breadcrumbs__item:hover {
    color: var(--colorPrimaryHover);
    transition: all .3s;
}

.breadcrumbs span:not(:last-child) a:after {
    content: '\00a0 / \00a0';
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    color: var(--colorDarkGray);
}

.filters-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 24px 0 40px;
}

.filters-wrapper--justified {
    justify-content: space-between;
}

#filters form {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: center;
    align-items: center;
}

#filters .filter_block {
    margin-right: 20px;
}

#filters .filter_block:last-child {
    margin-right: 0;
}

.container > .filters-wrapper {
    margin-top: 48px;
}

/* TODO rename classes */

.text-wrapper {
    max-width: 1000px;
}

.text__filters {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
}

/*aside {
    float: right;
    width: 460px;
    height: auto;
    margin-left: 40px;
}*/

.article-wrapper {
    max-width: 800px;
}

.breadcrumb + h1 {
    margin-top: .5em;
}

.article-menu {
    margin-top: 36px;
    margin-bottom: 42px;
}

.article-menu__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.article-menu__item {
    margin: 0 8px 16px;
}

.article-menu__item a {
    cursor: pointer;
    display: inline-block;
    height: 48px;
    font-size: 18px;
    font-weight: 400;
    /* line-height: 1; */
    text-align: center;
    white-space: nowrap;
    padding: 0.75rem 2rem;
    color: var(--colorPrimary);
    border-radius: 24px;
    border: 1px solid var(--colorPrimary);
}

.article-menu__item a:hover {
    color: #ffffff;
    background-color: var(--colorPrimaryHover);
    transition: all .3s;
}

.article-menu__item_active a {
    color: #ffffff;
    background-color: var(--colorPrimary);
    border: 1px solid var(--colorPrimary);
}

.article-menu__item_active a:hover {
    border: 1px solid var(--colorPrimaryHover);
    border: 1px solid var(--colorPrimaryHover);
    transition: all .3s;
}

.article-footer {
    margin-top: 1.5em;
}

.article-footer__date {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--colorGray);
}

.article-footnote {
    margin-top: 32px;
    padding: 24px;
    border-radius: 24px;
    background-color: #ffffff;
}

.article-footnote--blue {
    background-color: var(--colorLightGray);
}

.article-footnote__title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--colorBlack);
    margin: 0 0 24px;
}

.article-footnote__text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--colorBlack);
}

/*.article-footnote__text {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
}*/

.article-footnote__link {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--colorPrimary);
    text-decoration: underline;
    text-transform: uppercase;
}

.articles__list {

}

.article-list__item{
    display: flex;
    padding: 24px 0 40px;
    border-bottom: 1px solid var(--colorDarkGray);
}

.article__image {
    flex: 1 0 300px;
    margin-left: 30px;
}

.article__content {
}

.article__title {
    display: block;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--colorBlack);
    margin-bottom: 32px;
}

.article__title:hover {
    color: var(--colorGray);
    transition: all .3s;
}

.article__brief {
    display: block;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--colorBlack);
}

.article-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    border-radius: 2px;
    background-color: var(--colorLightGray);
}

.article-header__organisation {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--colorGray);
    margin-right: 16px;
}

.article-header__industry {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--colorBlack);
}

.article-header__industry:hover {
    color: var(--colorGray);
    transition: all .3s;
}

.article__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 40px;
}

.article-footer__industry {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--colorBlack);
}

.article-footer__industry:after {
    content: '|';
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--colorDarkGray);
    margin: 0 8px;
}

.article-footer__industry:hover {
    color: var(--colorGray);
    transition: all .3s;
}

.article-footer__organisation {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--colorGray);
}

.article-footer__organisation:after {
    content: '|';
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--colorDarkGray);
    margin: 0 8px;
}

.article-footer__date {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--colorGray);
}

/* News */

.news-block {
    display: flex;
    padding: 24px 0 40px;
    border-bottom: 1px solid var(--colorDarkGray);
}

.news-block__content {}

.news-block__title {
    display: block;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--colorBlack);
    margin-bottom: 32px;
}

.news-block__title:hover {
    color: var(--colorGray);
    transition: all .3s;
}

.news-block__brief {
    display: block;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--colorBlack);
}

.news-block__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 40px;
}

.news-block__divider {
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--colorDarkGray);
    margin: 0 8px;
}

.news-block__type {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--colorBlack);
}

.news-block__date {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--colorGray);
}

.news-block__image {}

/* Pagination */

ul.pages {
    display: flex;
    justify-content: center;
    list-style: none;
    margin: 56px 0 0;
    padding: 0;
}

ul.pages > li {
    display: inline-block;
}

ul.pages > li + li {
    margin-left: 8px;
}

ul.pages > li > a {
    display: inline-block;
    width: 64px;
    height: 64px;
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    line-height: 64px;
    color: var(--colorPrimary);
    border-radius: 50%;
}

ul.pages > li > a:hover {
    color: var(--colorPrimaryHover);
    transition: all .3s;
}

ul.pages > li > a.active {
    color: #ffffff;
    background-color: var(--colorPrimary);
}

/* TM2 Filters */

.filter_block {}

a.filter_button {
    cursor: pointer;
    display: inline-block;
    font-size: var(--fsH4);
    font-weight: 400;
    color: var(--colorPrimary);
    text-align: center;
    white-space: nowrap;
    padding: .85rem 2rem;
    border-radius: 30px;
    border: 1px solid var(--colorPrimary);
}

a.filter_button + a.filter_button {
    margin-left: 8px;
}

a.filter_button.active {
    color: #ffffff;
    background-color: var(--colorPrimary);
}

/* BUSINESS CARD */

.business-card {
    position: relative;
    width: 100%;
    height: 330px;
    color: #fff;
    border-radius: 24px;
    background: url(/assets/images/map_fon.jpeg) center/cover;
    padding: 32px;
}

.business-card__inner {
    max-width: 70%;
}

.business-card__address {
    font-size: 24px;
    font-weight: 500;
    line-height:1.25;
    color: #ffffff;
}

.business-card__btn {
    margin-top: 32px;
    margin-bottom: 40px;
}

.business-card__phone {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height:1.25;
    color: #ffffff;
}

.business-card__phone span {
    font-size: 16px;
    font-weight: 500;
    line-height:1.25;
    color: #ffffff;
}

.business-card__email,
.business-card__email a {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height:1.25;
    color: #ffffff;
}

.business-card__location {
    position: absolute;
    bottom: 32px;
    right: 32px;
    width: 40px;
    height: 52px;
    -webkit-mask: url(/assets/images/svg/map.svg) center no-repeat;
    -webkit-mask-size: contain;
    background-color: #ffffff;
}

/* */

.floatfix:after {
    content: "";
    display: block;
    clear: both;
}

.article_catalog_facts_row {
    margin-bottom: 25px
}

.digit_company {
    padding: 21px 28px;
    text-transform: uppercase;
    color: #fff;
    box-sizing: border-box;
    float: left
}

.digit_company_25_year {
    width: 532px;
    height: 253px;
    background: url(/assets/images/digit_company_25_year.jpeg) center/cover;
    margin-right: 25px
}

.digit_company_20_comp {
    width: 256px;
    height: 255px;
    background: url(/assets/images/digit_company_20_comp.jpeg) center/cover;
    margin: 0 25px 0 13px
}

.digit_company_1000_proj {
    width: 255px;
    height: 254px;
    background: url(/assets/images/digit_company_1000_proj.jpeg) center/cover;
    filter: hue-rotate(40deg);
    margin-right: 25px
}

.article_catalog_facts p {
    width: 265px;
    float: left;
    margin: 0;
    position: relative;
    top: -7px
}

.digit_company_title {
    font-size: 57px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .025em
}

.digit_company_content {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: .025em
}

@media screen and (max-width: 1024px) {
    .swiper-pagination {
        display: block;
        bottom: 5px !important;
    }
    .product-offer .swiper-pagination {
        bottom: -20px !important;
    }
    .arrow_left, .arrow_right {
        display: none !important;
    }
    .product-offer__item {
        min-width: 0;
        margin: 0;
        left: 8px;
    }
}

.system-requirements {

}

.system-requirements__heading {
}

.product-modal {
    max-width: 600px;
    margin: 40px 0 72px;
}

.table {}

.table-row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.table-row:not(:last-child) {
    border-bottom: 1px solid var(--colorLightGray);
}

.table-cell {
    width: 50%;
    padding: 18px 0 24px;
}

/* SEARCH */
.search-btn {
    cursor: pointer;
    width: 60px;
    height: 60px;
    -webkit-mask: url(/assets/images/svg/search.svg) no-repeat center right;
    background-color: var(--colorBlack);
}

.search-btn:hover {
    background-color: var(--colorGray);
    transition: all .3s;
}

.popup-wrapper {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(52, 54, 75, 0.8);
    z-index: 9999;
    width: 100%;
    height: 100%;
    overflow: auto;
}

.search-wrapper {
    position: absolute;
    top: 100px;
    left: 50%;
    display: none;
    width: 100%;
    max-width: 1220px;
    padding: 25px;
    background-color: #fff;
    border-radius: 5px;
    transform: translateX(-50%);
}

#search_form {
    display: flex;
    align-items: center;
}

#search_form input[type="text"] {
    display: block;
    height: 100%;
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    color: #AAABB9;
    padding-left: 67px;
    padding-right: 150px;
    border: none;
    outline: none;
    background: transparent url(../images/search.svg) left 25px center no-repeat;
}

#search_form input[type="submit"] {
    cursor: pointer;
    display: inline-block;
    min-width: 150px;
    height: 42px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    background-color: var(--colorBlue);
    border: none;
    border-radius: 3px;
    padding: 12px 24px;
}

#search_form input[type="submit"]:hover {
    color: #fff;
    background-color: var(--colorBlueHover);
    transition: all .3s;
}

.article_file_block {
}

.article-file {
    display: flex;
    align-items: center;
    padding: 24px 0 16px;
    margin-top: 32px;
    border-top: 1px solid var(--colorDarkGray);
    border-bottom: 1px solid var(--colorDarkGray);
}

.article-file__ext {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 1.4px;
    color: #ffffff;
    text-transform: uppercase;
    border-radius: 8px;
    background-color: var(--colorPrimary);
    padding: 8px 16px;
    margin-right: 16px;
}

.article-file__title {   
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--colorBlack);
}

.article-file__title:hover {
    color: var(--colorGray);
    transition: all .3s;
}

.article-file span {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--colorPrimary);
    margin-left: auto;
}

.article-file span:hover {
    color: var(--colorPrimaryHover);
    transition: all .3s;
}

@media screen and (max-width: 768px) {
    .article-file span {
        display: none;
    }
}

.cookies-message {
    z-index: 3;
    display: none;
    position: fixed;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    max-width: 764px;
    border: 1px solid var(--colorLightGray);
    border-radius: 12px;
    background: #FFF;
    box-shadow: 0 7px 17px rgb(0 55 137 / 14%);
    padding: 20px 58px 20px 25px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .27px;
    line-height: 1.7;
    color: #000;
}

.cookies-message__accept {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    width: 58px;
    height: 100%;
    background: url('/assets/images/svg/accept.svg') no-repeat center;
    background-size: 20px;
}

.cookies-message__accept:hover {
    opacity: .8;
    transition: all .3s;
}

.cookies-message a {
    color: var(--colorPrimary);
    text-decoration: underline;
}

.cookies-message a:hover {
    color: var(--colorPrimaryHover);
    transition: all .3s;
}

.achievements-banner {
    width: 100%;
    height: auto;
    padding: 0 0 140px;
    background: url(/assets/images/banners/wheel.svg) no-repeat center right;
}

.achievements-banner__title {
    font-size: 68px;
    font-weight: 500;
    line-height: 1.08;
    color: var(--colorBlack);
    margin-top: 60px;
}

.achievements-banner__subtitle {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    padding-top: 8px;
}

.section-highlights {
    padding-top: 120px;
    padding-bottom: 80px;
}

.section-highlights p {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.16;
    color: var(--colorBlack);
    text-align: center;
    padding: 0;
    margin: 0;
}

.fact-columns {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 120px;
  display: flex;
  background: #ffffff;
}

@media screen and (max-width:1440px) {
    .fact-columns {
        padding: 0;
    }
}

.fact-column__left {
  width: 50%;
  background: url(/assets/images/team.jpg) no-repeat center;
}

@media screen and (max-width:900px) {
    .fact-column__left {
        display: none;
    }
}

.fact-column__right {
  width: 50%;
  padding: 60px;
}

@media screen and (max-width:900px) {
    .fact-column__right {
        width: 100%;
    }
}

.fact-columnns__text {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    padding-bottom: 50px;
}

.fact-columnns__text {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    padding: 1rem 0 1.2rem;
}

/*.fact-columnns__image {
    width: 100%;
    max-width: 400px;
    height: calc(100vh - 70px);
    background: url(/assets/images/team.jpg) no-repeat center;
}

.fact-columnns__text {
    background-color: #ffffff;
    padding: 60px;
}

.fact-columnns__text h2 {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    padding-bottom: 50px;
}

.fact-columnns__text p {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--colorBlack);
    padding: 1rem 0 1.2rem;
}
*/
.applications-filter {
    cursor: pointer;
    position: relative;
    font-size: 18px;
    font-weight: 400;
    color: #565656;
    border: none;
    border-radius: 40px;
    background: #ffffff url(/assets/images/svg/select-arrow.svg) no-repeat center right 20px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    padding: 15px 60px 15px 20px;
}

.applications-list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -40px;
}

@media screen and (max-width: 768px) {
    .applications-list {
        margin-left: 0;
    }
}

.application-card {
    position: relative;
    width: calc(100% / 3 - 40px);
    height: 280px;
    padding: 24px;
    margin-left: 40px;
    margin-bottom: 40px;
    border-radius: 24px;
    background-color: #ffffff;
    box-shadow: 0px 7px 17px rgba(0, 55, 137, 0.14);
}

.application-card:hover {
    box-shadow: 0 7px 34px rgba(0, 55, 137, .28);
    transform: translateY(-4px);
    transition: all .3s ease-in-out;
}

@media screen and (max-width: 1100px) {
    .application-card {
        width: calc(100% / 2 - 40px);
    }
}

@media screen and (max-width: 768px) {
    .application-card {
        width: 100%;
        margin-left: 0;
        margin-bottom: 16px;
    }
}

.application-card__label {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 24px 0 12px;
    background-color: var(--colorPrimary);
    padding: 0 20px;
}

.application-card__label span {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .025em;
    line-height: 32px;
    color: #ffffff;
    text-align: center;
}

.application-card__link {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.application-card__title {
    font-size: 24px;
    font-weight: 500;
    color: var(--colorBlack);
}

.application-card__label ~ .application-card__title {
    max-width: calc(100% - 92px);
}

.application-card__brief {
    position: absolute;
    top: 184px;
    left: 24px;
    right: 24px;
    display: flex;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.33;
    color: var(--colorBlack);
}

.application-card__brief:before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--colorDarkGray) url(/assets/images/svg/forward.svg) no-repeat center;
    background-size: 10px;
    margin-right: 16px;
}

.app__description {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.33;
}