.margin-top-10{
    margin-top: 10px;
}
.margin-top-50{
    margin-top: 50px;
}
.margin-bottom-10{
    margin-bottom: 10px;
}
.margin-bottom-20{
    margin-bottom: 20px;
}
.margin-right-5{
    margin-right: 5px;
}
.mb-50{
    margin-bottom: .5em !important;
}

.dropdown-language .dropdown-menu{
    z-index: 10000;
    min-width: unset;
}
.dropdown-language .dropdown-item{
    line-height: 1.5em;
}

.required > label::after{
    content: " * ";
    color: red;
}

.help-block-error,
.help-block.error{
    font-size: smaller;
    color: red;
}

.subscribe-form .group{
    height: 100%;
}

.subscribe-form .alert{
    position: absolute;
    top: -70px;
}

.page-title-area{
    padding: 230px 0 40px;
}
.page-title-area::after{
    display: none;
}

.topbar-single-info{
    white-space: nowrap;
}

.faq .accordion .card .card-header h5 button{
    min-height: 80px;
    height: auto;
    white-space: normal;
    line-height: 1.6;
}

.banner-area-2{
    position: relative;
}
.banner-area-2 .flag{
    border-radius: 50%;
    height: 120px;
    width: 120px;
    line-height: 120px;
    margin: -60px 0 0px;
    -webkit-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    position: absolute;
    border: 1px solid #e0e0e0;
    z-index: 0;
    background: transparent;
    text-align: center;
}
.banner-area-2 .flag:hover{
    background: #c1ffd7;
}
.banner-area-2 .flag::after {
    content: '';
    position: absolute;
    background: #c1ffd7;
    height: 100px;
    width: 100px;
    top: 10px;
    left: 10px;
    border-radius: 50%;
    z-index: -1;
}
.banner-area-2 .flag img{
    -webkit-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    max-width: 64px;
}
.banner-area-2 .flag.pl{
    left: 9%;
    bottom: 120px;
}
.banner-area-2 .flag.de{
    left: 17%;
    bottom: -20px;
}
.banner-area-2 .flag.it{
    left: 33%;
    bottom: -30px;
}
.banner-area-2 .flag.gb{
    left: 44%;
    bottom: 90px;
}
.banner-area-2 .flag.fr{
    left: 57%;
    bottom: 190px;
}
.banner-area-2 .flag.es{
    left: 68%;
    bottom: 80px;
}
@media(min-width: 1400px){
    .banner-area-2 .flag.pl{
        left: 10%;

    }
    .banner-area-2 .flag.de{
        left: 19%;

    }
    .banner-area-2 .flag.it{

    }
    .banner-area-2 .flag.gb{

    }
    .banner-area-2 .flag.fr{

    }
    .banner-area-2 .flag.eu{
        left: 70%;
    }
}
@media(max-width: 1024px){
    .banner-area-2 .flag{
        width: 110px;
        height: 110px;
        line-height: 110px;
    }
    .banner-area-2 .flag::after {
        height: 90px;
        width: 90px;
        top: 10px;
        left: 10px;
    }
    .banner-area-2 .flag.pl{

    }
    .banner-area-2 .flag.de{
        left: 16%;

    }
    .banner-area-2 .flag.it{

    }
    .banner-area-2 .flag.gb{

    }
    .banner-area-2 .flag.fr{

    }
    .banner-area-2 .flag.eu{

    }
}
@media(max-width: 992px){
    .banner-area-2 .flag.pl{
        left: 5%;
        bottom: 50px
    }
    .banner-area-2 .flag.de{
        left: 20%;
        bottom: 50px
    }
    .banner-area-2 .flag.it{
        left: 35%;
        bottom: 50px
    }
    .banner-area-2 .flag.gb{
        left: 50%;
        bottom: 50px
    }
    .banner-area-2 .flag.fr{
        left: 65%;
        bottom: 50px
    }
    .banner-area-2 .flag.es{
        left: 80%;
        bottom: 50px
    }
}
@media(max-width: 767px){
    .navbar-top .container{
        max-width: unset;
    }
    .banner-area-2{
        padding: 120px 0 180px;
    }
    .banner-area-2 .flag{
        width: 90px;
        height: 90px;
        line-height: 86px;
    }
    .banner-area-2 .flag::after {
        height: 80px;
        width: 80px;
        top: 4px;
        left: 4px;
    }
    .banner-area-2 .flag img{
        width: 60px;
    }
    .banner-area-2 .flag.pl{
        left: 50%;
        margin-left: -30%;
        bottom: 110px;
    }
    .banner-area-2 .flag.de{
        left: 50%;
        margin-left: -45px;
        bottom: 110px;
    }
    .banner-area-2 .flag.it{
        left: 50%;
        margin-left: calc(30% - 90px);
        bottom: 110px;
    }
    .banner-area-2 .flag.gb{
        left: 50%;
        margin-left: -30%;
        bottom: -20px;
    }
    .banner-area-2 .flag.fr{
        left: 50%;
        margin-left: -45px;
        bottom: -20px;
    }
    .banner-area-2 .flag.es{
        left: 50%;
        margin-left: calc(30% - 90px);
        bottom: -20px;
    }
}

@media(max-width: 576px){
    .banner-area-2 .flag.pl{
        margin-left: -40%;
    }
    .banner-area-2 .flag.de{
        margin-left: -45px;
    }
    .banner-area-2 .flag.it{
        margin-left: calc(40% - 90px);
    }
    .banner-area-2 .flag.gb{
        margin-left: -40%;
    }
    .banner-area-2 .flag.fr{
        margin-left: -45px;
    }
    .banner-area-2 .flag.es{
        margin-left: calc(40% - 90px);
    }
}

@media(max-width: 373px){
    .banner-area-2 .flag img{
        width: 45px;
    }
    .banner-area-2 .flag{
        width: 70px;
        height: 70px;
        line-height: 65px;
    }
    .banner-area-2 .flag::after {
        height: 60px;
        width: 60px;
        top: 4px;
        left: 4px;
    }
    .banner-area-2 .flag.de{
        margin-left: -35px;
    }
    .banner-area-2 .flag.it{
        margin-left: calc(40% - 70px);
    }
    .banner-area-2 .flag.gb{
        bottom: 0px;
    }
    .banner-area-2 .flag.fr{
        margin-left: -35px;
        bottom: 0px;
    }
    .banner-area-2 .flag.es{
        margin-left: calc(40% - 70px);
        bottom: 0px;
    }
}

@media(min-width: 576px) and (max-width: 767px){
    .single-input-wrap .single-input{
        width: 50%;
        padding: 0 30px;
    }
}

/* Главная навигация, 992–1399 px: меню на русском и немецком не влезало в строку и переносилось
   (плашка вырастала до 200 px, логотип съезжал). Уменьшены поля плашки и логотип, шрифт прежний. */
@media (min-width: 1200px) and (max-width: 1399px) {
    .nav-transparent .nav-white {
        padding: 0 30px;
    }
    .navbar-area .nav-container .logo a {
        width: 160px;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .nav-transparent .nav-white {
        padding: 0 15px;
    }
    .navbar-area .nav-container .logo a {
        width: 130px;
    }
}
.navbar-area .nav-container .logo img {
    max-width: 100%;
    height: auto;
}

/* Уже 992 px (гамбургер): плашка была шириной контейнера 540/720 px и прижата влево.
   Теперь плашка и верхняя полоса — во всю ширину с полями 15 px. */
@media (max-width: 991px) {
    .navbar-top .container,
    .navbar-area .nav-container {
        max-width: none;
    }
    .nav-transparent .nav-white {
        width: calc(100% - 30px);
        margin: 0 15px;
    }
}

/* Поле e-mail и кнопка (три формы .single-input-wrap на главной): с 768 px — в одну строку на всех языках.
   Поле по-прежнему 65%, но сужается, если надпись кнопки длинная («Присоединяйтесь к TheFbaPrep»).
   Уже 768 px — как в теме: длинная кнопка под полем (рядом поле стало бы слишком узким).
   Выравнивание как у темы: до 991 px — по центру, с 992 px — слева, у .text-lg-right — справа. */
@media (min-width: 768px) {
    .single-input-wrap form {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px; /* вместо пробела между inline-элементами: зазор как раньше, 8 px поля + 4 px */
    }
    .single-input-wrap .single-input {
        flex: 0 1 auto;
        min-width: 0;
    }
    .single-input-wrap .btn {
        flex: none;
        white-space: nowrap;
    }
}
@media (min-width: 992px) {
    .single-input-wrap form {
        justify-content: flex-start;
    }
    .single-input-wrap.text-lg-right form {
        justify-content: flex-end;
    }
}

/* Верхняя полоса (почта, телефон, соцсети, вход, язык) на телефонах.
   576–767 px: полоса делилась на две половины, и «Вход / Зарегистрироваться» с языком вылезали за экран
   (на русском и немецком) — страница сдвигалась вбок. Теперь до 767 px обе части во всю ширину, одна под другой,
   по центру — как уже было до 575 px. На узких (~320 px) почта и телефон переносятся, а не вылезают. Шрифт прежний. */
@media (max-width: 767px) {
    .navbar-top .row > div {
        flex: 0 0 100%;
        max-width: 100%;
        text-align: center !important;
    }
    .navbar-top .topbar-left,
    .navbar-top .topbar-right {
        flex-wrap: wrap;
        justify-content: center;
        float: none !important;
    }
    .navbar-top .topbar-right li {
        height: 30px;
        line-height: 20px;
    }
}
/* Самые узкие телефоны (до 374 px): строки полосы переносятся — делаем их ниже, чтобы полоса не росла до 160 px */
@media (max-width: 374px) {
    .navbar-top .topbar-left li {
        height: 34px;
        line-height: 34px;
    }
}

/* Баннер главной на телефонах (до 767 px): между плашкой меню и подзаголовком было до 90 px пустоты — стало 40 px.
   Высота шапки разная (язык, длина номера — строки полосы переносятся), поэтому отступ считается от низа плашки:
   --fba-nav-bottom ставит custom.js. Без JS — отступ темы (132 px). 70 = 120 (поле баннера) − 10 (подложка) − 40. */
@media (max-width: 767px) {
    .banner-area-2 .banner-inner {
        padding-top: max(0px, calc(var(--fba-nav-bottom, 202px) - 70px));
    }
}

/* Первый экран главной: H1 — строка с ключевыми словами (выглядит как прежний подзаголовок),
   «The FBA Prep» — <p class="banner-title"> с видом прежнего h1: 70 / 46 / 32 px. */
.banner-inner h1.subtitle {
    font-size: 20px;
    font-weight: 700;
    line-height: 36px;
    margin: 0 0 21px;
}
.banner-inner .banner-title {
    font-family: var(--heading-font);
    font-size: 70px;
    font-weight: 800;
    line-height: 1.2833;
    margin: 0 0 8px;
    color: #ffffff;
}
@media (max-width: 991px) {
    .banner-inner .banner-title {
        font-size: 46px;
    }
}
@media (max-width: 376px) {
    .banner-inner .banner-title {
        font-size: 32px;
    }
}
