/* header */
header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: .6s;
}
.header_hidden{
    transform: translate(0, -110%);
}
.logo{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 30px;
}
.logo p{
    color: var(--dark);
    max-width: 220px;
    font-size: 16px;
}
header .container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.header_end{
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 20px;
}
.tel{
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: end;
    gap: 3px;
    margin-right: 40px;
}
.tel a{
    font-size: 20px;
    color: var(--main);
    line-height: 1;
    font-weight: 700;
}
.tel p{
    font-size: 14px;
    font-family: 'Halvar';
    text-decoration: underline;
    color: var(--dark);
    cursor: pointer;
}
.social{
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 15px;
}
.social img{
    height: 44px;
    aspect-ratio: 1/1;
}
.header_top{
    padding: 25px 0px;
    background: #fff;
}
.header_bottom{
    background: var(--dark);
    padding: 14px 0px;
}
.nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.nav a{
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    transition: .3s;
}
.nav a:hover{
    color: var(--main);
}
header .btn_main{
    font-size: 16px;
}

/* main */
#main{
    padding: 0;
    margin-top: 120px;
    height: auto;   
    padding-left: calc(50% - 1420px/2 + 10px);
}
.main_bg{
    width: 50%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
}
.main_bg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main_row{
    display: flex;
    align-items: stretch;
    justify-content: start;
    gap: 20px;
    max-width: 1660px;
}
#main h1{
    font-size: 48px;
    font-weight: 700;
    width: 100%;
    margin: 20px 0px;
}
#main h1 span{
    padding: 4px 10px;
    background: var(--main);
    color: #fff;
    border-radius: 5px;
}
.main_logo{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
}
.main_div{
    display: flex;
    align-items: start;
    justify-content: start;
    gap: 20px;
}
.main_div p{
    font-size: 24px;
    font-weight: 500;
}
.main_div img{
    padding-top: 4px;
}
.main_text{
    width: 50%;
    gap: 20px;
    padding: 100px 0px;
}
.btn_row{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 20px;
    margin-top: 20px;
}
.main_row{
    position: relative;
}

/* about */
#about{
    padding: 120px 0px;
    position: relative;
}
#about .container{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 90px;
}
.about_bg{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.about_img{
    width: 280px;
    gap: 40px;
}
.about_img img{
    height: 280px;
    aspect-ratio: 1/1;
    filter: grayscale(1);
}
.about_img_name{
    gap: 4px;
}
.about_img_name p{
    color: #fff;
}
.about_img_name p.name{
    font-family: 'Halvar';
    font-size: 28px;
}
#about .title{
    margin-bottom: 0;
    justify-content: start;
    color: #fff;
}
.about_text{
    gap: 40px;
}
.about_text p{
    font-size: 20px;
    color: #fff;
    font-weight: 500;
    font-family: 'Halvar';
    max-width: 800px;
}

/* preim_table */
#preim_table table td, #preim_table table th{
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    border: 1px solid #e6e6e6;
}
#preim_table table td:first-child, 
#preim_table table th:first-child{
    width: 100%;
}
#preim_table table td p{
    width: 100%;
    text-align: left;
    font-family: 'Halvar';
    font-size: 20px;
    font-weight: 700;
}
#preim_table table tr{
    display: flex;
    width: 100%;
}
#preim_table table th{
    background: var(--dark);
}
#preim_table table th p{
    text-align: center;
    font-family: 'Halvar';
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}
#preim_table table th:first-child p{
    text-align: left;
    width: 100%;
}

/* preim */
#preim{
    position: relative;
    overflow: hidden;
}
.preim_div{
    background: rgb(255,255,255,0.7);
    backdrop-filter: blur(10px);
    gap: 20px;
    padding: 30px;
    height: 100%;
}
#preim .container{
    position: relative;
    z-index: 3;
}
.preim_div h3{
    margin-top: 10px;
    font-size: 24px;
    font-weight: 700;
}
.preim_div p{
    flex-grow: 1;
    margin-bottom: 40px;
}
#preim .row{
    align-items: stretch;
}
#preim .col-lg-4{
    height: auto;
}
.preim_bike{
    position: absolute;
    left: -30%;
    bottom: 4%;
    z-index: 1;
}
.preim_conus{
    position: absolute;
    right: 7%;
    bottom: 0;
    z-index: 5; 
}
#preim .col-lg-4:nth-child(2) .preim_div img{
    height: 60px;
}

/* program */
#program .col-lg-8{
    padding: 30px;
    background: #fff;
    position: relative;
    gap: 20px;
    width: 50%;
    flex-grow: 1;
}
#program .col-lg-8 img{
    position: absolute;
    bottom: 30px;
    right: 30px;
}
.program_name{
    font-size: 24px;
    font-family: 'Halvar';
    font-weight: 700;
}
.program_quote{
    font-size: 24px;
    font-style: italic;
    max-width: 640px;
    font-weight: 500;
    margin-top: 14px;
}
.program_tarif_div{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 10px;
}
.program_tarif_div p{
    color: #fff;
}
#program .col-lg-4{
    background: var(--dark);
    padding: 30px;
    gap: 20px;
}
#program .row{
    gap: 20px;
    align-items: stretch;
}
#program .col-lg-12{
    padding: 60px 160px;
    background: var(--main);
}
#program .col-lg-12 p{
    font-family: 'Halvar';
    font-size: 32px;
    font-weight: 500;
    color: #fff;
    text-align: center;
}
.program_price{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: end;
    flex-grow: 1;
    gap: 20px;
}
.program_price_numb{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 15px;
    margin-top: 20px;
    width: 100%;
}
.program_price span{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 15px;
    font-size: 28px;
    line-height: 1;
    font-family: 'Halvar';
    color: var(--main);
    font-weight: 700;
}
.program_price span.old_price{
    color: rgb(0,0,0,0.2);
    text-decoration: line-through;
}
.program_price_btn{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 20px;
}
.program_text{
    padding: 40px;
    background: #fff;
    width: 100%;
    gap: 30px;
    height: 100%;
}
.program_row{
    margin-top: 60px;
}
.program_div{
    flex-grow: 1;
    width: 45%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    position: relative;
    overflow: hidden;
    height: auto;
}
.program_img{
    width: 100%;
    aspect-ratio: 7/3;
}
.program_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.program_div.stretched{
    width: 100%;
    flex-direction: row-reverse;
    min-height: 500px;
}
.program_div.stretched .program_text{
    padding: 60px 40px;
    gap: 40px;
    max-width: 560px;
    position: relative;
    z-index: 10;
    background: transparent;
}
.program_div.stretched .program_img{
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 80%;
    height: 100%;
    aspect-ratio: inherit;
}
.program_div .program_bg{
    display: none;
}
.program_div.stretched .program_bg{
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    z-index: 3;
}
.program_img.translate_x img{
    transform: scaleX(-1);
}

/* zayavka */
#zayavka{
    margin-top: 120px;
    padding: 120px 0px;
    background-image: url('../img/zayavka_bg.webp');
    background-size: cover;
    background-position: center;
}
#zayavka .container{
    gap: 20px;
}
#zayavka .container h2{
    max-width: 700px;
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
}
#zayavka .container p{
    font-size: 24px;
    color: #fff;
}
#zayavka img{
    margin-bottom: 20px;
}
#zayavka .btn_main{
    margin-top: 20px;
}

/* video */
#video .title{
    justify-content: start;
}
.video_row{
    margin-top: 60px;
}
.video_div{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32%;
}
.video_btn{
    background: var(--main);
    border: 0px;
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: absolute;
    z-index: 20;
}
.video_div .video_btn img{
    width: 28px;
    padding-left: 4px;
    transition: .3s;
}
.video_capture{
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10;
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
    padding: 12px 15px;
    background: var(--dark);
    display: flex;
    align-items: center;
    justify-content: start;
    width: 60%;
}
.video_div img{
    width: 100%;
}
.video_capture h3{
    font-size: 18px;
    color: #fff;
    font-weight: 700;
}
.video_btn:hover img{
    transform: scale(1.2);
}

/* instructor */
#instructor{
    background: var(--dark);
    margin-top: 120px;
    padding: 120px 0px;
}
#instructor .title{
    color: #fff;
}
.instructor_div{
    height: 100%;
    background: #fff;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    gap: 20px;
}
.instructor_div img{
    width: 180px;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
}
.instructor_text{
    margin-top: 10px;
}
.instructor_text h3{
    font-size: 24px;
}
.instructor_div hr{
    display: block;
    width: 90px;
    opacity: 1;
    color: var(--main);
    margin: 0;
}
.instructor_div p{
    text-align: center;
}
#instructor .prev{
    background: #333;
}
.swiper_instructor .swiper-wrapper{
    display: flex;
    align-items: stretch;
}
.swiper_instructor .swiper-slide{
    height: auto;
}

/* motorcycles */
#motorcycles{
    position: relative;
    padding-bottom: 40px;
    overflow: hidden;
}
.motorcycles_bg{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    height: auto;
    object-fit: cover;
}
#motorcycles .container{
    z-index: 2;
}
#motorcycles .title{
    margin-bottom: 20px;
}

.swiper_motorcycles .swiper-slide{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.swiper_motorcycles .swiper-slide img{
    height: 680px;
    object-fit: contain;
}
.moto_descr{
    background: rgb(255,255,255,0.6);
    backdrop-filter: blur(10px);
    width: 340px;
    height: 340px;
    padding: 30px;
    gap: 20px;
    position: absolute;
    top: 0;
    right: 0;
}
.moto_descr p{
    display: flex;
    flex-grow: 1;
}
.moto_descr h3{
    font-size: 24px;
    font-weight: 700;
}
#motorcycles .swiper-navigation{
    margin-top: -30px;
    z-index: 10;
}

/* documents */
#documents{
    position: relative;
}
#documents .title{
    margin-bottom: 20px;
}
.documents_row{
    width: 100%;
    padding-left: 30%;
}
.documents_div{
    width: 45%;
    display: flex;
    flex-grow: 1;
    padding: 40px;
    background: rgb(255,255,255,0.7);
    backdrop-filter: blur(10px);
    gap: 40px;
    height: auto;
}
.documents_bike{
    position: absolute;
    bottom: 0;
    left: -20%;
    height: 700px;
}

/* partners */
#partners{
    padding: 120px 0px;
    margin-top: 120px;
    background-image: url('../img/partner/bg.webp');
    background-size: cover;
}
#partners img{
    width: 23%;
}

/* director */
.director_div{
    display: flex;
    flex-grow: 1;
    width: 30%;
    background: #fff;
    padding: 40px;
}
.director_div p.numb{
    font-size: 36px;
    font-weight: 700;
    color: var(--main);
    font-family: 'Halvar';
    margin-bottom: 64px;
}

/* organization */
#organization{
    position: relative;
}
#organization h2{
    justify-content: start;
}
.organization_div{
    gap: 42px;
    background: rgb(255,255,255,0.7);
    backdrop-filter: blur(10px);
    padding: 40px;
    flex-grow: 1;
    width: 45%;
}
.organization_div p.numb{
    font-size: 36px;
    font-weight: 700;
    color: var(--main);
    font-family: 'Halvar';
}
#organization .row_stretch{
    padding-left: 40%;
}
.organization_bike{
    left: -5%;
    position: absolute;
    bottom: 0;
    mix-blend-mode: darken;
}

/* otz */
#otz .title{
    margin-bottom: 20px;
}
#otz .subtitle{
    max-width: 1100px;
    text-align: center;
}
#otz .subtitle a{
    color: var(--main);
    text-decoration: underline;
}
.swiper_otz{
    position: relative;
}
.swiper_otz .swiper-wrapper{
    display: flex;
    align-items: stretch;
}
.swiper_otz .swiper-slide{
    height: auto;
}
.otz_div{
    height: 100%;
    background: #fff;
    padding: 40px 120px 120px 120px;
}
.otz_text{
    margin: 30px 0px;
    gap: 10px;
}
.otz_stars{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.otz_div p{
    text-align: center;
}
#otz .swiper-navigation{
    position: absolute;
    bottom: 40px;
    margin-top: 0;
    z-index: 10;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ava img{
    width: 360px;
    height: 360px;
    border-radius: 50%;
    object-fit: cover;
}

/* news */
.news_div{
    height: 100%;
}
.news_div img{
    width: 100%;
    aspect-ratio: 4/3;
    height: auto;
    object-fit: cover;
}
.news_div_text{
    padding: 40px;
    gap: 20px;
    background: #fff;
    height: 100%;
}
.news_div h3{
    font-size: 24px;
    font-weight: 700;
    display: flex;
    flex-grow: 1;
    color: var(--dark);
    transition: .3s;
}
.news_div:hover h3{
    color: var(--main);
}
.news_div_text .btn_main{
    margin-top: 22px;
}
.news_div_text p.date{
    font-size: 18px;
}
.swiper_news .swiper-wrapper{
    display: flex;
    align-items: stretch;
}
.swiper_news .swiper-slide{
    height: auto;
}

/* oplata */
#oplata .title{
    justify-content: start;
}
#oplata table td, #oplata table th{
    padding: 12px 20px;
    border: 1px solid #e6e6e6;
}
#oplata .col-lg-3 img{
    width: 100%;
}
#oplata .col-lg-3 p{
    font-family: 'Halvar';
    font-weight: 700;
    margin: 30px 0px 43px 0px;
}
#oplata .row{
    align-items: start;
    justify-content: space-between;
}
#oplata .col-lg-8 h3{
    font-size: 24px;
    font-weight: 700;
    font-family: 'Halvar';
    margin-bottom: 30px;
}

/* cont */
#cont{
    padding-bottom: 100px;
}
#cont h3{
    width: 100%;
    text-align: center;
    font-size: 24px;
    font-family: 'Halvar';
    font-weight: 500;
}
#cont .col-lg-4{
    gap: 30px;
}
.tel_cont{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 15px;
}
.tel_cont img{
    height: 40px;
    width: 40px;
}
.tel_text{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 2px;
}
.tel_text a{
    color: var(--main);
    font-family: 'Halvar';
    font-size: 24px;
    text-decoration: underline;
    line-height: 1;
}
.tel_text p{
    font-size: 16px;
}
.adress_title{
    gap: 4px;
}
.adress_text{
    gap: 10px;
}
.adress_title h4{
    font-size: 20px;
    font-family: 'Halvar';
    font-weight: 500;
}
.adress_div{
    gap: 20px;
}
.adress_text p{
    display: flex;
    align-items: start;
    justify-content: start;
    gap: 12px;
}
.adress_text p::before{
    height: 8px;
    width: 8px;
    content: "";
    display: block;
    background: var(--main);
    margin-top: 8px;
}

/* footer */
footer{
    padding: 40px 0px;
    background: var(--dark);
}
footer .col-lg-4{
    gap: 15px;
    padding-right: 40px;
}
footer h4{
    font-size: 20px;
    font-family: 'Halvar';
    font-weight: 500;
    color: #fff;
}
footer p{
    font-size: 18px;
    color: #fff;
}
footer a{
    color: var(--main);
    font-family: 'Gilroy';
}
.download_row{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 15px;
}

/* submenu */
.submenu_relative{
    position: relative;
}
.submenu{
    position: absolute;
    top: 40px;
    left: 0;
    background: #333;
    padding: 30px;
    width: 360px;
    margin: 0;
    display: none;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 10px;
}
.submenu_active{
    display: flex;
}
.submenu li a{
    line-height: 1.2;
}
.submenu li{
    list-style: none;
}

/* modal */
.modal{
    position: fixed;
    background: rgb(0,0,0,0.7);
    backdrop-filter: blur(10px);
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    z-index: 1000;
    opacity: 1;
}
.modal.modal_active{
    display: flex;
}
.modal_content{
    background: #fff;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 20px;
    max-width: 600px;
    padding: 40px;
    position: relative;
}

/* form */
form{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 10px;
}
.modal form{
    margin-top: 20px;
}
input, select{
    padding: 15px;
    border: 1px solid #e6e6e6;
    color: #000;
    width: 100% !important;
}
input::placeholder, select::placeholder{
    color: #777;
}
input:focus, select:focus{
    outline: none;
    box-shadow: 1px 1px 10px rgb(255, 174, 0, 0.3);
}
form button{
    width: 100%;
    margin-top: 10px;
}
.form_check{
    display: flex;
    align-items: start;
    justify-content: start;
    gap: 20px;
}
img.toggle_modal{
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
}
input[type="checkbox"]{
    -webkit-appearance: none;
    appearance: none;
    width: 22px !important;
    min-width: 22px;
    height: 22px;
    padding: 0;
    margin-top: 4px;
    border: 1px solid var(--main);
    border-radius: 0.25rem;
    background-color: #e6e6e6;
    cursor: pointer;
    transition: .3s;
}
input[type="checkbox"]:checked{
    background-color: var(--main);
    border-color: var(--main);
    background-image: url('../img/icons/checkbox.svg');
    background-size: cover;
    background-position: center;
}
input[type="checkbox"]:active {
    filter: brightness(90%);
}
input[type="checkbox"]:hover:not(:disabled) {
    border-color: var(--main);
}
input[type="checkbox"]:focus {
    border-color: var(--main);
    outline: none;
    box-shadow: 0 0 0 0.25rem rgb(255, 174, 0, 0.3);
}
.form_check label{
    font-size: 14px;
}
.form_check label a{
    font-family: 'Gilroy';
    color: var(--main);
    text-decoration: underline;
}
label a{
    color: var(--main);
}

/* map */
.map-wrapper {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
}
#map{
  width: 100%;
  height: 100%;
}
.custom-marker{
  position: absolute;
  width: 32px;
  height: 32px;
  transform: translate(-50%, -100%);
  pointer-events: none;
}


/* cf7 */
label, .wpcf7-not-valid-tip{
    font-size: 14px;
    margin-bottom: 5px;
    width: 100%;
}
label input, label select{
    font-size: 16px;
    width: 100%;
    margin-top: 5px;
}
.wpcf7 p{
    width: 100%;
}
.wpcf7-list-item{
    margin: 20px 0px;
}
.wpcf7-list-item label{
    display: flex;
    align-items: start;
    justify-content: start;
    gap: 10px;
}

.wpcf7-response-output {
    margin-top: 0px !important;
}


/* single_page */
#single_page{
    padding-top: 180px;
    min-height: 80vh;
    height: auto;
    padding-bottom: 60px;
}
#single_page .container{
    max-width: 700px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 15px;
}
#single_page h1{
    margin-bottom: 25px;
    font-size: 36px;
}
.back_to_main{
    font-size: 14px;
    color: var(--main);
    margin-bottom: 15px;
}
#single_page .date{
    font-size: 14px;
    color: var(--dark);
    margin: 10px 0px 5px 0px;
}
#single_page img{
    height: auto;
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}

/* error */
#error{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80vh;
    height: auto;
    padding: 120px 0px;
}
#error .container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
}
#error h1{
    font-size: 124px;
    font-weight: 700;
    color: var(--main);
}
#error p{
    max-width: 80%;
    font-size: 20px;
    text-align: center;
}

/* page_text */
#page_text{
    padding-top: 180px;
    padding-bottom: 60px;
}
#page_text .container{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 10px;
}
#page_text h1{
    margin-bottom: 25px;
    font-size: 36px;
}
#page_text h2, #page_text h3{
    font-size: 24px;
    margin: 10px 0px;
}
#page_text a{
    color: var(--main);
}
#page_text ul, #page_text ol{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 10px;
}

/* archive */
#archive{
    padding-top: 180px;
    padding-bottom: 60px;
}
#archive h1{
    margin-bottom: 25px;
    font-size: 36px;
}
.archive_row{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: start;
    gap: 20px;
}
.archive_row .news_div{
    display: flex;
    flex-direction: column;
    width: 30%;
    height: auto;
}
.archive_row .news_div_text{
    width: 100%;
    flex-grow: 1;
    height: auto;
}
.archive_row .news_div
.breadcrumbs__link{
    color: var(--main);
}
.archive_row .news_div h3{
    flex-grow: 0;
}
.archive_row .news_div img.img_bike_archive{
    object-fit: contain;
    background-color: #fff;
}
.navigation.posts-navigation{
    width: 100%;
}

/* webstory */
.web-stories-list__story-content-overlay{
    padding: 30px !important;
    font-family: 'Halvar';
    position: absolute;
    bottom: 0;
}
.story-content-overlay__title{
    font-size: 24px !important;
    color: #fff;
}
.web-stories-list__story{
    border-radius: 14px !important;
    overflow: hidden;
}
.web-stories-list__story-poster{
    width: 100%;
    height: auto;
}


/* dn */
.secret_menu{
    display: none;
}