/* ------------------------------------------------------------- */
.text-left {
    text-align: left;
}

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

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

.panel,
.panel-bl {
    border-radius: 20px 20px 20px 0;
}

.panel-br {
    border-radius: 20px 20px 0 20px;
}

.panel-tl {
    border-radius: 0 20px 20px 20px;
}

.panel-tr {
    border-radius: 20px 0 20px 20px;
}

@media (min-width: 869px) {
    .panel,
    .panel-bl {
        border-radius: 30px 30px 30px 0;
    }

    .panel-br {
        border-radius: 30px 30px 0 30px;
    }

    .panel-tl {
        border-radius: 0 30px 30px 30px;
    }

    .panel-tr {
        border-radius: 30px 0 30px 30px;
    }
}

/* ------------------------------------------------------------- */

.panel-padding {
    padding: 30px 20px;
}

@media (min-width: 869px) {
    .panel-padding {
        padding: 40px;
    }
}


/* ------------------------------------------------------------- */

.panel-color {
    background: #F4E9F0;
}


/* ------------------------------------------------------------- */

.img-text {
    position: relative;
    margin: 0 -20px;
    padding: 30px;
    border-radius: 20px 20px 0 20px;
    overflow: hidden;
}

.img-text__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: opacity(10%);
}

.img-text__text {
}

@media (min-width: 375px) {

}

@media (min-width: 576px) {
    .img-text {
        margin: 0;
    }
}

@media (min-width: 869px) {
    .img-text {
        display: flex;
        flex-wrap: nowrap;
        border-radius: 0;
    }

    .img-text__img {
        order: 1;
        position: static;
        filter: opacity(100%);
        margin-right: 30px;
        border-radius: 20px 20px 0 20px;
    }

    .img-text__img_right {
        order: 3;
        margin-right: 0;
        margin-left: 30px;
        border-radius: 20px 20px 20px 0;
    }

    .img-text__text {
        order: 2;
    }
}

@media (min-width: 1189px) {
    .img-text__img {
        margin-right: 40px;
        border-radius: 30px 30px 0 30px;
    }

    .img-text__img_right {
        margin-right: 0;
        margin-left: 40px;
        border-radius: 30px 30px 30px 0;
    }
}

/* ------------------------------------------------------------- */

.block-type-1 {

}

.block-type-1__col {

}

.block-type-1__item {
    margin-bottom: 30px;
}

.block-type-1__img {
    border-radius: 50%;
    display: block;
    margin: 0 auto 20px;
}

.block-type-1__text {

}

@media (min-width: 375px) {

}

@media (min-width: 576px) {
    .block-type-1 {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -15px -30px;
    }

    .block-type-1__col {
        padding: 0 15px 30px;
        flex-basis: 50%;
        max-width: 50%;
    }
}

@media (min-width: 869px) {
    .block-type-1__col {
        padding: 0 15px 30px;
        flex-basis: 25%;
        max-width: 25%;
    }
}

@media (min-width: 1189px) {
    .block-type-1 {
        margin: 0 -20px -40px;
    }

    .block-type-1__col {
        padding: 0 20px 40px;
    }
}

/* ------------------------------------------------------------- */

.block-type-2 {

}

.block-type-2__video-wrap {
    margin-bottom: 30px;
}

.block-type-2__video {
    width: 100%;
    position: relative;
    padding-bottom: calc((9 / 16 * 100) * 1%);
}

.block-type-2__video-frame {
    position: absolute;
    width: 100%;
    height: 100%;
}

.block-type-2__des {

}

.block-type-2__des-img {
    border-radius: 50%;
    display: block;
    margin: 0 auto 20px;
}

.block-type-2__des-text {

}

@media (min-width: 375px) {

}

@media (min-width: 576px) {

}

@media (min-width: 869px) {
    .block-type-2 {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -15px;
    }

    .block-type-2__video-wrap {
        padding: 0 15px;
        flex-basis: 70%;
        max-width: 70%;
    }

    .block-type-2__des {
        padding: 0 15px;
        flex-basis: 30%;
        max-width: 30%;
    }
}

@media (min-width: 1189px) {
    .block-type-2 {
        display: flex;
        margin: 0 -20px;
    }

    .block-type-2__video-wrap {
        padding: 0 20px;
    }

    .block-type-2__des {
        padding: 0 20px;
    }
}

/* ------------------------------------------------------------- */

.block-col {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px -30px;
}

.block-col__col {
    padding: 0 15px 30px;
    flex-basis: 100%;
    max-width: 100%;
}

@media (min-width: 375px) {

}

@media (min-width: 576px) {

}

@media (min-width: 869px) {
    .block-col__col_2 {
        flex-basis: 50%;
        max-width: 50%;
    }
}

@media (min-width: 1189px) {

}

/* ------------------------------------------------------------- */

.block-video {
    position: relative;
    width: 100%;
    padding-bottom: calc(100% / 16 * 9);
    overflow: hidden;
}

.block-video__preview,
.block-video__iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.block-video__preview-item {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-video__btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 140px;
    background: rgba(255, 255, 255, 0.75) url("data:image/svg+xml,%3Csvg viewBox='0 0 51 59' fill='%238E2B62' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M49 27c2 1 2 4 0 5L4 58c-2 1-4-1-4-3V4c0-2 2-4 4-3l45 26z'/%3E%3C/svg%3E") no-repeat 58% center / 51px 59px;
    border-radius: 50%;
    border: 0;
}

/* ------------------------------------------------------------- */

.display-block {
    display: block;
}

/* ------------------------------------------------------------- */

.text-highlight {
    background-color: yellow;
}

/* ------------------------------------------------------------- */

.more-text-container:not(.not_scroll) {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-height: 1.4;
    max-height: 0;
    -webkit-line-clamp: 10;
    -webkit-box-orient: vertical;
}
@media (min-width: 869px) {
    .more-text-container:not(.not_scroll) {
        max-height: calc(10 * 1rem * 1.4);
    }
}

.more-text-btn {
    margin-top: 20px;
}

/* ------------------------------------------------------------- */

.visually-hidden {
    position: absolute;
    clip: rect(1px 1px 1px 1px);
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    overflow: hidden;
}
