@font-face {
    font-family: 'Montserrat400'; /* 400 */
    src: url(../fonts/Montserrat-Regular.ttf); /* Путь к файлу со шрифтом */
}
@font-face {
    font-family: 'Montserrat500'; /* 500 */
    src: url(../fonts/Montserrat-Medium.ttf); /* Путь к файлу со шрифтом */
}
@font-face {
    font-family: 'Montserrat600'; /* 600 */
    src: url(../fonts/Montserrat-SemiBold.ttf); /* Путь к файлу со шрифтом */
}
@font-face {
    font-family: 'Montserrat700'; /* 700 */
    src: url(../fonts/Montserrat-Bold.ttf); /* Путь к файлу со шрифтом */
}
@font-face {
    font-family: 'Museo'; /* Числа статистики на фоне */
    src: url(../fonts/ofont.ru_Museo\ Sans\ Cyrl\ 900.ttf); /* Путь к файлу со шрифтом */
}

@keyframes shake {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    10% { transform: translate(-1px, -2px) rotate(-1deg); }
    20% { transform: translate(-3px, 0px) rotate(1deg); }
    30% { transform: translate(3px, 2px) rotate(0deg); }
    40% { transform: translate(1px, -1px) rotate(1deg); }
    50% { transform: translate(-1px, 2px) rotate(-1deg); }
    60% { transform: translate(-3px, 1px) rotate(0deg); }
    70% { transform: translate(3px, 1px) rotate(-1deg); }
    80% { transform: translate(-1px, -1px) rotate(1deg); }
    90% { transform: translate(1px, 2px) rotate(0deg); }
    100% { transform: translate(1px, -2px) rotate(-1deg); }
}
* {
    -webkit-tap-highlight-color: transparent;
}
button:hover{
    cursor: pointer;
    transition: 0.5s;
} .error {		color: black; margin: 15px 0px;	} 
.innerBlock{
    padding: 7vw 0;
    width: 74%;
    height: auto;
    margin: 0 13%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
h3{
    font-family: 'Montserrat600';
    color: black;
    font-size: calc(0.1em + 1.6vw);
    margin: 0;
}
body{
    position: relative;
    margin: 0;
    padding: 0;
}
h2{
    font-family: 'Montserrat700';
    color: black;
    font-size: calc(0.6em + 2.63vw);
    margin: 0;
    position: relative;
    z-index: 1;
    padding-bottom: 2.6vw;
}
p{
    font-family: 'Montserrat400';
    line-height: 1.5em;
    color: black;
    margin: 0;
    font-size: calc(0.1em + 0.855vw);
    transition: 0.5s;
}
span{
    font-family: 'Montserrat600';
    font-size: calc(0.1em + 0.755vw);
    color: #FFFFFF;
    white-space: nowrap;
}
button span{
    font-family: 'Montserrat500';
}
.Gradient {
    z-index: 0;
    width: 60%;
    height: auto;
    position: absolute;
    top: 3.5%;
    right: 0%;
}

.header{
    width: 100%;
    height: auto;
    background-image: url('../images/bg1920.png');
    background-size: cover;
    position: relative;
    z-index: 2;
}
.headerBlock{
    top: 0;
    position: fixed;
    width: 100%;
    height: auto;
    background-color: black;
    z-index: 3;
}
.headerBlockNavigation{
    margin: 0 13% 0 13%;
    width: 74%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: calc(0.5vh + 0.5vw) 0;
}
.logo img{
    width: 4vw;
    height: auto;
}
.navigation{
    width: 50%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
}
.navigation button{
    background: none;
    border: 0;
}
.navigation a{
    width: auto;
    height: auto;
    font-family: 'Montserrat400';
    color: #FFFFFF;
    text-decoration: none;
    white-space: pre;
    font-size: calc(0.3em + 0.6vw);
    transition: 0.5s;
}
.navigation a:hover{
    color: #F82525;
}

.number{
    width: 25%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
.number a{
    font-family: 'Montserrat600';
    font-size: calc(0.1em + 0.8vw);
    color: #FFFFFF;
    text-decoration: none;
    margin-left: 5%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    transition: 0.5s;
}
.number a img{
    width: 1.5vw;
    height: auto;
    transition: 0.8s;
}
.number a img:hover{
    filter: brightness(1.1);
    transform: rotate(360deg);
}
.number a:hover{
    transform: scale(1.1);
}
.languageButton{
    height: 100%;
    width: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;    
    color:#FFFFFF;
    cursor: pointer;
}
.languageButton input{
    visibility: hidden;
    display: none;
}
.languageButton img{
    padding-left: 10%;
    width: 1vw;
    height: auto;
    transition: 0.5s;
}
.slideMenuLanguage{
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    background-color: #000000;
}
.slideMenuLanguage span{
    border-bottom:1px solid #66666C;
    display: none;
}

/* only 0 - 360px */
.toggler{
    visibility: hidden;
    display: none;
}
.hamberger{
    visibility: hidden;
    display: none;
}
.menu{
    visibility: hidden;
    display: none;
}
.heading{
    width: 74%;
    height: auto;
    margin: 0 13% 0 13%;
    display: flex;
    padding-top: 10vh;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: calc(3vh + 7vw) 0 4vw;
}
.heading h1{
    width: 100%;
    font-size: calc(0.5em + 3vw);
    font-family: 'Montserrat700';
    color: #FFFFFF;
    white-space: nowrap;
}

.heading p{
    color: #FFFFFF;
    width: 76%;
}
.heading .buttonSignUp{
    width: 15%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 1vw 1.5vw;
    margin-top: calc(1vh + 3vw);
    border: 0;
    background-color: #F82525;
    border-radius: 40px;
}
.heading .buttonSignUp:hover{
    background-color: #f82525ce;
}
.heading .buttonDown{
    padding-top: 6%;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start; 
}
.buttonDown button{
    width: 3%;
    border: 0px;
    background: none;
}
.buttonDown button img{
    width: 100%;
    height: auto;
}
.buttonDown button img:hover{
    animation: shake 0.7s;
    animation-iteration-count: 2s;
}
        /* main */
.main{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
        /* about */
.about{
    background-color: #FFFFFF;
    width: 100%;
    height: auto;
}

.about h2{
    font-size: calc(0.5em + 1.93vw);
}
.about h3{
    margin: calc(2vh + 5vw) 0 calc(0.5vh + 1vw);
}
.sheetAboutBlock{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    gap: 0 1vw;
    grid-auto-flow: column;
}
.sheetAboutBlock div{
    width: 100%;
    height: 10vw;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 2px solid #F8F9FA;
}
.area img{
    height: auto;
    width: 17%;
}
.area p{
    padding-left: 5%;
    margin: 0;
    padding-right: 4%;
    color: #333333;
}
.offers{
    width: 100%;
    height: auto;
    background-color: black;
}
.offers .innerBlock h2{
    width: 100%;
    color: #FFFFFF;
    padding-bottom: 2.89vw;
    margin-bottom: 0;
    border-bottom: 1px solid #4F4F4F;
}
.sheetOfferBlock{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
}
/* .slideMenuOffer{
    display: none;
} */
.offerBlock{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: stretch;
    border-bottom: 1px solid #4F4F4F;
    margin-top: calc(1vh + 2vw);
    padding-bottom: calc(1vh + 2vw);
}
.offerInfo{
    width: 40%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.offerInfo h3{
    color: white;
}
.offerInfo p{
    color: white;
    font-size: calc(0.1em + 0.7vw);
    margin-top: calc(0.5vh + 1vw);
}
.offerList{
    width: 40%;
    height: auto;
    background: rgb(255, 255, 255, 0.1);
    border-radius: 5px;
    padding: 1.7% 2.4%;
    transition: 0.7s;
    box-sizing: border-box;
}
.offerList:hover{
    background: rgb(255, 255, 255);
}
.offerList:hover li{
    color:#000000;
}
.offerList ul{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0;
    padding-left: 5%;
}
.offerList li{
    font-family: 'Montserrat600';
    color: #E0E0E0;
    font-size: calc(0.1em + 0.7vw);
    transition: 0.3s;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    list-style-type: disc;
    margin: 1.09% 0;
}
.offerList ul li::before{
    display: list-item !important;
    color: #828282;
    content: '';
    font-size: calc(0.2em + 0.9vw);
}
.offerList li:hover, .offerList li:hover::before{
    color: #F82525;
}
.buttonMoreInfo{
    margin-top: 1vw;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
}
.buttonMoreInfo button{
    display: flex;
    width: 18%;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    border: 1px solid #FFFFFF;
    border-radius: 40px;
    background-color: black;
    padding: 1vw 1.5vw;   
    transition: 0.5s;
}
.buttonMoreInfo button:hover{
    background-color: #FFFFFF;
}
.buttonMoreInfo button:hover span{
    color: #000000;
}
.buttonMoreInfo button:hover svg path{
    stroke: black;
}
.buttonMoreInfo svg{
    width: 7%;
    height: auto;
}

.tech{
    width: 100%;
    height: auto;
    background-color: #F8F9FA;
}
.technologiesBlock{
    width: 74%;
    height: auto;
    margin: 0 13%;
}
.sheetTechnologiesBlock{
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1.5fr;
    gap: 1vw 1vw;
    grid-template-areas: "a b"
                         "c c";
}
.sheetTechnologiesBlock article{
    display: flex;
    height: auto;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    background-color: #FFFFFF;
    border-radius: 5px;
    padding: 5.76%;
}
.sheetTechnologiesBlock article p{
    font-size: calc(0.1em + 0.8vw);
    color: #4F4F4F;
    margin: 3.3% 0;
}

.desktopList .icons{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.mobileList .icons{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.sheetTechnologiesBlock .webList{
    grid-area: c;
    padding: 2.88%;
}
.sheetTechnologiesBlock .webList p{
    width: 50%;
    margin: 1.565% 0;
}
.webList .icons{
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 5%;
    grid-auto-flow: row;
    align-items: center;
    justify-items: center;
}
.icons div{
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    margin-top: 2vw;
}
.icons img{
    width: 4vw;
    height: 4vw;
}
.sheetTechnologiesBlock article .icons p{
    width: 100%;
    text-align: center;
    margin: 0;
    font-size: calc(0.1em + 0.6vw);
    padding-top: 1vh;
    color: #66666C;
}
.direction{
    width: 100%;
    height: auto;
    background: #FFFFFF;
}
.directionBlock{
    width: 74%;
    height: auto;
    padding: 0px 13% 0 13%;
}
.directionBlock p{
    width: 78%;
}
.sheetDirections{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-top: calc(1vh + 3vw);
    
}
.sheetDirections div{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border: 1px solid #66666C;
    border-radius: 100px;
    margin: 0 1vw 1vw 0;
    padding: 1% 1.2% 1% 1.2%;
    transition: 0.3s;
}
.sheetDirections div:hover{
    transform: scale(1.05);
}

.sheetDirections span{
    font-family: 'Montserrat600';
    color: black;
    font-size: calc(0.1em + 0.65vw);
}
.company{
    width: 100%;
    height: auto;
    background-color: #F8F9FA;
}
.companyInfo{
    width: 100%;
    height: auto;
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}
.companyInfo div{
    width: 55%;
}
.company .buttonMoreInfo{
    margin-top: 1vw;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
}
.company .buttonMoreInfo button{
    width: 18%;
    height: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    border: 1px solid #FFFFFF;
    border-radius: 40px;
    background-color: black;
    margin-top: 1vw;
    padding: 1vw 1.5vw; 
    margin-right: 37%;
    transition: 0.5s;
}
.company .buttonMoreInfo button:hover{
    background-color: #FFFFFF;
    border: 1px solid #000000;
}
.companyStatistics{
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: calc(2vh + 6vw);
}
.companyStatistics div{
    position: relative;
    width: 20%;
    height: auto;
    display: flex;
    flex-direction: column;
}
.companyStatistics span{
    top: -30%;
    left: -20%;
    z-index: 0;
    position: absolute;
    font-weight: 700;
    font-family: 'Museo';
    font-size: calc(1em + 4vw);
}
.companyStatistics span + span{
    left: 0;
    top: 0;
    position: relative;
    font-family: 'Montserrat500';
    color: black;
    font-size: calc(0.6em + 2vw);
    z-index: 1;
    padding: 0;
    margin-bottom: calc(0.5vh + 1vw);
}
.companyStatistics p{
    color: #66666C;
    font-size: calc(0.1em + 0.65vw);
}
.contacts{
    width: 100%;
    height: auto;
}
.contacts .innerBlock{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}
.contacts .telephones span{
    font-family: 'Montserrat700';
    color: black;
    font-size: calc(0.6em + 2.63vw);
    margin: 0;
    position: relative;
    z-index: 1;
    padding-bottom: 2.6vw;
}

.telephones{
    width: 30%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.telephones a{
    font-family: 'Montserrat600';
    color: black;
    margin: 0 0 3% 0;
    font-size: calc(0.1em + 1vw);
    text-decoration: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-right: 3%;
}
.telephones a p{
    font-size: calc(0.1em + 0.75vw);
}
.telephones a p:hover{
    color:#F82525;
    transform: scale(1.1);
}
.telephones a h4{
    margin: 0;
}
.telephones .number{
    width: 100%;
    justify-content: flex-start;
}
.formBlock{
    width: 55%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
form{
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 2.66fr;
    gap: 1vw 1vw;
    grid-auto-flow: row;
    grid-template-areas: "a b"
                         "c c";
    align-items: center;
}
form > *{
    background-color: #F8F9FA;
    border: 1px solid #F1F1F1;
    border-radius: 5px;
    font-family: 'Montserrat400';
    line-height: 1.5em;
    color: black;
    font-size: calc(0.1em + 0.8vw);
    padding-left: 5%;
    outline: none;
}
.formBlock input{
    width: 100%;
    height: calc(0.1em + 3.04vw);
    box-sizing: border-box;
}   
textarea{
    grid-area: c;
    width: 100%;
    height: 100%;
    resize: none;
    box-sizing: border-box;
    padding-top: 2.5%;
    padding-left: 2.5%;
}
.buttonsForm{
    margin-top: calc(1vh + 2vw);
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}
.buttonsForm .send {
    width: 58.5%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 1.07vw 1.5vw;
    border: 0;
    background-color: #F82525;
    border-radius: 40px;
    cursor: pointer;
    transition: 0.5s;
}
.buttonsForm .send:hover{
    background-color: #cc1212;
}

.addFile{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding-left: 3%;
    border: 0;
    background: none;
    transition: 0.5s;
}
.addFile label{
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
}
.addFile:hover{
    transform: scale(0.9);
}
.addFile svg{
    width: 1.1vw;
    height: 1.1vw;
    background-color: #F8F9FA;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border: 0;
    border-radius: 50%;
    padding: 0.8vw;
    text-align: center;
}
.addFile span{
    font-family: 'Montserrat400';
    color: #42424B;
    padding-left: 5%;
}
input[type=file]{
    width: auto;
    position: absolute;
    outline:0;
    opacity:0;
    pointer-events:none;
    user-select:none;
    visibility: hidden;
}
.footer{
    width: 100%;
    height: auto;
    background-color: black;
    padding-bottom: calc(1vh + 1vw);
}
.footer > section{
    width: 100%;
    border-bottom: 1px solid #42424B;
}
.footer section + section{
    width: 100%;
    border-bottom:0;
}
.footerBlockNavigation{
    width: 74%;
    height: 4vw;
    margin: 0 13% 0 13%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1vw 0;
}
.footerBlockNavigation .logo{
    width: auto;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}
.footerBlockNavigation .logo a img{
    width: 80%;
    height: 4vw;
}
.footer .ratingBlock{
    width: 74%;
    height: 3vw;
    margin: 0 13% 0 13%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.ratingBlock p{
    font-size: calc(0.1em + 0.6vw);
    color: white;
    margin: 0;
}
.rating{
    width: 30%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
.stars{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    margin-right: 3%;
}
.rating img{
    width: 1vw;
    height: auto;
    padding-right: 6%;
    padding-bottom: 5px;
}

span.error2 {
    white-space: normal;
    padding: 10px 0;
    color: black;
}