/**
 * Edison - Index Page Styles (Organized)
 * Online Education Website Template Kit
 * 
 * @encoding        UTF-8
 * @version         1.0.3
 * @copyright       (C) 2018 - 2022 Merkulove ( https://merkulov.design/ ). All rights reserved.
 * @license         Envato License https://1.envato.market/KYbje
 * @contributors    Lamber Lilith (winter.rituel@gmail.com)
 * @support         help@merkulov.design
 * @updated         2025 - eoppep-study Customizations
 **/

/**
 * ================================================
 * TABLE OF CONTENTS
 * ================================================
 * 
 * 1. GLOBAL STYLES & RESET (Lines 30-150)
 *    - CSS Reset & Base Styles
 *    - Typography & Common Elements
 *    - Animations & Keyframes
 * 
 * 2. UTILITY CLASSES (Lines 151-250)
 *    - Text Utilities
 *    - Container & Layout
 *    - Bootstrap-like Classes
 * 
 * 3. COMPONENT STYLES (Lines 251-500)
 *    - Buttons & CTA Elements
 *    - Cards & Panels
 *    - Course Tags
 * 
 * 4. MAIN LAYOUT SECTIONS (Lines 501-1000)
 *    - Underlay & Background
 *    - Promobar Section
 *    - Main Content Areas
 * 
 * 5. HERO SECTION (Lines 1001-1400)
 *    - Hero Layout & Content
 *    - Hero Media & Animations
 *    - Hero Actions & Buttons
 * 
 * 6. BENEFITS SECTION (Lines 1401-1600)
 *    - Benefits Cards & Layout
 *    - Feature Highlights
 *    - Call-to-Action Elements
 * 
 * 7. ABOUT SECTION (Lines 1601-1800)
 *    - About Content & Media
 *    - Feature Lists
 *    - Review Section
 * 
 * 8. COURSES SECTION (Lines 1801-2000)
 *    - Course Cards & Grid
 *    - Course Filters
 *    - Course Navigation
 * 
 * 9. BANNER SECTION (Lines 2001-2200)
 *    - Promotional Banners
 *    - Banner Content & Media
 *    - Banner Actions
 * 
 * 10. RESPONSIVE STYLES (Lines 2201-2730)
 *     - Mobile (max-width: 767px)
 *     - Tablet (768px - 991px)
 *     - Desktop (992px+)
 *     - Large Desktop (1200px+)
 * 
 * ================================================
 */

/* ===== 1. GLOBAL STYLES & RESET ===== */

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    outline: 0;
}

html {
    scroll-behavior: smooth;
}

body,
html {
    overflow-x: hidden;
}

ol,
ul {
    list-style: none;
}

a {
    text-decoration: none;
}

a,
button,
input,
textarea {
    background: 0 0;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    border: none;
    cursor: pointer;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

input[readonly],
textarea[readonly] {
    cursor: default;
}

textarea {
    resize: none;
}

img {
    display: block;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* Animations & Keyframes */
@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-webkit-keyframes float {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }

    50% {
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
    }

    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

@keyframes float {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }

    50% {
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
    }

    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

/* ===== 2. UTILITY CLASSES ===== */

/* Typography */
.text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #29323c;
}

.text--sm {
    font-size: 14px;
}

/* Layout & Container */
.container {
    max-width: 1110px;
    padding: 0 20px;
}

/* Bootstrap-like Classes */
.collapse:not(.show) {
    display: none;
}

.collapsing {
    height: 0;
    overflow: hidden;
    -webkit-transition: height .3s ease-in-out;
    -o-transition: height .3s ease-in-out;
    transition: height .3s ease-in-out;
}

.fade {
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
}

.fade:not(.show) {
    opacity: 0;
}

.tab-content>.tab-pane {
    display: none;
}

.tab-content>.active {
    display: block;
}

/* Background Overlay */
.underlay {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: -o-linear-gradient(284.28deg, rgba(251, 248, 254, .0001) -51.77%, #fbf8fe 88.68%);
    background: linear-gradient(165.72deg, rgba(251, 248, 254, .0001) -51.77%, #fbf8fe 88.68%);
}

/* ===== 3. COMPONENT STYLES ===== */

/* Panel Components */
.panel {
    margin-bottom: 30px;
}

.panel_block .link {
    line-height: 1;
    font-size: 22px;
    font-family: 'Inter', sans-serif;
    color: #3d53eb;
}

.panel_block .custom-select-opener {
    margin-bottom: 0;
    padding: 0 55px 0 30px;
}

.panel_block .icon {
    margin-right: 10px;
    position: relative;
    top: 2.5px;
}

/* Button Styles */
.btn {
    border-radius: 12px;
    font-weight: 700;
    /* text-transform: uppercase; */
    font-size: 14px;
    line-height: 1;
    height: 54px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 30px;
}

/* Global override: Remove uppercase from ALL buttons */
button,
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark,
.btn-outline,
.btn-outline-primary,
.btn-outline-secondary,
.btn--bordered,
.btn--arrow,
.btn--yellow,
.btn--gradient,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    text-transform: none !important;
}

.btn .text {
    line-height: 1;
    position: relative;
    top: 1px;
}

.btn--bordered {
    border: 1px solid #ededed;
}

.btn--bordered:focus,
.btn--bordered:hover {
    border-color: #2575fc;
}

.btn--arrow {
    /* text-transform: uppercase; */
    color: #3d53eb;
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.btn--arrow .icon {
    -webkit-transition: margin-left .3s ease-in-out;
    -o-transition: margin-left .3s ease-in-out;
    transition: margin-left .3s ease-in-out;
    margin-left: 10px;
    font-size: 14px;
}

.btn--arrow:focus .icon,
.btn--arrow:hover .icon {
    margin-left: 15px;
}

.btn--yellow {
    background: #f9d423;
    color: #29323c;
}

.btn--yellow:focus,
.btn--yellow:hover {
    -webkit-box-shadow: 0 2px 7px rgba(255, 255, 255, .4);
    box-shadow: 0 2px 7px rgba(255, 255, 255, .4);
}

.btn--gradient {
    background: -o-linear-gradient(338.59deg, #ff0844 24.85%, #ff8b67 95.39%);
    background: linear-gradient(111.41deg, #ff0844 24.85%, #ff8b67 95.39%);
    position: relative;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    -webkit-box-shadow: 0 2px 4px rgba(43, 53, 67, 0);
    box-shadow: 0 2px 4px rgba(43, 53, 67, 0);
}

.btn--gradient .text {
    position: relative;
    z-index: 2;
    color: #fff;
    line-height: 1;
    font-size: 14px;
}

.btn--gradient:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -o-linear-gradient(338.59deg, #ff8b67 24.85%, #ff0844 95.39%);
    background: linear-gradient(111.41deg, #ff8b67 24.85%, #ff0844 95.39%);
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    opacity: 0;
    z-index: 1;
}

.btn--gradient:focus:after,
.btn--gradient:hover:after {
    opacity: 1;
}

/* Header Button Styles */
.btn--outline {
    background: transparent;
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.3);
    padding: 0.5rem 1.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: none;
    border-radius: 25px;
    transition: all 0.3s ease;
}

.btn--outline:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.6);
    color: #ffffff;
}

.btn--login {
    background: linear-gradient(135deg, #ff6b6b 0%, #ffa500 100%);
    color: #ffffff;
    border: none;
    padding: 0.5rem 1.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: none;
    border-radius: 25px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
}

.btn--login:hover {
    background: linear-gradient(135deg, #ff5252 0%, #ff9800 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.6);
    color: #ffffff;
}

/* Course Tags */
.courses-tags .tag {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    border: 1px solid #d5d5d5;
    border-radius: 10px;
    height: 40px;
    padding: 0 20px;
    margin: 10px 10px 0 0;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.courses-tags .tag.current,
.courses-tags .tag:focus,
.courses-tags .tag:hover {
    color: #fff;
    background: #2b3543;
}

/* Card Components */
.card {
    position: relative;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 14px rgba(216, 217, 255, .66);
    box-shadow: 0 2px 14px rgba(216, 217, 255, .66);
    text-align: center;
    padding: 40px 30px !important;
    height: 100%;
    cursor: pointer;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
}

.card .content {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.card:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -o-linear-gradient(307.13deg, #6a11cb 12.55%, #2575fc 108.54%);
    background: linear-gradient(142.87deg, #6a11cb 12.55%, #2575fc 108.54%);
    opacity: 0;
    -webkit-transition: opacity .4s ease-in-out;
    -o-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
}

.card_media {
    background: -o-linear-gradient(316.28deg, #6a11cb 21.85%, #2575fc 104.32%);
    background: linear-gradient(133.72deg, #6a11cb 21.85%, #2575fc 104.32%);
    border-radius: 12px;
    width: 74px;
    height: 74px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 10px;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    position: relative;
    overflow: hidden;
}

.card_media:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff;
    opacity: 0;
    -webkit-transition: opacity .4s ease-in-out;
    -o-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
}

.card_media .icon {
    color: #fff;
    font-size: 32px;
    position: relative;
    z-index: 2;
    -webkit-transition: color .4s ease-in-out;
    -o-transition: color .4s ease-in-out;
    transition: color .4s ease-in-out;
}

/* ===== 4. MAIN LAYOUT SECTIONS ===== */

/* Main Background Underlay */
main>.underlay {
    background: url(../img/placeholder.jpg) center/cover no-repeat;
}

/* Promobar Section */
.promobar {
    padding: 10px 0;
    background: #fff;
    position: relative;
    z-index: 1000;
}

.promobar_socials {
    display: none;
}

.promobar_main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.promobar_main-text {
    margin-right: 15px;
    line-height: 1;
}

.promobar_main-text .hide {
    display: none;
}

.promobar_main .btn {
    width: 50%;
    height: 33px;
    padding: 0 20px;
    line-height: 1;
}

.promobar_main .btn span {
    position: relative;
    top: 1px;
}

/* ===== 5. HERO SECTION ===== */

.hero {
    text-align: center;
    padding: 20px 0 20px !important;
    margin-top: 0 !important;
}

.hero_title-section {
    margin-bottom: 20px;
    text-align: center;
    width: 100% !important;
    display: block !important;
}

.hero_title-section .hero_content-header {
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

.hero_media {
    margin-top: 40px;
    padding-top: 30px !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    right: auto !important;
    top: auto !important;
    z-index: 1 !important;
}

.hero_media--mobile {
    margin-top: -40px !important;
    margin-bottom: 20px !important;
    padding-top: 0 !important;
}

.hero_media--desktop {
    margin-top: 0;
    padding-top: 0 !important;
}

.hero_media lottie-player {
    left: 50%;
    min-width: 400px;
    position: relative;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.hero_media img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Mobile-specific gap between buttons and image */
@media screen and (max-width: 575.97px) {
    .hero_media {
        padding-top: 40px !important;
    }

    .hero_title-section {
        margin-bottom: 10px !important;
    }
}

/* Tablet-specific gap */
@media screen and (min-width: 576px) and (max-width: 991.97px) {
    .hero_media {
        padding-top: 25px !important;
    }
}

.hero_content-header {
    margin-bottom: 30px;
    margin-top: 0;
}

.hero_content-rating {
    margin-bottom: 15px;
}

.hero_content-rating .text {
    margin-bottom: 10px;
    color: #3d53eb;
}

.hero_content-text {
    margin-bottom: 40px;
}

.hero_content-action .btn {
    width: 100%;
}

.hero_content-action {
    margin-bottom: 30px !important;
}

.hero_content-action .btn:first-of-type {
    margin-bottom: 10px;
}

.hero_content-action .btn--highlight {
    border: 1px solid #ff0844;
    overflow: hidden;
    position: relative;
}

.hero_content-action .btn--highlight .text {
    position: relative;
    z-index: 20;
    color: #ff0844;
    font-size: 14px;
}

.hero_content-action .btn--highlight:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -o-linear-gradient(338.59deg, #ff0844 24.85%, #ff8b67 95.39%);
    background: linear-gradient(111.41deg, #ff0844 24.85%, #ff8b67 95.39%);
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    opacity: 0;
    z-index: 1;
}

.hero_content-action .btn--highlight:focus:after,
.hero_content-action .btn--highlight:hover:after {
    opacity: 1;
}

.hero_content-action .btn--highlight:focus .text,
.hero_content-action .btn--highlight:hover .text {
    color: #fff;
}

/* ===== 6. BENEFITS SECTION ===== */

.benefits {
    padding: 4rem 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.benefits_header {
    text-align: center;
    margin-bottom: 3rem;
}

.benefits_header-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.benefit-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    height: 100%;
    padding: 1.5rem;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
}

.benefit-icon {
    min-width: 60px;
    margin-right: 1rem;
}

.benefit-icon div {
    width: 60px;
    height: 60px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.benefit-content h4 {
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.8rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.benefit-content p {
    color: #6c757d;
    line-height: 1.6;
    margin: 0;
    font-size: clamp(0.9rem, 2vw, 1rem);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* CTA Styles in Benefits */
.cta-container {
    text-align: center;
}

.cta-title {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.cta-subtitle {
    font-size: 1.1rem;
    color: #6c757d;
    margin-bottom: 2rem;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-btn {
    background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
    color: white;
    padding: 1rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    display: inline-block;
}

.cta-btn .text {
    color: white !important;
}

.cta-btn-highlight {
    background: linear-gradient(135deg, #ff6b6b 0%, #ffa500 100%);
    color: white;
    padding: 1rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    display: inline-block;
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
}

/* ===== 7. ABOUT SECTION ===== */

.about {
    padding: 80px 0;
    position: relative;
}

.about_deco {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0.1;
}

.about_main {
    position: relative;
    z-index: 2;
}

.about_main-header {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    text-align: center;
    margin-bottom: 3rem;
}

.about_main-list {
    list-style: none;
    padding: 0;
}

.about_main-list_item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.about_main-list_item .icon {
    min-width: 40px;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.5rem;
    font-size: 1.2rem;
}

.about_main-list_item .content .title {
    font-size: 1.3rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.about_main-list_item .content .text {
    color: #6c757d;
    line-height: 1.6;
    font-size: 1rem;
}

/* ===== 8. COURSES SECTION ===== */

.courses {
    padding: 80px 0;
    background: #f8f9fa;
}

.courses_header {
    text-align: center;
    margin-bottom: 3rem;
}

.courses_header-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.courses_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

/* ===== 9. BANNER SECTION ===== */

.banner {
    padding: 3rem 0;
    background: linear-gradient(135deg, #20c997 0%, #17a2b8 100%);
    position: relative;
    overflow: hidden;
}

.banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 100 100%22%3E%3Cdefs%3E%3Cpattern id%3D%22bannerGrain%22 width%3D%22100%22 height%3D%22100%22 patternUnits%3D%22userSpaceOnUse%22%3E%3Ccircle cx%3D%2250%22 cy%3D%2250%22 r%3D%221%22 fill%3D%22%23ffffff%22 opacity%3D%220.1%22/%3E%3C/pattern%3E%3C/defs%3E%3Crect width%3D%22100%22 height%3D%22100%22 fill%3D%22url%28%23bannerGrain%29%22/%3E%3C/svg%3E');
    opacity: 0.3;
    z-index: 1;
}

.banner .container {
    position: relative;
    z-index: 2;
}

.banner h2 {
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 700;
    color: white;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.banner p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 0;
    line-height: 1.6;
}

.banner .btn {
    background: white;
    color: #20c997;
    padding: 1.2rem 2.5rem;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 50px;
    border: none;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.banner .btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3);
    color: #20c997;
    text-decoration: none;
}

.banner .btn i {
    font-size: 1.2rem;
}

.banner .btn i:last-child {
    font-size: 0.9rem;
}

/* Specialties CTA Section */
.specialties-cta {
    padding: 3rem 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    position: relative;
    overflow: hidden;
}

.specialties-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 100 100%22%3E%3Cdefs%3E%3Cpattern id%3D%22grain%22 width%3D%22100%22 height%3D%22100%22 patternUnits%3D%22userSpaceOnUse%22%3E%3Ccircle cx%3D%2250%22 cy%3D%2250%22 r%3D%221%22 fill%3D%22%23ffffff%22 opacity%3D%220.1%22/%3E%3C/pattern%3E%3C/defs%3E%3Crect width%3D%22100%22 height%3D%22100%22 fill%3D%22url%28%23grain%29%22/%3E%3C/svg%3E');
    opacity: 0.3;
    z-index: 1;
}

.specialties-cta .container {
    position: relative;
    z-index: 2;
}

.specialties-cta h2 {
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 700;
    color: white;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.specialties-cta p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 0;
    line-height: 1.6;
}

.specialties-cta .btn {
    background: white;
    color: #667eea;
    padding: 1.2rem 2.5rem;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 50px;
    border: none;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.specialties-cta .btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3);
    color: #667eea;
    text-decoration: none;
}

.specialties-cta .btn i {
    font-size: 1.2rem;
}

.specialties-cta .btn i:last-child {
    font-size: 0.9rem;
}

/* Banner CTA Section */
.banner-cta {
    padding: 3rem 0;
    background: linear-gradient(135deg, #20c997 0%, #17a2b8 100%);
    position: relative;
    overflow: hidden;
    margin-top: 4rem;
}

.banner-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 100 100%22%3E%3Cdefs%3E%3Cpattern id%3D%22grain%22 width%3D%22100%22 height%3D%22100%22 patternUnits%3D%22userSpaceOnUse%22%3E%3Ccircle cx%3D%2250%22 cy%3D%2250%22 r%3D%221%22 fill%3D%22%23ffffff%22 opacity%3D%220.1%22/%3E%3C/pattern%3E%3C/defs%3E%3Crect width%3D%22100%22 height%3D%22100%22 fill%3D%22url%28%23grain%29%22/%3E%3C/svg%3E');
    opacity: 0.3;
    z-index: 1;
}

.banner-cta .container {
    position: relative;
    z-index: 2;
}

.banner-cta h2 {
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.banner-cta p {
    font-size: 1.1rem;
    color: #ffffff;
    margin-bottom: 0;
    line-height: 1.6;
    opacity: 0.95;
}

.banner-cta .btn {
    background: white;
    color: #667eea;
    padding: 1.2rem 2.5rem;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 50px;
    border: none;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.banner-cta .btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3);
    color: #667eea;
    text-decoration: none;
}

.banner-cta .btn i {
    font-size: 1.2rem;
}

.banner-cta .btn i:last-child {
    font-size: 0.9rem;
}

/* ===== 9. CUSTOMER REVIEW SECTION ===== */

.customer-review-section {
    padding: 4rem 0;
    background: #f8f9fa;
    position: relative;
}

.customer-review-card {
    background: white;
    border-radius: 20px;
    padding: 3rem 2rem;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.customer-review-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #667eea, #764ba2);
}

.customer-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0 auto 1.5rem;
    border: 4px solid #f8f9fa;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

.customer-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.customer-name {
    font-size: 1.4rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.8rem;
}

.customer-rating {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
    gap: 0.3rem;
}

.customer-rating i {
    color: #ffc107;
    font-size: 1.5rem;
}

.customer-testimonial {
    font-size: 1.2rem;
    font-style: italic;
    color: #495057;
    line-height: 1.7;
    position: relative;
    padding: 0 1rem;
}


/* Responsive adjustments for customer review */
@media (max-width: 768px) {
    .customer-review-card {
        padding: 2rem 1.5rem;
        margin: 0 1rem;
    }

    .customer-avatar {
        width: 80px;
        height: 80px;
    }

    .customer-name {
        font-size: 1.2rem;
    }

    .customer-testimonial {
        font-size: 1.1rem;
        padding: 0;
    }

    .customer-testimonial::before,
    .customer-testimonial::after {
        font-size: 3rem;
    }
}


/* ===== 10. RESPONSIVE STYLES ===== */

/* Mobile Styles (max-width: 575px) */
@media screen and (max-width: 575.98px) {
    .hero {
        padding: 60px 0 40px;
    }

    .hero_content-header {
        font-size: 1.8rem;
    }

    .benefits {
        padding: 2rem 0;
    }

    .benefits_header-title {
        font-size: 1.8rem;
    }

    .benefit-card {
        flex-direction: column;
        text-align: center;
    }

    .benefit-icon {
        margin-right: 0;
        margin-bottom: 1rem;
        align-self: center;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .cta-btn,
    .cta-btn-highlight {
        width: 100%;
        max-width: 300px;
    }
}

/* Tablet Styles (576px - 991px) */
@media screen and (min-width: 575.98px) {
    .promobar_main-text .hide {
        display: inline;
    }

    .promobar_main .btn {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .hero {
        text-align: left;
        padding-bottom: 0;
    }

    .hero_title-section {
        text-align: left;
        margin-bottom: 30px;
        width: 100% !important;
        display: block !important;
    }

    .hero_media {
        margin-top: 20px;
        padding-top: 20px !important;
        position: relative !important;
        width: auto !important;
        height: auto !important;
    }

    .hero_media lottie-player {
        min-width: 600px;
    }

    .hero_media img {
        max-width: 100%;
        height: auto;
    }

    .hero_content-header {
        max-width: 500px;
        margin-bottom: 15px;
        margin-top: 0;
    }

    .hero_title-section .hero_content-header {
        max-width: none !important;
        width: 100% !important;
    }

    .hero_content-action {
        margin-bottom: 0 !important;
    }

    .hero_content-rating {
        margin-bottom: 30px;
    }

    .hero_content-rating .text {
        margin-bottom: 0;
        line-height: 1;
        margin-right: 10px;
    }

    .hero_content-text {
        margin-bottom: 35px;
    }

    .hero_content-action .btn {
        width: unset;
        max-width: unset;
        margin: 0;
        padding: 0;
    }

    .hero_content-action .btn:first-of-type {
        margin-bottom: 0;
        margin-right: 15px;
        width: 164px;
    }

    .hero_content-action .btn--highlight {
        width: 194px;
    }
}

@media screen and (min-width: 767.98px) {
    .hero {
        padding-top: 100px;
    }

    .hero_media lottie-player {
        min-width: 800px;
    }

    .hero_content-text {
        max-width: 450px;
        margin-bottom: 35px;
    }

    .benefit-card {
        flex-direction: row;
    }

    .benefit-icon {
        margin-right: 1rem;
        margin-bottom: 0;
    }
}

/* Desktop Styles (992px+) */
@media screen and (min-width: 991.98px) {
    .promobar_socials {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }

    .promobar_socials-item {
        font-size: 16px;
        line-height: 1;
        margin-right: 15px;
        position: relative;
        bottom: 0;
        -webkit-transition: bottom .3s;
        -o-transition: bottom .3s;
        transition: bottom .3s;
    }

    .promobar_socials-item:last-of-type {
        margin-right: 0;
    }

    .promobar_socials-item:focus,
    .promobar_socials-item:hover {
        bottom: 5px;
    }

    .promobar_main {
        -webkit-box-flex: unset;
        -ms-flex-positive: unset;
        flex-grow: unset;
    }

    .hero {
        position: relative;
        padding: 80px 0 40px !important;
        margin-top: 0 !important;
    }

    .hero_title-section {
        text-align: left;
        margin-bottom: 40px;
        width: 100% !important;
        display: block !important;
    }

    .hero_media {
        position: relative !important;
        width: auto !important;
        height: auto !important;
        right: auto !important;
        top: auto !important;
        z-index: 1 !important;
    }

    .hero_media img {
        position: relative;
        width: auto;
        max-width: 500px;
        height: auto;
        right: auto;
        top: auto;
        z-index: 1;
        display: block;
        margin: 0 auto;
    }

    .hero_content-header {
        margin-bottom: 30px;
        margin-top: 0;
    }

    .hero_title-section .hero_content-header {
        max-width: none !important;
        width: 100% !important;
    }

    .hero_content-rating {
        margin-bottom: 20px;
    }

    .hero_content-text {
        max-width: 500px;
    }

    .cta-buttons {
        flex-direction: row;
        justify-content: center;
    }
}

/* Large Desktop Styles (1200px+) */
@media screen and (min-width: 1199.98px) {
    .hero_media {
        right: -450px;
    }
}

@media screen and (min-width: 1399.98px) {
    .hero_media {
        right: -400px;
    }

    .hero_content {
        width: 630px;
    }
}

@media screen and (min-width: 1599.98px) {
    .hero_media {
        right: -274px;
    }
}

@media screen and (min-width: 1799.98px) {
    .hero_media {
        right: -235px;
    }
}

@media screen and (min-width: 1999.98px) {
    .hero_media {
        right: -144px;
    }
}

html {
    scroll-behavior: smooth
}

body,
html {
    overflow-x: hidden
}

ol,
ul {
    list-style: none
}

a {
    text-decoration: none
}

a,
button,
input,
textarea {
    background: 0 0;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    border: none;
    cursor: pointer;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

input[readonly],
textarea[readonly] {
    cursor: default
}

textarea {
    resize: none
}

img {
    display: block;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}


@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

.fadeIn {
    -webkit-animation: .4s ease-in-out fadeIn;
    animation: .4s ease-in-out fadeIn
}

.fadeOut {
    -webkit-animation: .4s ease-in-out fadeOut;
    animation: .4s ease-in-out fadeOut
}

html.fixed {
    overflow: hidden
}

body {
    background: #fbf8fe;
    font-family: 'Inter', sans-serif;
    color: #485870;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', sans-serif;
    color: #2b3543;
    font-weight: 600;
    line-height: 1.1
}

.h1,
h1 {
    font-size: 48px
}

.h2,
h2 {
    font-size: 40px
}

.h3,
h3 {
    font-size: 38px
}

.h4,
h4 {
    font-size: 28px
}

.h5,
h5 {
    font-size: 22px
}

.h6,
h6 {
    font-size: 16px;
    font-weight: 600
}

main {
    position: relative
}

main>.underlay {
    z-index: -1;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    background-blend-mode: lighten, color, normal;
    max-height: 1480px;
    height: 100%
}

main>.underlay:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: -o-linear-gradient(284.28deg, rgba(251, 248, 254, .0001) -51.77%, #fbf8fe 88.68%);
    background: linear-gradient(165.72deg, rgba(251, 248, 254, .0001) -51.77%, #fbf8fe 88.68%)
}

.text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #29323c
}

.text--sm {
    font-size: 14px
}

.container {
    max-width: 1110px;
    padding: 0 20px
}

.collapse:not(.show) {
    display: none
}

.collapsing {
    height: 0;
    overflow: hidden;
    -webkit-transition: height .3s ease-in-out;
    -o-transition: height .3s ease-in-out;
    transition: height .3s ease-in-out
}

.fade {
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out
}

.fade:not(.show) {
    opacity: 0
}

.tab-content>.tab-pane {
    display: none
}

.tab-content>.active {
    display: block
}

.panel {
    margin-bottom: 30px
}

.panel_block .link {
    line-height: 1;
    font-size: 22px;
    font-family: 'Inter', sans-serif;
    color: #3d53eb
}

.panel_block .custom-select-opener {
    margin-bottom: 0;
    padding: 0 55px 0 30px
}

.panel_block .icon {
    margin-right: 10px;
    position: relative;
    top: 2.5px
}

.btn {
    border-radius: 12px;
    font-weight: 00;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1;
    height: 54px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 30px
}

.btn .text {
    line-height: 1;
    position: relative;
    top: 1px
}

.btn--bordered {
    border: 1px solid #ededed
}

.btn--bordered:focus,
.btn--bordered:hover {
    border-color: #2575fc
}

.btn--arrow {
    /* text-transform: uppercase; */
    color: #3d53eb;
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.btn--arrow .icon {
    -webkit-transition: margin-left .3s ease-in-out;
    -o-transition: margin-left .3s ease-in-out;
    transition: margin-left .3s ease-in-out;
    margin-left: 10px;
    font-size: 14px
}

.btn--arrow:focus .icon,
.btn--arrow:hover .icon {
    margin-left: 15px
}

.btn--yellow {
    background: #f9d423;
    color: #29323c
}

.btn--yellow:focus,
.btn--yellow:hover {
    -webkit-box-shadow: 0 2px 7px rgba(255, 255, 255, .4);
    box-shadow: 0 2px 7px rgba(255, 255, 255, .4)
}

.btn--gradient {
    background: -o-linear-gradient(338.59deg, #ff0844 24.85%, #ff8b67 95.39%);
    background: linear-gradient(111.41deg, #ff0844 24.85%, #ff8b67 95.39%);
    position: relative;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    -webkit-box-shadow: 0 2px 4px rgba(43, 53, 67, 0);
    box-shadow: 0 2px 4px rgba(43, 53, 67, 0)
}

.btn--gradient .text {
    position: relative;
    z-index: 2;
    color: #fff;
    line-height: 1;
    font-size: 14px
}

.btn--gradient:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -o-linear-gradient(338.59deg, #ff8b67 24.85%, #ff0844 95.39%);
    background: linear-gradient(111.41deg, #ff8b67 24.85%, #ff0844 95.39%);
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    opacity: 0;
    z-index: 1
}

.btn--gradient:focus:after,
.btn--gradient:hover:after {
    opacity: 1
}



.courses-tags .tag {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    border: 1px solid #d5d5d5;
    border-radius: 10px;
    height: 40px;
    padding: 0 20px;
    margin: 10px 10px 0 0;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

.courses-tags .tag.current,
.courses-tags .tag:focus,
.courses-tags .tag:hover {
    color: #fff;
    background: #2b3543
}

.card {
    position: relative;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 14px rgba(216, 217, 255, .66);
    box-shadow: 0 2px 14px rgba(216, 217, 255, .66);
    text-align: center;
    padding: 40px 30px !important;
    height: 100%;
    cursor: pointer;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out
}

.card .content {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.card:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -o-linear-gradient(307.13deg, #6a11cb 12.55%, #2575fc 108.54%);
    background: linear-gradient(142.87deg, #6a11cb 12.55%, #2575fc 108.54%);
    opacity: 0;
    -webkit-transition: opacity .4s ease-in-out;
    -o-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out
}

.card_media {
    background: -o-linear-gradient(316.28deg, #6a11cb 21.85%, #2575fc 104.32%);
    background: linear-gradient(133.72deg, #6a11cb 21.85%, #2575fc 104.32%);
    border-radius: 12px;
    width: 74px;
    height: 74px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 10px;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    position: relative;
    overflow: hidden
}

.card_media:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff;
    opacity: 0;
    -webkit-transition: opacity .4s ease-in-out;
    -o-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    z-index: 1
}

.card_media .icon {
    position: relative;
    z-index: 2;
    color: #fff;
    font-size: 30px;
    -webkit-transition: color .4s ease-in-out;
    -o-transition: color .4s ease-in-out;
    transition: color .4s ease-in-out
}

.card_main-title {
    margin: 0 auto 10px;
    -webkit-transition: color .4s ease-in-out;
    -o-transition: color .4s ease-in-out;
    transition: color .4s ease-in-out;
    font-size: 26px
}

.card_main-text,
.card_main-title {
    max-width: 285px
}

.card:hover {
    color: #fff;
    -webkit-box-shadow: 0 2px 14px rgba(112, 115, 255, .75);
    box-shadow: 0 2px 14px rgba(112, 115, 255, .75)
}

.card:hover .card_media:after,
.card:hover:after {
    opacity: 1
}

.card:hover .card_media .icon {
    color: #3d53eb
}

.card:hover .card_main-title {
    color: #fff
}

.course-card_wrapper {
    background: #fff;
    -webkit-box-shadow: 0 2px 14px rgba(216, 217, 255, .66);
    box-shadow: 0 2px 14px rgba(216, 217, 255, .66);
    border-radius: 12px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

.course-card_wrapper .bottom,
.course-card_wrapper .top {
    padding: 30px
}

.course-card_wrapper .top {
    padding-right: 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.course-card_wrapper .top_icon {
    width: 64px;
    height: 64px;
    margin-right: 15px;
    border-radius: 12px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    font-size: 24px
}

.course-card_wrapper .top_icon--blue {
    background: -o-linear-gradient(288.59deg, #6a11cb 13.53%, #2575fc 81.8%);
    background: linear-gradient(161.41deg, #6a11cb 13.53%, #2575fc 81.8%)
}

.course-card_wrapper .top_icon--orange {
    background: -o-linear-gradient(135.36deg, #f9d423 -11.62%, #f83600 85.97%);
    background: linear-gradient(314.64deg, #f9d423 -11.62%, #f83600 85.97%)
}

.course-card_wrapper .top_icon--sky {
    background: -o-linear-gradient(135deg, #0acffe 0, #495aff 100%);
    background: linear-gradient(315deg, #0acffe 0, #495aff 100%)
}

.course-card_wrapper .top_icon--pink {
    background: -o-linear-gradient(315.4deg, #ff0844 19.3%, #ffb199 160.21%);
    background: linear-gradient(134.6deg, #ff0844 19.3%, #ffb199 160.21%)
}

.course-card_wrapper .top_title {
    margin-bottom: 5px
}

.course-card_wrapper .top_author {
    margin: 5px 0 8px;
    font-weight: 700;
    color: #868686
}

.course-card_wrapper .top_details {
    font-weight: 900;
    color: #3d53eb
}

.course-card_wrapper .top_author,
.course-card_wrapper .top_details {
    font-size: 14px;
    line-height: 1
}

.course-card_wrapper .top .wrapper {
    width: calc(100% - 80px)
}

.course-card_wrapper .bottom_btn {
    padding: 0;
    width: 100%
}

.course-card_wrapper .pricing {
    background: #e9f1fe;
    padding: 10px;
    text-align: center
}

.course-card_wrapper .pricing_price {
    font-size: 20px;
    line-height: 1.1
}

.course-card_wrapper:hover {
    -webkit-box-shadow: 0 2px 14px rgba(137, 139, 255, .5);
    box-shadow: 0 2px 14px rgba(137, 139, 255, .5)
}

.field {
    height: 54px;
    background: #fff;
    border: 1px solid #d5d5d5;
    border-radius: 12px;
    width: 100%;
    padding: 19px 45px 18px 20px;
    font-size: 16px;
    line-height: 1;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

.field::-webkit-input-placeholder {
    color: #979797;
    -webkit-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    font-weight: 400 !important
}

.field::-moz-placeholder {
    color: #979797;
    -moz-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    font-weight: 400 !important
}

.field:-ms-input-placeholder {
    color: #979797;
    -ms-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    font-weight: 400 !important
}

.field::-ms-input-placeholder {
    color: #979797;
    -ms-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    font-weight: 400 !important
}

.field::placeholder {
    color: #979797;
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    font-weight: 400 !important
}

.field:focus {
    border-color: #e1e0e0
}

.field:focus::-webkit-input-placeholder {
    opacity: 0
}

.field:focus::-moz-placeholder {
    opacity: 0
}

.field:focus:-ms-input-placeholder {
    opacity: 0
}

.field:focus::-ms-input-placeholder {
    opacity: 0
}

.field:focus::placeholder {
    opacity: 0
}

.field.error {
    border-color: red
}

input[type=checkbox] {
    position: absolute;
    left: -9999px
}

input[type=checkbox]+label {
    position: relative;
    padding-left: 26px;
    cursor: pointer;
    display: inline-block;
    -webkit-transition: color .4s ease-in-out;
    -o-transition: color .4s ease-in-out;
    transition: color .4s ease-in-out;
    line-height: 1
}

input[type=checkbox]:checked+label:before,
input[type=checkbox]:not(:checked)+label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

input[type=checkbox]:checked+label:before {
    border: 1px solid #485870
}

input[type=checkbox]:not(:checked)+label:before {
    border: 1px solid #979797
}

input[type=checkbox]:checked+label .icon,
input[type=checkbox]:not(:checked)+label .icon {
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 3px;
    border-radius: 50%;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

input[type=checkbox]:not(:checked)+label .icon {
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0)
}

input[type=checkbox]:checked+label .icon {
    opacity: 1;
    -webkit-transform: scale(1) translateY(-50%);
    -ms-transform: scale(1) translateY(-50%);
    transform: scale(1) translateY(-50%)
}

.pagination_pages {
    margin-right: 30px
}

.pagination_pages-page {
    margin-right: 15px
}

.pagination_pages-page:last-of-type {
    margin-right: 0
}

.pagination_pages-page .page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    border: 2px solid #ededed;
    border-radius: 4px;
    width: 40px;
    height: 40px;
    font-weight: 700;
    color: #858585;
    position: relative;
    overflow: hidden;
    -webkit-transition: color .4s ease-in-out;
    -o-transition: color .4s ease-in-out;
    transition: color .4s ease-in-out
}

.pagination_pages-page .page:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    background: -o-linear-gradient(334.8deg, #6a11cb 5.44%, #2575fc 110.17%);
    background: linear-gradient(115.2deg, #6a11cb 5.44%, #2575fc 110.17%);
    z-index: 1;
    -webkit-transition: opacity .4s ease-in-out;
    -o-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    opacity: 0
}

.pagination_pages-page .page-number {
    position: relative;
    z-index: 2
}

.pagination_pages-page .page.active {
    cursor: default
}

.pagination_pages-page .page.active,
.pagination_pages-page .page:focus,
.pagination_pages-page .page:hover {
    color: #fff;
    border-color: transparent
}

.pagination_pages-page .page.active:after,
.pagination_pages-page .page:focus:after,
.pagination_pages-page .page:hover:after {
    opacity: 1
}

.pagination_next {
    color: #858585;
    font-size: 24px;
    line-height: 1
}

.rating_star {
    margin-right: 13px;
    line-height: 1
}

.rating_star:last-of-type {
    margin-right: 0
}

.rating_star .icon {
    color: #f83600;
    font-size: 16px
}

.quote {
    display: block;
    quotes: none;
    font-size: 20px;
    line-height: 1.6;
    font-style: italic
}

iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block
}

.cover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    cursor: pointer
}

.cover.hidden {
    visibility: hidden;
    opacity: 0
}

.cover_label {
    position: absolute;
    top: 20px;
    left: 20px;
    border-radius: 10px;
    background: #3d53eb;
    z-index: 100;
    color: #fff;
    padding: 0 20px;
    height: 32px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.cover_media {
    position: relative;
    z-index: 1;
    height: 100%;
    overflow: hidden
}

.cover_media img {
    height: 100%
}

.cover_media:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(35.39%, rgba(0, 0, 0, .0001)), to(#000));
    background: -o-linear-gradient(top, rgba(0, 0, 0, .0001) 35.39%, #000 100%);
    background: linear-gradient(180deg, rgba(0, 0, 0, .0001) 35.39%, #000 100%)
}

.cover_text {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 50;
    padding: 20px 40px 20px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.cover_text-name {
    display: inline-block;
    margin-bottom: 5px;
    line-height: 1;
    color: #d5d5d5;
    font-weight: 700
}

.cover_text-title {
    color: #fff;
    font-size: 20px
}

.cover_play {
    position: absolute;
    width: 120px;
    height: 120px;
    z-index: 2;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.cover_duration {
    position: absolute;
    font-size: 12px;
    line-height: 1;
    color: #d5d5d5;
    z-index: 5;
    right: 10px;
    bottom: 10px
}

@media screen and (min-width:767.98px) {

    .h1,
    h1 {
        font-size: 58px
    }

    .h2,
    h2 {
        font-size: 48px
    }

    .h3,
    h3 {
        font-size: 44px
    }

    .h4,
    .h5,
    h4,
    h5 {
        line-height: 1.3
    }

    .container {
        padding: 0 40px
    }
}

@media screen and (min-width:991.98px) {

    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        line-height: 1.2
    }

    .h1,
    h1 {
        font-size: 64px
    }

    .h2,
    h2 {
        font-size: 52px
    }

    .h4,
    h4 {
        font-size: 32px
    }

    .h5,
    h5 {
        font-size: 24px
    }

    .panel {
        display: none !important
    }
}

@media screen and (min-width:1199.98px) {
    .container {
        padding: 0
    }
}

a[href^="http://maps.google.com/maps"],
a[href^="https://maps.google.com/maps"] {
    display: none !important
}

.gm-style-cc,
.gmnoprint a,
.gmnoprint span {
    display: none
}

.gmnoprint div {
    background: 0 0 !important
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none
}

.promobar {
    background: -webkit-gradient(linear, left top, right top, color-stop(3.62%, #6a11cb), color-stop(97.87%, #2575fc));
    background: -o-linear-gradient(left, #6a11cb 3.62%, #2575fc 97.87%);
    background: linear-gradient(90deg, #6a11cb 3.62%, #2575fc 97.87%);
    color: #fff;
    height: 62px
}

.promobar_socials {
    display: none !important
}

.promobar_main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.promobar_main-text {
    margin-right: 15px;
    line-height: 1
}

.promobar_main-text .hide {
    display: none
}

.promobar_main .btn {
    width: 50%;
    height: 33px;
    padding: 0 20px;
    line-height: 1
}

.promobar_main .btn span {
    position: relative;
    top: 1px
}

main>.underlay {
    background: url(../img/placeholder.jpg) center/cover no-repeat
}

.hero {
    text-align: center;
    padding: 80px 0 20px
}

.hero_media {
    margin-top: 20px
}

.hero_media lottie-player {
    left: 50%;
    min-width: 400px;
    position: relative;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.hero_content-header {
    margin-bottom: 30px
}

.hero_content-rating {
    margin-bottom: 15px
}

.hero_content-rating .text {
    margin-bottom: 10px;
    color: #3d53eb
}

.hero_content-text {
    margin-bottom: 40px
}

.hero_content-action .btn {
    width: 100%
}

.hero_content-action .btn:first-of-type {
    margin-bottom: 10px
}

.hero_content-action .btn--highlight {
    border: 1px solid #ff0844;
    overflow: hidden;
    position: relative
}

.hero_content-action .btn--highlight .text {
    position: relative;
    z-index: 20;
    color: #ff0844;
    font-size: 14px
}

.hero_content-action .btn--highlight:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -o-linear-gradient(338.59deg, #ff0844 24.85%, #ff8b67 95.39%);
    background: linear-gradient(111.41deg, #ff0844 24.85%, #ff8b67 95.39%);
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    opacity: 0;
    z-index: 1
}

.hero_content-action .btn--highlight:focus,
.hero_content-action .btn--highlight:hover {
    -o-border-image: -o-linear-gradient(338.59deg, #ff0844 24.85%, #ff8b67 95.39%);
    border-image: linear-gradient(111.41deg, #ff0844 24.85%, #ff8b67 95.39%)
}

.hero_content-action .btn--highlight:focus:after,
.hero_content-action .btn--highlight:hover:after {
    opacity: 1
}

.hero_content-action .btn--highlight:focus .text,
.hero_content-action .btn--highlight:hover .text {
    color: #fff
}

@media screen and (min-width:575.98px) {
    .hero {
        text-align: left;
        padding-bottom: 0
    }

    .hero_media {
        margin-top: 0
    }

    .hero_media lottie-player {
        min-width: 600px
    }

    .hero_content-header {
        max-width: 500px;
        margin-bottom: 15px
    }

    .hero_content-rating {
        margin-bottom: 30px
    }

    .hero_content-rating .text {
        margin-bottom: 0;
        line-height: 1;
        margin-right: 10px
    }

    .hero_content-text {
        margin-bottom: 35px
    }

    .hero_content-action .btn {
        width: unset;
        max-width: unset;
        margin: 0;
        padding: 0
    }

    .hero_content-action .btn:first-of-type {
        margin-bottom: 0;
        margin-right: 15px;
        width: 164px
    }

    .hero_content-action .btn--highlight {
        width: 194px
    }
}

@media screen and (min-width:767.98px) {
    .hero {
        padding-top: 100px
    }

    .hero_media lottie-player {
        min-width: 800px
    }

    .hero_content-text {
        max-width: 450px;
        margin-bottom: 35px
    }
}

@media screen and (min-width:991.98px) {
    .hero {
        position: relative;
        padding: 200px 0 120px
    }

    .hero_media {
        width: 1390px;
        height: 990px;
        position: absolute;
        right: -654px;
        top: -150px;
        z-index: -1
    }

    .hero_content-header {
        margin-bottom: 30px
    }

    .hero_content-rating {
        margin-bottom: 20px
    }

    .hero_content-text {
        max-width: 500px
    }
}

@media screen and (min-width:1199.98px) {
    .hero_media {
        right: -450px
    }
}

@media screen and (min-width:1399.98px) {
    .hero_media {
        right: -400px
    }

    .hero_content {
        width: 630px
    }
}

@media screen and (min-width:1599.98px) {
    .hero_media {
        right: -274px
    }
}

@media screen and (min-width:1799.98px) {
    .hero_media {
        right: -235px
    }
}

@media screen and (min-width:1999.98px) {
    .hero_media {
        right: -144px
    }
}

@media screen and (min-width:2199.98px) {
    .hero_media {
        right: 0
    }
}

@media screen and (min-width:2399.98px) {
    .hero_media {
        right: 70px
    }
}

.features {
    padding-bottom: 80px
}

.features_list-item {
    margin-bottom: 30px
}

.features_list-item:last-of-type {
    margin-bottom: 0
}

@media screen and (min-width:767.98px) {
    .features {
        padding-bottom: 100px
    }

    .features_list {
        margin: 0 -15px
    }

    .features_list-item {
        padding: 0 15px;
        margin-bottom: 0
    }
}

@media screen and (min-width:991.98px) {
    .features {
        padding-bottom: 150px
    }

    .features_list {
        margin: 0 -17.5px
    }

    .features_list-item {
        padding: 0 17.5px
    }
}

.promo {
    padding-bottom: 80px
}

.promo_content {
    margin-bottom: 40px;
    text-align: center
}

.promo_content-header {
    margin-bottom: 20px
}

.promo_content-text {
    margin-bottom: 30px
}

.promo_content-btn {
    width: 100%;
    max-width: 300px;
    margin: 0 auto
}

@media screen and (min-width:575.98px) {
    .promo {
        padding-bottom: 120px
    }

    .promo_content {
        margin-bottom: 50px;
        text-align: left
    }

    .promo_content-header {
        max-width: 535px;
        margin-bottom: 15px
    }

    .promo_content-btn {
        width: 164px;
        max-width: unset;
        margin: 0;
        padding: 0
    }
}

@media screen and (min-width:767.98px) {
    .promo {
        padding-bottom: 80px
    }

    .promo_content {
        margin-bottom: 40px
    }
}

@media screen and (min-width:991.98px) {
    .promo {
        position: relative;
        padding: 0
    }

    .promo_content {
        max-width: 535px;
        margin: 0 0 0 auto
    }

    .promo_content-header {
        max-width: 535px
    }

    .promo_media {
        position: absolute;
        overflow: visible;
        top: -30px;
        left: -320px;
        width: 738px
    }
}

@media screen and (min-width:1119.98px) {
    .promo_media {
        top: -137px;
        left: -402px;
        width: 968px
    }
}

@media screen and (min-width:1199.98px) {
    .promo_media {
        top: -84px;
        left: -442px;
        width: 1095px
    }

    .promo_content {
        margin-top: 30px
    }
}

@media screen and (min-width:1399.98px) {
    .promo_media {
        left: -364px
    }
}

@media screen and (min-width:1599.98px) {
    .promo_media {
        width: 1200px;
        left: -340px;
        top: -112px
    }

    .promo_content {
        margin-top: 40px
    }
}

@media screen and (min-width:1920px) {
    .promo_media {
        left: -180px
    }
}

@media screen and (min-width:2200px) {
    .promo_media {
        left: -60px
    }
}

@media screen and (min-width:2400px) {
    .promo_media {
        left: 20px
    }
}

@media screen and (min-width:2560px) {
    .hero_media {
        right: 170px
    }

    .promo_media {
        left: 125px
    }
}

.about {
    padding-bottom: 80px
}

.about .container {
    position: relative
}

.about_deco {
    -webkit-filter: drop-shadow(6px 6px 13px rgba(0, 0, 0, .218415));
    filter: drop-shadow(6px 6px 13px rgba(0, 0, 0, .218415));
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
    display: none
}

.about_main {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1.26%, #6a11cb), to(#2575fc));
    background: -o-linear-gradient(top, #6a11cb 1.26%, #2575fc 100%);
    background: linear-gradient(180deg, #6a11cb 1.26%, #2575fc 100%);
    -webkit-box-shadow: 0 2px 14px rgba(112, 115, 255, .4);
    box-shadow: 0 2px 14px rgba(112, 115, 255, .4);
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px
}

.about_main-header {
    text-align: center;
    margin-bottom: 20px;
    color: #fff
}

.about_main-list_item {
    text-align: center;
    margin-bottom: 30px
}

.about_main-list_item:last-of-type,
.about_main-list_item:last-of-type .title {
    margin-bottom: 0
}

.about_main-list_item .icon {
    color: #ff0844;
    font-size: 30px;
    margin-bottom: 10px
}

.about_main-list_item .title {
    color: #fff;
    margin-bottom: 10px;
    line-height: 1.4
}

.about_main-list_item .text {
    font-weight: 400;
    font-size: 14px;
    color: #eeefff
}

.about_review-wrapper {
    background: #fff;
    -webkit-box-shadow: 0 2px 14px rgba(216, 217, 255, .65);
    box-shadow: 0 2px 14px rgba(216, 217, 255, .65);
    border-radius: 12px;
    text-align: center;
    padding: 40px 30px
}

.about_review-wrapper .media {
    width: 150px;
    height: 150px;
    margin: 0 auto 20px
}

.about_review-wrapper .media img {
    border-radius: 50%;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.about_review-wrapper .main_name {
    margin-bottom: 10px
}

.about_review-wrapper .main_review {
    font-size: 18px
}

.about_review-wrapper .rating {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 20px
}

@media screen and (min-width:575.98px) {
    .about_deco {
        display: block;
        position: absolute;
        right: -64px;
        top: -196px;
        max-width: 420px
    }

    .about_main {
        padding: 60px
    }

    .about_main-header {
        text-align: left
    }

    .about_main-list_item {
        text-align: left;
        margin-bottom: 15px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .about_main-list_item .icon {
        font-size: 18px;
        margin: 6px 12px 0 0
    }
}

@media screen and (min-width:767.98px) {
    .about {
        padding-bottom: 100px
    }

    .about_main-list_item .title {
        margin-bottom: 20px
    }

    .about_main-list_item .text {
        font-size: 16px
    }

    .about_review-wrapper {
        padding: 60px
    }

    .about_review-wrapper .media {
        width: 150px;
        height: 150px;
        margin: 0 auto 20px
    }

    .about_review-wrapper .media img {
        border-radius: 50%;
        overflow: hidden;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }
}

@media screen and (min-width:991.98px) {
    .about {
        padding: 120px 0 190px;
        position: relative
    }

    .about_deco {
        top: -270px;
        max-width: 580px
    }

    .about_main {
        margin-bottom: 0
    }

    .about_main-header,
    .about_main-list_item {
        margin-bottom: 30px
    }

    .about_main-list_item .title {
        margin-bottom: 10px
    }

    .about_main .content {
        max-width: 470px
    }
}

@media screen and (min-width:1199.98px) {
    .about {
        padding: 200px 0 170px
    }

    .about_deco {
        right: -126px
    }
}

.popular {
    padding-bottom: 80px
}

.popular_header {
    text-align: center;
    margin-bottom: 10px
}

.popular_header-title {
    margin-bottom: 15px
}

.popular_header-text {
    max-width: 725px;
    margin: 0 auto
}

.popular_list-card,
.popular_tags {
    margin-bottom: 30px
}

.popular_list-card:last-of-type {
    margin-bottom: 0
}

.popular_list-card .course-card_wrapper {
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

.popular_list-card .course-card_wrapper .top {
    padding-right: 30px
}

.popular_list-card .course-card_wrapper .bottom_list {
    margin-bottom: 20px
}

.popular_list-card .course-card_wrapper .bottom_list-item {
    margin-bottom: 5px
}

.popular_list-card .course-card_wrapper .bottom_list-item:last-of-type {
    margin-bottom: 0
}

.popular_list-card .course-card_wrapper .bottom_list-item_marker {
    font-size: 6px;
    margin: 6px 6px 0 0;
    color: #485870
}

.popular_list-card .course-card_wrapper .bottom_list-item_text {
    width: calc(100% - 12px)
}

.popular_list-card .course-card_wrapper:hover {
    -webkit-box-shadow: 0 2px 14px rgba(137, 139, 255, .5);
    box-shadow: 0 2px 14px rgba(137, 139, 255, .5)
}

.popular_btn {
    margin: 50px auto 0;
    width: 100%
}

@media screen and (min-width:575.98px) {
    .popular_btn {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        padding: 0 68px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

@media screen and (min-width:767.98px) {
    .popular {
        padding-bottom: 100px
    }

    .popular_tags {
        margin-bottom: 40px
    }

    .popular_list {
        margin: 0 -15px
    }

    .popular_list-card {
        padding: 0 15px;
        margin-bottom: 0
    }

    .popular_list-card:last-of-type {
        display: none
    }
}

@media screen and (min-width:991.98px) {
    .popular {
        padding-bottom: 120px
    }

    .popular_header {
        margin-bottom: 25px
    }

    .popular_list-card:last-of-type {
        display: block
    }
}

@media screen and (min-width:1199.98px) {
    .popular_list-card {
        margin-bottom: 0
    }
}

.banner {
    padding: 2.5rem 0 !important;
    background: linear-gradient(135deg, #f8f4f0 0%, #f5e6d3 50%, #f0d0a0 100%) !important;
    position: relative;
}

.banner .underlay,
.banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 100 100%22%3E%3Cdefs%3E%3Cpattern id%3D%22bannerGrain%22 width%3D%22100%22 height%3D%22100%22 patternUnits%3D%22userSpaceOnUse%22%3E%3Ccircle cx%3D%2250%22 cy%3D%2250%22 r%3D%221%22 fill%3D%22%23d4a574%22 opacity%3D%220.1%22/%3E%3C/pattern%3E%3C/defs%3E%3Crect width%3D%22100%22 height%3D%22100%22 fill%3D%22url%28%23bannerGrain%29%22/%3E%3C/svg%3E');
    opacity: 0.3;
    z-index: 1;
}

.banner .container {
    position: relative;
    z-index: 2
}

.banner_content {
    position: relative;
    z-index: 2;
}

.banner_content-title {
    color: #6b4423 !important;
    font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.banner_content p {
    font-size: 1.1rem !important;
    color: #8b6914 !important;
    margin-bottom: 0 !important;
    line-height: 1.6 !important;
}

.banner_content-btn {
    background: #6b4423 !important;
    color: white !important;
    padding: 1.2rem 2.5rem !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    border-radius: 50px !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(107, 68, 35, 0.3) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    width: auto !important;
    margin-bottom: 0 !important;
}

.banner_media {
    display: none
}

.banner_media-wrapper {
    overflow: hidden;
    border-radius: 100% 0 0 100%/100% 19% 81% 0
}

.banner_media-wrapper img {
    height: 100%
}

@media screen and (min-width:575.98px) {
    .banner_content-btn {
        width: unset
    }
}

@media screen and (min-width:991.98px) {
    .banner {
        padding: 0
    }

    .banner .container {
        padding: 0;
        max-width: unset;
        margin-left: 0;
        margin-right: calc(50vw - 530px);
        min-height: 370px;
        max-height: 370px;
        overflow: hidden
    }

    .banner_content {
        width: 50%;
        padding-left: 12px;
        margin: unset;
        text-align: left
    }

    .banner_content-btn {
        margin-bottom: 0
    }

    .banner_media {
        height: 700px;
        display: block;
        width: 50vw;
        border-radius: 100% 0/83% 100% 0 17%;
        overflow: hidden;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }

    .banner_media img {
        height: 370px;
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (min-width:1199.98px) {
    .banner .container {
        margin-right: 0;
        margin-left: calc(50vw - (1110px / 2))
    }
}

.modal {
    z-index: 1000000
}

.modal.swal2-backdrop-show {
    background: rgba(43, 53, 67, .5)
}

.modal .modal_popup-close {
    position: absolute;
    font-size: 20px;
    top: 10px;
    right: 10px;
    color: #3d53eb
}

.modal_popup {
    background: #fff;
    border-radius: 12px;
    position: relative
}

.modal_popup--team {
    overflow: hidden;
    padding: 30px
}

.modal_popup--team .media {
    border-radius: 12px;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    margin-bottom: 10px
}

.modal_popup--team .media::before {
    float: left;
    padding-top: 100%;
    content: ''
}

.modal_popup--team .media::after {
    display: block;
    content: '';
    clear: both
}

.modal_popup--team .media img {
    height: 100%
}

.modal_popup--team .main .icon {
    color: #3d53eb
}

.modal_popup--team .main_name {
    line-height: 1.1;
    color: #3d53eb;
    margin-bottom: 5px
}

.modal_popup--team .main_socials {
    margin: 10px 0;
    font-size: 20px
}

.modal_popup--team .main_socials-item {
    width: 21px;
    margin-right: 15px
}

.modal_popup--team .main_bio {
    margin-bottom: 20px
}

.modal_popup--team .main_about {
    margin-bottom: 30px
}

.modal_popup--team .main_about-item {
    margin-bottom: 10px
}

.modal_popup--team .main_about-item:last-of-type {
    margin-bottom: 0
}

.modal_popup--team .main_about-item .text {
    margin: 0 3px
}

.modal_popup--team .main_btn {
    text-transform: uppercase;
    color: #3d53eb;
    font-size: 14px;
    line-height: 1;
    font-weight: 900
}

.modal_popup--team .main_btn .icon {
    -webkit-transition: margin-left .3s ease-in-out;
    -o-transition: margin-left .3s ease-in-out;
    transition: margin-left .3s ease-in-out;
    margin-left: 10px;
    font-size: 14px
}

.modal_popup--team .main_btn:focus .icon,
.modal_popup--team .main_btn:hover .icon {
    margin-left: 15px
}

.modal_popup--register {
    max-width: 1000px;
    padding: 30px;
    text-align: center
}

.modal_popup--register .title {
    margin-bottom: 15px
}

.modal_popup--register .subtitle {
    color: #3d53eb;
    margin: 10px 0
}

.modal_popup--register .text {
    font-weight: 400
}

.modal_popup--register .registration_form {
    margin-top: 20px
}

.modal_popup--register .registration_form .field:not(:last-of-type) {
    margin-bottom: 10px
}

.modal_popup--register .registration_form .wrapper {
    margin: 10px 0 20px;
    text-align: left;
    font-size: 14px;
    font-weight: 600
}

.modal_popup--register .registration_form .wrapper .link {
    color: #3d53eb;
    margin-left: 25px
}

.modal_popup--register .registration_form .wrapper .checkbox input[type=checkbox]:checked+label:after,
.modal_popup--register .registration_form .wrapper .checkbox input[type=checkbox]:checked+label:before {
    top: 10px
}

.modal_popup--register .registration_form .btn {
    width: 100%
}

.alert_popup {
    background: #fff;
    -webkit-box-shadow: 0 2px 14px rgba(112, 115, 255, .4);
    box-shadow: 0 2px 14px rgba(112, 115, 255, .4);
    border-radius: 8px;
    min-width: 280px;
    max-width: 360px;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 30px;
    position: relative;
    z-index: 1000000
}

.alert_popup-close {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-transition: color .3s ease-in-out;
    -o-transition: color .3s ease-in-out;
    transition: color .3s ease-in-out;
    position: absolute;
    top: 15px;
    right: 15px
}

.alert_popup-close:focus,
.alert_popup-close:hover {
    color: #3d53eb
}

@media screen and (min-width:575.98px) {
    .modal_popup--team {
        padding: 40px
    }

    .modal_popup--team .modal_popup-close {
        font-size: 24px;
        top: 15px;
        right: 15px
    }

    .modal_popup--register {
        padding: 60px
    }

    .modal_popup--register .modal_popup-close {
        top: 20px;
        right: 20px
    }

    .modal_popup--register .registration_form {
        max-width: 605px;
        margin: 20px auto 0
    }

    .modal_popup--register .registration_form .wrapper {
        margin: 10px 0 20px;
        text-align: center
    }

    .modal_popup--register .registration_form .wrapper .link {
        color: #3d53eb;
        font-weight: 600
    }

    .modal_popup--register .registration_form .btn {
        width: 350px
    }
}

@media screen and (min-width:767.98px) {
    .modal_popup--team .modal_popup-close {
        top: 20px;
        right: 20px
    }

    .modal_popup--team .media {
        margin-right: 40px
    }

    .modal_popup--register .registration_form .wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .modal_popup--register .registration_form .wrapper .link {
        margin-left: 5px
    }
}

@media screen and (min-width:991.98px) {
    .modal_popup--team {
        padding: 75px 70px;
        max-width: 1000px
    }

    .modal_popup--team .media {
        width: 356px;
        margin-bottom: 0
    }

    .modal_popup--team .media::before {
        float: left;
        padding-top: unset;
        content: ''
    }

    .modal_popup--team .media::after {
        display: block;
        content: '';
        clear: both
    }

    .modal_popup--team .main {
        width: calc(100% - 396px)
    }
}

/* Custom responsive styles for mobile optimization */
@media (max-width: 768px) {
    .hero_content-header {
        font-size: 1.8rem !important;
    }

    .hero_content h5 {
        font-size: 1.1rem !important;
    }

    .benefits_header-title {
        font-size: 2rem !important;
    }

    .benefit-icon {
        display: none !important;
    }

    .benefit-content {
        width: 100% !important;
        text-align: left !important;
    }

    /* Make call to action border smaller on tablets */
    .text-center .mt-5>div {
        border-radius: 15px !important;
        padding: 0.25rem !important;
    }
}

@media (max-width: 576px) {
    .hero_content-header {
        font-size: 1.5rem !important;
    }

    .hero_content h5 {
        font-size: 1rem !important;
    }

    .benefits_header-title {
        font-size: 1.7rem !important;
    }

    .benefit-icon {
        display: none !important;
    }

    .benefit-content {
        width: 100% !important;
        text-align: left !important;
    }

    /* Make call to action border even smaller on phones */
    .text-center .mt-5>div {
        border-radius: 10px !important;
        padding: 0.25rem !important;
    }
}

/* ================================================
 * MODAL STYLES
 * ================================================ */

/* Modal Styles */
.screenshot-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    animation: fadeIn 0.3s ease;
}

.screenshot-modal.show {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-content {
    position: relative;
    max-width: 95%;
    max-height: 95%;
    background: linear-gradient(135deg,
            #4a90e2 0%,
            #d4a574 50%,
            #f8f8f8 100%);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
    animation: modalSlideIn 0.3s ease;
    padding: 0px;
}

.modal-image {
    width: 100%;
    height: auto;
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    display: block;
    border-radius: 8px;
}

.modal-caption {
    display: none;
}

.modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0, 0, 0, 0.3);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: white;
    z-index: 10;
    backdrop-filter: blur(5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.modal-close:hover {
    background: rgba(0, 0, 0, 0.9);
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: scale(0.7) translateY(-50px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* ================================================
 * AUTUMN OFFER BANNER STYLES
 * ================================================ */

.autumn-offer-banner {
    background: linear-gradient(135deg, #ff6b35 0%, #f7931e 25%, #ff8c42 50%, #ff6b35 75%, #d2691e 100%);
    background-size: 400% 400%;
    animation: autumnGradient 6s ease infinite;
    padding: 15px 0;
    position: relative;
    box-shadow:
        0 8px 32px rgba(255, 107, 53, 0.4),
        0 4px 16px rgba(255, 107, 53, 0.3),
        0 2px 8px rgba(0, 0, 0, 0.1);
    border-bottom: 3px solid #d2691e;
    z-index: 1000;
}

.autumn-banner-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.autumn-banner-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.autumn-icon {
    font-size: 2.5rem;
    animation: leafFloat 3s ease-in-out infinite;
}

.autumn-text .autumn-title {
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.5px;
}

.autumn-text .autumn-subtitle {
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.9rem;
    margin: 0;
    font-weight: 500;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.autumn-banner-center {
    flex: 1;
    display: flex;
    justify-content: center;
}

.price-container {
    display: flex;
    align-items: center;
    gap: 15px;
    background: rgba(255, 255, 255, 0.15);
    padding: 10px 20px;
    border-radius: 25px;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.old-price {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: line-through;
    font-weight: 500;
}

.new-price {
    font-size: 1.8rem;
    color: white;
    font-weight: 900;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}

.discount-badge {
    background: #ff1744;
    color: white;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 700;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0 2px 8px rgba(255, 23, 68, 0.4);
    animation: pulse 2s infinite;
}

.autumn-banner-right {
    display: flex;
    align-items: center;
}

.autumn-cta-btn {
    background: linear-gradient(45deg, #4CAF50, #45a049);
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.4);
    white-space: nowrap;
}

.autumn-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.6);
    background: linear-gradient(45deg, #45a049, #4CAF50);
}

/* Animations */
@keyframes autumnGradient {

    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes leafFloat {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-5px) rotate(5deg);
    }
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .autumn-offer-banner {
        padding: 12px 0;
    }

    .autumn-banner-content {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .autumn-banner-left {
        justify-content: center;
    }

    .autumn-icon {
        font-size: 2rem;
    }

    .autumn-text .autumn-title {
        font-size: 1.3rem;
    }

    .price-container {
        gap: 10px;
        padding: 8px 15px;
    }

    .old-price {
        font-size: 1rem;
    }

    .new-price {
        font-size: 1.5rem;
    }

    .autumn-cta-btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .autumn-banner-content {
        padding: 0 15px;
    }

    .price-container {
        flex-direction: column;
        gap: 5px;
    }

    .autumn-text .autumn-title {
        font-size: 1.1rem;
    }

    .autumn-text .autumn-subtitle {
        font-size: 0.8rem;
    }
}

/*# sourceMappingURL=../sourcemaps/index.css.map */