@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); /* Путь к файлу со шрифтом */
}
* {
    -webkit-tap-highlight-color: transparent;
}.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;
}
body{
    position: relative;
    margin: 0;
    padding: 0;
}
h2{
    font-family: 'Montserrat700';
    color: black;
    font-size: calc(0.4em + 3vw);
    margin: 0;
    padding-bottom: 2.6vw;
}
h3{
    position: relative;
    font-family: 'Montserrat600';
    color: black;
    font-size: calc(0.1em + 1.2vw);
    margin: 0;
}
p{
    font-family: 'Montserrat400';
    line-height: 1.5em;
    color: black;
    margin: 0;
    font-size: calc(0.1em + 0.75vw);
    transition: 0.5s;
}
button img{
    height: auto;
    width: 10%;
}
span{
    font-family: 'Montserrat600';
    font-size: calc(0.1em + 0.7vw);
    color: #FFFFFF;
}
button span{
    font-family: 'Montserrat500';
}
.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-right: 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{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;    
    color:#FFFFFF;
    background-color:black;
    border: 0;
    margin: 0;
    padding: 0;
    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{
    margin: 0 13% 0 13%;
    width: 74%;
    padding: calc(4vw + 2vh) 0 calc(5vw + 3vh);
}
.heading h1{
    width: 100%;
    font-size: calc(0.6em + 3vw);
    font-family: 'Montserrat700';
    color: #FFFFFF;
    margin-top: calc(3vh + 5vw);
}
.adress{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
}
.adress p{
    color: #BDBDBD;
    font-family: 'Montserrat400';
    text-decoration: none;
    font-size: calc(0.1em + 0.6vw);
    margin: 0;
}
.adress a + p{
    padding: 0 0.5% 0 0.5%;
}
.adress a{
    color: #BDBDBD;
    font-family: 'Montserrat400';
    text-decoration: none;
    font-size: calc(0.1em + 0.6vw);
}
main{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.company{
    width: 100%;
    height: auto;
    background-color: #FFFFFF;
}
.companyBlock{
    width: 74%;
    height: auto;
    margin: 0 13%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
}
.companyInfo{
    width: 100%;
    height: auto;
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 3vw;
}
.companyInfo p{
    width: 50%;
}
.companyStatistics{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
}
.companyStatistics div{
    width: 24%;
    height: auto;
    border: 1px solid #F2F2F2;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 1.88%;
}
.companyStatistics span{
    position: relative;
    font-family: 'Montserrat600';
    color: black;
    font-size: calc(0.1em + 1.2vw);
    margin: 0;
}
.companyStatistics p{
    position: relative;
    color: #66666C;
    line-height: 1.5em;
    font-size: calc(0.2em + 0.56vw);
    margin-top: 4.7%;
}
.vacancy{
    width: 100%;
    height: auto;
    background-color: #F8F9FA;
}
.vacancy .email{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin: calc(0.5vh + 3vw) 0;
}
.vacancy .email p{
    width: 100%;
    font-family: 'Montserrat400';
    line-height: 1.5em;
    color: black;
    margin: 0;
    font-size: calc(0.1em + 1vw);
    position: relative; 
    z-index: 1;
}
.vacancy .email p a{
    font-family: 'Montserrat600';
    margin-left: 0.5%;
    line-height: 1.5em;
    color: black;
    margin-top: 0;
    font-size: calc(0.1em + 1vw);
    transition: 0.5s;
    text-decoration: 0;
}
.vacancy .email p a:hover {
    color: #F82525;
}
.vacancySheet{
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 1vw 1vw;
}
.vacancySheet div{
    width: 100%;
    height: 100%;
    border: 1px solid #F2F2F2;
    border-radius: 5px;
    background-color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    box-sizing: border-box;
    padding: 4%;
}
.vacancySheet span{
    font-family: 'Montserrat600';
    color: black;
    font-size: calc(0.2em + 1.2vw);
    margin: 0 0 2.18%;
    
}
.vacancySheet p{
    font-size: calc(0.1em + 0.7vw);
    color: #4F4F4F;
}
.vacancySheet p + span{
    font-family: 'Montserrat400';
    font-size: calc(0.1em + 0.7vw);
    color: #66666C;
    line-height: 1.5em;
    margin: 3.26% 0;
}
.vacancySheet div div{
    font-family: 'Montserrat600';
    color: #333;
    font-size: calc(0.1em + 0.65vw);
    margin: 0;
    padding: 0;
    border: 0;
}
.contacts{
    width: 100%;
    height: auto;
}
.contacts .innerBlock{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}
.telephones{
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.telephones p{
    margin-bottom: 20px;
    color: #42424B;
}
.telephones a{
    font-family: 'Montserrat600';
    color: black;
    margin: 0 0 3% 0;
    font-size: calc(0.1em + 0.8vw);
    text-decoration: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-right: 3%;
}
.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;
}

html {
    height: 100%;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.header {
    flex: 0 0 auto;
}
main {
    flex: 1 0 auto;
}
footer {
    flex: 0 0 auto;
}
span.error2 {
    white-space: normal;
    padding: 10px 0;
    color: black;
}