:root{
    --page-max: 1920px;

    --left-w: 280px;
    --right-w: 328px;

    --center-max: 1145px;

    --gap: 24px;
    --pad: 24px;

    --bg: #f5f6f8;
    --card: #ffffff;
    --line: rgba(0,0,0,.08);

    --wp-admin-bar-height: 0px;
    --header-height: 80px;
    --mobile-nav-height: 60px;
}
/* RESET */
*,
*::before,
*::after {
    box-sizing: border-box;
}
/*
../fonts/OpenSans/
*/

/* open-sans-latin-400-normal */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src: url(../fonts/OpenSans/latin-400-normal.woff2) format('woff2'), url(../fonts/OpenSans/latin-400-normal.woff) format('woff');
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* open-sans-latin-600-normal */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src: url(../fonts/OpenSans/latin-600-normal.woff2) format('woff2'), url(../fonts/OpenSans/latin-600-normal.woff) format('woff');
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* open-sans-latin-700-normal */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src: url(../fonts/OpenSans/latin-700-normal.woff2) format('woff2'), url(../fonts/OpenSans/latin-700-normal.woff) format('woff');
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* open-sans-cyrillic-400-normal */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src: url(../fonts/OpenSans/cyrillic-400-normal.woff2) format('woff2'), url(../fonts/OpenSans/cyrillic-400-normal.woff) format('woff');
    unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* open-sans-cyrillic-600-normal */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src: url(../fonts/OpenSans/cyrillic-600-normal.woff2) format('woff2'), url(../fonts/OpenSans/cyrillic-600-normal.woff) format('woff');
    unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* open-sans-cyrillic-700-normal */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src: url(../fonts/OpenSans/cyrillic-700-normal.woff2) format('woff2'), url(../fonts/OpenSans/cyrillic-700-normal.woff) format('woff');
    unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}


html, body {
    height: 100%;
}

html {
    font-size: 17px;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    line-height: 1.5;
    color: #111;
    margin: 0;
    background: #EFEEF6;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.25;
}

h1 { font-size: 2.25rem; }
h2 { font-size: 1.655rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.15rem; }
h5 { font-size: 1rem; }
h6 { font-size: 0.95rem; }
h1 {
    line-height: 1.2em;
}

p {
    line-height: 1.4;
}

small {
    font-size: 0.875rem;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    opacity: 0.6;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

button,
input,
textarea,
select {
    font: inherit;
    color: inherit;
}

button {
    cursor: pointer;
    background: none;
    border: none;
}

input,
textarea,
select {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0.5em 0.75em;
}

textarea {
    resize: vertical;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    text-align: left;
    padding: 0.5em;
    border-bottom: 1px solid #ddd;
}

ul,
ol {
    margin: 0 0 1rem;
    padding-left: 1.5rem;
}
li {
    margin: 0.25rem 0;
    line-height: 1.5;
}
li p {
    margin: 0.25rem 0;
}
ul ul,
ul ol,
ol ul,
ol ol {
    margin-bottom: 0;
}
ul li::marker {
    font-size: 0.7em;
}

input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="number"],
textarea {
    width: 100%;
    padding: 0.75rem 1rem;

    font-family: inherit;
    font-size: 1rem;
    line-height: 1.4;
    color: #111;

    background-color: #f3f2f8;
    border: 1px solid transparent;
    border-radius: 8px;

    outline: none;
    transition:
            background-color 0.2s ease,
            border-color 0.2s ease,
            box-shadow 0.2s ease;
}
input[type="text"]:hover,
input[type="password"]:hover,
input[type="tel"]:hover,
input[type="email"]:hover,
input[type="number"]:hover,
textarea:hover {
    background-color: #ededf6;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
textarea:focus {
    background-color: #fff;
    border-color: #b6b3e6;
    box-shadow: 0 0 0 3px rgba(182, 179, 230, 0.35);
}
input::placeholder,
textarea::placeholder {
    color: #8a88a8;
}
input:disabled,
textarea:disabled {
    background-color: #e6e5ee;
    color: #999;
    cursor: not-allowed;
}
select.cmn-comment-user-select {
    color: #111;
    background-color: #f3f2f8;
    border: 1px solid transparent;
    border-radius: 8px;
    outline: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

header,
footer,
main,
section,
article,
aside,
nav {
    display: block;
}

.hidden {
    display: none !important;
}
.cmu-item-spoiler {
    display: none !important;
}

.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-left {
    text-align: left;
}
.card-shadow {
    box-shadow: 1px 3px 8px 0 #2D264B26;
}

/* WP ADMIN BAR */
body.admin-bar {
    --wp-admin-bar-height: 32px;
}

@media (max-width: 782px) {
    html {
        font-size: 16px;
    }
    body.admin-bar {
        --wp-admin-bar-height: 46px;
    }
}
@media (max-width: 545px) {
    h1, h2, h3, h4, h5, h6 {
        overflow-wrap: break-word;
        word-break: break-word;
    }
}

.page-inner {
    background: #EFEEF6;
}
.header {
    position: sticky;
    top: var(--wp-admin-bar-height);
    left: 0;
    height: var(--header-height);
    width: 100%;
    background: #EFEEF6;
    border-bottom: 1px solid #2D264B12;
    z-index: 999;
}
.header-inner {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 20px 20px 20px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.header-actions {
    display: flex;
    gap: 8px;
}
@media (max-width: 782px) {
    :root {
        --header-height: 60px;
    }
    .header {
        height: var(--header-height);
    }
    .header-inner {
        padding: 16px 20px 10px 10px;
    }
}

.header input,
.header input[type="text"],
.header input[type="tel"],
.header input[type="number"],
.header textarea {
    border: none;
    background: #ffffff;
}

.btn {
    padding: 6px 12px;
}

/* BURGER */
.burger {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
}

.burger span {
    width: 22px;
    height: 2px;
    background: #000;
}

/* BODY (MAIN AREA) */
.body {
    max-width: 100%;
}
.main {
    max-width: var(--page-max);
    margin: 0 auto;
}
.main-inner {
    display: flex;
    align-items: stretch;
    gap: var(--gap);
}
.main-wrap {
    display: flex;
    flex: 0 1 var(--center-max);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}
.main-wrap.main-lg {
    flex: 0 1 1285px;
}
.main-wrap.main-search {
    flex: 0 1 840px;
}
.main-wrap.main-services {
    flex: 0 1 1165px;
}
.main-services .content {
    padding: 20px 40px 0 10px;
}
.main-services .content > .breadcrumbs {
    opacity: 1;
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    text-transform: none;
    color: #2d264b;
    margin-bottom: 28px;
}
.main-services .content > .breadcrumbs a {
    color: #827d95;
    text-decoration: none;
    transition: color 0.15s ease;
}
.main-services .content > .breadcrumbs a:hover {
    color: #2d264b;
}
.main-services .content > .breadcrumbs > span > span:not([itemprop]) {
    display: inline-block;
    width: 4px;
    height: 8px;
    margin: 0 6px;
    font-size: 0;
    color: transparent;
    vertical-align: middle;
    background: url(../images/icons/bc-sep.svg) no-repeat center / contain;
}
.content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 16px 40px 0 10px;
    margin-left: -13px;
    overflow: hidden;
}
.content-inner {
    padding: 24px 10px 40px 10px;
}
.main-lg .content {
}
.content-footer {
    background: transparent;
    border-top: 1px solid #ddd;
    padding: 38px 20px 20px 20px;
    margin-top: 85px;
    text-align: center;
}
.footer-logo-inner {}
.content-footer .logo {
    position: relative;
    background-position: left top;
    width: 163px;
    height: auto;
    min-height: 20px;
    max-height: 20px;
    display: block;
    background-repeat: no-repeat;
    max-width: 100%;
    background-size: contain;
    margin-bottom: 0;
}
.sidebar-right {
    flex: 0 0 var(--right-w);
    display: flex;
    flex-direction: column;
    padding: 16px 24px 24px 0;
}
.main-services .sidebar-right {
    padding: 68px 24px 24px 0;
}
.sidebar-sticky {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    z-index: 99;
}
.sidebar-right.has-bottom-offset .sidebar-sticky {
    margin-bottom: var(--sidebar-bottom-offset, 0px);
}
.drawer.has-bottom-offset .sidebar-sticky {
    margin-bottom: var(--sidebar-bottom-offset, 0px);
}
@media (max-width: 1440px) {
    .content {
        padding: 16px 40px 24px 0;
        margin-left: 0;
    }
    .sidebar-right {
        padding: 16px 7px 24px 0;
        flex: 0 0 311px;
    }
}
@media (max-width: 1200px) {
    .content {
        padding: 16px 20px 24px 20px;
    }
}
@media (max-width: 900px) {
    .content {
        padding: 16px 20px 44px 20px;
    }
}
@media (max-width: 545px) {
    .main-services .content > .breadcrumbs {
        margin-bottom: 20px;
        padding: 0 16px;
    }
    .content {
        padding: 16px 10px 44px 10px;
    }
    .main-w .content {
        padding: 16px 0 44px 0;
    }
    .main-w.main-search .content {
        padding: 16px 20px 44px 20px;
    }
}

.body-term .content {
    max-width: 840px;
    overflow: initial;
}
.body-term .sidebar-right {
    width: 303px;
}
.cmu-rel {
    position: relative;
}
.sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
}
.margin-right {
    margin: 0 0 0 auto;
}
blockquote {
    text-align: center;
}
.grrenlined {
    font-style: italic;
    font-weight: bold;
    line-height: 1.2em;
    background-size: 1em 0.6em;
    background-repeat: repeat-x;
    background-position: 0px 62%;
    background-image: linear-gradient(90deg, rgba(190, 214, 90, 0.5), rgba(190, 214, 90, 0.5));
}
img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center;
    image-rendering: auto;
    vertical-align: middle;
}
figure {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center;
    image-rendering: auto;
    vertical-align: middle;
}
.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-round {
    border-radius: 50%;
}
.block-round {
    border-radius: 50%;
}
.block-round-md {
    border-radius: 5px;
}
.img-rounded {
    border-radius: 8px;
}
.img-shadow {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.cmu-inline {
    display: inline;
}
.cmu-flex {
    display: flex;
}
.cmu-inline-flex {
    display: inline-flex;
}
.cmu-inline-block {
    display: inline-block;
}
.cmu-flex-row {
    flex-direction: row;
}
.cmu-flex-col {
    flex-direction: column;
}
.cmu-flex-wrap {
    flex-wrap: wrap;
}

.cmu-flex-nowrap {
    flex-wrap: nowrap;
}
.cmu-justify-start {
    justify-content: flex-start;
}

.cmu-justify-center {
    justify-content: center;
}

.cmu-justify-end {
    justify-content: flex-end;
}

.cmu-justify-between {
    justify-content: space-between;
}
.cmu-justify-around {
    justify-content: space-around;
}
.cmu-items-start {
    align-items: flex-start;
}

.cmu-items-center {
    align-items: center;
}

.cmu-items-end {
    align-items: flex-end;
}

.cmu-items-stretch {
    align-items: stretch;
}

.cmu-items-baseline {
    align-items: baseline;
}
.cmu-content-start {
    align-content: flex-start;
}

.cmu-content-center {
    align-content: center;
}

.cmu-content-end {
    align-content: flex-end;
}

.cmu-content-between {
    align-content: space-between;
}

.cmu-content-around {
    align-content: space-around;
}

.cmu-content-stretch {
    align-content: stretch;
}
.cmu-self-start {
    align-self: flex-start;
}

.cmu-self-center {
    align-self: center;
}

.cmu-self-end {
    align-self: flex-end;
}

.cmu-self-stretch {
    align-self: stretch;
}
.text-rows-2 {
    max-height: calc(60px * 2);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.no-wrap {
    white-space: nowrap;
}
.cmu-w-full {
    width: 100%;
}
.cmu-col-1 {
    width: 100%;
}
.cmu-col-2 {
    width: 50%;
}
.cmu-col-3 {
    width: 33%;
}
.cmu-col-auto {
    width: auto;
}
.cmu-list-reset {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cmu-list-reset > li {
    margin: 0;
    padding: 0;
}

.cmu-i-item {
    margin-bottom: 8px;
}
.cmu-i-item:not(:last-child) {
    margin-right: 8px;
}
.cmu-i-item img {
    margin-right: 6px;
}

/* spacing */
.cmu-gap-8 { gap: 8px; }
.cmu-gap-16 { gap: 16px; }
.cmu-gap-24 { gap: 24px; }

.cmu-mt-16 { margin-top: 16px; }
.cmu-mb-16 { margin-bottom: 16px; }
.cmu-mb-24 { margin-bottom: 24px; }
.cmu-mr-5 { margin-right: 5px; }
.cmu-mr-8 { margin-right: 8px; }

/* text */
.cmu-text-center { text-align: center; }
.cmu-text-left { text-align: left; }
.cmu-text-sm { font-size: 14px; }
.cmu-text-lg { font-size: 18px; }
.cmu-text-bold { font-weight: 600; }
.cmu-text-underline { text-decoration: underline; }
.cmu-min-width-16 { min-width: 16px; }

/* box */
.cmu-w-100 { width: 100%; }
.cmu-p-16 { padding: 16px; }
.cmu-p-24 { padding: 24px; }
.cmu-border {
    border: 1px solid #ddd;
}
.cmu-rounded {
    border-radius: 6px;
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    cursor: pointer;
}
.cmu-btn {
    display: inline-flex;
    padding: 6px 20px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #2D264B;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 1px solid #F7F6FA;
    border-radius: 8px;
    background-color: #F7F6FA;
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    text-align: center;
    text-decoration: none;
}
.cmu-btn:hover, .cmu-btn:active, .cmu-btn:focus {
    text-decoration: none;
    opacity: 0.6;
}
.cmu-btn-light {
    border: 1px solid #ffffff;
    background-color: #ffffff;
}
.cmu-btn-light:hover, .cmu-btn-light:active, .cmu-btn-light:focus {}

.cmu-btn-light_gray {
    border: 1px solid #F7F6FA;
    background-color: #F7F6FA;
}
.cmu-btn-light_gray:hover, .cmu-btn-light_gray:active, .cmu-btn-light_gray:focus {}

.cmu-btn-dark {
    background: #2D264B;
    color: #ffffff;
    border-color: #2D264B;
}

.cmu-btn-transparent {
    background: transparent;
    border: none;
    border-radius: initial;
    padding: 0;
}
.cmu-btn-l-icon img,
.cmu-btn-l-icon svg {
    position: relative;
    top: 2px;
    margin-right: 4px;
}
.cmu-rounded {
    border-radius: 8px;
}
.cmu-rounded-lg {
    border-radius: 12px;
}
.cmu-rounded-xx {
    border-radius: 16px;
}
.cmu-border-top {
    border-radius: 12px 12px 0 0;
}
.cmu-border-bottom {
    border-radius: 0 0 12px 12px;
}
.cn-back {
    font-size: 12px;
    line-height: 1;
    color: #2D264B;
    padding: 8px 12px;
}
.cn-back > svg,
.cn-back > img {
    margin-right: 8px;
}

.header .logo {
    position: relative;
    top: -2px;
    background-position: left top;
    width: 188px;
    height: auto;
    min-height: 23px;
    max-height: 30px;
    display: block;
    background-repeat: no-repeat;
    max-width: 100%;
    background-size: contain;
    margin-bottom: 0;
    margin-left: 9px;
}
.logo-slogan {
    font-size: 10px;
    line-height: 1;
    font-weight: normal;
    color: #2D264B;
    margin-left: 9px;
}

.cn-tooltip-sm-wrap {
    cursor: pointer;
}
.cn-tooltip-sm {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    color: #2D264B;
    font-size: 15px;
    background: transparent;
    z-index: 100;
    padding-top: 10px;
}
.cn-tooltip-sm-inner {
    padding: 8px 12px;
    background: #F7F6FA;
    border: 1px solid #E4E2E9;
    box-shadow: 1px 3px 8px 0 #2D264B26;
}
.cn-tooltip-sm-wrap:hover .cn-tooltip-sm {
    display: block;
}

/* DRAWER / LEFT SIDEBAR */
.drawer {
    flex: 0 0 var(--left-w);
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    background: transparent;
    padding: 16px 24px 24px 24px;
}
.drawer.open {
    display: flex;
}
.sidebar-scroll {
    max-height: calc(100vh - 100px);
    overflow-y: auto;

    scrollbar-width: none;
    -ms-overflow-style: none;
}
.sidebar-right.has-bottom-offset .sidebar-scroll {
    max-height: none;
}
.drawer.has-bottom-offset .sidebar-scroll {
    max-height: none;
}

.sidebar-scroll::-webkit-scrollbar {
    display: none;
}

/* CLOSE BUTTON */
.drawer-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    display: none;
}

.drawer-close span {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #000;
    top: 50%;
    left: 50%;
}

.drawer-close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.drawer-close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.drawer input,
.drawer input[type="text"],
.drawer input[type="tel"],
.drawer input[type="number"],
.drawer textarea {
    border: none;
    background: #ffffff;
}
.drawer ul {

}

.drawer-top {
    display: none;
}
.drawer-header {
    display: none;
    margin-top: 64px;
}
.drawer-header .cmu-btn-create {
    display: inline-flex;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    justify-content: center;
}

@media (min-width: 1488px) {
    .drawer {
        display: flex;
    }
}
@media (max-width: 1440px) {
    .main-inner {
        gap: 0;
    }
    .drawer {
        flex: 0 0 230px;
        padding: 16px 20px 24px 20px;
        min-width: 254px;
    }
}

.site-footer {}
.site-footer .logo {
    position: relative;
    background-position: left top;
    width: 163px;
    height: auto;
    min-height: 20px;
    max-height: 20px;
    display: block;
    background-repeat: no-repeat;
    max-width: 100%;
    background-size: contain;
    margin-bottom: 0;
}
.site-footer-socials li:not(:last-child) {
    margin-right: 20px;
}
.site-footer-socials li a {
    background: #fff;
    padding: 4px 4px;
    width: 32px;
    height: 32px;
    overflow: hidden;
}

.site-footer-menu-top {
    font-size: 15px;
    color: #2D264B;
}
.site-footer-menu-top li:not(:last-child) {
    margin-right: 32px;
}

.mobile-nav {
    position: sticky;
    bottom: 0;
    z-index: 1000;
    display: flex;
    justify-content: space-around;
    gap: 8px;
    background-color: #EFEEF6;
    border-top: 1px solid #EFEEF6;
    padding: 10px 8px;
}
.mobile-nav-item {
    font-size: 11px;
    color: #7B768F;
}
.mobile-nav-item > img {
    width: 20px;
    height: 20px;
    margin: 0 auto 2px auto;
}
.mobile-nav-item > img.cmh-user-image {
    width: 20px;
    height: 20px;
}
@media (max-width: 767.98px) {
    .page-inner {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        min-height: 100dvh;
    }
    .page-inner > .body {
        flex: 1 0 auto;
    }
    .drawer {
        padding-bottom: calc(24px + var(--mobile-nav-height));
    }
}
@media (min-width: 768px) {
    .mobile-nav {
        display: none;
    }
}

.footer-row-bottom {
    font-size: 12px;
    color: #7B768F;
    margin-top: 36px;
    margin-bottom: 7px;
}
.footer-row-bottom li:not(:last-child) {
    margin-right: 25px;
}

/* WIDGET */
.widget {
    position: relative;
    z-index: auto;
}
.widget-title {
    font-weight: 600;
    margin-bottom: 8px;
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.connect-wrap ul li::before {
    content: none;
}

.main-search .cm-search {
    display: none;
}
.main-search .cmu-search-empty-query .cm-search {
    display: block;
}

/* MOBILE */
@media (max-width: 1200px) {
    .burger {
        display: flex;
    }

    .header-actions {
        display: none;
    }

    .drawer > .header-banner {
        width: auto;
        margin: 0 -20px;
    }
    .drawer-top {
        position: sticky;
        top: 0;
        z-index: 1025;
        display: block;
        background: #ffffff;
        margin: 0 -20px;
        padding: 16px 20px 20px 20px;
    }
    .drawer-header {
        display: block;
        margin-top: 16px;
    }
    .drawer {
        position: fixed;
        top: var(--wp-admin-bar-height);
        left: 0;
        width: 100vw;
        height: calc(100vh - var(--wp-admin-bar-height));
        height: calc(100dvh - var(--wp-admin-bar-height));
        z-index: 1000;
        background: #ffffff;
        transform: translateX(-100%);
        transition: transform .3s ease;
        padding-top: 0;
        gap: 0;

        overflow-y: auto;
    }
    .drawer .sidebar-sticky {
        position: static;
    }
    .drawer .sidebar-scroll {
        max-height: none;
        overflow: visible;
    }

    .drawer.open {
        transform: translateX(0);
    }

    .drawer.open .drawer-close {
        position: relative;
        top: auto;
        right: auto;
        display: block;
        margin-left: auto;
        z-index: 1024;
    }

    .body {
        margin: 0;
        padding: 0;
    }
    .cm-search,
    .cmu-btn-create,
    .cmh-user {
        display: none;
    }

    .drawer.open .list-image_list .category-list > li {
        flex-wrap: wrap;
    }
    .drawer.open .list-image_list .category-list li a {
        max-width: 100%;
    }
    .drawer.open .list-image_list .category-list .menu-subitems.menu-shareitems {
        position: relative;
        left: auto!important;
        top: auto!important;
        transform: none;
        display: block;
        width: 100%;
    }
    .drawer.open .list-image_list .category-list .menu-subitems > ul {
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 14px 8px 14px 20px;
    }

    .main-search .cm-search {
        display: block;
        max-width: 100%;
    }
    .main-search .cm-search-form input[type="text"] {
        display: inline-block;
        background-color: #ffffff;
        padding: 8px 35px 8px 35px;
    }
    .main-search .cm-search-form .cmu-btn-search {
        left: 4px;
        right: auto;
    }

    .main-search .cmu-content-actions {
        display: none;
    }
}

.content-after aside.sidebar-right {
    display: none;
}
@media (max-width: 900px) {
    .sidebar-right {
        display: none;
    }
}
@media (max-width: 545px) {
    .main-wrap {
        flex-direction: column;
    }

    .content-after aside.sidebar-right {
        display: flex;
        flex: none;
        width: 100%;
        padding: 16px 0 24px 0;
    }

    .main-wrap .sidebar-sticky {
        position: static;
        top: auto;
        z-index: 0;
    }

    .content-after aside.sidebar-right .sidebar-scroll {
        max-height: none;
    }
}

@media (max-width: 768px) {
    .footer-logo-inner {
        width: 100%;
        margin-bottom: 10px;
    }
    .site-footer-menu-top {
        width: 100%;
        justify-content: flex-start;
        margin-bottom: 10px;
    }
    .site-footer-menu-top li {
        width: 100%;
    }
    .site-footer-menu-top li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 8px;
    }
    .site-footer-socials {
        width: 100%;
        justify-content: flex-start;
    }
    .site-footer-menu-bottom li {
        width: 100%;
    }
    .site-footer-menu-bottom li:not(:last-child) {
        margin-bottom: 10px;
    }
}

.cmu-bg-white {
    background: #ffffff;
}

.pagination-ajax {
    margin: 25px auto;
}
.cmu-btn-more img,
.connect-services .cmu-btn-more img {
    margin-right: 9px;
}
.cmu-btn-more.is-loading img,
.connect-services .cmu-btn-more.is-loading img {
    animation: cmu-load-more-spin .8s linear infinite;
}
@keyframes cmu-load-more-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* SCROLL LOCK */
body.menu-open {
    overflow: hidden;
}

.cm-search {
    width: 100%;
    max-width: 400px;
}
.cmu-search-empty-query .cm-search {
    max-width: 100%;
}
.cm-search-form {
    position: relative;
}
.cm-search-form input[type="text"] {
    display: none;
    padding: 8px 10px 8px 35px;
}
.cmu-search-empty-query .cm-search-form input[type="text"] {
    background-color: #fff;
    border-color: #b6b3e6;
}
.cm-search-form button[type="submit"] {
    width: 30px;
    height: 20px;
    background: url(../images/search-icon.png) center center no-repeat;
    background-size: 17px;
    border: none;
    vertical-align: middle;
    cursor: pointer;
}
.cm-search-form.active input[type="text"] {
    display: inline-block;
}
.cmu-btn-search {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.cm-search-form.active .cmu-btn-search {
    left: 4px;
    right: auto;
}
.cmu-btn-search-clear {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}
.main-search .cmu-btn-search-clear {
    display: block;
}
.cmu-search-note {
    color: #7B768F;
    margin-top: 20px;
    margin-bottom: 20px;
}
.cmu-search-note a {
    text-decoration: underline;
    text-decoration-style: dashed;
}
.cmu-search-not_found {
    margin-top: 200px;
    margin-bottom: 250px;
}
.notetext-main {
    font-size: 22px;
}

.category-list-wrap{}
.category-list-wrap.list-image_list {
    margin-left: 8px;
}
.category-list-wrap:not(:last-child){
    margin-bottom: 12px;
}
.category-list-wrap.list-image_list:not(:last-child){
    margin-bottom: 17px;
}
.category-list-title,
h2.category-list-title,
h3.category-list-title {
    color: #7B768F;
    font-size: 12px;
    font-weight: normal;
    margin-bottom: 16px;
}
.list-icon_list .category-list-title {
    margin-left: 8px;
    margin-bottom: 9px;
}
.category-list li.collapsed {
    display: none;
}
.category-list li img {
    max-width: 24px;
    height: 24px;
    margin-right: 8px;
}
.list-image_list .category-list li img {
    border-radius: 5px;
}
.category-list li:not(:last-child){
    margin-bottom: 4px;
}
.list-image_list .category-list li:not(:last-child){
    margin-bottom: 18px;
}
.list-image_list .category-list li:not(:last-child){
    margin-bottom: 18px;
}
.cmu-posts-list .category-list li {
    margin-bottom: 14px;
}
.list-icon_list .category-list li {
    border-radius: 10px;
    padding: 7px 4px;
}
.cmu-posts-list .category-list li.category-toggle {
    margin-top: 26px;
    margin-bottom: 0;
}
.list-icon_list .category-list li.active {
    background: #ffffff;
}
.menu-subitems {
    display: none;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}
.menu-subitems {
    display: none;
}
.menu-subitems > ul {
    background: #E4E2E9;
    padding: 8px 8px;
    border-radius: 12px;
    border: 1px solid rgba(45, 38, 75, 0.15);
    box-shadow: 1px 3px 8px 0 #2D264B26;
}
.menu-item:hover .menu-subitems {
    display: block;
}
.list-image_list .menu-subitems {
    position: fixed;
    display: none;
    z-index: 1000;
    margin-left: 8px;
    left: auto;
    top: auto;
    transform: none;
}
.list-image_list .menu-item:hover .menu-subitems {
    display: none;
}
.list-image_list .menu-subitems.active, .list-image_list .menu-item:hover .menu-subitems.active {
    display:block;
}

.cmu-share .menu-subitems {
    left: auto;
    bottom: auto;
    top: 60px;
    right: 0;
    margin-top: 10px;
}
.cm-term-card .cmu-share .menu-subitems {
    right: auto;
}
.cmu-share:hover .menu-subitems {
    display: block;
}
.cm-term-card .cmu-share .cmu-btn {
    width: 15px;
}
.cmu-share .menu-subitems > ul {
    margin-top: 20px;
}
.cm-term-card .cmu-share .menu-subitems > ul {
    margin-top: 40px;
}
.cmu-share-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #7B768F;
    margin-right: 6px;
}
.cmu-share-icon:not(:last-child){
    margin-bottom: 6px;
}
.share-item-tg .cmu-share-icon {
    background: linear-gradient(180deg, #2AABEE 0%, #229ED9 99.26%);
}
.share-item-vk .cmu-share-icon {
    background: #0077FF;
}
.cmu-share-icon > img {
    max-width: 30px;
    max-height: 30px;
}
.share-item > img {
    margin-right: 8px;
}
.menu-subitems li a {
    width: 240px;
    max-width: 332px;
}

.cn-share {
    margin-top: 20px;
    padding: 20px 20px;
    border: 4px solid #EFEEF6;
    align-items: center;
}
.cn-share > span {
    font-weight: 600;
    color: #2D264B;
}
.cn-share  .cn-share-items {
    justify-content: flex-end;
}
.cn-share  .cn-share-items > ul {
    display: flex;
}
.cn-share .share-item > a > span {
    display: none;
}
@media (max-width: 782px) {
    .cn-share .cmu-col-2 {
        width: 100%;
        justify-content: flex-start;
    }
    .cn-share .cmu-col-2:not(:last-child){
        margin-bottom: 10px;
    }
}
@media (max-width: 545px) {
    .cm-term-card .cmu-share .menu-subitems {
        right: 0;
    }
}

.list-image_list .category-list .menu-subitems li a {
    max-width: 332px;
}
.category-toggle-btn {}
.category-toggle-btn > svg {
    margin-right: 14px;
}
.category-toggle-btn-lt > svg {
    position: relative;
    top: 1px;
    margin-left: 8px;
}
.category-toggle-btn .category-toggle-more {
    display: inline-block;
}
.category-toggle-btn .category-toggle-less {
    display: none;
}
.category-toggle-btn.active .category-toggle-more {
    display: none;
}
.category-toggle-btn.active .category-toggle-less {
    display: inline-block;
}
.category-toggle-btn.active > svg {
    transform: rotate(180deg);
}
.list-icon_list .category-list li a {
    width: 100%;
}
.list-image_list .category-list li a {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}
.category-list li a:hover {
    text-decoration: none;
}

.cmu-share {}

.pagination {
    text-align: center;
}
.pagination a:hover {
    text-decoration: none;
}
.page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    padding: 4px 4px;
    min-width: 40px;
    min-height: 40px;
}
.current.page-numbers,
.prev.page-numbers,
.next.page-numbers {
    background: #ffffff;
}
.connect-services .current.page-numbers,
.connect-services .prev.page-numbers,
.connect-services .next.page-numbers {
    background: #ffffff;
}
.pagination-dark .page-numbers {
    background: #EFEEF6;
    background-image: none!important;
}
.pagination-dark .current.page-numbers {
    background: #2D264B;
    color: #ffffff;
}
@media (max-width: 545px) {
    .page-numbers {
        min-width: 34px;
        min-height: 34px;
    }
}
@media (max-width: 380px) {
    .page-numbers.dots {
        display: none;
    }
}
@media (max-width: 370px) {
    .page-numbers.dots {
        display: none;
    }
    a.page-numbers {
        display: none;
    }
    a.prev.page-numbers,
    a.next.page-numbers {
        display: inline-flex;
    }
}

.topic-items {
    margin-top: 22px;
}
.cm-card {
    position: relative;
    background: #ffffff;
    padding: 20px 20px;
    border-radius: 16px;
}
.cm-card.cmu-page-content {
    padding: 20px 34px;
}
.connect-services .cm-card.cmu-page-content {
    padding: 28px 28px 32px 28px;
    margin-bottom: 0;
}
.services-catalog h1 {
    margin-top: 0;
    margin-bottom: 14px;
}
.services-catalog__intro p {
    line-height: 1.1em;
}
.services-catalog__intro p:first-of-type {
    margin-top: 0;
}
.cm-card:not(:last-child){
    margin-bottom: 24px;
}
.cm-term-card {
    padding: 10px 20px;
    border-radius: 12px;
}
.cmu-related {
    margin-top: 20px;
}
.cmu-related .cm-term-card {
    border: 2px solid #EFEEF6;
}
.cmu-related-title {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 18px;
}
#reply-title {
    font-size: 21px;
    font-weight: 600;
    margin-bottom: 18px;
}
#reply-title small {
    margin-left: 8px;
}
.cm-post-card {
    padding: 20px 23px;
}
.cm-post-card-content p {
    margin-top: 0;
}
.cm-post-card-content p:last-child {
    margin-bottom: 8px;
}
.cm-post-card-preview-wrap {
    display: inline-block;
    width: 100%;
    margin: 8px auto 8px auto;
}
img.cm-post-card-preview {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: cover;
    border-radius: 12px;
}
.cm-post-card-heading,
h2.cm-post-card-heading,
h3.cm-post-card-heading {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.28em;
    margin-bottom: 8px;
    margin-right: 12px;
}
.cm-post-card-title {}
.cm-term-card .cm-post-card-title {
    font-size: 17px;
}
.cm-post-more {
    margin-top: 8px;
    margin-bottom: 8px;
}
.cm-post-more svg {
    position: relative;
    margin-left: 10px;
    top: 2px;
}
.cm-post-term-items {
    margin-top: 8px;
}
.cm-post-term-items.cm-post-terms {
    margin-top: 0;
}
.cm-post-term-items li > img {
    max-width: 20px;
    height: 20px;
    margin-right: 6px;
}
.cm-post-term-items li a {
    font-size: 15px;
}
.cm-post-term-items li {
    margin-bottom: 8px;
}
.cm-post-term-items li:not(:last-child) {
    margin-right: 8px;
}
.cm-post-tags {
}
.cm-post-tags .item-tag {
    padding: 4px 6px;
    background: #F7F6FA;
    border-radius: 4px;
    font-size: 15px;
}
.cmu-spoiler > span {
    cursor: pointer;
}
.body-term .cm-post-tags .item-tag {
    background: #ffffff;
}
.cm-post-meta:not(:last-child) {
    margin-right: 16px;
}
.cm-term-card-body .cm-post-meta {
}
.cmu-block-views img,
.cmu-block-views svg {
    margin-right: 4px;
}
.cm-term-card .cmu-block-views img,
.cm-term-card .cmu-block-views svg {
    width: 14px;
}

.cm-term-card-content img.cm-term-card-preview {
    display: none;
}
img.cm-term-card-preview {
    display: block;
    width: 100%;
    min-width: 214px;
    max-width: 214px;
    height: auto;
    max-height: 91px;
    object-fit: cover;
    margin: 8px 0 8px auto;
    border-radius: 12px;
}
.cmu-post-inner {
    padding: 0 60px;
}
.cmu-post-wrap {
    max-width: 950px;
    margin: 0 auto;
    padding: 0;
}

@media (max-width: 1440px) {
    .main-wrap.main-lg {
        flex: 0 1 1204px;
    }
    .main-lg .content {
        padding: 16px 20px 24px 0;
    }
    .cmu-post-inner {
        padding: 0 18px;
    }
}
@media (max-width: 1200px) {
    .cm-card .cn-tooltip-sm {
        left: 0;
        transform: none;
    }
}
@media (max-width: 900px) {
    .main-lg .content {
        padding: 0 0 44px 0;
    }
    .content-inner {
        padding: 40px 20px 40px 20px;
    }
    .cmu-post-wrap {
        padding: 0;
    }
    .cn-inner {
        padding: 0 10px;
    }
}
@media (max-width: 768px) {
    img.cm-term-card-preview {
        display: none;
    }
    .cm-term-card-inner {
        width: 100%;
    }
    .cm-term-card-content {
        flex-direction: column;
    }
    .cm-term-card-content img.cm-term-card-preview {
        display: block;
        margin: 8px auto 8px auto;
        max-width: 100%;
        max-height: 132px;
    }
    .cmu-post-inner {
        padding: 0;
    }
}
@media (max-width: 545px) {
    .cm-post-card-heading, h2.cm-post-card-heading, h3.cm-post-card-heading {
        font-size: 19px;
    }

    .cm-card .cm-post-metas {
        display: flex;
        align-items: center;
        width: 100%;
    }
    .cm-card .blog-date,
    .cm-card .cmu-block-views {
        margin-right: 8px;
    }
    .cm-card .cmu-p-comments {
        margin-left: auto;
        margin-right: 8px;
    }
}

.cmu-singular-header {
    margin-left: 4px;
    margin-bottom: 37px;
}
.cmu-post h2,
.cmu-post h3,
.cmu-post h4,
.cmu-post p {
    margin: 14px 0;
}
.cmu-post h3 {}
.cmu-post h4 {}
.cmu-post p {}
.blog-detail img {
    margin: 0 auto;
}
.blog-content figure {
    max-width: 100%;
    margin: 0 auto;
}
figure.wp-caption.aligncenter {
    margin: 30px auto;
}
figure.wp-caption {
    max-width: 100%;
}
.blog-content figcaption {
    font-size: 0.9rem;
    line-height: 1.45;
    padding: 16px 0 0;
    color: #75777e;
    text-align: center;
    font-style: italic;
    max-width: 90%;
    margin: 0 auto;
}
.embed {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding-top: 56.25%; /* 16:9 */
    margin: 1.5em 0;
}

.embed iframe,
.blog-content iframe {
    max-width: 100%;
    border: none;
    display: block;
    margin: 1.5rem auto;
    min-height: 400px;
}
.blog-content iframe {
    background: #000;
}

.blog-content iframe:focus {
    outline: none;
}
.blog-detail a {
    background-size: 1em 0.4em;
    background-repeat: repeat-x;
    background-position: 0px 70%;
    background-image: linear-gradient(90deg, rgba(190, 214, 90, 0.5), rgba(190, 214, 90, 0.5));
    word-break: break-word;
}
.blog-detail .blog-table-item-body .blog-table-item-col:nth-child(1) a {
    background-image: none;
}
.cmu-p-comments {}
.cmu-p-comments span {
    margin-left: 5px;
}
.cmu-p-comments > svg {}
.cm-term-card .cmu-p-comments > svg {
    width: 15px;
}
.children li.comment {
    margin: 14px 0;
}
li.comment {
    margin: 20px 0 33px 0;
}
.comment-item {
    color: #2D264B;
}
.comment-user-avatar {
    margin-right: 11px;
    border: 1px solid #E4E2E9;
    max-width: 41px;
    width: 41px;
    height: 41px;
}
.comment-username {}
.comment-text {
    margin: 10px 0;
}
.comment-text p {
    margin: 0;
}
.comment-text p:not(:last-child){
    margin: 10px 0;
}
.comment-date {
    font-size: 15px;
    color: #7B768F;
}
.comment-link {
    margin-left: 12px;
}

.cmu-last-comments {}
.cmu-last-comments .category-list li:not(:last-child) {
    margin-bottom: 0;
}
.cmu-last-comments li {
    font-size: 15px;
    line-height: 1.2em;
    padding: 19px 0;
}
.cmu-last-comments li:last-child {
    padding-bottom: 0;
}
.cmu-last-comments li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;

    background-image: repeating-linear-gradient(
            to right,
            #E4E2E9 0,
            #E4E2E9 8px,
            transparent 8px,
            transparent 16px
    );
}
.last-comments-item {}
.cmu-last-comments .widget-list-title.category-list-title {
    margin-bottom: 0;
}
.last-comments-heading {}
.last-comments-footer {
    margin-top: 6px;
}
.last-comments-users {
    margin-right: 12px;
}
.category-list li img.last-comments-user {
    border: 1px solid #ffffff;
    max-width: 24px;
    height: 24px;
    margin-right: 0;
    margin-left: -12px;
}
.category-list li img.last-comments-user:first-child {
    margin-left: 0;
}
.last-comments-comments {}
.cmu-popular-wrap .last-comments-comments {
}
.cmu-popular-wrap .last-comments-comments span {
    margin-right: 4px;
}

.cmu-post-header {
    padding: 4px;
}
.cmu-post-share {
    margin-left: 19px;
}
img.cmu-post-preview {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: cover;
    margin: 0 auto;
    border-radius: 12px;
}
.cm-post-footer {
    margin-top: 17px;
}
.cm-post-metas {
    font-size: 15px;
    color: #7B768F;
}
.cm-term-card .cm-post-metas {
    font-size: 12px;
    margin-top: 8px;
}
.cmu-post-meta {
    font-size: 15px;
    font-weight: normal;
    color: #7B768F;
}
.blog-date > img {
    margin-right: 8px;
}
.cmu-meta:not(:last-child){
    margin-right: 10px;
}
.cmu-meta img, .cmu-meta svg {
    margin-right: 6px;
}
.cmu-post-tag {
    font-size: 15px;
    padding: 2px 8px;
    color: #2D264B;
    background: #F7F6FA;
    border-radius: 8px;
}
.cmu-post-authors {
    margin-bottom: 13px;
}
.cmu-post-author {}
.cmu-post-author:not(:last-child) {
    margin-right: 8px;
}
.cmu-post-author img {
    width: 40px;
    height: 40px;
    margin-right: 10px;
}
.cmu-post-author > a {
    font-weight: 600;
}
.cmu-post-cat {
    margin-bottom: 16px;
}
.cm-term-card .cmu-post-cat {
    margin-bottom: 10px;
}
.cmu-post-cat > img {
    width: 20px;
    height: 20px;
}
.cmu-post-tags {
    margin-bottom: 10px;
}
.cmu-post-title {
    margin-bottom: 16px;
}
.cmu-post-title h1,
.cmu-post-title h2,
.cmu-post-title h3 {
    margin: 0;
}
.cmu-post-title h1 {
    font-weight: 700;
}
.cmu-post-image {
    margin-bottom: 10px;
}
.cmu-post-meta {
    margin-bottom: 13px;
}
.cmu-post-excerpt {
    margin-bottom: 16px;
}
.post-nav {
    margin-top: 14px;
}
.cmu-post-case {
    margin-bottom: 16px;
}
.cmu-content-actions {
    margin-bottom: 16px;
}

.post-case-title {
    font-weight: 600;
    margin-right: 10px;
}
.post-case-description, .post-case-description h2, .post-case-description h3 {
    font-size: 16px;
}
.cmu-btn-create {
    margin-left: 13px;
    border-radius: 12px;
}
.cmu-btn-create svg, .cmu-btn-create img {
    margin-right: 8px;
}
.cmh-user {
    margin-left: 27px;
}
img.cmh-user-image {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    max-width: 40px;
}
.cmh-user-link {
    cursor: pointer;
}
.cmh-user-sub {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    padding: 10px 0 0 0;
    color: #fff;
    z-index: 1000;
}
.cmh-user-sub-inner {
    border-radius: 8px;
    background: #1d2327;
    padding: 0 10px;
}
.cmh-user-inner:hover .cmh-user-sub {
    display: flex;
}
.cmh-user-sub ul {
    padding: 6px 6px 6px 12px;
    margin: 0;
    width: 128px;
    list-style: none;
    font-size: 14px;
}
.cmh-user-sub img {
    width: 64px;
    height: 64px;
    max-width: 64px;
    margin: 0 auto;
}

.site-footer img.cmh-user-image {
    width: 20px;
    height: 20px;
    max-width: 20px;
}

.cmu-posts-list {
    padding: 19px 23px;
}
.cmu-posts-list .menu-item a > span {
    margin-left: 6px;
}
.cmu-posts-list .menu-item span {
    color: #7B768F;
    font-size: 15px;
    font-weight: normal;
    line-height: 1em;
}
.cmu-posts-list .menu-item span > svg {
    margin-right: 4px;
}
.cmu-posts-list .category-list-title {
    font-size: 17px;
    font-weight: 600;
    color: #2D264B;
    margin-bottom: 13px;
}
.cmu-posts-list.cmu-popular-list h2 {
    margin-top: 0;
}
.cmu-posts-list.cmu-popular-list li > h3 {
    font-size: 17px;
    font-weight: normal;
    margin-top: 0;
    margin-bottom: 0;
}
.widget-list-title.category-list-title {
    font-size: 17px;
    font-weight: 600;
    color: #2D264B;
    margin-bottom: 11px;
}
.cmu-auth-top .category-list li img {
    max-width: 28px;
    height: 28px;
    border: 1px solid #E4E2E9;
}
.cmu-auth-top .category-list li:not(:last-child) {
    margin-bottom: 12px;
}
.cmu-auth-top-more {
    font-size: 15px;
}
.cmu-auth-top-more > svg {
    margin-left: 8px;
    margin-top: 2px;
}
.cmu-popular-list  .cmu-block-views {
    margin-left: 8px;
}
.category-list-hint {
    display: inline-flex;
    margin-left: 2px;
}

.category-list-hint-button {
    all: unset;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.category-list-hint-dropdown {
    position: absolute;
    top: calc(100% + 9px);
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    padding: 8px 12px;
    border: 1px solid #E4E2E9;
    border-radius: 12px;
    background: #F7F6FA;
    color: #2D264B;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.3em;
    box-shadow: 1px 3px 8px 0 #2D264B26;
    white-space: normal;
    overflow-wrap: break-word;

    opacity: 0;
    visibility: hidden;

    transition: opacity .18s, transform .18s;
}
.category-list-hint-button:focus {
    outline: none;
}
@media (hover: hover) {
    .category-list-hint:hover .category-list-hint-dropdown {
        opacity: 1;
        visibility: visible;
    }
}
@media (hover: none) {
    .category-list-hint:focus-within .category-list-hint-dropdown {
        opacity: 1;
        visibility: visible;
    }
}

.connect-users-top h1 {
    font-size: 21px;
    font-weight: bold;
    color: #2D264B;
    margin: 0 auto 17px 0;
}
.cmu-auth-top .menu-item {
    font-size: 15px;
    font-weight: 500;
    color: #2D264B;
}
.connect-users-top .connect-user-top-title {
    display: inline-block;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.connect-users-top .load-more-users .category-list li img {
    max-width: 40px;
    width: 40px;
    height: 40px;
    border: 1px solid #E4E2E9;
    margin-right: 12px;
}
.menu-item-num {
    min-width: 11px;
    margin-right: 12px;
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.connect-users-top .load-more-users .menu-item-num {
    font-size: 17px;
    margin-right: 17px;
}
.connect-users-top .load-more-users .category-list li:not(:last-child) {
    margin-bottom: 12px;
}
@media (max-width: 782px) {
    .connect-users-top h1 {
        font-size: 19px;
        margin-bottom: 12px;
    }
    .connect-users-top .load-more-users .category-list li img {
        max-width: 32px;
        width: 32px;
        height: 32px;
    }
    .connect-users-top .load-more-users .menu-item-num {
        font-size: 16px;
    }
}

.cmu-term-header {
    margin-top: 8px;
}
.cmu-user-header {
    margin-bottom: 40px;
}
.cmu-term-header img.cmu-term-icon {
    margin-right: 12px;
}
.cmu-term-description {
    margin: 8px auto;
    width: 100%;
}
.cmu-term-icon {
    width: 52px;
    height: 52px;
    margin-right: 10px;
}
.cmu-user-header .cmu-term-icon {
    width: 64px;
    height: 64px;
    margin-right: 10px;
}
.cmu-term-heading {
    font-size: 28px;
    font-weight: bold;
    margin: 0;
}
.connect-profile-card {
    width: 100%;
    overflow: hidden;
    color: #2D264B;
    background: #ffffff;
    border: 1px solid #E4E2E9;
    border-radius: 16px;
}
.connect-profile-card__cover {
    min-height: 202px;
    background-color: #F2F1F7;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 16px 16px 0 0;
    margin: 1px 1px 0 1px;
}
.connect-profile-card__body {
    position: relative;
    padding: 0 20px 18px;
}
.connect-profile-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-height: 58px;
}
.connect-profile-card__avatar {
    width: 80px;
    height: 80px;
    margin-top: -33px;
    flex: 0 0 80px;
    border: 4px solid #ffffff;
    border-radius: 50%;
    background: #F7F6FA;
}
.connect-profile-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}
.connect-profile-card__actions-mobile {
    display: none;
}
.connect-profile-card__action,
.connect-profile-card__subscribe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #2D264B;
    border: 1px solid #2D264B;
    transition: opacity .2s ease;
}
.connect-profile-card__action:hover,
.connect-profile-card__subscribe:hover {
    opacity: .75;
}
.connect-profile-card__action {
    width: 24px;
    height: 24px;
    padding: 0;
    color: #ffffff;
    background: #7B768F;
    border-color: #7B768F;
    border-radius: 8px;
}
.connect-profile-card__subscribe {
    min-height: 24px;
    min-width: 114px;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    margin-left: 4px;
}
.connect-profile-card__subscribe svg {
    display: none;
}
.connect-profile-card__name {
    margin: -6px 0 6px;
    font-size: 28px;
    line-height: 1.18;
    font-weight: 700;
    color: #2D264B;
}
.connect-profile-card__description {
    max-width: 740px;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.2;
    color: #2D264B;
}
.connect-profile-card__site {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #8A849E;
    font-size: 15px;
    line-height: 1.3;
}
.connect-profile-card__site svg {
    flex: 0 0 auto;
}
.connect-profile-card__stats {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 34px 64px;
    margin: 12px 0 0 0;
}
.connect-profile-card__stat {
    min-width: 108px;
}
.connect-profile-card__stat dt {
    margin: 0;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 600;
    color: #2D264B;
}
.connect-profile-card__stat dd {
    margin: 0;
    font-size: 15px;
    line-height: 1.25;
    color: #2D264B;
}
@media (max-width: 545px) {
    .cmu-term-heading {
        font-size: 22px;
    }
    .connect-profile-card__cover {
        min-height: 160px;
    }
    .connect-profile-card__body {
        padding: 0 18px 16px;
    }
    .connect-profile-card__top {
        min-height: 36px;
    }
    .connect-profile-card__avatar {
        width: 72px;
        height: 72px;
        margin-top: -36px;
        flex-basis: 72px;
    }
    .connect-profile-card__actions {
        gap: 8px;
        margin-top: 14px;
    }
    .connect-profile-card__actions .connect-profile-card__action {
        display: none;
    }
    .connect-profile-card__actions-mobile {
        display: flex;
        gap: 8px;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .connect-profile-card__action {
        width: 24px;
        height: 24px;
        border-radius: 8px;
    }
    .connect-profile-card__subscribe:not(.connect-user-subscribe-lg) {
        width: 32px;
        height: 24px;
        min-height: 24px;
        min-width: 32px;
        flex: 0 0 32px;
        gap: 0;
        padding: 0;
        font-size: 15px;
    }
    .connect-profile-card__subscribe:not(.connect-user-subscribe-lg) span {
        display: none;
    }
    .connect-profile-card__subscribe:not(.connect-user-subscribe-lg) svg {
        display: block;
    }
    .connect-profile-card__name {
        font-size: 24px;
        margin-top: 15px;
    }
    .connect-profile-card__description {
        font-size: 15px;
        line-height: 1.15;
    }
    .connect-profile-card__site {
        font-size: 16px;
    }
    .connect-profile-card__stats {
        gap: 18px 22px;
    }
    .connect-profile-card__stat {
        min-width: 84px;
    }
    .connect-profile-card__stat dt {
        font-size: 20px;
    }
    .connect-profile-card__stat dd {
        font-size: 12px;
    }
}
@media (max-width: 390px) {
    .connect-profile-card__top {
        flex-direction: column;
        gap: 0;
    }
    .connect-profile-card__actions {
        align-self: flex-end;
        margin-top: -24px;
    }
}

.cmu-comment-list ul.children {
    list-style: none;
}

.site-footer {}
.site-footer .body,
.site-footer .drawer,
.site-footer .main-wrap,
.site-footer .content,
.site-footer .sidebar-right {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: transparent;
}
.site-footer .content {
    padding: 0 36px;
}
.disclosure-badge {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 18px;
    padding: 12px 16px;
    border: 1px solid #bdc5f9;
    border-radius: 5px;
    background: #D4DEF126;
    box-sizing: border-box;
}
.disclosure-badge-post-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.disclosure-badge-post-footer > svg {
    position: relative;
    top: 2px;
    margin-right: 6px;
}

.post-nav ul {
    list-style: none;
}
.post-nav-title {
    font-size: 19px;
    font-weight: 500;
    color: #2D264B;
    margin-bottom: 12px;
}
.post-nav-body > ul {
    padding: 0;
}
.post-nav-body > ul > li > a,
.post-nav-body > ul > li > div > a{
    font-size: 17px;
    font-weight: 600;
    color: #2D264B;
}
.post-nav-body > ul > li {
    width: 100%;
}
.post-nav-body > ul > li .icon {
    position: relative;
    top: 3px;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 6px;
    background-image: url("../images/icons/chevron-down.svg");
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
    transition: transform 0.2s ease;
}
.post-nav-body > ul > li.is-open .icon {
    transform: rotate(180deg);
    top: 0;
}
.post-nav-body > ul > li > ul,
.post-nav-body > ul > li > ol {
    display: none;
}
.post-nav-body > ul > li.is-open ul {
    display: block;
    margin-top: 10px;
    padding-left: 15px;
}

.scroll-top {
    position: fixed;
    padding: 12px;
    color: #555555;
    background: #ffffff;
    border: 1px solid #bdc5f9;
    border-radius: 5px;
    font-size: 13px;
    left: auto;
    bottom: 162px;
    right: 35px;
    max-width: 60px;
    cursor: pointer;
    z-index: 9999;
    transition: .3s;
}
a.edit_link {
    font-size: 12px;
    text-decoration: underline;
    color: red;
}
.content .image_description {
    display: inline-block;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    font-style: italic;
    padding: 10px;
    font-size: 17px;
    line-height: 1.45;
    width: 100%;
    background: none;
    color: #75777e;
}
.blog-epilog-icons {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 32px;
    margin: 28px 0;
}
.content-note-row {
    font-weight: bold;
}
.a-big {
    padding: 30px 0;
    font-size: 1.2rem;
    line-height: 1.45;
    font-weight: bold;
    border-top: 1px solid #d4def1;
    border-bottom: 1px solid #d4def1;
    text-align: center;
}
ul.checklist {
    list-style: none;
    padding-left: 3.3em;
}
ul.checklist li {
    position: relative;
}
ul.checklist li::before {
    content: "";
    position: absolute;
    top: 0.3em;
    left: -1.5em;
    background: url(../../images/check.png) center center no-repeat;
    background-size: 10px;
    width: 21px;
    height: 21px;
    border: 1px solid #d4def1;
    border-radius: 12px;
}

.cols:not(.no-margin) {
    margin-top: 30px;
}

@media screen and (min-width: 1024px) {
    body {
        font-size: 17px;
        line-height: 25px;
    }

    .container {
        width: 960px;
        margin: 0 auto;
    }

    .header .container {
        width: 1000px;
    }

    .cols {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .cols .col2 {
        width: 47%;
    }

    .cols.requisites {
        flex-direction: column;
    }

    .cols:not(.no-margin) {
        margin-top: 47px;
    }

    .cols.no-margin {
        margin-top: 0;
    }

    .col2 {
        flex: 0 1 auto;
    }

    .col2 + .col2 + .col2 {
        margin-top: 47px;
    }

    .col2 + .col2 + .col2.vacancy-video-wrap {
        margin-top: -70px;
    }

    .col2 > * {
        max-width: 100%;
    }

    .col3 {
        flex: 0 1 auto;
        width: 30%;
    }
}
.block.rose {
    background-color: #f4f8f9;
}
.case-slide__note .seo-goal {
    display: block;
    font-size: 20px;
    line-height: 38px;
}

@media screen and (max-width: 479px) {
    .h4title {
        font-size: 18px;
        line-height: 25px;
    }

    .h3title {
        font-size: 20px;
    }

    .mul_titl {
        font-size: 13px;
    }

    .seo-header {
        font-size: 25px;
        line-height: 25px;
    }

    .case-slide__note .seo-goal {
        padding: 5px;
        font-size: 15px;
        line-height: 22px;
    }
}

.priceblock {
    padding: 25px 0px 35px 16px;
    background-color: #f3f1ed;
}

.priceblock .price {
    font-size: 35px;
    font-weight: 500;
    vertical-align: middle;
    vertical-align: -webkit-baseline-middle;
    vertical-align: -moz-middle-with-baseline;
}

.priceblock .pricesym {
    font-size: 33px;
    font-weight: 500;
    vertical-align: middle;
}

.seo_graph_zag {
    position: relative;
    margin-bottom: 25px;
}

.zaliv {
    position: absolute;
    background-color: #acc051;
    width: 100%;
    height: 85px;
    z-index: 0;
    top: 104px;
}

.seo_gr_info {
    display: inline-block;
}

.seo_graph_zag > .case-slide__title {
    display: inline-block;
    width: 47%;
    line-height: 27px;
}

.seo_graph_zag > .case-slide__title_all_width {
    display: inline-block;
    width: 100%;
    line-height: 27px;
}
.flxbox {
    display: flex;
    justify-content: around;
    align-items: flex-start;
}

.block.toolsweb .weblist {
    margin: 40px 0 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.block.toolsweb .list {
    margin: 40px 0 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.block.toolsweb .item {
    width: 100%;
    padding-top: 70px;
    text-align: center;
    box-sizing: border-box;
}

.block.toolsweb .item.i::before {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

.block.toolsweb .item .wname {
    font-weight: 700;
    font-size: 13px;
    margin-bottom: 16px;
    text-transform: uppercase;
}

.block.marketing .block.toolsweb .item .name {
    color: #000;
    text-decoration: none;
}

.block.toolsweb .item .desc {
    line-height: 1.6;
    font-size: 13px;
}

@media screen and (max-width: 479px) {
    .block.toolsweb .item + .item {
        margin-top: 40px;
    }

    .block.toolsweb .weblist {
        flex-direction: column;
    }

    .web_arrow {
        display: none;
    }

    span.w_title {
        margin-top: 20px;
        font-size: 26px;
    }

    span.w_sld_title {
        font-size: 18px;
    }
}

@media screen and (min-width: 480px) and (max-width: 1023px) {
    .block.toolsweb .item {
        width: 48%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .web_arrow {
        display: none;
    }

    span.w_title {
        margin-top: 20px;
        font-size: 26px;
    }

    span.w_sld_title {
        font-size: 18px;
    }
}

@media screen and (min-width: 1024px) {
    .block.toolsweb .h2 {
        text-align: center;
    }

    .block.toolsweb .weblist {
        margin-bottom: 0;
    }

    .block.toolsweb .item {
        width: 22%;
    }
}

.white-border .whiteback {
    border: 1px solid;
    border-color: #bed65a;
}

.whiteback {
    align-items: center;
    background-color: #ffffff;
    padding: 30px 30px 30px 30px;
    line-height: 20px;
    font-size: 13px;
    margin-bottom: 18px;
}

.whiteback p {
    margin: 0;
}

p.blocktitle {
    font-size: 25px;
    line-height: 25px;
    font-weight: 500;
    margin-bottom: 14px !important;
}

@media screen and (max-width: 479px) {
    p.blocktitle {
        font-size: 18px;
    }
}

@media screen and (min-width: 1024px) {
    .vertical {
        display: block !important;
        height: 56px;
        width: 1px;
        margin-top: 14px;
        background-color: #bed65a;
    }
}
.seo-header {
    font-weight: bold;
    margin-top: 0;
    padding: 18px 12px;
    margin-bottom: 25px;
}
.block.principle-wrap {
    padding: 0;
    margin: 0;
}

.block.principle-wrap .button,
.send-request .button,
.modal-form .button {
    margin-top: 20px;
    margin-bottom: -5px;
    padding-top: 4px;
    padding-bottom: 16px;
}

@media screen and (min-width: 1024px) {
    .block.principle-wrap .button,
    .send-request .button,
    .modal-form .button {
        padding: 5px 97px 20px 97px;
    }
}

.block.principle-wrap .button i,
.send-request .button i,
.modal-form .button i {
    display: inline-block;
    margin-right: 15px;
}

i.icon-attach {
    position: relative;
    top: 3px;
}

i.icon-bubble-white {
    position: relative;
    top: 11px;
}

.block.principle-wrap .bubble-white::before,
.send-request .bubble-white::before,
.modal-form .bubble-white::before {
    top: 16px;
    left: 97px;
}

.review-v1 {
    border: 1px solid #d4def1;
    border-radius: 4px;
    background: #f3f6fb;
    padding: 30px;
    margin-bottom: 30px;
}
.review-head {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.review-author {
    display: flex;
    align-items: center;
    padding-right: 30px;
}
.review-author .author-preview img {
    min-width: 100px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin-right: 19px;
}
.review-author .author-name span, .review-v1-position {
    font-size: inherit;
    color: #75777e;
}
.review-logo {
    max-width: 240px;
}
.review-text {
    padding-left: 30px;
    background: url("../../images/icons/png/icon-quote-review.png") top left no-repeat;
    background-size: 20px;
}
.review-v2 {
    margin-bottom: 30px;
}
.review-text-wrap {
    padding: 30px;
    background: #f3f6fb;
    border: 1px solid #d4def1;
    border-radius: 4px;
    position: relative;
}
.review-text-wrap::before,
.review-text-wrap::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -60px;
    margin-left: -30px;
    border: 35px solid transparent;
    border-bottom: 25px solid #d4def1;
}
.review-text-wrap::after {
    border-bottom: 25px solid #f3f6fb;
    top: -59px;
}

.block.what-we-done .statistic th,
.block.what-we-done .statistic td {
    width: 50%;
    padding: 9px 30px 9px 50px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.block.what-we-done .statistic td {
    width: 50%;
    padding: 9px 30px 9px 50px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 1279px) {
    .block.what-we-done .statistic th,
    .block.what-we-done .statistic td {
        padding: 9px 20px;
    }
}

@media screen and (max-width: 479px) {
    .block.what-we-done .statistic th,
    .block.what-we-done .statistic td {
        padding: 9px 10px;
    }
}

@media screen and (max-width: 1023px) {
    .block.what-we-done .statistic th:first-child,
    .block.what-we-done .statistic td:first-child {
        padding-left: 4.5%;
    }
}

.block.what-we-done .statistic th {
    vertical-align: bottom;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.block.what-we-done .statistic tr:last-child td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.block.what-we-done .statistic tr:hover td {
    background-color: #bed65a;
}

.block.what-we-done .graphic {
    width: 100%;
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
}

@media screen and (min-width: 1024px) {
    .block.what-we-done .graphic {
        margin-top: 38px;
    }
}

.relative {
    position: relative;
}

.block.what-we-done .graphic td {
    height: 42px;
    border: 1px solid #e5e5e5;
    width: 125px;
    vertical-align: middle;
}

@media screen and (max-width: 1279px) {
    .block.what-we-done .graphic td {
        width: 112px;
    }
}

@media screen and (max-width: 1023px) {
    .block.what-we-done .graphic td {
        width: calc((91vw - 64px) / 8);
        height: 32px;
    }
}

@media screen and (max-width: 479px) {
    .block.what-we-done .graphic td {
        width: calc((91vw - 84px) / 8);
        height: 21px;
    }
}

.block.what-we-done .graphic td:first-child,
.block.what-we-done .graphic td:last-child {
    width: 52px;
}

@media screen and (max-width: 1023px) {
    .block.what-we-done .graphic td:first-child,
    .block.what-we-done .graphic td:last-child {
        width: 32px;
    }
}

.block.what-we-done .graphic td:first-child {
    border-left: 0;
}

.block.what-we-done .graphic td:last-child {
    border-right: 0;
}

.block.what-we-done .graphic tfoot td {
    font-size: 13px;
    font-weight: 700;
    opacity: 0.5;
    border: 0;
}

@media screen and (max-width: 1023px) {
    .block.what-we-done .graphic tfoot td {
        font-size: 10px;
        text-transform: none;
    }
}

@media screen and (max-width: 479px) {
    .block.what-we-done .graphic tfoot td span {
        transform: rotate(-90deg);
        transform-origin: 0 0;
        position: absolute;
        background: #fff;
    }
}

.block.what-we-done .graphic td span.y15,
.block.what-we-done .graphic td span.y14 {
    font-size: 13px;
    font-weight: 700;
    position: relative;
    display: inline-block;
}

.block.what-we-done .graphic td span.y15::before,
.block.what-we-done .graphic td span.y14::before {
    width: 9px;
    height: 9px;
    top: 50%;
    transform: translateY(-60%);
    left: -17px;
    position: absolute;
    content: "";
}

.block.what-we-done .graphic td span.y15 {
    margin-left: 17px;
}

.block.what-we-done .graphic td span.y14 {
    margin-left: 45px;
}

.block.what-we-done .graphic td span.y15::before {
    background-color: #d32e42;
}

.block.what-we-done .graphic td span.y14::before {
    background-color: #4a90e2;
}

@media screen and (max-width: 1279px) {
    .block.what-we-done .graphic td span.y14 {
        margin-left: 35px;
    }
}

@media screen and (max-width: 1023px) {
    .block.what-we-done .graphic td span.y14 {
        position: absolute;
        left: 40px;
    }
}

@media screen and (max-width: 479px) {
    .block.what-we-done .graphic td span.y15 {
        position: absolute;
        left: -40px;
    }

    .block.what-we-done .graphic td span.y14 {
        position: absolute;
        left: 0;
    }
}

.block.what-we-done .requests {
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
}

@media screen and (min-width: 1024px) {
    .block.what-we-done .requests {
        margin-top: 22px;
        margin-bottom: 38px;
    }
}

.block.what-we-done .requests th,
.block.what-we-done .requests td {
    padding: 9px 30px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.block.what-we-done .requests th {
    vertical-align: bottom;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.block.what-we-done .requests tr:last-child td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.block.what-we-done .requests th:first-child,
.block.what-we-done .requests td:first-child {
    width: 50%;
    padding-left: 50px;
}

@media screen and (max-width: 1279px) {
    .block.what-we-done .requests th,
    .block.what-we-done .requests td,
    .block.what-we-done .requests th:first-child,
    .block.what-we-done .requests td:first-child {
        padding: 9px 20px;
    }
}

@media screen and (max-width: 479px) {
    .block.what-we-done .requests th,
    .block.what-we-done .requests td,
    .block.what-we-done .requests th:first-child,
    .block.what-we-done .requests td:first-child {
        padding: 9px 10px;
    }
}

@media screen and (max-width: 1023px) {
    .block.what-we-done .requests th:first-child,
    .block.what-we-done .requests td:first-child {
        padding-left: 4.5%;
    }
}

.block.what-we-done .requests tr:hover td {
    background-color: #bed65a;
}

.block.what-we-done .statistic th {
    vertical-align: bottom;
    text-align: left;
}

.block.what-we-done .statistic tr:hover td {
    background-color: #bed65a;
}

.block.blockquote {
    padding-top: 20px;
    padding-bottom: 20px;
}

@media screen and (min-width: 1024px) {
    .block.blockquote {
        padding-top: 32px;
        padding-bottom: 39px;
    }
}

.copy-toast {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 16px;
    border-radius: 9999px;
    background: #daf8da;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.0em;
    color: #06CC09;
    border: 1px solid #06CC0959;
    width: 196px;
    height: 34px;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 3s ease;
}

.copy-toast.copy-toast-show {
    opacity: 1;
    pointer-events: auto;
    transition: none;
}
.button,
.text-block a.button {
    display: inline-block;
    font-size: 13px;
    line-height: 21px;
    padding-top: 15px;
    padding-bottom: 13px;
    background-color: #d32e42;
    background-image: none;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    outline: none;
    border: 0;
    white-space: nowrap;
    box-sizing: border-box;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
}
@media screen and (min-width: 1024px), print {
    .button,
    .text-block a.button {
        padding: 14px 23px 12px;
    }
}
.blog-table-item-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
}
.blog-table .blog-table-item-nominated .blog-table-item-col.blog-table-item-col-checkbox {
    flex-direction: column;
}
.blog-table-item__wrap {
    margin: auto 0;
}
.blog-table-item__nomination-wrap {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin-bottom: 4px;
}
.blog-table-item__nomination {
    display: flex;
    width: auto;
    padding: 4px 8px 4px 6px;
    flex-direction: row;
    align-items: center;
    border-radius: 4px;
}
.nomination-icon, .blog-detail img.nomination-icon {
    align-self: flex-start;
    margin-top: 2px;
    width: 100%;
    max-width: 16px;
    height: 16px;
    margin-right: 3px;
}
.nomination-name {
    position: relative;
    top: 1px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.22em;
    color: #ffffff;
}
.blog-content .red-link {
    display: inline-block;
}

.cmu-important {
    padding: 7px 13px;
    border-left: 6px solid #BFBCCB;
    background-color: transparent;
    color: #2B2A33;
    font-size: 15px;
    line-height: 1.6;
    border-radius: 4px;
}

.cmu-quote {
    position: relative;
    max-width: 870px;
    margin: 0 auto;
    padding: 24px 28px;
    background-color: #F7F6FA;
    border-radius: 8px;
    color: #2B2A33;
    text-align: left;
}
.cmu-quote p {
    margin: 0 0 12px;
}
.cmu-quote footer {
    display: flex;
    gap: 8px;
}
.cmu-quote__author {
    font-weight: 600;
    color: #2D264B;
}
.cmu-quote__role {
    color: #7B768F;
    margin-left: 4px;
}

.enlighter-t-enlighter {
    background: #F7F6FA;
    border: none;
    padding: 12px 12px;
}
.enlighter-t-enlighter.enlighter-linenumbers div.enlighter>div::before {
    border-right: solid 1px #F7F6FA;
    background-color: #F7F6FA;
}

.cmu-pre {
    background: #F7F6FA;
    border-radius: 8px;
    padding: 7px 0;
    margin-bottom: 8px;
}
.cmu-pre .enlighter-t-enlighter {
    border: none;
    padding: 12px 12px;
}
.cmu-pre .enlighter-t-enlighter.enlighter-linenumbers div.enlighter>div::before {
    display: none;
}
.cmu-pre .enlighter-default {
    margin-bottom: 0;
}
.cmu-caption {
    font-size: 12px;
    color: #7B768F;
    font-weight: normal;
}

.cmu-login-wrap {
    width: 440px;
    max-width: 90%;
    margin: 0 auto;
}
.cmu-login-wrap .user-registration-form-row label,
.cmu-login-wrap .ur-frontend-form .ur-form-row .ur-form-grid label,
.cmu-loginpage-wrap .ur-frontend-form .ur-form-row .user-registration-form-row.user-registration-form-row--wide label {
    display: none;
}
body.user-registration-page .cmu-login-wrap #user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid>div .user-registration-Button,
body.user-registration-page .cmu-login-wrap .user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid>div .user-registration-Button,
.cma-wrap .ur-frontend-form.login .ur-reset-password-btn,
.cmu-loginpage-wrap .ur-frontend-form button, .ur-frontend-form button[type=submit] {
    background: #2D264B;
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
    text-transform: none;
    font-size: 16px;
    font-weight: 500;
    padding: 6px 24px;
}
body.user-registration-page .cmu-login-wrap #user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid>div .user-registration-Button:hover,
body.user-registration-page .cmu-login-wrap .user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid>div .user-registration-Button:hover {
    background: #2D264B;
    color: #ffffff;
    opacity: 0.7;
}
body.user-registration-page .cmu-login-wrap #user-registration:not(.user-registration-MyAccount),
body.user-registration-page .cmu-login-wrap .user-registration:not(.user-registration-MyAccount) {
    border-radius: 0;
}
body.user-registration-page .cmu-login-wrap #user-registration:not(.user-registration-MyAccount) .ur-frontend-form.login,
body.user-registration-page .cmu-login-wrap .user-registration:not(.user-registration-MyAccount) .ur-frontend-form.login {
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}
body.user-registration-page .cmu-login-wrap #user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid .user-registration-before-login-btn .user-registration-LostPassword a,
body.user-registration-page .cmu-login-wrap .user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid .user-registration-before-login-btn .user-registration-LostPassword a {
    color: #2D264B;
    font-weight: 500;
    font-size: 15px;
}
body.user-registration-page .cmu-login-wrap #user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid .user-registration-register a,
body.user-registration-page .cmu-login-wrap .user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid .user-registration-register a {
    color: #2D264B;
    font-weight: 500;
    font-size: 15px;
}
body.user-registration-page .cmu-login-wrap #user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid .user-registration-form-row,
body.user-registration-page .cmu-login-wrap .user-registration:not(.user-registration-MyAccount) .ur-frontend-form .user-registration-form .ur-form-row .ur-form-grid .user-registration-form-row {
    margin-bottom: 12px;
}
.cmu-login-wrap input[type="text"],
.cmu-login-wrap input[type="password"] {
    background-color: #ffffff;
}
.cmu-login-wrap .ur-frontend-form .ur-form-row .ur-form-grid .user-registration-form-row input.input-text {
    border: 1px solid #E4E2E9;
    font-size: 17px;
    padding: 0 14px;
    line-height: 1em;
    height: 40px;
}
.cmu-login-wrap .ur-field-item input, .cmu-login-wrap .ur-form-grid input {
    border-radius: 8px !important;
}
.cmu-login-wrap .ur-frontend-form .ur-form-row .ur-form-grid {
    padding: 0;
}
.cmu-login-head {
    margin-bottom: 20px;
}
.cmu-login-form {
    border-radius: 16px;
    box-shadow: 1px 3px 8px 0 #2D264B26;
    background: #fff;
    padding: 25px 28px;
}
.cmu-login-title {
    font-size: 21px;
    font-weight: 700;
}
.cmu-login-close {
    padding: 0;
    margin: 0;
    cursor: pointer;
}
.cmu-login-wrap .mfp-close {
    display: none;
}
.cmu-loginpage-wrap #user-registration {
    background-color: #fff;
    margin: 30px 0;
    border-radius: 16px;
    box-shadow: 1px 3px 8px 0 #2D264B26;
    padding: 25px 28px;
}
.cmu-loginpage-wrap .ur-frontend-form.login {
    padding: 0;
}
.cmu-loginpage-wrap .ur-frontend-form .ur-form-row .user-registration-form-row.user-registration-form-row--wide:first-child {
    margin-bottom: 12px;
}
.input-box-tch,
.input-box-tch-sbm,
.input-box-hp {
    display: none;
}
.media-modal .screen-reader-text {
    visibility: hidden;
}

.connect-banner-widget {
    color: #2D264B;
    padding: 16px 20px;
    overflow: hidden;
}
.connect-banner-widget__title {
    font-size: 17px;
    line-height: 22px;
    font-weight: 600;
    margin-bottom: 7px;
}
.connect-banner-widget__text {
    font-size: 15px;
    line-height: 18px;
    font-weight: normal;
    margin-top: 7px;
    margin-bottom: 12px;
}
.connect-banner-widget__media {
    width: 100%;
    height: 320px;
    overflow: hidden;
}
.connect-banner-widget__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.connect-banner-header {
    margin-bottom: 12px;
}
.connect-banner-header-r {

    margin: 0 0 0 auto;
}
.connect-banner-btn {
    display: block;
    width: 22px;
    height: 22px;
    background: #F7F6FA;
}
.adver-dropdown {
    margin-left: 6px;
}
.connect-banner-adver > svg {
    transform: rotate(90deg);
}
.connect-adver-close {
    margin: 0 0 2px auto;
}
.adver-dropdown-body {
    position: absolute;
    top: calc(100% + 9px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    width: 100%;
    padding: 8px 12px 14px 12px;
    border: 1px solid #E4E2E9;
    border-radius: 12px;
    background: #F7F6FA;
    color: #2D264B;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.3em;
    box-shadow: 1px 3px 8px 0 #2D264B26;
    white-space: normal;
    overflow-wrap: break-word;

    opacity: 0;
    visibility: hidden;

    transition: opacity .18s, transform .18s;
    z-index: 100;
}
.adver-dropdown-body.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.adver-actions {
    margin-top: 12px;
    font-size: 13px;
}
.adver-actions button > svg {
    width: 12px;
    height: auto;
    margin-right: 7px;
}
.connect-banner-close {
    margin-left: 6px;
}
.adver-dropdown-title {
    font-size: 14px;
    line-height: 22px;
    font-weight: 600;
    margin-bottom: 7px;
}
.connect-banner-ac {
    font-size: 15px;
    line-height: 18px;
    margin-right: 4px;
}
.connect-banner-dis {
    color: #7B768F;
}
.connect-banner-ac li:not(:last-child){
    margin-right: 13px;
}

.connect-post .blog-table .blog-table-item__title {
    font-size: 15px;
    font-weight: 700;
}
.connect-post .blog-table-item__list_check,
.connect-post .blog-table-item__list_pros,
.connect-post .blog-table-item__list_cons {
    font-size: 13px;
}
.blog-table .blog-table-item .blog-table-item__button {
    font-size: 14px;
    font-weight: 700;
    padding: 7px 14px;
    border-radius: 8px;
}
.connect-post .blog-table .blog-table-item__prop {
    font-size: 13px;
}
.connect-post .blog-table .blog-table-item__value {
    font-size: 15px;
    font-weight: 600;
}
.connect-post .blog-table .blog-table-item__text {
    font-size: 13px;
}
.connect-post .custom-attr-title {
    font-size: 13px;
}
.connect-post .custom-attr-val {
    font-size: 15px;
}
.connect-post .blog-table .blog-table-item-col {
    padding: 16px 12px;
}

.header-banner {
    width: 100%;
    text-align: center;
    background: #EFEEF6;
    line-height: 0;
}
.header-banner-inner {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 186px;
    line-height: 0;
    z-index: 2048;
}
.header-banner-inner > a {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 186px;
    line-height: 0;
}
.header-banner img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: cover;
}
.header-banner img.header-banner-lg {
    display: block;
}
.header-banner img.header-banner-sm {
    display: none;
}
@media (max-width: 768px) {
    .header-banner-inner,
    .header-banner-inner > a {
        max-height: 140px;
    }

    .header-banner img {
        max-height: none;
    }

    .header-banner img.header-banner-lg {
        display: none;
    }
    .header-banner img.header-banner-sm {
        display: block;
    }
}
.header-banner-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
}
.header-banner-actions .banner-close {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
}
.header-banner-actions .adver-dropdown {
    position: relative;
    margin-left: 0;
}
.header-banner-actions .adver-dropdown-body {
    left: auto;
    right: 0;
    width: 260px;
    text-align: left;
    line-height: 1.3em;
    transform: translateY(4px);
}
.header-banner-actions .adver-dropdown-body.active {
    transform: translateY(0);
}
@media (max-width: 768px) {
    .header-banner-actions .adver-dropdown-body {
        position: fixed;
        top: 44px;
        left: 50vw;
        right: auto;
        width: calc(100vw - 24px);
        max-width: 320px;
        transform: translateX(-50%) translateY(4px);
    }
    .header-banner-actions .adver-dropdown-body.active {
        transform: translateX(-50%) translateY(0);
    }
}
.header-banner-actions .header-banner-hide {
    padding: 0;
    background: transparent;
}
.header-banner-actions .header-banner-hide:hover {
    background: transparent;
}
.header-banner-hide {
    display: flex;
    align-items: center;
    border: none;
    border-radius: 8px;
    padding: 8px 12px;
    background: #F7F6FA;
    color: #2D264B;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
}
.header-banner-hide > svg {
    width: 12px;
    height: auto;
    margin-right: 7px;
    fill: currentColor;
}
.header-banner-hide:hover {
    background: #E9E6F0;
    color: #2D264B;
}
.banner-close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;

    border: none;
    border-radius: 8px;
    padding: 8px 12px;

    background: #F7F6FA;
    color: #2D264B;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
}
.banner-close > span {
    position: relative;
    top: 1px;
}
.banner-close:hover {
    background: #E9E6F0;
    color: #2D264B;
}

.events-calendar-content svg {
    display: inline-block;
}
.blog-detail .events-banner a,
.blog-detail .events-calendar-content a {
    background: none;
    word-break: normal;
}
.connect-calendar .blog-detail a.cn-back {
    border: 1px solid #F7F6FA;
    background-color: #F7F6FA;
    background-image: none;
    word-break: normal;
}
.events-calendar-content .sst-text-wrap a {
    background-size: 1em 0.4em;
    background-repeat: repeat-x;
    background-position: 0 70%;
    background-image: linear-gradient(90deg, rgba(190, 214, 90, 0.5), rgba(190, 214, 90, 0.5));
}
.events-banner .courses-banner__title {
    font-family: Play;
    font-size: 45px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.9px;
    margin-bottom: 12px;
}
.blog-detail .events-banner .events-calendar__btn-blue,
.blog-detail .events-calendar-content a.events-top-item__link {
    color: #ffffff;
    background: #5465ff;
    border: 1px solid #5465ff;
}
.connect-calendar .blog-detail .events-calendar-content a.events-subscribe-form__button {
    color: #ffffff;
    font-family: Play;
    font-weight: 500;
    background: #5465ff;
    border: 1px solid #5465ff;
}
.events-calendar__toggle > svg {
    max-width: initial;
}
.events-banner .events-calendar-form .flatpickr-current-month {
    z-index: 9;
}
.tg-bot-text p {
    margin: 0;
}
.connect-calendar .events-list-item__online {
    padding: 1px 15px 2px 5px;
}
.connect-calendar .events-list-item__offline {
    padding: 2px 5px 2px 15px;
}
.connect-calendar .events-list-item__both-online {
    padding: 2px 10px 2px 5px;
}
.connect-calendar .events-list-item__both-offline {
    padding: 2px 5px 2px 10px;
}
.events-banner .events-calendar-form.ev-collapsed .flatpickr-months {
    padding-bottom: 0;
}
.events-banner .flatpickr-current-month {
    padding: 0;
}
ul.events-calendar-themes__list li {
    margin: 0;
}
.connect-calendar .ev-collapsed .events-calendar-thematics__label {
    font-size: 15px;
}
.connect-calendar .events-flatpickr-inner {
    margin-top: 4px;
}
.connect-calendar .events-calendar-selector__list {
    top: 92%;
}
.connect-calendar .ctm-more-inner span,
.connect-calendar .events-list-switcher__item,
.connect-calendar .events-list-item__tag,
.connect-calendar .events-list-item__online,
.connect-calendar .events-list-item__offline,
.connect-calendar .events-list-item__both-online,
.connect-calendar .events-list-item__both-offline,
.connect-calendar .events-list-item__price,
.connect-calendar .events-list-more__link,
.connect-calendar .events-speakers__link,
.connect-calendar .events-subscribe-form__button,
.connect-calendar .events-top-item__price,
.connect-calendar .events-top-item__link {
    font-weight: 600;
}
.connect-calendar .breadcrumbs {
    display: inline-block;
    border: 1px solid #F7F6FA;
    background-color: #F7F6FA;
    background-image: none;
    word-break: normal;
    font-size: 12px;
    line-height: 1;
    color: #2D264B;
    padding: 8px 12px;
    border-radius: 8px;
}
.connect-calendar .cmu-singular-header {
    margin-left: 0;
    margin-bottom: 12px;
}

@media (max-width: 1440px) {
    .connect-calendar .events-banner .container {
        max-width: 1040px;
        width: 100%;
        margin: 0 auto;
    }
    .connect-calendar .content {
        padding: 16px 10px 24px 10px;
    }
    .connect-calendar .cm-card.cmu-page-content {
        padding: 20px 25px;
    }
    .connect-calendar .events-calendar-form {
        gap: 12px;
        padding: 24px 12px 18px 12px;
    }
    .connect-calendar input.events-calendar-search__input {
        width: 65%;
    }
}
@media (max-width: 768px) {
    .connect-calendar .breadcrumbs {
        margin-bottom: 12px;
    }
}
@media (max-width: 545px) {
    .connect-calendar .cmu-singular-header {
        margin-bottom: 0;
    }
    .connect-calendar .ev-collapsed .flatpickr-current-month {
        padding-top: 0;
    }
    .events-list-header {
        flex-wrap: wrap;
    }
    .connect-calendar .flatpickr-current-month input.cur-year {
        padding: 0 0 2px .5ch;
    }
}
@media (max-width: 420px) {
    .connect-calendar .ev-collapsed .events-calendar-form__right {
        margin-top: 0;
        margin-bottom: 0;
    }
    .connect-calendar .cm-card.cmu-page-content {
        padding: 20px 15px;
    }
}

.cmu-popup {
    position: relative;
    background: #fff;
    padding: 24px 8px 24px 27px;
    width: auto;
    max-width: 920px;
    margin: 20px auto;
    box-sizing: border-box;
    border: 1px solid #d4def1;
    box-shadow: 0 4px 12px #3d4555;
}
.cmu-popup.modal-text_user {
    max-width: 720px;
}
.modal-users-wrap {
    display: flex;
    flex-direction: column;
    max-width: 720px;
    max-height: min(562px, calc(100vh - 40px));
    overflow: hidden;
}
.modal-users-wrap .modal-form-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    flex: 0 0 auto;
}
.modal-text_user .modal-form-heading {
    margin-bottom: 20px;
}
.modal-users-wrap .modal-form-header {
    line-height: 1.2;
}
.modal-users-wrap .modal-form-body {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 20px;
    overflow: hidden;
}
.modal-users-wrap .modal-form-body.has-fade::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    height: 72px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 91.35%);
}
.modal-text_user .modal-form-body {
    padding-right: 20px;
}
.modal-users-body {
    height: 450px;
    max-height: 100%;
    overflow: auto;
    scrollbar-color: #DCD9E7 transparent;
    scrollbar-width: thin;
}
.modal-users-body::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
.modal-users-body::-webkit-scrollbar-track {
    background: transparent;
}
.modal-users-body::-webkit-scrollbar-thumb {
    background: #DCD9E7;
    border-radius: 999px;
}
.modal-users-wrap .modal-loader {
    width: 38px;
    height: 38px;
    margin: 30px auto 0;
    border: 4px solid #E4E2E9;
    border-top-color: #2D264B;
    border-radius: 50%;
    animation: cmu-modal-loader-spin .8s linear infinite;
}
.cmu-popup .modal-loader.hide {
    display: none !important;
}
@keyframes cmu-modal-loader-spin {
    to {
        transform: rotate(360deg);
    }
}
.modal-form-header {
    font-weight: bold;
    font-size: 21px;
    line-height: 26px;
}
.modal-subscribers-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-right: 20px;
    min-width: 0;
    margin-bottom: 60px;
}
.modal-subscribers-list.category-list li:not(:last-child) {
    margin-bottom: 0;
}
.modal-subscribers-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.modal-subscribers-list__user {
    display: flex;
    align-items: center;
    min-width: 0;
}
.modal-users-wrap .category-list li img.modal-subscribers-list__avatar {
    width: 28px;
    max-width: 28px;
    height: 28px;
    min-width: 28px;
    margin-right: 8px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #E4E2E9;
}
.modal-subscribers-list__name {
    min-width: 0;
    color: #2D264B;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.modal-subscribers-list .connect-profile-card__subscribe {
    flex: 0 0 auto;
    min-height: 24px;
    min-width: 114px;
    padding: 2px 12px;
    background: #2D264B;
    border-color: #2D264B;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}
.modal-no-items-msg {
    color: #7B768F;
    font-size: 15px;
    line-height: 1.35;
}
.connect-user-subscribe.profile-subscribed {
    color: #2D264B;
    background: #E4E2E9;
    border-color: #E4E2E9;
}
.connect-user-subscribe svg {
    fill: #ffffff;
}
.connect-user-subscribe.profile-subscribed svg {
    fill: #2D264B;
}
#modal_text_user > .modal-form-body > form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#modal_text_user > .modal-form-body > form input[type="email"],
#modal_text_user > .modal-form-body > form input[type="text"],
#modal_text_user > .modal-form-body > form textarea {
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    color: #2D264B;
    background: #ffffff;
    border: 1px solid #DCD9E7;
    border-radius: 8px;
    box-shadow: none;
    font-size: 16px;
    line-height: 1.3;
}
#modal_text_user > .modal-form-body > form input[type="email"],
#modal_text_user > .modal-form-body > form input[type="text"] {
    height: 40px;
}
#modal_text_user > .modal-form-body > form textarea {
    min-height: 112px;
    resize: vertical;
}
#modal_text_user > .modal-form-body > form input[type="email"]::placeholder,
#modal_text_user > .modal-form-body > form input[type="text"]::placeholder,
#modal_text_user > .modal-form-body > form textarea::placeholder {
    color: #8A849E;
}
#modal_text_user > .modal-form-body > form input[type="email"]:focus,
#modal_text_user > .modal-form-body > form input[type="text"]:focus,
#modal_text_user > .modal-form-body > form textarea:focus {
    border-color: #BFBCCB;
    box-shadow: 0 0 0 3px rgba(45, 38, 75, 0.08);
}
#modal_text_user > .modal-form-body > form .form-privacy {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 6px;
    color: #7B768F;
    font-size: 13px;
    line-height: 1.35;
}
#modal_text_user > .modal-form-body > form .form-privacy input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin: 0;
    padding: 0;
    background: #ffffff;
    border: 1px solid #BFBCCB;
    border-radius: 4px;
}
#modal_text_user > .modal-form-body > form .form-privacy input[type="checkbox"]:checked::before {
    content: "";
    width: 8px;
    height: 5px;
    border-left: 2px solid #65B741;
    border-bottom: 2px solid #65B741;
    transform: rotate(-45deg) translate(1px, -1px);
}
#modal_text_user > .modal-form-body > form .form-privacy label {
    margin: 0;
    color: #7B768F;
    font-size: inherit;
    line-height: inherit;
}
#modal_text_user > .modal-form-body > form .form-privacy a {
    color: inherit;
    text-decoration: none;
}
#modal_text_user > .modal-form-body > form button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 38px;
    margin: 0;
    padding: 7px 18px 8px;
    color: #ffffff;
    background: #2D264B;
    border: 1px solid #2D264B;
    border-radius: 8px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 400;
    transition: opacity .2s ease;
}
#modal_text_user > .modal-form-body > form button[type="submit"]:hover {
    opacity: .75;
}
.cmu-popup .mfp-close {
    top: 14px;
}
.cmu-popup .mfp-close:active {
    top: 14px;
}
.modal-users-wrap .mfp-close {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 14px;
    height: 14px;
    margin: 3px 6px 0 0;
    padding: 0;
    line-height: 1;
}
.cmu-popup .mfp-close svg {
    width: 14px;
    height: 14px;
}
@media (max-width: 782px) {
    .modal-users-wrap {
        width: calc(100% - 24px);
        padding: 24px 20px;
    }
    .modal-users-wrap .modal-form-header {
        font-size: 19px;
    }
    .modal-users-wrap .mfp-close {
        margin-right: 0;
    }
    .modal-subscribers-list {
        gap: 20px;
        padding-right: 14px;
    }
    .modal-subscribers-list__item {
        gap: 16px;
    }
    .modal-subscribers-list__name {
        font-size: 15px;
    }
    .modal-subscribers-list .connect-profile-card__subscribe {
        padding: 6px 14px;
        font-size: 15px;
    }
}
@media (max-width: 545px) {
    .modal-subscribers-list__item {
        align-items: center;
        flex-direction: row;
    }
    .modal-subscribers-list .connect-profile-card__subscribe {
        width: 32px;
        height: 24px;
        min-height: 24px;
        min-width: 32px;
        flex-basis: 32px;
        padding: 0;
    }
}
.connect-widget-wrap:not(:last-child) {
    margin-bottom: 4px;
}
.connect-widget-inner {
    padding: 8px;
}
.connect-widget-wrap-dark {
    background: #1B1A21;
}

.enlighter-btn-website, .enlighter-default .enlighter-btn.enlighter-btn-website {
    display: none!important;
}
.last-comments-date {
    font-size: 15px;
    font-weight: normal;
    color: #7B768F;
}
.mce-toolbar .mce-ico.mce-i-simple-block-green {
    color: #3d8b30;
}
.mce-toolbar .mce-ico.mce-i-simple-block-dark {
    color: #6b4a2f;
}

.connect-services .service-banner .container,
.connect-services .services-list-wrapper .container {
    width: 100%;
}
.connect-services .cmu-singular-header {
    margin-bottom: 12px;
}
.block.service-banner {
    background-image: none;
    border-radius: 8px;
    padding: 30px 30px;
}
.connect-services .blog-detail a {
    background-image: none;
}
.service-banner__info {
    color: #111;
}
.service-banner .service-sections {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}
.service-sections__item {
    margin-bottom: 4px;
}
.service-sections__item:not(:last-child){
    margin-right: 4px;
}
.service-sections__item-link {
    display: inline-flex;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    color: #2D264B;
    padding: 8px 12px;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 1px solid #F7F6FA;
    border-radius: 8px;
    background-color: #F7F6FA;
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    text-align: center;
    text-decoration: none;
}
.service-search-wrapper {
    position: relative;
}
.service-search__btn {
    position: absolute;
    top: 2px;
    right: 2px;
    border-radius: 6px;
    line-height: 15px;
}
input[type="text"].service-search__input {
    padding: 10px 100px 10px 16px;
}
.connect-services .services-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.connect-services .services-list__item {
    width: 26%;
}
.connect-services .services-add-link {
    display: inline-flex;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    color: #2D264B;
    padding: 8px 12px;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 1px solid #F7F6FA;
    border-radius: 8px;
    background-color: #F7F6FA;
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    text-align: center;
    text-decoration: none;
}
.connect-services .services-list-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 980px;
    margin: 0 auto 20px auto;
}
.connect-services .services-list-title {
    margin: 0;
}
.connect-services .services-add-link span {
    margin-right: 3px;
}

.connect-services .services-list-wrapper {
    padding: 0;
}
.connect-services .services-list__item {
    margin: 0 1% 20px;
}
.connect-services .title-search-result {
    background: #EFEEF6;
    border-radius: 6px;
    margin: 0;
    overflow: hidden;
}
.connect-services .title-search-link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 42px;
}
.connect-services .service-banner.small-banner {
    min-height: auto;
}
.connect-services .block.service-banner {
    padding: 15px 30px 30px 30px;
}
.connect-services .title-search-title {
    margin-left: 10px;
}
.connect-services h1.service-banner__title {
    margin-top: 0;
}
.connect-services .breadcrumbs {
    background-image: none;
    word-break: normal;
    font-size: 12px;
    line-height: 1;
    color: #2D264B;
    padding: 0;
    border-radius: 8px;
}
.connect-services .breadcrumbs-item {
    padding: 8px 0;
}
.connect-services .breadcrumbs-item:not(:last-child){
    margin-right: 12px;
}
.connect-services .breadcrumbs span {
    color: inherit;
    font-size: 12px;
    line-height: 1.25;
}
.connect-services .breadcrumbs a > svg {
    margin-right: 8px;
}
.connect-services .services-list__item-links {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.connect-services .services-list__item-link {
    margin-bottom: 0;
}
@media (max-width: 1024px) {
    .connect-services .services-list__item {
        width: 30%;
    }
    .connect-services .service-search__input {
        text-indent: 0;
    }
}
@media (max-width: 768px) {
    .connect-services .services-list__item {
        width: 48%;
    }
}
@media (max-width: 545px) {
    .connect-services .services-list__item {
        width: 100%;
    }
    .connect-services .services-list__item {
        margin: 0 auto 20px auto;
    }
    .connect-services .cm-card.cmu-page-content {
        padding: 20px 16px;
    }
    .connect-services .services-list-head {
        flex-wrap: wrap;
    }
    .connect-services .services-list-title {
        width: 100%;
        margin-bottom: 12px;
    }
}

.connect-service-post .service-page .container {
    width: 100%;
}
.connect-service-post .service-page {
    padding: 0;
}
.connect-service-post .desktop-hidden {
    display: none;
}
.connect-service-reviews .service-page {
    padding: 0;
}
.connect-service-reviews h2.service-reviews-title {
    margin-top: 0;
}
/* Same gap under the content card as the catalog pagination (.pagination-ajax). */
.connect-service-reviews .pagination {
    margin-top: 25px;
}
.service-reviews-list_child {
    margin-top: 8px;
}
@media (max-width: 1024px) {
    .connect-service-post .desktop-hidden {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
    }
    .connect-service-post .service-top__right-review,
    .connect-service-post .service-top__right-link {
        flex-basis: 48%;
    }
}
@media (max-width: 545px) {
    .connect-service-post .service-top__right-review,
    .connect-service-post .service-top__right-link {
        flex-basis: 100%;
    }
}
.connect-services .service-page .breadcrumbs {
    display: inline-block;
    border: 1px solid #F7F6FA;
    background-color: #F7F6FA;
    background-image: none;
    word-break: normal;
    font-size: 12px;
    line-height: 1;
    color: #2D264B;
    padding: 8px 12px;
    border-radius: 8px;
}
.connect-service-reviews .service-page .breadcrumbs {
    display: inline-flex;
    padding: 0 17px;
    margin-left: 0;
}
.valid-form-block {
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;
}

.valid-form-block.valid-form--error {
    color: #fc1e2b;
}

.valid-form-block.valid-form--success {
    color: green;
}

/* ---------- Review modals (leave a review / reply) ---------- */
.connect-services .review-popup.white-popup {
    position: relative;
    padding: 0;
    max-width: 576px;
    border-radius: 16px;
    background: #ffffff;
    overflow: visible;
}
/* Magnific renders the close button as a "×" glyph; the previous rule zeroed
   its font-size, leaving an invisible hit area. */
.review-popup.white-popup .mfp-close {
    width: 32px;
    height: 32px;
    top: 22px;
    right: 20px;
    padding: 0;
    font-family: Arial, sans-serif;
    font-size: 28px;
    line-height: 32px;
    font-weight: 300;
    text-align: center;
    color: #7B768F;
    opacity: 1;
}
.review-popup.white-popup .mfp-close:hover {
    color: #2D264B;
}

.modal-reviews-header {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 24px 60px 20px 28px;
    border-bottom: 1px solid #EFEEF6;
    background: none;
}
.modal-reviews-title {
    margin-bottom: 0;
    font-family: "FiraSans", sans-serif;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 600;
    color: #2D264B;
}
.modal-reviews-body {
    padding: 20px 28px 24px 28px;
}

/* Criteria block */
.review-criteria {
    padding-bottom: 20px;
    border-bottom: 1px solid #EFEEF6;
}
.review-criteria__caption {
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 1.3;
    color: #7B768F;
}
.service-main__rating-stars.review-stars-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-left: 0;
    margin-bottom: 12px;
    top: 0;
}
.service-main__rating-stars.review-stars-field:last-child {
    margin-bottom: 0;
}
.review-stars-field .review-field__label {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.3;
    color: #2D264B;
}
.review-stars-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin-top: 0;
}
/* Star icons: outline by default, solid once filled. Scoped to the modal so
   the sitewide .service-rating-star sprite is not affected. */
.review-popup .service-rating-star,
.review-popup .service-rating-star + .service-rating-star {
    width: 22px;
    height: 21px;
    margin-left: 0;
    background: url('../images/icons/star-empty.svg') no-repeat center / contain;
}
.review-popup .service-rating-star.is-filled {
    background-image: url('../images/icons/star-filled.svg');
}
.service-rating-star input {
    position: absolute;
    left: -9999px;
}
.review-stars-wrapper .service-rating-star:hover {
    cursor: pointer;
}

/* Text fields */
.review-fields {
    padding-top: 20px;
}
.review-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
}
.review-field:last-child {
    margin-bottom: 0;
}
.white-popup .review-field__label {
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;
    color: #2D264B;
}
.form-wrapper .star {
    padding-left: 2px;
    font-size: 15px;
    color: #F5222D;
    opacity: 1;
}
.white-popup .review-field__input,
.white-popup .review-field__textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: #F7F6FA;
    font-size: 16px;
    line-height: 1.3;
    color: #2D264B;
}
.white-popup .review-field__input {
    height: 52px;
}
.white-popup .review-field__textarea {
    min-height: 132px;
    resize: vertical;
}
.white-popup .review-field__input:focus,
.white-popup .review-field__textarea:focus {
    border-color: #E4E2E9;
    outline: none;
}
.white-popup .review-field__input::placeholder,
.white-popup .review-field__textarea::placeholder {
    font-size: 16px;
    color: #A6A2B5;
}
.white-popup .review-field__input.error,
.white-popup .review-field__textarea.error {
    border-color: #F5222D;
}

/* Required note + privacy consent */
.review-form__note {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.3;
    color: #F5222D;
}
.review-form__privacy {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
}
.review-form__privacy input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #2FA84F;
    cursor: pointer;
}
.review-form__privacy .item-label-note {
    margin: 0;
    font-size: 14px;
    line-height: 1.3;
    color: #7B768F;
    cursor: pointer;
}
.review-form__privacy a {
    color: #7B768F;
    text-decoration: underline;
    background-image: none;
}

/* Submit result message */
.review-popup .valid-form-block {
    margin-bottom: 16px;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.35;
}
.review-popup .valid-form-block.valid-form--success {
    background: #E5F6E8;
    color: #1F7A34;
}
.review-popup .valid-form-block.valid-form--error {
    background: #FCEDED;
    color: #C7212B;
}

/* Footer buttons */
.reviews-buttons-wrapper {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 24px;
    padding-top: 0;
    border-top: 0;
}

/* Success modal (shown after a review is submitted) */
.review-success {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.review-success__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #E6F6EC;
}
.review-success__text {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
    color: #2D264B;
}
.review-success__text strong {
    font-weight: 600;
    color: #1BA94C;
}
.reviews-buttons-wrapper .cmu-btn {
    padding: 6px 24px;
    font-size: 16px;
}
.reviews-buttons-wrapper .cmu-btn:last-child {
    margin-left: 0;
}

@media (max-width: 545px) {
    .modal-reviews-header {
        padding: 20px 52px 16px 20px;
    }
    .modal-reviews-title {
        font-size: 19px;
    }
    .modal-reviews-body {
        padding: 16px 20px 20px 20px;
    }
    .service-main__rating-stars.review-stars-field {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
    .review-stars-wrapper {
        justify-content: flex-start;
    }
    .reviews-buttons-wrapper .cmu-btn {
        flex: 1 1 auto;
        justify-content: center;
        text-align: center;
        padding: 6px 22px;
    }
}
.connect-service-post .service-reviews__item-param,
.connect-service-reviews .service-reviews__item-param {
    font-size: 14px;
}
.services-wrap-link {
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    line-height: 19px;
    text-transform: uppercase;
    color: #0b5e8a;
    margin-top: 4px;
}

.service-pros-cons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    font-size: 14px;
    margin-top: 43px;
}
.service-pros-cons--single {
    grid-template-columns: minmax(0, 1fr);
}
.service-pros-cons__card {
    padding: 24px;
    border-radius: 12px;
}
.service-pros-cons__card--pros {
    background: #E5F6E8;
}
.service-pros-cons__card--cons {
    background: #FCEDED;
}
.service-pros-cons__title {
    margin: 0 0 16px;
    font-size: 19px;
    font-weight: 500;
}
.service-pros-cons__list {
    margin: 0;
}
.service-pros-cons .service-pros-cons__list {
    padding: 0;
    list-style: none;
}
.service-pros-cons .service-pros-cons__list li {
    position: relative;
    padding-left: 18px;
}
.service-pros-cons .service-pros-cons__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.8em;
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
}
.service-pros-cons__card--pros li::before {
    background: #1F9900;
}
.service-pros-cons__card--cons li::before {
    background: #CF0F0F;
}
.service-pricing {
    margin-top: 47px;
}
h2.service-pricing__title, h3.service-pricing__title {
    font-size: 22px;
}
.service-platforms {
    margin-top: 43px;
}
h2.service-platforms__title, h3.service-platforms__title {
    font-size: 22px;
}
.service-description {
    width: 100%;
    margin-top: 46px;
}
.service-description__content > h2 {
    font-size: 22px;
}
.service-description__content > :first-child {
    margin-top: 0;
}
.service-description__content > :last-child {
    margin-bottom: 0;
}
.service-platforms__item {
    padding: 10px 14px;
    background: #fff;
}
.service-platforms__item img {
    flex: 0 0 24px;
}

@media (max-width: 768px) {
    .service-pros-cons {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 24px;
    }

    .service-pros-cons__card {
        padding: 20px;
    }

    .service-pricing,
    .service-platforms,
    .service-description {
        margin-top: 16px;
    }
}

.services-reviews__item-badge {
    border: 2px solid #2D264B;
    padding: 2px 14px;
    border-radius: 12px;
    font-size: 14px;
    margin-left: 6px;
    margin-bottom: 3px;
}
.services-reviews__item-translated {
    border-color: #0b5e8a;
}
.services-reviews__author-name {
    margin-bottom: 8px;
}
.service-detail .service-main__table dt {
    white-space: nowrap;
}
.service-detail .service-main__table dd {
    text-align: right;
}
@media (max-width: 768px) {
    .service-reviews__item-user .services-reviews__item-logo {
        height: 100%;
    }
    .service-detail .service-main__table dt {
        white-space: normal;
    }
}
@media (max-width: 545px) {
    .services-reviews__author-name {
        width: 100%;
    }
    .service-detail .service-main__table dl {
        flex-wrap: wrap;
    }
    .service-detail .service-main__table dt {
        width: 100%;
    }
    .service-detail .service-main__table dd {
        width: 100%;
        margin: 4px 0 0 0;
        padding: 0;
        text-align: left;
    }
    .service-main__table dl:after {
        display: none;
    }
}

.cmm-charcount {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.2;
    color: #8a8f98;
    text-align: right;
}
.cmm-charcount__remaining {
    font-variant-numeric: tabular-nums;
}
/* ===== Web services catalog (page + category archive) ===== */
.services-catalog__intro {
    margin-bottom: 20px;
}
.services-catalog__intro > *:last-child {
    margin-bottom: 0;
}

/* Search */
.services-catalog__search {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}
.services-catalog__search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    background: url("../images/icons/icon-search.svg") no-repeat center / contain;
    opacity: 0.6;
    pointer-events: none;
}
.services-catalog__search-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    padding: 0 16px 0 42px;
    border: 1px solid #EFEEF6;
    border-radius: 10px;
    background-color: #F7F6FA;
    font-size: 14px;
    line-height: 1.2;
    color: #2D264B;
    transition: border-color 0.2s;
}
input[type="text"].services-catalog__search-input {
    padding: 7px 12px 7px 45px;
    height: auto;
    border-radius: 12px;
    background-color: #fff;
    border: 1px solid #E4E2E9;
}
.services-catalog__search-input:focus {
    outline: none;
    border-color: #C9C6DA;
}
.services-catalog__search-btn {
    flex: 0 0 auto;
    height: auto;
    border-radius: 12px;
    padding: 7px 18px;
}

/* Category pills */
.services-catalog__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 41px;
}
.services-catalog__pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 6px;
    background-color: #F7F6FA;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    color: #7B768F;
    text-decoration: none;
    transition: background-color 0.2s;
}
.services-catalog__pill:hover {
    background-color: #EFEEF6;
}
.services-catalog__pill span {
    margin-left: 4px;
    color: #7B768F;
}

/* Grid head */
.services-catalog__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.services-catalog__title {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    color: #2D264B;
}
.services-catalog-list__title {
    font-size: 28px;
    font-weight: 700;
}
.services-catalog__add {
    display: inline-flex;
    align-items: center;
    padding: 6px 20px;
    border: 1px solid #F7F6FA;
    border-radius: 10px;
    background-color: #F7F6FA;
    font-size: 15px;
    line-height: 1;
    color: #2D264B;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s;
}
.services-catalog__add:hover {
    background-color: #EFEEF6;
}
.services-catalog__add span {
    margin-left: 11px;
    font-size: 26px;
}
.services-catalog__head--has-sort + .service-review-sort {
    width: fit-content;
    margin-left: auto;
    margin-bottom: 22px;
}

/* Card list */
.services-catalog__list {
    display: block;
}
.services-catalog__item {
    padding: 20px 24px 24px 24px;
    border: 1px solid #E4E2E9;
    border-radius: 12px;
}
.services-catalog__item:not(:last-child){
    margin-bottom: 16px;
}
.services-catalog__item:last-child {
    border-bottom: 1px solid #EFEEF6;
}
.services-catalog__item-head {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}
.services-catalog__item-logo {
    flex: 0 0 auto;
    display: block;
    width: 58px;
    height: 58px;
    border-radius: 12px;
    background-color: #F7F6FA;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.services-catalog__item-headings {
    flex: 1 1 auto;
    min-width: 0;
    margin-top: 2px;
}
.services-catalog__item-title {
    display: inline-block;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    color: #2D264B;
    text-decoration: none;
}
.services-catalog__item-title:hover {
    color: #2D264B;
}
.services-catalog__item-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.services-catalog__item-cat {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 6px;
    background-color: #F7F6FA;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: #7B768F;
    text-decoration: none;
}
.services-catalog__item-cat:hover {
    color: #2D264B;
}
.services-catalog__item-rate {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    text-align: right;
    margin-top: 4px;
}
.services-catalog__rate-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
/* The rating is a link to the service; it must not look like one. */
a.services-catalog__rate-row {
    color: inherit;
    text-decoration: none;
    background-image: none;
}
a.services-catalog__rate-row:hover .services-catalog__rate-value {
    color: #6C5CE7;
}
.services-catalog__stars {
    display: inline-flex;
    gap: 0;
    font-size: 24px;
    line-height: 1;
}
.service-review-summary .services-catalog__stars {
    font-size: 20px;
}
.services-catalog__star::before {
    content: "\2605";
    color: #DDDBE6;
}
.services-catalog__star.is-filled::before {
    color: #FFB800;
}
.services-catalog__rate-value {
    font-size: 16px;
    font-weight: 600;
    color: #2D264B;
}
.services-catalog__reviews {
    font-size: 14px;
    line-height: 1;
    color: #7B768F;
    border-bottom: 1px dashed #7B768F;
    padding-bottom: 2px;
    transition: color 0.15s ease;
}
a.services-catalog__reviews:hover {
    color: #2D264B;
}
.services-catalog__item-desc {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.2;
    color: #7B768F;
}
.services-catalog__item-desc p {
    margin: 0;
}
.services-catalog__item-desc p + p {
    margin-top: 8px;
}
.services-catalog__item-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 17px;
    font-size: 17px;
    font-weight: 400;
    color: #2D264B;
    text-decoration: none;
}
.services-catalog__item-more:hover {
    color: #6C5CE7;
}
.services-catalog__item-more svg {
    display: block;
    margin-left: 4px;
}

@media (max-width: 640px) {
    .services-catalog__item {
        padding: 16px 15px;
        border-radius: 8px;
    }
    .services-catalog__pills {
        margin-bottom: 23px;
    }
    .services-catalog h1 {
        font-size: 26px;
    }
    .services-catalog__intro {
        font-size: 15px;
    }
    .load-more-services-catalog .services-catalog__head {
        display: none;
    }
    .load-more-services-catalog .services-catalog__head--has-sort {
        display: flex;
        margin-bottom: 15px;
    }
    .load-more-services-catalog .services-catalog__head--has-sort .services-catalog__title,
    .load-more-services-catalog .services-catalog__head--has-sort .services-catalog__add {
        display: none;
    }

    .services-catalog__search {
        flex-wrap: nowrap;
        gap: 0;
        margin-bottom: 15px;
    }
    .services-catalog__search-btn {
        display: none;
    }
    input[type="text"].services-catalog__search-input {
        width: 100%;
        height: 40px;
        /* 16px keeps iOS from zooming the page on focus. */
        font-size: 16px;
        padding: 7px 16px 7px 44px;
        border-radius: 12px;
    }
    .services-catalog__search-icon {
        left: 17px;
        width: 18px;
        height: 18px;
        opacity: 1;
    }
    .services-catalog__item-head {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas:
            "logo title rate"
            "cats cats cats";
        column-gap: 13px;
        align-items: start;
    }
    .services-catalog__item-headings {
        display: contents;
    }
    .services-catalog__item-logo {
        grid-area: logo;
        width: 40px;
        height: 40px;
    }
    .services-catalog__item-title {
        grid-area: title;
        font-size: 20px;
        margin-left: 12px;
    }
    .services-catalog__item-cats {
        grid-area: cats;
        margin-top: 9px;
    }
    .services-catalog__item-head {
        gap: 0;
    }

    .services-catalog__item-rate {
        grid-area: rate;
        flex-direction: column;
        align-items: flex-end;
        justify-content: flex-start;
        text-align: right;
        gap: 4px;
        margin-top: 2px;
    }
    .services-catalog__item-rate .services-catalog__star:not(:first-child) {
        display: none;
    }
    .services-catalog__item-rate .services-catalog__star::before {
        color: #FFB800;
    }
    .services-catalog__item-rate .services-catalog__stars {
        font-size: 17px;
    }
    .services-catalog__item-rate .services-catalog__rate-row {
        gap: 5px;
    }
    .services-catalog__item-rate .services-catalog__rate-value {
        font-size: 17px;
    }
    .services-catalog__reviews {
        font-size: 13px;
    }

    .services-catalog__item-more {
        font-size: 16px;
        margin-top: 10px;
    }
    .services-catalog__item:not(:last-child) {
        margin-bottom: 12px;
    }
}

@media (max-width: 379.98px) {
    .services-catalog__item-head {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
}

.cmm-charcount--over {
    color: #e02d3c;
    font-weight: 600;
}

.connect-service-post .connect-service-block {
    margin-top: 24px;
    padding: 30px 28px 28px 28px;
    margin-bottom: 0;
}

.service-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}
.service-badge.is-yes {
    color: #1E8E4E;
    background-color: #E7F6EE;
}
.service-badge.is-no {
    color: #7B768F;
    background-color: #F1F0F5;
}

/* Header */
.service-head {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 16px;
}
.service-head__logo {
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background-color: #F7F6FA;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.connect-service-card .service-head__logo {
    width: 72px;
    height: 72px;
}
.service-head__body {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.service-head__titlerow {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}
.service-head__title {
    width: 100%;
    margin: 6px 0 6px 0;
    font-size: 28px;
    line-height: 1.2;
    color: #2D264B;
}
.service-head__rating {
    display: flex;
    align-items: center;
    margin: 4px 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    text-align: right;
}
.service-head__rating-value {
    font-size: 16px;
    font-weight: 600;
    color: #2D264B;
    margin-left: 7px;
}
.service-head__reviews {
    width: 100%;
    font-size: 13px;
    line-height: 1;
    color: #7B768F;
}
.service-head__reviews > span {
    border-bottom: 1px dashed #7B768F;
}
.service-head__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.service-head__cat {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 6px;
    background-color: #F7F6FA;
    font-size: 12px;
    line-height: 1;
    color: #7B768F;
    text-decoration: none;
}
.service-head__cat:hover {
    color: #2D264B;
}
.service-page__excerpt {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.6;
    color: #4b465f;
}

/* Free version / API facts */
.service-facts {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}
.service-fact {
    padding: 14px 16px;
    border-radius: 12px;
    background: #F7F6FA;
}
.service-fact__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.service-fact__name {
    font-size: 15px;
    font-weight: 600;
    color: #2D264B;
}
.service-fact__empty {
    font-size: 13px;
    color: #A9A5B8;
}
.service-fact__desc {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.5;
    color: #7B768F;
    padding: 10px 10px;
    background: #fff;
    border-radius: 8px;
}
.service-fact__desc > svg {
    margin-top: 4px;
    margin-right: 5px;
}

/* Screenshot */
.service-page__image {
    margin-bottom: 24px;
    border-radius: 12px;
    border: 1px solid #E4E2E9;
    overflow: hidden;
}
.service__image-wrapper {
    border-radius: 12px;
    border: 1px solid #E4E2E9;
    overflow: hidden;
}
.service-page__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/* Platforms Да/Нет list */
.service-platforms__list {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
}
.service-platforms__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid #EFEEF6;
}
.service-platforms__item:first-child {
    border-top: 0;
}
.service-platforms__name {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #2D264B;
}
.service-platforms__preview {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #EFEEF6;
    border-radius: 8px;
    padding: 6px;
    width: 28px;
    height: 28px;
}
.service-platforms__name img {
    display: block;
}

.services-catalog--analogs .services-catalog__item--compact {
    padding: 16px 16px;
}
.services-catalog__item--compact .services-catalog__item-head {
    align-items: center;
}

.service-mentions__list .cm-card,
.service-mentions__list .cm-term-card {
    margin: 0 0 12px 0;
    padding: 6px 20px;
    background: transparent;
    border-radius: 12px;
    border: 1px solid #E4E2E9;
    box-shadow: none;
}
.service-mentions__list .cm-term-card:last-child {
    margin-bottom: 0;
}
.service-mentions__spoiler .cm-card:first-of-type {
    margin-top: 10px;
}
.service-mentions__list img.cm-term-card-preview {
    border-radius: 8px;
}
.service-mentions__spoiler {
    display: flex;
    flex-direction: column;
}
.service-mentions__spoiler[open] > summary {
    order: 2;
}
.service-mentions__spoiler > summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 0 0;
    border-top: 1px solid #EFEEF6;
    color: #2D264B;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    transition: color 0.15s ease;
}
.service-mentions__spoiler > summary::-webkit-details-marker {
    display: none;
}
.service-mentions__spoiler > summary::marker {
    content: "";
}
.service-mentions__spoiler > summary:hover {
    color: #827D95;
}
.service-mentions__spoiler-less {
    display: none;
}
.service-mentions__spoiler[open] > summary .service-mentions__spoiler-more {
    display: none;
}
.service-mentions__spoiler[open] > summary .service-mentions__spoiler-less {
    display: inline;
}

/* Reviews header */
.service-reviews-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.service-reviews-head .service-reviews-title {
    font-size: 22px;
    margin: 0;
}
.service-reviews-head .service-reviews-link {
    flex: 0 0 auto;
    white-space: nowrap;
}
.service-reviews-head .service-reviews-link svg {
    margin-left: 12px;
}

/* ===== Service right sidebar ===== */
.service-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.service-sidebar__card {
    background: #ffffff;
    border-radius: 16px;
    padding: 20px;
}
.service-sidebar__yours {
    padding: 17px 17px;
}
.service-sidebar__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.service-sidebar__logo {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background-color: #F7F6FA;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.service-sidebar__name {
    font-size: 19px;
    font-weight: 500;
    color: #2D264B;
}
.service-sidebar__link {
    width: 100%;
    justify-content: center;
    margin-bottom: 16px;
}
.service-sidebar__promo {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 15px 12px 9px 12px;
    margin-bottom: 16px;
    border: 1px dashed #C9C6DA;
    border-radius: 10px;
    background-color: #F7F6FA;
}
.service-sidebar__promo-label {
    font-size: 12px;
    line-height: 1;
    color: #7B768F;
}
.service-sidebar__promo-code {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #2D264B;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
}
.service-sidebar__promo-code:hover {
    border-color: #6C5CE7;
}
.service-sidebar__promo-code.is-copied {
    border-color: #1E8E4E;
    color: #1E8E4E;
}
.service-sidebar__promo-empty {
    padding: 10px 14px;
    border-radius: 10px;
    background-color: #F7F6FA;
    color: #A9A5B8;
    font-size: 13px;
}
.service-sidebar__params {
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-top: 1px solid #E4E2E9;
    padding-top: 16px;
}
.service-sidebar__param {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.service-sidebar__param-label {
    font-size: 13px;
    color: #4b465f;
}

.service-mobile-head {
    display: none;
}
.service-review-sort__icon {
    display: none;
}
@media (max-width: 900px) {
    .service-mobile-head {
        display: block;
        padding: 20px 16px;
        margin-bottom: 12px;
    }
    .service-mobile-head__top {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 14px;
    }
    .service-mobile-head__logo {
        flex: 0 0 auto;
        width: 64px;
        height: 64px;
        border-radius: 16px;
        background-color: #F7F6FA;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .service-mobile-head__titles {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        min-width: 0;
    }
    .service-mobile-head__name {
        font-size: 24px;
        line-height: 1.15;
        font-weight: 700;
        color: #2D264B;
        word-break: break-word;
    }
    .service-mobile-head__titles .service-head__cats {
        margin: 0;
    }
    .service-mobile-head__titles .service-head__cat {
        font-size: 13px;
        padding: 6px 12px;
        border-radius: 8px;
    }
    .service-mobile-head .service-head__rating {
        margin: 0 0 16px 0;
        justify-content: flex-start;
        text-align: left;
        gap: 8px;
    }
    .service-mobile-head .service-head__rating-value {
        font-size: 17px;
    }
    .service-mobile-head .service-head__reviews {
        width: auto;
        font-size: 15px;
        padding-left: 8px;
        border-left: 1px solid #E4E2E9;
    }
    .service-mobile-head__btn {
        display: flex;
        width: 100%;
        justify-content: center;
        margin-bottom: 10px;
        font-size: 16px;
        padding: 7px 20px;
    }
    .service-mobile-head__promo {
        margin-top: 6px;
        margin-bottom: 0;
    }
    .service-mobile-head .service-sidebar__params {
        margin-top: 16px;
        gap: 14px;
    }
    .service-mobile-head .service-sidebar__param-label {
        font-size: 15px;
    }

    .service-mobile-head__btn-row {
        display: flex;
        gap: 8px;
    }
    .service-mobile-head__btn-row .service-mobile-head__btn {
        flex: 1 1 0;
        min-width: 0;
        padding: 7px 10px;
        text-align: center;
    }

    .connect-service-reviews .service-review-header,
    .connect-service-reviews .service-review-summary,
    .connect-service-reviews .service-sidebar__info,
    .connect-service-reviews .service-sidebar__rate {
        display: none;
    }
    .connect-service-reviews .service-review-listhead {
        flex-wrap: nowrap;
        margin-bottom: 12px;
    }
    .connect-service-reviews .service-review-listhead__title {
        min-width: 0;
    }
    .connect-service-reviews .service-review-sort {
        flex: 0 0 auto;
    }
    .service-review-sort__toggle {
        gap: 0;
        box-sizing: border-box;
        width: 28px;
        height: 28px;
        padding: 4px;
        justify-content: center;
        border-radius: 6px;
        background: #EFEEF6;
    }
    .service-review-sort__current,
    .service-review-sort__arrow {
        display: none;
    }
    .service-review-sort__icon {
        display: block;
        width: 15px;
        height: 14px;
    }

    .connect-service-post .connect-service-card .service-head,
    .connect-service-post .service-sidebar__info,
    .connect-service-post .service-sidebar__rate {
        display: none;
    }
}
.service-sidebar__rate-title,
.service-sidebar__yours-title {
    font-size: 16px;
    font-weight: 600;
    color: #2D264B;
    margin-bottom: 8px;
}
.service-sidebar__rate-text,
.service-sidebar__yours-text {
    font-size: 13px;
    line-height: 1.5;
    color: #7B768F;
    margin-bottom: 14px;
}
.service-sidebar__rate-btn {
    width: 100%;
    justify-content: center;
}
.service-sidebar__yours-title {
    margin-bottom: 2px;
}
.service-sidebar__yours-text {
    line-height: 1.4;
    margin-bottom: 2px;
}
.service-sidebar__yours-link {
    display: inline-flex;
    font-size: 14px;
    font-weight: 500;
    color: #6C5CE7;
    text-decoration: none;
}
.service-sidebar__yours-link:hover {
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .connect-service-post .service-head__title {
        font-size: 22px;
    }
}

.service-review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
}
.service-review-header__left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.service-review-header__title {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: #2D264B;
    text-decoration: none;
}
.service-review-header__title:hover {
    color: #6C5CE7;
}
.service-review-header__btn {
    flex: 0 0 auto;
}

/* Rating summary */
.service-review-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    padding: 14px 16px 14px 24px;
    border-radius: 12px;
    background: #F7F6FA;
    margin-bottom: 46px;
}
.service-review-summary__overall {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 6px;
    min-width: 110px;
    text-align: left;
}
.service-review-summary__value {
    font-size: 46px;
    font-weight: 700;
    line-height: 1;
    color: #2D264B;
}
.service-review-summary__count {
    font-size: 13px;
    color: #7B768F;
}
.service-review-summary__count span {
    border-bottom: 1px dashed #7B768F;
}
.service-review-summary__criteria {
    flex: 1 1 260px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: #fff;
    padding: 8px 15px;
    border-radius: 8px;
}

.review-card__criterion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.review-card__criterion-name {
    font-size: 13px;
    color: #4b465f;
}
.review-dashes {
    display: inline-flex;
    gap: 4px;
    flex: 0 0 auto;
}
.review-dash {
    width: 16px;
    height: 4px;
    border-radius: 2px;
    background: #E0DEE8;
}
.review-dash.is-filled {
    background: #FFB800;
}

.service-review-listhead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.service-review-listhead__title {
    margin: 0;
    font-size: 22px;
    color: #2D264B;
}
.service-review-sort {
    position: relative;
    white-space: nowrap;
}
.service-review-sort__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    font-size: 17px;
    line-height: 1.3;
    color: #2D264B;
    cursor: pointer;
}
.service-review-sort__arrow {
    transition: transform 0.15s ease;
}
.service-review-sort.is-open .service-review-sort__arrow {
    transform: rotate(180deg);
}
.service-review-sort__list {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 10;
    min-width: 100%;
    padding: 12px;
    border: 1px solid #E4E2E9;
    border-radius: 12px;
    background: #F7F6FA;
    box-shadow: 1px 3px 8px 0 #2D264B26;
}
.service-review-sort.is-open .service-review-sort__list {
    display: block;
}
.service-review-sort__option {
    display: block;
    padding: 6px 32px 6px 8px;
    border-radius: 10px;
    font-size: 17px;
    line-height: 1.3;
    color: #2D264B;
    text-decoration: none;
    background-image: none;
}
.service-review-sort__option:hover {
    text-decoration: none;
    background-color: #EFEEF6;
}
.service-review-sort__option.is-active {
    background-color: #E4E2E9;
}
.service-reviews {
    border-top: 1px solid #E4E2E9;
}

.review-card {
    padding: 24px 0 30px 0;
    border-top: 1px solid #EFEEF6;
}
.service-reviews-list > .review-card:first-child {
    border-top: 0;
    padding-top: 8px;
}
.review-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.review-card__user {
    display: flex;
    align-items: center;
    gap: 10px;
}
.review-card__avatar {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    background: #F1F0F5;
    color: #CCCCCC;
}
.review-card__avatar svg {
    display: block;
    width: 100%;
    height: 100%;
}
.review-card__name {
    font-size: 15px;
    font-weight: 600;
    color: #2D264B;
}
.review-card__score {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.review-card__score-star {
    display: block;
}
.review-card__score-value {
    font-size: 16px;
    font-weight: 600;
    color: #2D264B;
    margin-left: 3px;
}
.review-card__criteria {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 14px 0;
    padding: 7px 19px;
    border: 1px solid #EFEEF6;
    border-radius: 12px;
}
.review-card__text {
    margin: 12px 0;
    font-size: 15px;
    line-height: 1.2;
    color: #2D264B;
}
.review-card__text p {
    margin: 0 0 8px;
    line-height: 1.2;
}
.review-card__text p:last-child {
    margin: 0;
}
.review-card__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}
.review-card__date {
    font-size: 15px;
    line-height: 1;
    color: #7B768F;
}
.review-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 6px;
    background: #F7F6FA;
    font-size: 12px;
    line-height: 1.2;
    color: #7B768F;
}
.review-card__badge--source {
    color: #1E8E4E;
    background: #E7F6EE;
    text-transform: capitalize;
}
.review-card__badge--source > svg {
    margin-right: 3px;
}
.review-card__reply {
    margin-left: auto;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    color: #2D264B;
    text-decoration: none;
}
.review-card__reply:hover {
    color: #6C5CE7;
}
.review-card__replies {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 26px;
    padding-left: 30px;
}
.review-card--reply {
    padding: 0;
    border-top: 0;
    margin-bottom: 12px;
}
.review-card--reply .review-card__avatar {
    width: 28px;
    height: 28px;
}

.service-sidebar__review-link {
    width: 100%;
    justify-content: center;
    margin-bottom: 16px;
}

.main-services .service__images {
    flex-wrap: wrap;
    gap: 10px;
}
.main-services .service__image-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 108px;
    height: 70px;
    margin: 0;
}
.main-services .service__images__item {
    object-fit: cover;
}

@media (max-width: 768px) {
    .service-review-header__title {
        font-size: 20px;
    }
    .service-review-summary {
        gap: 16px;
        padding: 16px;
    }
    .review-card__criterion {
        gap: 10px;
    }
    .service-review-listhead__title {
        font-size: 20px;
    }
}