@font-face {font-family:"TTNorms"; font-display:swap; src:url("../fonts/TTNorms-Regular.woff") format("woff"); font-weight:normal; font-style:normal}
@font-face {font-family:"TTNorms"; font-display:swap; src:url("../fonts/TTNorms-Medium.woff") format("woff"); font-weight:500; font-style:normal}
@font-face {font-family:"TTNorms"; font-display:swap; src:url("../fonts/TTNorms-Bold.woff") format("woff"); font-weight:bold; font-style:normal}

@font-face {font-family:"PlayfairDisplay"; font-display:swap; src:url("../fonts/PlayfairDisplay-Bold.woff") format("woff"); font-weight:bold; font-style:normal}

*,
*::before,
*::after {outline:none; box-sizing:border-box}

html {min-width:360px}

body {min-width:360px; margin:0; padding:0; font:500 18px/24px TTNorms, sans-serif; color:#151515; background:#fff; -webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale}

a {color:#151515; text-decoration:underline}
a:hover {text-decoration:none}

img {border:none; max-width:100%; max-height:100%; height:auto}

::-ms-clear {display:none}

h1 {margin:114px 0 72px 0; font:bold 70px/70px PlayfairDisplay, serif; padding:0}
.breadcrumbs+h1 {margin-top:32px}
h2 {margin:56px 0 40px 0; font:bold 48px/64px PlayfairDisplay, serif; padding:0}
p {margin:24px 0; padding:0}

@media screen and (max-width:1279px) {
    h1 {margin:82px 0 64px 0}
    .breadcrumbs+h1 {margin-top:24px}
}

@media screen and (max-width:767px) {
    h1 {margin:34px 0 40px 0; font-size:48px; line-height:41px}
    h2 {margin:46px 0 40px 0; font-size:36px; line-height:36px}
    .breadcrumbs+h1 {margin-top:16px}
}

.container {max-width:1136px; margin:0 auto}
.container::after {content:""; display:block; clear:both}

@media screen and (max-width:1439px) {
    .container {max-width:1040px}
}

@media screen and (max-width:1279px) {
    .container {padding:0 24px}
}

@media screen and (max-width:767px) {
    .container {padding:0 16px}
}

.btn {display:inline-block; vertical-align:top; height:64px; border:1px solid #000; color:#000; padding:0 30px; background:#fff; font:500 12px/62px TTNorms, sans-serif; letter-spacing:2px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1); cursor:pointer}
.btn:hover {color:#fff}
.btn::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.btn:hover::before {transform:scaleX(1)}
.btn span {position:relative}

form {margin:0; padding:0}

.form-input {position:relative; margin:38px 0 0 0}
.form-input-date {background:url(../images/form-input-date%EF%B9%96sid=20250211-2.svg) no-repeat left -1px}
.form-input-name {background:url(../images/input-name.svg) no-repeat left 1px}
.form-input-phone {background:url(../images/input-phone.svg) no-repeat left 1px}
.form-input-email {background:url(../images/input-email.svg) no-repeat left 1px}
.form-input-text {margin:102px 0 0 0; background:url(../images/input-text.svg) no-repeat left 3px}
.form-input input,
.form-input textarea {position:relative; border:none; border-bottom:1px solid #151616; font:500 16px/21px TTNorms, sans-serif; letter-spacing:0.3px; color:#151616; vertical-align:top; margin:0; padding:0 0 4px 39px; width:100%; height:26px; box-sizing:border-box; outline:none; border-radius:0; background:transparent; -webkit-appearance:none}
.form-input textarea {resize:none; overflow:auto}
.form-input input::-webkit-input-placeholder {opacity:1; color:#828282}
.form-input input::-moz-placeholder {opacity:1; color:#828282}
.form-input input:-ms-input-placeholder {opacity:1; color:#828282}
.form-input textarea::-webkit-input-placeholder {opacity:1; color:#828282}
.form-input textarea::-moz-placeholder {opacity:1; color:#828282}
.form-input textarea:-ms-input-placeholder {opacity:1; color:#828282}
.form-input input.error,
.form-input textarea.error {border-color:#f00}
.form-input label.error {display:none !important}

@media screen and (max-width:767px) {
    .form-input-text {margin:86px 0 0 0}
}

@-webkit-keyframes autofill {to {color:#151616; background:transparent}}
.form-input input:-webkit-autofill {-webkit-animation-name:autofill; -webkit-animation-fill-mode:both}

.form-file {margin:40px 0 0 0}
.form-file::after {content:""; display:block; clear:both}
.form-file-input {float:left; width:272px; height:64px; position:relative; overflow:hidden; cursor:pointer}
.form-file-input::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.form-file-input:hover::before {transform:scaleX(1)}
.form-file-input span {display:block; height:64px; font-size:12px; line-height:62px; border:1px solid #000; text-align:center; text-transform:uppercase; letter-spacing:2px; position:relative; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.form-file-input:hover span {color:#fff}
.form-file-input span svg {display:inline-block; vertical-align:middle; margin:-2px 14px 0 0}
.form-file-input span svg path {fill:#151616; transition:fill 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.form-file-input:hover span svg path {fill:#fff}
.form-file-input input {height:200px; z-index:1; position:absolute; top:0; right:0; opacity:0; cursor:pointer; font-size:200px; background:url(../images/blank.gif); -webkit-appearance:none}
.form-file-input input.error+span {border-color:#f00}
.form-file-input input.error+label.error+span {border-color:#f00}
.form-file-input label.error {display:none !important}
.form-file-name {margin:0 0 0 333px; color:#828282; font-size:14px; line-height:64px; position:relative}
.form-file-name-remove {display:block; width:32px; height:32px; position:absolute; left:-37px; top:16px; background:url(../images/input-file-remove.svg) no-repeat; cursor:pointer}
.form-file-name-text {width:100%; position:relative; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.form-file-name-text:empty+.form-file-name-remove {display:none}

@media screen and (max-width:1439px) {
    .form-file-input {width:248px}
    .form-file-name {margin:0 0 0 302px}
}

@media screen and (max-width:767px) {
    .form-file {margin:32px 0 0 0}
    .form-file-input {width:auto; float:none}
    .form-file-name {margin:0 0 0 38px}
    .form-file-name-remove {left:-38px}
}

.form-ctrl {margin:16px 0 0 0}
.form-ctrl::after {content:""; display:block; clear:both}
.form-submit {float:left; width:272px}
.form-submit .btn {width:100%; padding:0}
.form-policy {float:left; margin:0 0 0 32px; width:239px; color:#828282; font-size:12px; line-height:16px; letter-spacing:0.4px; font-weight:normal}

@media screen and (max-width:1439px) {
    .form-submit {float:left; width:248px}
    .form-policy {margin:0 0 0 24px}
}

@media screen and (max-width:767px) {
    .form-submit {float:none; width:auto}
    .form-policy {float:none; margin:16px 0 0 0}
}

.wrapper {width:100%; min-width:360px; position:relative; overflow:hidden}

header {padding:16px 0; text-align:center; text-transform:uppercase; font-size:0; line-height:0; letter-spacing:-1px; position:relative; z-index:9}

@media screen and (max-width:1439px) {
    header .container {max-width:none}
}

@media screen and (max-width:1279px) {
    header {height:96px; padding:0}
}

@media screen and (max-width:767px) {
    header {height:80px}
}

.header-menu-link {display:none}

@media screen and (max-width:1279px) {
    .header-menu-link {display:block; position:absolute; left:16px; top:20px; width:56px; height:56px}
    .header-menu-link-inner {position:absolute; left:50%; top:50%; width:32px; height:18px; margin:-9px 0 0 -16px; border-top:2px solid #151616; border-bottom:2px solid #151616; transition:all 0.2s; cursor:pointer}
    .header-menu-link-inner::before,
    .header-menu-link-inner::after {content:""; display:block; position:absolute; left:0; top:50%; right:0; height:2px; background:#151616; margin-top:-1px; transition:all 0.2s}
}

@media screen and (max-width:767px) {
    .header-menu-link {left:auto; top:12px; right:12px}
}

.header-menu {display:inline-block; vertical-align:middle; font-size:14px; line-height:17px; letter-spacing:0.3px}
.header-menu ul {margin:0; padding:0; list-style:none}
.header-menu ul li {display:inline-block; vertical-align:middle; margin:0 0 0 63px; padding:0; position:relative}
.header-menu ul li:first-child {margin:0}
.header-menu ul li::before {display:none}
.header-menu ul li a {text-decoration:none; display:inline-block; position:relative; height:34px; line-height:34px}
.header-menu ul li a::after {content:""; display:block; position:absolute; left:-20px; bottom:-7px; right:-20px; height:2px; background:#151515; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.header-menu ul li.active a::after,
.header-menu ul li:hover a::after {transform:scale(1)}
.header-menu ul li a span {display:inline-block; vertical-align:middle; line-height:17px}
.header-menu ul li ul {display:none; position:absolute; left:-20px; top:100%; margin-top:11px; min-width:100%; white-space:nowrap; background:#151515; width:200px; padding:24px 10px 28px 22px; text-transform:none; line-height:18px; text-align:left}
.header-menu ul li:hover ul {display:block}
.header-menu ul li ul::before {content:""; display:block; position:absolute; left:0; top:-11px; height:11px; right:0; background:transparent}
.header-menu ul li ul li {display:block; margin:8px 0 0 0}
.header-menu ul li ul li:first-child {margin:0}
.header-menu ul li ul li a {display:inline; height:auto; line-height:18px; color:#828282; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.header-menu ul li ul li a::after {display:none}
.header-menu ul li ul li.active a,
.header-menu ul li ul li a:hover {color:#fff}

@media screen and (max-width:1279px) {
    .header-menu {display:none}
}

.logo {display:inline-block; vertical-align:middle; width:104px; height:104px; position:relative; margin:0 63px; background:url(../images/logo.png) no-repeat center; background-size:contain}
.logo a {display:block; position:absolute; left:0; top:0; right:0; bottom:0}

@media screen and (max-width:1279px) {
    .logo {width:80px; height:80px; margin:-40px 0 0 -40px; position:absolute; display:block; left:50%; top:50%}
}

@media screen and (max-width:767px) {
    .logo {width:62px; height:62px; margin:-31px 0 0 -31px}
}

.header-phone {display:inline-block; vertical-align:middle; margin:0 0 0 63px; font-size:16px; line-height:19px; letter-spacing:0.3px; font-weight:bold}
.header-phone a {text-decoration:none; display:inline-block; position:relative; height:34px; line-height:34px}
.header-phone a::after {content:""; display:block; position:absolute; left:-20px; bottom:-7px; right:-20px; height:2px; background:#151515; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.header-phone a:hover::after {transform:scale(1)}
.header-phone a span {display:inline-block; vertical-align:middle; line-height:17px}

@media screen and (max-width:1279px) {
    .header-phone {margin:0; display:block; position:absolute; right:32px; top:50%; transform:translateY(-50%); font-weight:500}
}

@media screen and (max-width:767px) {
    .header-phone {right:auto; left:4px; font-size:0; line-height:0; letter-spacing:-1px}
    .header-phone a {display:block; width:56px; height:56px; padding:56px 0 0 56px; line-height:0; overflow:hidden; background:url(../images/header-phone-mobile.svg) no-repeat}
    .header-phone a::after {display:none}
}

.mobile-menu {display:none}

@media screen and (max-width:1279px) {
    .menu-open,
    .menu-open body {width:100%; height:100%; overflow:hidden; position:fixed}
    .mobile-menu {display:none; position:fixed; left:0; top:0; right:0; bottom:0; background:#fff; z-index:99; overflow:auto}
    .menu-open .mobile-menu {display:block}

    .mobile-menu-header {height:96px; position:relative}

    .mobile-menu-close {display:block; position:absolute; left:16px; top:20px; width:56px; height:56px}
    .mobile-menu-close-inner {position:absolute; left:50%; top:50%; width:32px; height:18px; margin:-9px 0 0 -16px; transition:all 0.2s; cursor:pointer}
    .mobile-menu-close-inner::before,
    .mobile-menu-close-inner::after {content:""; display:block; position:absolute; left:0; top:50%; right:0; height:2px; background:#151616; margin-top:-1px; transition:all 0.2s}
    .mobile-menu-close-inner::before {transform:rotate(-45deg)}
    .mobile-menu-close-inner::after {transform:rotate(45deg)}

    .mobile-menu-container {text-align:center; background:#151616; padding:40px 24px 77px 24px}
    .mobile-menu-container ul {margin:0; padding:0; list-style:none; font:bold 36px/48px PlayfairDisplay, serif}
    .mobile-menu-container ul li {margin:32px 0 0 0; padding:0}
    .mobile-menu-container ul li::before {display:none}
    .mobile-menu-container ul li:first-child {margin:0}
    .mobile-menu-container ul li a {color:#f3f6f8; text-decoration:none}
    .mobile-menu-container ul li ul {margin:4px 0 0 0; font-size:0; line-height:0; letter-spacing:-1px; color:#828282}
    .mobile-menu-container ul li ul li {display:inline-block; vertical-align:top; margin:0; font:500 18px/32px TTNorms, sans-serif; letter-spacing:0; white-space:nowrap}
    .mobile-menu-container ul li ul li::before {content:"/"; display:inline; margin:0 16px; width:auto; height:auto; position:relative; left:auto; top:auto; border-radius:none}
    .mobile-menu-container ul li ul li:first-child::before {display:none}
    .mobile-menu-container ul li ul li a {color:#828282; text-decoration:none}
}

@media screen and (max-width:1279px) {
    .mobile-menu-close {left:auto; right:12px; top:12px}

    .mobile-menu-header {height:80px}
    .mobile-menu-container {padding:40px 16px 58px 16px}
    .mobile-menu-container ul {font-size:24px; line-height:22px}
    .mobile-menu-container ul li {margin:40px 0 0 0}
    .mobile-menu-container ul li:first-child {margin:0}
    .mobile-menu-container ul li ul {margin:24px 0 0 0}
    .mobile-menu-container ul li ul li {display:block; vertical-align:top; margin:14px 0 0 0; line-height:24px}
    .mobile-menu-container ul li ul li::before {display:none}
}

.welcome {position:relative; padding:64px 0 0 0}
.welcome::before {content:""; display:block; position:absolute; left:-200px; top:0; right:-200px; bottom:240px; background:#f3f6f8}

@media screen and (max-width:1439px) {
    .welcome {padding:56px 0 0 0}
    .welcome::before {left:-64px; right:-64px; bottom:195px}
}

@media screen and (max-width:1279px) {
    .welcome {padding:56px 0 0 0}
    .welcome::before {left:-24px; right:-24px; bottom:194px}
}

@media screen and (max-width:767px) {
    .welcome {padding:32px 0 169px 0}
    .welcome::before {left:-16px; right:-16px; bottom:225px}
}

.welcome-city {font-size:14px; line-height:18px; letter-spacing:0.3px; position:relative}
.welcome-city-sep {display:inline-block; vertical-align:middle; margin:-2px 7px 0 5px; width:4px; height:4px; background:#151515; border-radius:3px}

.welcome-content {position:relative}
.welcome-content::after {content:""; display:block; clear:both}
.welcome-title {float:left; font:bold 96px/70px PlayfairDisplay, serif; margin:32px 0 0 0; width:544px}
.welcome-detail {float:left; margin:54px 0 0 56px; width:450px}
.welcome-text {font-size:14px; line-height:18px; letter-spacing:0.3px}
.welcome-digit {margin:32px 0 0 0; border-left:3px solid #151515; padding:6px 0 5px 100px; position:relative}
.welcome-digit::before {content:""; display:block; width:68px; height:121px; position:absolute; left:12px; top:-10px; background:url(../images/welcome.png) no-repeat}
.welcome-digit-title {text-transform:uppercase; font-size:14px; line-height:17px; letter-spacing:0.3px}
.welcome-digit-value {font:bold 64px/70px PlayfairDisplay, serif; margin:-11px 0 0 0}
.welcome-digit-text {font-size:14px; line-height:18px; letter-spacing:0.3px; padding:2px 0 0 0}

@media screen and (max-width:1439px) {
    .welcome-title {width:512px}
}

@media screen and (max-width:1279px) {
    .welcome-title {font-size:48px; line-height:41px; width:340px}
    .welcome-detail {width:329px; margin:-18px 0 0 11px}
}

@media screen and (max-width:767px) {
    .welcome-content {position:static}
    .welcome-title {width:auto; margin:16px 0 0 0; float:none; position:relative}
    .welcome-detail {float:none; margin:32px 0 0 0; width:auto}
    .welcome-text {position:relative}
    .welcome-digit {position:absolute; left:-16px; bottom:0; right:-16px; background:#f3f6f8; padding:32px 16px 40px 122px; border-left:none}
    .welcome-digit::before {left:31px; top:16px}
    .welcome-digit::after {content:""; display:block; position:absolute; left:16px; top:26px; bottom:34px; width:3px; background:#151515}
}

.slider-menu {position:relative; margin:117px 0 0 0; background:#151515; height:64px; z-index:2; overflow:hidden}
.slider-menu-list {float:left; width:897px; border-right:1px solid #bdbdbd; height:64px; padding:0 68px 0 28px; overflow:hidden; position:relative}
.slider-menu-list.more-visible {padding-right:178px}
.slider-menu-list ul {position:relative; margin:0; padding:0; list-style:none; font-size:16px; letter-spacing:0.3px; line-height:64px; top:0; transition:top 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.slider-menu-list ul::after {content:""; display:block; clear:both}
.slider-menu-list.more ul {top:-64px}
.slider-menu-list ul li {float:left; margin:0 0 0 40px; padding:0}
.slider-menu-list ul li::before {display:none}
.slider-menu-list ul li a {display:block; position:relative; color:#fff; text-decoration:none}
.slider-menu-list ul li a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#bdbdbd; transform-origin:left center; transform:scale(0); transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.slider-menu-list ul li a:hover::after {transform:scaleX(1)}
.slider-menu-list ul li.active a::after {height:4px; transform:scaleX(1)}
.slider-menu-list-more {display:none; width:48px; height:48px; position:absolute; right:65px; top:11px}
.slider-menu-list.more-visible .slider-menu-list-more {display:block}
.slider-menu-list-more-dot-1,
.slider-menu-list-more-dot-2,
.slider-menu-list-more-dot-3 {display:block; position:absolute; width:4px; height:4px; background:#f3f6f8; border-radius:50%; top:22px; transition:background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.slider-menu-list-more:hover .slider-menu-list-more-dot-1,
.slider-menu-list-more:hover .slider-menu-list-more-dot-2,
.slider-menu-list-more:hover .slider-menu-list-more-dot-3 {background:#fff}
.slider-menu-list-more-dot-1 {left:10px}
.slider-menu-list-more-dot-2 {left:22px}
.slider-menu-list-more-dot-3 {right:10px}

@media screen and (max-width:1439px) {
    .slider-menu {margin:104px 0 0 0}
    .slider-menu-list {width:816px; padding:0 49px 0 12px}
    .slider-menu-list.more-visible {padding-right:128px}
    .slider-menu-list-more {right:49px}
}

@media screen and (max-width:1279px) {
    .slider-menu {margin:45px -24px 0 -24px}
    .slider-menu-list {width:calc(100% - 135px); padding:0 16px 0 0}
    .slider-menu-list.more-visible {padding-right:64px}
    .slider-menu-list ul {font-size:14px}
    .slider-menu-list ul li {margin:0 0 0 24px}
    .slider-menu-list-more {right:8px}
}

@media screen and (max-width:767px) {
    .slider-menu {margin:32px -16px 0 -16px}
    .slider-menu-list {width:100%; padding:0}
    .slider-menu-list.more-visible {padding-right:0}
    .slider-menu-list.more ul {top:0}
    .slider-menu-list.more-visible .slider-menu-list-more {display:none}
    .slider-menu-list ul {font-size:0; line-height:0; letter-spacing:-1px; white-space:nowrap; margin:0 0 0 -8px}
    .slider-menu-list ul::after {display:none}
    .slider-menu-list ul li {float:none; display:inline-block; vertical-align:top; margin:0; padding:0; font-size:16px; line-height:64px; letter-spacing:0.3px}
    .slider-menu-list ul li a {margin:0 0 0 24px}
}

.slider-menu-btn {float:right; width:239px}
.slider-menu-btn a {display:block; width:100%; height:64px; background:#151515; color:#fff; text-align:center; font-size:16px; line-height:64px; letter-spacing:0.3px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.slider-menu-btn a:hover {color:#151515}
.slider-menu-btn a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0;background:#fff; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.slider-menu-btn a:hover::before {transform:scaleX(1)}
.slider-menu-btn a span {position:relative}

@media screen and (max-width:1439px) {
    .slider-menu-btn {width:223px}
}

@media screen and (max-width:1279px) {
    .slider-menu-btn {width:135px}
}

@media screen and (max-width:767px) {
    .slider-menu-btn {display:none}
}

.slider {margin:-40px -112px 0 -112px; position:relative; font-size:0; line-height:0; letter-spacing:-1px; white-space:nowrap}
.slider-list {position:relative; width:100%; overflow:hidden}
.slider-list.slick-initialized {overflow:visible}
.slider-item {display:inline-block; vertical-align:top; width:100%; white-space:normal}
.slider-item-inner {height:648px; background:no-repeat center; background-size:cover; position:relative}
.slider-item-content {position:absolute; left:155px; bottom:54px; color:#fff}
.slider-item-title {font:bold 64px/70px PlayfairDisplay, serif; letter-spacing:0}
.slider-item-link {margin:21px 0 0 0; font-size:16px; line-height:19px; letter-spacing:0.3px}
.slider-item-link a {color:#fff}
.slider-item-number {position:absolute; left:112px; bottom:0; width:2px; background:#fff; height:158px}
.slider-item-number span {display:block; position:absolute; left:0; top:-26px; font-size:14px; line-height:17px; letter-spacing:0.3px; color:#fff; transform:rotate(-90deg); transform-origin:left center}
.slider-list .slick-prev {display:none !important}
.slider-list .slick-next {display:block; position:absolute; z-index:2; bottom:130px; width:185px; height:16px; border:none; border-radius:0; margin:0; padding:0; outline:none; -webkit-appearance:none; cursor:pointer; background:transparent}
.slider-list .slick-next {right:-88px}
.slider-list .slick-next svg {display:block; position:absolute; right:0; top:0}
.slider-list .slick-next path {fill:#000}
.slider-next {position:absolute; right:-88px; bottom:172px; font-size:14px; line-height:17px; letter-spacing:0.3px}

@media screen and (max-width:1439px) {
    .slider {margin:-40px -32px 0 -32px}
    .slider-item-inner {height:564px}
    .slider-item-content {left:64px}
    .slider-item-number {left:32px}
    .slider-list .slick-next {right:-34px; width:134px; background:url(../images/slider-arrow-1280.svg) no-repeat}
    .slider-list .slick-next svg {display:none}
    .slider-next {right:-32px}
}

@media screen and (max-width:1279px) {
    .slider {margin:0 32px 0 -24px}
    .slider-item-inner {height:404px}
    .slider-item-content {left:56px}
    .slider-item-number {left:24px}
}

@media screen and (max-width:767px) {
    .slider {margin:0 -16px}
    .slider-item-inner {height:332px}
    .slider-item-content {left:24px; bottom:34px}
    .slider-item-title {font-size:36px; line-height:48px}
    .slider-item-link {margin:4px 0 0 0}
    .slider-item-number {left:24px; bottom:120px; height:40px}
    .slider .slick-dots {margin:0 -16px; background:#fff; padding:16px 0 0 0; height:56px; list-style:none; position:relative; text-align:center}
    .slider .slick-dots li {margin:0 0 0 8px; padding:0; display:inline-block; vertical-align:middle; position:relative}
    .slider .slick-dots li::before {display:none}
    .slider .slick-dots li:first-child {margin:0}
    .slider .slick-dots li button {display:block; position:relative; width:8px; height:8px; border-radius:50%; border:2px solid #151515; background:#151515; margin:0; padding:0; outline:none; -webkit-appearance:none; cursor:pointer; font-size:0; line-height:0; text-indent:100px}
    .slider .slick-dots li.slick-active button {background:#f3f6f8; width:10px; height:10px}
}

.prefs {margin:112px -24px 0 -24px; font-size:0; line-height:0; letter-spacing:-1px}
.prefs-item {display:inline-block; vertical-align:top; width:33.33%; padding:0 24px}
.prefs-item-title {font:bold 36px/48px PlayfairDisplay, serif; letter-spacing:0}
.prefs-item-text {font-size:18px; line-height:24px; letter-spacing:0; margin:24px 0 0 0}

@media screen and (max-width:1439px) {
    .prefs {margin:80px -24px 0 -24px}
}

@media screen and (max-width:1279px) {
    .prefs {margin:48px 0 0 0}
    .prefs-item {display:block; width:auto; margin:40px 0 0 0; padding:0}
    .prefs-item-text {margin:16px 0 0 0}
}

.main-gallery {margin:96px 0 0 0}
.main-gallery-list {margin:0 -8px}
.main-gallery-list::after {content:""; display:block; clear:both}
.main-gallery-item {float:left; width:50%; padding:16px 8px 0 8px}
.main-gallery-item:nth-child(even) {float:right}
.main-gallery-item-inner {background:no-repeat center; background-size:cover}
.main-gallery-item:nth-child(1) .main-gallery-item-inner {height:640px}
.main-gallery-item:nth-child(2) .main-gallery-item-inner {height:312px}
.main-gallery-item:nth-child(3) {clear:left}
.main-gallery-item:nth-child(3) .main-gallery-item-inner {height:312px}
.main-gallery-item:nth-child(4) .main-gallery-item-inner {height:640px}
.main-gallery-item:nth-child(4) {margin-top:-328px}
.main-gallery-item:nth-child(5) .main-gallery-item-inner {height:312px}
.main-gallery-item:nth-child(6) .main-gallery-item-inner {height:312px}

@media screen and (max-width:1439px) {
    .main-gallery {margin:64px 0 0 0}
}

@media screen and (max-width:1279px) {
    .main-gallery {margin:32px 0 0 0}
    .main-gallery-list {padding:328px 0 0 0; position:relative}
    .main-gallery-item:nth-child(2) {position:absolute; left:0; top:0; width:548px}
    .main-gallery-item:nth-child(1) .main-gallery-item-inner {height:312px}
}

@media screen and (max-width:767px) {
    .main-gallery-list {padding:0; margin:0}
    .main-gallery-item {float:none; width:auto; padding:16px 0 0 0}
    .main-gallery-item:nth-child(even) {float:none}
    .main-gallery-item:nth-child(2) {position:relative; left:auto; top:auto; width:100%}
    .main-gallery-item:nth-child(2) .main-gallery-item-inner {height:auto}
    .main-gallery-item:nth-child(1) .main-gallery-item-inner {height:370px}
    .main-gallery-item:nth-child(3) .main-gallery-item-inner {height:182px}
    .main-gallery-item:nth-child(4) .main-gallery-item-inner {height:370px}
    .main-gallery-item:nth-child(4) {margin-top:0}
    .main-gallery-item:nth-child(5) .main-gallery-item-inner {height:182px}
    .main-gallery-item:nth-child(6) .main-gallery-item-inner {height:182px}
}

.main-gallery-text {display:table; width:100%}
.main-gallery-text-inner {display:table-cell; vertical-align:middle; height:312px; position:relative; padding:0 56px}
.main-gallery-text-inner::before {content:""; display:block; position:absolute; left:0; top:0; width:304px; height:312px; background:#f3f6f8}
.main-gallery-detail {position:relative; font-size:14px; line-height:18px; letter-spacing:0.3px}
.main-gallery-guarantee {margin:21px 0 0 0; border-left:3px solid #151515; padding:6px 0 5px 100px; position:relative}
.main-gallery-guarantee::before {content:""; display:block; width:75px; height:119px; position:absolute; left:16px; top:-10px; background:url(../images/main-gallery-guarantee.png) no-repeat}
.main-gallery-guarantee-title {text-transform:uppercase; font-size:14px; line-height:17px; letter-spacing:0.3px}
.main-gallery-guarantee-value {font:bold 64px/70px PlayfairDisplay, serif; margin:-11px 0 0 0}
.main-gallery-guarantee-text {font-size:14px; line-height:18px; letter-spacing:0.3px; padding:2px 0 0 0}

@media screen and (max-width:767px) {
    .main-gallery-text-inner {padding:48px 32px; height:auto}
    .main-gallery-text-inner::before {height:100%; width:216px}
}

.main-gallery-link {margin:40px 0 0 0; position:relative; font-size:12px; line-height:14px; letter-spacing:2px; text-transform:uppercase; text-align:right}
.main-gallery-link::before {content:""; display:block; position:absolute; left:0; top:50%; right:0; height:1px; background:#151515}
.main-gallery-link a {display:inline-block; vertical-align:top; padding:0 64px 0 24px; text-decoration:none; position:relative; background:#fff}
.main-gallery-link a::after {content:""; display:block; width:48px; height:16px; position:absolute; right:0; top:-1px; background:url(../images/main-gallery-link.svg) no-repeat; background-size:100% 100%; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.main-gallery-link a:hover::after {transform:translateX(8px)}

@media screen and (max-width:1279px) {
    .main-gallery-link {margin:28px 0 0 -24px}
}

@media screen and (max-width:767px) {
    .main-gallery-link {margin:25px 0 0 0; text-align:left}
    .main-gallery-link::before {display:none}
    .main-gallery-link a {padding:0 64px 0 0}
}

.clients {margin:116px 0 0 0}
.clients-title {font:bold 36px/48px PlayfairDisplay, serif}
.clients-list {margin:23px -8px 0 -8px}
.clients-list::after {content:""; display:block; clear:both}
.clients-item {float:left; width:16.66%; padding:16px 8px 0 8px; position:relative}
.clients-item:hover {z-index:2}
.clients-item-inner {display:block; text-decoration:none; height:112px; background:#f4f1f2; position:relative}
.clients-item-logo {position:absolute; left:0; top:0; right:0; bottom:0}
.clients-item-logo img {display:block; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); max-width:90%; max-height:90%}
.clients-item-bg {position:absolute; left:0; top:0; right:0; bottom:0; background:no-repeat center; background-size:cover; opacity:0; transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.clients-item:hover .clients-item-bg {opacity:1}
.clients-item-text {display:none; position:absolute; width:232px; right:-176px; top:-27px; background:#151515; color:#fff; padding:16px 24px 17px 24px; font-size:16px; line-height:21px; letter-spacing:0.3px; color:#f3f6f8}
.clients-item:hover .clients-item-text {display:block}
.clients-item:nth-child(6n) .clients-item-text {right:auto; left:-176px}

@media screen and (max-width:1439px) {
    .clients {margin:80px 0 0 0}
}

@media screen and (max-width:1279px) {
    .clients {margin:56px 0 0 0}
    .clients-item {width:25%}
    .clients-item:nth-child(6n) .clients-item-text {right:-176px; left:auto}
    .clients-item:nth-child(4n) .clients-item-text {right:auto; left:-176px}
}

@media screen and (max-width:767px) {
    .clients {margin:80px 0 0 0; position:relative; padding:0 0 32px 0}
    .clients-list {width:192px; position:static}
    .clients .slick-slider {overflow:visible !important; position:static}
    .clients .slick-list {overflow:visible !important}
    .clients-item {width:192px}
    .clients-item:hover .clients-item-text {display:none}
    .clients .slick-dots {margin:0; padding:0; height:auto; list-style:none; position:absolute; left:0; bottom:0; right:0; text-align:center}
    .clients .slick-dots li {margin:0 0 0 8px; padding:0; display:inline-block; vertical-align:middle; position:relative}
    .clients .slick-dots li::before {display:none}
    .clients .slick-dots li:first-child {margin:0}
    .clients .slick-dots li button {display:block; position:relative; width:8px; height:8px; border-radius:50%; border:2px solid #151515; background:#151515; margin:0; padding:0; outline:none; -webkit-appearance:none; cursor:pointer; font-size:0; line-height:0; text-indent:100px}
    .clients .slick-dots li.slick-active button {background:#f3f6f8; width:10px; height:10px}
}

.services-item {display:block; height:240px; margin:16px 0; text-decoration:none; position:relative; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1); background:#f3f6f8}
.services-item:hover {color:#fff}
.services-item::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.services-item:hover::before {transform:scaleX(1)}
.services-item-preview {display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:no-repeat center; background-size:cover}
.services-item-preview::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#f3f6f8; transform:scaleX(1); transform-origin:center right; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.services-item:hover .services-item-preview::before {transform:scaleX(0)}
.services-item-number {position:absolute; left:45px; bottom:0; width:2px; background:#151515; height:101px; transition:background 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.services-item:hover .services-item-number {background:#fff}
.services-item-number span {display:block; position:absolute; left:0; top:-26px; font-size:14px; line-height:17px; letter-spacing:0.3px; color:#000; transform:rotate(-90deg); transform-origin:left center; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.services-item:hover .services-item-number span {color:#fff}
.services-item-title {font:bold 48px/64px PlayfairDisplay, serif; position:absolute; left:84px; bottom:43px; right:51px}

@media screen and (max-width:1279px) {
    .services-item {height:192px}
}

@media screen and (max-width:767px) {
    .services-item {height:112px}
    .services-item-title {font-size:24px; line-height:22px; left:54px; bottom:24px; right:16px}
    .services-item-number {left:29px; height:64px}
}

.breadcrumbs {margin:64px 0 32px 0; font-size:14px; line-height:18px; letter-spacing:0.3px}
.breadcrumbs a {text-decoration:none; display:inline-block; vertical-align:top; position:relative}
.breadcrumbs a::before {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#bdbdbd; pointer-events:none}
.breadcrumbs a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#000; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.breadcrumbs a:hover::after {transform:scale(1)}

@media screen and (max-width:1279px) {
    .breadcrumbs {margin:40px 0 24px 0}
}

@media screen and (max-width:767px) {
    .breadcrumbs {margin:32px 0 16px 0}
}

.service-detail {position:relative}
.service-detail::before {content:""; display:block; position:absolute; left:-200px; top:0; right:-200px; background:#f3f6f8; height:456px}
.service-detail::after {content:""; display:block; clear:both}
.service-detail-header {float:left; width:50%; padding:0 10px 0 0; position:relative}
.service-detail-header h1 {margin-bottom:10px}
.service-detail-main-photo {float:right; width:50%; padding:114px 0 0 0; position:relative; line-height:0}
.service-detail-main-photo img {display:block; width:100%}
.service-detail-info {float:left; width:50%; padding:62px 10px 0 0; position:relative}
.service-detail-text {max-width:312px; margin:0 auto}
.service-detail-right {float:right; clear:right; width:50%; padding:98px 0 0 0; position:relative}
.service-detail-photo {float:right; clear:right; width:50%; padding:16px 0 0 0; position:relative; line-height:0}
.service-detail-photo img {display:block; width:100%}
.service-order {margin:72px 0 0 0; border-left:3px solid #151515; padding:32px 0 28px 37px}
.service-order-title {text-transform:uppercase; font-size:10px; line-height:16px; letter-spacing:0.8px}
.service-order-text {font-size:16px; line-height:21px; letter-spacing:0.3px; margin:13px 0 0 0}
.service-order-feedback {margin:31px 0 0 0}
.service-order-feedback a {display:block; width:254px; height:64px; border:1px solid #000; color:#000; text-align:center; font-size:14px; line-height:62px; letter-spacing:0.3px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-order-feedback a:hover {color:#fff}
.service-order-feedback a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-order-feedback a:hover::before {transform:scaleX(1)}
.service-order-feedback a span {position:relative}
.service-order-feedback a svg {display:inline-block; vertical-align:middle; margin:-2px 18px 0 0}
.service-order-feedback a path {fill:#151515; transition:fill 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-order-feedback a:hover path {fill:#fff}
.service-order-btn {margin:16px 0 0 0}
.service-order-btn a {display:block; width:254px; height:64px; border:1px solid #000; color:#000; text-align:center; font-size:14px; line-height:62px; letter-spacing:0.3px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-order-btn a:hover {color:#fff}
.service-order-btn a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-order-btn a:hover::before {transform:scaleX(1)}
.service-order-btn a span {position:relative}
.service-detail-portfolio {float:right; clear:right; margin:16px 0 0 0; width:50%; background:#151515; position:relative; min-height:288px; padding:34px 138px 85px 37px}
.service-detail-portfolio::after {content:""; display:block; width:98px; height:98px; position:absolute; right:30px; bottom:27px; background:url(../images/gallery-header.png) no-repeat center; background-size:contain}
.service-detail-portfolio-title {text-transform:uppercase; font-size:10px; line-height:16px; letter-spacing:0.8px; color:#f3f6f8}
.service-detail-portfolio-list {font-size:16px; line-height:19px; letter-spacing:0.3px; margin:18px 0 0 0}
.service-detail-portfolio-list a {color:#828282; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-detail-portfolio-list a:hover {color:#fff}
.service-detail-portfolio-item {margin:8px 0 0 0}
.service-detail-portfolio-all {position:absolute; left:37px; bottom:33px; font-size:16px; line-height:19px; letter-spacing:0.3px}
.service-detail-portfolio-all a {color:#f3f6f8}
.service-detail-delivery-menu {float:right; clear:right; width:50%; margin:114px 0 0 0; position:relative; height:640px; background:#000 url(../images/delivery-menu.jpg) no-repeat center; background-size:cover}
.service-detail-delivery-menu::before {content:""; display:block; position:absolute; left:48px; top:24px; right:48px; height:1px; background:#828282}
.service-detail-delivery-menu::after {content:""; display:block; position:absolute; left:48px; bottom:24px; right:48px; height:1px; background:#828282}
.service-detail-delivery-menu-inner {position:absolute; left:0; top:0; right:0; bottom:0}
.service-detail-delivery-menu-inner::before {content:""; display:block; position:absolute; top:48px; left:24px; bottom:48px; width:1px; background:#828282}
.service-detail-delivery-menu-inner::after {content:""; display:block; position:absolute; top:48px; right:24px; bottom:48px; width:1px; background:#828282}
.service-detail-delivery-menu-title {position:absolute; left:0; top:129px; right:0; text-align:center; color:#fff; font:bold 64px/70px PlayfairDisplay, serif; text-transform:uppercase}
.service-detail-delivery-menu-logo {position:absolute; left:50%; top:241px; margin-left:-50px; width:100px; height:100px; background:url(../images/gallery-header.png) no-repeat center; background-size:contain}
.service-detail-delivery-menu-link {position:absolute; left:0; bottom:122px; right:0; text-align:center}
.service-detail-delivery-menu-link a {display:inline-block; vertical-align:top; width:254px; height:64px; border:1px solid #fff; color:#fff; font-size:12px; line-height:62px; letter-spacing:2px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-detail-delivery-menu-link a:hover {color:#000}
.service-detail-delivery-menu-link a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#fff; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.service-detail-delivery-menu-link a:hover::before {transform:scaleX(1)}
.service-detail-delivery-menu-link a span {position:relative}

@media screen and (max-width:1439px) {
    .service-detail::before {left:-64px; right:-64px}
}

@media screen and (max-width:1279px) {
    .service-detail::before {left:-24px; right:-24px}
    .service-detail-header {width:100%; padding:0 0 0 10px}
    .service-detail-info {padding:50px 10px 0 0}
    .service-detail-text {margin:0}
    .service-detail-main-photo {padding:64px 0 0 0}
}

@media screen and (max-width:767px) {
    .service-detail::before {left:-16px; right:-16px; height:267px}
    .service-detail-header {width:auto; float:none; padding:0; overflow:hidden}
    .service-detail-main-photo {width:auto; float:none; padding:40px 0 0 0}
    .service-detail-info {float:none; width:auto; padding:0; margin:40px 0 0 0}
    .service-detail-text {max-width:none}
    .service-detail-right {float:none; width:auto; padding:0; margin:16px 0 0 0}
    .service-detail-photo {float:none; width:auto; padding:0; margin:16px 0 0 0}
    .service-detail-portfolio {float:none; margin:16px 0 0 0; width:auto; min-height:288px; padding:32px 16px 33px 16px}
    .service-detail-portfolio-all {left:16px}
    .service-order {margin:52px 0 40px 0}
    .service-detail-delivery-menu {float:none; width:auto; margin:32px 0; height:380px}
    .service-detail-delivery-menu-title {top:51px; font-size:48px; line-height:41px}
    .service-detail-delivery-menu-logo {top:131px}
    .service-detail-delivery-menu-link {bottom:64px}
    .service-detail-delivery-menu-link a {width:190px}
}

.team {margin:0 -8px; font-size:0; line-height:0; letter-spacing:-1px}
.team::after {content:""; display:block; clear:both}
.team-item {display:inline-block; vertical-align:top; width:33.33%; padding:0 8px 16px 8px}
.team-item-inner {position:relative}
.team-item-inner img {display:block; width:100%}
.team-item-text {position:absolute; left:32px; bottom:32px; right:32px}
.team-item-name {font:bold 24px/36px PlayfairDisplay, serif; letter-spacing:0; color:#fff}
.team-item-post {font-size:18px; line-height:24px; letter-spacing:0; color:#f3f6f8; margin:4px 0 0 0}
.team-btn {margin:16px 0 0 0; text-align:center}
.team-btn a {display:inline-block; vertical-align:top; width:254px; height:64px; border:1px solid #000; color:#000; text-align:center; font-size:12px; line-height:62px; letter-spacing:2px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.team-btn a:hover {color:#fff}
.team-btn a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.team-btn a:hover::before {transform:scaleX(1)}
.team-btn a span {position:relative}

@media screen and (max-width:1279px) {
    .team-item {width:50%}
}

@media screen and (max-width:767px) {
    .team-item {width:100%}
    .team-btn {display:none}
}

.contacts {margin:80px 0 0 0}
.contacts::after {content:""; display:block; clear:both}
.contacts-info {float:left; width:50%}
.contacts-info h2 {margin:0}
.contacts-text {margin:24px 0 0 0}
.contacts-data {margin:40px 0 0 0; padding:46px 0 48px 123px; position:relative}
.contacts-data::before {content:""; display:block; width:280px; top:0; bottom:0; position:absolute; left:0; background:#f3f6f8 url(../images/contacts.png) no-repeat 3px 22px}
.contacts-address {position:relative; padding:0 0 0 33px; font-size:16px; line-height:21px; letter-spacing:0.3px}
.contacts-address::before {content:""; display:block; position:absolute; left:11px; top:50%; width:12px; height:16px; margin-top:-7px; background:url(../images/contacts-address.svg) no-repeat; background-size:100%}
.contacts-email {position:relative; padding:0 0 0 33px; font-size:16px; line-height:21px; letter-spacing:0.3px; margin:6px 0 16px 0}
.contacts-email::before {content:""; display:block; position:absolute; left:9px; top:50%; width:16px; height:12px; margin-top:-5px; background:url(../images/contacts-email.svg) no-repeat; background-size:100%}
.contacts-email a {text-decoration:none; display:inline-block; vertical-align:top; position:relative}
.contacts-email a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#000; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.contacts-email a:hover::after {transform:scale(1)}
.contacts-phone {position:relative; margin:2px 0 0 0; font:bold 36px/48px PlayfairDisplay, serif; font-feature-settings:"pnum" on, "lnum" on}
.contacts-phone a {text-decoration:none; display:inline-block; vertical-align:top; position:relative}
.contacts-phone a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#000; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.contacts-phone a:hover::after {transform:scale(1)}
.contacts-btn {margin:32px 0 0 0}
.contacts-btn a {display:inline-block; vertical-align:top; width:254px; height:64px; border:1px solid #000; color:#000; text-align:center; font-size:12px; line-height:62px; letter-spacing:2px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.contacts-btn a:hover {color:#fff}
.contacts-btn a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.contacts-btn a:hover::before {transform:scaleX(1)}
.contacts-btn a span {position:relative}

@media screen and (max-width:1279px) {
    .contacts-info {float:none; width:auto}
    .contacts-btn {display:none}
}

@media screen and (max-width:767px) {
    .contacts {margin:30px 0 0 0}
    .contacts-data {padding-left:102px}
    .contacts-data::before {width:163px; background-position:-20px 22px}
    .contacts-address::before {top:10px}
    .contacts-phone {font-size:24px; line-height:22px}
}

.contacts-map {float:right; width:50%}
.contacts-map-inner {height:528px}

@media screen and (max-width:1279px) {
    .contacts-map {float:none; width:auto; margin:64px 0 0 0}
}

.gallery-header {background:#151616; padding:114px 112px 199px 112px; position:relative; margin:0 -112px}
.gallery-header::before {content:""; display:block; position:absolute; right:0; top:48px; width:345px; height:384px; background:url(../images/gallery-header.png) no-repeat center; background-size:contain; opacity:0.15}
.gallery-header h1 {margin:0; color:#fff; position:relative}
.gallery-menu {margin:64px 0 0 0; font-size:16px; line-height:19px; letter-spacing:0.3px; position:relative}
.gallery-menu ul {margin:0; padding:0; list-style:none; border-bottom:1px solid #828282}
.gallery-menu ul::after {content:""; display:block; clear:both}
.gallery-menu ul li {float:left; margin:0 0 0 40px; padding:0; position:relative}
.gallery-menu ul li:first-child {margin:0}
.gallery-menu ul li::before {display:none}
.gallery-menu ul li a {display:block; padding:20px 0; color:#828282; transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1); text-decoration:none; position:relative}
.gallery-menu ul li a:hover,
.gallery-menu ul li.active a {color:#fff}
.gallery-menu ul li a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:3px; background:#fff; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); transform:scale(0, 1); transform-origin:left center}
.gallery-menu ul li.active a::after {transform:scale(1, 1)}

@media screen and (max-width:1439px) {
    .gallery-header {padding:114px 64px 199px 64px; margin:0 -64px}
    .gallery-header::before {width:265px}
}

@media screen and (max-width:1279px) {
    .gallery-header {padding:82px 24px 176px 24px; margin:0 -24px}
    .gallery-menu {margin:60px -24px 0 0; font-size:0; line-height:0; letter-spacing:-1px; white-space:nowrap}
    .gallery-menu ul::after {display:none}
    .gallery-menu ul li {float:none; display:inline-block; vertical-align:top; font-size:16px; line-height:19px; letter-spacing:0.3px; margin:0; padding:0 40px 0 0}
}

@media screen and (max-width:767px) {
    .gallery-header {padding:66px 16px 301px 16px; margin:0 -24px}
    .gallery-header::before {display:none}
    .gallery-menu {margin:28px -24px 0 0}
}

.gallery-list {position:relative; margin:-175px -8px 0 -8px; font-size:0; line-height:0; letter-spacing:-1px}
.gallery-list-inner {position:relative}
.gallery-item {display:inline-block; vertical-align:top; width:50%}
.gallery-item-inner {padding:0 8px 16px 8px}
.gallery-item-inner a {display:block; color:#fff; text-decoration:none; position:relative}
.gallery-item-inner-image {display:block; height:154px; background:#f3f6f8 url(../images/logo.png) no-repeat center; background-size:contain}
.gallery-item-inner img {display:block; width:100%}
.gallery-item-inner a::before {content:""; display:block; position:absolute; left:0; top:0; right:0; bottom:0; opacity:0; background:linear-gradient(0.15deg, rgba(0, 0, 0, 0.64) 0.18%, rgba(0, 0, 0, 0) 29.11%), linear-gradient(25.16deg, rgba(0, 0, 0, 0.6) 28.35%, rgba(114, 101, 86, 0.45) 78.04%); transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.gallery-item-inner a:hover::before {opacity:1}
.gallery-item-inner span {display:block; position:absolute; left:30px; bottom:30px; right:30px; font-size:16px; line-height:19px; letter-spacing:0.3px; text-decoration:underline; opacity:0; transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.gallery-item-inner a:hover span {opacity:1}
.gallery-item-inner a::after {content:""; display:block; position:absolute; left:50%; top:50%; width:80px; height:80px; margin:-40px 0 0 -40px; opacity:0; background:url(../images/gallery-view.svg) no-repeat; transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.gallery-item-inner a:hover::after {opacity:1}

@media screen and (max-width:1279px) {
    .gallery-list {margin:-152px -8px 0 -8px}
}

@media screen and (max-width:767px) {
    .gallery-list {margin:-269px 0 0 0}
    .gallery-item {display:block; width:100%}
    .gallery-item-inner {padding:0 0 16px 0}
}

.page-404 {background:#151616; padding:64px 112px 88px 112px; position:relative; margin:0 -112px; color:#fff}
.page-404::before {content:""; display:block; position:absolute; right:0; top:48px; width:345px; height:384px; background:url(https://cateringteam.ru/images/gallery-header.svg) no-repeat}
.page-404-number {font-size:14px; line-height:18px; letter-spacing:0.3px}
.page-404-title {font:bold 64px/70px PlayfairDisplay, serif; color:#f3f6f8; padding:32px 0 0 0}
.page-404-text {font-size:18px; line-height:24px; color:#f3f6f8; padding:32px 0 0 0}
.page-404-btn {padding:32px 0 0 0}
.page-404-btn a {display:block; vertical-align:top; text-align:center; width:248px; height:64px; border:1px solid #fff; background:#fff; color:#000; font-size:12px; line-height:62px; letter-spacing:2px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.page-404-btn a:hover {color:#fff}
.page-404-btn a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.page-404-btn a:hover::before {transform:scaleX(1)}
.page-404-btn a span {position:relative}

@media screen and (max-width:1439px) {
    .page-404 {margin:0 -64px; padding:64px 64px 88px 64px}
    .page-404::before {width:265px}
}

@media screen and (max-width:1279px) {
    .page-404 {margin:0 -24px; padding:40px 24px 80px 24px}
}

@media screen and (max-width:767px) {
    .page-404 {margin:0 -16px; padding:32px 16px 64px 16px}
    .page-404::before {display:none}
    .page-404-title {font-size:36px; line-height:36px; padding:24px 0 0 0}
    .page-404-btn {padding:40px 0 0 0}
}

.gallery-detail {margin:0 -112px; padding:64px 112px 72px 112px; position:relative; background:#151616}
.gallery-detail::before {content:""; display:block; position:absolute; right:0; top:48px; width:345px; height:384px; background:url(https://cateringteam.ru/images/gallery-header.svg) no-repeat}

@media screen and (max-width:1439px) {
    .gallery-detail {padding:64px 64px 72px 64px; margin:0 -64px}
    .gallery-detail::before {width:265px}
}

@media screen and (max-width:1279px) {
    .gallery-detail {padding:40px 24px 64px 24px; margin:0 -24px}
}

@media screen and (max-width:767px) {
    .gallery-detail {padding:32px 16px 42px 16px; margin:0 -16px}
    .gallery-detail::before {display:none}
}

.gallery-detail-section {font-size:14px; line-height:18px; letter-spacing:0.3px; color:#fff}
.gallery-detail-section a {color:#fff; text-decoration:underline}
.gallery-detail-section a:hover {text-decoration:none}

.gallery-detail h1 {margin:32px 0 0 0; max-width:790px; font-size:64px; line-height:70px; color:#f3f6f8}

@media screen and (max-width:1279px) {
    .gallery-detail h1 {margin:24px 0 0 0}
}

@media screen and (max-width:767px) {
    .gallery-detail h1 {font-size:36px; line-height:36px}
}

.gallery-detail-info {font-size:16px; line-height:19px; letter-spacing:0.3px; color:#828282; margin:83px 0 0 0; border-bottom:1px solid #828282; padding:0 0 19px 0}
.gallery-detail-info a {color:#828282; text-decoration:underline}
.gallery-detail-info a:hover {text-decoration:none}
.gallery-detail-info ul {margin:0; padding:0; list-style:none}
.gallery-detail-info ul::after {content:""; display:block; clear:both}
.gallery-detail-info ul li {float:left; margin:0 0 0 64px; padding:0}
.gallery-detail-info ul li:first-child {margin:0}
.gallery-detail-info ul li::before {display:none}

@media screen and (max-width:1279px) {
    .gallery-detail-info {margin:75px 0 0 0}
}

@media screen and (max-width:767px) {
    .gallery-detail-info {margin:40px 0 0 0}
    .gallery-detail-info ul::after {display:none}
    .gallery-detail-info ul li {float:none; margin:12px 0 0 0}
    .gallery-detail-info ul li:first-child {margin:0}
}

.gallery-detail-big {margin:40px 0 0 0; font-size:0; line-height:0; letter-spacing:-1px; position:relative; white-space:nowrap}
.gallery-detail-big-list {width:100%; position:relative; overflow:hidden}
.gallery-detail-big-list.slick-initialized {overflow:visible}
.gallery-detail-big-item {display:inline-block; vertical-align:top; width:100%; overflow:hidden; position:relative}
.gallery-detail-big-item img {display:block; height:648px; margin:0 auto}
.gallery-detail-big .slick-prev,
.gallery-detail-big .slick-next {display:block; position:absolute; z-index:2; top:50%; width:53px; height:16px; border:none; border-radius:0; margin:0; padding:0; outline:none; -webkit-appearance:none; cursor:pointer; background:transparent; transition:all 0.2s; overflow:hidden}
.gallery-detail-big .slick-prev {left:-53px; transform:rotate(-180deg)}
.gallery-detail-big .slick-next {right:-53px}
.gallery-detail-big .slick-prev:hover,
.gallery-detail-big .slick-next:hover {width:86px}
.gallery-detail-big .slick-prev svg,
.gallery-detail-big .slick-next svg {display:block; position:absolute; right:0; top:0}
.gallery-detail-big .slick-prev path,
.gallery-detail-big .slick-next path {fill:#828282; transition:all 0.2s}
.gallery-detail-big .slick-prev:hover path,
.gallery-detail-big .slick-next:hover path {fill:#f3f6f8}
.gallery-detail-big .slick-disabled {display:none !important}

@media screen and (max-width:1439px) {
    .gallery-detail-big-item img {height:592px}
}

@media screen and (max-width:1279px) {
    .gallery-detail-big {margin:24px 0 0 0}
    .gallery-detail-big-item img {height:512px}
    .gallery-detail-big .slick-prev,
    .gallery-detail-big .slick-next {width:15px}
    .gallery-detail-big .slick-prev {left:-15px}
    .gallery-detail-big .slick-next {right:-15px}
    .gallery-detail-big .slick-prev:hover,
    .gallery-detail-big .slick-next:hover {width:46px}
}

@media screen and (max-width:767px) {
    .gallery-detail-big {margin:27px 0 0 0}
    .gallery-detail-big-item img {height:auto}
    .gallery-detail-big-item {display:block; margin:16px 0 0 0}
}

.gallery-detail-preview {margin:24px 0 0 0}
.gallery-detail-preview::after {content:""; display:block; clear:both}

@media screen and (max-width:767px) {
    .gallery-detail-preview {display:none}
}

.gallery-detail-preview-container {float:left; width:960px; font-size:0; line-height:0; letter-spacing:-1px; white-space:nowrap}
.gallery-detail-preview-list {position:relative; width:100%; overflow:hidden}
.gallery-detail-preview-item {display:inline-block; vertical-align:top; width:20%; padding:0 16px 0 0}
.gallery-detail-preview-item a {display:block; position:relative; padding:0 0 6px 0; overflow:hidden}
.gallery-detail-preview-item img {display:block; height:112px; margin:0 auto}
.gallery-detail-preview-item a::after {content:""; display:block; position:absolute; left:0; top:0; right:0; bottom:6px; background:linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)); transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border:2px solid transparent}
.gallery-detail-preview-item.active a::after {border-color:#828282}
.gallery-detail-preview-item a:hover::after {background:transparent}
.gallery-detail-preview-item a::before {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:2px; background:#828282; transform:scale(0, 1); transform-origin:left center; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.gallery-detail-preview-item.active a::before {transform:scale(1, 1)}

@media screen and (max-width:1439px) {
    .gallery-detail-preview-container {width:880px}
}

@media screen and (max-width:1279px) {
    .gallery-detail-preview-container {width:528px}
    .gallery-detail-preview-item {width:33.33%}
}

.gallery-detail-ctrl {float:right; color:#828282; font:bold 48px/48px PlayfairDisplay, serif}
.gallery-detail-ctrl span {color:#fff}
.gallery-detail-ctrl strong {font-weight:bold}

@media screen and (max-width:767px) {
    .gallery-detail-ctrl {display:none}
}

.gallery-detail-next-title {text-align:center; margin:96px 0 0 0; text-transform:uppercase; font-size:10px; line-height:16px; letter-spacing:0.8px; color:#828282}
.gallery-detail-next-link {text-align:center; font-size:16px; line-height:19px; letter-spacing:0.3px; margin:16px 0 0 0}

@media screen and (max-width:1279px) {
    .gallery-detail-next-title {margin:64px 0 0 0}
}

@media screen and (max-width:767px) {
    .gallery-detail-next-title {margin:57px 0 0 0}
}

footer {margin:136px 0 0 0}
.footer-inner {margin:0 -200px; padding:66px 200px 0 200px; border-top:1px solid #151515; position:relative}
.footer-logo {width:53px; height:53px; background:url(../images/logo.png) no-repeat center; background-size:contain; position:absolute; left:90px; top:42px}
.footer-inner::after {content:""; display:block; clear:both}

@media screen and (max-width:1439px) {
    footer {margin:68px 0 0 0}
    .footer-inner {margin:0 -64px; padding:66px 64px 0 64px}
    .footer-logo {left:0}
}

@media screen and (max-width:1279px) {
    footer {margin:98px 0 0 0}
    .footer-inner {margin:0 26px 0 0; padding:40px 0 45px 0; text-align:center}
    .footer-logo {display:none}
}

@media screen and (max-width:767px) {
    footer {margin:89px 0 0 0}
    .footer-inner {margin:0 32px 0 0; padding:40px 0 60px 0}
}

.footer-menu {float:left; margin:14px 0 0 0}
.footer-menu ul {float:left; margin:0; padding:0 20px 0 0; list-style:none; width:192px; font-size:16px; line-height:19px; letter-spacing:0.3px; font-weight:bold}
.footer-menu ul li {margin:16px 0 0 0; padding:0}
.footer-menu ul li:first-child {margin:0}
.footer-menu ul li::before {display:none}
.footer-menu ul li a {color:#000; text-decoration:none; display:inline-block; vertical-align:top; position:relative}
.footer-menu ul li a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#000; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.footer-menu ul li a:hover::after {transform:scale(1)}
.footer-menu ul li ul {font-size:14px; line-height:18px; font-weight:500; margin:16px 0 0 0}
.footer-menu ul li ul li {margin:8px 0 0 0}
.footer-menu ul li ul li:first-child {margin:0}
.footer-menu ul li ul li a {color:#828282}
.footer-menu ul li ul li a::after {background:#828282}

@media screen and (max-width:1279px) {
    .footer-menu {display:none}
}

.footer-contacts {float:right; margin:1px 0 0 0; text-align:right}
.footer-contacts-feedback {font:bold 24px/36px PlayfairDisplay, serif}
.footer-contacts-feedback a {text-decoration:none; display:inline-block; vertical-align:top; position:relative; color:#000}
.footer-contacts-feedback a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#000; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.footer-contacts-feedback a:hover::after {transform:scale(1)}
.footer-contacts-address {font-size:14px; line-height:18px; letter-spacing:0.3px; margin:12px 0 0 0; color:#000}
.footer-contacts-email {font-size:14px; line-height:18px; letter-spacing:0.3px; margin:8px 0 0 0; color:#000}
.footer-contacts-email a {text-decoration:none; display:inline-block; vertical-align:top; position:relative; color:#000}
.footer-contacts-email a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#000; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.footer-contacts-email a:hover::after {transform:scale(1)}
.footer-contacts-phone {margin:22px 0 0 0}
.footer-contacts-phone a {display:inline-block; vertical-align:top; height:64px; border:1px solid #000; color:#000; padding:0 30px; font-weight:normal; font-size:14px; line-height:62px; letter-spacing:0.3px; position:relative; text-decoration:none; text-transform:uppercase; transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.footer-contacts-phone a:hover {color:#fff}
.footer-contacts-phone a::before {content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:#000; transform:scaleX(0); transform-origin:center left; transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.footer-contacts-phone a:hover::before {transform:scaleX(1)}
.footer-contacts-phone a span {position:relative}
.footer-contacts-phone a svg {display:inline-block; vertical-align:middle; margin:-2px 18px 0 0}
.footer-contacts-phone a path {fill:#151515; transition:fill 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.footer-contacts-phone a:hover path {fill:#fff}
.footer-contacts-social {margin:24px 0 0 0; font-size:0; line-height:0; letter-spacing:-1px}
.footer-contacts-social a {display:inline-block; vertical-align:top; margin:0 0 0 16px}
.footer-contacts-social a:first-child {margin:0}

@media screen and (max-width:1279px) {
    .footer-contacts {float:none; margin:0; text-align:center}
    .footer-contacts-address {margin:16px 0 0 0}
    .footer-contacts-phone {margin:24px 0 0 0}
    .footer-contacts-phone a {padding:0 32px; font-weight:500}
    .footer-contacts-social {margin:32px 0 0 0}
    .footer-contacts-social a {margin:0 0 0 48px}
    .footer-contacts-social a:first-child {margin:0}
}

.footer-bottom {float:left; width:100%; padding:88px 0 93px 0; font-size:14px; line-height:18px; letter-spacing:0.3px}
.footer-copyrights {float:left}
.footer-developer {float:right}
.footer-developer a {text-decoration:none; display:inline-block; vertical-align:top; position:relative}
.footer-developer a::after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; height:1px; background:#000; transform-origin:left center; transform:scale(0); transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none}
.footer-developer a:hover::after {transform:scale(1)}

@media screen and (max-width:1279px) {
    .footer-bottom {float:none; width:auto; padding:32px 0 0 0}
    .footer-copyrights {float:none}
    .footer-developer {float:none; margin:8px 0 0 0}
}

.up-link {display:block; position:absolute; right:76px; top:83px; width:17px; height:87px; background:url(../images/up-link.svg) no-repeat}

@media screen and (max-width:1439px) {
    .up-link {right:-32px}
}

@media screen and (max-width:1279px) {
    .up-link {right:-32px; top:0; width:16px; height:33px; background:url(../images/up-link-mobile.svg) no-repeat}
}

.window-open,
.window-open body {overflow:hidden; position:fixed; left:0; top:0; right:0; bottom:0}

.window {position:fixed; left:0; top:0; right:0; bottom:0; z-index:99997; overflow:auto; background:#000}
.window-loading {position:absolute; left:50%; top:50%; width:24px; height:24px; margin:-12px 0 0 -12px; background:url(../images/loading.gif)}
.window-container {position:absolute; z-index:99999; left:50%; top:50%; transition:transform 0.2s, opacity 0.2s}
.window-container-preload {transform:scale(0.5); opacity:0}
.window-content {position:relative; background:#fff}
.window-close {display:block; position:absolute; width:56px; height:56px; right:80px; top:52px; background:url(../images/window-close.svg) no-repeat center}

@media screen and (max-width:767px) {
    .window-close {right:21px; top:21px}
}

.window-inner {width:751px; padding:57px 95px 76px 95px}
.window-inner h2 {margin:0}
.window-form {margin:71px 0 0 0}

@media screen and (max-width:1439px) {
    .window-inner {width:688px; padding:53px 88px 80px 88px}
}

@media screen and (max-width:767px) {
    .window-inner {width:360px; padding:64px 16px 53px 16px}
    .window-inner h2 {font-size:48px; line-height:41px}
}

.success-text {margin:26px 0 38px 0}
.success-btn {width:272px}
.success-btn .btn {padding:0; width:100%; text-align:center}

@media screen and (max-width:1439px) {
    .success-btn {width:248px}
}

@media screen and (max-width:767px) {
    .success-btn {width:auto}
}


.cookies-message {display:none; position:fixed; width:378px; right:51px; bottom:26px; z-index:20; background:#FFFFFF; box-shadow:2px 6px 22px rgba(0, 0, 0, 0.11); border-radius:16px; padding:34px 38px 34px 24px; font-size:14px; line-height:16px; font-weight:normal; color:#151515}
.cookies-message p {margin:14px 0 0 0}
.cookies-message p:first-child {margin:0}
.cookies-message-close {position:absolute; right:6px; top:6px; width:36px; height:36px}
.cookies-message-close svg {display:block; width:36px; height:36px; fill:#828282; transition:fill 0.2s}
.cookies-message-close:hover svg {fill:#000}

@media (max-width:1150px) {
    .cookies-message {width:auto; left:0; right:0; bottom:0; padding:20px 36px 20px 16px; font-size:12px; line-height:16px; border-radius:0}
    .cookies-message p {margin:12px 0 0 0}
    .cookies-message p:first-child {margin:0}
}