/* ------------------------------------------------
 Author: ArtStyles (Art)
 
 Template Name: Fotico
 version: 1.0.0
------------------------------------------------ */
@import url(bootstrap.min.css);
@import url(swiper.min.css);
@import url(animate.css);
@import url(https://fonts.googleapis.com/css?family=Playfair+Display:400,400i,700,700i,900,900i|Roboto:300,300i,400,400i,500,500i,700,700i);

.btn,.label {
    letter-spacing: .1rem;
    text-transform: uppercase
}

.loading,.title_center {
    text-align: center
}

html {
    -webkit-overflow-scrolling: touch;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

body,html {
    font-size: 14px;
    -webkit-text-size-adjust: 100%
}

body {
    background-color: #fff;
    color: #070707;
    font-family: Roboto,sans-serif;
    font-weight: 400;
    line-height: 1.9;
    overflow-x: hidden;
    -ms-overflow-style: scrollbar;
    -webkit-font-smoothing: antialiased
}

html.is-scroll-disabled body {
    height: 100vh;
    overflow: hidden
}

.form-input,.form-textarea {
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid #070707;
    border-radius: 0;
    color: #070707;
    height: 3.5rem;
    margin-bottom: 2.14rem;
    padding-left: 0;
    padding-right: 0;
    position: relative;
    width: 100%;
    z-index: 2;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.form-input:focus,.form-textarea:focus {
    background-color: transparent;
    border-color: #070707;
    outline: 0
}

.form-textarea {
    display: block;
    line-height: 1.5;
    max-height: 120px;
    padding-top: 1rem;
    -ms-overflow-y: hidden;
    resize: none
}

@media only screen and (max-width: 580px) {
    body {
        line-height:1.5
    }

    .form-textarea {
        padding-top: 15px;
        padding-bottom: 15px
    }

    .label {
        transform: translateY(14px)
    }
}

.label {
    background-color: #fff;
    display: block;
    font-size: .86rem;
    padding-bottom: .71rem;
    transform: translateY(14px);
    transition: all .3s cubic-bezier(.7,0,.3,1);
    width: calc(100% - 45px);
    z-index: 3;
    pointer-events: none;
    position: absolute
}

.is-completed .label {
    color: #787d86;
    font-size: .71rem;
    transform: translateY(-10px)
}

.has-error .form-input,.has-error .form-input::placeholder,.has-error .form-textarea,.has-error .form-textarea::placeholder {
    color: #fd6d5e;
    border-color: #fd6d5e
}

.form-group {
    margin-bottom: 0
}

.form-result {
    font-size: .86rem;
    min-height: 2rem;
    margin-top: 1rem
}

.form-input::placeholder,::placeholder {
    color: #070707;
    transition: all .3s cubic-bezier(.7,0,.3,1)
}

.form-input:-ms-input-placeholder,:-ms-input-placeholder {
    color: #070707;
    opacity: 1;
    transition: all .3s cubic-bezier(.7,0,.3,1)
}

:focus::placeholder {
    color: transparent
}

:focus:-ms-input-placeholder {
    color: transparent
}

input:invalid,textarea:invalid {
    box-shadow: none;
    outline: 0
}

input::-ms-clear {
    display: none
}

.btn {
    background-color: #070707;
    border: 0;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    overflow: hidden;
    padding: 1rem 3.57rem;
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 580px) {
    .is-completed .label {
        transform:translateY(-10px)
    }

    .btn {
        font-size: .86rem
    }
}

.btn::before {
    content: '';
    background-color: #484b50;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    z-index: -1
}

.btn:hover::before {
    -webkit-animation: btn-hover .8s cubic-bezier(.72,.16,.345,.875) both;
    animation: btn-hover .8s cubic-bezier(.72,.16,.345,.875) both;
    width: 100%
}

.btn:focus {
    box-shadow: none
}

.btn.disabled {
    opacity: 1
}

@-webkit-keyframes btn-hover {
    0% {
        transform: translateX(-100%)
    }

    50% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes btn-hover {
    0% {
        transform: translateX(-100%)
    }

    50% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(100%)
    }
}

.btn-link {
    color: #070707;
    display: inline-block;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: .15rem;
    margin-top: 1.42rem;
    padding-right: 1.42rem;
    position: relative;
    text-decoration: none;
    text-transform: uppercase
}

.table thead th,.title_overhead {
    letter-spacing: .2rem;
    text-transform: uppercase
}

.table td,.table thead th {
    padding: 1.3rem 0
}

@media only screen and (max-width: 580px) {
    .btn-link {
        margin-top:0
    }
}

.btn-link__line {
    height: 1px;
    margin-left: 1.4rem;
    position: relative;
    width: 7rem
}

.btn-link__line::after,.lang::before,.social__link::before {
    content: '';
    position: absolute;
    height: 1px;
    background-color: #070707
}

.btn-link__line::after {
    opacity: .2;
    top: -4px;
    left: 0;
    width: 100%;
    transition: all .6s cubic-bezier(.7,0,.3,1)
}

.btn-link:focus,.btn-link:hover {
    color: inherit;
    text-decoration: none
}

.btn-link:focus .btn-link__line::after,.btn-link:hover .btn-link__line::after {
    background-color: #070707;
    opacity: 1;
    left: 0;
    width: 50%
}

button:focus {
    outline: 0
}

.lang::before,.social__link::before {
    margin-top: -1px;
    right: 0;
    top: 50%;
    width: 0;
    -webkit-animation: reveal-link 1s cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal-link 1s cubic-bezier(.72,.16,.345,.875) both;
    transition: all .2s cubic-bezier(.455,.03,.515,.955)
}

.lang:hover::before,.lang_active::before,.social__link:hover::before {
    left: 0;
    width: 100%
}

@-webkit-keyframes btn-line {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes btn-line {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.table {
    margin-top: 2rem
}

.table thead th {
    color: #787d86;
    font-size: .85rem;
    font-weight: 400
}

.table span {
    color: #787d86
}

.table_v1 td,.table_v1 thead th,.table_v2 thead th {
    border: 0
}

.table_v2 td {
    border-top: 1px solid #070707;
    padding: 1.6rem 0
}

@media only screen and (max-width: 768px) {
    .table_v2 td {
        border-top:0
    }

    .table .table,.table tbody,.table td,.table th,.table thead,.table tr {
        display: block
    }

    .table thead tr {
        display: none
    }

    .table tr {
        padding-bottom: 1.4rem
    }

    .table td {
        position: relative;
        padding-left: 50%;
        padding-top: .2rem;
        padding-bottom: .2rem
    }

    .table td:before {
        content: attr(data-th);
        color: #787d86;
        font-size: .85rem;
        position: absolute;
        left: 0;
        width: 45%;
        padding-right: 1rem;
        white-space: nowrap
    }
}

h1,h2,h3,h4,h5,h6 {
    font-family: "Playfair Display",serif;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 3.4rem
}

@media only screen and (max-width: 1200px) {
    h1,h2,h3,h4,h5,h6 {
        margin-bottom:3rem
    }
}

.title {
    transition: all .3s cubic-bezier(.72,.16,.345,.875)
}

a,a.link_decoration {
    transition: all .6s cubic-bezier(.72,.16,.345,.875)
}

.title_h1 {
    font-size: 3.8571rem;
    margin-bottom: 3.4rem
}

@media only screen and (max-width: 1200px) {
    .title_h1 {
        font-size:3.1428rem;
        margin-bottom: 2.14rem
    }
}

@media only screen and (max-height: 768px) {
    .title_h1 {
        margin-bottom:2.14rem
    }
}

.title_h2 {
    font-size: 3.1428rem;
    margin-bottom: 3.4rem
}

@media only screen and (max-width: 580px) {
    .table {
        margin-top:.2rem
    }

    .table td {
        padding-left: 40%
    }

    .title_h2 {
        font-size: 2rem;
        margin-bottom: 2rem
    }
}

.title_h3 {
    font-size: 2.4285rem;
    margin-bottom: 2.71rem
}

@media only screen and (max-width: 580px) {
    .title_h3 {
        font-size:1.6rem;
        margin-bottom: 1.5rem
    }
}

.title_h4 {
    font-size: 2rem;
    margin-bottom: 2.28rem
}

@media only screen and (max-width: 580px) {
    .title_h4 {
        font-size:1.6rem
    }
}

.title_h5 {
    font-size: 1.715rem;
    line-height: 1.4;
    margin-bottom: 2rem
}

@media only screen and (max-width: 580px) {
    .title_h5 {
        font-size:1.4rem
    }
}

.title_h6 {
    font-size: 1.286rem;
    margin-bottom: 1.6rem
}

@media only screen and (max-width: 580px) {
    .title_h6 {
        font-size:1.1rem;
        margin-bottom: 1rem
    }
}

.title_display {
    font-size: 5.5rem;
    margin-bottom: 4rem
}

.title_light {
    font-weight: 300
}

.title_normal,.title_overhead {
    font-weight: 400
}

.title_overhead {
    color: #787d86;
    font-family: Roboto,sans-serif;
    font-size: .9rem;
    margin-bottom: 1rem
}

.title_horizontal-line,.title_horizontal-line-center,.title_horizontal-line_reverse {
    position: relative;
    margin-bottom: 3rem
}

@media only screen and (max-width: 580px) {
    .title_overhead {
        font-size:.8rem
    }

    .title_horizontal-line,.title_horizontal-line-center,.title_horizontal-line_reverse {
        margin-bottom: 2.71rem
    }
}

.title_horizontal-line-center::before,.title_horizontal-line::before,.title_horizontal-line_reverse::before {
    background-color: #070707;
    content: '';
    position: absolute;
    left: -16%;
    bottom: -16px;
    height: 1px;
    width: 15rem
}

.title_horizontal-line-center.title_h1::before,.title_horizontal-line.title_h1::before,.title_horizontal-line_reverse.title_h1::before {
    bottom: -21px
}

.title_horizontal-line-center.title_h2::before,.title_horizontal-line.title_h2::before,.title_horizontal-line_reverse.title_h2::before {
    bottom: -23px
}

.title_horizontal-line_reverse::before {
    left: auto;
    right: -16%
}

@media only screen and (max-width: 992px),(min-width:992px) {
    .title_horizontal-line_reverse::before {
        left:-16%;
        right: auto
    }
}

@media only screen and (min-width: 992px) {
    .title_horizontal-line_reverse::before {
        left:auto;
        right: -16%
    }
}

.title_horizontal-line-center::before {
    margin: auto 0;
    left: 16%;
    top: 0;
    bottom: 0
}

.block-quote::before,a.link_decoration::after {
    left: 0;
    content: ''
}

.paragraph {
    font-size: 1.28rem;
    font-weight: 500
}

@media only screen and (max-width: 992px) {
    .form-result {
        text-align:center
    }

    .paragraph {
        font-size: 1.14rem
    }
}

.text_uppercase {
    text-transform: uppercase
}

.text_bold {
    font-weight: 600
}

.block-quote {
    font-family: "Playfair Display",serif;
    font-size: 1.71rem;
    font-weight: 700;
    margin: 3.42rem 0 2.4rem;
    padding-top: 4.4rem;
    position: relative;
    line-height: 1.6
}

@media screen and (max-width: 580px) {
    .block-quote {
        font-size:1.28rem;
        margin: 2rem 0;
        padding-top: 4rem
    }
}

.block-quote::before {
    background-image: url(../images/icon-quote.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 41px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    right: 0;
    width: 48px
}

@media only screen and (max-width: 580px) {
    .block-quote::before {
        height:32px;
        width: 38px
    }
}

.block-quote cite {
    font-family: Roboto,sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400
}

a {
    color: #070707;
    text-decoration: underline;
    -webkit-text-decoration-skip: objects
}

.back a,.control-item-next,.control-item-prev,.lang,.menu-container__item,.news-item__caption .title a,.news-singel .share__link,.pager-wrap .pager__next a,.pager-wrap .pager__previous a,.section-comments .media .media-body .media-footer .reply,.section-comments .media .media-header a,.social__link,a.link_decoration,a.link_decoration:hover,a:focus,a:hover {
    text-decoration: none
}

a:focus,a:hover {
    color: inherit;
    outline: 0
}

a.link_decoration {
    color: inherit;
    display: inline-block;
    position: relative
}

a.link_decoration::after {
    background-color: #070707;
    pointer-events: none;
    height: 1px;
    position: absolute;
    bottom: 0;
    opacity: 1;
    width: 100%;
    transform: translateY(-3px);
    transition: all .3s 0s cubic-bezier(.72,.16,.345,.875)
}

a.link_decoration:hover {
    color: inherit
}

a.link_decoration:hover::after {
    opacity: 0;
    transform: translateY(4px)
}

.vertical-text_bottom-left,.vertical-text_bottom-right,.vertical-text_top-left,.vertical-text_top-right {
    font-size: .85rem;
    letter-spacing: .3rem;
    position: absolute;
    text-transform: uppercase;
    writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr
}

.back,.control-item,.menu-container__item,.news-item__detail,.news-singel__details .title,.page-nav__item,.swiper-control {
    letter-spacing: .2rem;
    text-transform: uppercase
}

@media only screen and (max-width: 992px) {
    .vertical-text_bottom-left,.vertical-text_bottom-right,.vertical-text_top-left,.vertical-text_top-right {
        display:none
    }
}

.vertical-text_top-left {
    left: -2.85rem;
    right: 0;
    top: 0
}

.vertical-texttop-right {
    right: -2.85rem;
    top: 0
}

.vertical-text_bottom-left {
    left: -2.85rem;
    right: 0;
    bottom: 0
}

.vertical-text_bottom-right {
    right: -2.85rem;
    bottom: 0
}

img {
    max-width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

iframe {
    border: 0;
    display: block;
    width: 100%
}

::-moz-selection {
    background: #070707;
    color: #fff
}

::selection {
    background: #070707;
    color: #fff
}

.icon {
    background-repeat: no-repeat;
    display: inline-block;
    margin-bottom: 1px;
    position: relative;
    transition: all .3s cubic-bezier(.7,0,.3,1)
}

.hero-container,.loading-wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box
}

.icon-arrow-right {
    background-image: url(../images/arrow-next.svg);
    margin-left: .85rem;
    height: 7px;
    right: 0;
    width: 22px
}

.icon-arrow-left {
    background-image: url(../images/arrow-prev.svg);
    margin-right: .85rem;
    height: 7px;
    left: 0;
    width: 22px
}

.preload {
    overflow: hidden
}

.loading {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 1100
}

.loading .progress-bar {
    background: #070707;
    height: 2px;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all 1s cubic-bezier(.72,.16,.345,.875);
    width: 0;
    z-index: 2
}

.loading-wrap {
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    height: 100vh;
    position: relative;
    z-index: 10
}

.loading-wrap .logotype {
    width: 12.14rem
}

.navbar {
    position: fixed;
    height: 114px;
    padding-top: .4rem;
    padding-left: 3.57rem;
    padding-right: 3.64rem;
    top: 0;
    transition: all .3s cubic-bezier(.72,.16,.345,.875);
    width: 100%;
    z-index: 1001
}

@media only screen and (max-width: 992px) {
    .navbar {
        height:80px
    }
}

@media only screen and (max-height: 768px) {
    .navbar {
        height:80px
    }
}

@media only screen and (max-width: 580px) {
    .navbar {
        background-color:#fff;
        height: 50px;
        padding-left: 1.42rem;
        padding-right: 1.42rem
    }

    .navbar .share {
        display: none
    }

    .navbar-viewer {
        height: 40px
    }

    .navbar-viewer .mr-auto {
        width: 100%
    }
}

@media only screen and (max-height: 320px) {
    .open .navbar {
        background-color:transparent
    }
}

.hamburger {
    cursor: pointer;
    transform: translate3d(0,0,0);
    transition: opacity .3s ease;
    background-color: transparent;
    border: 0;
    padding: 0;
    vertical-align: middle
}

.control-item,.pager-wrap {
    border-top: 1px solid #f4f8f9
}

.hamburger-inner {
    display: block;
    height: 24px;
    width: 25px;
    position: relative
}

.hamburger-inner:after,.hamburger-inner:before {
    background-color: #070707;
    content: '';
    display: block;
    margin-left: -12px;
    height: 2px;
    width: 25px;
    position: absolute;
    top: 6px;
    left: 50%;
    transform-origin: center center;
    transition: top .1s cubic-bezier(.215,.61,.355,1) .25s,transform .25s cubic-bezier(.215,.61,.355,1) 0s
}

.hero,.lang {
    position: relative
}

.hamburger-inner:after {
    top: 16px
}

.is-active .hamburger-inner {
    color: #070707
}

.is-active .hamburger-inner:after,.is-active .hamburger-inner:before {
    top: 50%;
    transition: top .1s cubic-bezier(.215,.61,.355,1) 0s,transform .25s cubic-bezier(.215,.61,.355,1) .1s
}

.is-active .hamburger-inner:before {
    transform: rotate(45deg)
}

.is-active .hamburger-inner:after {
    transform: rotate(-45deg)
}

.lang {
    color: #787d86;
    display: inline-block;
    font-size: .9rem;
    margin-right: 1.8rem;
    opacity: .6;
    top: 1px
}

.lang:hover,.lang_active {
    color: #070707;
    opacity: 1
}

@media only screen and (max-width: 580px) {
    .lang {
        display:none
    }
}

.hero {
    height: 100vh
}

.hero-container {
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.hero .half-slider {
    height: calc(100vh - 114px);
    margin-top: 114px;
    padding: 0
}

@media only screen and (max-width: 992px) {
    .hero .half-slider {
        height:calc(100vh - 80px);
        margin-top: 80px;
        width: 100%
    }
}

@media only screen and (max-height: 768px) {
    .hero .half-slider {
        height:calc(100vh - 80px);
        margin-top: 80px;
        width: 100%
    }
}

@media only screen and (max-width: 580px) {
    .hero .half-slider {
        height:calc(100vh - 50px);
        margin-top: 50px
    }
}

.hero .half-slider__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1530px;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    padding-left: 3.57rem;
    padding-right: 3.57rem;
    height: 100%
}

@media only screen and (max-width: 992px) {
    .hero .half-slider__item {
        flex-wrap:wrap;
        max-width: 100%
    }
}

@media only screen and (max-width: 580px) {
    .hero .half-slider__item {
        height:auto;
        padding-left: 1.42rem;
        padding-right: 1.42rem
    }
}

@media only screen and (min-width: 1080px) {
    .hero .half-slider__item {
        padding-left:5rem;
        padding-right: 5rem;
        max-width: 1530px
    }
}

.hero .half-slider .swiper-slide-active .reveal::before {
    -webkit-animation: reveal-slider 1s cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal-slider 1s cubic-bezier(.72,.16,.345,.875) both;
    background-color: #fff
}

.hero .half-slider__caption {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 3rem;
    order: 1
}

@media only screen and (max-width: 992px) {
    .hero .half-slider__caption {
        flex:0 0 100%;
        max-width: 100%;
        order: 2;
        padding-right: 0
    }

    .hero .half-slider__caption .title_overhead {
        display: none
    }

    .hero .half-slider__caption .title {
        font-size: 1.5rem;
        margin-bottom: 0;
        padding: 2rem 0;
        overflow: hidden;
        white-space: nowrap
    }

    .hero .half-slider__caption .offset {
        display: none
    }
}

@media only screen and (max-width: 580px) {
    .hero .half-slider__caption .title {
        font-size:1rem;
        padding: 1.2rem 0 1rem
    }
}

.hero .half-slider__caption .description {
    width: 70%
}

@media only screen and (max-width: 1200px) {
    .hero .half-slider__caption .offset {
        padding-left:0
    }

    .hero .half-slider__caption .description {
        width: 80%
    }
}

.hero .half-slider__image {
    flex: 0 0 100%;
    height: 100vh;
    max-width: 50vw;
    overflow: hidden;
    position: relative;
    order: 2
}

.hero .control-half-slider {
    background-color: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -1px;
    z-index: 1
}

@media only screen and (max-width: 992px) {
    .hero .half-slider__caption .description {
        width:100%
    }

    .hero .half-slider__image {
        height: calc(100vh - 160px);
        max-width: 100%;
        order: 1
    }

    .hero .control-half-slider {
        bottom: 80px;
        left: 3.57rem
    }

    .decoration-points-three,.decoration-points-three_right {
        display: none
    }
}

.hero .control-half-slider .swiper-button-next,.hero .control-half-slider .swiper-button-prev {
    width: 1.57rem
}

.decoration-points {
    background-image: url(../images/decoration-points.svg);
    background-repeat: repeat-y
}

@media only screen and (max-width: 580px) {
    .hero .half-slider__image {
        height:calc(100vh - 100px)
    }

    .hero .control-half-slider {
        display: none
    }

    .decoration-points {
        background-image: none
    }
}

.decoration-points-three,.decoration-points-three_right {
    position: absolute;
    bottom: 20%;
    left: 50%;
    margin-left: -18px;
    z-index: 2
}

.decoration-points-three::before,.decoration-points-three_right::before {
    content: '';
    background-image: url(../images/decoration-points2.svg);
    background-repeat: no-repeat;
    height: 6px;
    position: absolute;
    left: 0;
    bottom: 20%;
    width: 38px
}

.decoration-points-three_right {
    right: 0;
    left: auto;
    margin-left: 0;
    margin-right: 18px
}

.carousel-horizontal {
    height: 100vh
}

.carousel-horizontal .swiper-wrapper {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.carousel-horizontal__item {
    height: 416px;
    pointer-events: none;
    width: 670px
}

@media only screen and (max-height: 900px) {
    .carousel-horizontal__item {
        height:416px;
        width: 670px
    }
}

@media only screen and (max-width: 768px) {
    .carousel-horizontal__item {
        width:580px
    }
}

@media only screen and (max-width: 580px) {
    .carousel-horizontal__item {
        height:calc(100vh - 50px);
        margin-top: 50px;
        width: 100%
    }
}

@media screen and (min-width: 1500px) {
    .carousel-horizontal__item {
        height:540px;
        width: 870px
    }
}

.carousel-horizontal .swiper-slide-active {
    pointer-events: all
}

.carousel-horizontal .swiper-slide-active .reveal::before {
    -webkit-animation: reveal-slider 1s .2s cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal-slider 1s .2s cubic-bezier(.72,.16,.345,.875) both;
    background-color: transparent
}

.carousel-horizontal__caption {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-between;
    padding-top: 30px
}

.carousel-horizontal__caption .title {
    margin-bottom: 0
}

.carousel-vertical {
    height: 100vh
}

.carousel-vertical .swiper-wrapper {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.carousel-vertical__item {
    height: 700px;
    pointer-events: none;
    width: 500px
}

@media only screen and (max-height: 900px) {
    .carousel-vertical__item {
        height:500px;
        width: 357px
    }
}

@media only screen and (max-width: 580px) {
    .carousel-horizontal .swiper-slide-active .reveal::before {
        -webkit-animation:reveal 1s .2s cubic-bezier(.72,.16,.345,.875) both;
        animation: reveal 1s .2s cubic-bezier(.72,.16,.345,.875) both
    }

    .carousel-horizontal__caption {
        padding-left: 2.14rem;
        padding-right: 2.14rem;
        display: none
    }

    .carousel-vertical__item {
        height: calc(100vh - 50px);
        margin-top: 50px;
        width: 100%
    }
}

.carousel-vertical .swiper-slide-active {
    pointer-events: all
}

.carousel-vertical .swiper-slide-active .reveal::before {
    -webkit-animation: reveal-slider 1s .2s cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal-slider 1s .2s cubic-bezier(.72,.16,.345,.875) both;
    background-color: transparent
}

.carousel-vertical .image-slider {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end
}

.carousel-vertical__caption {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-between
}

@media only screen and (max-width: 580px) {
    .carousel-vertical .swiper-slide-active .reveal::before {
        -webkit-animation:reveal 1s .2s cubic-bezier(.72,.16,.345,.875) both;
        animation: reveal 1s .2s cubic-bezier(.72,.16,.345,.875) both
    }

    .carousel-vertical__caption {
        visibility: hidden;
        padding-left: 2.14rem;
        padding-right: 2.14rem
    }

    .section_half-bg-v2::after,.section_half-bg-v2::before,.section_half-bg::after,.section_half-bg::before {
        display: none
    }
}

@media only screen and (max-height: 768px) {
    .carousel-vertical .swiper-control {
        display:none
    }
}

.carousel_caption_bg {
    background-color: #fff;
    padding: 2.85rem 2.14rem;
    position: relative;
    overflow: hidden;
    width: 70%;
    z-index: 3
}

.carousel_caption_bg .title {
    white-space: nowrap
}

.carousel_caption_bg .title_horizontal-line {
    margin-bottom: 2rem
}

.carousel_caption_bg .title_horizontal-line::before {
    left: -50%;
    bottom: -1.07rem;
    width: 100%
}

.carousel_caption_bg .carousel_description {
    color: #787d86;
    font-size: .85rem;
    margin-bottom: 0;
    max-height: 45px;
    overflow: hidden
}

.section {
    position: relative
}

.section_half-bg-v2::after,.section_half-bg-v2::before,.section_half-bg::after,.section_half-bg::before {
    content: '';
    background-color: #f4f8f9;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    z-index: -1
}

.section_half-bg-v2::after,.section_half-bg::after {
    margin-top: -10rem
}

.section_half-bg-v2::before {
    height: calc(100vh - 114px);
    margin-top: 114px;
    bottom: 0;
    top: auto
}

.section_half-bg-v2::after {
    display: none
}

.section_full-bg {
    background-color: #f4f8f9
}

.section-newsletter {
    padding-top: 8rem
}

@media only screen and (max-width: 992px) {
    .section_half-bg-v2::after,.section_half-bg::after {
        display:none
    }

    .section_half-bg-v2::before {
        height: calc(100vh - 80px);
        margin-top: 80px
    }

    .section-newsletter {
        padding-top: 6rem
    }
}

@media only screen and (max-width: 580px) {
    .section_half-bg-v2::before {
        display:none
    }

    .section-newsletter {
        padding-top: 4rem
    }
}

.container-flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

@media only screen and (min-width: 992px) {
    .container-fully {
        max-width:100%;
        padding-left: 0;
        padding-right: 0
    }
}

.container-fully-v2 {
    padding-left: 3.57rem;
    padding-right: 3.57rem
}

.container-full-height {
    height: calc(100vh - 114px);
    margin-top: 114px
}

@media only screen and (max-width: 992px) {
    .container-full-height {
        height:auto;
        margin-top: 80px
    }
}

@media only screen and (max-height: 768px) {
    .container-full-height {
        height:100%;
        margin-top: 80px
    }
}

.container-full-height .row-flex {
    height: 100%
}

.container-full-height .col__image,.container-full-height .col__image-gutters {
    height: calc(100vh - 114px)
}

@media only screen and (max-width: 992px) {
    .container-full-height .col__image,.container-full-height .col__image-gutters {
        height:800px
    }
}

@media only screen and (max-width: 768px) {
    .container-full-height .col__image,.container-full-height .col__image-gutters {
        height:600px
    }
}

@media only screen and (max-width: 580px) {
    .container-fully-v2 {
        padding-left:15px;
        padding-right: 15px
    }

    .container-full-height {
        margin-top: 50px
    }

    .container-full-height .col__image,.container-full-height .col__image-gutters {
        height: 300px
    }
}

.container .col__caption {
    padding-right: 4.28rem
}

.container .col__image,.container .col__image-gutters {
    background-color: #f4f8f9;
    background-size: cover;
    background-position: center center;
    overflow: hidden
}

@media only screen and (max-width: 1200px),(min-width:1200px) {
    .container .col__image,.container .col__image-gutters {
        margin-right:0
    }
}

.container .col__image {
    margin-right: calc((100vw - 1125px)/ -2)
}

@media only screen and (min-width: 1200px) {
    .container .col__caption {
        padding-bottom:2.85rem
    }

    .container .col__image {
        margin-right: calc((100vw - 1125px)/ -2)
    }
}

.container .col__image-gutters {
    margin-right: calc((100vw - 1046px)/ -2)
}

@media only screen and (max-width: 992px) {
    .container .col__caption {
        padding-top:5rem;
        padding-right: 0
    }

    .container .col__image-gutters {
        margin-right: 0
    }
}

@media only screen and (min-width: 1200px) {
    .container .col__image-gutters {
        margin-right:calc((100vw - 1227px)/ -2)
    }
}

.flex-grow-1 {
    flex: 1
}

.col_gap {
    color: #787d86;
    column-count: 2;
    column-gap: 3.21rem;
    text-align: justify
}

.outer_top-bottom_20 {
    margin-top: 10rem;
    margin-bottom: 10rem
}

@media only screen and (max-width: 992px) {
    .outer_top-bottom_20 {
        margin-top:5rem;
        margin-bottom: 5rem
    }
}

.social {
    line-height: .8;
    opacity: .6;
    position: absolute;
    left: 3.57rem;
    bottom: 3.57rem;
    z-index: 1
}

.social_right {
    left: auto;
    right: 3.57rem
}

.social__link {
    color: #787d86;
    display: inline-block;
    margin-right: 2rem;
    position: relative
}

@media only screen and (max-width: 580px) {
    .container .col__caption {
        padding-top:1.5rem
    }

    .outer_top-bottom_20 {
        margin-top: 1rem;
        margin-bottom: 2.2rem
    }

    .social__link {
        margin-right: 1.07rem
    }
}

.social__link:hover {
    color: #070707;
    opacity: 1
}

.social__link:last-child {
    margin-right: 0
}

@media only screen and (max-width: 992px),(max-height:768px) {
    .social {
        display:none
    }
}

.offset {
    padding-left: 12%
}

.bg-text {
    color: #f4f8f9;
    font-size: 20rem;
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    left: 10%;
    pointer-events: none;
    z-index: -1
}

.title-section-wrap {
    margin-top: 3.57rem;
    margin-bottom: 4.28rem
}

@media only screen and (max-width: 992px) {
    .title-section-wrap {
        margin-bottom:2.85rem
    }
}

@media only screen and (max-width: 580px) {
    .title-section-wrap {
        margin-top:2.14rem;
        margin-bottom: 1.42rem
    }
}

.margin_nav {
    margin-top: 114px
}

@media only screen and (max-width: 992px) {
    .margin_nav {
        height:auto;
        margin-top: 80px
    }
}

.floating-box {
    background-color: #070707;
    color: #fff;
    padding: 2.14rem;
    position: absolute;
    top: 0;
    right: -8rem;
    width: 16rem
}

.floating-box a {
    color: #fff
}

@media only screen and (max-width: 1500px) {
    .floating-box {
        display:none
    }
}

.swiper-container {
    position: relative;
    width: 100%
}

.swiper-container .swiper-wrapper {
    transition: all .6s cubic-bezier(.455,.03,.515,.955)
}

.swiper-container .swiper-slide .down-up span {
    opacity: 0;
    transform: translate3d(0,1000%,0);
    transition: all .8s .4s cubic-bezier(.7,0,.3,1)
}

.swiper-container .swiper-slide-active .reveal::after,.swiper-container .swiper-slide-active .reveal::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%
}

.swiper-container .swiper-slide-active .reveal::before {
    z-index: 4
}

.swiper-container .swiper-slide-active .down-up span {
    opacity: 1;
    transform: translate3d(0,0,0)
}

.swiper-container .swiper-slide__link {
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2
}

.swiper-container .swiper-slide .image-slider {
    background-size: cover;
    background-position: center center;
    height: 100%;
    overflow: hidden;
    width: 100%
}

.swiper-container .swiper-pagination-progressbar {
    background-color: #fff;
    height: 2px;
    width: calc(100% - 0px)
}

.swiper-container .swiper-pagination-progressbar-fill {
    background-color: #070707
}

.swiper-container .swiper-pagination-progressbar._bottom {
    background-color: #f4f8f9;
    height: 1px;
    top: auto;
    bottom: 3.07rem;
    margin-left: 12rem;
    width: calc(100% - 24rem)
}

@media only screen and (max-width: 580px),(max-height:768px) {
    .margin_nav {
        margin-top:60px
    }

    .swiper-container .swiper-pagination-progressbar._bottom {
        background-color: #fff;
        height: 2px;
        bottom: auto;
        top: 0;
        margin-left: 0;
        width: 100%
    }
}

.swiper-pagination {
    bottom: 0
}

@media only screen and (max-width: 580px) {
    .swiper-pagination {
        margin-top:50px;
        position: fixed;
        bottom: auto;
        top: 0
    }
}

.control-item,.swiper-control {
    padding: 3rem 2.14rem;
    position: relative;
    transition: padding .6s cubic-bezier(.455,.03,.515,.955);
    width: auto
}

@media only screen and (max-width: 992px) {
    .control-item,.swiper-control {
        padding:2rem 2.14rem
    }
}

@media only screen and (max-width: 580px) {
    .control-item,.swiper-control {
        padding:1.4rem 2.14rem;
        display: none
    }
}

@media only screen and (max-height: 768px) {
    .control-item,.swiper-control {
        padding:1.4rem 2.14rem
    }
}

.control-item .swiper-pagination,.swiper-control .swiper-pagination {
    padding: 0 1.5rem;
    position: relative
}

.control-item .control-item-next,.control-item .control-item-prev,.control-item .swiper-button-next,.control-item .swiper-button-prev,.swiper-control .control-item-next,.swiper-control .control-item-prev,.swiper-control .swiper-button-next,.swiper-control .swiper-button-prev {
    background-image: none;
    display: inline-block;
    margin-top: 0;
    height: auto;
    width: auto;
    position: relative
}

.control-item .control-item-next::before,.control-item .control-item-prev::before,.control-item .swiper-button-next::before,.control-item .swiper-button-prev::before,.swiper-control .control-item-next::before,.swiper-control .control-item-prev::before,.swiper-control .swiper-button-next::before,.swiper-control .swiper-button-prev::before {
    content: '';
    background-size: auto;
    height: .5rem;
    margin: auto 0;
    position: absolute;
    opacity: 1;
    top: 0;
    bottom: 0;
    width: 1.57rem;
    transition: all .3s cubic-bezier(.7,0,.3,1)
}

.menu,.menu-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    -webkit-flex-direction: column;
    height: 100vh
}

.control-item .control-item-prev,.control-item .swiper-button-prev,.swiper-control .control-item-prev,.swiper-control .swiper-button-prev {
    padding-left: 38px
}

.control-item .control-item-prev::before,.control-item .swiper-button-prev::before,.swiper-control .control-item-prev::before,.swiper-control .swiper-button-prev::before {
    background-image: url(../images/arrow-prev.svg);
    left: 0
}

.control-item .control-item-prev:hover::before,.control-item .swiper-button-prev:hover::before,.swiper-control .control-item-prev:hover::before,.swiper-control .swiper-button-prev:hover::before {
    left: -.35rem
}

.control-item .control-item-next,.control-item .swiper-button-next,.swiper-control .control-item-next,.swiper-control .swiper-button-next {
    float: right;
    padding-right: 36px
}

.control-item .control-item-next::before,.control-item .swiper-button-next::before,.swiper-control .control-item-next::before,.swiper-control .swiper-button-next::before {
    background-image: url(../images/arrow-next.svg);
    right: 0
}

.control-item .control-item-next:hover::before,.control-item .swiper-button-next:hover::before,.swiper-control .control-item-next:hover::before,.swiper-control .swiper-button-next:hover::before {
    right: -.35rem
}

.control-item_center,.swiper-control_center {
    margin-top: -27px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    position: absolute;
    top: 50%;
    bottom: 50%;
    left: 0;
    right: 0;
    width: 80%
}

@media only screen and (max-width: 1200px) {
    .col_gap {
        column-count:1;
        column-gap: 0;
        text-align: left
    }

    .control-item_center,.swiper-control_center {
        top: auto;
        bottom: 2.14rem;
        padding-left: 2.14rem;
        padding-right: 2.14rem;
        width: 100%
    }
}

.control-item_bottom,.swiper-control_bottom {
    margin-left: auto;
    margin-right: auto;
    padding: 0 2.9rem;
    position: absolute;
    top: auto;
    bottom: 2.14rem;
    left: 0;
    right: 0;
    width: 100%
}

@keyframes reveal-slider {
    0% {
        transform: translateX(-100%)
    }

    50% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(100%)
    }
}

.menu {
    background: #fff;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition: all .6s .2s cubic-bezier(.72,.16,.345,.875);
    width: 100%;
    z-index: 1000
}

.menu-inner {
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    padding: 8.142rem 3.57rem 3.57rem;
    max-width: 1530px;
    width: 100%
}

@media only screen and (max-width: 580px) {
    .menu-inner {
        height:100%;
        padding: 2.142rem 0;
        max-width: 100%
    }

    .menu-container {
        overflow: auto;
        text-align: center
    }
}

.menu-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    list-style: none;
    margin-bottom: 0;
    padding: 0
}

@media only screen and (max-height: 320px) {
    .menu-inner {
        padding:0
    }

    .menu-container {
        justify-content: normal;
        padding: 2.14rem 0 0
    }
}

.menu-container__item {
    font-family: "Playfair Display",serif;
    font-size: 2.42rem;
    font-weight: 700;
    display: inline-block;
    line-height: 1;
    margin-bottom: 2.14rem;
    overflow: hidden;
    position: relative
}

.news-item__detail,.news-singel__details .title,.section-comments .media .media-header .user-comment,.title_contact {
    font-family: Roboto,sans-serif
}

@media only screen and (max-width: 580px) {
    .menu-container__item {
        font-size: 1.5rem;
        margin-bottom: 1.9rem
    }

    .menu-container__item::after,.menu-container__item::before {
        display: none
    }
}

@media only screen and (max-height: 350px) {
    .menu-container__item {
        margin-bottom:1.07rem
    }
}

.menu-container__item::after,.menu-container__item::before {
    content: '';
    position: absolute;
    right: 0;
    top:50%;
    transition: all .6s cubic-bezier(.72,.16,.345,.875);
    width: 0
}

.menu-container__item::after {
    background-color: #070707;
    height: .14rem
}

.menu-container__item::before {
    background-color: #f4f8f9;
    height: 1.5rem
}

.menu-container__item:hover::after,.menu-container__item:hover::before {
    left: 0;
    width: 100%;
    -webkit-animation: reveal-link 1s cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal-link 1s cubic-bezier(.72,.16,.345,.875) both
}

@media only screen and (max-width: 580px) {
    .menu-container__item:hover {
        opacity:.5
    }
}

.menu-container__item_animated {
    display: inline-block;
    overflow: hidden
}

.menu-container__item_animated span {
    display: inline-block;
    opacity: 0;
    transform: translate3d(0,100%,0);
    transition: all .6s 640ms cubic-bezier(.72,.16,.345,.875)
}

.menu.menu-show,.menu.menu-show .menu-inner {
    transform: translateY(0)
}

.menu-footer {
    opacity: 0;
    transition: all .6s 1s cubic-bezier(.72,.16,.345,.875)
}

@media only screen and (max-width: 580px) {
    .menu-footer {
        display:none
    }
}

.menu-footer .footer__contacts {
    margin-bottom: 1rem
}

.menu.menu-show {
    opacity: 1;
    overflow-x: hidden;
    overflow-y: auto;
    visibility: visible
}

.menu.menu-show .menu-container__item_animated span {
    opacity: 1;
    transform: translate3d(0,0,0)
}

.menu.menu-show .menu-footer {
    opacity: 1
}

.menu.menu-show .navbar {
    background-color: transparent
}

.elastic-border {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 0
}

@media only screen and (max-width: 768px) {
    .elastic-border {
        display:none
    }
}

.ef-background {
    background-color: #070707;
    display: none;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1100
}

.section-works,.work-item {
    position: relative
}

.ef-background.animated {
    display: block;
    -webkit-animation: reveal-v 1s cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal-v 1s cubic-bezier(.72,.16,.345,.875) both
}

@-webkit-keyframes reveal-link {
    0% {
        transform: translateX(-100%)
    }

    10%,100% {
        transform: translateX(0)
    }
}

@keyframes reveal-link {
    0% {
        transform: translateX(-100%)
    }

    10%,100% {
        transform: translateX(0)
    }
}

.menu-container li:last-child a {
    margin-bottom: 0
}

.work-item {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 135px
}

@media only screen and (max-width: 992px),(min-width:992px) {
    .work-item {
        margin-top:80px
    }
}

@media only screen and (max-width: 580px),(min-width:580px) {
    .work-item {
        margin-top:40px
    }
}

@media only screen and (min-width: 580px) {
    .work-item {
        margin-top:80px
    }
}

@media only screen and (min-width: 992px) {
    .menu-footer .footer__contacts {
        margin-bottom:0
    }

    .work-container {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0
    }

    .work-item {
        margin-top: 135px
    }
}

.work-item__image {
    background-color: #f4f8f9;
    background-size: cover;
    background-position: center center;
    height: 600px;
    overflow: hidden;
    width: 100%
}

.work-item__image.reveal.animated::before {
    -webkit-animation: reveal 1s 50ms cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal 1s 50ms cubic-bezier(.72,.16,.345,.875) both
}

.work-item__caption {
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 992px),(min-width:992px) {
    .work-item__caption {
        margin-top:50px;
        width: 60%
    }
}

@media only screen and (max-width: 768px) {
    .work-item__caption {
        width:80%
    }
}

@media only screen and (max-width: 580px) {
    .work-item__image {
        height:260px
    }

    .work-item__caption {
        margin-top: 30px;
        width: 100%
    }

    .work-item__caption .offset {
        padding-left: 0
    }
}

.work-item__caption_imposition-left {
    margin-left: -20%
}

.work-item__caption_imposition-right {
    margin-right: -20%
}

@media only screen and (max-width: 992px),(min-width:992px) {
    .work-item__caption_imposition-left {
        margin-left:0
    }

    .work-item__caption_imposition-right {
        margin-right: 0
    }
}

@media only screen and (min-width: 992px) {
    .work-item__caption {
        margin-top:0;
        width: 100%
    }

    .work-item__caption_imposition-left {
        margin-left: -20%
    }

    .work-item__caption_imposition-right {
        margin-right: -20%
    }
}

.work-item .decoration-points-three {
    bottom: 10%
}

.page-nav {
    position: absolute;
    left: 3.57rem;
    margin-bottom: 100px;
    z-index: 2
}

.page-nav__item {
    color: #787d86;
    display: block;
    font-size: .71rem;
    font-weight: 600;
    margin-top: .85rem;
    margin-bottom: .85rem;
    padding-left: 2.8rem;
    position: relative;
    text-decoration: none
}

.back,.page-nav__item::before {
    position: absolute;
    left: 0;
    top: 0
}

.page-nav__item::before {
    content: '';
    background-color: #787d86;
    height: 1px;
    margin: auto 0;
    bottom: 0;
    transition: all .3s cubic-bezier(.72,.16,.345,.875);
    width: 1.7rem
}

.page-nav__item:hover::before {
    background-color: #070707
}

.page-nav__item.active {
    color: #070707
}

.page-nav__item.active::before {
    background-color: #070707;
    width: 5rem
}

@media only screen and (max-width: 1200px) {
    .page-nav {
        display:none;
        visibility: hidden;
        pointer-events: none
    }
}

.viewer-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100vh;
    overflow: hidden
}

.viewer-container__caption,.viewer-container__image {
    flex: 0 0 50%
}

@media only screen and (max-width: 1200px) {
    .viewer-container {
        overflow:visible
    }

    .viewer-container__caption,.viewer-container__image {
        flex: 0 0 100%
    }
}

.viewer-container__image {
    background-color: #f4f8f9;
    height: 100%;
    overflow: hidden
}

.back,.control-item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    background-color: #fff
}

@media only screen and (max-width: 992px) {
    .viewer-container__image {
        height:80%
    }
}

.viewer-container__image .bg {
    background-position: center;
    background-size: cover;
    height: 100%
}

.viewer-container__caption {
    padding-top: 8rem;
    padding-bottom: 6rem;
    overflow: auto;
    z-index: 1
}

.down-up,.down-up-2,.news-item__image .reveal,.news-singel__image .reveal {
    overflow: hidden
}

@media only screen and (max-width: 1200px) {
    .viewer-container__caption {
        padding-top:6rem
    }
}

@media only screen and (max-width: 992px) {
    .viewer-container__caption {
        padding-top:4rem
    }
}

.viewer-container__caption-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 70%
}

@media only screen and (max-width: 1800px) {
    .viewer-container__caption-inner {
        max-width:80%
    }
}

@media only screen and (max-width: 580px) {
    .viewer-container__caption {
        padding-top:2rem
    }

    .viewer-container__caption-inner {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px
    }
}

.viewer-container__caption .control-item {
    width: 50%
}

.back {
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 2rem
}

@media only screen and (max-width: 992px) {
    .back {
        padding:1rem 1.5rem
    }
}

.back a {
    padding: .5rem
}

.back a:hover .icon-arrow-left {
    left: -.35rem
}

.control-item {
    display: flex;
    justify-content: space-between;
    padding: 1.5rem 3.57rem;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 0
}

.news-grid,.pager-wrap .pager {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box
}

@media only screen and (max-width: 992px) {
    .control-item {
        padding:1rem 3.57rem
    }
}

@media only screen and (max-width: 580px) {
    .back {
        height:100%;
        margin-left: 0;
        margin-top: 0;
        width: 100%
    }

    .control-item {
        font-size: .85rem;
        padding: .8rem 1.07rem
    }
}

.eighty_bg {
    padding-top: 7.14rem;
    position: relative
}

.eighty_bg::after,.eighty_bg::before {
    content: '';
    background-color: #f4f8f9;
    height: 80%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1
}

.eighty_bg::after {
    margin-left: -100%
}

@media only screen and (max-width: 992px) {
    .eighty_bg {
        padding-top:5rem
    }

    .eighty_bg::after,.eighty_bg::before {
        height: 100%
    }

    #contact-form {
        margin-top: 8.14rem;
        margin-bottom: 5.57rem
    }

    #contact-form .btn {
        width: 100%
    }
}

@media only screen and (max-width: 580px) {
    .eighty_bg {
        padding-top:2rem
    }

    .eighty_bg::after,.eighty_bg::before {
        height: 100%
    }

    #contact-form {
        margin-top: 2.14rem;
        margin-bottom: 3rem
    }
}

.border-bottom {
    border-bottom: 1px solid #070707;
    margin-bottom: 1.6rem
}

.title_contact {
    color: #787d86;
    font-size: 1.28rem;
    font-weight: 400;
    margin-bottom: 1.8rem
}

@media only screen and (max-width: 1200px) {
    .viewer-container__caption .control-item {
        width:100%
    }

    .title_contact {
        font-size: 1.14rem;
        margin-bottom: 1.4rem
    }
}

@media only screen and (max-width: 580px) {
    .title_contact {
        margin-bottom:.6rem
    }
}

.list-info {
    font-size: 1.8vw;
    line-height: 1.6;
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}

@media only screen and (max-width: 1200px) {
    .list-info {
        font-size:1.55rem;
        margin-bottom: 4.28rem
    }
}

@media only screen and (max-width: 992px) {
    .list-info {
        margin-bottom:2.85rem
    }
}

@media only screen and (max-width: 768px) {
    .list-info {
        font-size:1.2rem;
        margin-bottom: 2rem
    }
}

.list-info_last-child {
    margin-top: 4.28rem
}

.map-block {
    height: calc(100vh - 114px);
    margin-right: -3.57rem
}

@media only screen and (max-width: 992px) {
    .map-block {
        height:50vh;
        margin-right: 0;
        margin-bottom: 4.28rem
    }
}

@media only screen and (max-width: 580px) {
    .map-block {
        margin-bottom:2.2rem
    }
}

.map-block div {
    z-index: 1
}

.section-news .title-section-wrap {
    padding-left: 43px
}

@media only screen and (max-width: 1200px),(min-width:1200px) {
    .section-news .title-section-wrap {
        padding-left:15px
    }
}

@media only screen and (max-width: 992px),(min-width:992px) {
    .section-news .title-section-wrap {
        padding-left:5px
    }
}

@media only screen and (max-width: 768px),(max-width:768px) {
    .section-news .title-section-wrap {
        padding-left:0
    }
}

.news-grid {
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.news-item {
    margin-left: 28px;
    margin-right: 27px;
    margin-bottom: 4.28rem;
    width: 470px
}

@media only screen and (max-width: 1200px),(min-width:1200px) {
    .news-item {
        margin-left:0;
        margin-right: 0;
        margin-bottom: 3rem;
        width: 435px
    }
}

@media only screen and (max-width: 992px),(min-width:992px) {
    .news-item {
        margin-left:110px;
        margin-right: 108px;
        margin-bottom: 1.5rem;
        width: 470px
    }
}

@media only screen and (max-width: 768px),(min-width:768px) {
    .news-item {
        margin-left:0;
        margin-right: 0;
        width: 100%
    }
}

@media only screen and (max-width: 580px) {
    .news-item {
        margin-bottom:1.42rem
    }
}

@media only screen and (min-width: 768px) {
    .section-news .title-section-wrap {
        padding-left:0
    }

    .news-item {
        margin-left: 110px;
        margin-right: 108px;
        width: 470px
    }
}

@media only screen and (min-width: 992px) {
    .section-news .title-section-wrap {
        padding-left:0
    }

    .news-item {
        margin-left: 0;
        margin-right: 0;
        width: 435px
    }
}

@media only screen and (min-width: 1200px) {
    .section-news .title-section-wrap {
        padding-left:28px
    }

    .news-item {
        margin-left: 28px;
        margin-right: 27px;
        margin-bottom: 4.28rem;
        width: 470px
    }
}

.news-item__image {
    position: relative;
    box-shadow: inset 0 0 0 0 #fff;
    transition: box-shadow .3s cubic-bezier(.72,.16,.345,.875)
}

.news-item__image .news-image {
    position: relative;
    z-index: -1
}

.news-item__image .news-image_link {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    width: 100%
}

.news-item:hover .news-item__image {
    box-shadow: inset 0 0 0 15px #fff
}

.news-item__caption {
    padding-left: 4.28rem;
    padding-right: 4.28rem;
    padding-top: 3.57rem
}

.news-item__caption .title:hover a {
    color: #787d86
}

.news-item__detail {
    color: #787d86;
    font-size: .9rem;
    font-weight: 400;
    margin-bottom: 1rem
}

@media only screen and (max-width: 992px) {
    .news-item__caption {
        padding-left:3rem;
        padding-right: 3rem;
        padding-top: 2.5rem
    }

    .news-item__detail {
        margin-bottom: .8rem
    }
}

@media only screen and (max-width: 580px) {
    .news-item__caption {
        padding-left:0;
        padding-right: 0;
        padding-top: 1.5rem
    }

    .news-item__detail {
        font-size: .8rem;
        margin-bottom: .8rem
    }
}

.news-singel {
    margin-bottom: 4.28rem;
    padding-top: 4.28rem
}

@media only screen and (max-width: 992px) {
    .news-singel {
        margin-bottom:2.85rem;
        padding-top: 2.85rem
    }
}

@media only screen and (max-width: 580px) {
    .news-singel {
        padding-top:1.5rem;
        margin-bottom: 2rem
    }
}

.news-singel__header {
    max-width: 970px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4.28rem;
    text-align: center;
    position: relative
}

@media only screen and (max-width: 992px) {
    .news-singel__header {
        margin-bottom:2.85rem
    }
}

@media only screen and (max-width: 580px) {
    .news-singel__header {
        margin-bottom:1.42rem
    }
}

.news-singel__header .paragraph {
    font-weight: 400
}

.news-singel__header .title {
    margin-bottom: 30px
}

@media only screen and (max-width: 580px) {
    .news-singel__header .title {
        font-size:2rem;
        margin-bottom: 20px
    }
}

.news-singel__image {
    margin-bottom: 4.28rem;
    position: relative
}

@media only screen and (max-width: 992px) {
    .news-singel__image {
        margin-bottom:1.5rem
    }
}

@media only screen and (max-width: 580px) {
    .news-singel__image {
        margin-bottom:2.14rem
    }
}

.news-singel__image iframe {
    height: 624px;
    width: 100%
}

@media only screen and (max-width: 1200px) {
    .list-info_last-child {
        margin-top:0
    }

    .news-singel__image iframe {
        height: 523px
    }
}

@media only screen and (max-width: 992px) {
    .news-singel__image iframe {
        height:423px
    }

    .news-singel__details {
        display: inline-block;
        margin-right: 2.14rem
    }
}

@media only screen and (max-width: 768px) {
    .news-singel__image iframe {
        height:380px
    }
}

.news-singel__caption .title {
    margin-bottom: 1.71rem
}

.news-singel__details {
    list-style: none;
    margin-top: .5rem;
    margin-bottom: 2.14rem;
    padding-left: 0
}

.news-singel__details .title {
    font-size: .8rem;
    font-weight: 400;
    margin-bottom: .5rem
}

.news-singel__details .details-option {
    font-weight: 500
}

.news-singel .share__link {
    color: #787d86;
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 30px;
    position: relative
}

.news-singel .share__link::before {
    content: '';
    background-color: #787d86;
    height: 20px;
    margin-left: auto;
    margin-right: auto;
    opacity: .7;
    position: absolute;
    bottom: -38px;
    left: 0;
    right: 0;
    width: 1px
}

.news-singel .share__link:hover {
    color: #070707
}

.news-singel .share__link:last-child {
    margin-bottom: 0
}

.news-singel .share__link:last-child::before {
    display: none
}

@media only screen and (max-width: 1250px) {
    .news-singel .share {
        background-color:#fff;
        padding: 20px;
        right: 0
    }

    .news-singel .share__link:first-child {
        margin-top: 4px
    }
}

.pager-wrap {
    margin-top: 90px
}

@media only screen and (max-width: 580px) {
    .pager-wrap {
        margin-top:32px
    }
}

.pager-wrap .pager {
    display: flex;
    justify-content: space-between;
    font-weight: 500;
    margin: 2.5rem 0
}

@media only screen and (max-width: 992px) {
    .pager-wrap .pager {
        margin:1.5rem 0
    }
}

.pager-wrap .pager__next a,.pager-wrap .pager__previous a {
    font-size: .86rem;
    letter-spacing: .1rem;
    opacity: .5;
    text-transform: uppercase
}

.pager-wrap .pager__next a:hover,.pager-wrap .pager__previous a:hover {
    opacity: 1
}

@media only screen and (max-width: 580px) {
    .pager-wrap .pager {
        margin:1.07rem 0
    }

    .pager-wrap .pager__next a,.pager-wrap .pager__previous a {
        font-size: .71rem
    }
}

.pager-wrap .pager__previous a:hover .icon {
    left: -5px
}

.pager-wrap .pager__next a:hover .icon {
    right: -5px
}

.section-comments {
    max-width: 730px;
    margin-left: auto;
    margin-right: auto
}

.section-comments .title {
    margin-bottom: 3.57rem
}

.section-comments .media {
    margin-top: 2.85rem
}

@media only screen and (max-width: 580px) {
    .section-comments .title {
        margin-bottom:2rem
    }

    .section-comments .media {
        margin-top: 20px
    }
}

.section-comments .media .col-avatar {
    border-radius: 50%;
    height: 64px;
    padding-right: 0;
    margin-top: 6px;
    margin-right: 30px;
    overflow: hidden;
    width: 64px
}

@media screen and (max-width: 580px) {
    .section-comments .media .col-avatar {
        height:40px;
        margin-right: 15px;
        width: 40px
    }
}

.section-comments .media .col-avatar img {
    height: 64px;
    width: 64px
}

.section-comments .media .media-header ul {
    margin-bottom: .71rem
}

@media screen and (max-width: 580px) {
    .section-comments .media .col-avatar img {
        height:40px;
        width: 40px
    }

    .section-comments .media .media-header {
        padding-top: .4rem
    }

    .section-comments .media .media-header ul {
        margin-bottom: .2rem
    }
}

.section-comments .media .media-header .user-comment {
    font-size: 1.14rem;
    font-weight: 500;
    margin-bottom: .5rem
}

@media only screen and (max-width: 580px) {
    .section-comments .media .media-header .user-comment {
        font-size:1rem;
        font-weight: 600
    }
}

.section-comments .media .media-header .data-comment {
    color: #787d86;
    font-size: .86rem
}

.section-comments .media .media-header a:hover {
    color: #070707
}

.section-comments .media .media-body .media-footer .reply {
    color: #787d86;
    font-size: .71rem;
    font-weight: 500;
    letter-spacing: .2rem;
    opacity: .7;
    padding-left: 2.4rem;
    position: relative;
    text-transform: uppercase
}

.section-comments .media .media-body .media-footer .reply::before {
    content: '';
    background-color: #787d86;
    height: 1px;
    margin: auto 0;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    transition: all .6s cubic-bezier(.72,.16,.345,.875);
    width: 1.42rem
}

.section-comments .media .media-body .media-footer .reply:hover {
    opacity: 1;
    padding-left: 3.18rem
}

.section-comments .media .media-body .media-footer .reply:hover::before {
    width: 2.14rem
}

.section-comments .comment-form {
    margin-top: 6.42rem
}

.section-newsletter .title {
    margin-bottom: 5rem
}

.section-newsletter .newsletter-form__row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row
}

@media only screen and (max-width: 580px) {
    .section-comments .comment-form {
        margin-top:2.85rem
    }

    .section-comments .comment-form .btn {
        width: 100%
    }

    .section-newsletter .title {
        margin-bottom: 2rem
    }

    .section-newsletter .newsletter-form__row {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .section-newsletter .newsletter-form__row .btn {
        margin-top: 1.42rem
    }

    .section-newsletter .form-result {
        padding-top: 0
    }
}

.section-newsletter .form-input {
    padding-right: 30px;
    margin-bottom: 0;
    flex: 1
}

.section-newsletter .form-result {
    margin-top: 20px
}

.footer {
    margin-top: 4rem
}

.footer__col {
    margin-bottom: 3.57rem
}

@media only screen and (max-width: 992px),(max-height:768px) {
    .footer__col {
        margin-bottom:2.14rem
    }
}

.footer .title {
    font-weight: 800;
    letter-spacing: .2rem
}

@media only screen and (max-width: 992px) {
    .footer .title {
        margin-bottom:1rem
    }
}

.footer__contacts {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}

img[data-action=zoom] {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in
}

.zoom-img,.zoom-img-wrap {
    position: relative;
    z-index: 1005;
    transition: all .3s
}

img.zoom-img {
    cursor: pointer;
    cursor: -webkit-zoom-out;
    cursor: -moz-zoom-out;
    opacity: 1
}

.zoom-overlay {
    z-index: 1004;
    background-color: #070707;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s
}

.zoom-overlay-open .zoom-overlay {
    opacity: 1
}

.zoom-overlay-open,.zoom-overlay-transitioning {
    cursor: default
}

.os {
    opacity: 0
}

.os.animated {
    opacity: 1;
    animation: up 2s cubic-bezier(.42,0,0,.995),fade 1s cubic-bezier(.42,0,0,.995)
}

@media only screen and (max-width: 580px) {
    .footer {
        margin-top:1rem
    }

    .os {
        opacity: 1
    }

    .os.animated {
        animation-delay: 0s
    }
}

@keyframes up {
    0% {
        transform: translateY(100px)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes fade {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.reveal.animated {
    position: relative
}

.reveal.animated::after,.reveal.animated::before {
    content: '';
    height: 100%;
    position: absolute;
    width: 100%
}

.reveal.animated::before {
    background: #fff;
    -webkit-animation: reveal 1s 50ms cubic-bezier(.72,.16,.345,.875) both;
    animation: reveal 1s 50ms cubic-bezier(.72,.16,.345,.875) both;
    z-index: 4
}

@-webkit-keyframes reveal {
    0% {
        transform: translateX(-100%)
    }

    50% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes reveal {
    0% {
        transform: translateX(-100%)
    }

    50% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes fade-slider {
    0%,99% {
        opacity: 1;
        transform: translate3d(0,0,0)
    }

    100% {
        opacity: 0;
        transform: translate3d(-100%,0,0)
    }
}

@-webkit-keyframes reveal-v {
    0% {
        transform: translateY(100%)
    }

    50% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(-100%)
    }
}

@keyframes reveal-v {
    0% {
        transform: translateY(100%)
    }

    50% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(-100%)
    }
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        transform: translate3d(-20px,0,0)
    }

    100% {
        opacity: 0;
        transform: translate3d(100vw,0,0)
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        transform: translate3d(-20px,0,0)
    }

    100% {
        opacity: 0;
        transform: translate3d(100vw,0,0)
    }
}

.down-up,.down-up-2 {
    display: inline-block;
    margin-top: -5px
}

@media only screen and (max-width: 580px) {
    .skrollable {
        transform:none!important;
        opacity: 1!important
    }

    .down-up,.down-up-2 {
        overflow: visible
    }
}

.down-up span,.down-up-2 span {
    display: inline-block;
    opacity: 0;
    transform: translate3d(0,100%,0);
    transition: opacity,transform .8s .4s cubic-bezier(.7,0,.3,1)
}

@media only screen and (max-width: 580px) {
    .down-up span,.down-up-2 span {
        opacity:1;
        transform: translate3d(0,0,0)
    }
}

.down-up-2.animated span,.down-up.animated span {
    opacity: 1;
    transform: translate3d(0,0,0)
}

.tilt {
    height: 100%;
    width: 100%
}
