.lector-banner {
    display: flex;
    gap: 20px;
    padding-bottom: 40px;
}

    .lector-banner .lector-photo {
        height: 630px;
        flex: 0 0 480px;
        min-width: 480px;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 30px;
    }

    .lector-banner .lector-info {
        flex-grow: 1;
        padding: 30px 40px 20px 30px;
        border-radius: 40px 40px 40px 3px;
        background: #5AC9C9;
        color: #FFF;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        max-height: 630px;
        overflow-y: hidden;
    }

        .lector-banner .lector-info .name {
            font-size: 30px;
            font-style: normal;
            font-weight: 600;
            line-height: 150%;
        }

        .lector-banner .lector-info .labels {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

            .lector-banner .lector-info .labels .label {
                padding: 5px 10px 6px 38px;
                border-radius: 20px;
                background: #DCF2F2;
                color: #5AC9C9;
                font-size: 14px;
                font-style: normal;
                font-weight: 600;
                line-height: normal;
                background-repeat: no-repeat;
                background-position: 10px center;
            }

            .lector-banner .lector-info .labels .label.hat {
                background-image: url('/local/templates/inno-2022/images/icons/green-hat.svg');
            }
            .lector-banner .lector-info .labels .label.cardio {
                background-image: url('/local/templates/inno-2022/images/icons/green-cardio.svg');
            }
            .lector-banner .lector-info .labels .label.scissors {
                background-image: url('/local/templates/inno-2022/images/icons/green-scissors.svg');
            }

        .lector-banner .lector-info .key-value-outer {
            padding: 50px 0;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

            .lector-banner .lector-info .key-value-outer .key-value {
                display: flex;
                gap: 10px;
                border-bottom: 1px solid #87DCDC;
                padding-bottom: 10px;
            }

            .lector-banner .lector-info .key-value-outer .key-value:last-child {
                border-bottom: none; 
                padding-bottom: 0;
            }

                .lector-banner .lector-info .key-value-outer .key-value > div:first-child {
                    flex: 0 0 110px;
                    min-width: 110px;
                    font-weight: 400;
                }

                .lector-banner .lector-info .key-value-outer .key-value > div:last-child {
                    flex-grow: 1;
                }

                    .lector-banner .lector-info .key-value-outer .key-value .experience-stack {
                        display: flex;
                        flex-direction: column;
                        gap: 20px;
                    }

                        .lector-banner .lector-info .key-value-outer .key-value .experience-stack .experience {
                            display: flex;
                            gap: 20px;
                        }
                            .lector-banner .lector-info .key-value-outer .key-value .experience-stack .experience > div.experience-year {
                                flex: 0 0 61px;
                                min-width: 61px;
                                font-size: 26px;
                                font-style: normal;
                                font-weight: 400;
                                line-height: normal;
                            }

            .lector-banner .lector-info .key-value-outer .key-value:last-child {
                border-bottom: 0;
            }


.lector-dates {
    padding-bottom: 40px;
}
    .lector-dates .date-row {
        height: 160px;
        display: flex;
        align-items: center;
        gap: 20px;
        width: 100%;
        border-bottom: 1px solid #E7E7E7;
    }

        .lector-dates .date-row .date-and-labels {
            max-width: 160px;
            flex: 0 0 160px;
            padding-right: 10px;
        }

            .lector-dates .date-row .date-and-labels .course-date {
                padding: 0 0 10px 0;
            }

            .lector-dates .date-row .date-and-labels .course-date .course-day {
                font-size: 38px;
                font-style: normal;
                font-weight: 400;
                line-height: 40px;
            }

            .lector-dates .date-row .date-and-labels .course-date .course-month {
                font-size: 16px;
                font-style: normal;
                font-weight: 400;
                line-height: 20px;
                display: flex;
                align-items: center;
            }

                .lector-dates .date-row .date-and-labels .course-date .course-month .week-day {
                    color: #515458;
                }

        .lector-dates .date-row .title-and-address {
            flex: 1 1 0;
            display: flex;
            align-items: center;
            gap: 20px;
            max-width: calc(100% - 601px);
        }

            .lector-dates .date-row .title-and-address .course-title {
                flex-grow: 1;
                font-size: 16px;
                font-style: normal;
                font-weight: 400;
                line-height: normal;
                z-index: 1;
            }

                .lector-dates .date-row .title-and-address .course-title a,
                .lector-dates .date-row .title-and-address .course-title a:visited {
                    color: rgb(23, 26, 30);
                    transition-duration: 500ms;
                }
                .lector-dates .date-row .title-and-address .course-title a:hover {
                    color: #1db4b5;
                }

            .lector-dates .date-row .title-and-address .course-address {
                max-width: 180px;
                flex: 0 0 180px;
            }

                .lector-dates .date-row .title-and-address .course-address > div {                    
                    font-size: 16px;
                    font-style: normal;
                    font-weight: 400;
                    line-height: normal;
                }

                .lector-dates .date-row .title-and-address .course-address .address,
                .lector-dates .date-row .title-and-address .course-address .time {
                    color: #525252;
                    font-size: 13px;
                }

                .lector-dates .date-row .title-and-address .course-address .time {
                    padding-top: 6px;
                }

        .lector-dates .date-row .price-and-button {
            display: flex;
            align-items: center;
            gap: 20px;
            white-space: nowrap;
        }

            .lector-dates .date-row .price-and-button .course-price {
                max-width: 141px;
                flex: 0 0 141px;
                font-size: 20px;
                font-style: normal;
                font-weight: 500;
                line-height: normal;
            }

            .lector-dates .date-row .price-and-button .course-order-button {
                max-width: 230px;
                flex: 0 0 230px;
            }

    .lector-dates .date-row:first-child {
        border-top: 1px solid #E7E7E7;
    }

    .lector-dates .show-all-dates-button {
        margin-top: 20px;
    }

.biografy-outer {
    padding-bottom: 40px;
}
    .biografy-outer .biografy {
        padding: 30px 30px 40px 30px;
        border-radius: 30px;
        border: 1px solid #D2D2D2;
        color: #2A2A30;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }
        .biografy-outer .biografy h3 {
            padding-bottom: 20px;
            margin: 0;
            color: #2A2A30;
            font-size: 16px;
            font-style: normal;
            font-weight: 500;
            line-height: normal;
        }


@media (max-width: 1200px) {
    .lector-banner {
        gap: 10px;
        padding-bottom: 20px;
    }
        .lector-banner .lector-photo {
            height: 667px;
            flex: 0 0 291px;
            min-width: 291px;
        }

        .lector-banner .lector-info {
            max-height: 667px;
        }

        .lector-dates .row:first-child {
            border-top: 0;
        }
            .lector-dates .date-row .date-and-labels {
                max-width: 140px;
                flex: 0 0 140px;
            }

            .lector-dates .date-row .title-and-address {
                max-width: none;
            }

            .lector-dates .date-row .price-and-button {
                flex-direction: column;
                align-items: end;
                width: 240px;
                gap: 10px;
            }

                .lector-dates .date-row .price-and-button .course-price {
                    flex: 0 0 40px;
                    font-size: 30px;
                    max-width: 230px;
                }

                .lector-dates .date-row .price-and-button .course-order-button {
                    flex: auto;
                    width: 100%;
                }
}
@media (max-width: 900px) {
    .lector-banner {
        flex-direction: column;
    }
        .lector-banner .lector-photo {
            width: 100%;
            flex: 0 0 317px;
            min-height: 317px;
        }

        .lector-banner .lector-info {
            max-height: none;
        }

            .lector-banner .lector-info .key-value-outer {
                padding: 40px 0;
            }

            .lector-dates .date-row .price-and-button {
                width: 230px;
            }
            .lector-dates .date-row .price-and-button .course-order-button {
                width: 160px;
            }
}
@media (max-width: 818px) {
        .lector-banner .lector-info {
            border-radius: 30px;
        }
    .lector-dates .date-row {
        height: 248px;
        padding: 30px 20px;
        position: relative;
    }

        .lector-dates .date-row .date-and-labels {
            align-self: start;
        }

            .lector-dates .date-row .date-and-labels .course-date {
                border-radius: 20px;
                background: #D7F1F1;
                padding: 10px;
                flex: 0 0 140px;
            }

            .lector-dates .date-row .date-and-labels .course-labels {
                padding-top: 20px;
            }

                .lector-dates .date-row .date-and-labels .course-labels .rounded-label {
                    z-index: 1;
                }

        .lector-dates .date-row .price-and-button {
            position: absolute;
            bottom: 20px;
            right: 30px;
        }
        .lector-dates .date-row .price-and-button .course-order-button {
            width: 220px;
        }

        .lector-dates .date-row .title-and-address {
            flex-direction: column;
            height: 100%;
            align-items: start;
        }

            .lector-dates .date-row .title-and-address .course-title {
                flex: 0 0 80px;
                font-size: 20px;
                font-style: normal;
                font-weight: 500;
                line-height: normal;
            }

            .lector-dates .date-row .title-and-address .course-address {
                flex: auto;
                width: 180px;
            }
}
@media (max-width: 622px) {
    .lector-banner {
        gap: 0;
        margin: 0 -10px;
    }
        .lector-banner .lector-photo {
            min-height: 274px;
            flex: 0 0 274px;
            border-radius: 0;
            z-index: -1;
        }
        .lector-banner .lector-info {
            padding: 30px;
            margin-top: -35px;
            font-size: 14px;
        }

        .lector-banner .lector-info .labels {
            padding-bottom: 30px;
        }

        .lector-banner .lector-info .name {
            font-size: 22px;
            line-height: normal;
            padding-bottom: 10px;
        }

        .lector-banner .lector-info .key-value-outer {
            padding: 0;
        }

            .lector-banner .lector-info .key-value-outer .key-value {
                flex-direction: column;
            }

            .lector-banner .lector-info .key-value-outer .key-value > div:first-child {
                flex: auto;
                min-width: auto;
            }
            .lector-banner .lector-info .key-value-outer .key-value .experience-stack .experience {
                gap: 10px;
            }
                .lector-banner .lector-info .key-value-outer .key-value .experience-stack .experience > div:first-child {
                    flex: 0 0 52px;
                    min-width: 52px;
                    font-size: 22px;
                }
        .biografy-outer .biografy {
            font-size: 14px;
        }

    .lector-dates .date-row:first-child {
        border-top: 0 solid #E7E7E7;
    }
    .lector-dates .date-row {
        padding: 40px 0;
        height: auto;
        flex-direction: column;
    }
        .lector-dates .date-row .date-and-labels {
            position: absolute;
            width: 100%;
            height: calc(100% - 144px);
            max-width: none;
        }
            .lector-dates .date-row .date-and-labels .course-date {
                width: 130px;
            }
            .lector-dates .date-row .date-and-labels .course-labels {
                position: absolute;
                width: 100%;
                bottom: 10px;
            }
        .lector-dates .date-row .title-and-address {
            flex-direction: column-reverse;
            height: auto;
            width: 100%;
            gap: 40px;
        }
            .lector-dates .date-row .title-and-address .course-title {
                flex: auto;
            }
            .lector-dates .date-row .title-and-address .course-address {
                flex-direction: column-reverse;
                margin-left: 150px;
            }
        .lector-dates .date-row .price-and-button {
            position: relative;
            align-self: end;
            width: 100%;
            bottom: auto;
            right: auto;
            gap: 20px;
        }
            .lector-dates .date-row .price-and-button .course-order-button {
                width: 100%;
                max-width: none;
            }
}