/******************** Общие свойства *********************/

@font-face {
    font-family: 'ProximaNova Regular';
    src: url('/font/ProximaNova-Regular.eot');
    src: url('/font/ProximaNova-Regular.eot?#iefix') format('embedded-opentype'), url('/font/ProximaNova-Regular.woff') format('woff'), url('/font/ProximaNova-Regular.ttf') format('truetype'), url('/font/ProximaNova-Regular.svg#proxima_novaregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'ProximaNova Bold';
    src: url('/font/ProximaNova-Bold.eot');
    src: url('/font/ProximaNova-Bold.eot?#iefix') format('embedded-opentype'), url('/font/ProximaNova-Bold.woff') format('woff'), url('/font/ProximaNova-Bold.ttf') format('truetype'), url('/font/ProximaNova-Bold.svg#proxima_novabold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'ProximaNovaT-Thin';
    src: url('/font/ProximaNovaT-Thin.eot');
    src: url('/font/ProximaNovaT-Thin.eot?#iefix') format('embedded-opentype'), url('/font/ProximaNovaT-Thin.woff') format('woff'), url('/font/ProximaNovaT-Thin.ttf') format('truetype'), url('/font/ProximaNovaT-Thin.svg#proxima_novathin') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Panton Black Caps';
    src: url('/font/Pantonblackcaps.woff2') format('woff2'), url('/font/Pantonblackcaps.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

p, div, a {
    font-family: 'ProximaNova Regular'
}

label {
    font-family: 'ProximaNova Bold'
}

h1 {
    font-size: 2em;
}

h2 {
    color: #4e4e4e;
    font: 40px 'ProximaNovaT-Thin';
}

h3 {
    font-size: 30px;
    font-weight: 700;
    padding: 20px 0;
}

section {
    text-align: center;
    padding: 25px 0;
}

.row {
    margin: 0 !important;
}

/************************* Шапка *************************/

header {
    margin-top: 16px;
}

header .d-flex {
    align-items: center;
    justify-content: center;
}

header .contacts a {
    text-decoration: none;
}

header .contacts .phone {
    color: #995931;
    font-size: 24px;
}

header .contacts .mail {
    color: #43adb7;
}

header .contact-form a {
    padding: 12px;
    color: white;
    background-color: #25a2ad;
    border-radius: 20px;
}

nav {
    background-color: #995931;
    margin-top: 15px;
    padding: 0 !important;
}

.navbar li {
    text-align: center;
}

nav a {
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 13px !important;
}

nav a:hover {
    color: #995931;
    background-color: white;
}

.navbar button {
    border: none;
    outline: none;
    margin: 10px 0;
}

header button span {
    display: block;
    height: 4px;
    width: 50px;
    margin: 5px 0;
    background-color: white;
    transition: all .1s linear .23s;
    position: relative;
    border-radius: 20px;
}

/************************* Подвал ************************/

footer {
    padding: 5px;
    align-items: center;
    justify-content: center;
}

footer .row {
    margin-top: 5px;
}

footer .group-company {
    margin-bottom: 2px;
}

footer span, footer a {
    color: #999;
    font-size: 12px;
    text-decoration: none !important;
}

span[aria-hidden="true"] {
    font-size: 40px;
}

footer span:nth-child(1) {
    margin-right: 5px ;
}

footer .admin {
    margin: 8px 0 3px;
}

footer .admin a {
    margin: 0 5px;
}

footer .admin span {
    margin: 0;
}

/************************ О поселке **********************/

#about-village {
    background-color: rgb(234, 234, 234);
    padding: 30px 0 15px;
}

#about-village h1 {
    margin: 20px 0;
    color: #333;
    font-weight: 700;
}

#about-village p {
    font-size: 1.2em;
    line-height: 25px;
    color: #4e4e4e;
}

#about-village .concept {
    font-size: 1em;
    margin-bottom: 20px;
}

/*********************** Девелоперы **********************/

#developers {
    padding: 30px 0;
}

#developers h2 {
    margin-bottom: 30px;
}

#developers .index-1 {
    text-align: right;
}

#developers .index-2 {
    text-align: left;
}

/********************** Преимущества *********************/

#advantages {
    color: #f7f7f7;
    background: url('/image/qualitys-bg.jpg') center/cover no-repeat;
    padding: 100px 5%;
}

#advantages .row {
    background-color: #98a615;
}

#advantages .row div:first-child {
    border-right: 1px dashed #dad7d7;
}

#advantages .row div:last-child {
    border-left: 1px dashed #dad7d7;
}

#advantages p {
    padding-bottom: 11px;
}

/************************ Генплан ************************/

#general-plan {
    overflow: hidden;
}

#general-plan h3 {
    color: #333;
    font-size: 20px;
    display: none;
}

#general-plan .polygon_free {
    fill: #33cc00;
    fill-opacity: 0;
    transition: 500ms;
    cursor: pointer;
}

#general-plan .polygon_free:hover {
    fill-opacity: 0.8;
}

#general-plan .container {
    padding-top: 20px;
}

#general-plan .rectangle {
    margin: 0 auto 15px;
    width: 58px;
    height: 37px;
}

#general-plan .green {
    background-color: #33cc00;
}

#general-plan .red {
    background-color: #ff0000;
}

#general-plan .blue {
    background-color: #3367cd;
}

/********************* Инфраструктура ********************/

#infrastructure {
    padding-bottom: 0;
}

#infrastructure .row div {
    border-right: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
    transition: 500ms;
}

#infrastructure .row div:hover {
    color: white;
}

#infrastructure .water:hover {
    background-color: #6699cc;
}
#infrastructure .gas:hover {
    background-color: #697822;
}
#infrastructure .electricity:hover {
    background-color: #ffcc33;
}
#infrastructure .sewerage:hover {
    background-color: #96552c;
}
#infrastructure .beautification:hover {
    background-color: #cc3399;
}
#infrastructure .infrastructure:hover {
    background-color: #66cc33;
}

/************************* Галерея ***********************/

#gallery {
    padding-top: 0;
}

#gallery .row {
    background: black;
}

#gallery .row div {
    padding: 0;
    background: url('/image/lupa.png') center no-repeat;
}

#gallery .row a:hover {
    opacity: 0.3;
    transition: 500ms;
}

#gallery .carousel {
    display: none;
}

/************************* Новости ***********************/

#news p {
    line-height: 20px;
}

/************************* Проекты ***********************/

#projects {
    padding-bottom: 0;
}

#projects .row div {
    border: 1px solid #d9d9d9;
}

#projects .row div:hover {
    cursor: pointer;
    box-shadow: inset 0 0 20px rgba(67, 58, 58, 0.15);
}

#projects h3 {
    color: #5a4c4c;
}

/************************** Карта ************************/

#map {
    margin-top: 30px;
    position: relative;
    padding: 0;
}

#map .info {
    position: absolute;
    left: 6%;
    bottom: 10%;
    padding: 30px 20px;
    background: white;
}

#map .info h3 {
    color: #333;
    text-shadow: 0 0 1px #333;
}

#map .info .button {
    color: white;
    background-color: #25a2ad;
    padding: 14px;
    text-decoration: none;
}

#map .info a {
    text-decoration: none;
    color: #212529;
}

#map iframe {
    border: none;
}

/************************ FancyBox ***********************/

.fancybox-bg {
    opacity: 0.65 !important;
    background: #100700;
}

/********************* Модальные окна ********************/

.modal-dialog {
    margin: 10% auto;
}

.project-empty .modal-dialog {
    margin: 23% auto;
}

.modal-header {
    padding-bottom: 0;
}

.modal-header button {
    padding: 0.5rem 1rem 1rem !important;
    outline: none;
}

.modal h4, .project-empty-label h5 {
    color: #545454;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    white-space: nowrap;
}

.modal-lg h4 {
    color: #4e4e4e;
    font: 40px 'ProximaNova Bold';
}

.modal-header {
    position: relative;
}

.modal-header .close {
    margin: 0 0 0 auto;
}

.project-empty-label .close {
    padding: 0 0 1rem !important;
}

#modal-contact .modal-body {
    padding-bottom: 45px;
}

#modal-contact .modal-body form {
    text-align: center;
}

#modal-contact .modal-body input, #modal-contact .modal-body button {
    width: 74%;
    margin: 10px 0;
    padding: 8px 0;
}

#modal-contact .modal-body .g-recaptcha > div {
    margin: 0 auto;
    width: 272px !important;
    overflow: hidden;
    border: 1px solid black;
}

#modal-contact .modal-body input {
    margin: 0 auto;
    border: 1px solid black;
    border-radius: 0;
    text-align: center;
    font-size: 15px;
}

#modal-contact .modal-body input:focus {
    outline: none;
    border: 1px solid #25a2ad;
}

#modal-contact .modal-body button {
    border: none;
    background-color: #25a2ad;
    color: white;
}

.modal-body .price {
    font: 40px 'ProximaNovaT-Thin';
    color: #da0707;
    margin-bottom: 15px;
}

#modal-contact .modal-body .content {
    font-size: 12px;
}

#modal-contact .modal-body .characteristics h3 {
    font-size: 20px;
    text-align: center;
}

.modal-body .characteristics .block p {
    font-size: 12px;
    border-bottom: 1px solid #efecd2;
    margin-bottom: 0;
}

.modal-body .characteristics span {
    float: right;
    text-align: center;
}

/************************* Слайдер ***********************/

.slider .full {
    position: relative;
    margin: 0 17px 25px 18px !important
}

.slider .full > img {
    position: absolute;
    width: 100%;
    max-height: 400px;
    display: block;
    opacity: 0;
    transition: 500ms;
}

.slider .full > img:first-of-type {
    display: block;
    position: relative;
    opacity: 1;
}

.slider .mini {
    position: relative;
    margin: 0 55px;
    height: 100px;
}

.slider .overflow {
    position: relative;
    overflow: hidden;
    height: 100px;
}

.slider .mobile {
    position: absolute;
    white-space: nowrap;
    height: 100px;
    transition: 500ms;
    left: 0;
    cursor: pointer;
}

.slider .mini .prev, .slider .mini .next {
    position: absolute;
    background: url('/image/projects/prev.png') center no-repeat;
    width: 41px;
    height: 40px;
    top: 0;
    cursor: pointer;
}

.slider .mini .prev {
    left: -55px;
}

.slider .mini .next {
    right: -55px;
    transform: rotate(180deg) ;
}

/****************** Всплывающее сообщение ****************/

.alert-fixed {
    top: 8px;
    position: fixed;
    z-index: 1000;
    width: 480px;
}

@media (min-width: 768px) {
    .alert-fixed {
        width: 480px;
        right: 8px;
    }
}

@media (max-width: 768px) {
    .alert-fixed {
        width: 100%;
    }
}

.alert-fixed > .timer {
    margin: -13px -20px 10px;
    background: #0000001c;
    border-radius: 5px;
    height: 5px;
}

.alert-dismissible .close {
    padding: .50rem 1.25rem !important;
}

/************************** Разное ***********************/

.form-user-module {
    margin: 30px auto;
    padding: 15px 15px 0;
    max-width: 400px;
    border: 1px solid #c6c6c6;
    border-radius: 5px;
    box-shadow: 0 0 9px 0 #b7b7b7;
}

.form-user-module h2 {
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #b7b7b7;
}

.form-user-module form {
    margin-bottom: 15px;
}

.form-user-module > p {
    margin: 0;
}

.main-video {
    width: 100%;
}

.container-video {
    margin-bottom: -8px;
}

/************************** Media ************************/

@media (max-width: 992px) {
    #news .row, #news-winter .row {
        display: none;
    }
}

@media (max-width: 768px) {
    #advantages .container .row div {
        border: none;
        border-top: 1px dashed #dad7d7;
    }

    #advantages .container .row div:first-child {
        border: none;
    }

    #infrastructure .row div {
        padding: 0 40px;
    }

    #gallery .carousel {
        display: block;
    }

    #map .info {
        position: initial;
        padding-top: 0;
        padding-bottom: 60px;
    }

    header .container .d-flex:nth-child(1) {
        top: 115px;
    }

    header .container .d-flex:nth-child(2) {
        bottom: 60px;
    }

    .modal-lg h4 {
        font-size: 22px;
    }

    .modal-body .price {
        text-align: center;
    }
}

@media (max-width: 768px) and (orientation: portrait) {
    #general-plan h3 {
        display: block;
    }

    #general-plan .content {
        display: none;
    }
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 400px;
    }

    .modal-lg {
        max-width: none;
    }
}

@media (max-width: 576px) {

    #gallery .row {
        display: none;
    }

    .modal-header button {
        padding: 0 0 1rem !important;
    }

    .modal-body .price {
        font-size: 30px;
    }

    .slider .mini, .slider .overflow, .slider .mobile {
        height: 56px;
        padding-top: 3px;
    }

    #map ymaps:first-child {
        pointer-events: none;
    }

    .slider {
        margin: 0 0 20px;
    }

    footer .col-12 {
        justify-content: center !important;
    }
}

@media (min-width: 960px) {
    .modal-lg {
        max-width: 1200px;
    }

    #modal-contact .modal-body .characteristics .block div {
        margin-right: 50px;
    }

    #infrastructure .row div {
        padding: 60px 80px;
    }

    .container-video {
        margin-bottom: -8px;
        position: relative;
        width: 100%;
        height: 771px;
        overflow: hidden;
    }

    .main-video {
        position: absolute;
        top: -250px;
        left: 0;
        width: 100%;
    }
}