.separate-block {
    padding-bottom: 80px;
}

.top-banner {
    display: flex;
    gap: 20px;
}

    .top-banner .transparent-white-button {
        font-weight: 700;
    }

    .top-banner .left-banner {
        flex: 0 0 380px;
        display: flex;
        flex-direction: column;
        padding: 30px;
        height: 530px;
        border-radius: 30px;
        background: linear-gradient(208deg, #5799F7 4.3%, #59C9C9 111.87%);
    }

        .top-banner .left-banner h1 {
            color: #FFF;
            font-size: 37px;
            font-style: normal;
            font-weight: 700;
            line-height: normal;
            text-transform: uppercase;
            margin: 0;
        }

        .top-banner .left-banner .left-banner-carousel {
            flex-grow: 1;
            display: flex;
            align-items: center;
        }

    .top-banner .right-banner {
        max-width: calc(100% - 400px);
    }

@media all and (min-width: 1200px) {
    .top-banner .right-banner {
        width: calc(100% - 400px);
    }
}
        .top-banner .right-banner .swiper {
            height: 100%;
            position: relative;
        }

            .top-banner .right-banner .swiper .swiper-slide {
                border-radius: 30px 30px 30px 3px;
                background: linear-gradient(145deg, #5799F7 9.9%, #59C9C9 86.01%);
                position: relative;
                padding: 50px 40px 30px 40px;
            }

                .top-banner .right-banner .swiper .swiper-slide .back-image {
                    height: 440px;
                    width: 100%;
                    position: absolute;
                    left: 0;
                    bottom: 0;
                    background-size: contain;
                    background-position: bottom right;
                    background-repeat: no-repeat;
                    z-index: 0;
                }

                .top-banner .right-banner .swiper .swiper-slide .content {
                    display: flex;
                    flex-direction: column;
                    height: 100%;
                }

                    .top-banner .right-banner .swiper .swiper-slide .content > * {
                        display: flex;
                        flex-direction: column;
                        z-index: 1;
                    }

                    .top-banner .right-banner .swiper .swiper-slide .content .text {
                        flex-grow: 1;
                        width: 440px;
                    }

                        .top-banner .right-banner .swiper .swiper-slide .content .text p {
                            color: #FFF;
                            font-size: 16px;
                            font-style: normal;
                            font-weight: 400;
                            line-height: 20px;
                            margin: 0;
                        }

                        .top-banner .right-banner .swiper .swiper-slide .content .text h2 {
                            color: #FFF;
                            font-size: 30px;
                            font-style: normal;
                            font-weight: 500;
                            line-height: normal;
                            margin: 10px 0;
                            display: -webkit-box;
                            -webkit-box-orient: vertical;
                            -webkit-line-clamp: 5;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }

                        .top-banner .right-banner .swiper .swiper-slide .content .text .main-info {                            
                            margin: 40px 0 0 0;
                            width: 415px;
                            display: flex;
                            gap: 16px;
                            flex-wrap: wrap;
                        }

                            .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info {                            
                                flex: 0 0 calc(50% - 8px);
                                padding-left: 38px;
                                background-repeat: no-repeat;
                                background-position: left bottom;
                            }

                            .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info.info-date {                            
                                background-image: url('/local/templates/inno-2025/images/icons/c_calendar.svg');
                            }

                            .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info.info-time {                            
                                background-image: url('/local/templates/inno-2025/images/icons/c_clock.svg');
                            }

                            .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info.info-city {
                                background-image: url('/local/templates/inno-2025/images/icons/c_location.svg');
                            }

                            .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info.info-price {                            
                                background-image: url('/local/templates/inno-2025/images/icons/c_price.svg');
                            }

                                .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info > div {                            
                                    color: #FFF;
                                    font-style: normal;
                                    font-weight: 500;
                                    line-height: normal;
                                }

                                .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info > div:first-child {                            
                                    font-size: 14px;
                                }

                                .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info > div:last-child {                            
                                    font-size: 16px;
                                }

                    .top-banner .right-banner .swiper .swiper-slide .content > a {
                        width: 320px;
                    }

        .top-banner .right-banner .swiper .swiper-pagination {
            position: absolute;
            left: 0;
            top: 0;
            text-align: left;
            padding: 20px 0 0 38px;
            max-height: 60px;
        }

            .top-banner .right-banner .swiper .swiper-pagination .swiper-pagination-bullet {
                opacity: 0.5;
                background-color: #FFF;
            }

            .top-banner .right-banner .swiper .swiper-pagination .swiper-pagination-bullet-active{
                opacity: 1;
            }



.transparent-text-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 15%, rgba(0, 0, 0, 1) 33%, rgba(0, 0, 0, 1) 66%, rgba(0, 0, 0, 0) 85%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 15%, rgba(0, 0, 0, 1) 33%, rgba(0, 0, 0, 1) 66%, rgba(0, 0, 0, 0) 85%, rgba(0, 0, 0, 0) 100%);
}

    .transparent-text-carousel > div {
        width: 100%;
        height: calc(100% / 3);
        position: absolute;
        left: 0;
        transition-duration: 500ms;
        color: #FFF;
        font-size: 17px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px;
        display: flex;
        align-items: center;
    }

.gallery-header-with-additional-text {
    display: flex;
    margin-bottom: 30px;
}

    .gallery-header-with-additional-text > .text {
        flex-grow: 1;
        padding-right: 20px;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
    }

    .gallery-header-with-additional-text h2 {
        flex: 0 0 426px;
        margin: 0;
    }
    .gallery-header-with-additional-text > .paging-buttons {
        flex: 0 0 90px;
    }

.calendar-outer {
    margin-bottom: 10px;
}
.inno-calendar-outer {
    width: 100%;
    height: 395px;
    overflow: hidden;
    position: relative;
 }
    .inno-calendar-outer .inno-calendar {
        display: flex;
        align-items: start;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        transition-duration: 500ms;
    }
        .inno-calendar-outer .inno-calendar .month  {
            display: flex;
            flex-wrap: wrap;
            width: 328px;
            margin-right: 98px;
        }
        .inno-calendar-outer .inno-calendar .month:last-child  {
            margin-right: 0;
        }

            .inno-calendar-outer .inno-calendar .month  .month-name {
                flex: 1 0 100%;
                margin-bottom: 20px;
                color: #181818;
                font-size: 24px;
                font-style: normal;
                font-weight: 500;
                line-height: 140%;
            }

            .inno-calendar-outer .inno-calendar .month  .day,
            .inno-calendar-outer .inno-calendar .month  .week-day {
                flex: 0 0 calc(14.2857% - 8px);
                display: flex;
                justify-content: center;
                align-items: center;
                height: 39px;
                margin: 4px;
                text-align: center;
                font-size: 16px;
                font-style: normal;
                font-weight: 400;
                transition-duration: 500ms;
            }
            .inno-calendar-outer .inno-calendar .month  .day {
                color: #808080;
            }
                .inno-calendar-outer .inno-calendar .month  .day .day-wd {
                    display: none;
                }
            .inno-calendar-outer .inno-calendar .month  .week-day {
                color: #AAA;
            }
            .inno-calendar-outer .inno-calendar .month  .day.active {
                border-radius: 40px;
                border: 2px solid #5AC9C9;
                color: #181818;
                cursor: pointer;
            }
            .inno-calendar-outer .inno-calendar .month  .day.active.selected {
                background: #5AC9C9;
                color: #FFF;
            }

            .inno-calendar-outer .inno-calendar .month  .day.first-day-2 {
                margin-left: calc(14.2857% + 4px);
            }
            .inno-calendar-outer .inno-calendar .month  .day.first-day-3 {
                margin-left: calc(28.5714% + 4px);
            }
            .inno-calendar-outer .inno-calendar .month  .day.first-day-4 {
                margin-left: calc(42.8571% + 4px);
            }
            .inno-calendar-outer .inno-calendar .month  .day.first-day-5 {
                margin-left: calc(57.1428% + 4px);
            }
            .inno-calendar-outer .inno-calendar .month  .day.first-day-6 {
                margin-left: calc(71.4285% + 4px);
            }
            .inno-calendar-outer .inno-calendar .month  .day.first-day-7 {
                margin-left: calc(85.7142% + 4px);
            }

                    .inno-calendar-outer .inno-calendar .month .day.active .tooltip-item {                        
                        min-width: 130px;
                        left: -40px;
                        bottom: 50px;
                    }

                    .inno-calendar-outer .inno-calendar .month .day.active .tooltip-item::after {                        
                        left: 47px;
                        bottom: -11px; 
                    }


.filters-panel {
    display: flex;
    flex-wrap: wrap;
}
    .filters-panel > * {
        margin: 0 12px 12px 0;
    }
    .filters-panel > ul.course-filter {
        display: none;
    }

.multi-combo-box {
    position: relative;
    border-radius: 30px;
    border: 1px solid #D4D4D4;
    display: flex;
    padding: 18px 30px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: #2A2A30;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    transition-duration: 500ms;
    background: transparent;
}

.multi-combo-box,
.multi-combo-box span {
    cursor: pointer;
}

.multi-combo-box:hover {
    border: 1px solid #2A2A30;
}

    .multi-combo-box .arrow-icon {
        background-image: url('/local/templates/inno-2025/images/icons/black_arrow_down.svg');
        background-repeat: no-repeat;
        background-position: center;
        width: 16px;
        height: 16px;
        transition-duration: 500ms;
    }

    .multi-combo-box.has-value {
        border: 1px solid #5AC9C9;
        background: #5AC9C9;
        color: #FFF
    }

    .multi-combo-box.open {
        color: #2A2A30;
        border: 1px solid #D4D4D4;
        background: transparent;
    }

    .multi-combo-box.has-value .arrow-icon {
        transform: rotate(0deg);
        background-image: url('/local/templates/inno-2025/images/icons/drop-down-has-value.svg');
    }

    .multi-combo-box.open .arrow-icon {
        transform: rotate(-180deg);
        background-image: url('/local/templates/inno-2025/images/icons/black_arrow_down.svg');
    }

    .multi-combo-box .combo-box-shadow-outer {
        display: none;
        opacity: 0;
        transition-duration: 500ms;
    }

    .multi-combo-box .drop-down {
        position: absolute;
        left: 0;
        top: 60px;
        width: 410px;
        overflow-y: auto;
        display: none;
        opacity: 0;
        transition-duration: 500ms;
        background-color: #FFF;
        border-radius: 30px;
        z-index: 10;
        box-shadow: 0px 0px 2px 1px rgba(135,135,135,0.75);
        -webkit-box-shadow: 0px 0px 2px 1px rgba(135,135,135,0.75);
        -moz-box-shadow: 0px 0px 2px 1px rgba(135,135,135,0.75);

        color: #2A2A30;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
        text-transform: none;
    }

    .multi-combo-box.open .drop-down {
        display: flex;
        flex-direction: column;
    }
    .multi-combo-box.visible .drop-down {
        opacity: 1;
    }
        .multi-combo-box .drop-down .drop-down-inner {
            flex-grow: 1;
            padding: 20px 0 10px 0;
        }
        .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content {
            max-height: 250px;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
        }
            .multi-combo-box .drop-down .drop-down-inner .mobile-header {
                display: none;
            }
            .multi-combo-box .drop-down .drop-down-inner .mobile-header .close {                
                background-image: url('/local/templates/inno-2025/images/icons/drop-down-has-value.svg');
                background-repeat: no-repeat;
                background-position: center;
                height: 36px;
                width: 36px;
                border-radius: 18px;
                background-color: #000;
                margin-right: -6px;
            }
            .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row {                
                display: flex;
                gap: 20px;
                padding: 5px 5px 5px 20px;
                cursor: pointer;
                position: relative;
            }
                .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row.items-align-center {                
                    align-items: center;
                }
                .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row > span {                
                    width: 25px;
                    height: 25px;
                    flex: 0 0 24px;
                    transition-duration: 500ms;;
                }
                .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row > span {
                    background-image: url('/local/templates/inno-2025/images/icons/drop-down-selected.svg');
                    opacity: 0;
                }
                .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row > span:first-child {
                    position: absolute;
                    background-image: url('/local/templates/inno-2025/images/icons/drop-down-not-selected.svg');
                    background-repeat: no-repeat;
                    background-position: center;
                    opacity: 1;
                }
                .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row.selected > span {
                    opacity: 1;
                }
                .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row.selected > span:first-child {
                    opacity: 0;
                }
                
                .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row.items-align-center .text {
                    display: flex;
                    align-items: center;
                }

            .multi-combo-box.visible .drop-down .drop-down-inner .drop-down-inner-content > div.data-row:hover {                
                background-color: #F1F1F1;
            }
        .multi-combo-box.visible .drop-down .drop-down-buttons {
            display: flex;
            gap: 8px;
            padding: 20px;
            border-top: 1px solid #D2D2D2;
        }
            .multi-combo-box.visible .drop-down .drop-down-buttons > * {
                flex: 0 0 calc(50% - 4px);
            }

    .date-filter-label-outer {
        display: inline;
        width: 180px;
        overflow: hidden;
        transition-duration: 500ms;
    }

    .date-filter-label {
        width: 180px;
        display: flex;
        padding: 18px 30px; 
        justify-content: center;
        align-items: center;
        gap: 10px;
        border-radius: 30px;
        border: 1px solid #5AC9C9;
        background: #5AC9C9;
        color: #FFF;
        text-align: center;
        font-size: 13px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        text-transform: uppercase;
        cursor: pointer;
        transition-duration: 500ms;
        overflow: hidden;
        white-space: nowrap;
    }
    
        .date-filter-label .cross-icon {
            background-image: url('/local/templates/inno-2025/images/icons/drop-down-has-value.svg');
            background-repeat: no-repeat;
            background-position: center;
            width: 16px;
            height: 16px;
        }

    .clear-filters-outer {
        display: inline;
        width: 54px;
        overflow: hidden;
        transition-duration: 500ms;
    }

    .clear-filters-outer .clear-filters {
        width: 54px;
        background-image: url('/local/templates/inno-2025/images/icons/drop-down-has-value.svg');
        background-repeat: no-repeat;
        background-position: center;
        transition-duration: 500ms;
        height: 54px;
        border-radius: 27px;
        background-color: #000;
        cursor: pointer;
    }

    .date-filter-label-outer.hidden,
    .clear-filters-outer.hidden {
        width: 0;
        margin: 0;
        padding: 0;
    }
    .date-filter-label-outer.hidden .date-filter-label,
    .clear-filters-outer.hidden .clear-filters {
        opacity: 0;
    }


    .innoeducation-label {
        position: relative;
        overflow: hidden; 
        border-radius: 30px;
        padding: 18px 30px;
        color: #2A2A30;
        text-align: center;
        font-size: 13px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        text-transform: uppercase;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition-duration: 500ms;
    }
    .innoeducation-label .cross-icon {
        background-image: url('/local/templates/inno-2025/images/icons/drop-down-has-value.svg');
        background-repeat: no-repeat;
        background-position: center;
        width: 0;
        height: 16px;
        transition-duration: 500ms;
        transform: rotate(-90deg);
        cursor: pointer;
    }

    .innoeducation-label .active-background {
        position: absolute;
        height: calc(100% + 4px);
        width: calc(100% + 4px);
        background: linear-gradient(208deg, #5799F7 4.3%, #59C9C9 111.87%);
        z-index: -1;
        opacity: 0;
        transition-duration: 500ms;
    }

    
    .innoeducation-label::before {
        content: ' ';
        position: absolute;
        background: linear-gradient(0deg, #5799F7 4.3%, #A2E1FF 50%, #59C9C9 100%);
        width: 250px;
        height: 100px;
        animation: animatedgradient 3s infinite linear;
        z-index: -2;
        transition-duration: 500ms;
    }
    
    .innoeducation-label::after {
        content: ' ';
        position: absolute;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        border-radius: 30px;
        background: #FFF;
        z-index: -2;
        transition-duration: 500ms;
    }
    .innoeducation-label.active::before,
    .innoeducation-label.active::after {
        opacity: 0;
    }
    .innoeducation-label.active .cross-icon {
        width: 16px;
        margin-left: 10px;
        transform: rotate(0deg);
    }

    .innoeducation-label.active {
        color: #FFF;
    }
    .innoeducation-label.active .active-background {
        opacity: 1;
    }

    
        @keyframes animatedgradient {
            0% {
                transform: rotate(0deg);
                width: 250px;
                height: 100px;
            }
            25% {
                transform: rotate(90deg);
                width: 100px;
                height: 250px;
            }
            50% {
                transform: rotate(180deg);
                width: 250px;
                height: 100px;
            }
            75% {
                transform: rotate(270deg);
                width: 100px;
                height: 250px;
            }
            100% {
                transform: rotate(360deg);
                width: 250px;
                height: 100px;
            }
        }



.courses-results {
    min-height: 500px;
    display: flex; 
}

    .courses-results .loading-label,
    .courses-results .empty-label {
        display: none;
    }

.courses-results.loading,
.courses-results.empty {
    align-items: center;
    justify-content: center;
}
    .courses-results.loading .loading-label {
        display: block;
        flex-grow: 1;
    }
        .courses-results.loading .loading-label .title {
            color: #2A2A30;
            text-align: center;
            font-size: 24px;
            font-style: normal;
            font-weight: 700;
            line-height: 19px;
            padding-top: 37px;
        }
    .courses-results.empty .empty-label {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
        .courses-results.empty .empty-label .empty-image {
            width: 65px;
            height: 65px;
            background-image: url('/local/templates/inno-2025/images/icons/empty-courses.svg');
            background-repeat: no-repeat;
            background-position: center;
        }
        .courses-results.empty .empty-label .title {
            padding: 20px 0 5px 0;
            color: #2A2A30;
            text-align: center;
            font-size: 24px;
            font-style: normal;
            font-weight: 700;
            line-height: 19px;
        }
        .courses-results.empty .empty-label .text {
            padding: 5px 0 30px 0;
            color: #2A2A30;
            text-align: center;
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 20px;
            max-width: 264px;
        }
        .courses-results.empty .empty-label button {
            width: 100%;
            max-width: 264px;;
        }

    .courses-results .results {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        padding: 20px 0;
    }

        .courses-results .results .course-item {
            flex: 0 0 calc(33.333333% - 13.333333px);
            max-width: calc(33.333333% - 13.333333px);
        }
        .courses-results .results .course-item.hidden {
            display: none;
        }

            .courses-results .results .course-item .image {
                height: 234px;
                position: relative;
                border-radius: 30px 30px 0px 0px;
                overflow: hidden;
            }
            .courses-results .results .course-item .image > img {
                border-radius: 30px 30px 0px 0px;
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition-duration: 500ms;
                position: absolute;
            }

                .courses-results .results .course-item .image > div {
                    height: 100%;
                    width: 100%;
                    background: linear-gradient(180deg, rgba(0, 0, 0, 0.10) 38.36%, rgba(0, 0, 0, 0.70) 129.96%);
                    border-radius: 30px 30px 0px 0px;
                    padding: 10px;
                    display: flex;
                    justify-content: space-between;
                    flex-direction: column;
                    transition-duration: 500ms;
                    position: absolute;
                    left: 0;
                    top: 0;
                }

            .courses-results .results .course-item:hover .image > img {                
                transform: scale(1.1);
            }

            .courses-results .results .course-item:hover .image > div {                
                padding-bottom: 20px;
            }

                .courses-results .results .course-item .image .labels {
                    display: flex;
                    align-items: center;
                    gap: 10px;
                    flex-wrap: wrap;
                }

                    .courses-results .results .course-item .image .labels .label {     
                        border-radius: 30px;
                        background: rgba(221, 233, 250, 0.90);
                        padding: 7px 10px;
                        color: #2A2A30;
                        font-size: 13px;
                        font-style: normal;
                        font-weight: 600;
                        line-height: normal;
                    }

                    .courses-results .results .course-item .image .labels .label.innoeducation {     
                        background: linear-gradient(123deg, #5799F7 20.5%, #58B3DE 44.35%, #59C9C9 89.65%);
                        color: #FFF;
                    }

                .courses-results .results .course-item .image .title,
                .courses-results .results .course-item .image .title:visited {                    
                    color: #FFF;
                    font-size: 20px;
                    font-style: normal;
                    font-weight: 700;
                    line-height: normal;
                }

            .courses-results .results .course-item .description {                    
                display: flex;
                gap: 20px;
                flex-wrap: wrap;
                padding: 20px 14px 14px 14px;
                border-radius: 0px 0px 30px 30px;
                border-right: 1px solid #D2D2D2;
                border-bottom: 1px solid #D2D2D2;
                border-left: 1px solid #D2D2D2;
            }
            
                .courses-results .results .course-item .description .title-description {
                    display: none;
                }

                .courses-results .results .course-item .description .lector-image {                    
                    width: 88px;
                    height: 88px;
                    background-position: center;
                    background-size: cover;
                    background-repeat: no-repeat;
                    border-radius: 44px;
                }

                .courses-results .results .course-item .description .lector-info {                    
                    flex: 0 0 calc(100% - 108px);
                    color: #2A2A30;
                    font-size: 12px;
                    font-style: normal;
                    font-weight: 500;
                    line-height: 18.533px;
                    max-height: 88px;
                }

                    .courses-results .results .course-item .description .lector-info .lector-title {                    
                        color: #7D7D80;
                        font-size: 11px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                    }

                    .courses-results .results .course-item .description .lector-info .lector-name {                    
                        color: #000;
                        font-size: 16px;
                        font-style: normal;
                        font-weight: 600;
                        line-height: normal;
                        transition-duration: 500ms;
                    }

                    .courses-results .results .course-item .description .lector-info .lector-position {                    
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 3;
                        overflow: hidden;
                        text-overflow: ellipsis;
                    }

                    .courses-results .results .course-item .description .lector-info:hover .lector-name {                    
                        text-decoration: underline;
                    }

                .courses-results .results .course-item .description .course-info {                    
                    flex: 0 0 100%;
                    display: flex;
                    flex-wrap: wrap;
                    gap: 10px 20px;

                    color: #2A2A30;
                    font-size: 14px;
                    font-style: normal;
                    font-weight: 500;
                    line-height: normal;
                }

                    .courses-results .results .course-item .description .course-info > div {                    
                        flex: 0 0 calc(50% - 10px);
                        padding-left: 30px;
                        position: relative;
                    }
                    .courses-results .results .course-item .description .course-info > div::before {
                        content: ' ';
                        width: 30px;
                        height: 30px;
                        position: absolute;
                        left: 0;
                        bottom: 2px;
                        background-position: bottom center;
                        background-size: 17px;
                        background-repeat: no-repeat;
                    }
                    .courses-results .results .course-item .description .course-info > div.date::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_calendar_g.svg');
                    }
                    .courses-results .results .course-item .description .course-info > div.time::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_clock_g.svg');
                    }
                    .courses-results .results .course-item .description .course-info > div.city::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_location_g.svg');
                    }
                    .courses-results .results .course-item .description .course-info > div.price::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_price_g.svg');
                    }

                    .courses-results .results .course-item.innoeducation .description .course-info > div.date::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_calendar.svg');
                    }
                    .courses-results .results .course-item.innoeducation .description .course-info > div.time::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_clock.svg');
                    }
                    .courses-results .results .course-item.innoeducation .description .course-info > div.city::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_location.svg');
                    }
                    .courses-results .results .course-item.innoeducation .description .course-info > div.price::before {
                        background-image: url('/local/templates/inno-2025/images/icons/c_price.svg');
                    }

                    .courses-results .results .course-item .description .course-info > div > div:first-child {                    
                        color: #7D7D80;
                    }

            .courses-results .results .course-item.innoeducation .description {
                background: linear-gradient(144deg, #5799F7 5.82%, #58B3DE 36.88%, #59C9C9 95.85%);
                border: 1px solid transparent;
            }
            .courses-results .results .course-item.innoeducation .description .lector-info,
            .courses-results .results .course-item.innoeducation .description .lector-info .lector-title,
            .courses-results .results .course-item.innoeducation .description .lector-info .lector-name,
            .courses-results .results .course-item.innoeducation .description .course-info,
            .courses-results .results .course-item.innoeducation .description .course-info > div > div:first-child {
                color: #FFF;
            }

        .courses-results .results .course-item .description .buttons {
            display: flex;
            gap: 8px;
            width: 100%;
        }

        .courses-results .results .course-item .description .buttons > * {
            flex: 0 0 calc(50% - 4px);
        }

.lectors-gallery-outer,
.faq-outer,
.all-courses-outer {
    padding: 80px 0 0 0;
}

.lectors-gallery {
    height: 549px;
    width: 100%;
}

    .lectors-gallery-header .course-header > a {
        display: flex;
    }
    .lectors-gallery .gallery-inner {
        gap: 20px;
    }

    .lectors-gallery .gallery-item {
        width: 380px;
        height: 100%;
        padding: 30px 28px 20px 28px;        
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        border-radius: 40px 40px 40px 3px;
        border: 1px solid #D2D2D2;
        color: #2A2A30;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

        .lectors-gallery .gallery-item .lector-photo {
            align-self: center;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            width: 316px;
            height: 316px;
            border-radius: 316px;
        }

        .lectors-gallery .gallery-item .lector-name {
            color: #000;
            font-size: 20px;
            font-weight: 600;
        }

        .lectors-gallery .gallery-item .lector-position {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .faq-outer .faq {
            padding-top: 20px;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

            .faq-outer .faq > div {
                padding: 20px 40px 30px 40px;
                border-radius: 30px 30px 30px 3px;
                background: #5AC9C9;
                min-height: 100px;
                max-height: 100px;
                color: #FFF;
                overflow-y: hidden;
                cursor: pointer;
                transition-duration: 500ms;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                font-size: 16px;
                font-style: normal;
                font-weight: 400;
                line-height: 20px;
            }
                .faq-outer .faq > div h3 {
                    min-height: 60px;
                    color: #FFF;
                    font-size: 20px;
                    font-style: normal;
                    font-weight: 700;
                    margin: 0;
                    display: flex;
                    align-items: center;
                    position: relative;
                    padding-right: 50px;
                }
                    .faq-outer .faq > div h3 span {
                        background-size: cover;
                        background-position: center;
                        background-repeat: no-repeat;
                        height: 40px;
                        width: 40px;
                        position: absolute;
                        right: 0;
                        top: center;
                        transition-duration: 500ms;
                    }
                    .faq-outer .faq > div h3 .open {
                        background-image: url('/local/templates/inno-2025/images/icons/plus.svg');
                    }
                    .faq-outer .faq > div h3 .close {
                        background-image: url('/local/templates/inno-2025/images/icons/minus.svg');
                        opacity: 0;
                    }
                    .faq-outer .faq > div.active h3 .open {
                        opacity: 0;
                    }
                    .faq-outer .faq > div.active h3 .close {
                        opacity: 1;
                    }

                .faq-outer .faq > div > div {
                    opacity: 0;
                    transition-duration: 500ms;
                    flex-grow: 1;
                }

            .faq-outer .faq > div.active {
                max-height: 300px;
            }

                .faq-outer .faq > div.active > div {
                    opacity: 1;
                }

    .all-courses-outer .courses {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
        padding-top: 20px;
        padding-bottom: 60px;
    }
        .all-courses-outer .courses > a {
            flex: 0 0 calc(25% - calc(60px / 4));
            max-width: calc(25% - calc(60px / 4));
            transition-duration: 500ms;
            color: #2A2A30;
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 20px;
            height: 84px;
        }
        .all-courses-outer .courses > a:visited {
            color: #2A2A30;
        }
        .all-courses-outer .courses > a:hover {
            color: #1db4b5;
        }

.seo-text {
    color: #2A2A30;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    padding: 80px 10px;
}

    .seo-text h2 {
        color: #00b7b7;
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 20px;
    }

    .seo-text h3 {
        font-weight: 600;
        margin-top: 10px;
        margin-bottom: 10px;
    }

        .seo-text p,
        .seo-text ul {
        margin-bottom: 1rem;
    }

    .seo-text ul {
        padding-left: 15px;
    }

    .seo-text ul > li {
        list-style: inside;
    }

@media (max-width: 1200px) {
    .top-banner {
        flex-direction: column;
    }

        .top-banner .left-banner {
            height: 100px;
            flex: auto;
            flex-direction: row;
            padding: 0px 30px;
            align-items: center;
        }

            .top-banner .left-banner h1 {
                font-size: 22px;
            }

            .top-banner .left-banner > * {
                flex: 0 0 50%;
            }

            .top-banner .left-banner .left-banner-carousel {
                height: 80px;
                overflow: hidden;
                padding: 0 20px;
            }

            .top-banner .left-banner > a {
                display: none;
            }
        .top-banner .right-banner {
            max-width: none;
            height: 530px;
        }
            .top-banner .right-banner .swiper .swiper-slide .back-image {
                height: 100%;
                max-width: calc(100% - 440px);
                right: 0;
                left: auto;
            }

    .gallery-header-with-additional-text {
        flex-wrap: wrap;
    }

        .gallery-header-with-additional-text h2 {
            flex: 0 0 100%;
        }

        .courses-results .results {
            gap: 18px;
        }
            .courses-results .results .course-item {
                flex: 0 0 calc(50% - 9px);
                max-width: calc(50% - 9px);
            }
    .lectors-gallery-header > .text {
        flex: 0 0 calc(100% - 90px);
    }
    .all-courses-outer .courses > a {
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}

@media (max-width: 818px) {
    .calendar-outer {
        margin-bottom: 30px;;
     }

.top-banner {
    padding-bottom: 40px;
}

    .top-banner .right-banner {
        height: 480px;
    }

                        .top-banner .right-banner .swiper .swiper-slide .back-image { 
                            max-width: none;
                            height: 300px;
                            right: -20px;
                        }

                        .top-banner .right-banner .swiper .swiper-slide .content .text h2 {
                            color: #FFF;
                            font-size: 26px;
                            font-style: normal;
                            font-weight: 500;
                            line-height: normal;
                            margin: 10px 0;
                        }
                        .top-banner .right-banner .swiper .swiper-slide .content > a {
                            width: 290px;
                        }

        .calendar-header > .paging-buttons {
            display: none;
        }

    .gallery-header-with-additional-text {
        margin-bottom: 0;
    }

    .inno-calendar-outer {
        height: 150px;
        overflow-x: auto;
        scrollbar-width: none;
    }
        .inno-calendar-outer .inno-calendar {
            align-items: normal;
            padding-top: 35px;
            transition-duration: unset;
        }
            .inno-calendar-outer .inno-calendar .month  {
                width: auto;
                display: block;
                white-space: nowrap;
                position: relative;
                margin-right: 0;
            }

                .inno-calendar-outer .inno-calendar .month  .month-name {
                    position: sticky;
                    left: 0;
                    width: 110px;
                    margin-bottom: 5px;
                }
                .inno-calendar-outer .inno-calendar .month  .week-day {
                    display: none;
                }

                .inno-calendar-outer .inno-calendar .month  .day {
                    display: inline-block;
                    height: calc(100% - 40px);
                    width: 40px;
                    margin: 0 3px;
                    padding: 8px 0;
                    position: relative;
                }
                    .inno-calendar-outer .inno-calendar .month  .day .day-wd {
                        display: block;
                        height: 50%;
                        position: absolute;
                        bottom: 0;
                        display: flex;
                        align-items: center;
                        width: 100%;
                        justify-content: center;
                    }

                .inno-calendar-outer .inno-calendar .month .day.active {
                    border-radius: 10px 10px 10px 3px;
                    border: 1px solid #5AC9C9;
                }

                .inno-calendar-outer .inno-calendar .month  .day.first-day-2,
                .inno-calendar-outer .inno-calendar .month  .day.first-day-3,
                .inno-calendar-outer .inno-calendar .month  .day.first-day-4,
                .inno-calendar-outer .inno-calendar .month  .day.first-day-5,
                .inno-calendar-outer .inno-calendar .month  .day.first-day-6,
                .inno-calendar-outer .inno-calendar .month  .day.first-day-7 {
                    margin-left: 0;
                }

                .inno-calendar-outer .inno-calendar .month .day.active .tooltip-item {
                    bottom: 90px;
                }

            .courses-results .results .course-item {
                flex: 0 0 100%;
                max-width: 100%;
            }

    .lectors-gallery-outer,
    .faq-outer,
    .all-courses-outer {
        padding: 40px 0 0 0;
    }
        .lectors-gallery .gallery-item {
            width: 344px;
        }

    .all-courses-outer .courses {
        padding-bottom: 20px;
    }
}

@media (min-width: 623px) and (max-width: 818px) {
    .courses-results .results .course-item {
        display: flex;
        flex-direction: row;
        height: 351px;
        position: relative;
    }

        .courses-results .results .course-item .image {
            flex: 0 0 187px;
            border-radius: 30px 0px 0px 30px;
            height: auto;
        }

        .courses-results .results .course-item .image > img,
        .courses-results .results .course-item .image > div {
            border-radius: 30px 0px 0px 30px;
        }

        .courses-results .results .course-item:hover .image {     
            background-size: auto 105%;
        }

            .courses-results .results .course-item .image .title {
                display: none;
            }

            .courses-results .results .course-item .description .title-description,
            .courses-results .results .course-item .description .title-description:visited {
                display: block;
                position: absolute;
                left: 203px;
                top: 20px;
                color: #FFF;
                font-size: 15px;
                font-style: normal;
                font-weight: 700;
                line-height: normal;
                width: calc(100% - 220px);
            }

            .courses-results .results .course-item.innoeducation .image .title {
                color: #FFF;
            }

        .courses-results .results .course-item .description {
            flex-grow: 1;
            border-radius: 0px 30px 30px 0px;
            border-top: 1px solid #D2D2D2;
            border-left: 0;
            padding-top: 80px;
        }
}

@media (max-width: 622px) {
    .calendar-outer {
        margin-bottom: 20px;;
     } 
    .top-banner {
        margin: 0 -10px;
        padding-bottom: 0;
    }
        .top-banner .left-banner {
            display: none;
        }
        .top-banner .right-banner {
            height: auto;
        }
            .top-banner .right-banner .swiper .swiper-slide {
                padding: 30px 20px;
                padding-bottom: 100px;
                border-radius: 0;
                height: 548px;
            }
                .top-banner .right-banner .swiper .swiper-slide .content .text .main-info {
                    width: 50%;
                    gap: 15px;
                }
                    .top-banner .right-banner .swiper .swiper-slide .content .text {
                        width: 100%;
                    }
                        .top-banner .right-banner .swiper .swiper-slide .content .text .main-info {
                            margin-top: 30px;
                        }
                            .top-banner .right-banner .swiper .swiper-slide .content .text .main-info .info {
                                flex: 0 0 100%;
                            }
                .top-banner .right-banner .swiper .swiper-slide .content > a,
                .top-banner .right-banner .swiper .swiper-slide .content > a:hover {
                    color: transparent;
                    background: transparent;
                    border: 0;
                    position: absolute;
                    height: calc(100% - 60px);
                    width: 100%;
                    top: 0;
                    left: 0;
                }
                .top-banner .right-banner .swiper .swiper-slide .back-image {
                    height: 290px;
                }
                .top-banner .right-banner .swiper .swiper-pagination {
                    top: auto;
                    bottom: 20px;
                    padding: 0 0 20px 20px;
                }
    .calendar-header {
        margin: 0 -10px;
        padding: 0 10px;
        margin-top: -20px;
        padding-top: 20px;
        position: relative;
        z-index: 1;
        background: #FFF;
        border-radius: 20px;
    }

    .filters-panel > * {
        margin: 0 8px 8px 0;
    }

    .date-filter-label-outer {
        width: 140px;
    }

    .date-filter-label,
    .innoeducation-label,
    .multi-combo-box {
        padding: 17.3px;
        font-size: 11.245px;
        height: 42px;
    }
    .date-filter-label {
        width: 140px;
    }

    .clear-filters-outer .clear-filters {
        height: 42px;
        width: 42px;
    }

    .multi-combo-box {
        position: relative;
    }

        .multi-combo-box.open .combo-box-shadow-outer {
            display: block;
            position: fixed;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background-color: rgba(37, 37, 37);
            z-index: 1;
        }

        .multi-combo-box.visible .combo-box-shadow-outer {
            opacity: 0.5;
        }
        .multi-combo-box .drop-down {
            position: fixed;
            border-radius: 30px 30px 0 0;
            width: 100%;
            max-height: 500px;
            top: auto;
            bottom: -500px;
            z-index: 11000;
            display: flex;
            opacity: 1;
        }
        .multi-combo-box.visible .drop-down {
            bottom: 0;
        }
            .multi-combo-box .drop-down .drop-down-inner .mobile-header {
                padding: 0 20px 20px 20px;
                display: flex;
                align-items: center;

                color: #2A2A30;
                font-size: 16px;
                font-style: normal;
                font-weight: 600;
                line-height: 20px;
            }
                .multi-combo-box .drop-down .drop-down-inner .mobile-header > div {
                    flex-grow: 1;
                }
            .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row {                
                flex-direction: row-reverse;
                padding: 5px 20px 5px 20px;
            }

            .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.data-row .text,
            .multi-combo-box .drop-down .drop-down-inner .drop-down-inner-content > div.items-align-center .text {
                flex-grow: 1;
            }

            .multi-combo-box.visible .drop-down .drop-down-buttons {
                padding: 10px 10px 20px 10px;
            }
    .lectors-gallery-header {
        flex-direction: column;
        margin-bottom: 20px;
    }
        .lectors-gallery-header .paging-buttons {
            align-self: end;
            flex: auto;
        }
    .lectors-gallery {
        height: 473px;
    }
        .lectors-gallery .gallery-inner {
            gap: 10px;
        }

        .lectors-gallery .gallery-item {
            width: 296px;
            font-size: 14px;
            padding: 30px 18px;
        }

            .lectors-gallery .gallery-item .lector-photo {
                width: 247px;
                height: 247px;
            }

            .lectors-gallery .gallery-item .lector-name {
                font-size: 17px;
                line-height: 110%;
            }
            .faq-outer .faq > div {
                font-size: 14px;
            }
                .faq-outer .faq > div h3 {
                    font-size: 16px;
                    line-height: normal;
                }
    .all-courses-outer .courses > a {
        flex: 0 0 100%;
        max-width: 100%;
        height: 64px;
    }

    .courses-results {
        min-height: 300px;
    }
    .inno-main-container h2.course-header, h2.course-header, h2.course-header a, h2.course-header a:visited {
        font-size: 24px;
    }
    .gallery-header-with-additional-text > .text {
        padding-top: 10px;
        font-size: 14px;
        line-height: 18px;
        padding-right: 0;
    }

    .gallery-header-with-additional-text > .text br {
        display: none;
    }
}
