html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
html{height:100%}
body{line-height:1}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}

:root {
  --gray: #343434;
}



body {
    font-family: "Geologica", sans-serif;
    color: var(--gray);
    overflow-x: clip;
} 

h3 {
    font-size: 2em;
    font-weight: 300;
}

p{
    font-size: 13px;
    line-height: 20px;
    padding: 8px 0;
}

p.large {
    font-size: 18px;
}

b {
    font-weight: 600;
}

ul {
    font-size: 13px;
    line-height: 20px;
}

header {
    height: 80px;
}

.container {
    max-width: 940px;
    margin: auto;
}

header .container {
    display: flex;
    width: 100%;
    justify-content: space-between;
    height: 100%;
    align-items: center;
}

header .phone, header .email {
    position: relative;
    display: flex;
    gap: .5em;
    text-decoration: none;
    font-size: 1em;
}

header .contacts {
    display: flex;
    gap: 2.5em;
}

header .contacts a {
    text-decoration: none;
    color: var(--gray);
    font-weight: 400;
}
.phone label {
    position: absolute;
    width: max-content;
    bottom: -1em;
    font-size: 12px;
    color: #878787;
}

.hero {
     background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 12.8%, rgba(0, 0, 0, 0) 49.93%), url('img/hero-bg.jpg'); 
    background-position-y: -450px;
    height: 675px;
    padding-top: 75px;
}

.hero h1 {
    font-weight: 300;
    font-size: 52px;
    text-align: center;
    color: white;
}

.hero .title {
    max-width: 650px;
    margin: auto;
 }


.hero .title span {
    font-weight: 600;
}

.hero .advan {
    background-image: url('img/hero-adv.svg');
    height: 244px;
    width: 940px;
    margin: 45px auto;
    display: flex;
}

.hero .advan .adv-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    padding: 35px;
}

.hero .advan .adv-item img {
    width: 72px;
    height: 72px;
}

.hero .advan .title {
    color: white;
    font-size: 20px;
    font-weight: 500;
}

.hero .advan .subtitle {
    color: white;
    text-align: center;
    font-weight: 300;
    font-size: 13px;
    line-height: 20px;
}

.hero .buttons {
    margin: auto;
    width: max-content;
    display: flex;
    gap: 12px;
}

.hero a.button-about {
    background: linear-gradient(180deg, #FFC512 0%, #FFA526 66%, #FFB62E 100%);
    display: flex;
    text-decoration: none;
    color: black;
    align-items: center;
    gap: 12px;
    padding: 20px 46px 20px 16px;
    border-radius: 20px;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 16px;
}

.hero a.button-fos {
    background: linear-gradient(0deg, #111111 0%, #0A0A0A 38%, #343434 100%);
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: rgba(255, 197, 18, 1);
    font-size: 13px;
    line-height: 16px;
    text-transform: uppercase;
    padding: 20px;
}

.partners .title span {
    font-weight: 600;
}

.partners .title {
    font-size: 40px;
    text-align: center;
    font-weight: 300;
    line-height: 125%;
    margin: 120px auto 45px;
}

.partners .logos {
    position: relative;
    padding-bottom: 70px;
}

.partners .logos img {
    max-height: 240px;
    max-width: 100%;
}

.partners .logos .swiper-wrapper {
    align-items: center;
}

.partners .logos .swiper-slide {
    justify-content: center;
    display: flex;
}

.partners .logos .swiper-button-prev {
    position: relative;
    width: 16px;
    height: 16px;
    margin-top: -6px;
    /* margin-left: -1px; */
    margin-right: 60px;
}

.partners .logos .swiper-button-next {
    position: relative;
    width: 16px;
    height: 16px;
    margin-top: -6px;
    /* margin-left: -1px; */
    margin-left: 60px;
}


.partners .logos .swiper-button-next:after, .partners .logos .swiper-button-prev:after {
    font-size: 16px;
    font-weight: bold;
    color: black;
}
.partners .logos .nav {
    width: fit-content;
    margin: 50px auto;
    display: flex;
}

.partners .logos .swiper-pagination {
    position: relative;
}

.partners .logos .swiper-pagination-bullet-active {
    background-color: #fdbe33;
    width: 40px;
    border-radius: 4px;
    will-change: width;
    transition: width .3s;
}

.equip {
    padding: 120px 0;
    background-color: #F2F2F2;
}

.equip .video {
    display: flex;
    gap: 60px;
}

.equip .video video {
    width: 100%;
    border-radius: 20px;
}

.equip .video .content {
    max-width: 41%;
}

.equip .video .player {
    position: relative;
    border-radius: 20px;
}

.equip .video .play-button {
    position: absolute;
    left: calc(50% - 60px);
    top: calc(50% - 60px);
    cursor: pointer;
}

.equip-slider {
    position: relative;
    overflow: hidden;
    height: 320px;
}

.equip-slider .swiper-button-prev {
    position: relative;
    width: 16px;
    height: 16px;
    margin-top: -6px;
    /* margin-left: -1px; */
    margin-right: 60px;
}

.equip-slider .swiper-button-next {
    position: relative;
    width: 16px;
    height: 16px;
    margin-top: -6px;
    /* margin-left: -1px; */
    margin-left: 60px;
}


.equip-slider .swiper-button-next:after, .equip-slider .swiper-button-prev:after {
    font-size: 16px;
    font-weight: bold;
    color: black;
}
.equip-slider .nav {
    width: fit-content;
    margin: 50px auto;
    display: flex;
}

.equip-slider .swiper-pagination {
    position: relative;
}

.equip-slider .swiper-pagination-bullet-active {
    background-color: #fdbe33;
    width: 40px;
    border-radius: 4px;
    will-change: width;
    transition: width .3s;
}

.equip-slider img {
    object-fit: cover;
    height: 100%;
    border-radius: 20px;
}

.equip-slider .swiper-wrapper {
    height: 75%;
}

.equip .slider {
    display: flex;
    margin-top: 120px;
    gap: 60px;
}

.equip .slider .content {
    max-width: 50%;
}

.equip-slider .swiper-slide {
    display: flex;
    justify-content: center;
}

.advant-block {
    background-image: url('img/adv-bg.png');
    height: 620px;
    display: flex;
}

.adv-wrapper {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    width: 100%;
}

.advant-block .item {
    background-color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 40px;
    border-radius: 20px;
    width: 300px;
    /* height: 100%; */
    /* min-height: 100%; */
    /* justify-content: space-evenly; */
}

.advant-block .item .title {
    font-weight: 500;
    text-align: center;
    line-height: 125%;
    font-size: 20px;
}

.advant-block .item .content {
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
    text-align: center;
}



.reviews {
    background-color: #f2f2f2;
    padding: 120px 0 70px;
}

.reviews h2 {
    text-align: center;
    font-size: 40px;
    font-weight: 300;
    line-height: 125%;
}

.reviews-slider {
    position: relative;
    margin-top: 60px;
}


.review-item {
    padding: 60px 80px;
    background-color: white;
    border-radius: 20px;
    /* max-width: 940px; */
}


.review-item .rating {
    display: flex;
    width: fit-content;
    margin: auto;
    gap: .5em;
}

.review-item .content {
    margin: 40px 0;
    font-size: 16px;
    font-weight: 200;
    line-height: 30px;
    min-height: 250px;
}

.review-item .bottom img {
    width: 6em;
    height: 6em;
    object-fit: cover;
    object-position: top;
    border-radius: 50%;
}

.review-item .bottom .author {
    display: flex;
    gap: 20px;
    align-items: center;
}

.review-item .bottom .fio {
    font-weight: 500;
    font-size: 20px;
    line-height: 125%;
}

.review-item .bottom .dolzh {
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
    margin-top: 5px;
}

.review-item .bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.review-item .bottom .quote img {
    width: 40px;
    height: 40px;
}


.reviews-slider .swiper-button-prev {
    position: relative;
    width: 16px;
    height: 16px;
    margin-top: -6px;
    /* margin-left: -1px; */
    margin-right: 60px;
}

.reviews-slider .swiper-button-next {
    position: relative;
    width: 16px;
    height: 16px;
    margin-top: -6px;
    /* margin-left: -1px; */
    margin-left: 60px;
}


.reviews-slider .swiper-button-next:after, .reviews-slider .swiper-button-prev:after {
    font-size: 16px;
    font-weight: bold;
    color: black;
}
.reviews-slider .nav {
    width: fit-content;
    margin: 50px auto;
    display: flex;
}

.reviews-slider .swiper-pagination {
    position: relative;
}

.reviews-slider .swiper-pagination-bullet-active {
    background-color: #fdbe33;
    width: 40px;
    border-radius: 4px;
    will-change: width;
    transition: width .3s;
}



.contacts-block {
    padding: 120px 0;
    background: url('img/contacts-bg.webp') #343434;
    background-size: cover;
    background-blend-mode: overlay;
    border-radius: 20px;
}



.contacts-block .left {
    color: white;
}


.contacts-block .left .contacts {
    margin: 40px 0;
    display: flex;
    flex-direction: column;
    gap: 2em;
}

.contacts-block .left .contacts-item {
    display: flex;
    gap: 5px;
    align-items: center;
    position: relative;
}

.contacts-block .left .contacts-item a {
    color: white;
    text-decoration: none;
}

.contacts-block .left .contacts-item .content {
    position: relative;
}

.contacts-block .left .contacts-item label {
    position: absolute;
    left: 0;
    width: max-content;
    bottom: -1.5em;
    font-size: 13px;
    line-height: 20px;
    font-weight: 300;
    color: #BEBEBE;
}

.contacts-block .cont-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
}


.contacts-block .right  form {
    max-width: 460px;
    padding: 60px;
    background-color: #FFC512;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
}


.contacts-block .right form h4 {
    font-weight: 500;
    text-align: center;
    margin-bottom: 24px;
}

.contacts-block .right input[type="text"] {
    padding: 12px 16px;
    margin-bottom: 16px;
    border: none;
    border-radius: 8px;
    outline: none;
}

.contacts-block .right label {
    font-size: 13px;
    line-height: 20px;
    font-weight: 300;
    text-align: center;
}

.contacts-block .right input[type="submit"] {
    margin-top: 16px;
    padding: 16px 24px;
    background-color: black;
    color: #ffc512;
    border: none;
    border-radius: 8px;
}

footer {padding: 70px 0;background-color: #F2F2F2;}

.addr {
    text-align: center;
    font-size: 18px;
    font-weight: 300;
}

.copy {font-size: 13px;font-weight: 300;text-align: center;line-height: 125%;margin-top: 10px;}