body {
    font-family: 'Ubuntu', sans-serif;
    font-size: 16px;
    line-height: 1.2;
    background: #000;
    color: #fff;
}
@font-face {
    font-family: 'helios';
    src: url('../fonts/heliosultracompressed-webfont.eot');
    src: url('../fonts/heliosultracompressed-webfont.eot?#iefix') format('embedded-opentype'),
    url('../fonts/heliosultracompressed-webfont.woff2') format('woff2'),
    url('../fonts/heliosultracompressed-webfont.woff') format('woff'),
    url('../fonts/heliosultracompressed-webfont.ttf') format('truetype'),
    url('../fonts/heliosultracompressed-webfont.svg#heliosultracompressedultra') format('svg');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: "ArialNarrowRegular";
    src: url("../fonts/ArialNarrowRegular/ArialNarrowRegular.eot");
    src: url("../fonts/ArialNarrowRegular/ArialNarrowRegular.eot?#iefix")format("embedded-opentype"),
    url("../fonts/ArialNarrowRegular/ArialNarrowRegular.woff") format("woff"),
    url("../fonts/ArialNarrowRegular/ArialNarrowRegular.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}
body, html, .all-wrap{
    /*height: 100%;*/
}
.all-wrap {
    /*min-height: 100%;*/
    /*height: auto !important;*/
    /*overflow: hidden;*/
}
ul {
    padding-left: 0;
}

a, input, div, img, button,
a:visited, a:active, a:focus {
    outline: 0;
}
table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}

a {
    font-size: 16px;
    color: inherit;
}
textarea {
    max-width: 100%;
}
a:hover, a:visited, a:focus {
    color: inherit;
}

img {
    max-width: 100%;
}

button, input, optgroup, select, textarea {
    color: #000;
}

.justify {
    font: 14px "Ubuntu", Geneva, sans-serif;
    text-align: justify;

    /* Обнуляем для родителя*/
    line-height: 0;
    font-size: 1px; /* 1px для Opera */

    /* Лекарство для IE6-7*/
    text-justify: newspaper;
    zoom: 1;

    /* Включаем в работу последнюю строку*/
    text-align-last: justify;
    margin-left: 0;
    padding-left: 0;
}

.justify:after {
    width: 100%;
    height: 0;
    visibility: hidden;
    overflow: hidden;
    content: '';
    display: inline-block;

}

ul.justify > li {
    display: inline-block;
    background: none;
    padding-left: 0;
    padding-bottom: 0;
    text-align: left;
    text-align-last: left;
    /* Востанавливаем у потомков, кроме последнего*/
    line-height: normal;
    font-size: 14px;

    /* Без него в Opera будет отступ под элементами */
    vertical-align: top;

    /* эмуляция inline-block для IE6-7*/
/ / display : inline;
/ / zoom : 1;
}
.zoom-images li {
    margin: 0 7px;
    margin-bottom: 14px;
}
ul.justify.zoom-images {
    text-align: center;
}
.flex-list {
    display: flex;
    justify-content: space-around;
}

.relative {
    position: relative;
}

::-webkit-input-placeholder {
    /* WebKit, Blink, Edge */
    color: #757575;
    font-weight: 100;
}

:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #757575;
    font-weight: 100;
}

::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #757575;
    font-weight: 100;
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #757575;
    font-weight: 100;
}

label.error {
    display: none !important;
}
input.error,
textarea.error{
    border-color: #c71e1e;
}
.top-menu li {
    list-style: none;
    display: inline-block;
}
.top-menu {
    text-align: right;
    padding-top: 19px;
}
.top-menu a {
    text-transform: uppercase;
    color: #fff;
    display: inline-block;
    padding: 2px 62px;
}
.top-menu a:last-child{
    padding-right: 0;
}
.top-menu-wrap {
    padding-bottom: 8px;
    background: url("../img/top-line.png") right 30% bottom no-repeat;
}
.header-wrap {
    padding-top: 3px;
}
.first-screen{
    background: url("../img/first-bg.png") center top no-repeat;
    padding-bottom: 185px;
}
.top-contacts{
    text-align: right;
    padding-top: 43px;
}
a.callback-btn {
    display: inline-block;
    background: #0693cd;
    font-size: 18px;
    text-transform: uppercase;
    padding: 12px 37px;
    border-radius: 30px;
    vertical-align: middle;
}
span.top-phone {
    display: inline-block;
}
span.top-phone a {
    display: inline-block;
    font-size: 36px;
}
span.top-phone {
    display: inline-block;
    margin-right: 49px;
    padding: 2px 0;
    vertical-align: middle;
    background: url("../img/top-phone-bg.png") left 23px center no-repeat;
}
.form {
    width: 368px;
    float: right;
    text-align: center;
    margin-top: 95px;
    padding-top: 124px;
    padding-bottom: 92px;
    position: relative;
    overflow: hidden;
    background: url("../img/plashka-new.png") center top no-repeat;
    /*background-blend-mode: multiply;*/
}
.form-title {
    font-family: "helios";
    font-size: 42px;
    text-transform: uppercase;
    letter-spacing: 4px;
    padding: 0 16px;
    position: relative;

}
.form-subtitle {
    font-family: "Arial";
    text-transform: uppercase;
    padding: 20px 25px;
    line-height: 1.4;
    margin-bottom: 5px;
    position: relative;

}
.form form{
    position: relative;

}
.form input {
    display: inline-block;
    width: 81%;
    border: 0;
    padding: 13px 15px;
    margin-bottom: 19px;
    font-family: "arial";
    font-style: italic;
    font-size: 14px;
}
.submit-form-btn {
    display: inline-block;
    background: #0693cd;
    font-size: 16px;
    text-transform: uppercase;
    padding: 13px 42px;
    border: 0;
    border-radius: 30px;
    vertical-align: middle;
    color: #fff;
    margin-top: 13px;
}
.form-bg{
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: overlay;
}
.plashka-top{
    position: absolute;
    top: 0;
    left: 0;
}
.our-services-wrap {
    margin-top: -115px;
}
.section-title {
    font-size: 60px;
    font-family: "helios";
    letter-spacing: 3px;
}
ul.services-list > li {
    width: 31.5%;
    text-align: center;
    text-align-last: center;
    margin-bottom: 29px;
}
.service-title {
    font-size: 34px;
    font-family: "ArialNarrowRegular";
    text-transform: uppercase;
    padding: 0 20px;
}
.service-wrap {
    border: 1px solid #4b7586;
}
.services-list {
    margin-top: 44px;
}
.service-head {
    min-height: 147px;
    display: table;
    width: 100%;
}
.service-head-inner {
    display: table-cell;
    vertical-align: middle;
}
.service-subtitle {
    font-size: 18px;
    color: #ff4e00;
    margin-top: 8px;
    padding: 0 20px;
}
.service-body {
    position: relative;
}
.service-desc {
    position: relative;
}
.service-desc-wrap {
    position: absolute;
    top: 0;
    left: 0;
    /*background: #000;*/
    height: 100%;
    overflow: hidden;
}
.service-arrow{
    height: 1px;
    background: #000;
    position: relative;
}
.service-arrow:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(0, 0, 0, 0);
    border-top-color: #000000;
    border-width: 25px;
    margin-left: -25px;
}
.service-desc {
    position: relative;
    height: 1px;
    background: #000;
    overflow: hidden;
    transition: all 0.5s;
}
.service-wrap:hover .service-desc{
height: 100%;
}
.service-text {
    padding: 3px 35px;
    text-align: left;
    text-align-last: left;
    font-size: 16px;
    line-height: 1.4;
    min-height: 132px;
}
a.service-order-btn {
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    background: #0693cd;
    padding: 14px 40px;
    border-radius: 30px;
    margin-top: 16px;
}
.download-buttons {
    margin-top: 16px;
}
.download-buttons .justify > li {
    width: 48.7%;
}
.download-buttons a {
    display: inline-block;
    background: #0693cd;
    width: 100%;
    padding: 20px 20px;
    border-radius: 32px;
    text-align: center;
    font-size: 20px;
    text-align-last: center;
    text-transform: uppercase;
    position: relative;
}
a.download1 {
    background: url(../img/download1.png) left 22px center no-repeat #0693cd;
}
a.download1 span {
    padding-left: 40px;
}
a.download2 {
    background: url(../img/download2.png) left 36px center no-repeat #0693cd;
}
a.download2 span {
    padding-left: 61px;
}
a.download1:hover {
    background: url(../img/download1.png) left 22px center no-repeat #ff4e00;
}
a.download2:hover {
    background: url(../img/download2.png) left 36px center no-repeat #ff4e00;
}

ul.advantages-list > li {
    width: 47.2%;
    margin-bottom: 31px;

}
.adv-title{
    font-size: 25px;
    text-transform: uppercase;
    font-family: "ArialNarrowRegular";
    line-height: 1.4;
}
.advantages-wrap {
    margin-top: 73px;
}
.dark-blue{
    background: #002c49;
}
.light-blue{
    background: #004994;
}
.dark-blue:hover{
    background: url("../img/dark-blue-hover.png") no-repeat #002c49;
}
.light-blue:hover{
    background: url("../img/light-blue-hover.png") no-repeat  #004994;
}
.advantages-list {
    margin-top: 26px;
    padding-right: 15px;
}
.advantage {
    min-height: 283px;
    padding: 0 26px;
}
.adv-img {
    display: table;
    width: 100%;
    min-height: 103px;
}
.adv-img > div{
    display: table-cell;
    vertical-align: middle;
}
.adv-text {
    margin-top: 7px;
    line-height: 1.4;
    font-size: 16px;
    padding-bottom: 15px;
    font-weight: 300;
}
.advantages-wrap{
    background: url("../img/advantages-bg.jpg") center top 145px no-repeat;
}
.about-us {
    margin-top: 83px;
    padding-left: 30px;
}
.about-us-text {
    font-size: 18px;
    font-weight: 300;
    font-style: italic;
    margin-top: 83px;
    line-height: 1.5;
    padding-right: 49px;
}

.about-us-text p {
    margin-bottom: 30px;
}
p.right-text {
    text-align: right;
    padding-right: 4px;
}
.contacts-wrap {
    margin-top: 63px;
}
.contacts li {
    vertical-align: bottom !important;
}
.contact {
    display: table;
    width: 100%;
    font-size: 18px;
    font-weight: 300;
    padding-left: 54px;
    line-height: 1.3;
}
.contact1{
     background: url("../img/contacts1.png") left bottom 2px no-repeat;
 }
.contact2{
    background: url("../img/contacts2.png") left bottom 2px no-repeat;
}
.contact3{
    background: url("../img/contacts3.png") left bottom 2px no-repeat;
}
.contact4{
    background: url("../img/contacts4.png") left bottom 2px no-repeat;
}
.contacts {
    margin-top: 45px;
}
.map{
    /*height: 300px;*/
    position: relative;
    margin-top: 78px;
}
#map {
    height: 420px;
    width: 100%;
}
.footer-phone span.top-phone {
    text-align: center;
    text-align-last: center;
    margin-right: 0;
    margin: 0 auto;
    display: block;
    position: relative;
    min-width: 268px;
    width: 268px;
}
.footer-callback{
    text-align: right;
}
.copyright {
    font-size: 18px;
    font-weight: 300;
    margin-top: 15px;
}
.footer {
    margin-top: 63px;
}
.footer-wrap {
    padding-bottom: 54px;
    background: url("../img/footer-bg.png") center bottom no-repeat;
}
.remodal.callback-form {
    background: url("../img/modal-form-bg.png") center top no-repeat;
    width: 405px;
    padding-bottom: 50px;
    max-width: 100%;
}

.remodal-close {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    overflow: visible;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    color: #95979c;
    border: 0;
    outline: 0;
    -o-transform: translateY(-52%);
    -ms-transform: translateY(-52%);
    -moz-transform: translateY(-52%);
    -webkit-transform: translateY(-52%);
    transform: translateY(-52%);
    background: transparent;
}
.callback-form-title {
    font-size: 24px;
    color: #fff;
    text-transform: uppercase;
    font-family: arial;
    font-weight: 300;
    margin-bottom: 25px;
}
.callback-form input {
    display: inline-block;
    width: 98%;
    border: 0;
    padding: 13px 15px;
    margin-bottom: 19px;
    font-family: "arial";
    font-style: italic;
    font-size: 14px;
}
select {
    display: inline-block;
    width: 98%;
    border: 0;
    color: #757575;
    padding: 13px 15px;
    margin-bottom: 19px;
    font-family: "arial";
    font-style: italic;
    font-size: 14px;
    /*for WebKit*/
    -webkit-appearance: none;
    /* for FF */
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    /* for IE */
    -ms-appearance: none;
    appearance: none!important;
    background: url("../img/select-arrow.png") right 12px center no-repeat #fff;
}

select::-ms-expand {
    display: none;
}

.modal-submit-btn {
    background: none;
    border: 1px solid #fff;
}
form input.error, textarea.error {
    border-color: #c71e1e;
    border: 1px solid #c71e1e;
}