*,*:before,*:after {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

body {
    font-family: 'PT Sans', sans-serif;
    font-size: 17px;
}

body p {
    margin-bottom: 0px;    
}

a {
    color: inherit;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #888888;
}

input::-moz-placeholder, textarea::-moz-placeholder {
    color: #888888;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    color: #888888;
}

input.placeholder, textarea.placeholder {
    color: #888888;
}

img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.wrapper.body {
    color: #000;
    min-width: 960px;
    overflow: hidden;
    padding-top: 68px;
}

.wrapper {
    width: 100%;
    position: relative;
    text-align: center;
}

.block {
    width: 960px;
    margin: 0 auto;
    position: relative;
    padding: 40px 0px;
}

.fw_400 {
    font-weight: 400!important;
}

.fw_700 {
    font-weight: 700!important;
}

.items {
    text-align: center;
}

.row {
    display: inline-block;
    margin-top: 20px;
}

.row.first {
    margin-top: 0px!important;
}

.item {
    float: left;
}

.item.first {
    margin-left: 0px!important;
}

.col {
    float: left;
}

.col.first {
    margin-left: 0px!important;
}

.col .item {
    float: none;
    margin-top: 70px;
}

.col .item.first {
    margin-top: 0px!important;
}

strong {
    font-style: inherit;
}

h2 {
    text-align: left;
    font-family: 'Noto Serif', sans-serif;
    font-size: 28px;
    line-height: 45px;
    color: #3E4765;
    font-weight: 700;
    margin-bottom: 30px;
}

.advantages > .block {
    padding: 40px 0px 70px;
}

.advantages .item {
    width: 300px;
    margin-left: 30px;
}

.advantages .item .icon {
    height: 100px;
    display: inline-block;
    margin-bottom: 10px;
}

.advantages .item p {
    font-size: 20px;
    line-height: 30px;
}

.pattern {
    background-color: #202020;
    background-repeat: repeat;
    background-image: url('../images/pattern/1.png');
}

.pattern h2 {
    color: #fff;
}

.infrastructure .items {
    margin-top: 65px;
}

.infrastructure .items.first {
    margin-top: 0px;
}

.infrastructure .item {
    width: 300px;
    margin-left: 30px;
    background-color: #fff;
    text-align: left;
    color: #3e4765;
}

.infrastructure .item .caption {
    padding: 10px 20px;
    font-size: 20px;
    line-height: 30px;
}

.infrastructure .item .desc {
    padding: 10px 20px;
    line-height: 34px;
    font-size: 27px;
}

.infrastructure .item .desc .distance,
.infrastructure .item .desc .time {
    float: left;
    width: 120px;
    padding-left: 35px;
    background-repeat: no-repeat;
    background-image: url('../images/infrastructure/time.png');
}

.infrastructure .item .desc .distance {
    padding-left: 40px;
    width: 140px;
    font-weight: 700;
    background-image: url('../images/infrastructure/distance.png');
}

.reviews h2,
.advantages h2,
.questions h2 {
    font-weight: 400;
}

.reviews .row {
    display: block;
    margin-top: 40px;
}

.reviews .item {
    float: none;
    text-align: left;
}

.reviews .icon {
    width: 160px;
    float: left;
}

.reviews .icon .caption {
    margin-top: 20px;
    line-height: 20px;
    font-style: italic;
    color: #fff;
}

.reviews .desc {
    width: 960px;
    float: right;
    background: #fff;
    padding: 20px;
    line-height: 30px;
}

.advantages2 > .block {
    padding: 70px 0px 40px;
}

.advantages2 .item {
    width: 300px;
    margin-left: 30px;
}

.advantages2 .item .icon {
    height: 176px;
    display: inline-block;
}

.advantages2 .item p {
    font-size: 20px;
    line-height: 30px;
}

.place {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image: url('../images/bg/place1.jpg');
}

.place > .block {
    min-height: 420px;
}

.place2 {
    background-image: url('../images/bg/place2.jpg');
}

.place .content {
    position: absolute;
    right: 0px;
    bottom: -40px;
    background: #fff;
    width: 420px;
    padding: 30px;
    text-align: left;
    -webkit-box-shadow: 0px 3px 7px rgba(0,0,0,.26);
    -moz-box-shadow: 0px 3px 7px rgba(0,0,0,.26);
    box-shadow: 0px 3px 7px rgba(0,0,0,.26);
    z-index: 1;  
}

.place .content h2 {
    line-height: 1;
    margin-bottom: 10px;
}

.place .content ul li {
    line-height: 30px;
    padding-left: 20px;
    background-repeat: no-repeat;
    background-position: 0px 5px;
    background-image: url('../images/place/marker.png');
    margin-bottom: 10px;
}

.place .content .remark {
    padding-left: 20px;
    line-height: 30px;
    font-style: italic;
}

.place .content .caption {
    line-height: 30px;
    font-weight: 700;
}

.place.place2 .content {
    right: auto;
    left: 0px;
}

.apartments > .block {
    padding: 100px 0px 40px;
}

.apartments h2 {
    margin-bottom: 15px;
}

.apartments .intro {
    padding-right: 360px;
    background-repeat: no-repeat;
    background-position: 600px 20px;
    background-image: url('../images/apartments/intro.jpg');
    min-height: 235px;
    margin-bottom: 40px;
}

.apartments .intro p {
    text-align: left;
    line-height: 30px;
}

.apartments .row {
    display: block;
    margin-top: 50px;
}

.apartments .item {
    float: none;
    text-align: left;
}

.apartments .item .icon {
    width: 600px;
    float: left;
}

.apartments .item.even .icon {
    float: right;
}

.apartments .item .desc {
    width: 340px;
    float: right;
}

.apartments .item.even .desc {
    float: left;
}

.apartments .item .desc .caption {
    background: #3e4765;
    color: #fff;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    padding: 20px;
    margin-bottom: 20px;
}

.apartments .item .desc p {
    line-height: 30px;
}

.footer {
    color: #fff;
    font-size: 18px;
    line-height: 30px;   
}

.footer a {
    text-decoration: underline;
}

.footer a:hover {
    text-decoration: none;
}

.footer > .block {
    padding: 20px 0px;
}

.footer .copyright {
    float: left;
}

.footer .developer {
    float: right;
}

.contacts > .block {
    padding: 115px 0px 0px;
}

.contacts .map > .block {
    padding: 80px 0px;
}

.contacts .map .content {
    position: relative;
    width: 420px;
    background: #fff;
    padding-top: 35px;
    z-index: 2;
}

.contacts .map .content ul {
    padding: 0px 20px;
}

.contacts .map .content ul li {
    text-align: left;
    font-size: 20px;
    line-height: 32px;
    color: #3e4765;
    padding-left: 40px;
    margin-bottom: 30px;
    background-repeat: no-repeat;
}

.contacts .map .content ul li.address {
    background-image: url('../images/contacts/address.png');
}

.contacts .map .content ul li.tel {
    background-image: url('../images/contacts/tel.png');
}

.contacts .yamap {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: #F7F1D9;
    z-index: 1;
}

.header {
    position: fixed;
    left: 0px;
    top: 0px;
    background: #fff;
    z-index: 999;
    -webkit-box-shadow: inset 0px -1px 0px #5322CE;
    -moz-box-shadow: inset 0px -1px 0px #5322CE;
    box-shadow: inset 0px -1px 0px #5322CE;
}

.header > .block {
    padding: 15px 0px;
}

.header .logo {
    float: left;
}

.header .nav {
    float: right;
}

.header .nav a {
    display: inline-block;
    font-size: 18px;
    color: #3e4765;
    border-bottom: 1px dashed #3e4765;
    margin-left: 40px;
    margin-top: 10px;
}

.header .nav a.modalbox {
    font-weight: 700;
}

.questions .desc {
    width: 480px;
    float: left;
    text-align: left;
    padding-top: 30px;   
}

.questions .img {
    float: right;
}

.questions p {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 10px;
}

.button {
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    margin: 0;
    border: none;
    outline: 0; 
    text-align: center;  
    padding: 14px 10px;
    color: #fff;
    font-size: 20px;
    line-height: 30px;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    background: #5322CE;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    text-shadow: 0px 1px 0px #2a163d;
    -webkit-box-shadow: 0px 2px 0px #240f5a;
    -moz-box-shadow: 0px 2px 0px #240f5a;
    box-shadow: 0px 2px 0px #240f5a;
    width: 100%;
    margin-bottom: 2px;
    transition: all 0.3s ease;  
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}

.button:hover {  
    background: #38399f;
    font-size: 22px;
    -webkit-box-shadow: 0px 2px 0px #240f5a, inset 1px 1px 0px #20205b, inset -1px -1px 0px #20205b;
    -moz-box-shadow: 0px 2px 0px #240f5a, inset 1px 1px 0px #20205b, inset -1px -1px 0px #20205b;
    box-shadow: 0px 2px 0px #240f5a, inset 1px 1px 0px #20205b, inset -1px -1px 0px #20205b;
}

.questions .button {
    max-width: 300px;
}

.order > .block {
    padding: 80px 0px;
}

.order h2 {
    width: 480px;
    float: left;
    font-weight: 400;
    margin-top: 32px;
}

.order .form {
    position: relative;
    float: right;
}

.order .form .img {
    position: absolute;
    left: -240px;
    bottom: -40px;
    z-index: -1;
}

.form {   
    width: 400px;
    padding: 40px;
    background: #fff;
    color: #000;
    text-align: left;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -webkit-box-shadow: 0px 5px 9px rgba(0,0,0,.14);
    -moz-box-shadow: 0px 5px 9px rgba(0,0,0,.14);
    box-shadow: 0px 5px 9px rgba(0,0,0,.14);
}

form.contact .caption {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;  
}

form.contact .edit {
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    margin: 0;
    border: none;
    outline: 0;   
    padding: 12px 10px;
    color: #000;
    font-size: 18px;
    line-height: 24px;
    font-family: 'PT Sans', sans-serif;
    background-color: #f5f5f5;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border: 1px solid #9d9d9d;
    margin-bottom: 20px;
    width: 100%;
    font-style: italic;
}

form.contact label {
    display: block;
    font-size: 18px;
    margin-bottom: 10px;
}

.main {
    background-color: #202020; 
	z-index: 1;
}

.main > .block {
    padding: 0px;
}

.main .slider img {
    width: 100%;
}

.main .desc {
    position: absolute;
    bottom: 40px;
    left: 50%;
    width: 960px;
    margin-left: -480px;
    background: #fff;
    padding: 20px;
    text-align: left;
    color: #3e4765;
}

.main .desc .caption {
    float: left;
    font-family: 'Noto Serif', sans-serif;
    font-size: 50px;
}

.main .desc .tel {
    float: right;
    font-size: 28px;
    line-height: 60px;
    padding-left: 20px;
    border-left: 1px solid #3e4765;
}

.main .button {
    position: absolute;
    max-width: 340px;
    bottom: -30px;
    left: 0px;
}

.main .bx-controls-direction {
    position: absolute;
    width: 960px;
    left: 50%;
    margin-left: -480px;
}

.gallery .bx-wrapper .bx-controls-direction a {
    bottom: 10px;
}

.gallery .bx-wrapper .bx-controls-direction a.bx-prev {
	right: 80px;
}

.gallery .bx-wrapper .bx-controls-direction a.bx-next {
	right: 10px;	
}

.gallery .slider .zoom {
	position: absolute;
    right: 10px;
    top: 10px;
	width: 60px;
	height: 60px;
    background: url(../images/slider/zoom.png) no-repeat;
}

.gallery .slider .zoom:hover {
    background-position: 0px -60px;
}

.gallery .pager a {
    float: left;
    margin-top: 20px;
    margin-left: 20px;
}

.gallery .pager a.first,
.gallery .pager li a:nth-child(1) {
    margin-left: 0px;
}

.gallery .pager li {
    display: none;
}

.gallery .pager li.active {
    display: block;
}

.gallery .pager a.active {
    position: relative;
}

.gallery .pager a.active:before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,.5);
}

.types > .block {
    padding: 80px 0px;
}

.types .tabs {
    padding: 10px 0px;
    border: 1px solid #3e4765;
    border-left: none;
    border-right: none;
    margin-bottom: 25px;
}

.types .tabs li {
    display: inline-block;
    vertical-align: middle;
}

.types .tabs li a {
    display: inline-block;
    vertical-align: middle;  
    line-height: 20px;
    border-bottom: 1px dashed #3e4765;
    margin: 10px 27px;
}

.types .tabs li a:hover,
.types .tabs li a.active {
    color: #fff;
    padding: 10px 20px;
    margin: 0px 7px;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border: none;
}

.types .tabs li a:hover {
    background: #5322ce;
}

.types .tabs li a.active {
    background: #3e4765;
}

.types .item {
    float: none;
}

.types .item .desc {
    float: left;
    width: 300px;
    position: relative;
    text-align: left;
    padding-bottom: 70px;
    min-height: 495px;
}

.types .item .desc .button {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
}

.types .item .desc .plan {
    margin-bottom: 20px;
}

.types .item .desc .caption {
    font-size: 20px;
    line-height: 30px;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 700;
}

.types .item .desc p {
    line-height: 30px;
}

.types .item .icons {
    float: right;
    width: 620px;
    margin-top: 15px;
}

.types .item .icons .small {
    margin-top: 20px;
}

.types .item .icons .small a {
    float: left;
    margin-left: 20px;
}

.types .item .icons .small a.first {
    margin-left: 0px;
}

.types .item .icons a,
.apartments .item .icon a {
    display: block;
    position: relative;
}

.types .item .icons a:before,
.apartments .item .icon a:before {
    display: none;
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgb(62,71,101);
    background-color: rgba(62,71,101,.8);
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url('../images/types/zoom.png');
}

.types .item .icons a:hover:before,
.apartments .item .icon a:hover:before {
    display: block;
}

.types .item .icons .small a:hover:before {
    background-size: 42px 43px;
}

.error {
    border-color: #ff0000!important;
}

.fancybox-skin {
    color: #000!important;
    margin-bottom: 20px!important;
}

.fancybox-type-inline .fancybox-skin {
    padding: 0px!important; 
}

.fancybox-type-inline.fancybox-wrap {
    padding: 0px!important;
    overflow: visible!important;
}

.fancybox-type-inline .fancybox-outer {  
    padding: 0px!important;      
}

.fancybox-type-inline .fancybox-inner {
    padding: 0px!important;    
}

.fancybox-type-inline .fancybox-skin {
	background: none!important;
	text-shadow: none!important;
	-webkit-border-radius: 0px!important;
	   -moz-border-radius: 0px!important;
	        border-radius: 0px!important;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 0px 0px rgba(0, 0, 0, 0.5)!important;
	   -moz-box-shadow: 0 0px 0px rgba(0, 0, 0, 0.5)!important;
	        box-shadow: 0 0px 0px rgba(0, 0, 0, 0.5)!important;
}

.popup {
   display: none; 
   position: relative;
}

.popup .close {
    display: inline-block;
    vertical-align: top;
    position: absolute;
    top: -30px;
    right: 0px;
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid #fff;
    cursor: pointer;
    color: #fff;
}

.popup .close:hover {
    border-color: transparent;
}

.popup p {
    line-height: 30px;
    text-align: center;
}

.popup .radiogroup {
    padding: 20px 40px;
    margin: 0px -40px;
    background: #d8dae0;
    margin-bottom: 20px;
}

form.contact label.label_radio {
    display: inline-block;
    vertical-align: middle;
    font-size: 18px;
    font-weight: 700;
    color: #3e4765;
    margin-bottom: 0px;
    border-bottom: 1px dashed #3e4765;
}

form.contact label.label_radio:hover,
form.contact label.label_radio.active {
    border-color: transparent;
}

form.contact .radio {
    margin: 0px;
    vertical-align: middle;
    margin-right: 2px;
    margin-left: 50px;
}

form.contact .radio.first {
    margin-left: 0px;
}
.main-button2 {
    position: absolute;
    left: 350px;
    width: 460px;
}