html {
    background: #eee
}
body {
    font: 400 16px/26px 'Raleway', 'Lato', Arial, sans-serif;
    color: #545a6a;
    background: #fff;
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden
}
main {
    background: #fff
}
.mainbar {
    width: 75%;
    width: calc(100% - 22.5pc);
    float: left
}
.sidebar {
    width: 25%;
    width: calc(22.5pc);
    float: right;
    padding-bottom: 4pc
}
.site-preloader {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff
}
.preloader {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 78px;
    height: 78px;
    background: transparent url('../img/preloader.png') no-repeat 50% 50%;
    border-radius: 50%;
    position: relative;
    transform: rotate(0deg);
    margin-left: -39px;
    margin-top: -78px;
    animation-name: preloader;
    animation-timing-function: linear;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    -webkit-animation-name: preloader;
    -webkit-animation-timing-function: linear;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite
}
.site-preloader {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff
}
.site-preloader_text {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120px;
    margin-left: -60px;
    font-weight: 300;
    text-align: center
}
@-webkit-keyframes preloader {
    0% {
        transform: rotate(0deg)
    }
    0% {
        transform: rotate(-360deg)
    }
}
@keyframes preloader {
    0% {
        transform: rotate(0deg)
    }
    0% {
        transform: rotate(-360deg)
    }
}
.la-section {
    padding: 0
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    position: relative;
    padding: 0;
    font-weight: 800;
    line-height: 1;
    color: #545a6a
}
h1, .h1 {
    font-size: 36px
}
h2, .h2 {
    font-size: 32px
}
h3, .h3 {
    font-size: 24px
}
h4, .h4 {
    font-size: 18px
}
.subheading {
    color: #ff9140;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    padding: 1pc 0 2pc;
    position: relative
}
.subheading:before {
    /*content: '';*/
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    margin-top: -4px;
    width: 40px;
    height: 40px;
    background: transparent url(../img/icon-subheading.png) no-repeat left top
}
.subheading__white {
    color: #fff
}
.subheading__white:before {
    background-position: -40px top
}
h2.h2-center {
}
h2.h2-center:before {
    width: 100%
}
h2.h2-center:after {
    left: 50%;
    margin-left: -28px
}
a {
    color: #2685a7;
    text-decoration: none
}
a:hover {
    color: #ff9140
}
strong {
    font-weight: 700
}
.text-italic {
    font-family: fregat;
    letter-spacing: .02em
}
.text-strong {
    font-family: fregat;
    font-style: italic;
    font-weight: 700
}
.text-danger {
    color: #f5430d;
    font-weight: 600
}
.text-alert {
    color: #fd7919;
    font-weight: 600
}
.text-attention {
    color: #fd832a
}
.text-info {
    color: #36a5cc
}
.text-ok {
    color: #42ae24
}
.text-danger, .text-alert, .text-attention, .text-info, .text-ok {
    padding-left: 4pc;
    position: relative
}
.text-danger:before, .text-alert:before, .text-attention:before, .text-info:before, .text-ok:before {
    content: '!';
    font-size: 36px;
    width: 48px;
    height: 48px;
    line-height: 44px;
    border: 2px solid currentColor;
    text-align: center;
    border-radius: 50%;
    font-weight: 500;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -2pc
}
.text-attention:before {
    content: 'i';
    font-size: 24px;
    font-weight: 300;
    border-width: 1px
}
.text-info:before {
    content: 'i';
    font-weight: 300;
    font-size: 24px;
    border-width: 1px
}
.text-ok:before {
    content: '+';
    font-weight: 300;
    border-width: 1px
}
p a {
    text-decoration: underline
}
p a:hover {
    text-decoration: none
}
p strong {
    font-weight: 700
}
figure {
    position: relative
}
figure img {
    max-width: 100%;
    height: auto
}
figure figcaption {
    padding: 5px 10px;
    color: #fff;
    font-weight: 500;
    font-family: Fregat;
}
small {
    font-size: small
}
dl, ol, ul {
    padding: 0
}
ul {
    list-style: none
}
ul.nonelist {
    list-style: none
}
ul.nonelist li {
    padding-left: 0 !important
}
dl {
    padding: 1.5em 0 0 2em
}
dt {
    padding-bottom: 1em
}
dd {
    padding-bottom: 1em
}
table {
    border-collapse: collapse;
    border-spacing: 1px 1px;
    text-align: center;
    border: 1px solid #ff9140;
    background: #fff;
    margin: 0 0 2.5pc
}
table tr {
    background: transparent;
    transition: all ease 250ms
}
table th {
    padding: 1pc 1em;
    line-height: 1.2;
    border: 1px solid #ff9140;
    text-align: center;
    vertical-align: middle;
    font-family: fregat;
    font-weight: 600;
    font-size: 14px;
    background: rgba(255, 229, 115, .5)
}
.thead__double th {
    padding: .5pc 1em
}
.thead__double tr:nth-child(2) th {
    font-size: 15px
}
table td {
    padding: 8px 1em;
    line-height: 1.2;
    border: 1px dashed #ff9140;
    text-align: center;
    vertical-align: middle;
    font-family: fregat;
    font-size: 15px;
    font-weight: 400;
    color: #676767;
    background: #fff
}
table:not(.bron-grid__table) td {
    transition: all ease 250ms
}
table tbody td:first-child {
    text-align: left
}
table td:first-child a {
    display: block
}
table td:first-child a + span {
    font-size: 13px;
    font-style: italic
}
table:not(.bron-grid__table) tr:hover td {
    background: rgba(255, 246, 209, .6);
    color: #3a2623;
    transition: all ease 250ms
}
table tfoot tr {
}
table tfoot td {
    border: 1px solid #ff9140;
    text-align: center;
    line-height: 1.2;
    padding: 1em;
    background: rgba(255, 246, 209, .6)
}
table a {
    text-decoration: underline
}
table a:hover {
    text-decoration: none
}
.table-remarks {
    font-size: 16px;
    font-style: italic;
    margin-top: -2pc
}
.table-remarks strong {
    color: #cb6e3d
}
.no-padding {
    padding: 0
}
.bg__light {
}
.bg__light:before {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -50vw;
    width: 100vw;
    height: 100%;
    background-color: #fef6ef
}
.button {
    background: #fd7919 url(../img/bg/stripes.png);
    color: #fff;
    box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, .08);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 50px;
    border-radius: 4px;
    padding: 0 3em;
    position: relative;
    transition: all ease 250ms
}
.button:hover {
    color: #fff;
    background-color: #46b7df;
    transition: all ease 250ms
}
.button__white {
    background: #fff;
    color: #515c6d
}
.button__white:hover {
    background: #46b7df;
    color: #fff
}
.button__blue {
    background: #46b7df;
    color: #fff
}
.button__blue:hover {
    background: #fff;
    color: #515c6d
}
.button__play {
    background: #fff;
    color: #515c6d;
    line-height: 55px
}
.button__play:hover {
    background: #ffe573;
    color: #515c6d
}
.button__ghost {
    background: 0 0;
    border: 2px solid #fff;
    color: #fff
}
.button__ghost:after {
    background: #fff
}
.button__ghost:hover {
    border-color: #fff !important;
    color: #595350 !important
}
.button__large {
    line-height: 55px;
    padding: 0 4em;
    font-weight: 800;
    text-transform: uppercase
}
.button__small {
    line-height: 38px;
    padding: 0 2em;
    min-width: 0
}
.icon-play {
    display: inline-block;
    vertical-align: middle;
    width: 43px;
    height: 43px;
    background: url(../img/icon-play.png);
    position: relative;
    left: -12px;
    top: -9px
}
.icon-adult-1, .icon-adult-2, .icon-adult-3, .icon-adult-4, .icon-adult-5, .icon-adult-6 {
    margin: 0 8px 1pc;
    display: inline-block;
    vertical-align: middle;
    width: 27px;
    height: 64px;
    background: transparent url(../img/icon-adult.png) repeat-x left top
}
.icon-adult-2 {
    width: 54px
}
.icon-adult-3 {
    width: 81px
}
.icon-adult-4 {
    width: 108px
}
.icon-adult-5 {
    width: 135px
}
.icon-adult-6 {
    width: 162px
}
.icon-child-1, .icon-child-2, .icon-child-3, .icon-child-4, .icon-child-5, .icon-child-6 {
    margin: 0 8px 1pc 0;
    display: inline-block;
    vertical-align: middle;
    width: 32px;
    height: 64px;
    background: transparent url(../img/icon-child.png) repeat-x left top
}
.icon-child-2 {
    width: 64px
}
.icon-child-3 {
    width: 96px
}
.icon-child-4 {
    width: 128px
}
.icon-child-5 {
    width: 160px
}
.icon-child-6 {
    width: 192px
}
.article {
    padding: 3pc 2pc 4pc 0
}
.article__fullwidth {
    padding: 3pc 1pc 4pc
}
.article h1 {
}
.article h2 {
    padding-bottom: 1em;
    margin-top: 2pc;
    font-size: 28px
}
.article h3 {
    margin-top: 2pc;
    padding-bottom: 1em
}
.article h4 {
    padding-bottom: 1em;
    font-weight: 800;
    font-style: italic
}
.article p {
    line-height: 24px
}
.article .subheading {
    padding-bottom: 1pc
}
.article p a:not(.button), .article ul li a {
    text-decoration: underline
}
.article p a:not(.button):hover {
    color: #ff9140
}
.article p strong {
}
.article dl, .article ol, .article  ul:not(.home-apartments_params) {
    padding: .5em 0 1.5em 2em;
}
.article ol {
    padding-left: 3em
}
.article ol li {
    padding-left: 1pc
}
.article ul:not(.home-apartments_params) li {
    position: relative;
    padding-left: 2pc
}
.article ul:not(.home-apartments_params) li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    background: #ff9140;
    border-radius: 50%
}
.article ul li strong {
}
.article .list-fullwidth {
    max-width: 100%
}
.article .list-fullwidth li {
    margin-bottom: 8px
}
.article_iframe {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    margin-bottom: 1.5pc
}
.article_iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-bottom: 1.5pc
}
.article iframe {
    width: 100%;
    display: block
}
.article_youtube iframe {
    height: 522px
}
.article_3d {
    height: 580px;
    margin-bottom: 1.5pc
}
.article_img {
    margin-bottom: 2pc;
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 4px;
    max-height: 480px
}
.article_img img {
}
.article_img figcaption {
    position: absolute;
    left: 1.5pc;
    bottom: 1.5pc;
    background: #fff;
    padding: .2em 1em;
    font-family: fregat;
    font-style: italic;
    border-radius: 4px
}
.article hr {
    background: currentColor;
    background: #36a5cc;
    display: block;
    width: 100%;
    height: 1px;
    box-shadow: none;
    border: none;
    margin: 1pc auto 2pc
}
.article_slides {
}
.article_slides ul {
    max-width: 100%;
    height: 480px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 1pc
}
.article_slides ul li:before {
    content: none
}
.article_slides ul li {
    height: inherit;
    padding: 0
}
.article_slides ul li figure {
    height: inherit;
    display: flex !important;
    justify-content: center;
    align-items: center;
    position: relative
}
.article_slides ul li figure figcaption {
    position: absolute;
    left: calc(8pc + 1px);
    bottom: 1.5pc;
    background: #fff;
    padding: .2em 1em;
    font-family: fregat;
    font-style: italic;
    border-radius: 4px
}
.article_slides img {
}
.tns-outer {
    position: relative
}
.tns-controls {
    position: absolute;
    z-index: 2;
    left: 1pc;
    bottom: 1pc
}
.tns-controls button {
    width: 3pc;
    height: 3pc;
    background: #fff;
    border-radius: 4px;
    margin-right: 1px
}
.tns-controls button:hover {
    background: #d8f1fa
}
.tns-controls button:before {
    content: '';
    width: 8px;
    height: 8px;
    display: block;
    border-left: 2px solid #545a6a;
    border-top: 2px solid #545a6a;
    transform: rotate(-45deg);
    margin: 0 auto;
    transition: all ease 250ms
}
.tns-controls button[data-controls=next]:before {
    transform: rotate(135deg)
}
.tabs {
}
.tabs-dots {
    text-align: center;
    letter-spacing: -1em
}
.tabs-dot {
    position: relative;
    display: inline-block;
    padding: 0 1.2em;
    font: normal 700 16px/48px 'Fregat';
    letter-spacing: -.01em;
    color: #545a6a;
    background: 0 0;
    transition: all ease 150ms
}
.tabs-dot:hover, .tabs-dot.tns-nav-active {
    color: #fd7919;
    transition: all ease 150ms
}
.tabs-dot span {
    position: relative;
    z-index: 2;
    display: block;
    border-bottom: 3px solid transparent
}
.tabs-dot span:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 14px;
    height: 3px;
    background: transparent;
    transition: all ease 150ms
}
.tabs-dot:hover span:after, .tabs-dot.tns-nav-active span:after {
    background: rgba(253, 121, 25, .8);
    bottom: 2px;
    transition: all ease 150ms
}
.site-footer_bottom > * + *{
    margin-top: 10px;
}
.site-footer_icons{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -10px -2pc;
}
.site-footer_icons > a{
    margin: 0 0 10px 20px;
    padding: 11px 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 48px;
    height: 48px;
    background: #fff;
    border-radius: 50%;
    transition: all 0.3s ease 0s;
}
.site-footer_icons > a:first-child{
    margin-left: 0;
}
.site-footer_icons > a:hover{
    opacity: 0.7;
}
a{
    transition: color 0.3s ease 0s;
    text-decoration-skip-ink: none;
}
.site-footer_bottom a:hover{
    color: #46b7df;
}
.site-footer_bottom a{
    color: #ff9140;
}
.cat-desc + *{
    margin-top: 10px;
}
.pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    list-style: none;
    color: #A7A6AF;
    font-size: 18px;
    line-height: 1;
    margin: 0 0 0 -15px !important;
    max-width: none !important;
    padding: 0 !important;
}

.pagination li {
    margin-left: 15px;
    padding-left: 0 !important;
}
.pagination li:before{
    display: none;
}
.pagination .prev,
.pagination .next {
    width: 24px;
    height: 24px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.pagination .page-numbers:not(.prev):not(.next) {
    height: 30px;
    min-width: 30px;
    padding: 0 3px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.pagination .page-numbers.current {
    background: #46b7df;
    border: 1px solid #46b7df;
    color: #fff;
}

.pagination a.page-numbers {
    border: 1px solid #fff;
    color: #000;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.pagination a.page-numbers:hover {
    background: #46b7df;
    border: 1px solid #46b7df;
    color: #fff;
    text-decoration: none;
}

.pagination a.page-numbers:hover svg path {
    fill: #fff;
}
.pagination a{
    text-decoration: none !important;
}
.pagination svg path {
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.form-row{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -20px -30px;
}
.form-col{
    margin: 0 0 20px 30px;
    width: calc(50% - 30px);
}
.form-line{
    margin: 0 0 20px 30px;
    width: calc(100% - 30px);
}
.width-100{
    width: 100%;
}
.form-row textarea{
    display: block;
    width: 100%;
    height: 120px;
}
.form-row label{
    line-height: 1;
}
.form-label{
    font-weight: 600;
    margin-bottom: 5px;
}
.form-label span{
    color: red;
}
.form-row .wpcf7-list-item{
    margin: 0;
}
.form-row .wpcf7-list-item label{
    padding-left: 0;
}
.form-row label:hover{
    text-decoration: none;
}
.form-row span.wpcf7-not-valid-tip{
    font-size: 14px;
    margin-top: 8px;
    line-height: 1.1;
}
.form-row .wpcf7-not-valid{
    border-color: red !important;
}
.wpcf7-response-output{
    margin: 20px 0 0 !important;
    padding: 15px !important;
}
.form-konf {
    font-size: 14px;
    line-height: 1.3;
    margin-top: -10px;
}