@font-face {
    font-family: "OpenStart Sans";
    src: url("fonts/MuseoSans/MuseoSansCyrl-300.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "OpenStart Sans";
    src: url("fonts/MuseoSans/MuseoSansCyrl-300.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "OpenStart Sans";
    src: url("fonts/MuseoSans/MuseoSansCyrl-500.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "OpenStart Sans";
    src: url("fonts/MuseoSans/MuseoSansCyrl-700.woff") format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "OpenStart Sans";
    src: url("fonts/MuseoSans/MuseoSansCyrl-700.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "OpenStart Sans";
    src: url("fonts/MuseoSans/MuseoSansCyrl-900.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

html,
body,
body * {
    font-family: "OpenStart Sans", Arial, sans-serif !important;
}

/* Compact, stable layout for the international presentation page. */
.main-block_content {
    padding-top: 48px;
}

.main-block_content-header {
    margin-bottom: 18px;
    font-size: clamp(34px, 3vw, 48px);
    line-height: 1.05;
}

.main-block_content-subtitle {
    padding-top: 4px;
    padding-bottom: 8px;
    line-height: 1.35;
}

.main-block_content-item-cont {
    margin-top: 32px;
}

.main-block_content-item_header {
    margin-bottom: 4px;
    font-size: 36px;
}

.main-block_content .btn-panel {
    margin: 26px auto 10px;
}

.main-block_number,
.main-block_number a {
    padding-bottom: 5px;
}

.main-block_cms {
    padding: 10px 20px;
}

#mono img {
    filter:
        drop-shadow(0.35px 0 0 rgba(255, 255, 255, 0.42))
        drop-shadow(-0.35px 0 0 rgba(255, 255, 255, 0.42))
        drop-shadow(0 0.35px 0 rgba(255, 255, 255, 0.42))
        drop-shadow(0 -0.35px 0 rgba(255, 255, 255, 0.42))
        drop-shadow(0 0 0.7px rgba(255, 255, 255, 0.12));
}

.block-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.block {
    float: none;
    height: 520px;
    padding: 22px;
}

.block_logo {
    max-width: 120px;
    max-height: 120px;
    padding: 8px;
}

.block_logo img {
    width: 104px;
    height: 104px;
    object-fit: contain;
}

.case-card {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.case-card .block_logo {
    box-sizing: border-box;
    width: 210px;
    max-width: 100%;
    max-height: none;
    padding: 0 4px;
    background: transparent;
    box-shadow: none;
}

.case-card .block_logo img {
    width: 100%;
    height: 80px;
    filter:
        drop-shadow(0.6px 0 0 rgba(255, 255, 255, 0.84))
        drop-shadow(-0.6px 0 0 rgba(255, 255, 255, 0.84))
        drop-shadow(0 0.6px 0 rgba(255, 255, 255, 0.84))
        drop-shadow(0 -0.6px 0 rgba(255, 255, 255, 0.84))
        drop-shadow(0 5px 10px rgba(0, 0, 0, 0.58));
}

.hcm {
    background-image:
        linear-gradient(145deg, rgba(30, 29, 34, 0.68), rgba(74, 65, 53, 0.68)),
        url("img/cases/happy-couple-bg.jpg");
}

.hcm .block_description,
.hcm span:last-child {
    background: #b48b3c;
}

.supershina {
    background-image:
        linear-gradient(145deg, rgba(32, 34, 40, 0.58), rgba(74, 31, 34, 0.64)),
        url("img/cases/supershina-bg.jpg");
}

.supershina .block_description,
.supershina span:last-child {
    background: #d92d28;
}

.pilkington {
    background-image:
        linear-gradient(145deg, rgba(18, 63, 49, 0.66), rgba(22, 117, 78, 0.64)),
        url("img/cases/pilkington-bg.jpg");
}

.pilkington .block_description,
.pilkington span:last-child {
    background: #168954;
}

.proteces {
    background-image:
        linear-gradient(145deg, rgba(29, 41, 35, 0.58), rgba(40, 95, 54, 0.62)),
        url("img/cases/proteces-bg.jpg");
}

.proteces .block_description,
.proteces span:last-child {
    background: #369842;
}

.schouten {
    background-image:
        linear-gradient(145deg, rgba(37, 42, 49, 0.58), rgba(81, 48, 51, 0.64)),
        url("img/cases/schouten-bg.jpg");
}

.schouten .block_description,
.schouten span:last-child {
    background: #cf3b34;
}

.block_description {
    margin-top: 8px;
    font-size: 18px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.block_item-cont {
    padding-top: 10px;
}

.block_item {
    width: 100%;
    min-width: 0;
    margin: 3px 0;
}

.block_item span:first-child {
    font-size: 18px;
}

.block_item span:nth-child(2) {
    box-sizing: border-box;
    max-width: 100%;
    padding: 3px;
    font-size: 14px;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}

.team-summary {
    padding-top: 32px;
    padding-bottom: 36px;
}

.team-summary h2 {
    margin-bottom: 12px;
}

.team-summary p {
    margin-bottom: 9px;
    font-size: 17px;
    line-height: 1.45;
}

.team-summary .btn {
    margin-top: 10px;
}

.contacts {
    margin-bottom: 18px;
}

.contacts h1,
.contacts h2 {
    margin-top: 22px;
    margin-bottom: 22px;
}

.contact {
    margin-bottom: 8px;
}

.footer {
    padding-top: 20px;
    padding-bottom: 20px;
}

.footer_header {
    margin-bottom: 18px;
}

@media screen and (max-width: 1070px) {
    .main-block_bg {
        height: 100%;
        min-height: 0;
        object-fit: cover;
    }

    .main-block_cms {
        box-sizing: border-box;
        min-width: 0;
        width: 100%;
        padding: 10px 20px;
        flex-wrap: wrap;
        gap: 10px 22px;
        justify-content: center;
        overflow-x: hidden;
        white-space: normal;
    }

    .main-block_cms img {
        width: auto;
        max-width: 72px;
        height: 24px;
        margin-right: 0;
        object-fit: contain;
    }
}

@media screen and (min-width: 1280px) {
    .block {
        width: 25%;
        max-width: 25%;
    }
}

@media screen and (min-width: 900px) and (max-width: 1279px) {
    .block {
        width: 33.3333%;
        max-width: 33.3333%;
        height: 510px;
    }
}

@media screen and (min-width: 701px) and (max-width: 899px) {
    .block {
        width: 50%;
        max-width: 50%;
        height: 500px;
    }
}

@media screen and (max-width: 1400px) {
    .contacts-list {
        margin-top: 18px;
    }
}

@media screen and (max-width: 700px) {
    .main-block_bg {
        position: absolute;
        width: 100%;
        height: 100%;
    }

    .main-block_content {
        padding: 14px 18px 0;
    }

    .main-block_content-header {
        margin-bottom: 12px;
        font-size: 20px;
        line-height: 1.1;
    }

    .main-block_content-subtitle {
        padding: 0;
        font-size: 16px;
        line-height: 1.32;
    }

    .main-block_content-item-cont {
        margin: 14px 0 4px !important;
    }

    .main-block_content-item {
        margin-bottom: 10px !important;
    }

    .main-block_content-item_header {
        font-size: 28px;
    }

    .main-block_content-item_sub {
        font-size: 17px;
        line-height: 1.25;
    }

    .main-block_content .btn-panel {
        margin: 4px auto 7px;
    }

    .main-block_number,
    .main-block_number a {
        padding-bottom: 3px;
    }

    .main-block_cms {
        padding: 8px 10px 10px;
    }

    .main-block_cms img {
        max-width: 58px;
        height: 20px;
    }

    .block {
        height: auto;
        min-height: 0;
        padding: 16px 18px 20px;
    }

    .block_logo {
        max-width: 112px;
        max-height: 112px;
        padding: 6px;
    }

    .block_logo img {
        width: 100px;
        height: 100px;
    }

    .case-card .block_logo {
        width: 180px;
        padding: 0 4px;
    }

    .case-card .block_logo img {
        width: 100%;
        height: 72px;
    }

    .block_description {
        margin-top: 6px;
        padding: 4px;
        font-size: 16px;
        line-height: 1.22;
    }

    .block_item-cont {
        padding-top: 10px;
    }

    .block_item {
        margin: 3px 0;
    }

    .block_item span:first-child {
        font-size: 16px;
    }

    .block_item span:nth-child(2) {
        padding: 3px;
        font-size: 14px;
        line-height: 1.2;
    }

    .team-summary {
        padding: 28px 20px 30px;
    }

    .team-summary h2 {
        margin-bottom: 10px;
    }

    .team-summary p {
        margin-bottom: 8px;
        font-size: 16px;
        line-height: 1.4;
    }

    .contacts {
        margin-bottom: 10px;
        padding: 18px 20px;
    }

    .contacts h1,
    .contacts h2 {
        margin: 16px 0;
    }

    .contacts-list {
        margin-top: 8px;
    }

    .contact {
        min-height: 44px;
        margin-bottom: 2px;
        padding: 7px 0;
    }

    .contact_text {
        margin-left: 16px;
        font-size: 18px;
    }

    .footer {
        padding: 22px 28px;
    }

    .footer_header {
        margin-bottom: 16px;
    }
}
