html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body {
    font-family: 'AvenirNextCyrRegular', Arial, Helvetica, sans-serif;
    font-size: 14pt;

    background-color: #393c45;
}
body.background {
    background: #393c45 url('../img/head_bg.png') no-repeat top center;
    background-attachment: fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    -webkit-background-attachment: fixed;
    -moz-background-attachment: fixed;
    -o-background-attachment: fixed;
}
.mobhide {
    display: none;
}
.planshethide {
    display: none;
}
body.white {
    background: #fff;
}
#ismobile {
    display: none;
}
#isplanshet {
    display: none;
}
#landscape {
    display: none;
}
#wrapper {
    min-height: 100%;
    height: 100%;
}
#wrapper.static {
    min-height: 100%;
    height: auto !important;
    height: 100%;
}
#wrapper.main {
    overflow: hidden;
    height: 100% !important;
    height: 100%;
    margin: 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
}

.table {
    display: table;

    margin: 0;
}
.cell {
    display: table-cell;

    vertical-align: middle;
}
.cell.top {
    vertical-align: top;
}
.cell.bottom {
    vertical-align: bottom;
}

/* Header (first slide (.tophead) AND another slide (#header) */
#header {
    line-height: 60px;

    position: fixed;
    z-index: 100;
    z-index: 101;
    top: -60px;

    width: 100%;
    height: 60px;

    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in;
}
#header.tophead {
    line-height: 138px;

    top: 0;

    height: 138px;

    background: none;
}
#header.bg-white {
    background-color: #fff;
}
#header.bg-dark {
    background-color: #393c45;
}
#header.bg-white.shadow {
    box-shadow: 0 0 14px 1px rgba(0,0,0,.4);
}
#header.bg-dark.shadow {
    box-shadow: 0 0 14px 1px rgba(0,0,0,.6);
}
#header.transparent {
    background-color: transparent!important;
}
#header button.collapse-nav {
    position: relative;
    top: 52px;

    float: right;

    width: 44px;
    height: 44px;
    margin-right: 36px;
    padding: 0;

    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;

    color: #fff;
    border: 0;
    outline: 0;
    background: url('../img/menu_collapse.png')  center center no-repeat;
}

#header button.collapse-nav.opened {
    position: relative;
    width: 44px;
    height: 44px;

    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);

    background: url('../img/menu_close.png') center no-repeat;

    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
}

#header.light button.collapse-nav {
    background: url('../img/menu_collapse_dark.png') center no-repeat;
}
#header.light button.collapse-nav.opened {
    background: url('../img/close.png') center no-repeat;
}
#header.static {
    line-height: 94px;

    top: 0;

    height: 94px;

    transition: all .3s ease-in;
}

#header button.collapse-nav {
    top: 8px;
}
#header button.collapse-nav.opened {
    top: 8px;
}
#header.tophead button.collapse-nav {
    top: 48px;
}
#header.tophead button.collapse-nav.opened {
    top: 48px;
}
#header.static button.collapse-nav.opened {
    top: 28px;
}
#header.static button.collapse-nav {
    top: 28px;

    margin-right: 61px;
}

#header button.collapse-nav img {
    position: relative;
    z-index: 99;

    display: inherit;
}

#header .brand {
    display: inline-block;

    width: 111px;
    height: 100%;
    margin-left: 54px;

    vertical-align: middle;
    text-decoration: none;

    background: url('../img/logo_headfixed.png') no-repeat;
    background-position: center;
}
#header.light .brand {
    width: 109px;
    height: 100%;

    background: url('../img/logo_headfixed_dark.png') no-repeat;
    background-position: center;
}
#header.tophead .brand {
    width: 122px;
    height: 100%;
    background: url('../img/logo.png') no-repeat;
    background-position: center;
}
#header.slideTop {
    -webkit-transition: all .5s ease-in;
    -moz-transition: all .5s ease-in;
    -o-transition: all .5s ease-in;
    transition: all .5s ease-in;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: translate(0,-60px);
    -moz-transform: translate(0,-60px);
    -o-transform: translate(0,-60px);
    transform: translate(0,-60px);
}
#header.tophead.slideTop {
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: translate(0,-138px);
    -moz-transform: translate(0,-138px);
    -o-transform: translate(0,-138px);
    transform: translate(0,-138px);
}
#header.slideDown {
    top: -60px;

    -webkit-transition-delay: .8s;
    -moz-transition-delay: .8s;
    -o-transition-delay: .8s;
    transition-delay: .8s;
    -webkit-transform: translate(0,60px);
    -moz-transform: translate(0,60px);
    -o-transform: translate(0,60px);
    transform: translate(0,60px);
}
#header.nottransitiondelay {
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}

#header.menu-opened {
    background: none;
    box-shadow: none!important;
}

/* Menu */
#menu {
    position: fixed;
    z-index: 98;

    display: none;
    overflow: hidden;

    width: 100%;
    height: 100%;

    text-align: center;
}
#menu .menu-wrapper-bg {
    position: absolute;
    z-index: -1;
    top: 0;
    /*right: -100%;
    top: -100%;*/
    right: 0;

    width: 0;
    height: 0;

    -webkit-transition: all .5s linear;
    -moz-transition: all .5s linear;
    -o-transition: all .5s linear;
    transition: all .5s linear;

    background: rgba(44, 132, 160, .99);
}
body.white #menu .menu-wrapper-bg {
    /*background: rgba(212, 225, 236, 0.9);*/
}
#menu.opening .menu-wrapper-bg {
    width: 100%;
    height: 100%;
    /*transform: translate(-100%,100%);
-webkit-transform: translate(-100%,100%);
-o-transform: translate(-100%,100%);
-moz-transform: translate(-100%,100%);*/
    /*animation-name: open;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    -webkit-animation-name: open;
    -webkit-animation-duration: 1s;
    -webkit-animation-fill-mode:forwards;*/
}
#menu.opened .menu-wrapper-bg {
    width: 100%;
    height: 100%;
}
#menu.closing .menu-wrapper-bg {
    width: 0;
    height: 0;
    /*	transform: translate(100%,-100%);
-webkit-transform: translate(100%,-100%);
-o-transform: translate(100%,-100%);
-moz-transform: translate(100%,-100%);*/
    /*animation-name: close;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    -webkit-animation-name: close;
    -webkit-animation-duration: 1s;
    -webkit-animation-fill-mode:forwards;*/
}
#menu .helper {
    display: inline-block;

    width: 0;
    height: 100%;

    vertical-align: middle;
}
#menu .menu-wrapper-block {
    display: inline-block;

    vertical-align: middle;
}
#menulist {
    display: none;

    margin: 0;
    padding: 0;

    list-style: none;
}
body.white #menulist li a {
    /*color: #000;*/
}

#menulist li a {
    font-family: 'AvenirNextCyrLight';
    font-size: 44pt;
    line-height: 62pt;

    transition: all .2s;
    text-decoration: none;

    color: #fff;
}
#menulist li a:hover,
body.white #menulist li a:hover {
    text-decoration: none;
    /*text-shadow: 0px 4px 8px rgba(0,0,0,.6);*/

    color: #0ac9f9;
}

/* Sections */
#content {
    color: #fff;
}
.mob-image {
    display: none;
}
body.white #content {
    color: #393c45;
}
#content h1,
#content h2,
#content h3,
#content h4,
#content h5 {
    font-family: 'AvenirNextCyrDemi';

    margin-bottom: 26px;

    text-transform: uppercase;
}
#content h1 {
    font-size: 28pt;

    text-align: center;
}
#content h2 {
    font-size: 16pt;
}
#content h3 {
    font-size: 14pt;
}
#content h4 {
    font-size: 12pt;
}
#content h5 {
    font-size: 10pt;
}
.sm-container {
    position: relative;

    width: 100%;
    padding: 40px 80px;
}
.sm-container.w930 {
    max-width: 930px;
    margin: 0 auto;
    padding: 40px 0;
}
.sm-container:after,
.sm-container:before {
    display: table;
    clear: both;

    content: ' ';
}
.col-5,
.col-10,
.col-20,
.col-25,
.col-30,
.col-40,
.col-50,
.col-60,
.col-70,
.col-80,
.col-90 {
    float: left;

    padding-right: 15px;
    padding-left: 15px;
}
.nopad {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}
.nopad-rl {
    padding-right: 0;
    padding-left: 0;
}
.col-5 {
    width: 5%;
}
.col-10 {
    width: 10%;
}
.col-20 {
    width: 20%;
}
.col-25 {
    width: 25%;
}
.col-30 {
    width: 30%;
}
.col-40 {
    width: 40%;
}
.col-50 {
    width: 50%;
}
.col-60 {
    width: 60%;
}
.col-70 {
    width: 70%;
}
.col-80 {
    width: 80%;
}
.col-90 {
    width: 90%;
}
.col-100 {
    width: 100%;
}

.sm-container .text {
    font-family: 'AvenirNextCyrLight';
}

section {
    position: relative;
}
#fullpage {
    height: 100%;
}
#fullpage section {
    height: 100%;
}
section .content {
    z-index: 0;

    width: 100%;
}
#wrapper.static #content {
    /*position: relative;*/
}
#wrapper.stickyMapFooter {
    height: auto !important; /* This line and the next line are not necessary unless you need IE6 support */
    height: 100%;
    min-height: 100%;
    margin: 0 auto -500px;
    padding-bottom: 500px;
}
#wrapper.static #content.offsetHead {
    padding-top: 94px;
}
#wrapper.static #content.offsetHead {
    margin-bottom: 0;
}
#wrapper.static #content.offsetHead.h60 {
    padding-top: 60px;
}

section.active .content {
    width: 100%;
    height: 100%;
}
section.head.active .content.fixed {
    top: 224px;
}
#wrapper.static section.head {
    /*height: 800px;*/
}
#wrapper.static section.head .content {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    height: auto;
}
section.head {

    background: #393c45 url('../img/head_bg.png') no-repeat top center;
    background-attachment: fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    -webkit-background-attachment: fixed;
    -moz-background-attachment: fixed;
    -o-background-attachment: fixed;
    /*z-index: 101;*/
}
body.uslugi-bg {
    background: url('../img/head_us_bg.jpg') no-repeat top center;
    background-attachment: fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    -webkit-background-attachment: fixed;
    -moz-background-attachment: fixed;
    -o-background-attachment: fixed;
}
section.head h1,
section.head h2 {
    text-align: center;
    text-transform: uppercase;

    color: #fff;
}
section.head .content {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100%;
}
#headwrapp {
    display: table;
    position: relative;
    width: 100%;
    height: 100%;
}
section.head h1 {
    font-family: 'AvenirNextCyrDemi', Arial, Helvetica, sans-serif;
    font-size: 49px;
}
section.head h2 {
    font-family: 'AvenirNextCyrLight', Arial, Helvetica, sans-serif;
    font-size: 31px;

    margin-bottom: 10px;
}
section.head .nums {
    overflow: hidden;

    width: 1375px;
    margin: 0 auto;
}

section.head .nums > div {
    font-family: 'AvenirNextCyrLight';
    font-size: 18px;

    float: left;

    width: 25%;

    text-align: center;
    letter-spacing: .02em;
    text-transform: uppercase;

    color: #fff;
}
section.head .nums > div.experience {
    width: 258px;
}
section.head .nums > div.numberOfObject {
    width: 352px;
}
section.head .nums > div.area {
    width: 370px;
}
section.head .nums > div.estimate {
    width: 364px;
}
section.head .nums > div.area sup {
    margin-left: 2px;
}
section.head .nums span.num {
    font-family: 'AvenirNextCyrLight';
    font-size: 100px;
    line-height: 104px;

    position: relative;

    display: block;
}
section.head .nums sup {
    font-size: 18px;

    position: absolute;
    top: 16px;
}
section.uslugi .nums {
    margin-top: 64px;
}
section.uslugi .nums > div {
    font-family: 'AvenirNextCyrDemi';
    line-height: 28px;

    width: 24%;
    height: 238px;
    margin-right: 10px;

    cursor: pointer;
    transition: all .5s;
    /*float: none;
    display: table-cell;*/
    vertical-align: middle;
    letter-spacing: 0;

    border: 1px solid transparent;
}
section.uslugi .nums > div .desc {
    display: none;
}
#infowrapp {
    display: table-cell;
    vertical-align: middle;
}
#info {
    position: relative;
    display: none;

    width: 620px;
    /*height: 528px;*/
    margin: 0 auto;
    padding: 40px 70px;

    border: 1px solid #fff;
}
#info .close {
    font-size: 0;

    position: absolute;
    z-index: 99;
    top: 23px;
    right: 18px;

    width: 18px;
    height: 18px;

    border: 0;
    background: url('../img/close_l.png') no-repeat;
}
#info .title {
    font-family: 'AvenirNextCyrDemi';
    font-size: 28pt;
    line-height: 34pt;

    position: relative;

    padding-bottom: 25px;

    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;

    color: #fff;
}
#info .title:after {
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 1px;

    content: '';

    background: #fff;
}
#info .text {
    font-family: 'AvenirNextCyrLight';
    font-size: 12pt;

    padding-top: 40px;

    color: #fff;
}
#info .text > ul {
    margin: 0;
    padding: 0;

    list-style-type: none;
}
#info .text > ul li {
    padding-bottom: 15px;
}
section.uslugi .nums > div:last-child {
    margin-right: 0;
}
section.uslugi .nums > div:hover {
    border: 1px solid #fff;
}
section.uslugi .nums img {
    display: block;
    display: inline-block;

    margin: 0 auto;

    vertical-align: middle;
}
section.uslugi .nums .imgwrap,
#info .imgwrap {
    line-height: 143px;

    width: 100%;
    height: 143px;

    text-align: center;
    vertical-align: middle;
}
.point-down {
    position: fixed;
    display: none;
    bottom: 50px;
    z-index: 102;

    width: 100%;

    text-align: center;

    opacity: 1;
}
.point-down img {
    cursor: pointer;
}
.pulse {
    -webkit-animation-name: 'pulse_animation';
    animation-name: 'pulse_animation';
    -webkit-animation-duration: 1200ms;
    animation-duration: 1200ms;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
section.head .btn-wrapper {
    width: 100%;
    padding-top: 21px;
    padding-bottom: 85px;

    text-align: center;
}
section.head .button {
    font-size: 14px;

    padding: 10px 41px;
}

section.objects .table {
    width: 100%;
    height: 100%;
}
section.objects .table > .cell {
    position: relative;

    width: 50%;
}

section.objects .lead-right .object {
    float: right;
}
section.objects .lead-left .object {
    float: left;
}
section.objects .object {
    position: relative;


    cursor: pointer;
    text-align: center;


    color: #fff;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;


    /*transition: all .5s linear;*/
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
}
section.objects .object h2 {
    font-family: 'AvenirNextCyrDemi';
    font-size: 1.45em;

    padding-top: 2px;

    text-transform: uppercase;
}
section.objects .small .object h2 {
    font-size: 1.5em;
    padding: 0 60px;
}
section.objects .object .count {
    font-family: 'AvenirNextCyrLight';
    font-size: 14px;
    line-height: 32px;

    text-transform: uppercase;
}
section.objects  .small .object .count {
    line-height: 29px;
}
section.objects .object .text {
    position: absolute;
    z-index: 1;

    display: none;
    width: 100%;
    padding-bottom: 1px;
}
section.objects .big .object .text {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);

    padding: 0 70px;
}
section.objects .small .object .text {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
section.objects .object:after {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';
    transition: all .4s;

    opacity: 0;
    background: rgba(10,120,155,.6);
}
section.objects .object.blockhover:hover:after {
    opacity: 0;
}
section.objects .object:hover:after {
    opacity: 1;
}
section.objects a.openObject {
    display: none;
    margin: 0 auto;
    font-size: .75em;
    line-height: 30px;


    margin-top: 20px;

    padding-right: 45px;
    padding-left: 25px;
    box-sizing: border-box; /*it gives error:Validation (CSS 2.1): 'box-sizing' is not a known CSS property name. */
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;


    text-decoration: none;
    text-transform: uppercase;


    color: #fff;
    border: 1px solid #fff;
    background: url('../img/arrow.png') no-repeat 92% 50%;
    background-color: transparent;
}
section.objects a.openObject:hover {
    transition: all .4s;
    border: 1px solid rgba(10,120,155,1);
    background-color: rgba(10,120,155,1);
}
section.objects .object:hover a.openObject {
    /*display: inline-block;
    height: 30px;*/
}
section.objects .big a.openObject {
    font-size: .65em;
}
section.objects .mobile-object-content {
    background: #fff;
    display: none;
    overflow: hidden;
    border-top: 1px solid #e6e6e6;
    position: relative;
}
section.objects .object-content {
    position: absolute;
    z-index: 2;
    top: 0;

    width: 100%;
    height: 100%;
    padding-top: 94px;

    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out;
    -o-transition: all .6s ease-out;
    transition: all .6s ease-out;

    background-color: #fff;
}
section.objects .object-content .close, section.objects .mobile-object-content .close {
    font-size: 0;

    position: absolute;
    top: 23px;
    right: 18px;

    width: 18px;
    height: 18px;

    border: 0;
    background: url(../img/close.png) no-repeat;
}

section.objects .object-content .close:active,
section.objects .object-content .close:focus {
    outline: 0;
    box-shadow: none;
}

section.objects.lead-left .small .object-content {
    right: -100%;
}
section.objects.lead-left .big .object-content {
    left: -100%;
}
section.objects.lead-right .small .object-content {
    left: -100%;
}
section.objects.lead-right .big .object-content {
    right: -100%;
}
section.objects.lead-left .small .object-content.opening {
    right: 0;
}
section.objects.lead-left .big .object-content.opening {
    left: 0;
}
section.objects.lead-right .small .object-content.opening {
    left: 0;
}
section.objects.lead-right .big .object-content.opening {
    right: 0;
}

section.objects.lead-left .small .object-content.opened {
    right: 0;

    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}
section.objects.lead-left .big .object-content.opened {
    left: 0;

    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out;
    -o-transition: all .6s ease-out;
    transition: all .6s ease-out;
}
section.objects.lead-right .small .object-content.opened {
    left: 0;

    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}
section.objects.lead-right .big .object-content.opened {
    right: 0;

    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}

.object-info {
    height: 100%;
    padding-bottom: 60px;
}
.object-info button.openObject {
    font-size: .8em;

    display: block;

    height: 100px;
    margin: 0 auto;
    margin-top: 40px;
    padding-top: 40px;

    text-align: center;
    vertical-align: bottom;
    text-transform: uppercase;

    color: #0b96c2;
    border: 0;
    outline: none;
    background: none;
    background: url(../img/next-object.png) no-repeat center 10px;
}
.object-info button.openObject img {
    display: block;

    margin: 0 auto;
    padding-bottom: 16px;
}

.object-info ul {
    font-size: 10pt;

    position: relative;

    overflow: hidden;

    width: 96%;
    margin: 0;
    padding: 0;
    padding-left: 130px;

    list-style-type: none;
}
.object-info ul.cost_graph {
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    margin-top: 20px;
    padding-bottom: 20px;
}
.object-info ul.cost_graph:before {
    content: "";
    background: none;
    width: 0px; height: 0px;
}
.object-info ul.cost_graph:after {
    content: "";
    background: none;
    width: 0px; height: 0px;
}
.object-info ul.cost_graph li {
    padding-top: 0;
}
.object-info ul.cost_graph li:last-child {
    margin-right: 0;
}
.object-info ul:before {
    position: absolute;
    left: 65px;

    width: 1px;
    height: 9999px;

    content: '';

    background-color: #e6e6e6;
}
.object-info ul:after {
    position: absolute;
    bottom: 0;
    left: 55px;

    width: 21px;
    height: 1px;

    content: '';

    background-color: #e6e6e6;
}
.object-info li {
    padding-top: 42px;
}
.object-info li:first-child {
    padding-top: 0;
}
.object-info table {
    width: 90%;
    margin: 0;
    padding: 0;
}
.object-info .period {
    font-family: 'AvenirNextCyrLight';
    line-height: 32px;

    position: absolute;
    left: 15px;

    width: 100px;
    height: 32px;

    text-align: center;

    color: #e6e6e6;
    background: #fff;
}
.object-info .object-info-title {
    font-family: 'AvenirNextCyrDemi';
    font-size: 1.1em;
    line-height: 1.7em;

    margin-bottom: 18px;
}
.object-info h2 {
    font-size: 2em;

    margin-bottom: 55px;
    padding-left: 130px;

    text-transform: uppercase;
}
.object-info tr > td {
    font-family: 'AvenirNextCyrRegular';

    width: 50%;
    padding-bottom: 16px;

    vertical-align: top;

    color: #000;
}
.object-info tr > td span.title {
    display: block;

    text-transform: uppercase;

    color: #cacaca;
}
.object-info tr > td span.city {
    color: #0b96c2;
}

section.map {
    position: relative;
    top: -60px;

    height: 500px;
}
.static section.map {
    top: 0;
}
.stickyMapFooter ~ .section.map {
    top: auto;

    width: 100%;
}
section.map .address {
    font-family: 'AvenirNextCyrLight';
    font-size: .73em;

    position: absolute;
    z-index: 1;
    top: 126px;
    left: 141px;

    width: 280px;
    height: 250px;
    padding: 34px 54px;

    opacity: 0;
    background: #fff;
}
section.map .address img {
    display: block;

    margin: 0 auto;
    margin-bottom: 22px;
}
section.map .address > div {
    margin-bottom: 20px;

    color: #000;
}
section.map .address > div.phone {
    margin-bottom: 18px;
}
section.map .address a,
.contacts a {
    font-family: 'AvenirNextCyrLight';

    transition: all .3s;
    text-decoration: none;

    color: #0b96c2;
}
section.map .address a:hover,
.contacts a:hover {
    color: #00b9f4;
}

.ymaps-2-1-27-ground-pane {
    filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=100);
}

.contacts .sm-container > div {
    padding: 38px 80px 40px 138px;
}
.contacts p {
    font-family: 'AvenirNextCyrLight';
    line-height: 20px;

    letter-spacing: -.02em;
    text-transform: uppercase;
}
.contacts p.phone {
    letter-spacing: .02em;
}
.contacts a {
    font-size: 15pt;
}
.contacts .sm-container {
    font-size: .9em;
}
.feedback form {
    position: relative;

    width: 452px;
}
.feedback form.submiting:before {
    position: absolute;

    width: 100%;
    height: 100%;

    content: '';

    background: rgba(255,255,255,.9) url('../img/ajax-loader.gif') no-repeat center center;
}
.feedback input[type='text'] {
    width: 45%;
}
.feedback .sm-form-group input[type='text']:last-child {
    width: 45%;
    margin-left: 38px;
}
.feedback input[type='text'],
.feedback textarea {
    font-family: 'AvenirNextCyrRegular';
    font-size: 11pt;

    color: #000;
    border-bottom: 1px solid #000;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
}
.feedback input[type='submit'] {
    font-size: 14px;

    margin-top: 14px;
    padding: 9px 46px;
}
.feedback textarea {
    width: 100%;
}
.feedback input[type='text']:focus,
.feedback textarea:focus {
    border-bottom: 1px solid #0b96c2;
}
.clients {
    position: relative;

    padding-top: 60px;
}
.clients:after,
.clients:before {
    display: table;
    clear: both;

    content: ' ';
}
.clients a {
    display: block;
    float: left;

    width: 20%;
    height: 64px;
    margin-bottom: 100px;

    transition: all .3s;
    text-align: center;

    filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=100);
}

.clients a img {
    height: 100%;
}
.clients a:hover {
    filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -webkit-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=0);
}
.news:before,
.news:after {
    display: table;
    clear: both;

    content: '';
}
.news {
    font-size: 12pt;

    padding-bottom: 60px;
}
.news .title {
    font-family: 'AvenirNextCyrDemi';
    font-size: 18pt;

    text-align: right;

    color: #393c45;
}
.news .title > a {
    text-decoration: none;

    color: #393c45;
}
.news .title > span.date {
    font-family: 'AvenirNextCyrLight';
    font-size: 10pt;

    display: block;

    text-transform: uppercase;
}
.news .desc {
    padding-left: 85px;
}
.news .desc img {
    display: block;

    width: 100%;
    padding-bottom: 15px;
}
.news .openNews {
    display: block;

    margin-top: 15px;

    text-decoration: none;

    color: #0b96c2;
}
.news .openNews:hover {
    color: #00b9f4;
}
#wrapper.portfolio .sm-container {
    padding: 0 54px;
    padding-bottom: 60px;
    /*min-height: 400px;*/
}
#wrapper.portfolio .sm-container .text {
    position: relative;
    z-index: -1;
    padding-bottom: 60px;
}
#wrapper.portfolio #header.static {
    width: inherit;
}
#wrapper.portfolio #content {
    position: relative;

    margin-left: 7%;
    /*z-index: 0;*/
}
#wrapper.portfolio #content .year {
    font-size: 28pt;
    line-height: 70px;
    position: relative;
    height: 70px;
    text-align: center;
    color: #d5d5d5;
}
#wrapper.portfolio #content .year:before {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 52px;
    height: 1px;
    margin-left: -120px;

    content: '';

    background: #d5d5d5;
}
#wrapper.portfolio #content .year:after {
    position: absolute;
    top: 50%;
    right: 50%;

    display: block;

    width: 52px;
    height: 1px;
    margin-right: -120px;

    content: '';

    background: #d5d5d5;
}
#choose-year {
    position: fixed;

    width: 7%;
    height: 100%;

    background: #ededed;
}
#choose-year h4 {
    display: none;
    line-height: 15pt;

    margin-top: 35px;
    margin-bottom: 25px;

    text-align: center;

    outline: 0;
}
#choose-year ul {
    overflow: auto;

    width: 100%;
    margin: 0;
    padding: 0;

    list-style-type: none;

    outline: 0;
    background: #ededed;
}
#choose-year:after {
    display: table;
    clear: both;
    /*height: 9998em;
    background: #ededed;*/

    width: 100%;

    content: '';
}
#choose-year ul li {
    line-height: 54px;

    position: relative;

    height: 44px;

    cursor: pointer;
    text-align: left;
    padding-left: 22px;
}

#choose-year ul li.noclick {
    cursor: default;
    color:#ccc;
}

#choose-year ul li.devider {
    line-height: 8px;

    height: 8px;
    padding-right: 12px;
}
/*#choose-year ul li:last-child {
        margin-bottom: 45px;
}*/
#choose-year ul li:hover {
    color: #0b96c2;
}
#choose-year ul li.active {
    font-size: 1.2em;
    font-weight: bold;
}

#choose-year ul li:first-child.active {
    font-size: 0.85em;
}
#choose-year ul li.active:after {
    position: absolute;
    top: 50%;
    right: 0;

    width: 0;
    height: 0;
    margin-top: -7px;

    content: '';
    /*	background: #393c45;*/

    border-top: 13px solid transparent;
    border-right: 12px solid #393c45;
    border-bottom: 13px solid transparent;
}
#choose-year sup {
    font-size: .7em;
    font-weight: normal;

    position: relative;

    padding-left: 4px;

    color: #d5d5d5;
}
#choose-year .mCSB_inside > .mCSB_container {
    margin-right: 0;
}
#choose-year .mCSB_scrollTools {
    right: auto;
    left: 0;
}
#choose-year .mCSB_scrollTools .mCSB_draggerContainer {
    right: auto;
    left: 3px;
}
#sidebar {
    position: fixed;
    z-index: 1;
    right: 0;

    width: 23%;
    height: 100%;

    background: #393c45;

    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
    -ms-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in;
}
#planshettrig {
    width: 11%;
    float: left;
    height: 100%;
    border-right: 1px solid #32343c;
    position: relative;
}
#planshettrig h3 {
    color: #0b96c2;
    text-transform: uppercase;
    font-family: 'AvenirNextCyrBold';
    text-align: center;
    margin-top: 10px;
    font-size: 10pt;
}
#planshettrig span {
    display: block;
    margin-top: 35px;
    color: #fff;
    font-size: 12pt;
    text-align: center;
}
#planshettrig button {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    margin-top: -20px;
    background: url('../img/sidebar-open.png') no-repeat center;
    outline: 0;
    border: 0;
    transition: all 0.8s;
}
#sidebar.mobOpened #planshettrig button {
    transition-delay: .4s;
    -ms-transition-delay: .4s;
    -moz-transition-delay: .4s;
    -webkit-transition-delay: .4s;
    -o-transition-delay: .4s;
    transform:rotate(180deg);
    -ms-transform:rotate(180deg);
    -moz-transform:rotate(180deg);
    -webkit-transform:rotate(180deg);
    -o-transform:rotate(180deg);
}
#sidebar.mobOpened {
    right: 0;
}
#swipeShow {
    position: fixed;
    left: 50%;
    margin-left: -98px;
    top: 50%;
    margin-top: -98px;
    opacity: 1;
}
#filter {
    height: 100%;
}
#filter .filter-ajax-icon {
    padding-left: 8px;
    display: none;
}
#filter button.closeFilter {
    display: none;
    width: 34px;
    height: 24px;
    background: url('../img/close-left.png') no-repeat center;
    border: 0;
    outline: 0;
    position: relative;
    top: 1px;
    margin-right: 10px;
}
#wrapper.portfolio .sm-container .mobhide {
    padding-bottom: 20px;
    padding-top: 20px;
}
#wrapper.portfolio .sm-container button.filter {
    background-image: url('../img/butfilter.png');
    background-repeat: no-repeat;
    background-position: 10px;
    padding-left: 32px;
    width: 40%;
    margin-right: 10px;
}
#wrapper.portfolio .sm-container button.filter span {
    position: relative;
    display: inline-block;
    margin-left: 12px;
    padding-left: 12px;
}
#wrapper.portfolio .sm-container button.filter span:before {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 1px;
    content: "|";
    color: #fff;
}
#wrapper.portfolio .sm-container button.resetfilter {
    width: 54%;
}
#filter .filter-ajax-icon img {
    vertical-align: middle;
    padding-bottom: 6px;
}
#filter .filter-buttons {
    display: none;
    text-align: center;
    padding-bottom: 20px;
}
#filter .filter-buttons > button {
    border: 0;
    width: 42%;
    font-size: 14px;
    padding: 8px 8px;
}
#filter-wrapper {
    position: relative;
    height: 100%;
    padding-top: 94px;
}
#filter .fixed {
    height: 94px;
    position: absolute;
    z-index: 102;
    background: #393c45;
    width: 100%;
    top: 0;
}
#filter h2 {
    line-height: 94px;

    height: 94px;
    padding-left: 40px;

    text-transform: uppercase;
    color: #0b96c2;
}
#filter ul.menu {
    position: relative;

    margin: 0;
    padding: 0;

    list-style-type: none;
    /*overflow: auto;*/

    background: #393c45;
}
#filter ul.menu:after {
    position: absolute;
    bottom: -999em;

    width: 100%;
    height: 999em;

    content: '';

    background: #393c45;
}
#filter li#year {
    display: none;
}
#filter-wrapper .mCustomScrollBox,
#filter-wrapper .mCSB_container {
    overflow: visible;
}
#filter .mCSB_inside > .mCSB_container {
    margin-right: 0;
}
#filter .mCSB_scrollTools .mCSB_draggerContainer {
    right: 0;
}
#filter .mCSB_scrollTools {
    right: 10px;
}
#filter ul.menu li {
    font-family: 'AvenirNextCyrDemi';
    font-size: 12pt;

    position: relative;

    min-height: 90px;
    padding: 30px 30px;

    cursor: pointer;
    transition: all .3s;
    vertical-align: middle;
    text-transform: uppercase;

    color: #fff;
    border-top: 1px solid #32343c;
}
#filter ul.menu li.blank {
    min-height: 9999em;
}
#filter ul.menu li {
    background: #393c45;
}
#filter ul.menu li:hover,
#filter ul li.active {
    background: #32343c;
}
#filter ul.menu > li:last-child {
    border-bottom: 1px solid #32343c;
}
#filter ul.menu li.active .submenu {
    -webkit-transform: translate(-578px, 0);
    -moz-transform: translate(-578px, 0);
    -o-transform: translate(-578px, 0);
    transform: translate(-578px, 0);
}
#filter ul.submenu {
    position: absolute;
    z-index: -1;
    top: -1px;
    left: 0;

    width: 578px;
    padding: 25px 0;

    transition: all .3s ease-in;

    background: #32343c;
}
#filter ul.submenu.bottom {
    top: auto;
    bottom: -1px;
}
#filter ul.submenu form {
    font-family: Arial;

    text-transform: none;
}
#filter ul.submenu li {
    font-family: 'AvenirNextCyrRegular';
    font-size: 10pt;
    line-height: 44px;

    overflow: hidden;

    height: 44px;
    min-height: 44px;
    padding: 0 40px;

    border: 0;
    background: #32343c;
}
#filter ul.submenu li.text {
    line-height: auto;

    height: auto;
}
#filter ul.submenu li:hover,
#filter ul.submenu > li.active {
    color: #0b96c2;
}
#filter ul.submenu li.text:hover {
    color: #fff;
}
#filter input[type='checkbox'] {
    display: none;
}
/*#filter input[type="checkbox"] + label {
    background: url(sprite.gif) 0 0 no-repeat;
    padding-left: 20px;
}*/
#filter input[type='checkbox']:checked + label {
    background-position: 0 -32px;
}
#filter label {
    font-size: 13px;

    position: relative;

    display: inline-block;

    width: 100%;
    padding-right: 15px;
    padding-left: 25px;

    cursor: pointer;
}
#filter label:before {
    position: absolute;
    top: 14px;
    left: 0;

    display: inline-block;

    width: 14px;
    height: 14px;
    margin-right: 10px;

    content: '';
    transition: all .3s;

    border: 1px solid #fff;
}
#filter input[type=checkbox]:checked + label:before {
    font-size: 15px;
    line-height: 14px;

    content: '';
    text-align: center;

    color: #f3f3f3;
    border-color: #0b96c2;
    background: #0b96c2 url('../img/check-symbol.png') no-repeat center;
}
#filter input[type=checkbox]:checked + label {
    color: #0b96c2;
}
#filter .filtered {
    line-height: 15px;

    display: none;

    margin-top: 15px;
}
#filter .filter-checked {
    margin-bottom: 15px;
}
#filter .filter-checked > span {
    font-size: 10px;

    color: #0b96c2;
}
#filter .filter-checked > span:after {
    position: relative;

    content: ', ';
}
#filter .filter-checked > span:last-child::after {
    content: '';
}
#filter .filtered a {
    font-size: 10px;

    text-decoration: none;
    text-transform: none;

    color: #717787;
    border-bottom: 1px dotted #717787;
}
#cost ul.submenu,
#area ul.submenu {
    height: 148px;
}
#filter .filtered a:hover {
    color: #0b96c2;
    border-color: #0b96c2;
}
#wrapper.portfolio #content .object h2 {
    font-family: 'AvenirNextCyrDemi';
    font-size: 24pt;

    text-transform: none;

    color: #000;
}
#wrapper.portfolio .object table {
    width: 100%;
}
#wrapper.portfolio .object {
    font-size: 12pt;


    padding-bottom: 40px;

    border-bottom: 1px solid #f5f5f5;
}
#wrapper.portfolio .all_prog > div > div.object {
    padding-top: 60px;
}
#wrapper.portfolio .all_prog > div > div.object.first {
    padding-top: 0;
}


#wrapper.portfolio .object span.title {
    font-size: 10pt;

    display: block;

    text-transform: uppercase;

    color: #cacaca;
}
#wrapper.portfolio .object table tr > td {
    font-family: 'AvenirNextCyrLight';

    padding-bottom: 25px;

    color: #000;
}
#wrapper.portfolio .object table tr > td:first-child {
    width: 28%;
}
#wrapper.portfolio .object table tr > td:last-child {
    width: 50%;
}

/* Forms */
::-webkit-input-placeholder {
    color: #000;
}
::-moz-placeholder {
    color: #000;
}/* Firefox 19+ */
:-moz-placeholder {
    color: #000;
}/* Firefox 18- */
:-ms-input-placeholder {
    color: #000;
}
.sm-form-group {
    margin-bottom: 15px;
}
input,
textarea {
    border: 0;
    outline: 0;
}
textarea {
    resize: none;
}


/* Buttons */

.close {
    transition: all .3s;

    opacity: .8;
}
.button {
    font-size: 18px;
    border: 0;
    display: inline-block;

    padding: 8px 20px;

    transition: all .4s;
    text-decoration: none;
    text-transform: uppercase;

    color: #fff;
    border-radius: 2px;
    outline: 0;
    background: #dbdbdb;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,.2);
}
.button.small {
    font-size: 10px;
    padding: 8px 8px;
}
.button:hover {
    text-decoration: none;

    color: #fff;
    background: #d3d3d3;
}
.button:active {
    position: relative;
    top: 1px;
}
.button:focus {
    text-decoration: none;

    color: #fff;
}
.blue {
    background: #0b96c2;
}
.blue:hover {
    background: #108db5;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}
.grey {
    background: #4f525b;
}
.grey:hover {
    background: #5c606b;
}
.button:disabled {
    background: #d3d5db;
}
.screw.screw-after.screw-loaded {
    display: block;
    margin: 0 auto;
    width: 100px;
}

.ymaps-2-1-29-ground-pane {
    filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
}


/* Animation */
/*@keyframes open {
        0% {

        }
        100% {
                right: 0%;
                top: 0%;
                opacity: 1;
        }
}
@-webkit-keyframes open {
        0% {

        }
        100% {
                right: 0%;
                top: 0%;
                opacity: 1;
        }
}


@keyframes close {
        0% {
                opacity: 1;
                right: 0%;
                top: 0%;
        }
        100% {
                opacity: 0;
        }
}
@-webkit-keyframes close {
        0% {
                opacity: 1;
                right: 0%;
                top: 0%;
        }
        100% {
                opacity: 0;
        }
}*/
@keyframes pulse_animation {
    0% {
        opacity: 1;
    }
    50% {
        opacity: .6;
    }
    100% {
        opacity: 1;
    }
}
@-webkit-keyframes pulse_animation {
    0% {
        opacity: 1;
    }
    50% {
        opacity: .6;
    }
    100% {
        opacity: 1;
    }
}
@keyframes openObjectRight {
    0% {
        left: -100%;
    }
    100% {
        left: 0;
    }
}
@-webkit-keyframes openObjectRight {
    0% {
        left: -100%;
    }
    100% {
        left: 0;
    }
}
@keyframes openObjectLeft {
    0% {
        right: -100%;
    }
    100% {
        right: 0;
    }
}
@-webkit-keyframes openObjectLeft {
    0% {
        right: -100%;
    }
    100% {
        right: 0;
    }
}
@keyframes closeObjectRight {
    0% {
        left: 0;
    }
    100% {
        left: -100%;
    }
}
@-webkit-keyframes closeObjectRight {
    0% {
        left: 0;
    }
    100% {
        left: -100%;
    }
}
@keyframes closeObjectLeft {
    0% {
        right: 0;
    }
    100% {
        right: -100%;
    }
}
@-webkit-keyframes closeObjectLeft {
    0% {
        right: 0;
    }
    100% {
        right: -100%;
    }
}