@charset "UTF-8";
.triline {
    display: inline-block;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: pointer;
    width: 1em;
    height: 1em;    
}

.triline * {
    display: block;
    position: relative;
    background-color: #000;
    width: 100%;
    height: 1px;        
}

.triline *:before, .triline *:after {
    content: "";
    position: absolute;
    left: 0;
    background-color: inherit;  
    width: 100%;
    -webkit-transition: transform 0.4s;
    -moz-transition: transform 0.4s;
    transition: transform 0.4s;
}

.triline:hover *, .triline:hover *:before, .triline:hover *:after {
    background-color: #5B0D6B;   
}

.amber .triline *, .amber .triline:hover *, .amber .triline:hover *:before, .amber .triline:hover *:after {
    background-color: #fff !important;
}

.triline {
    width: 18px;
    height: 16px;
}

.mlink .triline {
	top: 2.5rem;
}

.triline *:before, .triline *:after {
    height: 1px;
}

.triline *:before {   
    top: -6px;
}
.triline *:after {   
    bottom: -6px;
}

.triline.active * {   
    background: transparent;
}

.triline.active *:before {
    top: 0;
    background-color: #000;    
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg); 
    transform: rotate(-45deg);
}

.triline.active *:after {
    bottom: 0;
    background-color: #000;       
    -webkit-transform: rotate(45deg); 
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.stacktable.large-only {
    display: table;
}

.stacktable.small-only {
    display: none;
}

@media only screen and (min-width: 0) and (max-width: 1024px) {
    html {
		font-size: 15px;
		position: static;		
    }
	html.fixed, html.fixed body {
		margin: 0;
		height: 100%;
		overflow: hidden;
	}
    .wrapper {
        width: 90%;
    }
	.wrapper.over {
		width: 90%;
		left: 5%;
	}
	.grid {
		width: 100%;		
	    margin-left: 0;
	    margin-right: 0;		
	}
	/*
	main > .wrapper.frame-bg {
		padding-left: 5%;
		padding-right: 5%;
	}
	*/
	header {
		position: fixed;
		left: 0;
		top: 0;
		border-bottom: 1px solid rgba(91,13,107,20%);
	}
	header .wrapper {
		height: 4rem;
	}		
    header .logo {
		width: 50px;
		height: 50px;
		top: 0.375em;
		background-image: url('/images/logo-mobile.svg');				
    }
	header .phone-block	{
		flex-direction: row-reverse;		
	}	
	header .feedback-link {
		margin: -4px 0 0 1.5em;
		display: none;
	}
	header .feedback-link a {
		display: none;
		text-indent: -1000px;
		border: none;
	}
	header .feedback-link.icon:before {
		display: block;
	}
    header .icon.search:before {
		font-size: 1.125em;		
	}
	.menu-block .mlink {
		display: inline-block;
		margin-left: 1.25em;
    }	
	.logo-level .grid {
		justify-content: flex-end;
	}	
    .menu-block > div:nth-child(1) {
        display: none;
    }
    .btm li:last-of-type {
		text-align: left;
    }
    .menu.mobile {
		position: fixed;
		top: 4rem;
		left: 0;
		background-color: #5B0D6B;
		color: #FFF;
		width: 100%;
		padding: 2em 0 1em;
		line-height: 1;
		text-transform: uppercase;
		z-index: 1200;
		max-height: calc(100vh);
		overflow-y: scroll;
    }    
    .menu.mobile > li {
		margin: 0 0 1.5rem 5%;
		padding: 0;	
		display: block;
    }	
    .menu.mobile li a {
		display: inline-block;		
        color: #FFF;
		font-weight: 400;
    }
    .menu.mobile li a.active {
        font-weight: 700;
    }
	.menu > li > ul > li {
		padding: 0 0 0.75em;
	}
    .menu.mobile .triline.active * {   
        background: transparent;
    }  
    .menu.mobile .triline {
		position: absolute;
		right: 5%;
		top: 0.5rem;
		padding-top: 0.5em;	
    }    
    .menu.mobile .triline *, .menu.mobile .triline *:before, .menu.mobile .triline *:after {
        background-color: #FFF;	
    }
    .menu.mobile .mbl span {
		display: none;
    }
    .menu.mobile .sub-menu {
		padding: 1.5em 0 0 1.25em;
		display: none;
		font-size: 0.875em;
    }
    .menu.mobile .sub-menu.active {
		display: block;
	}
    .menu.mobile ul li {
		padding-bottom: 1.5rem;	
    }
	.menu.mobile .hdr {
		font-size: initial;
		color: #fff;
		letter-spacing: unset;
	}
	main {
		margin-top: 4rem;
	}
    h1, .main-hdr, .promo-txt h1 {
		font-size: 1.75em;
    }
	h2, .h2 {
		font-size: 1.875rem;
		color: #000;
	}
	.content h2, .content .h2 {
		font-size: 1.25em;
		color: #000;
	}
	.booking .title {
		font-size: 2em;
	}
	.form input {
		height: 2.25rem;
	}
    .btn {
		padding: 0 1rem;
		height: 2.75rem;
		line-height: 2.75rem;		
    } 	
	.search-block .btn {
		height: 2.25rem;
		line-height: 2.25rem;
	}	
	.grid.col3-2 > * {
		width: 100% !important;
		margin: 0 0 2rem 0 !important;
		padding: 0 !important;
	}
	.path li:nth-child(n+4) {
		display: none;
	}

	.search-block {
		top: 6.75rem;
	}
	.grid.col3 > li, .grid.col4 > .box, .grid.col4 > li, .grid.col4 > .box {
		width: 50%;
		padding: 0;		
	}
	.media.full, .media.full li, .media.full .slide	{
		height: 40vh;
	}
	.promo-prod .slide {
		min-height: 30rem;
	}
	footer .grid.col4 .box:not(.mbl) {
		display: none;
	}
	.sub-menu-block {
		width: 28%;
		padding: 1rem 1.5rem 2rem 5%;
	}
	.wrapper.side {
		padding: 2rem 0 0 26%;
	}
	.menu-v {
		margin: 1rem 0;
	}
	header .phone {
		font-weight: 500;
		font-size: 0.875em;
	}
	.area.shater, .area.caffe {
		height: 5rem;
	}
	.scheme .sub-title {
		font-size: 0.625rem;
	}
	.area.fireplace > .sub-title, .level1 .area.welcome > .sub-title, .area.small-hall > .sub-title {
		bottom: 0.5rem;
	}
	.scheme-grid > .box {
		padding: 0 0 0 3rem;
	}
	.area .sub-title span {
		padding: 0;
	}
	.grid.col2-ext > .box:nth-child(1) {
		padding: 0;
	}
	.grid.col2-ext > .box:nth-child(2) {
		width: 75%;
		padding: 0 0 0 3rem;
	}
	.rating-block {
		top: 0.9375rem;
		left: 3.5rem;
		width: 7rem;
		min-height: 2.75rem;
		box-shadow: none;		
	}
	.rating-block .short, .rating-block .detail {
		margin: 0;
	}
	.rating-block .icon:before {
		font-size: 1rem;
	}
	.rating-block .short.active {
		height: 2rem;

	}
	.rating-block .detail.active {
		height: 16rem;

	}
	.rating-block .title {
		margin: 0 0 0.125rem;
	}
}

@media only screen and (min-width: 0) and (max-width: 767px) {
	.sub-menu-block {
		display: none;
	}
	.wrapper.side {
		padding: 2rem 0 0 0;
	}	
	main > .wrapper.top {
		padding-top: 2rem;
		padding-bottom: 1rem;
	}	
	.path {
		padding: 0 0 0.5rem;
		margin: 0.5rem 0 0rem;
	}		
	.padd4 {
		padding: 2em 0;
	}
    .grid.col3 > *, .grid.col4 > * {
		width: 33.333333%;
		padding: 0 1rem 0 1rem;
    }
	.mfp-wrap .mfp-arrow:before {
		text-shadow: 0px -1px 0px #555;		
	}
	.mfp-wrap .mfp-arrow {
		width: 2rem;		
	}
	.mfp-wrap .mfp-close {
		height: 3rem;
		width: 3rem;
	}	
	.media.full .subtitle {
		font-size: 1.5em;
	}
	.item-count {
		font-size: 1.25em;	
	}
	.mfp-img-frame {
		padding: 1em;
	}
	/*
	img.mfp-img {
		padding: 1em 2em;
	}
	*/
	.mfp-iframe-holder {
		height: 86%;
		top: 7%;
	}
	.mfp-iframe-holder .mfp-content {
		width: 100%;
	}
    main .grid > *, footer .grid > * {
		width: 100% !important;
		margin: 0 0 1rem 0;
		padding-left: 0 !important;
		padding-right: 0 !important;
    }
    .gallery .grid > * {
		margin: 0;
	}
	.grid.col2-2 {
		margin: 0 !important;
	}
	header.grid.col2-2 > .box {
		width: auto !important;
		padding: 0 !important;
	}	
    .columns {
        -webkit-column-count: 1 !important;
        -moz-column-count: 1 !important;
        column-count: 1 !important;
    }
    footer .box {
		text-align: center;
    }
    .btm li {
		width: 100% !important;
		padding: 0 !important;
		margin-bottom: 2em;
		text-align: center !important;
    }
	.mfp-img-frame {
		padding: 0;
	}
	.media.full .title {
		font-size: 1.75rem;
	}
	h1, .main-hdr {
		font-size: 1.75em;
		margin-bottom: 1.5rem;
	}
	.hdr {
		font-size: 1.25em;
		letter-spacing: 0.05em;
	}
	.mfp-iframe-modal {
		padding: 1.25rem 1.5rem;
	}
    .form-ctrl > *:not(div):not(script) {
		display: block;
		height: 2.75rem;
		width: 100%;
    }
	.form.border {
		padding: 1.5rem 0;
		border: unset;
		border-top: 1px dashed #ccc;
		border-bottom: 1px dashed #ccc;
	}
	.form.border.top {
		padding: 1.5rem 0 0;
		border: unset;
		border-top: 1px dashed #ccc;  
	}
	.iframe .form-ctrl {
		margin-bottom: 2rem;
	}
	.media.full .subtitle {
		font-size: 1.25em;
	}
	.media .txt .btn {
		margin-top: 1em;
	}
	.mfp-glr {
		padding: 1rem 0;
	}
	.mfp-glr .thumb {
		width: 4rem;
		height: 3rem;
		margin: 0 0.5rem 1rem;
		padding: 0.25rem;
	}
	.search-block .grid .box:nth-child(1) {
		display: none;
	}
	.search-block .grid .box {
		margin: 0;
		width: 100% !important;
		padding-left: 0 !important;		
	}		
	.search-block form {
		width: 90%;	
	}
	.content {
		color: #000;
		font-size: 1.0625em;
	}
	.content img {
		max-width: 100%!important;
	}
	.pic-left, .pic-right {
		float: none;
		width: 100% !important;
		height: auto !important;
		margin: 0em 0 0.5em;
	}
	.video-frame {
		width: 100%;
		float: none;
		padding: 0.5em 0;
	}
	.slick-gallery .mfp-arrow {
		color: #fff;
		text-shadow: 0px 1px 0px #000;
	}
	.slick-gallery .mfp-arrow.left {
		left: 0.25rem;
	}	
	.slick-gallery .mfp-arrow.right {
		right: 0.25rem;
	}
	.promo-prod .slide {
		min-height: 70vw;
	}
	main .btn-block > *:nth-child(n+2) {
		margin:0
	}	
	main .btn-block {
		justify-content: center !important;
		display: block;
		text-align: center;		
	}
	main .btn-block > * {
		width: 100%;
		margin: 0 0 1em;
	}
	main .btn-block > *:not(input) {
		text-align: center;
		display: block;		
	}
	main .form .btn-block .btn {
		margin: 0;
	}		
	.split-block .bg-box {
		width: 100%;
	}
	.split-block:not(.over) .bg-box {
		position: relative;
		height: 50vh;
	}
	.split-block.short .bg-box {
		height: 40vh;
	}	
	.split-block .video-block {
		height: auto;	
	}
	.split-block .wrapper > div {
		width: 100%;
		padding: 1.5rem 0 3rem 0 !important;
	}
	footer {
		padding-top: 2.5rem;
	}
	footer .box+.box {
		margin-top: 2rem;
	}
	footer .btm {
		padding: 1.5rem 0 0;
	}
	.social {
		justify-content: center;
		margin: 0 0 2em;		
	}
	.tools-block .icon div {
		display: none;
	}
	.grid-flex {
		display: block;
	}
	footer	.grid-flex {
		text-align: center;
	}
	.menu-block > div+div {
		margin-left: 0;
	}	
	.mbl-first {
		order: -1;
	}
	.media .txt {
		width: 70%;
	}
	.form .hdr {
		margin-bottom: 1.5rem;
	}
	.tile-block, .tile-block .grid {
		height: auto !important;
		min-height: auto !important;
	}
	.tile-block .tile {
		height: 13em;
		width: 100%;
		-webkit-flex: auto;
		-ms-flex: auto;
		flex: auto;
		margin-bottom: 0 !important;		
	}
	.tile-block .tile:before {
		opacity: 1;
	}
	.tile-block .tile+.tile {
		border-left: 0;
	}
	.tile .title {
		opacity: 1;
	}
	.tile:before {
	   opacity: 1;
	}
	.grid-flex.advant {
		margin: 2rem auto;
	}
	.advant > div, .advant > div a  {
		width: 100% !important;
		padding: 0 !important;
	}		
	.advant > div+div {
		margin-top: 1.5rem;
	}
	footer .grid-flex > div {
		width: 100% !important;
		margin-bottom: 2rem;
	}
	footer .grid-flex > div:nth-child(1) .txt+.txt {
		display: none;
	}	
	footer .grid-flex > div:nth-child(2) {
		display: none;
	}
	.key-block {
	    padding: 0;
	}
	.key-txt ul li+li {
		margin-top: 0.75em;
	}	
	.split-block .gallery {
		display: none;
	}
	.split-wrapper.over {
		padding: 2rem 0 0;
		margin: 0 auto;
		width: 90%;	
	}
	.booking .bg-box {
		height: auto !important;
	}
	.zone-block {
		padding: 2rem 0 3rem;
	}
	.zone-block .grid.col2-ext > .box:nth-child(1) {
		display: none;
	}
	.zone {
	    margin: 0 0 2rem 6rem;
	}
	.scheme-grid {
		margin-top: 4rem;
	}	
	.area .sub-title span {
		padding: 0 0.25em;
	}
	.scheme .sub-title {
		font-size: 0.75rem;
	}
	.area.shater, .area.caffe {
		height: 6rem;
		left: -6rem;
		width: 4rem;
	}
	.area.svadby {
		left: -6rem;
	}
	.tile-block:not(.shuffle) {
		display: none;
	}
	.tile {
		height: 40vh;
		background-size: cover;
		background-position: center;
		opacity: 1 !important;
	}
	.slider-main {
		display: block;
	}
	.split-block .btn-block, .promo-txt .btn-block {
		margin: 2rem 0 0;
	}
	.split-block .wrapper {
		min-height: auto;
	}
	.split-block.over {
		height: auto;		
		border-bottom: 4px solid #fff;
		min-height: auto;		
	}	
	.embed-block:not(.slider) {
		display: none;
	}
	.embed-block.slider {
		position: relative;
		top: unset; 
		right: unset;
		bottom: unset;
		height: 30vh;
	}
	.split-block .split-wrapper {
		padding-left: 5% !important;
		padding-right: 5% !important;
		margin: 0;
	}
	.split-block.left .split-wrapper {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.split-block.over .bg-box.white {
		position: relative;
	}
	.split-block.over .title {
		font-size: 1.75em;
	}
	.split-block.over .grid > .box:nth-child(1) {
		display: none;
	}
	.split-block.over .grid > .box:nth-child(2) {
		margin-bottom: 0;
		min-height: unset;
	}	
	.tile-gallery {
		display: flex;
	}		
	.tile-gallery .tile {
		height: 8em;
		width: 50% !important;
	}
	.menu-list .tbl > li {
		align-items: flex-start;
	}
	.menu-list .tbl .pic {
		max-width: 18rem;
		padding-right: 0.5rem;
	}
	.menu-list .tbl .price {
		padding-left: 0;
	}
	.menu-list .tbl .desc {
		display: block;
	}
	.menu-list .tbl .note {
		padding-right: 0;
	}
	.menu-list .tbl .title {
		line-height: 1rem;
		padding-bottom: 0.5rem;
	}	
	.menu-list .tbl .txt {
		color: #000;
		margin: 0.125rem 0 0.5rem;		
		line-height: 1.25em;
		font-size: 0.8125em;
	}
	.key-block-link {
		padding: 0;
		background: none;
	}
	.frame-bg:before {
		background-image: url('/images/bg-spring-top-mobile.png');
		opacity: 0.3;
	}
	.frame-bg:after {
		background-image: url('/images/bg-spring-bottom-mobile.png');
		opacity: 0.3;
	}	
	.frame-bg.booking.spring:before {
		background-image: url('/images/bg-spring-top-mobile.png');
		opacity: 0.3;		
	}
	.split-block.grey {
		background-color: #f7f7f7;
	}
	.split-wrapper.frame-bg:before, .split-wrapper.frame-bg:after {
		display: block;
	}
	/*
	.frame-bg:before {
		display: none !important;
		content: "";
		position: absolute;
		top: 0;
		bottom: -2%;
		left: -2%;
		right: 0;
		background-image: url('/images/bg-summer-left.png?1');
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: auto;
	}
	.frame-bg:after {
		display: none !important;
	}
	*/
	.mfp-arrow.mobile {
		display: inline-block !important;
	}
	.btn {
		background-color: #873f93;
		color: #FFF;
		font-weight:500;
		border: 1px solid #873f93;
	}
	.key-title {
		font-size: 1em;
	}
	.tile-block.by-zone {
		display: block;
	}
	.tile-block.by-zone .grid {
		display: block;
	}
	.by-zone .tile {
		display: block;
	}
	.bg-white.deep .btn-block {
		display: flex;
		gap: 1rem;
	}
	.bg-white.deep .btn-block .btn {
		margin: 0;
	}
	.content b, .content strong {
		font-weight: 400;
		color: #333;
	}
	.grid.feat > div .pic:hover {
		-webkit-transform: scale(1.25);
		-moz-transform: scale(1.25);
		transform: scale(1.25);   
	}
	.logo-level .flex-1, .tile-block .tile.flex-1 {
		flex: 1;
	}
	.wrapper.frame-bg {
		padding-left: 5%;
		padding-right: 5%;
	}
	.split-block .split-wrapper.over {
		padding: 0 !important;
		width: 90%;
		margin: 0 5%;
	}
	.split-wrapper.over.bottom .btn-block {
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-end !important;
		align-items: flex-end !important;
		margin: 0;
	}
	.split-block.revert {
		display: flex;
		flex-flow: column;
	}
	.split-block.revert > div:nth-child(1) {
		order: 2;
	}
	.embed-block:not(.slider) {
		display: block; 
		position: relative;
		height: 50vh;
		/*56.25%;*/
	}
	
	.embed-block video {
		object-fit: cover;
		object-position: center;
		-webkit-transform: translateX(-50%) translateY(-50%);
		-moz-transform: translateX(-50%) translateY(-50%);
		-ms-transform: translateX(-50%) translateY(-50%);
		-o-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(0);
		position: absolute;
		top: 0;
		left: 50%;
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: 100%;
	}
	.mbl-center {
		text-align: center;
	}
}
@media only screen and (min-width: 0) and (max-width: 359px) {
	.scheme .sub-title {
		font-size: 0.625rem;
	}
	header .logo {
		width: 40px;
		height: 50px;			
	}
	.rating-block {
		left: 2.75rem;
		width: 6rem;
	}
	.menu-block .mlink {
		margin-left: 1rem;		
	}
	header .phone {
		letter-spacing: 0;
	}
}
