/* header */
header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}
.header_top{
    padding: 20px 0px;
    background: #fff;
}
header a{
    color: #000;
    transition: .3s;
}
header a:hover{
    color: var(--main);
}
.header_bottom{
    background: var(--main);
    padding: 15px 0px;
}
ul.nav{
    list-style: none;
}
ul.nav a{
    color: #fff;
}

/* main */
#main{
    margin-top: 130px;
    background-image: url('../img/main.webp');
    padding: 160px 0px;
}
#main h1{
    color: #fff;
    text-align: center;
    max-width: 740px;
}
#main p{
    color: #fff;
    text-align: center;
    max-width: 740px;
    font-size: 24px;
}

/* about */
.about_img{
    width: 40%;
    height: auto;
}
.about_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 14px;
}
.about_text{
    width: 50%;
}
.about_container{
    padding: 40px;
    background: var(--light-gray);
    border-radius: 8px;
}

/* specialization */
.specialization_div{
    border-radius: 8px;
    background: var(--light-gray);
    padding: 40px;
    width: calc(33% - 15px);
    transition: .3s;
    height: auto;
}
.specialization_div img{
    height: 64px;
    transition: .3s;
}
.specialization_div p{
    font-size: 24px;
    font-weight: 700;
    transition: .3s;
    color: var(--main);
}
.specialization_div:hover{
    background: var(--main);
}
.specialization_div:hover p{
    color: #fff;
}
.specialization_div:hover img{
    filter: invert();
}

/* oborudovanie */
.oborudovanie_div:first-child{
    width: calc(66% - 10px);
}
.oborudovanie_div{
    width: calc(33% - 15px);
}
.logo_rst{
    height: 60px;
    filter: invert();
}
.oborudovanie_div{
    padding: 40px;
    background: var(--light-gray);
    border-radius: 8px;
    height: auto;
}
.oborudovanie_div h3{
    color: var(--main);
}

/* faq */
#faq h2{
    width: 30%;
    margin: 0;
}
.faq_row{
    width: 60%;
}
.faq_div_header{
    padding: 15px 20px;
    width: 100%;
    cursor: pointer;
}
.faq_div_header p{
    font-size: 20px;
    font-weight: 500;
}
.faq_div{
    border: 1px solid var(--main);
    width: 100%;
}
.faq_text{
    display: none;
}
.faq_text{
    padding: 15px 20px;
}
.faq_text ul{
    padding-left: 20px;
}

/* partner */
.partner_div{
    width: calc(25% - 15px);
    height: auto;
    aspect-ratio: 16/9;
    border: 1px solid var(--gray);
}
.partner_div img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* licenzia */
#licenzia .licenzia_div{
    width: calc(33% - 15px);
    height: auto;
    aspect-ratio: 1.5;
}
#licenzia .licenzia_div img{
    width: 100%;
    height: auto;
}
.secret_img{
    display: none;
}

/* otz */
.otz_div{
    padding: 40px;
    border: 1px solid var(--gray);
    width: 100%;
    height: 100%;
}
.otz_div_header .ava img{
    width: 44px;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
}
.otz_div_text a{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    align-items: start;
    justify-content: end;
    color: var(--main);
    text-decoration: underline;
    margin-top: 40px;
}
.swiper_otz .swiper-wrapper{
    display: flex;
    align-items: stretch;
}
.swiper_otz .swiper-slide{
    height: auto;
}
.otz_div_text{
    height: 100%;
}

/* footer */
footer{
    padding: 60px 0px;
    background: var(--main);
}
footer p, footer a{
    font-size: 16px;
    color: var(--light-gray);
}
footer .logo img{
    filter: invert() brightness(1000);
    margin-bottom: 20px;
}
.footer_top p{
    max-width: 230px;
}
.footer_top a{
    transition: .3s;
}
.footer_top a:hover{
    text-decoration: underline;
}
.footer_top .footer_top_full_width p{
    max-width: 340px;
}
footer .flex a img{
    filter: invert() brightness(1000);
}
.footer_top .container{
    padding-bottom: 40px;
    border-bottom: 1px solid var(--gray);
}
.footer_bottom{
    padding-top: 20px;
}

/* error */
#error{
    min-height: 80vh;
}
#error h1{
    color: var(--main);
    font-size: 128px;
}
#error p{
    text-align: center;
}

/* price */
#price td{
    padding: 15px 20px;
    font-size: 18px;
    border: 1px solid var(--gray) !important;
}
#price table{
    border: 1px solid var(--gray) !important;
}
#price td.table_title{
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    width: 100%;
}
#price td.table_subtitle{
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    width: 100%;
    min-width: 240px;
}
.table_second{
    margin-top: 80px;
}
.table_overflow{
    height: 680px;
    position: relative;
    overflow: hidden;
}
.table_overflow_active{
    height: auto;
}
.table_overflow::after{
    content: "";
    display: block;
    width: 100%;
    height: 240px;
    background-image: linear-gradient(to top, #fff, transparent);
    position: sticky;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.table_overflow.table_overflow_active::after{
    display: none;
}

/* none */
.burger, .secret_menu{
    display: none;
}