/*      Инжиниринговый центр     */


* {
    margin:0;
    padding:0;
}

    aside, footer, address, section {
    display:block;
}

    img, iframe, video, embed {
    max-width:100%!important;
}

/*
html, body {
    height: 100%;
}

/*    Tipographica   */

h1 {
    font: normal 1.5em 'ProximaNovaRegular';
    color: #8f0000;
    padding: 1em 0 0.2em 0;
    border-bottom: 1px solid #8f0000;
    text-transform: uppercase;
    text-align: left;
}

h2 {
    font: normal 2em 'ProximaNovaRegular';
    color: #8f0000;
    text-transform: uppercase;
    padding: 2em 0 0.1em 0;
    border-bottom: 1px solid #8f0000;
    text-align: center;
}

h3 {
    font: normal 1.25em 'ProximaNovaRegular';
    line-height: 1.2em;
    color: #8f0000;
    text-transform: uppercase;
    padding: 1em 0 0 0;
}

h4 {
    font: normal 1em 'ProximaNovaRegular';
    color: #fff;
    padding-right: .8em;
}

p {
    font: normal 1.1em 'ProximaNovaRegular';
    line-height: 1.2em;
    color: #000;
    padding: 1em 0 0 0;
    text-align: justify;
}

a {
    text-decoration: none;
}


/* --------------МАКЕТ------------- */

#page {
    width: 100%;
    height: 100%;
    font: 100% 'ProximaNovaRegular'
}

.layout {
    width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

.box3 {
    width: 31%;
    padding: 0 1%;
    float: left;
    text-align: center; 
}

/* --------------МЕНЮ------------- */

#header menu, #header1 menu {
    float: right;
}

menu li {
    float: left;
    list-style: none;
    padding: 1.5em 0.9em;
    font: lighter 1em 'ProximaNovaRegular';
}

menu li:hover {
    background: #094678;
    transition: all 0.3s linear;
}

menu li a {
    color: #92bfe1;
    font-size: 1em;
    text-transform: uppercase;
    text-decoration: none;
}

menu li a:hover {
    color: #fff;
    transition: all 0.3s linear;
}

/* --------------ЗАСТАВКА------------- */

#header {
    background-image: url(../images/zastavka.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 800px;
}

#header1 {
    background-image: url(../images/zastavka+.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 142px;
}

.head-cont {
    float: right;
    margin-top: 1.5em;
}

.head-cont a {
    font: lighter 1.1em 'ProximaNovaRegular';
    text-align: right;
}

.head-cont h4:hover {
    color: #92bfe1;
    transition: all 0.3s linear;
}

.clr {
    clear: both;
}

.logo {
    margin: 18% 0 0 50%;
    width: 45.8%;
}

.logo1 {
    width: 35%;
    margin-top: 3%;
    padding-left: 1em;
    float: left;
}

.button {
    background: #094678;
    display: block;
    width: 25%;
    border-radius: 3px;
    margin: 2% 0 0 65%;
    font: lighter 1.125em 'ProximaNovaRegular';
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    padding: 2% 0;
    cursor: pointer;
}

.button:hover {
    transition: all 0.3s linear;
    background: #0f68aa;
    color: #fff;
}

#header h4 {
    margin-left: 55%;
}

/* --------------САЙДБАР------------- */

#content {
    width: 100%;
    height: 80%;
    background-image: url(../images/zastavka1+.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#sidebar {
    width: 30%;
 	height: 100%;
 	float: right;
    border-left: 1px solid #0f68aa;
    padding: 2em 0 10em 0;
}

#sidebar a {
    display: block;
    text-transform: uppercase;
    padding: 0.5em 0 0.5em 2em;
    text-align: left;
    color: #0f68aa;
}

#sidebar a:hover {
    color: #8f0000;
    transition: all 0.3s linear;
}



/* --------------ОПИСАНИЕ------------- */

#text {
    width: 67%;
 	height: 100%;
    float: left;
    padding-top: 2em;
}

#text ul {
    font: normal 1.1em 'ProximaNovaRegular';
    line-height: 1.2em;
    color: #094678;
    margin: 1em 0 0 1em;
}

#text ul li {
    padding: 0.2em 0 0 0;
}

#text p {
    color: #094678;
}

#text h3 {
    padding-left: 1em;
}

.text-img {
    float: right;
    width: 45%;
    margin: 1em 0 2em 2em;
}

.text-top {
    width: 100%;
}

#text a, #file a {
    cursor: pointer;
    font-size: 1em;
    font-style: italic;
    text-decoration: underline;
    color: #094678;
    display: block;
}

#text a:hover {
    color: #8f0000;
    transition: all 0.3s linear;
}



/* --------------О НАС------------- */

#about {
    background-image: url(../images/zastavka1+.jpg);
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
}

.cir {
    margin:  7% 1.5em 15% 0;
    float: left;
    width: 48.5%;
}

#about h2 {
    text-align: left;
}

/* --------------НАПРАВЛЕНИЯ------------- */

#directions {
    background: #e1e6e6;
    padding-bottom: 4em;
}

.dir-content {
	text-align: center;
}

.n1, .n2, .n3, .n4, .n5, .n6, .n7 {
    text-align: center;
	position: relative;
	display: inline-block;
	overflow: hidden;
	margin: 2em 1em 0 1em;
    width: 350px;
    height: 350px;
    background-image: url(../images/n1+.jpg);
    background-repeat: no-repeat;
    background-position: top;
	box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19);
}

.n2 {
    background-image: url(../images/n2+.jpg);
}

.n3 {
    background-image: url(../images/n3+.jpg);
}

.n4 {
    background-image: url(../images/n4+.jpg);
}

.n5 {
    background-image: url(../images/n5+.jpg);
}

.n6 {
    background-image: url(../images/n6+.jpg);
}

.n7 {
    background-image: url(../images/n7+.jpg);
}

.n1 h3, .n2 h3, .n3 h3, .n4 h3, .n5 h3, .n6 h3, .n7 h3 {
    display: block;
    background: #fff;
    position: absolute;
    top: 270px;
    height: 80px;
    font-size: 1.125em;
    padding: 1em 0.5em 0 0.5em
}


/* --------------ПАРТНЁРЫ------------- */

#partners .left, #partners .right {
    width: 49%;
    float: left;
    margin: 2em 0 4% 0;
    padding-right: 1%;
}

#partners .left a, #partners .left img {
    width: auto;
    text-align: center;
    margin: 0 auto;
}

#partners .box3 {
    padding: 1em 1%;
    height: 80px;
    display: flex;
    align-items: center
}

/* --------------ДОКУМЕНТЫ И ЛИЦЕНЗИИ------------- */

#docs {
    background: #e1e6e6;
    padding-bottom: 4em;
}

/* --------------КОНТАКТЫ, ФОРМА ----------*/

#contacts {
    background: url(../images/fon.jpg) no-repeat top center;
    padding-bottom: 6%;
    overflow: hidden;
}

#contacts .button {
    margin: 2em auto 0 auto;
    width: 40%;
}

#contacts h2 {
    color: #fff;
    border-bottom-color: #fff;
}

#contacts p {
    font: normal 1.2em 'ProximaNovaRegular';
    line-height: 1.3em;
    color: #fff;
    /*margin-bottom: 10em;*/
    padding-top: 2em;
}

#contacts p a {
    font-size: 1em;
    color: #fff;
}

#contacts p a:hover {
    color: #8f0000;
    transition: all 0.3s linear;
}

#contacts .map {
    float: left;
    margin: 3% 2em 0 0;
    box-shadow: 0 0 15px rgba(9,70,120,0.7);
}

.box2 {
    float: left;
    width: 48%;
    margin-bottom: 0.5em;
    text-align: center;
}

.box2:first-child {
    text-align: right;
    margin-right: 4%;
}

.box2:last-child {
    text-align: left;
}

.rf {
    margin-top: 2.5em;
}

#contacts input[type="text"], #contacts input[type="email"], #contacts input[type="tel"], #contacts textarea {
    background: #fff;
    border: none;
    width: 92%;
    border-radius: 4px;
    padding: 1em 4%;
    font: 1em 'ProximaNovaRegular';
    margin-bottom: 1em;
    box-shadow: 0 0 15px rgba(9,70,120,0.7);
}

#contacts textarea {
    height: 9.75em;
}

#contacts input[type="submit"] {
    border: none;
}

/*       ФУТЕР       */

footer {
    width: 100%;
    padding: 0.5em 0;
    background: #8f0000;
}

#footer p {
    color: #fff;
    font: .9em 'ProximaNovaRegular';
    text-align: center;
    padding: 0;
    float: left;
    padding-top: 0.5em;
}

#counter {
    float: right;
}

/*     КНОПКА НАВЕРХ   */

#toTop {
    border: 3px solid #fff;
    border-bottom-width: 3px;
    border-bottom-width: 2px;
    border-bottom-width: 0;
    border-radius: 15px 15px 0 0;
    background: #002e54;
    text-align: center;
    padding: 10px 2em;
    position: fixed;
    bottom: 30%;
    right: -85px;
    cursor: pointer;
    display: none;
    color: #fff;
    font: lighter 1.75em 'ProximaNovaRegular';
    text-transform: uppercase;
    transform: rotate(-90deg);
    transition: background .25s ease-in-out;
}

#toTop:hover {
    background: #8f0000;
}



/* -------------- ADAPTIVE--------------- */

/* -------1024------- */

@media screen and (max-width:1024px), only screen and (max-device-width:1024px) {  
    
    .layout {
        width: 960px;
    }
    
    #header {
        height: 768px;
    }
    
    .logo {
        margin: 25% 0 0 50%;
    }
    
    .logo1 {
        width: 38%;
        margin-top: 4%;
    }
    
    #header1 menu li {
        padding: 1.5em 0.7em;
    }
    
    #header h4 {
        text-align: center;
        font-size: 1.2em;
    }
    
    p {
        font-size: 1em;
        line-height: 1.1em;
        padding-top: .9em;
    }
    
    #text ul {
        font-size: 1em;
        line-height: 1.1em;
    }
    
    h1 {
        font-size: 2.2vw;
    }
    
    h2 {
        font-size: 1.8em;
    }

    h3 {
        font-size:  1.1em;
        line-height: 1.1em;
    }
    
    #text h3 {
        font-size: 1.7vw;
    }
    
    #contacts .map {
        width: 50%;
    }
    
    #contacts p {
        font-size: 1.1em;
        line-height: 1.2em;
        margin-bottom: 12em;
    }
    
    #sidebar {
        padding-bottom: 6em;
    }
    
}

/* -------854------- */

@media screen and (max-width:854px), only screen and (max-device-width:854px) {   

    .layout {
        width: 800px;
    }
    
    #header {
        height: 600px;
    }
    
    .logo {
        margin-top: 23%;
    }
    
    .logo1 {
        width: 35%;
        margin-top: 6%;
}
    
    #header h4 {
        font-size: .9em;
    }
    
    .head-cont {
        margin-top: 2.05em;
    }
    
    #header1 menu li {
        font-size: .9em;
    }
    
    menu li a {
        font-size: .9em;
    }
    
    #sidebar {
        padding-bottom: 2em;
    }
    
    #sidebar a {
        font-size: .9em;
    }
    
    .button {
        font-size: 1em;
    }
    
    .cir {
        margin: 7% 1.5em 1% 0;
    }
    
    #about {
        padding-bottom: 4%;
    }
    
    .n1, .n2, .n3, .n4, .n5, .n6, .n7 {
        width: 310px;
        height: 310px;
    }
    
    .n1 h3, .n2 h3, .n3 h3, .n4 h3, .n5 h3, .n6 h3, .n7 h3 {
        top: 250px;
        height: 60px;
        font-size: 1em;
    }
}

/* -------800------- */

@media screen and (max-width:800px), only screen and (max-device-width:800px) {  
    
    .layout {
        width: 740px;
    }
    
    menu li {
        padding: 1.5em 0.8em;
    }
    
    #header1 menu li {
        font-size: .8em;
        margin-top: 1em;
    }
    
    menu li a {
        font-size: .8em;
    }
    
    .head-cont h4 {
        font-size: .9em; 
    }
    
    #text ul {
    font-size: .9em;
}

}

/* -------768------- */

@media screen and (max-width:768px), only screen and (max-device-width:768px) {  
    
    .layout {
        width: 720px;
    }
    
    #header {
        height: 480px;
    }
    
    menu li {
        padding: 1.5em 0.7em;
    }
    
    .logo {
        margin-top: 18%;
    }
    
    #header h4 {
        font-size: .9em;
    }
    
}

/* -------640------- */

@media screen and (max-width:640px), only screen and (max-device-width:640px) {   

    .layout {
        width: 600px;
    }
    
    #header {
        text-align: center;
        background-image: url(../images/zastavka+.jpg);
    }
    
    #header1 {
        align-content: center;
        display: grid;
        height: 120px;
        text-align: center;
    }
    
    .logo1 {
        width: 65%;
        padding: 0;
        float: none;
        margin: 0;
    }
    
    #header menu, #header1 menu {
        display: none;
    }
    
    .logo {
        margin: 35% 0 2% 0;
        width: 65%;
    }
    
    #header .button {
        margin: 0 auto;
        width: 30%;
    }
    
    #header h4 {
        margin: 0;
    }
    
    .head-cont h4 {
        display: none;
    }

    .cir {
        margin: 4% 1.5em 0 0;
        float: none;
        width: 100%;
    }
    
    h1 {
        font-size: 3.5vw;
    }
    
    h2 {
        font-size: 1.6em;
        padding: 1em 0 0.1em 0;
    }
    
    .box2 {
        width: 80%;
        float: none;
        margin: 1em auto;
    }
    
    .box2:first-child {
        text-align: right;
        margin: 0 auto;
    }
    
    #partners .left, #partners .right {
        float: none;
        width: auto;
    } 
    
    #contacts .map {
        float: none;
        margin-top: 5%;
        width: 100%;
    }
    
    #contacts p {
        font-size: 1em;
        margin-bottom: 1em;
        text-align: center;
    }
    
    #contacts .button {
        width: 80%;
        padding: 3% 0;
    }
    
    #toTop {
        font-size: 1.4em;
        right: -65px;
    }
    
    #sidebar {
        width: 100%;
        float: none;
        border: none;
        padding: 0;
    }
    
    #sidebar a {
        font-size: 1.1em;
        text-align: left;
        padding: 0.5em 1em;
        margin-bottom: 0.2em;
        background: #0f68aa;
        color: #eaf5fd;
    }
    
    #sidebar a:hover {
        background: #fff;
        color: #0f68aa;
    }
    
    .left-menu {
        margin-top: 1em;
    }
    
    #text {
        width: 100%;
        float: none;
        padding: 0;
        margin: 6em 0 2em 0;
    }
    
    #text ul {
        margin: 0 0 0 1em;
    }
    
    .text-img {
        float: none;
        width: auto;
        margin-left: 0;
    }
    
    #text h3 {
        font-size: 1.3em;
        padding: 0 0 1em 0;
        text-align: center;
    }
    
    #footer p {
        float: none;
        text-align: center;
        padding-bottom: 0.5em;
    }

#counter {
        float: none;
        text-align: center;
    }
    
    #footer {
        padding: .8em 0;
    }
}

/* -------600------- */

@media screen and (max-width:600px), only screen and (max-device-width:600px) {   
    
    .layout {
        width: 560px;
    }

}

/* -------480------- */

@media screen and (max-width:480px), only screen and (max-device-width:480px) {   

    .layout {
        width: 440px;
    }
    
    #header .button {
        width: 40%;
    }
    
    .logo {
        margin-top: 30%;
    }
    
    .logo1 {
        width: 80%;
    }
    
    #sidebar a {
        font-size: 1em;
    }
    
    #header h4 {
        font-size: .7em; 
    }
    
    p {
        font-size: .9em;
        line-height: 1em;
    }
    
    #footer p {
        font-size: .8em;
    }
    
    h3 {
        font-size: 1em;
    }
    
    h2 {
        font-size: 1.4em;
    }
    
    h1 {
        font-size: 4.5vw;
    }
    
    #contacts .button {
        padding: 4% 0;
        margin-top: 1em;
    }
    
    #contacts input[type="text"], #contacts input[type="email"], #contacts input[type="tel"], #contacts textarea {
        font-size: 0.9em;
    }
    
    .text-img {
        float: none;
        margin: 0;
        width: 100%;
        margin: 1em 0 2em 0;
    }
}

/* -------414------- */

@media screen and (max-width:414px), only screen and (max-device-width:414px) {   

    .layout {
        width: 375px;
    }
    
    #header {
        height: 736px;
    }
    
    .logo {
        width: 80%;
        margin-top: 90%;
    }
    
    #header .button {
        width: 50%;
    }
    
    #text h3 {
        font-size: 4.5vw;
    }
}

/* -------375------- */

@media screen and (max-width:375px), only screen and (max-device-width:375px) {   

    .layout {
        width: 335px;
    }
    
    #header {
        height: 667px;
    }
    
    h1 {
        font-size: 5vw;
}
    
}

/* -------360------- */

@media screen and (max-width:360px), only screen and (max-device-width:360px) {   

    .layout {
        width: 320px;
    }
    
    #header {
        height: 640px;
    }
    
    .logo {
        margin: 80% 0 5% 0;
        width: 95%;
    }
    
    .logo1 {
        width: 95%;
    }
    
    #sidebar a {
        font-size: .9em;
    }
    
    #header .button {
        width: 60%;
    }
    
    #contacts .button {
        padding: 6% 0;
    }
    
    .n1, .n2, .n3, .n4, .n5, .n6, .n7 {
        margin-top: 1em;
        width: 250px;
        height: 270px;
    }
    
    .n1 h3, .n2 h3, .n3 h3, .n4 h3, .n5 h3, .n6 h3, .n7 h3 {
        top: 217px;
        height: 40px;
        font-size: .8em;
    }
    
    .rf {
        margin-top: 2em;
    }
    
    #toTop {
        font-size: 1.3em;
        right: -60px;
    }

}

/* -------320------- */

@media screen and (max-width:320px), only screen and (max-device-width:320px) {   
    
    .layout {
        width: 280px;
    }

}