/* Marquee */
.clients-marquee .section-title {
    text-align: center;
}

.develop-marquee {
    padding-top: 60px;
}

.marquee {
    position: relative;
    overflow: hidden;
}

.marquee__line:not(.str_wrap),
.marquee .str_move {
    display: flex;
    padding: 10px 0;
    background-color: #fff;
    align-items: flex-start;
    color: #fff;
    position: absolute;
}

.marquee__item {
    transition: .5s;
    position: relative;
    flex-shrink: 0;
    padding: 0 50px 20px;
    width: 320px;
    text-align: center;
    font-size: 16px;
    line-height: 20px;
    color: #A2A2A2;
    white-space: normal;
}

.marquee__item span {
    display: block;
    position: relative;
    height: auto;
    margin-bottom: 10px;
    width: 100%;
}

.marquee__item img {
    transition: .5s;
    width: 100%;
    height: 125px;
    object-fit: contain;
}

.marquee__item img.colored {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
}

.marquee__item:hover {
    color: #2D2D2D;
}

.marquee__item:hover img.colored {
    opacity: 1;
}

.marquee .js-marquee-wrapper {
    width: 100% !important;
}

@media screen and (max-width: 1440px) {
    .develop-marquee {
        padding-top: 60px;
        padding-bottom: 80px;
    }

    .marquee__item {
        width: 25vw;
    }
}

@media screen and (max-width: 767px) {
    .develop-marquee {
        padding-top: 0;
        padding-bottom: 0;
    }

    .clients-marquee .section-title {
        margin-bottom: 30px;
    }

    .marquee__item {
        width: 240px;
        padding: 0 30px;
        font-size: 16px;
    }
}

/* Home blocks: places, managers */
.places .block-title,
.managers .block-title {
    color: #0A0A0A;
    font-size: 80px;
    font-style: normal;
    font-weight: 400;
    line-height: 80px;
}

.places .block-title span {
    color: #23BD87;
}

.places {
    margin: 120px 0;
}

.top-places {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-top: 100px;
}

.wrap-top-places-left {
    display: flex;
    flex-direction: column;
    gap: 33px;
}

.wrap-top-places-left p {
    color: #0A0A0A;
    font-size: 120px;
    font-style: normal;
    font-weight: 400;
    line-height: 120px;
    letter-spacing: -3.6px;
    margin: 0;
}

.wrap-top-places-left span {
    color: #0A0A0A;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    opacity: 0.6;
}

.places .block-btn {
    cursor: pointer;
    width: fit-content;
    position: relative;
    color: #2D2D2D;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px;
    padding-right: 72px;
    transition: all 0.3s;
    text-decoration: none;
}

.places .block-btn img {
    position: absolute;
    right: 0;
    top: -51px;
    border-radius: 24px;
    transition: all 0.3s;
}

.places .block-btn:hover img {
    right: -11px;
    top: -62px;
    background: #F6F6F6;
}

.wrap-places-items {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 116px;
}

.places-item {
    display: flex;
    flex-direction: column;
    border-radius: 50px;
    background: #F6F6F6;
    width: calc(33.3333% - 20px);
    min-height: 554px;
    padding: 60px 60px 56px;
}

.places-item h3 {
    color: #0A0A0A;
    font-size: 80px;
    font-style: normal;
    font-weight: 500;
    line-height: 80px;
    letter-spacing: -2.4px;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.places-item h3 sup {
    position: relative;
    top: -31px;
    opacity: 0.32;
    color: #0A0A0A;
    font-size: 44px;
    font-style: normal;
    font-weight: 500;
    line-height: 44px;
    letter-spacing: -1.32px;
    text-transform: uppercase;
}

.places-item p {
    color: rgba(10, 10, 10, 0.44);
    font-family: "Open Sans", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 44px;
    letter-spacing: 0.18px;
    margin: 0;
}

.places-item p a {
    color: #0A0A0A;
    font-family: "Open Sans", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 44px;
    letter-spacing: 0.18px;
    margin-bottom: 10px;
    text-decoration: underline;
    text-decoration-color: #909090;
    text-decoration-thickness: 1px;
    text-underline-offset: 8px;
    transition: all 0.3s;
}

.places-item p a:hover {
    text-decoration-color: #23BD87;
}

.places-item img {
    width: fit-content;
    margin-top: auto;
}

.places-item:nth-child(1) img,
.places-item:nth-child(2) img,
.places-item:nth-child(3) img,
.places-item:nth-child(4) img {
    max-width: 51px;
}

.places-item:nth-child(5) img {
    max-width: 122px;
}

.places-item:nth-child(6) img {
    max-width: 250px;
}

.managers {
    margin: 120px 0;
}

.managers h2 {
    margin-bottom: 80px;
}

.wrap-managers-items {
    display: flex;
    flex-wrap: wrap;
    gap: 58px 262px;
    justify-content: center;
}

.managers-item {
    width: 584px;
}

.managers-item img {
    width: 100%;
    border-radius: 40px;
    height: auto;
    margin-bottom: 41px;
    transition: all 0.3s;
}

.managers-item:hover img {
    transform: scale(1.08);
}

.managers-item p {
    color: #0A0A0A;
    font-size: 45px;
    font-style: normal;
    font-weight: 500;
    line-height: 44px;
    margin: 0;
}

.managers-item:nth-child(even) {
    padding-top: 100px;
}

.managers-item p span {
    display: block;
    color: #0A0A0A;
    font-family: "Open Sans", sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    opacity: 0.6;
    margin-top: 24px;
}

@media screen and (max-width: 1740px) {
    .places .block-title,
    .managers .block-title {
        font-size: 60px;
        line-height: 60px;
    }

    .places {
        margin: 100px 0;
    }

    .wrap-top-places-left p {
        font-size: 100px;
        line-height: 100px;
        letter-spacing: -3px;
    }

    .top-places {
        margin-top: 85px;
    }

    .wrap-top-places-left span {
        font-size: 26px;
        line-height: 26px;
    }

    .wrap-top-places-left {
        gap: 28px;
    }

    .wrap-places-items {
        margin-top: 124px;
    }

    .places-item {
        min-height: 410px;
        padding: 39px 29px 56px;
    }

    .places-item h3 {
        font-size: 60px;
        line-height: 60px;
        letter-spacing: -1.6px;
        margin-bottom: 20px;
    }

    .places-item h3 sup {
        top: -21px;
        font-size: 32px;
        line-height: 32px;
    }

    .places-item p,
    .places-item p a {
        font-size: 20px;
        line-height: 36px;
        letter-spacing: 0.15px;
    }

    .places .block-btn {
        font-size: 24px;
    }

    .managers {
        margin: 100px 0;
    }

    .managers h2 {
        margin-bottom: 58px;
    }

    .managers-item {
        width: 438px;
    }

    .wrap-managers-items {
        gap: 77px 184px;
    }

    .managers-item img {
        border-radius: 30px;
        margin-bottom: 27px;
    }

    .managers-item p {
        font-size: 40px;
    }

    .managers-item p span {
        font-size: 24px;
        line-height: 25px;
        margin-top: 16px;
    }

    .managers-item:nth-child(even) {
        padding-top: 42px;
    }
}

@media screen and (max-width: 1300px) {
    .places .block-title,
    .managers .block-title {
        font-size: 48px;
        line-height: 48px;
    }

    .places {
        margin: 80px 0;
    }

    .wrap-top-places-left p {
        font-size: 81px;
    }

    .top-places {
        margin-top: 36px;
    }

    .wrap-top-places-left span {
        font-size: 22px;
    }

    .wrap-top-places-left {
        gap: 13px;
    }

    .places .block-btn {
        font-size: 20px;
        padding-right: 35px;
    }

    .places .block-btn img {
        right: -9px;
        top: -20px;
        width: 42px;
        height: 42px;
    }

    .wrap-places-items {
        margin-top: 55px;
    }

    .places-item {
        width: calc(50% - 15px);
        min-height: 339px;
        padding: 38px 30px;
        border-radius: 35px;
    }

    .places-item h3 {
        font-size: 50px;
        line-height: 52px;
        letter-spacing: -1.5px;
        margin-bottom: 15px;
    }

    .places-item h3 sup {
        top: -17px;
    }

    .places-item p {
        font-size: 18px;
        line-height: 32px;
        letter-spacing: 0.135px;
    }

    .places-item p br {
        display: none;
    }

    .places-item p a {
        font-size: 18px;
        line-height: 31px;
        letter-spacing: 0.135px;
        text-underline-offset: 4px;
    }

    .places-item:nth-child(1) img,
    .places-item:nth-child(2) img,
    .places-item:nth-child(3) img,
    .places-item:nth-child(4) img {
        max-width: 42px;
    }

    .places-item:nth-child(5) img {
        max-width: 106px;
    }

    .places-item:nth-child(6) img {
        max-width: 216px;
    }

    .managers {
        margin: 80px 0;
    }

    .managers h2 {
        margin-bottom: 50px;
    }

    .wrap-managers-items {
        gap: 40px;
        flex-direction: column;
        align-items: center;
    }

    .managers-item:nth-child(even) {
        padding-top: 0;
    }
}

@media screen and (max-width: 720px) {
    .places .block-title,
    .managers .block-title {
        font-size: 37px;
        line-height: 36px;
    }

    .places {
        margin: 60px 0;
    }

    .wrap-top-places-left p {
        letter-spacing: 0;
        line-height: 40px;
        font-size: 58px;
        margin-bottom: 24px;
        font-weight: 500;
    }

    .top-places {
        margin-top: 44px;
        flex-direction: column;
        align-items: flex-start;
    }

    .top-places .block-btn {
        margin-left: auto;
    }

    .wrap-top-places-left span {
        font-size: 24px;
    }

    .places .block-title {
        font-size: 42px;
        line-height: 40px;
        font-weight: 500;
    }

    .places .block-btn {
        font-size: 18px;
        padding-right: 43px;
    }

    .wrap-places-items {
        margin-top: 40px;
        gap: 10px;
    }

    .places-item {
        width: 100%;
        min-height: auto;
        height: calc(100vw - 20px);
        padding: 27px 18px;
        border-radius: 20px;
    }

    .places-item h3 {
        font-size: 44px;
        line-height: 44px;
        letter-spacing: -0.72px;
        margin-bottom: 6px;
    }

    .places-item h3 sup {
        top: -14px;
        font-size: 30px;
        line-height: 30px;
        letter-spacing: -0.32px;
    }

    .places-item p,
    .places-item p a {
        font-size: 18px;
        line-height: 29px;
        letter-spacing: 0.135px;
    }

    .places-item p a {
        text-underline-offset: 1px;
    }

    .wrap-top-places-left {
        gap: 7px;
    }

    .places-item:nth-child(1) img,
    .places-item:nth-child(2) img,
    .places-item:nth-child(3) img,
    .places-item:nth-child(4) img {
        max-width: 55px;
    }

    .places-item:nth-child(5) img {
        max-width: 135px;
    }

    .places-item:nth-child(6) img {
        max-width: 220px;
    }

    .managers {
        margin: 60px 0;
    }

    .managers h2 {
        margin-bottom: 39px;
        font-weight: 500;
    }

    .managers-item {
        width: 100%;
        max-width: 320px;
    }

    .managers-item p {
        font-size: 32px;
        line-height: 36px;
    }

    .managers-item p span {
        font-size: 18px;
        line-height: 22px;
        margin-top: 12px;
    }
}

/* Home blocks: instruments, certificates */
.instruments .block-title,
.certificates .block-title {
    color: #0A0A0A;
    font-size: 80px;
    font-style: normal;
    font-weight: 400;
    line-height: 80px;
}

.instruments {
    margin: 120px 0;
}

.wrap-instruments-items {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 81px;
}

.instruments-item {
    width: calc(25% - 23px);
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    background: #F8F9FA;
    height: 248px;
}

.instruments-item img {
    max-width: 95%;
    height: auto;
    width: auto;
    opacity: 0.5;
    max-height: 95%;
    transition: all 0.3s;
}

.instruments-item:hover img {
    opacity: 1;
}

.certificates {
    margin: 120px 0;
}

.wrap-cert-items {
    display: flex;
    margin-top: 80px;
    gap: 28px;
    margin-bottom: 53px;
}

.wrap-cert-items > .wrap-cert-items {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.cert-item {
    width: calc(25% - 21px);
    box-shadow: 0 0 23.664px 0 rgba(0, 0, 0, 0.08);
    display: block;
}

.cert-hidden {
    display: none;
}

.cert-item img {
    width: 100%;
    height: auto;
    display: block;
}

.cert-btn {
    width: 236px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 32px;
    border: 1px solid #23BD87;
    color: #23BD87;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    transition: all 0.3s;
    margin: auto;
    text-decoration: none;
}

.cert-btn:hover {
    background: #23BD87;
    color: #fff;
}

@media screen and (max-width: 1740px) {
    .instruments .block-title,
    .certificates .block-title {
        font-size: 60px;
        line-height: 60px;
    }

    .instruments {
        margin: 100px 0;
    }

    .instruments-item {
        height: 182px;
    }

    .instruments-item img {
        max-width: 64%;
        max-height: 48%;
    }

    .certificates {
        margin: 100px 0;
    }

    .cert-btn {
        width: 199px;
        height: 61px;
        font-size: 16px;
    }
}

@media screen and (max-width: 1300px) {
    .instruments .block-title,
    .certificates .block-title {
        font-size: 48px;
        line-height: 48px;
    }

    .instruments {
        margin: 80px 0;
    }

    .instruments-item {
        width: calc(33.3333% - 20px);
        height: 160px;
        border-radius: 30px;
    }

    .wrap-cert-items {
        margin-top: 49px;
        gap: 20px;
        margin-bottom: 47px;
        flex-wrap: wrap;
    }

    .cert-item {
        width: calc(50% - 10px);
    }

    .cert-btn {
        width: 168px;
        height: 58px;
        font-size: 14px;
    }
}

@media screen and (max-width: 720px) {
    .instruments .block-title,
    .certificates .block-title {
        font-size: 37px;
        line-height: 36px;
    }

    .instruments {
        margin: 60px 0;
    }

    .wrap-instruments-items {
        margin-top: 40px;
        gap: 10px;
    }

    .instruments-item {
        width: calc(50% - 5px);
        height: 120px;
        border-radius: 20px;
    }

    .instruments-item img {
        max-width: 70%;
        max-height: 60%;
    }

    .certificates {
        margin: 60px 0;
    }

    .certificates .block-title {
        font-size: 40px;
        line-height: 40px;
    }

    .wrap-cert-items {
        margin-top: 39px;
    }

    .cert-item {
        width: calc(50% - 10px);
    }

    .cert-btn {
        width: 168px;
        height: 49px;
        font-size: 16px;
    }
}

/* FAQ */
.index-faq {
    position: relative;
    background: url(/img/main/index-faq.svg) no-repeat 0 0 / cover;
    padding-top: 6.7708vw;
    padding-bottom: 7.8125vw;
}

.index-faq .container {
    max-width: 1920px;
    margin: 0 auto;
}

.index-faq__items {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.index-faq__items-col {
    width: 50%;
    padding-left: 15px;
    padding-right: 15px;
}

.index-faq__item {
    margin: -1px 0 0;
    border-top: 1px solid #23BD87;
    border-bottom: 1px solid #23BD87;
}

.index-faq__item-title {
    font-size: 1.0417vw;
    text-transform: uppercase;
    height: 4.7917vw;
    font-weight: 700;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.index-faq__item-title::after {
    content: '';
    display: block;
    width: 1.6145vw;
    height: 1.6145vw;
    background: url(/img/main/icon-plus.svg) no-repeat 50% 50%;
    margin-left: 10px;
    transition: .5s;
    flex-shrink: 0;
}

.index-faq__item-title:hover::after {
    transform: rotate(360deg);
    transition: 0.8s;
}

.index-faq__item.opened .index-faq__item-title:hover::after {
    transform: rotate(0deg);
}

.index-faq__item-text {
    padding: 0 20px 20px;
    font-size: 0.8333vw;
    line-height: 1.25vw;
    font-family: "Open Sans", sans-serif;
}

.index-faq__item-text h3 {
    font-family: "Merel", sans-serif;
}

.index-faq__item-text ul {
    padding-left: 20px;
}

.index-faq__item.opened .index-faq__item-title::after {
    height: 1px;
}

@media (max-width: 991px) {
    .index-faq__items-col {
        width: 100%;
    }

    .index-faq__item-title {
        height: auto;
        font-size: 16px;
        padding: 10px;
    }

    .index-faq__item-title::after {
        width: 25px;
        height: 25px;
    }

    .index-faq__item-text {
        font-size: 14px;
        line-height: 20px;
        padding: 0 10px 10px;
    }
}

@media (max-width: 768px) {
    .index-faq {
        padding-top: 60px;
        padding-bottom: 60px;
        margin-bottom: 60px;
    }
}

@media (min-width: 1920px) {
    .index-faq {
        padding-top: 130px;
        padding-bottom: 150px;
    }

    .index-faq .container {
        max-width: 1920px;
        margin: 0 auto;
    }

    .index-faq__item-title {
        height: 92px;
        font-size: 20px;
    }

    .index-faq__item-text {
        font-size: 16px;
        line-height: 24px;
    }

    .index-faq__item-title::after {
        width: 31px;
        height: 31px;
    }
}

/* Index ipos text */
.index-ipos-text {
    padding-top: 6.7708vw;
    padding-bottom: 6.7708vw;
    font-family: "Open Sans", sans-serif;
}

.index-ipos-text .row {
    margin-left: -15px;
    margin-right: -15px;
    display: flex;
    flex-wrap: wrap;
}

.index-ipos-text .row .col-12 {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

.index-ipos-text__footer {
    background: #F6F6F6;
    padding: 2.0833vw 0;
    margin-top: 2.0833vw;
}

.index-ipos-text h2,
.index-ipos-text h3 {
    font-family: "Merel", sans-serif;
}

.index-ipos-text h3 {
    font-size: 1.5625vw;
    margin: 0 0 1.0416vw;
}

.index-ipos-text p,
.index-ipos-text li {
    font-size: 0.8333vw;
    line-height: 1.25vw;
}

.index-ipos-text li {
    margin-bottom: 10px;
    display: flex;
}

.index-ipos-text ul {
    padding-left: 0;
}

.index-ipos-text ul li::marker {
    content: '';
}

.index-ipos-text ul li::before {
    content: '';
    display: block;
    background: #23BD87;
    width: 4px;
    height: 4px;
    margin-right: 16px;
    margin-top: .5em;
    border-radius: 50%;
}

@media (max-width: 1365px) {
    .index-ipos-text p,
    .index-ipos-text li {
        font-size: 16px;
        line-height: 24px;
    }
}

@media (max-width: 768px) {
    .index-ipos-text {
        padding-top: 60px;
        padding-bottom: 0;
    }

    .index-ipos-text h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .index-ipos-text p,
    .index-ipos-text li {
        font-size: 14px;
        line-height: 20px;
    }

    .index-ipos-text__footer {
        padding-top: 30px;
        padding-bottom: 30px;
        margin-top: 30px;
    }
}

@media (min-width: 992px) {
    .index-ipos-text .row .col-md-6 {
        width: 50%;
    }
}

@media (min-width: 1920px) {
    .index-ipos-text {
        padding-top: 130px;
        padding-bottom: 0;
    }

    .index-ipos-text .container {
        max-width: 1920px;
        margin: 0 auto;
    }

    .index-ipos-text__footer {
        padding-top: 40px;
        padding-bottom: 40px;
        margin-top: 40px;
    }

    .index-ipos-text h3 {
        margin-bottom: 20px;
        font-size: 30px;
    }

    .index-ipos-text p,
    .index-ipos-text li {
        font-size: 16px;
        line-height: 24px;
    }
}

/* Reviews */
.index-reviews {
    padding-top: 7.29167vw;
    background: url(/img/main/index-reviews.png) no-repeat 50% 0 / 100% 100%;
}

@media (max-width: 768px) {
    .index-reviews {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

@media (min-width: 1920px) {
    .index-reviews {
        padding-top: 150px;
        padding-bottom: 150px;
    }

    .index-reviews .container {
        max-width: 1920px;
        margin: 0 auto;
    }
}
