body {
    font-family: "Raleway", Arial, sans-serif;
    font-weight: 400;
    color: #000;
    font-size: 16px;
    margin: 0;
}
a, a:hover, a:focus, a:active {
    color: inherit;
    text-decoration: none;
}
div, p, label, ul, ol {
    line-height: 1.2em;
    margin-top: 0px;
    margin-bottom: 0px;
    box-sizing: border-box;
}
.site_box {
    padding-right: 8vw;
    padding-left: 8vw;
}

input:-moz-placeholder, textarea:-moz-placeholder {font-weight: 500; color: rgba(255,255,255,0.7);}
input::-moz-placeholder, textarea::-moz-placeholder {font-weight: 500; color: rgba(255,255,255,0.7);}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {font-weight: 500; color: rgba(255,255,255,0.7);}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {font-weight: 500; color: rgba(255,255,255,0.7);}
input::-ms-input-placeholder, textarea::-ms-input-placeholder {font-weight: 500; color: rgba(255,255,255,0.7);}
input::placeholder, textarea::placeholder {font-weight: 500; color: rgba(255,255,255,0.7);}
input, textarea {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid #fff;
    padding: 0.3em 0em;
    line-height: normal;
    margin-bottom: 1em;
    box-sizing: border-box;
    font-size: 1em;
}
.password {
    border: none;
    background-color: #f8f8f8;
    border-radius: 4px;
    padding: .5em .75em;
    width: 100%;
    line-height: normal;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.15) inset;
    margin-bottom: .75rem;
}
input.password:-moz-placeholder {font-weight: 500; color: rgba(0,0,0,0.6);}
input.password::-moz-placeholder {font-weight: 500; color: rgba(0,0,0,0.6);}
input.password::-webkit-input-placeholder {font-weight: 500; color: rgba(0,0,0,0.6);}
input.password:-ms-input-placeholder {font-weight: 500; color: rgba(0,0,0,0.6);}
input.password::-ms-input-placeholder {font-weight: 500; color: rgba(0,0,0,0.6);}
input.password::placeholder {font-weight: 500; color: rgba(0,0,0,0.6);}

.btn_red {
    background-color: rgba(244, 49, 49, 0.85);
    color: #000;
    text-transform: uppercase;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: normal;
    padding: 0 1em;
    min-height: 2em;
    margin: 0;
    width: fit-content;
    cursor: pointer;
    text-align: center;
}

.itlc {font-style: italic;}
.fw_1 {font-weight: 100;} /* Thin */
.fw_2 {font-weight: 200;} /* ExtraLight */
.fw_3 {font-weight: 300;} /* Light */
.fw_4 {font-weight: 400;} /* Regular */
.fw_5 {font-weight: 500;} /* Medium */
.fw_6 {font-weight: 600;} /* SemiBold */
.fw_7 {font-weight: 700;} /* Bold */
.fw_8 {font-weight: 800;} /* ExtraBold */
.fw_9 {font-weight: 900;} /* Black */
.hex {font-family: "Hexagonium";}
.white {color: #fff;}

.f_09 {font-size: .9em;}
.f_10 {font-size: 1em;}
.f_11 {font-size: 1.1em;}
.f_12 {font-size: 1.2em;}
.f_13 {font-size: 1.3em;}
.f_14 {font-size: 1.4em;}
.f_15 {font-size: 1.5em;}
.f_16 {font-size: 1.6em;}
.f_20 {font-size: 2em;}
.f_23 {font-size: 2.3em;}
.f_25 {font-size: 2.5em;}
.f_30 {font-size: 3em;}

.w-100 {width: 100%;}
.text-center {text-align: center;}
.mb_10 {margin-bottom: 1em;}
.mb_05 {margin-bottom: .5em;}
.tt_up {text-transform: uppercase;}
.lh_n {line-height: normal;}
.lh_1 {line-height: 1em;}
.lh_12 {line-height: 1.2em;}
.bb_1 {border-bottom: 1px solid;}
.tind_2 {text-indent: 2em;}
.b_shd {box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.15);}

h1 {
    font-weight: 900;
    font-size: 4em;
    line-height: 1.2em;
    margin-bottom: .3em;
}
h2 {
    font-weight: 400;
    font-size: 2em;
    width: 80%;
    line-height: normal;
}
h3 {
    text-align: center;
    font-weight: 600;
    font-size: 2.3em;
    margin-bottom: .5em;
}

#main_banner_7 {
    background: url(../workside_docs/images/bg1.png) no-repeat, url(../workside_docs/images/bg0.png) no-repeat;
    background-size: 28% auto, 28em auto;
    background-position: 92% 100%, top left;
    margin-bottom: 3em;
}
header {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 3em;
    padding-right: 8vw;
}
.logo_block {
    text-align: center;
    padding: .5em 3em;
}
.main_banner_titles {
    width: 70%;
    margin: 0 auto;
    padding: 0 0 8em;
}
.header_logo {
    width: 9em;
    margin-bottom: .5em;
}


.projects_block {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
    margin-bottom: 2em;
}
.project {
    width: 14.66%;
    display: flex;
    flex-flow: column;
    margin: 1%;
    align-items: stretch;
    justify-content: space-between;
}
.project img {
    width: 100%;
    height: 12vw;
    object-fit: contain;
    margin-bottom: .5em;
}


footer {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
    color: #fff;
}
.footer_top {
    background: url(../workside_docs/images/bg_6.jpg) no-repeat center;
    background-size: cover;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
}
footer .left {
    background: rgba(0,0,0,0.5);
    width: 40%;
    position: relative;
    padding: 9vw 4vw 1vw 8vw;
}
.f_left_logo {
    position: absolute;
    top: 1em;
    right: 1em;
    height: 6vw;
}
footer .right {
    width: 60%;
    padding: 4em 15vw 2em 7vw;
}
.footer_bottom {
    width: 100%;
    background-color: #000;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}
.foot_logo {
    width: 8em;
    padding: 1em;
}
.foot_logo img {width: 100%;}
footer .navbar .nav-link {color: #fff;}
form.footer_callback input, form.footer_callback textarea {color: #fff;}
.confidentiality, .footer_nav {
    width: fit-content;
}

.footer_main {
    width: 100%;
    background-color: #131313;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    color: #fff;
    padding-top: 2em;
    padding-bottom: 2em;
}
.fm_1 {width: 17%;}
.fm_2 {width: 19%;}
.fm_3 {width: 28%;}
.fm_4 {width: 25%;}
.ftr_uslugi, .ftr_menu {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}
.ftr_uslugi li {
    line-height: 1.2em;
    margin-bottom: .25em;
}
.ftr_uslugi a {
    color: #fff;
    font-weight: 300;
    font-size: 1em;
    line-height: normal;
}
.ftr_menu li {
    line-height: 1.2em;
    margin-bottom: 1em;
}
.ftr_menu a {
    color: #fff;
    font-weight: 400;
    font-size: 1.2em;
}
.mailing {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: center;
    margin-top: 1em;
    font-size: 1.1em;
}
.mailing input[type="text"] {
    margin-bottom: 0;
    background-color: rgba(45, 45, 45, 0.6);
    color: #fff;
    padding: .5em;
    border: none;
}
.social_icons {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 2em;
}
.social_icons img {
    width: 3em;
    margin-right: .5em;
}
.f_submenu {
    text-transform: uppercase;
    font-size: 1.3em;
    font-weight: 700;
    margin-bottom: .75em;
}
.footer_map_img {width: 100%;}

@media (max-width: 1599px){
    .main_banner_titles {padding: 0 0 5em;}
}
@media (max-width: 1399px){
    .site_box {
        padding-right: 6vw;
        padding-left: 6vw;
    }
    footer .left {padding: 9vw 3vw 1vw 6vw;}
}
@media (max-width: 1199px){
    body {font-size: 14px;}
    .site_box {
        padding-right: 4vw;
        padding-left: 4vw;
    }
    header {padding-top: 2em;}
    #main_banner_7 {background-size: 28% auto, 25em auto;}
    .project {width: 23%;}
    .project img {height: 20vw;}
    footer .left {padding: 9vw 2vw 1vw 4vw;}
}
@media (max-width: 991px){
    body {font-size: 12px;}
    .site_box {
        padding-right: 15px;
        padding-left: 15px;
    }
    .fm_1 {width: 20%;}
}
@media (max-width: 767px){
    .main_banner_titles {
        width: 100%;
        margin: 0 auto;
        padding: 0 15px;
    }
    #main_banner_7 {background-size: 28% auto, 28em 16em;}
    .logo_block {padding: 0 2em;}
    footer .left {
        width: 100%;
        padding: 9vw 15px 2em 15px;
    }
    footer .right {
        width: 100%;
        padding: 2em 15px 2em 15px;
    }
    .fm_1, .fm_2 {
        width: 50%;
        margin-bottom: 2em;
    }
    .fm_3 {width: 48%;}
    .fm_4 {width: 50%;}
    .ftr_uslugi, .ftr_menu {display: none;}
    .f_sm_closed {
        pointer-events: auto;
        cursor: pointer;
        background: url(../workside_docs/images/icons/open.png) no-repeat;
        background-size: 1.1em;
        background-position: 100% 50%;
        transition: background 250ms ease-out 0ms;
        width: fit-content;
        padding: 0 2em 0 0;
    }
    .f_sm_opened {
        background: url(../workside_docs/images/icons/opened.png) no-repeat;
        background-size: 1.1em;
        background-position: 100% 50%;
        transition: background 250ms ease-out 0ms;
    }
}
@media (max-width: 575px){
    .fm_1, .fm_2, .fm_3, .fm_4 {
        width: 100%;
        margin-bottom: 2em;
    }
    .project {
        width: 48%;
        margin-bottom: 1.5em;
        font-size: 14px;
    }
    h1 {
        font-size: 3.5em;
        text-align: center;
    }
    h2 {
        font-size: 1.75em;
        text-align: center;
        width: 100%;
    }
    #main_banner_7 {
        background: url(../workside_docs/images/bg0.png) no-repeat;
        background-position: top left;
        background-size: 26em 15em;
    }
}