/* Reset and base styles  */
* {
    padding: 0px;
    margin: 0px;
    border: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Links */

a, a:link, a:visited  {
    text-decoration: none;
}

html, body {
    height: 100%;
}
html{
    overflow: auto !important;

}

body {
    display: flex;
    flex-direction: column;
    margin: 0;
}

main {
    flex: 1;
}
a, a:focus, a:active, a:hover  {
    text-decoration: none;
	color: inherit;
}

/* Common */

aside, nav, footer, header, section, main {
    display: block;
}

h1, h2, h3, h4, h5, h6, p {
    font-size: inherit;
    font-weight: inherit;
}

ul, ul li {
    list-style: none;
}

img {
    vertical-align: top;
}

img, svg {
    max-width: 100%;
    height: auto;
}

address {
    font-style: normal;
}

/* Form */

input, textarea, button, select {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

input::-ms-clear {
    display: none;
}

button, input[type="submit"] {
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    background: none;
    cursor: pointer;
}

input:focus, input:active,
button:focus, button:active {
    outline: none;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

label {
    cursor: pointer;
}

legend {
    display: block;
}

input[type='file'] {
    max-width: 100%;
}
.blog_boxes{
    overflow: hidden;
}
.services_content, .blog_content, .workers_block{
    gap: 30px;
    overflow: hidden;
}
.item p{
    font-weight: 400;
    font-size: 18px;
    line-height: 156%;
    color: var(--blue);
}
.card-image img{
    border-radius: 8px;
    overflow: hidden;
}
@media screen and (max-width: 1300px) {
    .header_menu {
        display: none;
    }
    .submenu{
        position: relative;
        box-shadow: none;
        margin-left: 10px;
        margin-top: -60px;
    }
    .header_menu_nav{
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }
    .header_top{
        display: flex;
        gap: 32px;
    }
    .header_block{
        display: none;
    }
    .header_top .header_block{
        display: flex;
    }
    .header_top .content_box{
        display: flex;
        align-items: center;
    }

    .hamburger_menu{display:block}
    .header_menu_main_item_navigation{
        position:fixed;
        inset:0 0 auto 0;
        top:80px;
        background:var(--white);
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding: 20px 20px 40px 20px;
        border-top:1px solid var(--light-grey);
        transform:translateY(-8px);
        opacity:0;
        visibility:hidden;
        transition:.25s
    }
    .header_top.is-open .header_menu_main_item_navigation{
        opacity:1;
        visibility:visible;
        transform:none;
        z-index: 10;
        display: flex;
        /*gap: 30px;*/
    }
    .navigation_dropdown_item_submenu>.sub_menu{position:static;min-width:auto;border:none;box-shadow:none;opacity:1;visibility:visible;transform:none;max-height:0;transition:max-height .25s ease}
    .navigation_dropdown_item_submenu.is-open>.sub_menu{max-height:500px}
    .navigation_dropdown_item_submenu>a{display:flex;justify-content:space-between;align-items:center}
    .hide_1100{display:none}
    .hamburger_menu{cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:32px}
    .hamburger_menu svg{
        width:28px;
        height:20px;
        color:var(--blue);
    }
    .header_top.is-open .hamburger_menu svg rect:nth-child(1){
        transform:translateY(0px) rotate(45deg)
    }
    .header_top.is-open .hamburger_menu svg rect:nth-child(2){opacity:0}
    .header_top.is-open .hamburger_menu svg rect:nth-child(3){
        transform: translateX(-16px) translateY(8px) rotate(-45deg);
    }
    .hamburger_menu svg rect{transition:.3s ease}
    .main_swiper, .main_services {
        margin-bottom: 60px;
    }
    .main_services{
        padding-top: 60px;
    }
    .section{
        padding-bottom: 60px;
    }


    .about_us_wrapper{
        padding: 55px 40px;
        gap: 40px;
    }
	.about_us_custom_wrapper {
		padding: 55px 40px;
	}
	.about_custom_block{
		gap:40px;
	}
    .swiper-button-prev, .swiper-button-next{
        display: none;
    }
    .footer_wrapper{
        padding: 50px 20px;
    }
    .header_logo{
        display: flex;
        align-items: center;
        max-width: 150px;
    }
    .header_logo img{
        width: 173px;
    }
    .purchase_form{
        gap: 50px;
    }
    .form-grid{
        grid-template-columns: 1fr;
    }
}
@media screen and (max-width: 1150px){
    .media_btn{
        width: auto;
        height: 100%;
    }
    .media_btn p{
        display: none;
    }
    .about_us_wrapper img, .about_custom_block img {
        min-width: 325px;
        height: auto;
    }
    .about_logo img{
        width: 100%;
        min-width: auto;
    }
    .about_content{
        bottom: 40px;
    }
}
@media screen and (max-width: 1024px){
    .about_us_wrapper img, .about_custom_block img{
        max-width: 435px;
    }
    .mfeedback{
        margin: 0 auto;
    }
    .about_content {
        bottom: 90px;
    }
    .check_wrapper{
        padding: 20px;
    }
    .form_service .about_us_wrapper{
        grid-template-columns: 1fr;
    }
    .form_service .about_us_wrapper .img{
        display: none;
    }
    .form_service .services_wrapper{
        width: 100%;
    }
    .form_service .service_form .block{
        width: 100%;
        justify-content: space-between;
    }
    .form_service .service_form .block input{
        width: 50%;
    }
}
@media screen and (max-width: 910px){
    .about_content {
        bottom: 110px;
    }
    .header_menu_nav{
        gap: 10px;
    }
    .header_wrapper{
        height: 80px;
    }
    .employee-first-text p{
        font-size: 18px;
    }
    .thankyou-container{
        flex-direction: column;
    }
    .thankyou-image{
        display: none;
    }
    .cta{
        display: flex;
        justify-content: center;
    }
}
@media screen and (max-width: 850px) {
    .employee-detail h2 {
        font-size: 18px;
    }

    .employee-section p, .employee-detail ul li {
        font-size: 16px;
    }

    .main_swiper .swiper-slide.with-gradient .swiper_content h2 {
        font-size: 24px;
    }

    .main_swiper .swiper-slide.with-gradient .swiper_content p {
        font-size: 16px;
    }

    .main {
        margin-top: 125px;
    }

    .back_none {
        font-size: 14px;
        padding: 12px 32px;
        width: auto;
        height: auto;
    }

    .swiper {
        height: 325px;
    }

    .main_swiper, .main_services {
        margin-bottom: 40px;
    }

    .section {
        padding-bottom: 40px;
    }

    .main_services {
        padding-top: 40px;
    }

    .main_services_wrapper .title, .main_title {
        font-size: 24px;
    }

    .main_services_content .overlay_text .title {
        font-size: 18px;
        padding-bottom: 10px;
    }

    .main_services_content .overlay_text .subtitle, .main_services_content p {
        line-height: 100%;
        font-size: 14px;
    }

    .main_services_content ul li {
        font-size: 14px;
    }

    .main_services_content .desc_title {
        font-size: 18px;
    }

    .detail_btn, .service-details-btn {
        padding: 12px 24px;
        font-size: 14px;
    }

    .badge {
        padding: 4px 12px;
        font-size: 12px;
    }

    .services_content, .blog_content, .workers_block {
        gap: 20px;
    }

    .service-details-btn {
        width: 100%;
    }

    .card-content h3, .news_wrapper_content p, .service_form .item p, .course-title .subtitle {
        font-size: 16px;
    }

    .about_us_wrapper {
        padding: 40px 20px;
    }

    .section .title, .section .main_title {
        padding-bottom: 20px;
    }

    .btn_wrapper {
        margin-top: 0px;
    }

    .about_us_wrapper img, .about_custom_block img {
        max-width: 325px;
    }

    .about_content {
        bottom: 130px;
    }

    .footer #main {
        display: none;
    }

    .footer .footer_wrapper_mobile {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .footer_box {
        max-width: none;
    }

    .footer_menu, .footer_box {
        gap: 20px;
    }

    .service_desc .services_wrapper .desc {
        font-weight: 400;
        font-size: 16px;
        line-height: 150%;
    }

    .service-hero__title, .service-hero__title {
        font-size: 24px;
    }

    .service-hero__text, .service-acc__content p, .info_wrapper ul {
        font-size: 16px;
    }

    .service_desc .services_wrapper .img_wrapper {
        height: 255px;
    }

    .service_desc .services_wrapper {
        gap: 30px;
    }

    .service-acc__title, .info_wrapper h2 {
        font-size: 24px;
    }

    .info_wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .info_wrapper .img_wrapper {
        width: 100%;

    }

    .info_wrapper .item:first-child p:last-of-type, .info_wrapper .item:first-child p:nth-last-of-type(2) {
        width: 100%;
    }
}
    @media screen and (max-width: 768px) {
        .hide_mobile {
            display: none !important;
        }

        .thankyou-page{
          padding: 0;
        }

        .show_mobile {
            display: flex;
            margin-top: 30px;
        }

        .swiper {
            height: 240px;
        }

        .main_swiper .swiper-slide.with-gradient .swiper_content h2 {
            font-size: 20px;
        }

        .main_swiper, .main_services {
            margin-bottom: 30px;
        }

        .main_services {
            padding-top: 30px;
        }

        .section {
            padding-bottom: 30px;
        }

        .main_services_wrapper .title, .main_title {
            font-size: 20px;
        }

        .main_services_content .desc_img {
            max-width: none;
        }

        .main_services_content {
            grid-template-columns: 1fr;
            gap: 30px;
        }

        .services_content, .blog_content, .workers_block {
            grid-template-columns: repeat(2, 1fr);
            row-gap: 30px;
        }

        .about_us_wrapper, .about_custom_block {
            grid-template-columns: 1fr;
        }

        .about_us_wrapper .content p, .about_custom_block .content p, .about_us_custom_wrapper .item p {
            font-size: 14px;
            line-height: 143%;
        }

        .about_us_wrapper {
            padding: 30px 20px;
        }

        .btn_wrapper {
            align-self: center;
        }

        .about_us_wrapper {
            gap: 30px;
        }

        .about_us_wrapper img, .about_custom_block img {
            max-width: 100%;
            min-width: 100%;
        }

        .about_content {
            bottom: 20px;
        }

        .footer_flex_box {
            display: grid;
            grid-template-columns: 1fr 1fr;
            row-gap: 20px;
        }

        .content {
            font-size: 14px;
            line-height: 100%;
        }

        .footer_box {
            align-items: flex-start !important;
        }

        .purchase_form {
            flex-direction: column;
        }

        .check {
            max-width: none;
        }

        .purchase_form {
            gap: 30px;
        }

        .form_service .service_form .block {
            flex-direction: column;
        }

        .employee-first-text p {
            font-size: 16px;
        }
    }
    @media screen and (max-width: 500px) {
        .services_content, .service_desc .services_wrapper {
            grid-template-columns: repeat(1, 1fr);
        }

        .employee-section p, .employee-detail ul li {
            font-size: 14px;
            line-height: 120%;
        }

        .employee-header {
            grid-template-columns: 1fr;
            gap: 10px;
        }
        .promo_media{
            display: flex;
            flex-direction: column;
        }
        .thankyou-text h1{
            font-size: 21px;
        }
        .thankyou-text .intro{
            font-size: 14px;
        }
        .thankyou-text p{
            font-size: 12px;
        }
        .cta{
            margin-top: 20px;
        }
        .thankyou-container{
            padding: 30px 20px;
        }
        .thankyou-text{
            min-width: 250px;
        }
        .btn_th{
            padding: 12px 20px;
        }
    }
    @media screen and (max-width: 350px) {
        .promo_btn{
            flex-direction: column;
        }
    }
    main ul li::before {
        content: "";
        position: absolute;
        left: 0;
        top: .15em;
        width: 18px;
        height: 18px;
        background: no-repeat 50% 50% / contain;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 26'><path d='M11.832 25.6166C17.8313 25.6166 22.6948 20.7532 22.6948 14.7539C22.6948 8.75454 17.8313 3.89111 11.832 3.89111C5.83267 3.89111 0.969238 8.75454 0.969238 14.7539C0.969238 20.7532 5.83267 25.6166 11.832 25.6166Z' fill='%23B3D6FF'/><path d='M11.9548 23.1498L11.8171 22.9151C9.71244 19.3292 4.1197 11.7195 4.06321 11.6431L3.98253 11.5335L5.88794 9.65038L11.9195 13.862C15.7171 8.93407 19.2599 5.54933 21.571 3.57278C24.099 1.41062 25.7446 0.415239 25.7612 0.405701L25.7987 0.383301H29.0308L28.722 0.658255C20.7818 7.73062 12.1754 22.7623 12.0897 22.9133L11.9548 23.1498Z' fill='%232E527D'/></svg>");
    }

    main ul li {
        position: relative;
        padding-left: 25px;
    }
.testimonials {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    color: var(--white);
}

/* адаптив */
@media (max-width: 1024px) {
    .testimonials {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .testimonials {
        grid-template-columns: 1fr;
    }
}

.testimonial-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.testimonial-media {
    border-radius: 12px;
    max-width: 453px;
    width: 100%;
    position: relative;
    overflow: hidden;
    aspect-ratio: 9 / 16; /* вертикальные видео */
    background: #000;
}

/* общие стили для видео и изображений */
.testimonial-media video,
.testimonial-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
    display: block;
}
