/* FLX main stylesheet — edit as needed */
:root{
    --flx-bg-color: #2b579a;
    --flx-color-white: #ffffff;
    --flx-svg-path-hover: #FF6D00;
}

@font-face{
    font-family:'Nabila';
    src:url('../fonts/nabila.ttf') format('truetype');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family: 'Lato';
    src: url('../fonts/Lato-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face{
    font-family: 'Lato';
    src: url('../fonts/Lato-Bold.woff') format('woff');
    /* make the bold available for heavier weights as well */
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

*{
    box-sizing:border-box;
}

html,body{
    margin:0;
    padding:0;
}

html, body{
    font-family: 'Lato', sans-serif;
    font-weight:400;
}

/* Headings use the bold face */
h1,h2,h3,h4,h5,h6{
    font-family: 'Lato', sans-serif;
    font-weight:700;
}

/* Social icons in header */
.site-header {
    background: var(--flx-bg-color);
}

.site-header .site-phone a {
    font-size: 24px;
    color: var(--flx-color-white) !important;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
}

.site-header .site-phone a:hover {
    color: var(--flx-svg-path-hover) !important;
}

.socseti a svg path {
    transition: all 0.3s ease-in-out;
}

.socseti a:hover svg path {
    fill: var(--flx-svg-path-hover);
}

/* Header menu */
.site-header .navbar{width:100%}
.site-header .flx-header-menu{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    gap:18px;
}
.site-header .flx-header-menu > li{margin:0}
.site-header .flx-header-menu > li > a{
    display:block;
    padding:10px 16px;
    color:var(--flx-color-white);
    font-size:16px;
    font-weight:700;
    line-height:1.1;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
    transition: all 0.3s ease-in-out;
}
.site-header .flx-header-menu > li > a:hover{
    color:var(--flx-color-white);
    text-decoration:none;
    background:rgba(0,0,0,0.14);
}
.site-header .flx-header-menu > li.current-menu-item > a,
.site-header .flx-header-menu > li.current_page_item > a,
.site-header .flx-header-menu > li.current-menu-ancestor > a{
    background:rgba(0,0,0,0.18);
}

/* Default WP dropdown (sub-menu) for header menu */
.site-header .flx-header-menu > li.menu-item-has-children{position:relative}

.site-header .flx-header-menu > li.menu-item-has-children > .sub-menu{
    list-style:none;
    margin:0;
    padding:10px;
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:280px;
    background:#fff;
    border:1px solid rgba(0,0,0,0.10);
    box-shadow:0 10px 24px rgba(0,0,0,0.18);
    border-radius:12px;
    z-index:9999;
}

.site-header .flx-header-menu > li.menu-item-has-children:hover > .sub-menu{display:block}

.site-header .flx-header-menu > li.menu-item-has-children > .sub-menu > li{margin:0}

.site-header .flx-header-menu > li.menu-item-has-children > .sub-menu > li > a{
    display:block;
    padding:10px 12px;
    border-radius:10px;
    color:#111;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    text-transform:none;
    line-height:1.25;
    white-space:nowrap;
}

.site-header .flx-header-menu > li.menu-item-has-children > .sub-menu > li > a:hover{
    background:#2b579a;
    color:#fff;
    text-decoration:none;
}

/* Mobile: show submenu only for active branch */
@media(max-width:991px){
    .site-header .flx-header-menu > li.menu-item-has-children > .sub-menu{
        position:static;
        min-width:0;
        box-shadow:none;
        border-radius:12px;
        border:1px solid rgba(255,255,255,0.22);
        background:rgba(0,0,0,0.10);
        padding:8px;
        margin-top:6px;
    }
    .site-header .flx-header-menu > li.menu-item-has-children > .sub-menu{display:none}
    .site-header .flx-header-menu > li.current-menu-ancestor > .sub-menu,
    .site-header .flx-header-menu > li.current-menu-parent > .sub-menu{display:block}

    .site-header .flx-header-menu > li.menu-item-has-children > .sub-menu > li > a{
        color:var(--flx-color-white);
        font-weight:700;
    }
    .site-header .flx-header-menu > li.menu-item-has-children > .sub-menu > li > a:hover{
        background:rgba(0,0,0,0.14);
        color:var(--flx-color-white);
    }
}

/* Dropdown: Countries in header menu */
.site-header .flx-menu-countries{position:relative}
.site-header .flx-menu-countries__toggle{display:flex;align-items:center;gap:8px}
.site-header .flx-menu-countries__caret{font-size:12px;line-height:1;opacity:0.9}

.site-header .flx-menu-countries__dropdown{
    position:absolute;
    top:100%;
    left:0;
    /* margin-top:10px; */
    background:#fff;
    /* border-radius:10px; */
    box-shadow:0 10px 24px rgba(0,0,0,0.18);
    border:1px solid rgba(0,0,0,0.08);
    /* padding:10px; */
    min-width:420px;
    display:none;
    z-index:9999;
    padding: 10px 0px !important;
    margin: 0px !important;
    border: none !important;
}
.site-header .flx-menu-countries:hover .flx-menu-countries__dropdown{display:block}

.site-header .flx-menu-countries__grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:2px 10px}
.site-header .flx-menu-countries__item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    /* border-radius:8px; */
    color:#111;
    text-decoration:none;
}
.site-header .flx-menu-countries__item:hover{background: #2b579a;text-decoration:none;color:#fff}

.site-header .flx-menu-countries__flag{
    width:28px;
    height:28px;
    border-radius:50%;
    overflow:hidden;
    flex:0 0 28px;
    border:1px solid rgba(0,0,0,0.12);
}
.site-header .flx-menu-countries__flag img{width:100%;height:100%;object-fit:cover;display:block}
.site-header .flx-menu-countries__name{font-weight:600;line-height:1.1}

@media(max-width:991px){
    .site-header .flx-menu-countries__dropdown{position:static;min-width:0;margin-top:6px;box-shadow:none;border-radius:10px}
    .site-header .flx-menu-countries:hover .flx-menu-countries__dropdown{display:block}
}

.site-header .header-call-btn {
    position:relative;
    overflow:hidden;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border:1px solid rgba(255,255,255,0.85);
    border-radius:999px !important;
    color:var(--flx-color-white);
    font-size:16px;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
}
.site-header .header-call-btn::before{
    position:absolute;
    content:"";
    top:44%;
    left:-20%;
    height:203%;
    width:26%;
    background:linear-gradient(to right, rgba(255, 255, 255, 0.34) 80%, transparent 80.5%, transparent 92.5%, rgba(255, 255, 255, 0.34) 93%);
    transform:rotate(26deg) translate(0, -50%);
    transition:1s;
    animation:zakazzvonBeforeAnim 2s forwards infinite linear;
    opacity:1;
    pointer-events:none;
    z-index:0;
}
.site-header .header-call-btn > *{position:relative;z-index:1}
.site-header .header-call-btn{
    background:transparent;
}
.site-header .header-call-btn::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.06);
    pointer-events:none;
}
.site-header .header-call-btn{
    z-index:0;
}
.site-header .header-call-btn{
    isolation:isolate;
}
.site-header .header-call-btn{
    color:var(--flx-color-white);
}
.site-header .header-call-btn{
    text-shadow:0 1px 0 rgba(0,0,0,0.18);
}

@keyframes zakazzvonBeforeAnim{
    0%{left:-20%}
    50%{left:50%}
    100%{left:100%}
}
.site-header .header-call-btn:hover{
    color:var(--flx-color-white);
    text-decoration:none;
    background:rgba(0,0,0,0.14);
}

/* Contact Form 7 modal styles (matches provided screenshot) */
.cf7-modal {
    max-width:420px;
    margin:0 auto;
    background:#fff;
    padding:28px 28px 22px;
    border-radius:8px;
    /* box-shadow:0 12px 36px rgba(0,0,0,0.22); */
    text-align:center;
}
.cf7-modal h2{
    font-size:30px;
    margin:0 0 6px;
    font-weight:700;
    color:#111;
}
.cf7-modal .cf7-subtitle{
    color:#9aa0a6;
    margin-bottom:18px;
    font-size:14px;
}
.cf7-modal .form-control{
    width:100%;
    padding:12px 18px;
    border:1px solid #e6e6e6;
    border-radius:28px;
    box-sizing:border-box;
    font-size:15px;
    margin-bottom:14px;
}
.cf7-modal input[type="tel"],
.cf7-modal input[type="text"],
.cf7-modal textarea{
    outline:none;
}
.cf7-modal .wpcf7-submit,
.cf7-modal .btn-orange{
    display:block;
    width:100%;
    background:#ff7a00;
    color:#fff;
    border:none;
    padding:12px 20px;
    border-radius:28px;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
}
.cf7-modal .wpcf7-submit:hover{background:#ff6a00}
.cf7-modal .wpcf7-response-output{margin-top:12px}

@media(max-width:480px){
    .cf7-modal{padding:18px}
    .cf7-modal h2{font-size:22px}
    .flx-photoreport {max-height: 335px !important;min-height: 335px !important;}
}

@media(max-width:991px){
    .site-header .flx-header-menu{justify-content:center;flex-wrap:wrap}
}

/* Home: Countries grid */
.flx-home-countries{padding:100px 0 40px 0;background:#fff}
.flx-home-country-card{
    position:relative;
    display:block;
    overflow:hidden;
    background:#e9ecef;
    background-size:cover;
    background-position:center;
    min-height:260px;
    text-decoration:none;
    color:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,0.18);
    transition:box-shadow .25s ease;
}
.flx-home-country-card--lg{min-height:260px}
/* .flx-home-country-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.12) 55%, rgba(0,0,0,0.18) 100%);
    pointer-events:none;
    z-index:0;
} */
.flx-home-country-card:hover{color:#fff;text-decoration:none}

/* Hover overlay like in example */
.prihov:after{
    background:#2b579a96;
    content:"";
    top:0;
    width:100%;
    left:0;
    height:100%;
    position:absolute;
    opacity:0;
    transition:opacity .25s ease;
    z-index:1;
    pointer-events:none;
}
.prihov:hover:after{opacity:1}

.flx-home-country-card__top{
    position:absolute;
    top:14px;
    left:14px;
    right:14px;
    display:flex;
    align-items:center;
    gap:10px;
    z-index:2;
    transition:opacity .2s ease, visibility .2s ease;
}
.flx-home-country-card:hover .flx-home-country-card__top{opacity:0;visibility:hidden}
.flx-home-country-card__title{
    /* font-weight:800; */
    font-size:22px;
    line-height:1.05;
    text-shadow:0 2px 10px rgba(0,0,0,0.45);
}
.flx-home-country-card--lg .flx-home-country-card__title{font-size:24px}

.flx-home-country-card__flag{
    /* width:34px; */
    /* height:22px; */
    /* border-radius:4px; */
    overflow:hidden;
    flex:0 0 auto;
    /* border:1px solid rgba(255,255,255,0.75); */
    box-shadow:0 2px 10px rgba(0,0,0,0.25);
    /* margin-left:6px; */
}
.flx-home-country-card__flag img{width:100%;height:100%;object-fit:cover;display:block}

.flx-home-country-card__hover{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility .25s ease;
    z-index:2;
}
.flx-home-country-card:hover .flx-home-country-card__hover{opacity:1;visibility:visible}

.flx-home-country-card__hover-title{
    font-family:'Nabila', sans-serif;
    font-weight:800;
    font-size:70px;
    line-height:1;
    text-align:center;
    letter-spacing:0.5px;
    text-shadow:0 6px 18px rgba(0,0,0,0.35);
}
@media(max-width:991px){
    .flx-home-country-card__hover-title{font-size:78px}
}
@media(max-width:575px){
    .flx-home-country-card{min-height:190px}
    .flx-home-country-card--lg{min-height:220px}
    .flx-home-country-card__title{font-size:20px}
    .flx-home-country-card__hover-title{font-size:54px}
}

/* Countries page: filters + courses list */
.flx-courses-breadcrumbs a,
.flx-courses-breadcrumbs a:visited{color:#000;text-decoration:none}
.flx-courses-breadcrumbs a:hover{text-decoration:underline}

.flx-courses-breadcrumbs{display:block;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:700}
.flx-courses-breadcrumbs__sep{color:#000;opacity:0.85}
.flx-courses-breadcrumbs__current{color:#2b579a;text-decoration:underline}

@media(max-width:575px){
    .flx-courses-breadcrumbs{font-size:18px;gap:10px}
}

.flx-courses-filter-box{
    background:#fff;
    border:1px solid #D5D5D5;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
    padding:18px 16px;
}
.flx-courses-filter-title{
    font-weight:600;
    font-size:20px;
    color:#111;
}
.flx-courses-filter-underline{
    margin-top:10px;
    width:120px;
    height:3px;
    background:#2b579a;
}
.flx-filter-group{padding:14px 0;border-bottom:1px solid rgba(0,0,0,0.08)}
.flx-filter-group:last-child{border-bottom:0}
.flx-filter-heading{font-weight:600;color:#2b579a;margin-bottom:10px}
.flx-filter-item{margin:0 0 8px}
.flx-filter-item .form-check-input{margin-top:0.25rem}
.flx-filter-item.is-disabled{opacity:0.45}
.flx-filter-item.is-disabled .form-check-input{cursor:not-allowed}

#flx-courses-results.is-loading{opacity:0.6;pointer-events:none}

/* Country single: universities button */
.flx-country-universities__all{display:flex;justify-content:center;margin-top:22px}
.flx-country-universities__all-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:320px;
    padding:14px 34px;
    border:1.5px solid #2b579a;
    border-radius:999px;
    color:#2b579a;
    background:#fff;
    font-weight:700;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:0.4px;
}
.flx-country-universities__all-btn:hover{color:#2b579a;text-decoration:none;filter:brightness(0.95)}
@media(max-width:575px){
    .flx-country-universities__all-btn{min-width:0;width:100%;max-width:340px}
}

/* Home hero under header (front page) */
.flx-home-hero{position:relative;background:  var(--flx-bg-color);padding:34px 0 44px;color:#fff}
.flx-home-hero__top-title{font-weight:700;letter-spacing:1px;text-align:center;font-size:28px;margin-bottom:22px;text-transform:uppercase}

.flx-home-hero__form{
    display:flex;
    flex-direction: row;
    align-items:center;
    gap:16px;
    /* margin:0 auto 26px */
}
.flx-home-hero__fields{display:flex;gap:0;width:100%;max-width:560px}
.flx-home-hero__select{flex:1;min-width:0;height:42px;border:0;border-radius:8px 0 0 8px;padding:0 12px;font-size:16px;outline:none}
.flx-home-hero__select + .flx-home-hero__select{border-left:2px solid rgba(0,0,0,0.12);border-radius:0 8px 8px 0}

.flx-home-hero__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #ffb000;
    color: #fff;
    border: 2px solid rgba(0,0,0,0.15);
    border-radius: 6px;
    padding: 1px 28px;
    max-height: 42px;
    font-size: 22px;
    line-height: 1;
    box-shadow: 0 8px 0 rgba(0,0,0,0.25);
    transition: transform .12s ease, box-shadow .12s ease, background .2s ease;
}
.flx-home-hero__submit-ico img{width:28px;height:auto;display:block}
.flx-home-hero__submit:hover{background:#ffa200;transform:translateY(-1px);box-shadow:0 10px 0 rgba(0,0,0,0.25)}
.flx-home-hero__submit:active{transform:translateY(2px);box-shadow:0 6px 0 rgba(0,0,0,0.25)}

.flx-home-hero__content{margin-top:-110px}
.flx-home-hero__text{margin-top:0;font-size:36px;line-height:1.22;max-width:520px;text-align:center}

.flx-home-hero__media{position:relative;display:flex;align-items:center;justify-content:center}
.flx-home-hero__laptop{width:100%;max-width:520px;height:auto;display:block}
.flx-home-hero__youtube{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;cursor:pointer}
.flx-home-hero__youtube img{width:72px;height:auto;display:block;transition:transform .15s ease, filter .2s ease}
.flx-home-hero__youtube:hover img{transform:scale(1.06);filter:drop-shadow(0 10px 18px rgba(0,0,0,0.35))}

.flx-hero-video-modal{background:#000;color:#fff;border:0}
.flx-hero-video-modal .modal-header{border-bottom:1px solid rgba(255,255,255,0.12)}
.flx-hero-video-modal .modal-title{font-size:18px;font-weight:600}
.flx-hero-video-modal__ratio{position:relative;width:100%;padding-top:56.25%}
.flx-hero-video-modal__frame{position:absolute;inset:0;width:100%;height:100%;border:0}

@media(max-width:991px){
    .flx-home-hero__text{text-align:center;margin-left:auto;margin-right:auto;font-size:28px}
}

/* Hero slider styles: make slider full-width, centered content and readable overlay */
.flx-home-hero{position:relative;overflow:hidden;padding:0}
.flx-hero-swiper{height:520px}
.flx-hero-swiper .swiper-wrapper{height:100%}
.flx-hero-swiper .swiper-slide{display:flex;align-items:center;justify-content:center;min-height:520px;position:relative}
.flx-hero-swiper .swiper-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,0.38) 0%, rgba(0,0,0,0.12) 50%, rgba(0,0,0,0.38) 100%);z-index:0}
.flx-home-hero__content{position:relative;z-index:2;padding:44px 16px;max-width:1100px;margin:0 auto;text-align:center}
.flx-home-hero__text h2{font-size:44px;line-height:1.05;margin:0 0 12px;color:#fff}
.flx-home-hero__text .lead{font-size:18px;color:rgba(255,255,255,0.95);max-width:880px;margin:0 auto}
.flx-hero-swiper .btn{z-index:2}

@media(max-width:991px){
    .flx-hero-swiper{height:360px}
    .flx-hero-swiper .swiper-slide{min-height:360px}
    .flx-home-hero__text h2{font-size:28px}
    .flx-home-hero__text .lead{font-size:15px}
}

.flx-course-card {
    background:#fff;
    border:1px solid #D5D5D5;
    transition: all 0.3s ease-in-out;
}

.flx-course-card:hover {
    box-shadow: 0 0 10px 3px #00000038;
}

.flx-course-card__pricing{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid rgba(0,0,0,0.18)}
.flx-course-card__title{color:#23a1d1;margin-bottom:14px;font-size: 20px;}
.flx-course-card__pricing-head{font-size:12px;color:#111;justify-content: center;}
.flx-course-card__pricing-row{padding:2px 0;border-top:0;font-size:11px;justify-content: center;}

.flx-course-card__bottom{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:center}
@media(max-width:991px){
    .flx-course-card__bottom{grid-template-columns:1fr;gap:14px;align-items:start}
}

.flx-course-card__meta{max-width:none}
.flx-course-card__line{display:grid;grid-template-columns:160px 1fr;margin:3px 0; font-size: 11px;}
@media(max-width:575px){
    .flx-course-card__line{grid-template-columns:140px 1fr}
}

.flx-course-card__label{display:inline-block;min-width:110px;color:#111}
.flx-course-card__value{color:#111}

.flx-course-card__recommend-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2b579a;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    width: 100%;
    max-width: 155px;
    padding: 5px 0px;
}
.flx-course-card__recommend-link:hover{color:#fff;text-decoration:none;background:#234a84}

.flx-course-card__recommend-wrap{display:flex;justify-content:center}
@media(max-width:991px){
    .flx-course-card__recommend-wrap{justify-content:flex-start}
}


.flx-course-card__right{border-left:0}
@media(max-width:991px){
    .flx-course-card__right{border-top:0}
}

.flx-course-card__right-inner {
    display: flex;
    flex-direction: column;
}

.flx-course-card__media-link{display:block;text-decoration:none}

.flx-course-card__media{position:relative;background:#fff;flex:1;display:flex;align-items:center;justify-content:center}
.flx-course-card__corner{position:absolute;top:0;right:0;width:64px;height:auto;z-index: 999;}

.flx-course-card__btn-wrap{display:flex;justify-content:center}
@media(max-width:991px){
    .flx-course-card__btn-wrap{justify-content:center}
}

.flx-course-card__btn {
    background: #FF6D00;
    color: #fff;
    font-size: 14px;
    padding: 10px;
    text-transform: uppercase;
    border-radius: 10px;
    position: relative;
    width: 100%;
    max-width: 200px;
    text-align: center;
    text-decoration: none;
}
.flx-course-card__img {
    max-width: 200px;
}
.flx-course-card__btn::after {
    content: '›';
    position: absolute;
    right: 18px;
    transform: translateY(-32%);
    font-size: 28px;
}

.flx-course-card__btn:hover{color:#fff;text-decoration:none;background:#e07d1f}

/* About section styles */
.about-section{background:#fff}
.about-image-wrapper{position:relative;padding:0;margin:0 auto;display:flex;align-items:center;justify-content:center;width:320px;height:320px;border-radius:50%;overflow:visible}
.about-image{width:100%;height:100%;object-fit:contain;border-radius:50%;z-index:3;display:block;background:#fff;border: 4px solid #2b579a}
.about-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none}
.about-circle::before,
.about-circle::after{
    content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0.8);border-radius:50%;border:6px solid var(--flx-bg-color);opacity:0.6;width:340px;height:340px;animation:flx-pulse 1.6s infinite linear;z-index:1}
.about-circle::after{animation-delay:0.8s;opacity:0.35;width:390px;height:390px;border-width:5px}

.about-title{font-size:44px;line-height:1.1;font-weight:700;text-transform:uppercase;margin:0;color:#111}
.about-text{font-size:16px;line-height:1.6;color:#333;max-width:760px;margin-left:auto;margin-right:auto}
.about-text p{margin:0 0 12px}
.about-text p:last-child{margin-bottom:0}

@keyframes flx-pulse{
    0%{transform:translate(-50%,-50%) scale(0.8);opacity:1}
    3%{transform:translate(-50%,-50%) scale(0.9);opacity:1}
    100%{transform:translate(-50%,-50%) scale(1.15);opacity:0}
}

/* Responsive tweaks */
@media(max-width:767px){
    .about-image-wrapper{width:220px;height:220px}
    .about-image{width:100%;height:100%}
    .about-circle::before{width:260px;height:260px}
    .about-circle::after{width:300px;height:300px}
    .about-section .about-text{margin-top:1rem}
    .about-title{font-size:28px}
}

/* Подписка */
.podpiska-section{background:var(--flx-bg-color);color:var(--flx-color-white)}
.podpiska-content{gap:30px}
.podsvg{align-items:center}
.podpiska-link{color:var(--flx-color-white);opacity:0.95}
.podpiska-text{
    color: #fff;
    font-size: 39px;
    margin: 0px;
}

.podpiska-text P {
    margin: 0;
}

/* Точные правки по макету */
.podsvg{display:flex;align-items:center;gap:20px}
.podpiska-link{display:inline-block;background:rgba(255,255,255,0.12);padding:10px 14px;border-radius:6px;margin-top:14px;color:var(--flx-color-white);font-size:28px;font-weight:600;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,0.25)}

a.podpiska_btn {
    font-size: 22px;
    width: 260px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: #fff;
    z-index: 1;
    border-radius: 12px;
    box-shadow: 0 1px 10px 1px #00000059;
    padding: 6px;
}

a.podpiska_btn span {
    background: #2b579a;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 3px 6px 3px #00000059;
    border-radius: 12px;
    width: 100%;
    height: 100%;
    transition: 0.1s;
    color: #fff;
}

@media(max-width:1199px){
}

@media(max-width:991px){
    .podpiska-link{font-size:22px}
    .podpiska-text{text-align:center}
}

@media(max-width:991px){
    .podpiska-text{max-width:100%;text-align:center}
}

#Symbol_2 {
    padding-right: 20px;
    border-right: 2px solid #fff;
}

.podpiska-head {
    padding-left: 20px;
}

/* Преимущества */
.advantages-section{background:#fff; padding: 70px 0;}
.advantages-title{font-weight:700}

.advantages-container{max-width:1000px}

.adv-card{
    background:#fff;
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 0 10px 3px rgba(0,0,0,0.1);
}

.adv-card__image{
    padding:0;
    height:auto;
    display:block;
}

.adv-card__img{
    width:100%;
    height:auto;
    display:block;
}

.advantages-container .adv-card__img {
    max-height: 150px;
    object-fit: cover;
}

.adv-card__body{
    padding:14px 14px 16px;
    text-align:center;
}

.adv-card__text{font-size:16px;line-height:1.25}
.adv-card__text p{margin:0}

/* Клиенты */
.clients-section{
    position:relative;
    padding:70px 0;
    color:#fff;
    background-color:#111;
    background-repeat:repeat;
    background-size:auto 100%;
    background-position:0 0;
    animation:flx-clients-bg-pan 40s linear infinite alternate;
    overflow:hidden;
}

/* .clients-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.65);
    pointer-events:none;
} */

@keyframes flx-clients-bg-pan{
    0%{background-position:0 0}
    100%{background-position:1366px 0}
}

.clients-title{
    font-size:35px;
    line-height:1.1;
    font-weight:700;
    text-transform:uppercase;
    margin:0;
    overflow-wrap:anywhere;
    word-spacing: 8px;
}

.clients-line{
    width:220px;
    height:4px;
    background:var(--flx-bg-color);
    opacity:0.9;
}

.clients-person{font-size:20px;line-height:1.25}
.clients-person__name{color:#fff}
.clients-person__after{color:rgba(255,255,255,0.75);margin-left:8px}

.clients-image-wrapper{
    position:relative;
    width:100%;
    max-width:360px;
    aspect-ratio:1 / 1;
    height:auto;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto;
    z-index:1;
}

.clients-image-col{position:relative;z-index:1}
.clients-text-col{position:relative;z-index:3}

.clients-image{
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
    z-index:3;
    display:block;
    border: 4px solid #2b579a;
    max-width: 320px;
    max-height: 320px;
}

.clients-circle{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:1;
    pointer-events:none;
}

.clients-circle::before,
.clients-circle::after{
    content:'';
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) scale(0.8);
    border-radius:50%;
    border:6px solid var(--flx-bg-color);
    opacity:0.6;
    width:340px;
    height:340px;
    animation:flx-pulse 1.6s infinite linear;
}

.clients-circle::after{
    animation-delay:0.8s;
    opacity:0.35;
    width:390px;
    height:390px;
    border-width:5px;
}

@media(max-width:767px){
    .clients-section{padding:48px 0}
    .clients-title{font-size:28px}
    .clients-image-wrapper{width:240px;height:240px}
    .clients-circle::before{width:260px;height:260px}
    .clients-circle::after{width:300px;height:300px}
    .clients-person{font-size:16px;text-align:center}
    .clients-line{margin-left:auto;margin-right:auto}
    .clients-title{text-align:center}
}

@media (max-width: 480px) {
    .podpiska-content {
        flex-direction: column;
    }
}

@media(max-width:768px){
    .ds-none-mobile {
        display: none !important;
    }

    .w-100-mobile {
        width: 100% !important;
    }
}

/* Страна — херо блок */
.flx-country-hero{
    position:relative;
    height:100vh;
    height:100svh;
    min-height:520px;
    background-color:#111;
    background-position:center;
    background-size:100% 100%;
    background-repeat:no-repeat;
    overflow:hidden;
}
.flx-country-hero__inner{
    position:relative;
    z-index:1;
    height:100%;
    min-height:100%;
    padding-top:28px;
    padding-bottom:28px;
}
.flx-country-hero__breadcrumbs{
    text-transform:uppercase;
    font-weight:700;
    font-size:14px;
    color:rgba(255,255,255,1);
    letter-spacing:0.04em;
    filter: drop-shadow(2px 2px 3px #000000a8);
}
.flx-country-hero__breadcrumbs span:last-child {
    border-bottom: 1px solid #fff;
}
.flx-country-hero__breadcrumbs a{color:rgba(255,255,255,0.78);text-decoration:none}
.flx-country-hero__breadcrumbs a:hover{color:#fff;text-decoration:none}
.flx-country-hero__sep{display:inline-block;margin:0 10px;opacity:0.8}

.flx-country-hero__content{
    position:relative;
    margin-top:90px;
    max-width:720px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.flx-country-hero__h1{margin:0;color:#fff;line-height:1.05}
.flx-country-hero__h1 {
    margin:0;
    color:#fff;
    line-height:1.05;
    display:inline-block;
    background: rgba(0,0,0,0.45);
    padding: 12px 18px;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
}
.flx-country-hero__lead{
    display:block;
    font-size:44px;
    font-weight:500;
    opacity:0.95;
}
.flx-country-hero__title{
    display:block;
    font-size:74px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.02em;
}

.flx-country-hero__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:24px 0 0 0;
    padding:14px 38px;
    border:1px solid rgba(255,255,255,0.75);
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-weight:700;
    background:rgba(0,0,0,0.10);
    transition: all 0.3s ease-in-out;
}
.flx-country-hero__btn:hover{color:#fff;text-decoration:none;background:rgba(0,0,0,0.22)}

.flx-country-hero__flag{
    position:absolute;
    right:32px;
    top:72px;
    width:180px;
    height:180px;
    border-radius:50%;
    overflow:hidden;
    /* background:rgba(255,255,255,0.06);
    border:3px solid rgba(255,255,255,0.35); */
}
.flx-country-hero__flag img{width:100%;height:100%;object-fit:cover;display:block}

/* Hero bottom scroll indicator (3 chevrons) */
.flx-hero-scroll{
    position:absolute;
    left:50%;
    bottom:26px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1.5px;
    width:66px;
    height:81px;
    z-index:2;
    text-decoration:none;
    cursor:pointer;
    -webkit-tap-highlight-color: transparent;
}

.flx-hero-scroll__chev{
    width:33px;
    height:21px;
    position:relative;
    filter: drop-shadow(0 9px 15px rgba(0,0,0,0.25));
    background-repeat:no-repeat;
    background-position:center;
    background-size:100% 100%;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpolyline points='2,2 11,12 20,2' fill='none' stroke='%23fff' stroke-opacity='0.55' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.flx-hero-scroll__chev::after{
    content:"";
    position:absolute;
    inset:0;
    background-repeat:no-repeat;
    background-position:center;
    background-size:100% 100%;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpolyline points='2,2 11,12 20,2' fill='none' stroke='%232b579a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    clip-path: inset(0 0 100% 0);
    animation: flx-hero-chev-fill 1.6s ease-in-out infinite;
}
.flx-hero-scroll__chev:nth-child(1)::after{animation-delay:0s}
.flx-hero-scroll__chev:nth-child(2)::after{animation-delay:0.18s}
.flx-hero-scroll__chev:nth-child(3)::after{animation-delay:0.36s}

@keyframes flx-hero-chev-fill{
    0%{clip-path: inset(0 0 100% 0);opacity:0}
    10%{opacity:1}
    40%{clip-path: inset(0 0 0 0);opacity:1}
    70%{clip-path: inset(0 0 0 0);opacity:1}
    100%{clip-path: inset(0 0 0 0);opacity:0}
}

@media (prefers-reduced-motion: reduce){
    .flx-hero-scroll__chev::after{animation:none;clip-path: inset(0 0 0 0);opacity:1}
}

@media(max-width:991px){
    .flx-country-hero__content{margin-top:70px}
    .flx-country-hero__lead{font-size:34px}
    .flx-country-hero__title{font-size:54px}
    .flx-country-hero__flag{width:92px;height:92px;right:16px;top:64px}
}

@media(max-width:767px){
    .flx-country-hero__inner{padding-top:18px;padding-bottom:18px}
    .flx-country-hero__content{margin-top:52px;align-items:center}
    .flx-country-hero__lead{font-size:26px}
    .flx-country-hero__title{font-size:38px}
    .flx-country-hero__btn{padding:12px 26px}
    .flx-country-hero__flag{width:76px;height:76px;right:12px;top:58px}
}

/* Страница страны — заголовки секций */
.flx-country-section-title{
    font-size:35px;
    font-weight:700;
    text-align:center;
    margin:0 0 24px;
}

/* Holiday block: Image + Text (big rounded background image with overlay text) */
.flx-imgtext{
    width:100%;
    min-height:690px;
    border-radius:18px;
    background-color:#e9eef6;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    /* padding:64px 72px; */
    overflow:hidden;
}
.flx-imgtext__text{
    color:#fff;
    font-weight:700;
    font-size:48px;
    line-height:1.12;
    text-shadow:0 6px 18px rgba(0,0,0,0.35);
    max-width:415px;
}

@media(max-width:991px){
    .flx-imgtext{min-height:360px;padding:44px 40px}
    .flx-imgtext__text{font-size:38px;max-width:460px}
}

@media(max-width:767px){
    .flx-imgtext{min-height:300px;padding:28px 22px;justify-content:center;text-align:center}
    .flx-imgtext__text{font-size:28px;max-width:100%}
}

/* Holiday block: Lessons info (title + subtitle + center image + 6 items) */
.flx-lesson{margin-top:10px}
.flx-lesson__title{
    text-align:center;
    font-weight:800;
    font-size:40px;
    text-transform:uppercase;
    margin:0 0 10px;
}
.flx-lesson__subtitle{
    text-align:center;
    font-size:18px;
    line-height:1.35;
    max-width:920px;
    margin:0 auto 34px;
}
.flx-lesson__layout{
    display:grid;
    grid-template-columns: 1fr 420px 1fr;
    align-items:center;
    gap:40px;
}
.flx-lesson__center{display:flex;align-items:center;justify-content:center}
.flx-lesson__image{max-width:100%;height:auto;display:block}

.flx-lesson__col{display:flex;flex-direction:column;gap:46px}
.flx-lesson__item{display:flex;align-items:center;gap:18px}
.flx-lesson__icon{
    width:84px;
    height:84px;
    border-radius:50%;
    border:1.5px solid #2b579a;
    background-color:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 84px;
    transition:background-color .2s ease,border-color .2s ease;
}
.flx-lesson__icon img{object-fit:contain;display:block;transition:filter .2s ease}
.flx-lesson__text{font-size:16px;line-height:1.35;max-width:260px}

.flx-lesson__item:hover .flx-lesson__icon,
.flx-lesson__icon:hover{
    background-color:#2b579a;
    border-color:#2b579a;
}
.flx-lesson__item:hover .flx-lesson__icon img,
.flx-lesson__icon:hover img{
    filter:brightness(0) invert(1);
}

.flx-lesson__col--right .flx-lesson__item{flex-direction:row-reverse;text-align:right}
.flx-lesson__col--right .flx-lesson__text{margin-left:auto}

@media(max-width:1199px){
    .flx-lesson__layout{grid-template-columns: 1fr 360px 1fr;gap:28px}
    .flx-lesson__title{font-size:34px}
}

@media(max-width:991px){
    .flx-lesson__layout{grid-template-columns: 1fr 300px 1fr;gap:22px}
    .flx-lesson__col{gap:28px}
    .flx-lesson__icon{width:72px;height:72px;flex-basis:72px}
    .flx-lesson__icon img{width:34px;height:34px}
    .flx-lesson__text{font-size:15px;max-width:240px}
}

@media(max-width:767px){
    .flx-lesson__layout{grid-template-columns:1fr;gap:20px}
    .flx-lesson__center{order:3; display: none;}
    .flx-lesson__col--left{order:1}
    .flx-lesson__col--right{order:2; margin-bottom: 3rem;}
    .flx-lesson__col--right .flx-lesson__item{flex-direction:row;text-align:left}
    .flx-lesson__col--right .flx-lesson__text{margin-left:0}
    .flx-lesson__item{justify-content:flex-start}
    .flx-lesson__text{max-width:none}
    .flx-lesson__title{font-size:28px}
    .flx-lesson__subtitle{font-size:16px;margin-bottom:18px}
}

/* Страница страны — процесс (адаптивно, без скролла) */
.flx-country-process{width:100%}
.flx-country-process__grid{
    --flx-process-gap: 16px;
    --flx-process-line: rgba(43,87,154,0.65);
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:var(--flx-process-gap);
    grid-template-columns: repeat(7, minmax(0, 1fr));
    align-items:stretch;
}

.flx-country-process__node{
    position:relative;
    min-width:0;
    border-radius:18px;
    background:linear-gradient(135deg, var(--flx-svg-path-hover), var(--flx-bg-color));
    color:#fff;
    padding:14px 12px 12px;
    box-shadow:0 10px 22px rgba(0,0,0,0.18);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:140px;
}

/* Горизонтальные соединители (только на 7/4/2 колонки) */
.flx-country-process__node::after{
    content:'';
    position:absolute;
    top:50%;
    left:100%;
    width:var(--flx-process-gap);
    height:0;
    border-top:3px dashed var(--flx-process-line);
    transform:translateY(-50%);
    pointer-events:none;
}
.flx-country-process__node:last-child::after{display:none}
.flx-country-process__grid > .flx-country-process__node:nth-child(7n)::after{display:none}

.flx-country-process__num{
    position:absolute;
    top:10px;
    right:10px;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--flx-bg-color);
    color:#fff;
    font-weight:800;
    font-size:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 6px 14px rgba(0,0,0,0.25);
}

.flx-country-process__icon{
    width:52px;
    height:52px;
    border-radius:14px;
    /* background:rgba(255,255,255,0.92); */
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 10px;
}
.flx-country-process__icon img{
    width:40px;
    /* height:34px; */
    height:auto;
    object-fit:contain;
    display:block;
}

.flx-country-process__text{font-weight:700;font-size:13px;line-height:1.15}

.flx-country-process__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(43,87,154,0.95);
    color:#fff;
    text-transform:uppercase;
    font-weight:800;
    font-size:13px;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(0,0,0,0.22);
}
.flx-country-process__cta:hover{color:#fff;text-decoration:none}

.flx-country-process__finish{
    background:#fff;
    color:#111;
}
.flx-country-process__finish::after{display:none}
.flx-country-process__finish-flag{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.flx-country-process__finish-flag img{width:100%;height:100%;object-fit:contain;display:block}
.flx-country-process__finish-text{font-weight:800;text-transform:uppercase;letter-spacing:0.03em}

/* Circular layout modifier: place 6 steps around a circle with the flag in the center */
.flx-country-process--circle .flx-country-process__grid{
    position:relative;
    display:block;
    padding:0;
    margin:40px auto 0;
    width:100%;
    height: calc(var(--process-radius) * 2 + 160px);
}

.flx-country-process--circle{
    position:relative;
    --process-radius: 300px;
    /* Mask (white rectangle) to hide the dashed ring segment between step 6 and step 1 */
    --process-gap-mask-angle: 240deg;
    --process-gap-mask-angle-inv: -240deg;
    --process-gap-mask-radius: calc(var(--process-radius) * 0.96);
    --process-gap-mask-w: 170px;
    --process-gap-mask-h: 120px;
}

.flx-country-process--circle .flx-country-process__fly-layer{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
}

.flx-country-process--circle{
    --fly-size: 64px;
}

.flx-country-process--circle .flx-country-process__fly{
    position:absolute;
    left:50%;
    top:50%;
    width:var(--fly-size);
    height:var(--fly-size);
    opacity:0;
}
.flx-country-process--circle .flx-country-process__fly img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    filter: drop-shadow(0 10px 14px rgba(0,0,0,0.25));
}

/* Rotation knob for the last (6th) flying icon (plane).
   Change --fly6-rot on .flx-country-process--circle to tune direction. */
.flx-country-process--circle{--fly6-rot: -15deg}
.flx-country-process--circle .flx-country-process__fly--6 img{
    transform: rotate(var(--fly6-rot));
    transform-origin: 50% 50%;
}

/* Sequential fly animation: only one icon at a time */
.flx-country-process--circle{--fly-cycle: 12s}

@keyframes flx-fly-1{ /* 1 -> 2 (0% .. 16.6%) */
    0%{opacity:0;transform:translate(-50%,-50%) rotate(270deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-270deg)}
    1%{opacity:1}
    16.6%{opacity:1;transform:translate(-50%,-50%) rotate(330deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-330deg)}
    16.7%,100%{opacity:0}
}

@keyframes flx-fly-2{ /* 2 -> 3 (16.7% .. 33.3%) */
    0%,16.6%{opacity:0}
    16.7%{opacity:0;transform:translate(-50%,-50%) rotate(330deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-330deg)}
    17.7%{opacity:1}
    33.3%{opacity:1;transform:translate(-50%,-50%) rotate(390deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-390deg)}
    33.4%,100%{opacity:0}
}

@keyframes flx-fly-3{ /* 3 -> 4 (33.4% .. 50.0%) */
    0%,33.3%{opacity:0}
    33.4%{opacity:0;transform:translate(-50%,-50%) rotate(30deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-30deg)}
    34.4%{opacity:1}
    50%{opacity:1;transform:translate(-50%,-50%) rotate(90deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-90deg)}
    50.1%,100%{opacity:0}
}

@keyframes flx-fly-4{ /* 4 -> 5 (50.1% .. 66.7%) */
    0%,50%{opacity:0}
    50.1%{opacity:0;transform:translate(-50%,-50%) rotate(90deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-90deg)}
    51.1%{opacity:1}
    66.7%{opacity:1;transform:translate(-50%,-50%) rotate(150deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-150deg)}
    66.8%,100%{opacity:0}
}

@keyframes flx-fly-5{ /* 5 -> 6 (66.8% .. 83.4%) */
    0%,66.7%{opacity:0}
    66.8%{opacity:0;transform:translate(-50%,-50%) rotate(150deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-150deg)}
    67.8%{opacity:1}
    83.4%{opacity:1;transform:translate(-50%,-50%) rotate(210deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-210deg)}
    83.5%,100%{opacity:0}
}

@keyframes flx-fly-6{ /* 6 -> center under flag (83.5% .. 100%) */
    0%,83.4%{opacity:0}
    83.5%{opacity:0;transform:translate(-50%,-50%) rotate(210deg) translate(0, calc(var(--process-radius, 280px) * -1)) rotate(-210deg) scale(1)}
    84.5%{opacity:1}
    95%{opacity:1;transform:translate(-50%,-50%) rotate(210deg) translate(0, calc(var(--process-radius, 280px) * -0.35)) rotate(-210deg) scale(0.95)}
    100%{opacity:0;transform:translate(-50%,-50%) scale(0.25)}
}

.flx-country-process--circle .flx-country-process__fly--1{animation:flx-fly-1 var(--fly-cycle) linear infinite}
.flx-country-process--circle .flx-country-process__fly--2{animation:flx-fly-2 var(--fly-cycle) linear infinite}
.flx-country-process--circle .flx-country-process__fly--3{animation:flx-fly-3 var(--fly-cycle) linear infinite}
.flx-country-process--circle .flx-country-process__fly--4{animation:flx-fly-4 var(--fly-cycle) linear infinite}
.flx-country-process--circle .flx-country-process__fly--5{animation:flx-fly-5 var(--fly-cycle) linear infinite}
.flx-country-process--circle .flx-country-process__fly--6{animation:flx-fly-6 var(--fly-cycle) linear infinite}
.flx-country-process--circle .flx-country-process__grid::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width: calc(var(--process-radius) * 2);
  height: calc(var(--process-radius) * 2);
    transform:translate(-50%, -50%) rotate(0deg);
    transform-origin:50% 50%;
  border-radius:50%;
  z-index:0;
    pointer-events:none;

  /* visible dash then transparent gap; non-overlapping stops */
  background:
        repeating-conic-gradient(from -90deg,
            rgba(43,87,154,1) 0deg 1.2deg,
            transparent 1.2deg 2deg
        );

  background-blend-mode: source-over;

  -webkit-mask: radial-gradient(farthest-side,
    transparent calc(100% - 3px),
    #000 calc(100% - 3px)
  );

    mask: radial-gradient(farthest-side,
        transparent calc(100% - 3px),
        #000 calc(100% - 3px)
    );

    animation: flx-process-ring-spin 16s linear infinite;
}

/* White rectangle between steps 6 and 1: sits above the ring, below the circles */
.flx-country-process--circle .flx-country-process__grid::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:170px;
    height:170px;
    background:#fff;
    border-radius:12px;
    z-index:1;
    pointer-events:none;
    transform:
        translate(-50%,-50%)
        rotate(var(--process-gap-mask-angle))
        translate(0, calc(-1 * var(--process-gap-mask-radius)))
        rotate(var(--process-gap-mask-angle-inv));
}

@keyframes flx-process-ring-spin{
    to{ transform:translate(-50%, -50%) rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
    .flx-country-process--circle .flx-country-process__grid::before{animation:none}
    .flx-country-process--circle .flx-country-process__fly{animation:none;opacity:0}
}

/* Animations start from tablet (>=768px). Below 768px disable them. */
@media (max-width:767px){
    .flx-country-process--circle .flx-country-process__grid::before{animation:none}
    .flx-country-process--circle .flx-country-process__fly-layer{display:none}
    .flx-country-process--circle .flx-country-process__fly{animation:none;opacity:0}
}

.flx-country-process--circle .flx-country-process__node{
    position:absolute;
    left:50%;
    top:50%;
    width:150px;
    height:150px;
    transform-origin:center center;
    margin:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
    border-radius:50%;
    background:linear-gradient(to left, #F7AD30 0%, #F8982B 25%,#FA7122 50%,#FB5E1E 100%);
    color:#fff;
    box-shadow:0 10px 22px rgba(0,0,0,0.18);
}
.flx-country-process--circle .flx-country-process__node::after{display:none !important}
.flx-country-process--circle .flx-country-process__node .flx-country-process__icon{margin-bottom:10px}
.flx-country-process--circle .flx-country-process__node .flx-country-process__text{font-size:14px;line-height:1.2;color:#fff;padding:6px}
.flx-country-process--circle .flx-country-process__node .flx-country-process__num{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#F6293F;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;z-index:3}

/* Custom order:
    1 — left center
    2,3 — top row
    4 — right center
    5,6 — bottom row */
.flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(1){transform:translate(-50%,-50%) rotate(270deg) translate(0, calc(var(--process-radius) * -1)) rotate(-270deg)}
.flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(2){transform:translate(-50%,-50%) rotate(330deg) translate(0, calc(var(--process-radius) * -1)) rotate(-330deg)}
.flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(3){transform:translate(-50%,-50%) rotate(30deg) translate(0, calc(var(--process-radius) * -1)) rotate(-30deg)}
.flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(4){transform:translate(-50%,-50%) rotate(90deg) translate(0, calc(var(--process-radius) * -1)) rotate(-90deg)}
.flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(5){transform:translate(-50%,-50%) rotate(150deg) translate(0, calc(var(--process-radius) * -1)) rotate(-150deg)}
.flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(6){transform:translate(-50%,-50%) rotate(210deg) translate(0, calc(var(--process-radius) * -1)) rotate(-210deg)}

/* white triangle under node 6, above the dashed circle */
/* .flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(6)::before{
    content: "";
    position: absolute;
    right: -120px;
    top: -75px;
    width: 150px;
    height: 150px;
    background: #fff;
    z-index: 1 !important;
    pointer-events: none;
} */

.flx-country-process__grid li {
    z-index: 9999;
}

@media (max-width:480px){
    .flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:nth-child(6)::before{display:none}
}

/* center flag */
.flx-country-process--circle .flx-country-process__grid > .flx-country-process__node.flx-country-process__finish{
    left:50%;
    top:50%;
    width:140px;
    height:140px;
    transform:translate(-50%,-50%);
    z-index:3;
    background:transparent;
    box-shadow:none;
}
.flx-country-process--circle .flx-country-process__finish-flag{
    width:180px;
    height:180px;
    border-radius:0;
    /* overflow:hidden; */
    /* border:0 !important; */
    /* box-shadow:none !important; */
    /* background:transparent !important; */
    /* display:flex; */
    /* align-items:center; */
    /* justify-content:center; */
}
.flx-country-process--circle .flx-country-process__finish-flag img{width:180px;height:180px;object-fit:contain;display:block}

/* CTA button inside circular node (first node) */
.flx-country-process--circle .flx-country-process__node .flx-country-process__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:110px;
    height:44px;
    padding:0 14px;
    border-radius:28px;
    background:#234a84;
    color:#fff;
    font-weight:700;
    font-size:13px;
    text-transform:uppercase;
    box-shadow:0 8px 0 rgba(0,0,0,0.12);
    z-index:4;
}
.flx-country-process--circle .flx-country-process__node .flx-country-process__cta:active{transform:translateY(1px)}

@media(max-width:991px){
    .flx-country-process--circle .flx-country-process__finish-flag img{width:100px;height:100px}
    .flx-country-process--circle .flx-country-process__node .flx-country-process__cta{width:90px;height:36px;font-size:12px}
}

/* Line from center flag to node 6 (visual connector) */
/* .flx-country-process--circle .flx-country-process__finish::before{
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform-origin: 0 50%;
    transform: translate(0, -50%) rotate(300deg);
    width: calc(var(--process-radius) - 78px);
    height: 8px;
    background: repeating-linear-gradient(90deg, rgba(43,87,154,0.25) 0 10px, transparent 10px 20px);
    border-radius: 6px;
    z-index: 0;
} */

@media(max-width:991px){
    .flx-country-process--circle{--process-radius:160px}
    .flx-country-process--circle .flx-country-process__grid{height: calc(var(--process-radius) * 2 + 120px)}
    .flx-country-process--circle .flx-country-process__finish-flag{width:100%;height:100%}
    .flx-country-process--circle{
        --process-gap-mask-w: 120px;
        --process-gap-mask-h: 90px;
    }
}


@media(max-width:991px){
    .flx-country-process__grid{grid-template-columns: repeat(4, minmax(0, 1fr))}
    .flx-country-process__grid > .flx-country-process__node:nth-child(7n)::after{display:block}
    .flx-country-process__grid > .flx-country-process__node:nth-child(4n)::after{display:none}
}

@media(max-width:767px){
    .flx-country-process__grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
    .flx-country-process__grid > .flx-country-process__node:nth-child(4n)::after{display:block}
    .flx-country-process__grid > .flx-country-process__node:nth-child(2n)::after{display:none}
}

@media(max-width:480px){
    /* mobile: simple vertical column (как на скрине) */
    .flx-country-process--circle .flx-country-process__grid{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:20px;
        padding:20px 0;
        margin:0 auto;
        height:auto;
    }
    .flx-home-hero__form {
        flex-direction: column;
        order: 3;
        margin-top: 20px;
        align-items: center;
        justify-content: center;
        width: 100%;
    }
    .flx-country-process--circle .flx-country-process__fly-layer{display:none}
    .flx-country-process--circle .flx-country-process__grid::after{display:none}
    .flx-country-process--circle .flx-country-process__conn,
    .flx-country-process--circle .flx-country-process__mask{display:none !important}
    /* mobile vertical stripe implemented via ::before on the grid */
    .flx-country-process--circle .flx-country-process__grid{position:relative;padding-top:12px;padding-bottom:20px}
    @media(max-width:480px){
        .flx-country-process--circle .flx-country-process__grid::before{
            content: "";
            border-radius: 0;
            position: absolute;
            /* start a bit below the top circle */
            top: 1%;
            /* stop above the flag (adjust if needed) */
            bottom: 120px;
            height: 95%;
            width: 2px;
            border: none;
            background: repeating-linear-gradient(to bottom, transparent, transparent 10px, #2196F3 10px, #2196F3 20px);
            left: 50%;
            transform: translate(-50%, 0);
            animation: none !important;
            z-index:0;
            pointer-events:none;
        }
        /* ensure nodes appear above the stripe */
        .flx-country-process--circle .flx-country-process__node{z-index:3}
    }
    .flx-country-process--circle .flx-country-process__node {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        margin: 0;
    }
    /* .flx-country-process--circle .flx-country-process__node::after{
        display:block !important;
        content:"";
        position:absolute;
        left:50%;
        transform:translateX(-50%);
        bottom:-16px;
        width:6px;
        height:32px;
        background:repeating-linear-gradient(180deg, rgba(43,87,154,0.25) 0 8px, transparent 8px 16px);
        border-radius:4px;
    } */
    .flx-country-process--circle .flx-country-process__grid > .flx-country-process__node:last-child::after{display:none !important}
    .flx-country-process--circle .flx-country-process__num{top:10px;right:10px}
    /* ensure circles sit above the vertical line */
    .flx-country-process--circle .flx-country-process__node{z-index:3}
    .flx-country-process--circle .flx-country-process__finish-flag {
        width: 150px;
        height: 150px;
    }
    .flx-country-process--circle .flx-country-process__finish-flag img{width:150px;height:150px}
    .flx-country-process--circle .flx-country-process__node .flx-country-process__cta{width:90px;height:36px;font-size:12px}
}

/* Footer */
.site-footer{
    background: radial-gradient(1200px 400px at 50% 0%, rgba(255,255,255,0.08), rgba(0,0,0,0)) , #0f0f0f;
    color:#fff;
    padding:54px 0 24px;
}

.site-footer a{color:#fff;text-decoration:none;transition: all 0.3s ease-in-out;font-weight: 100;font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;}
.site-footer a:hover{color:#2b579a !important;text-decoration:none !important}

.footer-top{
    border-top:1px solid rgba(255,255,255,0.35);
    border-bottom:1px solid rgba(255,255,255,0.35);
    padding:26px 0;
}

.footer-map-btn{
    background:transparent;
    color:#fff;
    border:1px solid #fff;
    border-radius:999px;
    padding:10px 28px;
    font-size:18px;
    line-height:1;
    transition: all 0.3s ease-in-out;
    font-weight:100;
}

.footer-map-btn:hover {
    text-decoration: none !important;
    background: #fff;
    color: #2b579a !important;
}

/* Footer CTA: minimal layout so site H2 and .flx-country-hero__btn styles apply */
.footer-cta{
    padding:0px 0 44px;
    border-bottom:1px solid rgba(255,255,255,0.04);
}
.footer-cta .d-flex{gap:18px}
.footer-cta__text{ text-transform:uppercase; letter-spacing:0.02em; line-height:1 }
.footer-cta .flx-country-hero__btn{ margin:0 0 0 22px }

@media(max-width:767.98px){
    .footer-cta .d-flex{flex-direction:column;align-items:center;gap:10px}
    .footer-cta__text{padding:0}
}

.footer-menu{list-style:none;margin:0;padding:0}
.footer-menu li{margin:0}
.footer-menu a{display:block;color:#fff;font-size:20px;line-height:1.35;transition: all 0.3s ease-in-out;}

.footer-menu a:hover{
    text-decoration: none !important;
    color: #2b579a;
}

.footer-contacts{display:flex;flex-direction:column;gap:10px}
.footer-contact{display:flex;align-items:center;gap:10px;color:#fff;font-size:18px;line-height:1.25}
.footer-contact i{width:22px;min-width:22px;text-align:center;opacity:0.95}
.footer-contact span,
.footer-bottom__left,
.footer-bottom__center {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
    font-weight: 100;
}

.footer-social{display:grid;grid-template-columns:repeat(3, 34px);gap:12px 14px;justify-content:center}
.footer-social__link{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
}
.footer-social__link i{font-size:26px}

.footer-request{position:relative;width:140px;height:140px;border-radius:50%;display:block;overflow:hidden}
.footer-request__img{width:100%;height:100%;object-fit:cover;display:block}
.footer-request__text{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-weight:800;
    font-size:22px;
    line-height:1.05;
    text-transform:uppercase;
    color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,0.55);
}

.footer-bottom{padding-top:18px}
.footer-bottom__left,.footer-bottom__center,.footer-bottom__right{font-size:17px;color: #EEEFEF;}
.footer-bottom__email{opacity:0.95}

@media(max-width:991px){
    .footer-social{justify-content:flex-start}
    .footer-request{margin-left:auto;margin-right:auto}
}

@media(max-width:767px){
    .site-footer{padding:40px 0 18px}
    .footer-menu a,.footer-contact{font-size:16px}
    .footer-request{width:124px;height:124px}
    .footer-request__text{font-size:20px}
}


/* СМИ о нас */
.media-section, .about-section{background:#fff;padding:70px 0}
.media-title{font-weight:700;text-transform:uppercase;margin:0}

.media-divider{
    position:relative;
    height:1px;
    background:#000;
    max-width:100%;
}
.media-divider::before{
    content:'';
    position:absolute;
    left:0;
    top:-2px;
    height:4px;
    width:260px;
    background:var(--flx-bg-color);
}

.media-card{
    background:#fff;
    border: 1px solid #707070;
    border-radius: 30px;
    box-shadow: 0 0 7px 3px rgba(0, 0, 0, 0.2);
    height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
}
.media-card__img{max-width:100%;max-height:100%;object-fit:contain;display:block}

.flx-media-swiper{padding:4px 0}
.flx-media-swiper .swiper-slide{height:auto;display:flex}
.flx-media-swiper .swiper-slide .media-card{width:100%}

.flx-media-scrollbar{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    margin-top:26px;
    height:3px;
    background:rgba(0,0,0,0.20);
    border-radius:999px;
    overflow:hidden;
}
.flx-media-scrollbar .swiper-scrollbar-drag{
    background:#2b579a;
    border-radius:999px;
}

/* Swiper может скрывать полосу, когда слайдов мало — оставляем видимой */
.flx-media-scrollbar.swiper-scrollbar-lock{display:block !important; opacity:1 !important;}

@media(max-width:767px){
    .media-section, .advantages-section, .about-section{padding:48px 0}
    .media-divider::before{width:180px}
    .media-card{height:104px}
}

.site-footer {
    background: #141414;
    padding-top: 44px;
    padding-bottom: 35px;
    color: #fff;
}

.footer-top {
    padding-top: 24px;
    padding-bottom: 24px;
    border-top: 1px solid #EEEFEF;
    border-bottom: 1px solid #EEEFEF;
    justify-content: space-between;
}

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

.footer-request__img {max-width: 145px;}

@media (max-width: 480px) {
    .footer-container {
        text-align: center;
    }

    .footer-contacts {
        align-items: center;
    }

    .footer-social {
        justify-content: center;
    }
}

.site-header .flx-header-menu > li.current_page_item > a {
    background: transparent !important;
}

.site-header .flx-header-menu > li.current_page_item > a:hover {
    background: rgba(0,0,0,0.14) !important;
}

.img-fluid.custom {
    width: 100%;
}

.con-custom {
    position: relative;
    justify-content: space-between;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.custom-konpa-rec {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Single course page */
.flx-course-single{padding:0 0 64px;background:#fff}

.flx-course-hero{background:#2b579a;padding:80px 0}
.flx-course-single__header{display:flex;align-items:center;gap:14px;margin:0;justify-content: flex-start;}
.flx-course-single__title {
    color: #fff;
    font-size: 60px;
    padding: 0px 20px;
}

.flx-course-single__body{padding-top:18px}
.flx-course-tabsbar{margin:0 0 0px}
.flx-course-tabs.nav-tabs{
    border-bottom:5px solid #2b579a;
    justify-content:flex-start;
    gap:0;
}

/* Keep tabs adjacent without overlap */
.flx-course-tabs.nav-tabs .nav-item + .nav-item .nav-link{
    border-left:0;
}

/* Fill the whole row (desktop) without spacing */
@media(min-width:992px){
    .flx-course-tabs.nav-tabs .nav-item{flex:1 1 0;}
    .flx-course-tabs.nav-tabs .nav-link{width:100%;justify-content:center}
}
.flx-course-tabs.nav-tabs .nav-link{
    border:1px solid rgba(0,0,0,0.15);
    border-bottom: 1px solid #2b579a;
    background:#fff;
    color:#111;
    padding:12px 16px;
    border-radius:10px 10px 0 0;
    display:inline-flex;
    align-items:center;
    gap:10px;
    white-space:nowrap;
    font-weight: 600;
    box-shadow: unset;
}
.flx-course-tabs.nav-tabs .nav-link:hover,
.flx-course-tabs.nav-tabs .nav-link.active {
    background:#2b579a;
    color:#fff;
    border-color:#2b579a;
    box-shadow: unset;
}
.flx-course-tabs__icon{display:inline-flex;opacity:0.95}
.flx-course-tabs.nav-tabs .dropdown-menu{border-radius:0px;box-shadow:0 10px 24px rgba(0,0,0,0.18);border:1px solid rgba(0,0,0,0.1)}
.flx-course-tabs.nav-tabs .dropdown-item{padding:10px 14px}
.flx-course-tabs.nav-tabs .dropdown-item.active,
.flx-course-tabs.nav-tabs .dropdown-item:active{background:#2b579a}

.flx-course-single__layout{align-items:flex-start}
.flx-course-tabcontent{padding-top:12px}
.flx-course-pane-title{margin:0 0 16px;font-size:32px;letter-spacing:1px;text-transform:uppercase;color:#000}
.flx-course-subtitle{margin:0 0 14px;font-size:29px;color:#000}
.flx-course-richtext{font-size:18px;line-height:1.55;color:#111}

/* Gallery grid */
.flx-course-gallery-grid{margin:0 0 10px}
.flx-course-gallery-grid__a,
.flx-course-gallery-grid__b,
.flx-course-gallery-grid__c,
.flx-course-gallery-grid__t,
.flx-course-gallery-grid__simple-item{border-radius:0px;overflow:hidden;background:#eee}
.flx-course-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}

.flx-course-gallery-grid{
    display:grid;
    grid-template-columns: 0.9fr 1.1fr;
    grid-template-rows: 220px 220px auto;
    grid-template-areas:
        "a c"
        "b c"
        "thumbs thumbs";
    gap:8px;
}
.flx-course-gallery-grid__a{grid-area:a}
.flx-course-gallery-grid__b{grid-area:b}
.flx-course-gallery-grid__c{grid-area:c}
.flx-course-gallery-grid__thumbs{grid-area:thumbs;display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:8px}
.flx-course-gallery-grid__t{position:relative;height:140px}
.flx-course-gallery-grid__t.is-more img{filter:brightness(0.55)}
.flx-course-gallery-grid__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:22px;line-height:1.1;color:#fff;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,0.55)}

.flx-course-gallery-grid__simple{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px}
.flx-course-gallery-grid__simple-item{height:180px}

/* Pricing */
.flx-course-pricing-block{margin:0 0 22px}
.flx-course-pricing-block__head{background:#2b579a;color:#fff;padding:14px 16px;text-align:center;font-size:18px}
.flx-course-pricing-table{border:1px solid #bdbdbd;margin:0}
.flx-course-pricing-table thead th{background:#2b579a;color:#fff;border-color:#2b579a;text-align:center;padding:14px 12px}
.flx-course-pricing-table tbody td{border-color:#bdbdbd;text-align:center;padding:14px 12px}

/* FAQ */
.flx-course-faq .accordion-item{border:0;border-bottom:1px solid rgba(0,0,0,0.16)}
.flx-course-faq .accordion-button{color:#2b579a}
.flx-course-faq .accordion-button:not(.collapsed){background:rgba(43,87,154,0.06)}

/* Sidebar */
.flx-course-sidebar__inner {
    display:flex;
    flex-direction:column;
    position: relative;
    margin-top: -82px;
    /* margin-bottom: 110px; */
    box-shadow: 0 0 10px 3px #00000061;
    z-index: 1;
    background: #fff;
    overflow:visible;

}
/* @media(min-width:992px){
    .flx-course-sidebar__inner{position:sticky;top:18px}
} */

.flx-course-sidebar__recommend{
    --flx-recommend-width: 220px;
    --flx-recommend-handle: 54px;
    position:absolute;
    top:0px;
    right:calc(100% + 0px);
    width:var(--flx-recommend-handle);
    height:var(--flx-recommend-handle);
    z-index:5;
    display:block;
    text-decoration:none;
    filter: drop-shadow(0px 6px 6px #0dabf35e);
    overflow:hidden;
    /* border-radius:10px; */
    transition: width .22s ease;
}
.flx-course-sidebar__recommend:hover,
.flx-course-sidebar__recommend:focus-visible{width:var(--flx-recommend-width)}

.flx-course-sidebar__recommend{display:flex;align-items:stretch}
.flx-course-sidebar__heart{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:var(--flx-recommend-handle);
    height:var(--flx-recommend-handle);
    flex:0 0 var(--flx-recommend-handle);
    border-radius:10px;
    background:#2b579a;
    color:#fff;
    padding: 12px;
    transition: transform .22s ease;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.flx-course-sidebar__heart svg{
    animation: flxPlayGlow 1.6s ease-in-out infinite;
}
.flx-course-sidebar__recommend-btn{
    position:static;
    height:var(--flx-recommend-handle);
    flex:1 1 auto;
    display:flex;
    align-items:center;
    padding:10px 14px;
    background:#2b579a;
    color:#fff;
    font-size:14px;
    line-height:1.05;
    white-space:nowrap;
    opacity:0;
    transition: opacity .18s ease;
}
.flx-course-sidebar__recommend:hover .flx-course-sidebar__recommend-btn,
.flx-course-sidebar__recommend:focus-visible .flx-course-sidebar__recommend-btn{opacity:1}

.flx-course-sidebar__recommend:hover .flx-course-sidebar__heart,
.flx-course-sidebar__recommend:focus-visible .flx-course-sidebar__heart{transform: scale(1.03)}

.flx-course-video-card{position:relative;border:0;padding:0;width:100%;display:block;overflow:hidden;background:#000;aspect-ratio:16/9;cursor:pointer}
.flx-course-video-card > img{width:100%;height:100%;object-fit:cover;display:block;}
.flx-course-video-card__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 18px rgba(0,0,0,0.45))}

.flx-course-video-card-wrap{position:relative;display:block;width:100%}

/* Bottom video card: subscribe CTA under the centered play icon */
.flx-course-video-card-wrap--bottom .flx-course-video-card__subscribe{
    position:absolute;
    left:50%;
    top:calc(50% + 74px);
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    text-align:center;
    color:#fff;
    pointer-events:none;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    z-index:3;
}
.flx-course-video-card-wrap--bottom .flx-course-video-card__subscribe-text{
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    color:#fff;
}
.flx-course-video-card-wrap--bottom .flx-course-video-card__subscribe-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    pointer-events:auto;
    cursor:pointer;
}
.flx-course-video-card-wrap--bottom .flx-course-video-card__subscribe-link img{
    display:block;
    width:64px;
    height:22px;
    object-fit:contain;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,0.45));
}

.flx-course-video-card__overlay{
    position:absolute;
    inset:0;
    filter:none;
}
.flx-course-video-card__overlay .flx-course-video-card__play{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    filter:none;
}

.flx-course-video-card__typing{
    position:absolute;
    left:50%;
    top:calc(50% + 60px);
    transform:translateX(-50%);
    display:inline-block;
    font-size:49px;
    font-weight:700;
    line-height:1.05;
    text-align:center;
    white-space:nowrap;
    min-height:1em;
    color:#fff;
}
.flx-course-video-card__typing::after{
    content:'|';
    display:inline-block;
    margin-left:2px;
    animation:flxTypingCursor 0.9s steps(2, end) infinite;
}

@keyframes flxTypingCursor{
    0%, 49%{ opacity:1; }
    50%, 100%{ opacity:0; }
}

@media (prefers-reduced-motion: reduce){
    .flx-course-video-card__typing::after{animation:none}
}

.flx-course-sidebar__box{padding: 20px;}
.flx-course-sidebar__title{margin:0 0 12px;font-size:20px;font-weight: 400;}
.flx-course-sidebar__lines{font-size:14px;line-height:1.5;color:#111}
.flx-course-sidebar__line{display:grid;grid-template-columns:160px 1fr;margin:10px 0}
.flx-course-sidebar__label{color:#111;font-size: 16px;}
.flx-course-sidebar__value{color:#111;font-size: 16px;}
.flx-course-sidebar__subhead{margin:16px 0 10px;font-size:20px;font-weight: 400;}

.flx-course-sidebar__files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.flx-course-sidebar__file{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center}
.flx-course-sidebar__file-name{color:#111;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flx-course-sidebar__file-link{color:#2b579a;text-decoration:none}
.flx-course-sidebar__file-link:hover{text-decoration:underline}

/* Similar */
.flx-course-similar{margin-top:40px}
.flx-course-similar__title{margin:0 0 16px;font-size:38px;text-transform:uppercase}

/* Video modal */
.flx-video-modal{background:#000;color:#fff;border:0}
.flx-video-modal .modal-header{border-bottom:1px solid rgba(255,255,255,0.12)}
.flx-video-modal__ratio{position:relative;width:100%;padding-top:56.25%}
.flx-video-modal__frame{position:absolute;inset:0;width:100%;height:100%;border:0}

.burger-menu {
    max-width: 40px;
}

.offcanvas.offcanvas-end {
    background: var(--flx-bg-color);
}

#flxOffcanvasMenuLabel,
.offcanvas-body,
.flx-offcanvas-nav li a,
.offcanvas-body .mb-3 .fw-semibold {
    color: #fff !important;
    text-decoration: none !important;
}

@media(max-width:991px){
    .flx-course-pane-title{font-size:36px}
    .flx-course-main{padding:14px 14px 18px}
    .flx-course-gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"c" "a" "b" "thumbs"}
    .flx-course-gallery-grid__c{height:240px}
    .flx-course-gallery-grid__a,.flx-course-gallery-grid__b{height:200px}
    .flx-course-gallery-grid__thumbs{grid-template-columns:repeat(3, minmax(0,1fr))}
    .flx-course-gallery-grid__t{height:120px}
    .flx-course-sidebar__line{grid-template-columns:140px 1fr}
    .flx-course-tabs.nav-tabs .nav-item{flex:0 0 auto}
    .flx-course-tabs.nav-tabs .nav-link{width:auto;justify-content:flex-start}
}

@media(max-width:575px){
    .flx-course-tabs.nav-tabs{overflow:auto;flex-wrap:nowrap}
    .flx-course-tabs.nav-tabs .nav-link{padding:10px 12px}
    .flx-course-pane-title{font-size:30px}
    .flx-course-gallery-grid__thumbs{grid-template-columns:repeat(2, minmax(0,1fr))}
}

@media(max-width:575px){
    .flx-course-sidebar__recommend{width:var(--flx-recommend-width)}
    .flx-course-sidebar__recommend-btn{opacity:1;transform:none}
}

@media (max-width:1024px) {
    .flx-course-tabs.nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden !important;
    }
    .flx-course-single__title {
        font-size: 50px;
    }
    .flx-course-hero {
        padding: 30px 0 30px;
    }
    .flx-course-gallery-grid__more {
        font-size: 18px;
    }
    .site-header .flx-header-menu > li > a {
        padding: 0px;
    }
    .menu-item.flx-header-menu__call {
        display: none;
    }
}

@media (max-width:800px) {
    .flx-course-single__title {
        font-size: 38px;
    }
    .flx-course-sidebar__inner {
        margin-top: 0px;
    }
    .flx-course-sidebar__recommend {
        top: 5px;
        left: 5px;
        right: auto;
    }
    .flx-course-single {
        padding-bottom: 30px;
    }
    .flx-course-main {
        padding: 0px;
    }
    .flx-home-hero__content {
        margin-top: 0px;
    }
    .menu-item.flx-header-menu__call {
        display: block !important;
    }
    .form-check-label {
        color: #000 !important;
    }
    .flx-menu-countries__dropdown {
        background: transparent !important;
        border: none !important;
        padding: 0px !important;
    }
    .map-fullwidth,
    .map-fullwidth iframe {
        height: 300px !important;
    }
}

@media (max-width:480px) {
    .flx-course-single__header {
        flex-direction: column;
    }
    .flx-course-single__title {
        text-align: center;
        font-size: 48px;
    }
    .flx-course-tabs {
        overflow-y: hidden !important;
    }
    .flx-course-sidebar__inner {
        margin-top: 0px;
    }
    .flx-course-sidebar__recommend {
        top: 5px;
        left: 5px;
        right: auto;
    }
    .flx-course-single {
        padding-bottom: 30px;
    }
    .flx-course-main {
        padding: 0px;
    }
    .flx-course-card__pricing-head,
    .flx-course-card__pricing-row {
        justify-content: space-around;
    }
    .flx-course-card__pricing-head .col-2,
    .flx-course-card__pricing-row .col-2 {
        width: 33%;
    }
    .custom-konpa-rec {
        justify-content: center;
    }
    .custom-left-block {
        text-align: center;
        align-items: center;
        justify-content: center;
        display: flex;
        flex-direction: column;
    }
}

.contacts-section {
    background: var(--flx-bg-color);
    color: #fff;
}

.map-fullwidth {
    height: 400px;
}

.map-fullwidth small {
    display: none !important;
}

.custom-title {
    text-align: center !important;
}

.custom-form-cf7 .cf7-modal {
    background: transparent !important;
    box-shadow: none !important;
}

.custom-form-cf7 .cf7-modal h2,
.custom-form-cf7 .cf7-modal .cf7-subtitle {
    display: none !important;
}

.flx-country-hero__title.holiday,
.flx-country-hero__text.holiday {
    text-transform: none;
    text-shadow: black 1px 1px 2px;
}

.flx-country-hero__h1.holiday {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Holiday block: Video + Text (full width background video with overlay text) */
.flx-videotext{
    position:relative;
    width:100vw;
    margin-left:calc(49.4% - 50vw);
    overflow:hidden;
    background:#0b1630;
}
.flx-videotext__bg{position:absolute;inset:0;overflow:hidden}
.flx-videotext__bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.20) 55%, rgba(0,0,0,.45));
}
.flx-videotext__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.flx-videotext__content{
    position:relative;
    z-index:1;
    min-height:550px;
    padding:72px 16px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
}
.flx-videotext__text{
    color:#fff;
    font-weight:800;
    font-size:44px;
    line-height:1.12;
    text-shadow:0 0 5px rgba(0,0,0,.8);
    text-align:center;
    max-width:850px;
}

@media(max-width:991px){
    .flx-videotext__content{min-height:420px;padding:56px 16px}
    .flx-videotext__text{font-size:34px}
}

@media(max-width:767px){
    .flx-videotext__content{min-height:340px;padding:44px 16px}
    .flx-videotext__text{font-size:26px}
}

@media (prefers-reduced-motion: reduce){
    .flx-videotext__video{display:none}
}

/* Holiday block: Photo reports */
.flx-photoreports__heading{
    margin-bottom:24px;
    text-shadow: 10px 10px 20px rgba(255, 6.7214673913043335, 6.7215662199066255, 0.37);
    background-color: transparent;
    background-image: linear-gradient(130deg, #FFA300 0%, #F2295B 91%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: rgba(255, 255, 255, 0);
    font-size: 50px;
    line-height: 1.1;
    font-weight: 800;
}
.flx-photoreports__list{display:flex;flex-direction:column;gap:22px}

.flx-photoreports__row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.flx-photoreports__col{display:flex;flex-direction:column}
.flx-photoreports__col--stack{display:grid;grid-auto-rows:1fr;gap:22px}

.flx-photoreports__row--simple{grid-template-columns:repeat(3, minmax(0, 1fr))}

.flx-photoreport{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    min-height:335px;
    max-height:335px;
    background:#0b1630;
}
.flx-photoreport--hero{min-height:600px}

/* Hero variant: center overlay content and enlarge text */
.flx-photoreport--hero .flx-photoreport__overlay{
    align-items:center;
    justify-content:center;
    text-align:center;
    /* padding:0 28px;
    background:linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,0.35) 50%, rgba(0,0,0,0.6)); */
}
.flx-photoreport--hero .flx-photoreport__meta{width:100%;display:block}
.flx-photoreport--hero .flx-photoreport__title{font-size:48px;line-height:1.05;margin:0 0 12px}
.flx-photoreport--hero .flx-photoreport__text{font-size:20px;opacity:0.95}

.flx-photoreport__img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1);
    transition:transform .45s ease;
}

.flx-photoreports__col.flx-photoreports__col--left.flx-photoreports__col--stack article,
.flx-photoreports__col.flx-photoreports__col--right.flx-photoreports__col--stack article {
    min-height:335px;
    max-height:335px;
}

.flx-photoreports__col--left article,
.flx-photoreports__col--right article {
    height: 100%;
    max-height: 700px;
    min-height: 700px;
}

.flx-photoreport__overlay{
    position:absolute;
    inset:0;
    display:flex;
    /* align-items:center; */
    justify-content:center;
    /* padding:0 22px; */
    text-align:center;
    padding: 50px !important;
    align-items: flex-start !important;
    /* background:linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,0.32) 50%, rgba(0,0,0,0.65)); */
}
.flx-photoreport__meta{color:#fff;max-width:740px}
.flx-photoreport__title{font-weight:800;font-size:36px;line-height:1.08;margin:0 0 8px}
.flx-photoreport__text{font-size:18px;line-height:1.35;opacity:.95}

.flx-photoreport:hover .flx-photoreport__img{transform:scale(1.08)}

@media(max-width:991px){
    .flx-photoreport{min-height:260px}
    .flx-photoreport--hero{min-height:420px}
    .flx-photoreport__title{font-size:22px}
    .flx-photoreport__text{font-size:15px}
}

@media(max-width:991px){
    .flx-photoreport--hero .flx-photoreport__title{font-size:34px}
    .flx-photoreport--hero .flx-photoreport__text{font-size:16px}
}

@media(max-width:767px){
    .flx-photoreports__row{grid-template-columns:1fr}
    .flx-photoreports__row--simple{grid-template-columns:1fr}
    .flx-photoreports__col--stack{grid-auto-rows:auto}
    .flx-photoreport{min-height:240px}
    .flx-photoreport--hero{min-height:320px}
}

@media (prefers-reduced-motion: reduce){
    .flx-photoreport__img{transition:none}
    .flx-photoreport:hover .flx-photoreport__img{transform:none}
}

#o-kanikulah .entry-content {
    font-size: 18px;
    text-align: center;
}

/* Holiday block: Image slider */
.flx-holiday-slider__heading{margin-bottom:24px}

.flx-holiday-slider__wrap{
    position:relative;
    border-radius:30px;
    overflow:hidden;
}

.flx-holiday-slider__slide{position:relative}

.flx-holiday-slider__img{
    display: flex;
    max-height: 700px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flx-holiday-slider__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:50px;
    height:50px;
    padding:10px;
    border-radius:50%;
    border:0;
    background:transparent;
    box-shadow: 0 0 27px 4px #00000030;
    cursor:pointer;
    z-index:10;
    background-position:center;
    background-repeat:no-repeat;
    background-size:calc(100% - 20px) auto;
    transition:background .2s ease;
}

.flx-holiday-slider__nav--prev{left:18px;background-image:url(/wp-content/uploads/2026/01/prev.png)}
.flx-holiday-slider__nav--next{right:18px;background-image:url(/wp-content/uploads/2026/01/next.png)}

.flx-holiday-slider__nav:hover{
    background-color: rgb(56 152 239);
}

.flx-holiday-slider__nav:active{background-color: rgb(56 152 239)}

@media(max-width:767px){
    .flx-holiday-slider__wrap{border-radius:18px}
    .flx-holiday-slider__img{max-height:360px;min-height: 360px;}
    .flx-holiday-slider__nav{width:50px;height:50px}
    .flx-holiday-slider__nav--prev{left:10px}
    .flx-holiday-slider__nav--next{right:10px}
}

/* Holiday block: Seats limited */
.flx-holiday-seats__heading{
    margin:0 0 34px;
    text-align:center;
    font-weight:800;
    font-size:34px;
    line-height:1.1;
    letter-spacing:1px;
    /* text-transform:uppercase; */
}
.flx-holiday-seats__heading-accent{color:#ff0000;margin-left:0px}

.flx-holiday-seats__grid{
    display:flex;
    flex-wrap:wrap;
    margin-left:-15px;
    margin-right:-15px;
}

.flx-holiday-seats-card{
    width: calc(33.33% - 30px);
    margin-right: 15px;
    margin-left: 15px;
    background: linear-gradient(151.16deg, #E3F2FF -4.53%, rgba(255, 255, 255, 0) 93.89%);
    border-radius: 13px;
    margin-bottom: 30px;
    padding: 45px 50px 30px;
    text-align: center;
    box-shadow: 0px 0px 64px 0px rgb(0 0 0 / 10%);
    transition: 0.3s all ease-in-out;
    cursor: pointer;
    text-decoration:none;
    color:inherit;
    display:block;
}

.flx-holiday-seats-card:hover{
    background:#fff;
    text-decoration:none;
    color:inherit;
}

.flx-holiday-seats-card:focus{
    outline:none;
}

.flx-holiday-seats-card:focus-visible{
    outline:3px solid rgba(43,87,154,0.35);
    outline-offset:3px;
}

.flx-holiday-seats-card__icon{
    height:64px;
    margin-bottom:22px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.flx-holiday-seats-card__icon img{max-height:64px;max-width:92px;width:auto;height:auto;display:block}

/* Try to tint any icon image on hover to #2b579a */
.flx-holiday-seats-card:hover .flx-holiday-seats-card__icon img{
    filter: invert(23%) sepia(37%) saturate(2514%) hue-rotate(186deg) brightness(90%) contrast(93%);
}

.flx-holiday-seats-card__title{
    font-weight:800;
    font-size:34px;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#1a1a1a;
    margin-bottom:12px;
}

.flx-holiday-seats-card:hover .flx-holiday-seats-card__title{color:#2b579a}

.flx-holiday-seats-card__seats{
    font-size:18px;
    color:rgba(0,0,0,0.55);
}

.flx-holiday-seats-card__hint{margin-top:26px}
.flx-holiday-seats-card__cursor{width:22px;height:auto;display:block;margin:0 auto 10px}
.flx-holiday-seats-card__hint-text{font-size:14px;line-height:1.35;color:rgba(0,0,0,0.35)}

@media(max-width:991px){
    .flx-holiday-seats__heading{font-size:30px}
    .flx-holiday-seats-card{width: calc(50% - 30px); padding: 40px 28px 26px;}
}

@media(max-width:575px){
    .flx-holiday-seats-card{width: calc(100% - 30px); padding: 34px 22px;}
    .flx-holiday-seats-card__title{font-size:30px}
    .flx-holiday-seats__heading{font-size:24px;margin-bottom:22px}
}

.media-section.flx-section {
    padding: 0px;
}

/* Generic section spacing using .flx-section (replaces bootstrap .mb-5) */
.flx-section {
    margin-bottom: 100px;
}
.flx-section:last-of-type {
    margin-bottom: 50px;
}
@media (max-width: 991px) {
    .flx-section {
        margin-bottom: 60px;
    }
}

/* Global scroll-to-top button */
.flx-scroll-top{
    position:fixed;
    left:26px;
    bottom:26px;
    width:84px;
    height:84px;
    border-radius:50%;
    border:0;
    background:#0b0b0b;
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    z-index:9998;
    box-shadow:0 10px 22px rgba(0,0,0,0.28);
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, box-shadow .2s ease;
    -webkit-tap-highlight-color: transparent;
}
.flx-scroll-top.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}
.flx-scroll-top:hover{box-shadow:0 14px 26px rgba(0,0,0,0.34)}

.flx-scroll-top__icon{
    width:22px;
    height:22px;
    position:relative;
}
.flx-scroll-top__icon::before,
.flx-scroll-top__icon::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:14px;
    border-top:3px solid #fff;
    border-left:3px solid #fff;
    transform:translate(-50%,-40%) rotate(45deg);
}

.flx-scroll-top__text{
    font-size:16px;
    font-weight:700;
    line-height:1;
}

@media(max-width:991px){
    .flx-scroll-top{left:18px;bottom:18px;width:72px;height:72px}
    .flx-scroll-top__text{font-size:14px}
}   

@media(max-width:575px){
    .flx-scroll-top{left:14px;bottom:14px;width:64px;height:64px}
    .flx-scroll-top__text{font-size:13px}
}

.container.clients-front-page {
    max-width: 1140px;
}

.justify-content-spaced-between {
    justify-content: space-between;
}

.podpiska-left {
    height: 100vh;
    max-height: 600px;
}

@media (max-width: 1024px) {
    .podpiska-left {
        height: auto;
    }
}

@media (max-width: 800px) {
    .podpiska-left {
        height: auto;
    }
}

@media (max-width: 480px) {
    .podpiska-left {
        height: auto;
    }
}

.flx-home-hero__content .flx-country-hero__btn {
    font-size: 16px;
}

.contact-custom-new-1 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.custom-left-block h2,
.custom-form-cf7 h2 {
    font-size: 35px;
}

.contact-adress {
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.contact-adress i svg,
.contact-custom-new-1 i svg {
    height: 20px;
    width: 20px;
}

.contact-custom-new-1,
.contact-custom-new-1 a {
    font-size: 26px;
}

.socseti.d-flex.align-items-center.me-3 svg {
    width: 30px;
    height: 30px;
}

.flx-section.custom {
    margin-top: 30px;
}

.flx-country-hero .flx-country-hero__btn {
    border-color: var(--flx-bg-color);
    background: var(--flx-bg-color);
}

.flx-country-hero .flx-country-hero__btn:hover {
    background: #1f3f6e;
}

.flx-photoreport__title,
.flx-photoreport__text {
    text-shadow: 1px 1px 2px black;
}

.svg-course-play-top {
    max-width: 100px;
    max-height: 70px;
    animation: flxPlayGlow 1.6s ease-in-out infinite;
}

@keyframes flxPlayGlow{
    0%, 100%{
        filter: drop-shadow(1.80075px 3.60149px 5.40224px rgba(255, 255, 255, 0.35));
    }
    50%{
        filter: drop-shadow(1.80075px 3.60149px 12.80448px rgba(255, 255, 255, 0.9));
    }
}

@media (prefers-reduced-motion: reduce){
    .svg-course-play-top{animation:none}
    .flx-course-sidebar__heart svg{animation:none}
}