/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article, aside, footer, header, nav, section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption, figure, main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b, strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b, strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code, kbd, samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio, video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button, input, optgroup, select, textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button, input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button, select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"], [type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}
html > body > nav.main > a.choose, html > body > header > div.subtitle > button.go-down, html > body > header > div.subtitle > a, html > body > main > section > p.goto > a, #lightbox > div.content > div.body > form > div.success > p.controls > button, #lightbox > div.content > div.body > form > ul.fields > li > button, html > body > main > section.subscribe > form > div.success > p.controls > button, html > body > main > section.subscribe > form > ul.fields > li > button
{
	
	display: inline-block;
	
	box-sizing: border-box;
	height: 56px;
	padding: 0 47px;
	margin: 0;
	
	font-size: 16px;
	font-weight: 700;
	line-height: 56px;
	white-space: nowrap;
	text-align: center;
	
	-webkit-appearance: none;
	
	   -moz-appearance: none;
	
	        appearance: none;
	
	color: white;
	background: #fcba04;
	
	border: none;
	border-radius: 28px;
	box-shadow: 16px 0 20px rgba( 86, 63, 0, 0.08 );
	
	transition: background 0.3s;
}
html > body > nav.main > a.choose:not([disabled]), html > body > header > div.subtitle > button.go-down:not([disabled]), html > body > header > div.subtitle > a:not([disabled]), html > body > main > section > p.goto > a:not([disabled]), #lightbox > div.content > div.body > form > div.success > p.controls > button:not([disabled]), #lightbox > div.content > div.body > form > ul.fields > li > button:not([disabled]), html > body > main > section.subscribe > form > div.success > p.controls > button:not([disabled]), html > body > main > section.subscribe > form > ul.fields > li > button:not([disabled])
	{
		cursor: pointer;
	}
html > body > nav.main > a.choose:not([disabled]):focus, html > body > nav.main > a.choose:not([disabled]):hover, html > body > header > div.subtitle > button.go-down:not([disabled]):focus, html > body > header > div.subtitle > a:not([disabled]):focus, html > body > header > div.subtitle > button.go-down:not([disabled]):hover, html > body > header > div.subtitle > a:not([disabled]):hover, html > body > main > section > p.goto > a:not([disabled]):focus, html > body > main > section > p.goto > a:not([disabled]):hover, #lightbox > div.content > div.body > form > div.success > p.controls > button:not([disabled]):focus, #lightbox > div.content > div.body > form > div.success > p.controls > button:not([disabled]):hover, #lightbox > div.content > div.body > form > ul.fields > li > button:not([disabled]):focus, #lightbox > div.content > div.body > form > ul.fields > li > button:not([disabled]):hover, html > body > main > section.subscribe > form > div.success > p.controls > button:not([disabled]):focus, html > body > main > section.subscribe > form > div.success > p.controls > button:not([disabled]):hover, html > body > main > section.subscribe > form > ul.fields > li > button:not([disabled]):focus, html > body > main > section.subscribe > form > ul.fields > li > button:not([disabled]):hover
		{
			background: #2c1f3d;
		}

/**
 * Сбросить всё оформление со стандартной кнопки
 */
/**
 * Сбросить оформление с details и скрыть контент
 */
#lightbox > div.content > div.body > form > ul.fields > li.checkbox > input, html > body > main > section.subscribe > form > ul.fields > li.checkbox > input
{
	
	position: absolute;
	z-index: -1;
	
	opacity: 0;
}
#lightbox > div.content > div.body > form > ul.fields > li.checkbox > input + label, html > body > main > section.subscribe > form > ul.fields > li.checkbox > input + label
	{
		position: relative;
		
		display: block;
		
		padding: 0 0 0 35px;
		
		font-size: 14px;
	}
#lightbox > div.content > div.body > form > ul.fields > li.checkbox > input + label::before, html > body > main > section.subscribe > form > ul.fields > li.checkbox > input + label::before
		{
			position: absolute;
			top: 50%;
			left: 0;
			
			box-sizing: border-box;
			width: 25px;
			height: 25px;
			
			content: "";
			
			border: 1px solid #d4d7d9;
			border-radius: 3px;
			
			-webkit-transform: translateY(-12px);
			
			        transform: translateY(-12px);
			
			transition: border-color 0.3s;
		}
#lightbox > div.content > div.body > form > ul.fields > li.checkbox > input:hover + label::before, html > body > main > section.subscribe > form > ul.fields > li.checkbox > input:hover + label::before
		{
			border-color: rgb(185, 189, 193);
		}
#lightbox > div.content > div.body > form > ul.fields > li.checkbox > input:focus + label::before, html > body > main > section.subscribe > form > ul.fields > li.checkbox > input:focus + label::before
		{
			border-color: rgb(131, 139, 145);
			outline: none;
		}
#lightbox > div.content > div.body > form > ul.fields > li.checkbox > input:checked + label::after, html > body > main > section.subscribe > form > ul.fields > li.checkbox > input:checked + label::after
		{
			
			position: absolute;
			top: 50%;
			left: 0;
			
			box-sizing: border-box;
			width: 15px;
			height: 8px;
			
			content: "";
			
			border-bottom: 1px solid;
			border-left: 1px solid;
			
			-webkit-transform: translate(5px, calc(-50% - 3px)) scaleX(0.9) rotate(-45deg);
			
			        transform: translate(5px, calc(-50% - 3px)) scaleX(0.9) rotate(-45deg);
		}
#lightbox > div.content > div.body > h2, #lightbox > div.content > div.body > h3, #lightbox > div.content > div.body > ul.frames > li > h3, html > body > header > h1, html > body > main > section > h2, #lightbox > div.content > div.body > form > div.success > p:first-of-type, html > body > main > section.commercial > div.filter > h3, html > body > main > section.subscribe > form > div.success > p:first-of-type
{
	margin: 0 0 24px;
	
	font-family: "Circe",sans-serif;
	font-size: 44px;
	font-weight: 300;
	line-height: 1.09;
}
#lightbox > div.content > div.body > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"]), #lightbox > div.content > div.body > form > ul.fields > li > textarea, html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"])
{
	box-sizing: border-box;
	height: 40px;
	padding: 0 15px;
	
	color: #2c1f3d;
	background: white;
	
	border: 1px solid #d4d7d9;
	border-radius: 3px;
	
	transition: border-color 0.3s;
}
#lightbox > div.content > div.body > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"]):hover, #lightbox > div.content > div.body > form > ul.fields > li > textarea:hover, html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"]):hover
	{
		border-color: rgb(185, 189, 193);
	}
#lightbox > div.content > div.body > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"]):focus, #lightbox > div.content > div.body > form > ul.fields > li > textarea:focus, html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"]):focus
	{
		border-color: rgb(131, 139, 145);
		outline: none;
	}

#lightbox > div.content > div.body > form > ul.fields > li > label, html > body > main > section.subscribe > form > ul.fields > li > label
{
	display: block;
	
	padding: 0 0 10px;
}
#lightbox > div.content > div.body > p, html > body > main > section > p
{
	margin: 0 0 24px;
	
	line-height: 1.5;
}
html > body > header
{
	position: relative;
	z-index: 1;
	
	overflow: hidden;
	
	box-sizing: border-box;
	height: auto;
	min-height: 100vh;
	padding: 0 0 0 70px;
}
%button_stroke:not([disabled]):hover, %button_stroke:not([disabled]):focus
	{
		color: #513870;
		background: white;
	}
html > body > header > div.subtitle > button.go-down, html > body > header > div.subtitle > a
{

	color: #513870;
	background: white;

	transition:
		color 0.3s,
		background 0.3s;
}
html > body > header > div.subtitle > button.go-down:hover, html > body > header > div.subtitle > a:hover
	{
		color: white;
	}
html > body > main > section.subscribe > form > ul.fields > li.checkbox > input + label::before
		{
			background-color: rgb(90, 66, 119);
			
			border-color: rgb(116, 96, 141);
		}
html > body > main > section.subscribe > form > ul.fields > li.checkbox > input:hover + label::before
		{
			border-color: rgb(151, 136, 169);
		}
html > body > main > section.subscribe > form > ul.fields > li.checkbox > input:focus + label::before
		{
			border-color: rgb(220, 215, 226);
		}
#lightbox > div.content > div.body > h2, html > body > main > section.commercial > div.filter > h3
{
	font-size: 30px;
	line-height: 1.2;
}
#lightbox > div.content > div.body > h3, #lightbox > div.content > div.body > ul.frames > li > h3, #lightbox > div.content > div.body > form > div.success > p:first-of-type, html > body > main > section.subscribe > form > div.success > p:first-of-type
{
	font-size: 21px;
	font-weight: 400;
	line-height: 1.5;
}
html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"])
{
	color: white;
	background-color: rgb(90, 66, 119);
	
	border-color: rgb(116, 96, 141);
}
html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"]):hover
	{
		border-color: rgb(151, 136, 169);
	}
html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"]):focus
	{
		border-color: rgb(220, 215, 226);
	}

#lightbox > div.content > div.body > form > ul.fields > li > textarea
{
	height: 120px;
	padding-top: 15px;
	padding-bottom: 15px;
	
	resize: none;
}
html > body > main > section.commercial > div.filter
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	
	box-sizing: border-box;
	-webkit-flex-shrink: 0;
	    -ms-flex-negative: 0;
	        flex-shrink: 0;
	width: calc(31.25vw - 22px);
	padding: 50px calc(3.13vw - 2px) 100px calc(6.25vw - 4px);
	
	color: white;
	background-color: #513870;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
@supports (display: grid)
	{
	}

@supports (display: grid)
	{
		
		@media (max-width: 1099px)
		{
		}
	}

#lightbox
{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 4;
	
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	
	width: 100%;
	height: 100vh;
}

#lightbox::before
	{
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
		
		content: "";
		pointer-events: none;
		
		opacity: 0;
		background: black;
		
		transition: opacity 0.3s;
	}

@-webkit-keyframes blink
{
	from
	{
		opacity: 1;
	}
	50%
	{
		opacity: 0.5;
	}
	to
	{
		opacity: 1;
	}
}

@keyframes blink
{
	from
	{
		opacity: 1;
	}
	50%
	{
		opacity: 0.5;
	}
	to
	{
		opacity: 1;
	}
}

@-webkit-keyframes fade-in
{
	from
	{
		opacity: 0;
	}
	
	to
	{
		opacity: 1;
	}
}

@keyframes fade-in
{
	from
	{
		opacity: 0;
	}
	
	to
	{
		opacity: 1;
	}
}

@-webkit-keyframes rotate
{
	0%
	{
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100%
	{
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}

@keyframes rotate
{
	0%
	{
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100%
	{
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}

@-webkit-keyframes slide-from-left
{
	from
	{
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
	to
	{
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

@keyframes slide-from-left
{
	from
	{
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
	to
	{
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

@-webkit-keyframes slide-from-right
{
	from
	{
		-webkit-transform: translateX(100%);
		        transform: translateX(100%);
	}
	to
	{
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

@keyframes slide-from-right
{
	from
	{
		-webkit-transform: translateX(100%);
		        transform: translateX(100%);
	}
	to
	{
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

@font-face
{
	font-family: "Circe";
	font-style: normal;
	font-weight: 300;
	font-display: fallback;
	src: local("Circe Light"), local("Circe-Light"),
		url("fonts/circe/circe-light.woff2") format("woff2"),
		url("fonts/circe/circe-light.woff") format("woff");
}

@font-face
{
	font-family: "Circe";
	font-style: normal;
	font-weight: 400;
	font-display: fallback;
	src: local("Circe"), local("Circe Regular"), local("Circe-Regular"),
		url("fonts/circe/circe-regular.woff2") format("woff2"),
		url("fonts/circe/circe-regular.woff") format("woff");
}

@font-face
{
	font-family: "Circe";
	font-style: normal;
	font-weight: 700;
	font-display: fallback;
	src: local("Circe Bold"), local("Circe-Bold"),
		url("fonts/circe/circe-bold.woff2") format("woff2"),
		url("fonts/circe/circe-bold.woff") format("woff");
}

html
{
	overflow-y: scroll;
	
	font-family: "Circe",sans-serif;
	font-size: 17px;
}

a.lazy-image
{
	display: block;
	
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
}

a
{
	color: inherit;
	
	transition: color 0.3s;
}

a:hover
	{
		color: #fcba04;
	}

input, textarea, select, button
{
	font-family: inherit;
}

span.nowrap
{
	white-space: nowrap;
}

#lightbox.open::before
	{
		opacity: 0.2;
	}

#lightbox.open > div.content
{
	-webkit-transform: translateX(0);
	        transform: translateX(0);
	
	transition-timing-function: ease-out;
}

#lightbox > div.content
{
	position: absolute;
	top: 0;
	right: 0;
	
	box-sizing: border-box;
	width: calc(50vw - 35px);
	min-width: 540px;
	min-height: 100%;
	padding: 40px calc(6.25vw - 4px) 100px;
	
	background: white;
	
	box-shadow: -1px 0px 2px rgba(0, 0, 0, 0.2);
	
	-webkit-transform: translateX(100%);
	
	        transform: translateX(100%);
	
	transition-property: -webkit-transform;
	
	transition-property: transform;
	
	transition-property: transform, -webkit-transform;
	transition-duration: 0.3s;
	transition-timing-function: ease-in;
	
	will-change: transform;
}

html > body
{
	min-width: 320px;
	
	color: #2c1f3d;
	background: white;
}

html > body.video-lightbox > aside#lightbox
	{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-align-items: center;
		    -ms-flex-align: center;
		        align-items: center;
		
		padding: 0;
	}

html > body.video-lightbox > aside#lightbox::before, html > body.video-lightbox > aside#lightbox::after
		{
			content: none;
		}

html > body.video-lightbox > aside#lightbox > div.content
		{
			position: static;
			
			width: 80%;
			min-height: 0;
			padding: 0;
			
			background: none;

			box-shadow: none;
		}

html > body.video-lightbox > aside#lightbox > div.content > header
			{
				display: none;
			}

html > body.video-lightbox > aside#lightbox > div.content > div.body
			{
				position: relative;
				
				width: 100%;
				height: 0;
				padding-top: 62.5%;
			}

html > body.video-lightbox > aside#lightbox > div.content > div.body > div.video-full, html > body.video-lightbox > aside#lightbox > div.content > div.body > div.video-full > iframe
				{
					position: absolute;
					top: 0;
					left: 0;
					
					width: 100%;
					height: 100%;
				}

html > body > a.up
{
	
	position: fixed;
	right: 15px;
	bottom: 40px;
	z-index: 2;
	
	display: block;
	overflow: hidden;
	
	width: 60px;
	height: 60px;
	
	text-indent: 100%;
	white-space: nowrap;
	
	pointer-events: none;
	
	opacity: 0;
	background: #513870;
	
	border-radius: 50%;
	box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);
	
	-webkit-transform: translateY(110px);
	
	        transform: translateY(110px);
	
	transition: opacity 0.3s,
		-webkit-transform 0.3s;
	
	transition: transform 0.3s,
		opacity 0.3s;
	
	transition: transform 0.3s,
		opacity 0.3s,
		-webkit-transform 0.3s;
}

html > body > a.up:hover
	{
		background: #fcba04;
	}

html > body > a.up::before
	{
		
		position: absolute;
		top: 50%;
		left: 50%;
		
		width: 20px;
		height: 20px;
		margin: -10px 0 0 -10px;
		
		content: "";
		
		background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='15' viewBox='0 0 20 15' stroke='white'%3E%3Cpath fill='none' stroke-miterlimit='10' d='M12 .5l7 7-7 7M19 7.5H0'/%3E%3C/svg%3E") center center no-repeat;
		
		-webkit-transform: scale(1.5) rotate(-90deg);
		
		        transform: scale(1.5) rotate(-90deg);
		
		transition: -webkit-transform 0.3s;
		
		transition: transform 0.3s;
		
		transition: transform 0.3s, -webkit-transform 0.3s;
	}

html > body > a.up.visible
	{
		pointer-events: auto;
		
		opacity: 1;
		
		-webkit-transform: translateY(0);
		
		        transform: translateY(0);
	}

#lightbox > div.content > header
{
	position: relative;
	
	height: 0;
}

/**
 * Сбросить всё оформление со стандартной кнопки
 */

#lightbox > div.content > header > button.close
{
	display: inline;
	
	box-sizing: content-box;
	padding: 0;
	margin: 0;
	
	-webkit-appearance: none;
	
	   -moz-appearance: none;
	
	        appearance: none;
	
	background: transparent;
	
	border: none;
	/*@include icon-close($size, 36px);*/
	
	position: absolute;
	top: -40px;
	right: calc(-6.25vw - -4px);
	
	display: block;
	overflow: hidden;
	
	width: calc(6.25vw - 4px);
	height: 110px;
	
	text-indent: 100%;
	white-space: nowrap;
	
	background: url("images/btn-close.svg") center 40px no-repeat;
	
	transition: -webkit-transform 0.3s;
	
	transition: transform 0.3s;
	
	transition: transform 0.3s, -webkit-transform 0.3s;
	will-change: transform;
}

#lightbox > div.content > header > button.close:not([disabled])
	{
		cursor: pointer;
	}

#lightbox > div.content > header > button.close:not([disabled]):hover, #lightbox > div.content > header > button.close:focus
	{
		outline: none;
		
		-webkit-transform: scale(1.2);
		
		        transform: scale(1.2);
	}

#lightbox > div.content > div.body > dl
{
	font-size: 14px;
	line-height: 1.3;
}

#lightbox > div.content > div.body > dl > dt
	{
		margin: 0 0 10px;
		
		font-size: 16px;
		font-weight: 700;
	}

#lightbox > div.content > div.body > dl > dd
	{
		margin: 0 0 20px;
	}

#lightbox > div.content > div.body > h2 > img
	{
		max-width: 100%;
		max-height: 60px;

		object-fit: contain;
	}

#lightbox > div.content > div.body > h3
{
	
	margin: 30px 0 20px;
}

#lightbox > div.content > div.body > img, #lightbox > div.content > div.body > p>img
{
	display: block;
	
	max-width: 100%;
	margin: 25px auto;
}

#lightbox > div.content > div.body > time
{
	display: block;
	
	margin: 0 0 45px;
	
	font-size: 14px;
	vertical-align: middle;
}

#lightbox > div.content > div.body > time > svg
	{
		margin-right: 0.5em;
		
		vertical-align: bottom;
		
		fill: currentColor;
	}

#lightbox > div.content > div.body > ul.documents
{
	
	padding: 0;
	margin: 20px 0;
	
	font-weight: 700;
	line-height: 1.3;
	
	list-style: none;
}

#lightbox > div.content > div.body > ul.documents > li
	{
		display: block;
		
		margin-bottom: 20px;
	}

#lightbox > div.content > div.body > ul.documents > li > a
		{
			position: relative;
			
			display: block;
			
			text-decoration: none;
		}

#lightbox > div.content > div.body > ul.documents > li > a > svg
			{
				position: relative;
				top: -2px;
				
				width: 15px;
				height: 19px;
				margin-right: 5px;
				
				vertical-align: middle;
				
				opacity: 0.4;
				
				stroke: currentColor;
				
				transition: opacity 0.3s;
			}

#lightbox > div.content > div.body > ul.documents > li > a:hover > svg
				{
					opacity: 1;
				}

#lightbox > div.content > div.body > ul.documents > li > a > small
			{
				display: block;
				
				padding-left: 20px;
				margin-top: 5px;
				
				font-size: 14px;
				font-weight: 400;
			}

#lightbox > div.content > div.body > ul.frames
{
	padding: 0;
	margin: 20px 0;
	
	list-style: none;
}

#lightbox > div.content > div.body > ul.frames > li
	{
		display: block;
		
		margin-bottom: 20px;
	}

#lightbox > div.content > div.body > ul.frames > li > iframe
		{
			display: block;
			
			width: 100%;
			
			border: none;
		}

#lightbox > div.content > div.body > ul.images
{
	padding: 0;
	margin: 20px 0;
	
	list-style: none;
}

#lightbox > div.content > div.body > ul.images > li
	{
		display: block;
		
		margin-bottom: 20px;
	}

#lightbox > div.content > div.body > ul.images > li > img
		{
			display: block;
			
			width: 100%;
		}

#lightbox > div.content > div.body > ul:not([class])
{
	list-style: none;
}

#lightbox > div.content > div.body > ul:not([class]) > li
	{
		position: relative;

		line-height: 1.5;
	}

#lightbox > div.content > div.body > ul:not([class]) > li:not(:last-child)
		{
			margin-bottom: 8px;
		}

#lightbox > div.content > div.body > ul:not([class]) > li::before
		{
			position: absolute;
			top: 10px;
			left: -30px;

			width: 20px;
			height: 2px;

			content: '';

			background: #fcba04;
		}

html > body.lightbox-mode-fullscreen > #lightbox
{
	position: absolute;
	
	height: auto;
	min-height: 100vh;
}

html > body.lightbox-mode-fullscreen > #lightbox::before
	{
		display: none;
	}

html > body.lightbox-mode-fullscreen > footer
{
	display: none;
}

html > body.lightbox-mode-fullscreen > main
{
	display: none;
}

html > body.lightbox-mode-fullscreen > nav.main
{
	display: none;
}

html > body > div.video-ligthbox
{
	

}

html > body > div.video-ligthbox > iframe
{

}

html > body > footer
{
	position: relative;
	z-index: 1;
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	-webkit-align-items: space-between;
	    -ms-flex-align: space-between;
	        align-items: space-between;
	overflow: hidden;
	
	box-sizing: border-box;
	padding: 60px
		calc(6.25vw - 4px)
		60px
		calc(6.25vw + 66px);
	
	font-size: 14px;
	
	border-top: 1px solid #e6e6e6;
}

html > body > footer > div.contacts
{
	min-width: 250px;
	margin-right: 5%;
}

html > body > footer > div.contacts > a.tel
	{
		display: block;
		
		margin-left: -1ex;
		margin-bottom: 34px;
		
		font-size: 21px;
		text-decoration: none;
		white-space: nowrap;
	}

html > body > footer > div.contacts > p.opening-hours
	{
		margin-bottom: 8px;
		
		line-height: 1.5;
		
		opacity: 0.5;
	}

html > body > footer > div.contacts > p.opening-hours > span
		{
			white-space: nowrap;
		}

html > body > footer > div.contacts > p.copyright
	{
		margin-top: 0;
		
		white-space: nowrap;
	}

/* TODO: Разобраться с сортировкой, убрать screen */

html > body > footer > div.info
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	
	-webkit-flex: auto;
	
	    -ms-flex: auto;
	
	        flex: auto;
	min-width: 240px;
	padding-top: 3px;
}

html > body > footer > div.info > p
	{
		margin-top: 0;
		
		line-height: 1.5;
	}

html > body > footer > div.info > p > a
		{
			text-decoration: none;
		}

html > body > footer > div.info > p.address
		{
			margin-bottom: 17px;
		}

html > body > footer > div.info > p.privacy
		{
			width: 100%;
		}

html > body > footer > div.info > p.privacy > small
			{
				font-size: inherit;
				
				cursor: help;
			}

html > body > header.images-loading > figure
	{
		opacity: 0;
	}

html > body > header.images-loading > h1 > svg .logo
			{
				-webkit-animation: blink 2s ease-in-out infinite;
				        animation: blink 2s ease-in-out infinite;
			}

html > body > header
{
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	
	padding-top: 150px;
	padding-left: calc(66px + 6.25vw);
	padding-bottom: 140px;
	
	-webkit-font-smoothing: antialiased;
	
	color: white;
	background: black;
}

html > body > header#commercial
	{
		min-height: 600px;
	}

html > body > header.ready > div.slideshow
	{
		opacity: 1;
	}

html > body > header > figure
{
	position: absolute;
	top: 0;
	left: 69px;
	z-index: -2;

	width: 100%;
	height: 100%;
	margin: 0;

	transition: opacity 0.3s ease-in-out;
}

html > body > header > figure::before
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;

		content: '';

		background: linear-gradient( rgba( 0, 0, 0, 0.35 ), transparent 50%, transparent 75%, rgba( 0, 0, 0, 0.35 ) );
	}

html > body > header > figure img
	{
		width: 100%;
		height: 100%;

		object-position: left bottom;
		object-fit: cover;
	}

html > body > header > h1
{
	
	position: relative;
	
	max-width: 621px;
	margin: auto 0 42px;
	
	font-size: 72px;
	font-weight: 400;
	line-height: 56px;
	letter-spacing: 0.05em;
	text-transform: uppercase;

	text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
	text-transform: none;
}

html > body > header > h1 > svg
	{
		display: block;
		
		width: 621px;
		max-width: 100%;
		height: auto;
	}

html > body > header > img
{
	position: absolute;
	top: 0;
	left: 69px;
	z-index: -2;

	width: 100%;
	height: 100%;

	object-position: left bottom;
	object-fit: cover;
}

html > body > nav.main
{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	
	box-sizing: border-box;
	width: 300px;
	height: 100%;

	background: white;
	
	box-shadow: 1px 0px 2px rgba(0, 0, 0, 0.2);
	
	transition:
		background 0.2s,
		-webkit-transform 0.2s;
	
	transition:
		background 0.2s,
		transform 0.2s;
	
	transition:
		background 0.2s,
		transform 0.2s,
		-webkit-transform 0.2s;
	
	will-change: transform;
}

html > body > nav.main > *
	{
		/* Чтобы элементы меню не сжимались */
		-webkit-flex-shrink: 0;
		    -ms-flex-negative: 0;
		        flex-shrink: 0;
	}

html > body > nav.main:not(.on-top)::after
	{
		position: absolute;
		top: 0;
		left: 300px;
		z-index: -1;
		
		width: 0;
		height: 100vh;
		
		content: "";
		
		opacity: 0;
		background: rgba(0, 0, 0, 0.2);
		
		transition: background-color 0s 0.2s;
	}

html > body > nav.main:not(.on-top)::before
	{
		position: absolute;
		top: 30px;
		left: 330px;
		
		width: 0;
		height: 0;
		
		content: "";
		cursor: pointer;
		
		opacity: 0;
		background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' stroke='white'%3E%3Cpath fill='none' stroke-width='2' d='M2,2 L28,28 M28,2 L2,28'/%3E%3C/svg%3E") center center no-repeat;
		
		transition: opacity 0.2s 0.2s;
	}

html > body > nav.main:not(.on-top).open::after
		{
			width: calc(100vw - 300px);
			
			opacity: 1;
			
			transition: opacity 0s 0.2s;
		}

html > body > nav.main:not(.on-top).open::before
		{
			width: 30px;
			height: 30px;
			
			opacity: 1;
		}

html > body > nav.main > a.choose
{
	
	display: block;
	
	min-width: 200px;
	margin: 0 auto 30px;
	
	text-align: center;
	text-decoration: none;
	
	transition: opacity 0.2s 0.2s,
		color 0.3s;
}

html > body > nav.main > a.online-office
{
	position: relative;
	
	display: block;
	-webkit-align-self: stretch;
	    -ms-flex-item-align: stretch;
	        align-self: stretch;

	padding: 18px 16px 12px;
	margin: 0 32px 24px 50px;
	
	color: #fcba04;
	background: #f5f5f5;

	border-radius: 4px;
}

html > body > nav.main > a.online-office:hover > svg
		{
			fill: rgba(44, 31, 61, 0.7);
		}

html > body > nav.main > a.online-office > svg
	{
		fill: #2c1f3d;

		-webkit-transform: fill 0.2s 0.2s;

		        transform: fill 0.2s 0.2s;
	}

html > body > nav.main > a.online-office::before, html > body > nav.main > a.online-office::after
	{
		position: absolute;
		
		content: '';
	}

html > body > nav.main > a.online-office::before
	{
		top: 12px;
		right: 12px;
		
		width: 32px;
		height: 32px;

		background: #fcba04;

		border-radius: 50%;
	}

html > body > nav.main > a.online-office::after
	{
		top: 24px;
		right: 25px;
		
		width: 6px;
		height: 6px;
		
		border-top: 2px solid white;
		border-right: 2px solid white;

		-webkit-transform: rotate( 45deg );

		        transform: rotate( 45deg );
	}

html > body > nav.main > a.seven-suns
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	width: 100%;
	height: 70px;
	margin: auto 0 0 auto;
	
	color: inherit;
	
	border-top: 1px solid #e6e6e6;
	
	transition:
		width 0.2s,
		border-color 0.2s;
}

html > body > nav.main > a.seven-suns > svg
	{
		-webkit-flex-shrink: 0;
		    -ms-flex-negative: 0;
		        flex-shrink: 0;
		margin: auto;
		
		transition: -webkit-transform 0.3s;
		
		transition: transform 0.3s;
		
		transition: transform 0.3s, -webkit-transform 0.3s;
		will-change: transform;
		
		fill: #2c1f3d;
	}

html > body > nav.main > a.seven-suns > svg > use:first-of-type, html > body > nav.main > a.seven-suns > svg > path:first-of-type
		{
			transition: -webkit-transform 0.3s;
			transition: transform 0.3s;
			transition: transform 0.3s, -webkit-transform 0.3s;
			
			fill: #fcba04;
		}

html > body > nav.main > a.seven-suns > svg > use:first-of-type ~ use, html > body > nav.main > a.seven-suns > svg > use:first-of-type ~ path, html > body > nav.main > a.seven-suns > svg > path:first-of-type ~ use, html > body > nav.main > a.seven-suns > svg > path:first-of-type ~ path
			{
				transition: opacity 0.3s;
			}

html > body > nav.main > a.seven-suns:hover > svg
		{
			-webkit-transform: scale(1.2);
			        transform: scale(1.2);
		}

/**
 * Сбросить всё оформление со стандартной кнопки
 */

html > body > nav.main > button.open
{
	display: inline;
	
	box-sizing: content-box;
	padding: 0;
	margin: 0;
	
	-webkit-appearance: none;
	
	   -moz-appearance: none;
	
	        appearance: none;
	
	background: transparent;
	
	border: none;
	
	position: absolute;
	top: 110px;
	right: 22px;
	
	width: 26px;
	
	opacity: 0;
	
	transition:
		opacity 0.2s,
		color 0.2s;
}

html > body > nav.main > button.open::before
	{
		position: absolute;
		left: -3px;

		width: 32px;
		height: 2px;

		content: "";

		background: #2c1f3d;

		box-shadow:
			0 -8px 0 0 #2c1f3d,
			0 8px 0 0 #2c1f3d;
	}

html > body > nav.main > button.open > img.logo
	{
		display: none;
		
		float: left;
		
		height: 33px;
		margin-top: 2px;
	}

html > body > nav.main > button.open > span.label
	{
		display: block;
		
		font-size: 12px;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		
		-webkit-transform: rotate(-90deg) translate(-3em, 1px);
		
		        transform: rotate(-90deg) translate(-3em, 1px);
	}

html > body > nav.main > button.open:focus
	{
		color: #fcba04;
		
		outline: none;
	}

html > body > nav.main > div.logo
{
	margin: 40px 0 40px 47px;
}

html > body > nav.main > div.logo > svg
	{
		display: block;

		width: 206px;
		height: auto;

		-webkit-transform-origin: left top;

		        transform-origin: left top;
		
		transition: -webkit-transform 0.2s;
		
		transition: transform 0.2s;
		
		transition: transform 0.2s, -webkit-transform 0.2s;
	}

html > body > nav.main > div.logo > svg path
		{
			fill: #513870;
		}

html > body > nav.main > div.logo > svg > g.text, html > body > nav.main > div.logo > svg > g.other
		{
			transition: opacity 0.2s 0.2s;
		}

html > body > nav.main > div.logo.clickable
	{
		cursor: pointer;
	}

#lightbox > div.content > div.body > form
{
	position: relative;
}

html > body > footer > div.links
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: flex-end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-align-content: flex-start;
	    -ms-flex-line-pack: start;
	        align-content: flex-start;
	
	margin-top: 25px;
}

html > body > footer > div.links > div.office
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	
	height: 50px;
}

html > body > footer > div.links > div.office > a
	{
		display: block;
		
		color: rgb(171, 165, 177);
		opacity: 0.2;
		
		transition: opacity 0.2s;
	}

html > body > footer > div.links > div.office > a > svg
		{
			display: block;
			
			width: 100%;
			
			fill: currentColor;
		}

html > body > footer > div.links > div.office > a:hover
		{
			opacity: 1;
		}

/*@media screen and ($screen-tablet <= width < $screen-notebook)
	{
		height: auto;
		margin-top: 5px;
		
		> a
		{
			width: 90px;
		}
	}*/

/* TODO: Разобраться с сортировкой, убрать screen */

html > body > footer > div.links > p.creator
{
	margin: 18px 0 0 40px;
	
	white-space: nowrap;
}

html > body > footer > div.links > p.creator > a
	{
		text-decoration: none;
	}

html > body > footer > div.links > ul.social
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	padding: 0;
	margin: 0;
}

html > body > footer > div.links > ul.social > li
	{
		display: block;
		
		margin-left: 20px;
	}

html > body > footer > div.links > ul.social > li > a
		{
			display: -webkit-flex;
			display: -ms-flexbox;
			display: flex;
			-webkit-justify-content: center;
			    -ms-flex-pack: center;
			        justify-content: center;
			-webkit-align-items: center;
			    -ms-flex-align: center;
			        align-items: center;
			
			width: 50px;
			height: 50px;
			
			text-decoration: none;
			
			opacity: 0.3;
			background: rgb(171, 165, 177);
			
			border-radius: 50%;
			
			transition: opacity 0.2s;
		}

html > body > footer > div.links > ul.social > li > a:hover
			{
				opacity: 1;
			}

/* TODO: Разобраться с сортировкой, убрать screen */

html > body > header > div.slideshow
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	
	width: 100%;
	height: 100%;

	opacity: 0;

	transition: opacity 0.3s ease-in-out;
}

html > body > header > div.slideshow > ul.slides
{
	position: relative;
	z-index: -1;
	
	overflow: hidden;
	
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	
	list-style: none;
}

html > body > header > div.slideshow > ul.slides::before
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;

		content: '';

		background: linear-gradient( rgba( 0, 0, 0, 0.35 ), transparent 50%, transparent 75%, rgba( 0, 0, 0, 0.35 ) );
	}

html > body > header > div.slideshow > ul.slides > li
	{
		position: absolute;
		top: 0;
		left: 0;
		
		display: none;
		overflow: hidden;
		
		width: 100%;
		height: 100%;
		
		pointer-events: none;
	}

html > body > header > div.slideshow > ul.slides > li img
		{
			display: block;
			
			width: 100%;
			height: 100%;
			
			object-fit: cover;
			
			transition: opacity 0.5s ease-out, -webkit-transform 1.1s cubic-bezier(0.23, 0.2, 0.24, 0.96);
			
			transition: opacity 0.5s ease-out, transform 1.1s cubic-bezier(0.23, 0.2, 0.24, 0.96);
			
			transition: opacity 0.5s ease-out, transform 1.1s cubic-bezier(0.23, 0.2, 0.24, 0.96), -webkit-transform 1.1s cubic-bezier(0.23, 0.2, 0.24, 0.96);
			will-change: transform, opacity;
		}

html > body > header > div.slideshow > ul.slides > li.prev
		{
			display: block;
		}

html > body > header > div.slideshow > ul.slides > li.prev > img
			{
				opacity: 0.5;
			}

html > body > header > div.slideshow > ul.slides > li.current
		{
			z-index: 1;
			
			display: block;
			
			-webkit-animation-name: slide-from-right;
			
			        animation-name: slide-from-right;
			-webkit-animation-duration: 1.1s;
			        animation-duration: 1.1s;
			-webkit-animation-timing-function: cubic-bezier(0.49, 0.18, 0.24, 0.99);
			        animation-timing-function: cubic-bezier(0.49, 0.18, 0.24, 0.99);
		}

html > body > header > div.slideshow > ul.slides > li.current > img
			{
				transition: none;
			}

html > body > header > div.slideshow > ul.slides.backwards > li.current
		{
			-webkit-animation-name: slide-from-left;
			        animation-name: slide-from-left;
		}

html > body > header > div.copyright
{
	position: absolute;
	right: calc(6.25vw - 4px);
	bottom: 60px;
	
	font-size: 14px;
}

html > body > header > div.copyright > small.copyright
{
	margin-left: 30px;
	
	font: inherit;
	
	text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
}

html > body > header > div.copyright > small.create
{
	font: inherit;

	text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
}

html > body > header > div.copyright > small.create > a
	{
		color: inherit;
	}

html > body > header > div.seven-suns
{
	position: absolute;
	top: 60px;
	left: calc(66px + 6.25vw);
	
	font-size: 14px;
	white-space: nowrap;
}

html > body > header > div.seven-suns > a.logo
{
	position: relative;
	top: -3px;
	
	display: inline-block;
	
	vertical-align: middle;
	
	color: inherit;
}

html > body > header > div.seven-suns > a.logo > svg
	{
		display: block;
		
		width: auto;
		height: 40px;
		
		transition: -webkit-transform 0.3s;
		
		transition: transform 0.3s;
		
		transition: transform 0.3s, -webkit-transform 0.3s;
		will-change: transform;
		
		fill: currentColor;
	}

html > body > header > div.seven-suns > a.logo > svg > use:first-child
			{
				fill: #fcba04;
			}

html > body > header > div.seven-suns > a.logo:hover > svg
		{
			-webkit-transform: scale(1.1);
			        transform: scale(1.1);
		}

html > body > header > div.seven-suns > span.subtitle
{
	
	position: relative;
	
	margin-left: 40px;
}

html > body > header > div.seven-suns > span.subtitle::before
	{
	position: absolute;
	top: 50%;
	left: -20px;
	
	width: 1px;
	height: 30px;
	
	content: "";
	pointer-events: none;
	
	opacity: 0.3;
	background: white;
	
	-webkit-transform: translateY(-50%);
	
	        transform: translateY(-50%);
	}

html > body > header > div.subtitle
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

html > body > header > div.subtitle > a
{
	position: absolute;
	right: calc(6.25vw - 4px);
	bottom: 60px;

	text-decoration: none;
}

html > body > header > div.subtitle > button.go-down, html > body > header > div.subtitle > a
{
	
	display: block;
}

html > body > header > div.subtitle > button.go-down > svg, html > body > header > div.subtitle > a > svg
	{
		position: relative;
		top: -1px;
		
		margin-left: 10px;
		
		vertical-align: middle;
		
		fill: currentColor;
	}

html > body > header > div.subtitle > p
{
	max-width: 400px;
	margin: 0;
	
	line-height: 1.5;
	font-size: 20px;
	
	text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
}

html > body > header > div.tel
{
	position: absolute;
	top: 60px;
	right: calc(6.25vw - 4px);
}

html > body > header > div.tel > dl
{
	margin: 0;
	
	font-size: 14px;
	line-height: 1.3;
	text-align: right;
}

html > body > header > div.tel > dl > div
	{
		display: inline-block;
		
		margin: 0 0 0 20px;
	}

html > body > header > div.tel > dl > div > dt
		{
			text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
		}

html > body > header > div.tel > dl > div > dd
		{
			margin: 0;

			text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
		}

html > body > header > div.tel > p.slogan
{
	margin: 15px 0 10px;
	
	font-weight: 700;
	text-align: right;

	text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
}

html > body > header > div.video-container
{
	position: absolute;
	bottom: 30px;
	left: calc(66px + 6.25vw);

	display: -webkit-flex;

	display: -ms-flexbox;

	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;

	cursor: pointer;
}

html > body > header > div.video-container:hover > div.video-wrapper::before
		{
			border-width: 0;
		}

html > body > header > div.video-container > div.video-full
	{
		display: none;
	}

html > body > main > section p
{
	opacity: 0.8;
}

html > body > main > section > h2
{
	
	margin-bottom: 0.5em;
}

html > body > main > section > p.goto
{
	margin-top: 2em;
}

html > body > main > section > p.goto > a
	{
		
		display: inline-block;
		
		text-decoration: none;
	}

html > body > main > section > p
{
	
	font-size: 20px;
}

html > body > main > section > p:not(:last-of-type)
	{
		margin-bottom: 1em;
	}

html > body > main > section > p:last-of-type
	{
		margin-bottom: 0;
	}

html > body > main > section > p + p
	{
		font-size: 17px;
	}

html > body > nav.main:not(.open)
{
	overflow: hidden;

	cursor: pointer;

	background: white;
	
	-webkit-transform: translateX(-230px);
	
	        transform: translateX(-230px);
	
	transition:
		background 0.2s 0.2s,
		-webkit-transform 0.2s 0.2s;
	
	transition:
		background 0.2s 0.2s,
		transform 0.2s 0.2s;
	
	transition:
		background 0.2s 0.2s,
		transform 0.2s 0.2s,
		-webkit-transform 0.2s 0.2s;
}

html > body > nav.main:not(.open) > a.choose
{
	pointer-events: none;
	
	opacity: 0;
	
	transition: opacity 0.2s;
}

html > body > nav.main:not(.open) > a.seven-suns
{
	overflow: hidden;
	
	width: 70px;

	transition: width 0.2s 0.2s;
}

html > body > nav.main:not(.open) > a.seven-suns > svg > use:first-of-type, html > body > nav.main:not(.open) > a.seven-suns > svg > path:first-of-type
		{
			/* Отступ логотипа от края */
			
			-webkit-transform: translateX(15px);
			
			        transform: translateX(15px);
		}

html > body > nav.main:not(.open) > a.seven-suns > svg > use:first-of-type ~ use, html > body > nav.main:not(.open) > a.seven-suns > svg > use:first-of-type ~ path, html > body > nav.main:not(.open) > a.seven-suns > svg > path:first-of-type ~ use, html > body > nav.main:not(.open) > a.seven-suns > svg > path:first-of-type ~ path
			{
				opacity: 0;
			}

/**
 * Скрыть элемент визуально, но оставить доступным для читалок
 */

html > body > nav.main:not(.open) > button.open
{
	opacity: 1;
	
	transition: opacity 0.3s 0.4s,
		color 0.2s;
}

html > body > nav.main:not(.open) > button.open:not([disabled])
	{
		cursor: pointer;
	}

html > body > nav.main:not(.open) > div.logo > svg
	{
		-webkit-transform: translate(196px, -18px) scale(0.6);
		        transform: translate(196px, -18px) scale(0.6);
		
		transition: -webkit-transform 0.2s 0.2s;
		
		transition: transform 0.2s 0.2s;
		
		transition: transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
	}

html > body > nav.main:not(.open) > div.logo > svg > g.text, html > body > nav.main:not(.open) > div.logo > svg > g.other
		{
			opacity: 0;
			
			transition: opacity 0.2s;
		}

html > body > nav.main:not(.open) > div.logo.clickable
	{
		cursor: default;
	}

html > body > nav.main:not(.open) > div.video-container
{
	opacity: 0;
}

html > body > nav.main > div.video-container
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;

	margin: 0 32px 24px 50px;

	cursor: pointer;
}

html > body > nav.main > div.video-container:hover > div.video-wrapper::before
		{
			border-width: 0;
		}

html > body > nav.main > div.video-container > div.video-full
	{
		display: none;
	}

html > body > nav.main > ul.menu
{
	padding: 0 0 0 50px;
	margin: 0 0 10px;
	
	list-style: none;
}

#lightbox > div.content > div.body > form.progress
{
	pointer-events: none;
}

#lightbox > div.content > div.body > form.progress::before
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		
		content: "";
		
		opacity: 0.5;
		background: white;
	}

#lightbox > div.content > div.body > form.progress::after
	{
	display: inline-block;
	
	width: 1em;
	height: 1em;
	
	border: 0 dotted transparent;
	border-top-width: 1px;
	border-top-color: rgba(0, 0, 0, 0.6);
	border-radius: 50%;
	
	-webkit-animation: rotate 0.8s linear infinite;
	
	        animation: rotate 0.8s linear infinite;
		
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		
		margin: auto;
		
		font-size: 40px;
		
		content: "";
	}

#lightbox > div.content > div.body > form.success > div.success
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	-webkit-animation: fade-in 0.8s 1;
	
	        animation: fade-in 0.8s 1;
}

#lightbox > div.content > div.body > form > div.success
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	display: none;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	
	background: white;
}

#lightbox > div.content > div.body > form > div.success > p
	{
		margin: 0 0 10px;
	}

#lightbox > div.content > div.body > form > div.success > p:first-of-type
	{
		
		padding-top: 130px;
		
		background: url('images/forms/mail-ok.svg') center top no-repeat;
	}

#lightbox > div.content > div.body > form > div.success > p.controls
	{
		margin-top: 20px;
	}

#lightbox > div.content > div.body > form > div.success > p.controls > button
		{
			
			min-width: 220px;
		}

#lightbox > div.content > div.body > form > ul.fields
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	
	padding: 0;
	margin: 0;
	
	list-style: none;
}

html > body > header > div.slideshow > div.controls
{
	position: absolute;
	right: calc(6.25vw - 4px);
	bottom: 180px;
}

/**
 * Сбросить всё оформление со стандартной кнопки
 */

html > body > header > div.slideshow > div.controls > button
{
	display: inline;
	
	box-sizing: content-box;
	padding: 0;
	margin: 0;
	
	-webkit-appearance: none;
	
	   -moz-appearance: none;
	
	        appearance: none;
	
	background: transparent;
	
	border: none;
	
	position: relative;
	
	box-sizing: border-box;
	width: 35px;
	height: 35px;
	
	vertical-align: middle;
	
	cursor: pointer;
	
	color: inherit;
	
	border: 2px solid;
	border-radius: 50%;
}

html > body > header > div.slideshow > div.controls > button:focus
	{
		outline: none;
	}

html > body > header > div.slideshow > div.controls > button > svg
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		
		margin: auto;
		
		fill: currentColor;
	}

html > body > header > div.slideshow > div.controls > button.prev
	{
		margin-right: 20px;
	}

html > body > header > div.slideshow > div.controls > button.prev > svg
		{
			right: 2px;
		}

html > body > header > div.slideshow > div.controls > button.next
	{
		margin-left: 20px;
	}

html > body > header > div.slideshow > div.controls > button.next > svg
		{
			left: 2px;
		}

html > body > header > div.slideshow > div.controls > span.counter
{
	display: inline-block;
	
	min-width: 3.5ex;
	
	font-size: 24px;
	text-align: right;
	vertical-align: middle;
}

html > body > header > div.tel > p.main
{
	margin: 0 0 15px;
	
	white-space: nowrap;

	text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
}

html > body > header > div.tel > p.main > a.online-office
{
	text-decoration: none;
	vertical-align: middle;
	
	color: inherit;
}

html > body > header > div.tel > p.main > a.online-office > svg
	{
		vertical-align: middle;
		
		transition: -webkit-transform 0.3s;
		
		transition: transform 0.3s;
		
		transition: transform 0.3s, -webkit-transform 0.3s;
		will-change: transform;
		
		fill: currentColor;
	}

html > body > header > div.tel > p.main > a.tel
{
	
	position: relative;
	
	margin-left: 40px;
	
	font-size: 28px;
	font-weight: 300;
	text-decoration: none;
	vertical-align: middle;
	
	color: inherit;
	text-shadow: 1px 1px 5px rgba( 0, 0, 0, 0.9 );
}

html > body > header > div.tel > p.main > a.tel::before
	{
	position: absolute;
	top: 50%;
	left: -20px;
	
	width: 1px;
	height: 30px;
	
	content: "";
	pointer-events: none;
	
	opacity: 0.3;
	background: white;
	
	-webkit-transform: translateY(-50%);
	
	        transform: translateY(-50%);
	}

html > body > header > div.video-container > div.video-info
{

}

html > body > header > div.video-container > div.video-info > p
{
	margin: 0;
	
	font-size: 20px;
	line-height: 1.5;
}

html > body > header > div.video-container > div.video-info > p.video-title
	{
		font-weight: 400;
	}

html > body > header > div.video-container > div.video-info > p.video-duration
	{
		font-weight: 300;
	}

html > body > header > div.video-container > div.video-wrapper
{
	position: relative;
	
	overflow: hidden;
	
	width: 86px;
	height: 86px;
	margin-right: 16px;

	border-radius: 50%;
}

html > body > header > div.video-container > div.video-wrapper::before, html > body > header > div.video-container > div.video-wrapper::after
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;

		content: '';
	}

html > body > header > div.video-container > div.video-wrapper::before
	{
		z-index: 1;

		border: 6px solid #513870;
		border-radius: 50%;

		transition: border-width 0.2s;
	}

html > body > header > div.video-container > div.video-wrapper::after
	{
		background: url( 'images/index/play.svg' ) 38px center no-repeat;
	}

html > body > header > div.video-container > div.video-wrapper > video
{
	width: 100%;
	height: 100%;
}

html > body > main > section.advantages
{
	padding-top: 150px;
}

html > body > main > section.advantages > h2, html > body > main > section.advantages > p
{
	max-width: 750px;
	margin-right: auto;
	margin-left: auto;
	
	text-align: center;
}

html > body > main > section.advantages > h2::before
	{
		left: calc(50% - 61px);
	}

html > body > main > section.advantages > ul
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-align-items: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	
	max-width: 1300px;
	padding: 0;
	margin: 80px auto 0;

	font-size: 18px;
	
	list-style: none;
}

html > body > main > section.advantages > ul > li
	{
		position: relative;
		
		width: 25%;
		padding-bottom: 50px;
		
		text-align: center;
	}

html > body > main > section.advantages > ul > li:hover > div.popup
			{
				display: block;
			}

html > body > main > section.advantages > ul > li > img, html > body > main > section.advantages > ul > li > span
		{
			display: block;
			
			margin-right: auto;
			margin-left: auto;
		}

html > body > main > section.advantages > ul > li > img
		{
			margin-bottom: 20px;
		}

html > body > main > section.advantages > ul > li > div.popup
		{
			position: absolute;
			bottom: 30px;
			z-index: 1;

			display: none;

			padding: 20px;

			font-size: 15px;
			font-weight: 400;
			line-height: 1.47;
			text-align: left;

			color: rgb(114, 105, 125);
			background: white;

			box-shadow: 0 3px 16px 0 rgba( 0, 0, 0, 0.2 );

			-webkit-transform: translateY( 100% );

			        transform: translateY( 100% );
		}

html > body > main > section.advantages > ul > li > div.popup::before
			{
				position: absolute;
				top: -25px;
				left: calc(50% - 13px);

				display: block;

				width: 0;
				height: 0;

				content: '';

				border: 15px solid transparent;
				border-bottom: 10px solid white;
			}

html > body > main > section.advantages > ul > li > div.popup p
			{
				margin: 0;
				
				color: inherit;
			}

html > body > main > section.advantages > ul > li > div.popup p:not(:last-child)
				{
					margin-bottom: 8px;
				}

html > body > main > section.commercial
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;

	padding-top: 75px;
	margin-bottom: -130px;

	border-bottom: 1px solid #e6e6e6;
}

html > body > main > section.commercial > h2
{
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding: 0 5vw;
	margin-bottom: 40px;

	text-align: center;
}

html > body > main > section.features
{
	position: relative;
	
	min-height: 35vw;
	margin: 150px auto 0;
}

html > body > main > section.features > figure
{
	position: absolute;
	top: -90px;
	left: calc(6.25vw - 4px);

	width: calc(31.25vw - 22px);
	margin: 0;
}

html > body > main > section.features > figure > img
	{
		width: 100%;
		height: auto;
	}

html > body > main > section.features > h2, html > body > main > section.features > p, html > body > main > section.features > h3, html > body > main > section.features > ul
{
	max-width: 600px;
	padding-left: 475px;
	margin-right: auto;
	margin-left: auto;
}

html > body > main > section.features > h2::before
	{
		left: 820px;
	}

html > body > main > section.features > h3
{
	margin: 28px auto 16px;

	font-size: 18px;
}

html > body > main > section.features > p
{
	margin-bottom: 45px;
}

html > body > main > section.features > ul
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	
	list-style: none;
}

html > body > main > section.features > ul > li
	{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-align-items: center;
		    -ms-flex-align: center;
		        align-items: center;

		width: 50%;

		font-weight: 700;
	}

html > body > main > section.features > ul > li:not(:nth-last-child( -n + 2 ))
		{
			margin-bottom: 40px;
		}

html > body > main > section.features > ul > li > img
		{
			width: 80px;
			height: 80px;
			margin: 0 20px 0 12px;

			object-fit: content;
		}

html > body > main > section.subscribe
{
	padding: 80px calc(6.25vw - 4px);
	margin-top: 130px;
	
	color: white;
	background: url( 'images/index/bg-wave.svg' ) center center no-repeat #513870;
	background-size: 100%;
}

html > body > main > section.subscribe > h2, html > body > main > section.subscribe > p
{
	max-width: 650px;
	margin-right: auto;
	margin-left: auto;
	
	font-weight: 300;
	text-align: center;
	
	opacity: 1;
	color: inherit;
}

html > body > main > section.your-house
{
	position: relative;
	
	min-height: 355px;
	padding-top: 150px;
}

html > body > main > section.your-house > h2, html > body > main > section.your-house > p
{
	margin-right: auto;
	margin-left: auto;
}

html > body > main > section.your-house > h2
{
	max-width: 540px;
	padding-right: 540px;
}

html > body > main > section.your-house > p
{
	max-width: 560px;
	padding-right: 520px;
}

html > body > main > section.your-house > ul.features
{
	position: absolute;
	top: 220px;
	left: 50%;
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	
	width: 505px;
	max-height: 355px;
	padding-left: 100px;
	margin: 0;
	
	font-size: 15px;
	
	list-style: none;

	color: rgb(86, 76, 100);
}

html > body > main > section.your-house > ul.features > li
	{
		width: 40%;
		min-height: 125px;
		margin-bottom: 32px;
	}

html > body > main > section.your-house > ul.features > li > strong
		{
			display: block;
			
			font-size: 56px;
			font-weight: 300;
			white-space: nowrap;

			color: #fcba04;
		}

html > body > main > section.your-house > ul.features > li > strong > small
			{
				font-size: 60%;
			}

html > body > main > section.your-house > ul.features > li > b
		{
			display: block;

			margin-bottom: 5px;

			font-size: 18px;
			white-space: nowrap;

			color: #2c1f3d;
		}

html > body > main > section.location
{
	position: relative;

	display: -webkit-flex;

	display: -ms-flexbox;

	display: flex;
	
	margin: 124px auto 0;

	background: #f5f5f5;
}

html > body > main > section.location::before
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;

		background: #f5f5f5;
	}

html > body > nav.main > div.video-container > div.video-info
{

}

html > body > nav.main > div.video-container > div.video-info > p
{
	margin: 0;
	
	font-size: 14px;
	line-height: 1.5;

	color: #2c1f3d;
}

html > body > nav.main > div.video-container > div.video-info > p.video-title
	{
		font-weight: 400;
	}

html > body > nav.main > div.video-container > div.video-info > p.video-duration
	{
		font-weight: 300;
	}

html > body > nav.main:not(.open) > ul.menu
{
	pointer-events: none;
}

html > body > nav.main > ul.menu > li
{
	position: relative;
	
	display: block;
	
	padding: 0;
	margin: 0 0 20px;
	
	font-family: "Circe",sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	
	transition: opacity 0.2s 0.2s;
}

html > body > nav.main > ul.menu > li:nth-last-of-type(1)
		{
			
			transition: opacity 0.2s 0.2s,
				-webkit-transform 0.1s 0.25s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.25s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.25s,
				-webkit-transform 0.1s 0.25s;
		}

html > body > nav.main > ul.menu > li:nth-last-of-type(2)
		{
			
			transition: opacity 0.2s 0.2s,
				-webkit-transform 0.1s 0.23s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.23s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.23s,
				-webkit-transform 0.1s 0.23s;
		}

html > body > nav.main > ul.menu > li:nth-last-of-type(3)
		{
			
			transition: opacity 0.2s 0.2s,
				-webkit-transform 0.1s 0.21s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.21s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.21s,
				-webkit-transform 0.1s 0.21s;
		}

html > body > nav.main > ul.menu > li:nth-last-of-type(4)
		{
			
			transition: opacity 0.2s 0.2s,
				-webkit-transform 0.1s 0.19s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.19s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.19s,
				-webkit-transform 0.1s 0.19s;
		}

html > body > nav.main > ul.menu > li:nth-last-of-type(5)
		{
			
			transition: opacity 0.2s 0.2s,
				-webkit-transform 0.1s 0.17s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.17s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.17s,
				-webkit-transform 0.1s 0.17s;
		}

html > body > nav.main > ul.menu > li:nth-last-of-type(6)
		{
			
			transition: opacity 0.2s 0.2s,
				-webkit-transform 0.1s 0.15s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.15s;
			
			transition: opacity 0.2s 0.2s,
				transform 0.1s 0.15s,
				-webkit-transform 0.1s 0.15s;
		}

html > body > nav.main > ul.menu > li > a
	{
		text-decoration: none;
		
		color: #2c1f3d;
	}

html > body > nav.main > ul.menu > li > a > svg
		{
			margin-top: -2px;
			
			vertical-align: middle;
		}

html > body > nav.main > ul.menu > li:hover, html > body > nav.main > ul.menu > li:focus
	{
		opacity: 70%;
	}

html > body > nav.main > ul.menu > li.current
	{
		pointer-events: none;
	}

html > body > nav.main > ul.menu > li.current > a
		{
			color: #fcba04;
		}

html > body > nav.main > ul.menu > li.secondary
	{
		font-size: 14px;
		font-weight: 400;
		
		margin-left: 20px;
		margin-bottom: 14px;
	}

html > body > nav.main > ul.menu > li.secondary + li:not(.secondary)
		{
			margin-top: 25px;
		}

html > body > nav.main > div.video-container > div.video-wrapper
{
	position: relative;
	
	overflow: hidden;
	
	-webkit-flex-shrink: 0;
	
	    -ms-flex-negative: 0;
	
	        flex-shrink: 0;
	width: 60px;
	height: 60px;
	margin-right: 16px;

	border-radius: 50%;
}

html > body > nav.main > div.video-container > div.video-wrapper::before, html > body > nav.main > div.video-container > div.video-wrapper::after
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;

		content: '';
	}

html > body > nav.main > div.video-container > div.video-wrapper::before
	{
		z-index: 1;

		border: 6px solid #513870;
		border-radius: 50%;

		transition: border-width 0.2s;
	}

html > body > nav.main > div.video-container > div.video-wrapper::after
	{
		background: url( 'images/index/play.svg' ) 25px center no-repeat;
	}

html > body > nav.main > div.video-container > div.video-wrapper > video
{
	width: 100%;
	height: 100%;
}

#lightbox > div.content > div.body > form > ul.fields > li.checkbox
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	
	-webkit-order: 1;
	
	    -ms-flex-order: 1;
	
	        order: 1;
	max-width: 16em;
	margin-top: 20px;
}

#lightbox > div.content > div.body > form > ul.fields > li.note
{
	font-size: 14px;
}

#lightbox > div.content > div.body > form > ul.fields > li
{
	display: block;
	
	margin: 0 0 20px;
}

#lightbox > div.content > div.body > form > ul.fields > li:not(.controls):not(.checkbox)
{
	width: 100%;
}

#lightbox > div.content > div.body > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"])
	{
		
		display: block;
		
		width: 100%;
	}

#lightbox > div.content > div.body > form > ul.fields > li > textarea
{
	
	width: 100%;
}

html > body > main > section.commercial > div.apartments
{
	width: calc(100% - 31.25vw + 22px);
}

html > body > main > section.commercial > div.filter
{
	
	-webkit-flex-direction: row;
	
	    -ms-flex-direction: row;
	
	        flex-direction: row;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-align-content: flex-start;
	    -ms-flex-line-pack: start;
	        align-content: flex-start;
	overflow: hidden;
	
	padding-top: 75px;
	padding-right: calc(6.25vw - 4px);
	padding-bottom: 20px;

	color: #2c1f3d;
	background: none;

	border-top: 1px solid #e6e6e6;
	border-right: 1px solid #e6e6e6;
}

html > body > main > section.commercial > div.filter > h3
{
	
	-webkit-flex-grow: 2;
	
	    -ms-flex-positive: 2;
	
	        flex-grow: 2;
	margin-right: 60px;
	margin-bottom: 27px;
}

html > body > main > section.subscribe > form
{
	position: relative;
	
	max-width: 1150px;
	margin: 40px auto 0;
}

html > body > main > section.location > div.transport
{
	box-sizing: border-box;
	width: 460px;
	padding: 40px;
}

html > body > main > section.location > div.transport > p
{
	margin: 0 0 40px 0;

	line-height: 1.63;
}

html > body > main > section.location > div.transport > ul
{
	padding: 0;
	margin: 0;

	font-size: 14px;
	
	list-style: none;

	color: rgb(128, 121, 139);
}

html > body > main > section.location > div.transport > ul > li
	{
		background-position: right center;
		background-repeat: no-repeat;
	}

html > body > main > section.location > div.transport > ul > li:not(:last-child)
		{
			margin-bottom: 15px;
		}

html > body > main > section.location > div.transport > ul > li.right
		{
			background-image: url( 'images/index/location/right.svg' );
		}

html > body > main > section.location > div.transport > ul > li.left
		{
			background-image: url( 'images/index/location/left.svg' );
		}

html > body > main > section.location > div.transport > ul > li > svg
		{
			float: left;

			margin: 5px 15px 15px 0;
		}

html > body > main > section.location > div.transport > ul > li > strong
		{
			display: block;

			margin-bottom: 4px;

			font-size: 17px;
			
			color: #2c1f3d;
		}

html > body > main > section.location > figure
{
	position: relative;

	-webkit-flex-shrink: 0;

	    -ms-flex-negative: 0;

	        flex-shrink: 0;
	width: calc(100% - 460px);
	max-width: 1256px;
	height: 556px;
	margin: 0;

	font-size: 0;
}

html > body > main > section.location > figure > picture > img
		{
			width: 100%;
			height: 100%;

			object-fit: cover;
			object-position: right top;
			
			font-size: 17px;
		}

html > body > nav.main:not(.open) > ul.menu > li
{
	visibility: hidden;
	
	opacity: 0;
	
	-webkit-transform: translateX(-2em);
	
	        transform: translateX(-2em);
	
	transition: opacity 0.2s;
}

#lightbox > div.content > div.body > form > ul.fields > li.controls
{
	-webkit-flex-grow: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	margin-top: 20px;
	margin-right: 40px;
}

#lightbox > div.content > div.body > form > ul.fields > li.controls > button
{
	width: 100%;
	max-width: 220px;
}

html > body > main > section.commercial > div.apartments > ul
{
	padding: 0;
	margin: 0;
	
	list-style: none;
}

html > body > main > section.commercial > div.apartments > table
{
	position: relative;

	display: block;
	
	width: 100%;
	
	border-collapse: collapse;
	empty-cells: show;
	table-layout: fixed;
}

html > body > main > section.commercial > div.apartments > table > thead, html > body > main > section.commercial > div.apartments > table > tbody
	{
		display: block;
	}

html > body > main > section.commercial > div.filter > form
{
	width: 100%;
}

html > body > main > section.subscribe > form.success > div.success
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	-webkit-animation: fade-in 0.8s 1;
	
	        animation: fade-in 0.8s 1;
}

html > body > main > section.subscribe > form.success > ul.fields
{
	opacity: 0;
}

html > body > main > section.subscribe > form.progress
{
	pointer-events: none;
}

html > body > main > section.subscribe > form.progress::before
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		
		content: "";
		
		opacity: 0.5;
	}

html > body > main > section.subscribe > form.progress::after
	{
	display: inline-block;
	
	width: 1em;
	height: 1em;
	
	border: 0 dotted transparent;
	border-top-width: 4px;
	border-top-color: white;
	border-radius: 50%;
	
	-webkit-animation: rotate 0.8s linear infinite;
	
	        animation: rotate 0.8s linear infinite;
		
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		
		margin: auto;
		
		font-size: 40px;
		
		content: "";
	}

html > body > main > section.subscribe > form > div.success
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	display: none;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
}

html > body > main > section.subscribe > form > div.success > p
	{
		margin: 0 0 10px;
		
		color: inherit;
	}

html > body > main > section.subscribe > form > div.success > p:first-of-type
	{
		
		padding-top: 130px;
		
		background: url('images/forms/mail-ok-inverted.svg') center top no-repeat;
	}

html > body > main > section.subscribe > form > div.success > p.controls
	{
		margin-top: 20px;
	}

html > body > main > section.subscribe > form > div.success > p.controls > button
		{
			
			min-width: 200px;
		}

html > body > main > section.subscribe > form > ul.fields
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	
	padding: 0;
	margin: 0;
	
	list-style: none;
}

html > body > main > section.location > figure > figcaption
{
	position: absolute;
	bottom: 40px;
	left: 40px;

	box-sizing: border-box;
	width: 400px;
	padding: 24px;

	color: white;
	background: rgba(44, 31, 61, 0.75);

	border-radius: 12px;
}

html > body > main > section.location > figure > figcaption > h2, html > body > main > section.location > figure > figcaption > p
	{
		text-shadow: 0 0 15px black;
	}

html > body > main > section.location > figure > figcaption > h2
{
	margin: 0 0 20px 0;
	
	font-size: 32px;
	font-weight: 300;
}

html > body > main > section.location > figure > figcaption > p
{
	margin-bottom: 0;
	
	font-size: 17px;
	line-height: 1.5;
}

html > body > main > section.commercial > div.apartments > ul > li
{
	display: block;
	
	height: 130px;
	
	border-bottom: 1px solid #e6e6e6;
}

html > body > main > section.commercial > div.apartments > table tr
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;

	border-top: 1px solid #e6e6e6;
}

html > body > main > section.commercial > div.apartments > table tr > td, html > body > main > section.commercial > div.apartments > table tr > th
{
	padding: 0 20px;
	
	text-align: left;
	white-space: nowrap;
}

html > body > main > section.commercial > div.apartments > table tr > td.image, html > body > main > section.commercial > div.apartments > table tr > th.image
	{
		width: 13%;
		padding-left: 60px;
	}

html > body > main > section.commercial > div.apartments > table tr > td.room-type, html > body > main > section.commercial > div.apartments > table tr > th.room-type
	{
		width: 31%;
	}

html > body > main > section.commercial > div.apartments > table tr > td.square-total, html > body > main > section.commercial > div.apartments > table tr > th.square-total
	{
		width: 15%;
	}

html > body > main > section.commercial > div.apartments > table tr > td.other, html > body > main > section.commercial > div.apartments > table tr > th.other
	{
		width: 80px;
	}

html > body > main > section.commercial > div.filter > form > ul.fields
{
	padding: 0;
	margin: 0;
	
	list-style: none;
}

html > body > main > section.subscribe > form > ul.fields > li.checkbox
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	
	-webkit-order: 1;
	
	    -ms-flex-order: 1;
	
	        order: 1;
	max-width: 260px;
	margin-top: 10px;
	margin-right: auto;
	margin-left: auto;
}

html > body > main > section.subscribe > form > ul.fields > li
{
	display: block;
	
	margin: 0 0 20px;
}

html > body > main > section.subscribe > form > ul.fields > li:not(.controls):not(.checkbox)
{
	width: calc(33.33% - 13px);
}

html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"])
	{
		
		display: block;
		
		width: 100%;
	}

html > body > main > section.commercial > div.apartments > ul > li > a
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 20px;
	
	text-decoration: none;
	
	color: inherit;
}

html > body > main > section.commercial > div.apartments > ul > li > a > div.favorites
{
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	
	/* Временное отключение */
	pointer-events: none;
	visibility: hidden;
}

html > body > main > section.commercial > div.apartments > ul > li > a > div.favorites > input
	{
		position: absolute;
		z-index: -1;
		
		opacity: 0;
	}

html > body > main > section.commercial > div.apartments > ul > li > a > div.favorites > label
	{
		display: block;
		
		margin: auto;
		
		cursor: pointer;
	}

html > body > main > section.commercial > div.apartments > ul > li > a > div.favorites > label > svg
		{
			display: block;
			
			width: 20px;
			height: 20px;
			
			fill: none;
			stroke: rgb(171, 165, 177);
			stroke-width: 2px;
			stroke-linejoin: round;
		}

html > body > main > section.commercial > div.apartments > ul > li > a > div.favorites > input:focus + label > svg, html > body > main > section.commercial > div.apartments > ul > li > a > div.favorites > label:hover > svg
		{
			stroke: #9bcbf2;
		}

html > body > main > section.commercial > div.apartments > ul > li > a > div.favorites > input:checked + label > svg
		{
			fill: #9bcbf2;
			stroke: #9bcbf2;
		}

html > body > main > section.commercial > div.apartments > ul > li > a > div.image
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	-webkit-flex: none;
	
	    -ms-flex: none;
	
	        flex: none;
	width: 80px;
	height: 100%;
	margin-right: 15px;
}

html > body > main > section.commercial > div.apartments > ul > li > a > div.image > img
	{
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
	}

html > body > main > section.commercial > div.apartments > ul > li > a > ul.details
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	
	-webkit-flex: auto;
	
	    -ms-flex: auto;
	
	        flex: auto;
	padding: 0;
	margin: 0 10px 0 0;
	
	list-style: none;
}

html > body > main > section.commercial > div.apartments > ul > li > a > ul.details > li
	{
		margin: 0;
		
		white-space: nowrap;
	}

html > body > main > section.commercial > div.apartments > ul > li > a > ul.details > li.room
		{
			font-size: 24px;
			font-weight: 700;
			white-space: normal;
		}

html > body > main > section.commercial > div.apartments > ul > li > a > ul.details > li.room > small
			{
				font-size: 16px;
				font-weight: 400;
			}

html > body > main > section.commercial > div.apartments > ul > li > a > ul.details > li.cost.empty
			{
				opacity: 0.5;
			}

html > body > main > section.commercial > div.filter > form > ul.fields > li
{
	display: block;
	
	margin: 0 0 30px;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range
{
	position: relative;
	
	padding-bottom: 9px;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > label
	{
		display: block;

		margin-bottom: 15px;

		font-weight: 700;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > ul.inputs
	{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		
		padding: 0;
		margin: 0;

		list-style: none;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > ul.inputs > li
		{
			display: -webkit-flex;
			display: -ms-flexbox;
			display: flex;
			-webkit-align-items: baseline;
			    -ms-flex-align: baseline;
			        align-items: baseline;
			
			width: 50%;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > ul.inputs > li > span.label
				{
					margin-right: 4px;
				}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > ul.inputs > li > span > input
				{
					padding: 0;

					color: #fcba04;

					border: none;
					outline: none;
				}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > div.controls
	{
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;

		height: 2px;

		background: #e6e6e6;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > div.controls > button
		{
			position: absolute;
			top: -8px;
			
			width: 16px;
			height: 16px;
			padding: 0;

			cursor: -webkit-grab;

			cursor: grab;

			background: #fcba04;

			border: none;
			border-radius: 50%;
			box-shadow: 0 1px 1px rgba( 0, 0, 0, 0.2 );

			-webkit-transform: translateX( -50% );

			        transform: translateX( -50% );

			transition:
				box-shadow 0.3s,
				-webkit-transform 0.3s;

			transition:
				transform 0.3s,
				box-shadow 0.3s;

			transition:
				transform 0.3s,
				box-shadow 0.3s,
				-webkit-transform 0.3s;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > div.controls > button:hover
			{
				box-shadow: none;

				-webkit-transform: translateX( -50% ) scale( 1.25 );

				        transform: translateX( -50% ) scale( 1.25 );
			}

html > body > main > section.commercial > div.filter > form > ul.fields > li > div.range > div.controls > span.range
		{
			position: absolute;
			top: 0;
			bottom: 0;

			background: #fcba04;
		}

html > body > main > section.commercial > div.apartments > table > thead > tr.fixed
{
	position: fixed;
	top: 0;
	z-index: 2;
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	
	background: white;
}

html > body > main > section.commercial > div.apartments > table > thead > tr.fixed > th
	{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		
		-webkit-align-items: center;
		
		    -ms-flex-align: center;
		
		        align-items: center;
	}

html > body > main > section.commercial > div.apartments > table > thead > tr.fixed > th.total-cost
		{
			-webkit-justify-content: flex-end;
			    -ms-flex-pack: end;
			        justify-content: flex-end;
		}

html > body > main > section.commercial > div.apartments > table > thead > tr
{
	height: 60px;
}

html > body > main > section.commercial > div.apartments > table > thead > tr > th
{
	font-size: 14px;
	font-weight: 400;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr.disabled
{
	display: none;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr
{
	position: relative;

	height: 120px;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr:hover
	{
		box-shadow: 0 2px 25px rgba(0, 0, 0, 0.2);
	}

html > body > main > section.subscribe > form > ul.fields > li.controls
{
	width: 100%;
	margin-top: 20px;
	
	text-align: center;
}

html > body > main > section.subscribe > form > ul.fields > li.controls > button
{
	width: 100%;
	max-width: 200px;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li > fieldset
{
	display: block;
	
	padding: 0;
	margin: 0;
	
	border: none;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li > fieldset > legend
{
	display: block;
	
	margin: 0 0 15px;
	
	font-weight: 700;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider
{
	
	position: relative;
	z-index: 1;
	
	box-sizing: border-box;
	height: 20px;
	padding: 9px 0;
	margin: 0 8px;
	
	font-size: 12px;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider *
	{
		/* Remove tap highlight color for mobile safari */
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.rail
	{
		position: absolute;
		left: -8px;
		
		width: 100%;
		height: 2px;
		padding: 0 8px;
		
		background-color: rgba(255, 255, 255, 0.1);
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.track
	{
		position: absolute;
		left: 0;
		
		height: 2px;
		
		background-color: #fcba04;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.handle
	{
		position: absolute;
		top: 2px;
		
		width: 16px;
		height: 16px;
		margin-left: -8px;
		
		cursor: pointer;
		cursor: -webkit-grab;
		cursor: grab;
		
		background-color: #fcba04;
		
		border-radius: 50%;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
		
		transition: box-shadow 0.3s,
			-webkit-transform 0.3s;
		
		transition: transform 0.3s,
			box-shadow 0.3s;
		
		transition: transform 0.3s,
			box-shadow 0.3s,
			-webkit-transform 0.3s;
		
		/*> span.$(prefix)tip
		{
			$arrow-half-width: 3px;
			$arrow-height: 6px;
			
			position: absolute;
			bottom: calc(100% + $arrow-height);
			left: 50%;
			z-index: 1;
			
			box-sizing: border-box;
			min-width: 24px;
			padding: 0 6px;
			
			line-height: 24px;
			text-align: center;
			white-space: nowrap;
			
			pointer-events: none;
			
			color: $clr-tooltip-fg;
			background: $clr-tooltip-bg;
			
			box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
			
			transform: translateX(-50%) scale(0);
			transform-origin: center calc(100% + $arrow-height);
			
			transition-property: transform;
			transition-duration: 0.1s;
			transition-delay: 0.1s;
			transition-timing-function: ease-in;
			
			&::after
			{
				$clr-transparent: color($clr-tooltip-bg a(0));
				
				position: absolute;
				top: 100%;
				left: 50%;
				
				width: 0;
				height: 0;
				margin-left: -$arrow-half-width;
				
				content: "";
				
				border-width: $arrow-height $arrow-half-width 0;
				border-color: $clr-tooltip-bg $clr-transparent $clr-transparent;
				border-style: solid;
			}
		}
		
		&:hover,
		&:active,
		&.$(prefix)dragging
		{
			> span.$(prefix)tip
			{
				transform: translateX(-50%) scale(1);
				
				transition-timing-function: ease-out;
			}
		}*/
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.handle:focus
		{
			outline: none;
			
			box-shadow: 0 0 5px #fcba04;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.handle:hover
		{
			-webkit-transform: scale(1.25);
			        transform: scale(1.25);
			
			box-shadow: none;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.handle:active, html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.handle.dragging
		{
			cursor: -webkit-grabbing;
			cursor: grabbing;
			
			background-color: #fcba04;
			
			box-shadow: none;
			
			-webkit-transform: scale(1.25);
			
			        transform: scale(1.25);
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.handle > span.tip
		{
			display: none;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.marks
	{
		position: absolute;
		top: 20px;
		left: 0;
		
		width: 100%;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.marks > span.text
		{
			position: absolute;
			
			display: inline-block;
			
			text-align: center;
			vertical-align: middle;
			white-space: nowrap;
			
			cursor: default;
			
			color: rgb(255, 255, 255);
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.marks > span.text.active
			{
				color: white;
			}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.steps
	{
		position: absolute;
		
		width: 100%;
		height: 2px;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.steps > span.dot
		{
			position: absolute;
			bottom: -3px;
			
			box-sizing: border-box;
			width: 8px;
			height: 8px;
			margin-left: -4px;
			
			cursor: pointer;
			
			background-color: #fcba04;
			
			border-radius: 50%;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider > div.steps > span.dot.active
			{
				background-color: #fcba04;
			}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.disabled
	{
		background-color: rgba(255, 255, 255, 0.1);
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.disabled > div.track
		{
			background-color: rgb(171, 165, 177);
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.disabled > div.handle
		{
			cursor: not-allowed;
			
			background-color: rgb(171, 165, 177);
			
			box-shadow: none;
			
			-webkit-transform: none;
			
			        transform: none;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.disabled > div.steps > span.dot
			{
				cursor: not-allowed;
				
				border-color: rgb(171, 165, 177);
			}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.vertical
	{
		width: 20px;
		padding: 0 9px;
		margin: 8px 0;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.vertical > div.rail
		{
			top: -8px;
			left: 9px;
			
			width: 2px;
			height: 100%;
			padding: 8px 0;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.vertical > div.track
		{
			left: 9px;
			bottom: 0;
			
			width: 2px;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.vertical > div.handle
		{
			top: 0;
			left: 2px;
			
			margin-bottom: -8px;
			margin-left: 0;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.vertical > div.marks
		{
			top: 0;
			left: 20px;
			
			width: auto;
			height: 100%;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.vertical > div.steps
		{
			width: 2px;
			height: 100%;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > div.range-slider.vertical > div.steps > span.dot
			{
				left: 3px;
				
				margin-bottom: -4px;
			}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.from, html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.to
{
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	
	width: 50%;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.from > label, html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.to > label
	{
		position: relative;
		
		display: block;
		
		margin-right: 1ex;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.from > label::after, html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.to > label::after
		{
			position: absolute;
			top: 0;
			left: calc(100% + 1ex);
			
			content: attr(data-value);
			pointer-events: none;
			
			color: #fcba04;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.from > input, html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.to > input
	{
		display: block;
		
		-webkit-flex-grow: 1;
		
		    -ms-flex-positive: 1;
		
		        flex-grow: 1;
		width: 50%;
		padding: 0;
		margin: 0;
		
		font: inherit;
		
		opacity: 0;
		color: #fcba04;
		background: none;
		
		border: none;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.from.focus > label::after, html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.to.focus > label::after
			{
				display: none;
			}

html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.from.focus > input, html > body > main > section.commercial > div.filter > form > ul.fields > li.range > fieldset > span.to.focus > input
		{
			opacity: 1;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.image > img
	{
		width: 120px;
		max-width: 100%;
		height: 80px;

		object-fit: contain;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.room-type
{
	font-size: 28px;
	font-weight: 700;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.room-type > small
	{
		font-size: 16px;
		font-weight: 400;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.room-type > span.main
		{
			display: block;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.room-type > span.additional
		{
			font-size: 15px;
			font-weight: 400;
			line-height: 20px;

			opacity: 0.5;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.room-type > span.additional:not(:last-child)
			{
				margin-right: 8px;
			}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.total-cost.empty
	{
		opacity: 0.5;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip
{
	position: absolute;
	bottom: 50%;
	left: -200px;
	z-index: 1;

	display: none;

	width: 664px;
	height: 362px;

	background: white;

	border-radius: 4px;
	box-shadow: 0 20px 16px 0 rgba(0, 0, 0, 0.1);
}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > figure
	{
		box-sizing: border-box;
		width: 342px;
		padding: 56px;
		margin: 0;

		border-right: 1px solid #e6e6e6;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > figure > img
		{
			width: 100%;
			height: 100%;

			object-fit: contain;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > div
	{
		-webkit-flex-grow: 1;
		    -ms-flex-positive: 1;
		        flex-grow: 1;
		padding: 27px 0;

		text-align: center;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > div > p
		{
			font-size: 12px;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > div > figure
		{
			box-sizing: border-box;
			width: 100%;
			height: 140px;
			padding: 0 56px 33px;
			margin: 0 0 27px;
			
			border-bottom: 1px solid #e6e6e6;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > div > figure > img
			{
				width: 100%;
				height: 100%;

				object-fit: contain;
			}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > div > svg
		{
			width: 200px;
			margin: -30px auto 20px;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > div > svg > path
			{
				fill: rgba(0, 0, 0, 0.1);
				stroke: rgb( 212, 212, 212 );
			}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td > div.tooltip > div > svg > path.current
				{
					fill: #fcba04;
				}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul
{
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	overflow: hidden;
	
	box-sizing: border-box;
	height: 30px;
	padding: 0;
	margin: 0;
	
	line-height: 28px;
	
	list-style: none;
	
	border: 1px solid #e6e6e6;
	border-radius: 3px;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li
{
	position: relative;
	
	display: block;
	
	-webkit-flex-grow: 1;
	
	    -ms-flex-positive: 1;
	
	        flex-grow: 1;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li > label
	{
		display: block;
		
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		
		text-align: center;
		
		border-right: 1px solid #e6e6e6;
		
		transition: background-color 0.3s;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li > input:not([disabled]):not(:checked) + label:hover, html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li > input:focus + label
	{
		cursor: pointer;
		
		background-color: rgba(255, 255, 255, 0.3);
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li > input
	{
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		
		opacity: 0;
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li > input[disabled] + label
		{
			color: rgba(255, 255, 255, 0.3);
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li > input:checked + label
		{
			background-color: #fcba04;
			
			border-color: #e6e6e6;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li > input:checked[disabled] + label
		{
			color: rgba(44, 31, 61, 0.3);
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes > fieldset > ul > li:last-of-type > label
		{
			border-right: none;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr:hover > td.other::after
	{
		opacity: 1;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr:hover > td > div.tooltip
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other
{
	margin-left: auto;
	
	line-height: 120px;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other::after
	{
		
		display: inline-block;
		
		width: 40px;
		height: 40px;
		
		vertical-align: middle;
		
		content: "";
		
		opacity: 0;
		background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='15' viewBox='0 0 20 15' stroke='%23fff'%3E%3Cpath fill='none' stroke-miterlimit='10' d='M12 .5l7 7-7 7M19 7.5H0'/%3E%3C/svg%3E") center center no-repeat #513870;
		
		border-radius: 50%;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
		
		transition: opacity 0.3s;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > h2, html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > form
	{
		display: none;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > a.more
{
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;

	cursor: pointer;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > span.favorites
{
	
	position: relative;
	z-index: 2;
	
	display: inline-block;
	
	margin-right: 20px;
	
	vertical-align: middle;
	
	/* Временное отключение */
	pointer-events: none;
	visibility: hidden;
}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > span.favorites > input
	{
		position: absolute;
		z-index: -1;
		
		opacity: 0;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > span.favorites > label
	{
		display: block;
		
		cursor: pointer;
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > span.favorites > label > svg
		{
			display: block;
			
			width: 20px;
			height: 20px;
			
			fill: none;
			stroke: rgb(171, 165, 177);
			stroke-width: 2px;
			stroke-linejoin: round;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > span.favorites > input:focus + label > svg, html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > span.favorites > label:hover > svg
		{
			stroke: #9bcbf2;
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other > span.favorites > input:checked + label > svg
		{
			fill: #9bcbf2;
			stroke: #9bcbf2;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes.field-floor > fieldset > ul
{
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	
	height: auto;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes.field-floor > fieldset > ul > li
{
	width: 50%;
}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes.field-floor > fieldset > ul > li > label
	{
		padding: 11px 20px;

		line-height: 20px;
		text-align: left;
		
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes.field-floor > fieldset > ul > li > label > span.result
		{
			display: block;

			font-size: 15px;

			opacity: 0.5;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes.field-floor > fieldset > ul > li:nth-last-child(-n+2) > label
		{
			border-bottom: none;
		}

html > body > main > section.commercial > div.filter > form > ul.fields > li.checkboxes.field-floor > fieldset > ul > li:nth-child(2n) > label
		{
			border-right: none;
		}

@media (min-width: 700px)
	{
			html > body > header > div.tel > p.main > a.online-office:hover > svg
			{
				-webkit-transform: scale(1.1);
				        transform: scale(1.1);
			}
	}

@media (min-width: 700px) and (max-width: 1399px)
	{

html > body > main > section.your-house > ul.features
{
		top: 150px;
		
		-webkit-flex-wrap: nowrap;
		
		    -ms-flex-wrap: nowrap;
		
		        flex-wrap: nowrap;
		
		width: 30%;
		height: auto;
		padding-left: 15%
}
		
		html > body > main > section.your-house > ul.features > li
		{
			width: 100%;
		}
	}

@media (min-width: 700px) and (max-width: 1099px)
	{
	}

@media (min-width: 1100px)
	{
		#lightbox ~ *
		{
			transition: -webkit-filter 0 0.05s;
			transition: filter 0 0.05s;
			transition: filter 0 0.05s, -webkit-filter 0 0.05s;
		}
		
		#lightbox ~ main
		{
			transition: -webkit-transform 0.3s;
			transition: transform 0.3s;
			transition: transform 0.3s, -webkit-transform 0.3s;
			
			whill-change: transform;
		}
		
		#lightbox::after
		{
			position: fixed;
			right: 0;
			bottom: 0;
			
			width: calc(50vw - 35px);
			min-width: 540px;
			height: 120px;
			
			content: "";
			pointer-events: none;
			
			background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.9));
			
			-webkit-transform: translateX(100%);
			
			        transform: translateX(100%);
			
			transition-property: -webkit-transform;
			
			transition-property: transform;
			
			transition-property: transform, -webkit-transform;
			transition-duration: 0.3s;
			transition-timing-function: ease-in;
		}
		#lightbox.open ~ *
		{
			-webkit-filter: blur(4px);
			        filter: blur(4px);
		}
		
		#lightbox.open ~ main
		{
			-webkit-transform: scale(0.9);
			        transform: scale(0.9);
		}
		
		#lightbox.open::after
		{
			-webkit-transform: translateX(0);
			        transform: translateX(0);
			
			transition-timing-function: ease-out;
		}
			html > body > nav.main:not(.on-top).open ~ *
			{
				-webkit-filter: blur(2px);
				        filter: blur(2px);
				
				transition: -webkit-filter 0s 0.2s;
				
				transition: filter 0s 0.2s;
				
				transition: filter 0s 0.2s, -webkit-filter 0s 0.2s;
			}

html > body > nav.main:not(.open) > a.online-office
{
		position: absolute;
		top: 50%;
		right: -106px;
		
		box-sizing: border-box;
		width: 218px;
		padding: 11px 16px 8px;
		
		-webkit-transform: rotate( -90deg );
		
		        transform: rotate( -90deg )
}

		html > body > nav.main:not(.open) > a.online-office::before
		{
			top: 7px;
		}

		html > body > nav.main:not(.open) > a.online-office::after
		{
			top: 19px;
		}

html > body > main > section.commercial > div.filter.stuck+div.apartments
{
		margin-left: calc(31.25vw - 22px)
}
	}

@media (min-width: 1100px) and (max-width: 1399px)
	{
#lightbox > div.content > div.body > p, html > body > main > section > p
{
		font-size: 14px
}
html > body > main > section.commercial > div.filter
{
		padding-left: calc(3.13vw - 2px)
}

html > body > main > section.commercial > div.filter
{
		padding-right: calc(3.13vw - 2px)
}
	}

@media (min-width: 1100px) and (max-height: 720px)
	{

html > body > nav.main > ul.menu > li
{
		margin-bottom: 13px
}
	}

@media (min-width: 1101px)
	{

html > body > main > section.commercial > div.filter > h3
{
		width: 100%;
		margin-right: 0
}
	}

@media (max-width: 1399px)
	{
#lightbox > div.content > div.body > h2, #lightbox > div.content > div.body > h3, #lightbox > div.content > div.body > ul.frames > li > h3, html > body > header > h1, html > body > main > section > h2, #lightbox > div.content > div.body > form > div.success > p:first-of-type, html > body > main > section.commercial > div.filter > h3, html > body > main > section.subscribe > form > div.success > p:first-of-type
{
		font-size: 36px
}
#lightbox > div.content > div.body > h2, html > body > main > section.commercial > div.filter > h3
{
		font-size: 24px
}
#lightbox > div.content > div.body > h3, #lightbox > div.content > div.body > ul.frames > li > h3, #lightbox > div.content > div.body > form > div.success > p:first-of-type, html > body > main > section.subscribe > form > div.success > p:first-of-type
{
		font-size: 18px
}

html > body > footer
{
		padding-top: 40px;
		padding-bottom: 50px
}

html > body > header > h1
{
		font-size: 72px
}

html > body > footer > div.links
{
		max-width: 300px;
		margin-top: 0
}

html > body > footer > div.links > p.creator
{
		margin-top: 2em;
		margin-left: 0
}
		html > body > footer > div.links > ul.social > li
		{
			margin-left: 10px;
		}
			
			html > body > footer > div.links > ul.social > li > a
			{
				width: 40px;
				height: 40px;
			}

html > body > header > div.copyright
{
		display: none
}

html > body > header > div.seven-suns > span.subtitle
{
		display: none
}

html > body > header > div.subtitle > p
{
		font-size: 18px
}

html > body > main > section > p
{
		font-size: 17px
}

html > body > main > section > p + p
	{
			font-size: 14px
	}

html > body > header > div.slideshow > div.controls
{
		bottom: 60px
}

html > body > main > section.features > figure
{
		top: -5vw;
		left: 40%;

		-webkit-transform: translateX( -100% );

		        transform: translateX( -100% )
}

html > body > main > section.features > h2, html > body > main > section.features > p, html > body > main > section.features > h3, html > body > main > section.features > ul
{
		max-width: 45%;
		padding-left: 45%
}

html > body > main > section.features > h2::before
	{
			left: 0
	}

html > body > main > section.your-house
{
		max-width: 740px;
		margin-right: auto;
		margin-left: auto
}

html > body > main > section.your-house > h2, html > body > main > section.your-house > p
{
		max-width: 45%;
		padding-right: 45%
}
	}

@media (max-width: 1099px)
	{
html > body > header
{
		min-height: 0;
		padding-left: 0
}
html > body > main > section.commercial > div.filter
{
		width: 100%;
		padding-right: calc(6.25vw - 4px)
}

#lightbox > div.content
{
		width: 100vw;
		min-width: 0
}

html > body
{
		padding-top: 44px
}

html > body.video-lightbox > aside#lightbox
	{
			margin: 0
	}

html > body.video-lightbox > aside#lightbox > div.content
		{
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-align-items: center;
				    -ms-flex-align: center;
				        align-items: center;
				
				width: 100%;
				min-height: 100vh;

				background: white
		}

html > body.video-lightbox > aside#lightbox > div.content > header
			{
					position: absolute;
					top: 40px;
					right: 40px;
					
					display: block
			}

#lightbox > div.content > header > button.close
{
		width: calc(26px + 6.25vw);
		
		background-position: left center
}

#lightbox > div.content > div.body > h2
{
		padding-right: 40px
}

html > body > footer
{
		padding-right: 5vw;
		padding-left: 5vw
}

html > body > footer > div.info
{
		margin-right: 20px
}

html > body > header
{
		min-height: 100vh;
		padding-top: 200px;
		padding-right: 5vw;
		padding-bottom: 100px;
		padding-left: 5vw;
		
		transition: min-height 0.5s
}

html > body > header > figure
{
		left: 0;

		object-position: -75px bottom
}

html > body > header > figure::before
	{
			background: rgba( 0, 0, 0, 0.35 )
	}

html > body > header > h1
{
		margin-bottom: 30px
}

html > body > header > img
{
		left: 0;

		object-position: -75px bottom
}

html > body > nav.main
{
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		
		width: 100%
}
		html > body > nav.main:not(.on-top)::after
		{
			display: none;
		}
		
		html > body > nav.main:not(.on-top)::before
		{
			right: 20px;
			left: auto;
			
			background: url("images/btn-close.svg") center center no-repeat;
		}

html > body > nav.main > button.open::before
	{
			content: none
	}

html > body > footer > div.links
{
		width: 150px;
		max-width: 150px
}

html > body > footer > div.links > div.office
{
		height: auto;
		margin-top: 5px
}
		
		html > body > footer > div.links > div.office > a
		{
			width: 90px;
		}

html > body > footer > div.links > p.creator
{
		margin-top: 1em
}

html > body > footer > div.links > ul.social
{
		-webkit-order: -1;
		    -ms-flex-order: -1;
		        order: -1
}
		
		html > body > footer > div.links > ul.social > li
		{
			margin-right: 10px;
			margin-left: 0;
		}

html > body > header > div.slideshow > ul.slides::before
	{
			background: rgba( 0, 0, 0, 0.35 )
	}

html > body > header > div.copyright > small.copyright
{
		margin-bottom: 10px
}

html > body > header > div.seven-suns
{
		top: 30px;
		left: 40px
}

html > body > header > div.subtitle > a
{
		bottom: 130px
}

html > body > header > div.subtitle > p
{
		max-width: 200px;
		margin-bottom: 30px;
		
		font-size: 16px
}

html > body > header > div.tel
{
		top: 35px
}

html > body > header > div.video-container
{
		top: 90px;
		bottom: auto;
		left: 40px
}

html > body > nav.main:not(.open)
{
		overflow: visible;
		
		-webkit-transform: translateX(-100%);
		
		        transform: translateX(-100%)
}

html > body > nav.main:not(.open) > button.open
{
		top: 0;
		right: -100%;
		
		box-sizing: border-box;
		width: 100vw;
		height: 44px;
		padding: 0 5vw;
		
		text-align: right;
		
		background: white;
		
		box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2)
}
		
		html > body > nav.main:not(.open) > button.open > svg.button
		{
			width: 33px;
			height: auto;
			margin-top: 10px;
			
			stroke: #fcba04;
			shape-rendering: crispEdges;
		}
		
		html > body > nav.main:not(.open) > button.open > img.logo
		{
			display: block;
		}
		
		html > body > nav.main:not(.open) > button.open > span.label
		{
	position: absolute;
	
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	
	width: 1px;
	height: 1px;
		}

html > body > header > div.slideshow > div.controls
{
		right: auto;
		left: calc(6.25vw - 4px)
}

html > body > main > section.advantages
{
		padding-top: 70px
}

html > body > main > section.advantages > h2, html > body > main > section.advantages > p
{
		max-width: 540px;
		margin-right: 5vw;
		margin-left: 5vw;
		
		text-align: left
}

html > body > main > section.advantages > ul
{
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap
}
		
		html > body > main > section.advantages > ul > li
		{
			width: 50%;
			margin-bottom: 30px;
		}

html > body > main > section.commercial
{
		margin-bottom: -70px
}

html > body > main > section.commercial > h2
{
		text-align: left
}

html > body > main > section.features
{
		max-width: 100%;
		margin-top: 70px;
		margin-right: 5vw;
		margin-left: 5vw
}

html > body > main > section.features > figure
{
		left: -5vw;

		width: calc(37.5vw - 26px);

		-webkit-transform: none;

		        transform: none
}

html > body > main > section.features > h2, html > body > main > section.features > p, html > body > main > section.features > h3, html > body > main > section.features > ul
{
		max-width: 540px;
		margin-left: 0
}

html > body > main > section.features > ul > li
	{
			width: 100%
	}

html > body > main > section.features > ul > li:not(:nth-last-child( -n + 2 ))
		{
				margin-bottom: 25px
		}

html > body > main > section.features > ul > li:nth-last-child( 2 )
		{
				margin-bottom: 25px
		}

html > body > main > section.subscribe
{
		padding-right: 5vw;
		padding-left: 5vw;
		margin-top: 70px
}

html > body > main > section.subscribe > h2, html > body > main > section.subscribe > p
{
		margin-left: 0;
		
		text-align: left
}

html > body > main > section.your-house
{
		max-width: 100%;
		padding-top: 70px;
		margin-right: 5vw;
		margin-left: 5vw
}

html > body > main > section.your-house > h2, html > body > main > section.your-house > p
{
		margin-left: 0
}

html > body > main > section.your-house > ul.features
{
		top: 70px
}

html > body > main > section.location
{
		display: block;
		
		margin-top: 224px
}

#lightbox > div.content > div.body > form > ul.fields > li.checkbox
{
		-webkit-order: 0;
		    -ms-flex-order: 0;
		        order: 0
}

html > body > main > section.commercial > div.apartments
{
		overflow-x: auto;
		
		width: 100%
}

html > body > main > section.commercial > div.filter
{
		padding-top: 50px;
		
		border: none
}

html > body > main > section.location > figure
{
		width: 100%;
		height: auto
}

html > body > main > section.commercial > div.apartments > table
{
		min-width: 700px
}

html > body > main > section.location > figure > figcaption
{
		bottom: 0;
		left: 0;

		width: 100%;
		padding: 24px 5vw;

		border-radius: 0
}

html > body > main > section.commercial > div.apartments > table tr > td.image, html > body > main > section.commercial > div.apartments > table tr > th.image
	{
			padding-left: 5vw
	}

html > body > main > section.subscribe > form > ul.fields > li.checkbox
{
		-webkit-order: 0;
		    -ms-flex-order: 0;
		        order: 0
}

html > body > main > section.subscribe > form > ul.fields > li:not(.controls):not(.checkbox)
{
		width: 100%
}

html > body > main > section.commercial > div.apartments > table > thead > tr.fixed
{
		display: none
}

html > body > main > section.commercial > div.apartments > table > tbody > tr:hover
	{
			box-shadow: none
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr:hover > td > div.tooltip
{
		display: none
}
	}

@media (max-width: 1099px) and (max-aspect-ratio: 2/1)
	{

html > body > header
{
		min-height: calc(56vw - 94px)
}
	}

@media (max-width: 1099px) and (max-aspect-ratio: 1/1)
	{

html > body > header
{
		min-height: calc(133vw - 94px)
}
	}

@media (max-width: 1099px) and (max-aspect-ratio: 11/16)
	{

html > body > header
{
		min-height: calc(178vw - 94px)
}
	}

@media (max-width: 1099px) and (max-aspect-ratio: 5/3)
	{

html > body > header
{
		min-height: calc(75vw - 94px)
}
	}

@media (max-width: 699px)
	{
html > body > main > section.subscribe > form > ul.fields > li > input:not([type="checkbox"]):not([type="radio"])
{
		background-color: rgb(116, 96, 141)
}
html > body > main > section.commercial > div.filter
{
		padding-right: 5vw;
		padding-left: 5vw
}

html > body.video-lightbox > aside#lightbox > div.content > header
			{
					top: 5vw;
					right: 5vw
			}

html > body > footer
{
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap
}

html > body > footer > div.contacts
{
		-webkit-flex: auto;
		    -ms-flex: auto;
		        flex: auto
}

html > body > footer > div.info
{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: nowrap;
		    -ms-flex-wrap: nowrap;
		        flex-wrap: nowrap;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column;
		
		min-width: 250px;
		margin-right: 0
}

html > body > header#commercial
	{
			min-height: 300px;
			padding-top: 80px;
			padding-bottom: 50px
	}

html > body > header
{
		positive: relative
}

html > body > header > h1
{
		font-size: 42px;
		line-height: 38px
}

html > body > footer > div.links
{
		-webkit-justify-content: flex-start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		
		width: 100%;
		max-width: 100%
}

html > body > footer > div.links > div.office
{
		-webkit-flex: auto;
		    -ms-flex: auto;
		        flex: auto;
		min-width: 150px;
		margin-top: 10px;
		margin-right: 5%
}
		
		html > body > footer > div.links > div.office > a
		{
			width: 110px;
		}

html > body > footer > div.links > p.creator
{
		-webkit-flex: auto;
		    -ms-flex: auto;
		        flex: auto;
		min-width: 250px
}

html > body > header > div.seven-suns
{
		left: 5vw
}

html > body > header > div.subtitle > a
{
		position: static
}

html > body > header > div.subtitle > button.go-down
{
		display: none
}

html > body > header > div.subtitle > p
{
		padding-bottom: 30px;
		
		font-size: 14px;
		
		background-size: 100px auto
}

html > body > header > div.tel
{
		position: static;
		
		margin-top: 20px
}

html > body > header > div.tel > dl
{
		display: none
}

html > body > header > div.tel > p.slogan
{
		display: none
}

html > body > header > div.video-container
{
		top: auto;
		right: 5vw;
		bottom: 12px;
		left: auto;

		-webkit-flex-direction: column;

		    -ms-flex-direction: column;

		        flex-direction: column
}

html > body > header > div.tel > p.main
{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: row-reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse
}

html > body > header > div.tel > p.main > a.online-office
{
		display: none
}

html > body > header > div.tel > p.main > a.tel
{
		margin-right: 40px;
		margin-left: 0;
		
		font-size: 21px
}
		
		html > body > header > div.tel > p.main > a.tel::before
		{
			content: none;
		}

html > body > header > div.video-container > div.video-info > p
{
		font-size: 16px;
		line-height: 1.75;
		text-align: right
}

html > body > header > div.video-container > div.video-wrapper
{
		margin: 0 0 12px
}

html > body > main > section.advantages > ul
{
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap
}
		
		html > body > main > section.advantages > ul > li
		{
			width: 100%;
		}

html > body > main > section.features > figure
{
		position: relative;
		top: 0;

		width: calc(100% + 10vw);
		margin-bottom: 25px
}

html > body > main > section.features > h2, html > body > main > section.features > p, html > body > main > section.features > h3, html > body > main > section.features > ul
{
		max-width: 100%;
		padding-left: 0
}

html > body > main > section.features > h3
{
		display: none
}

html > body > main > section.features > p
{
		margin-bottom: 25px
}

html > body > main > section.your-house
{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column
}

html > body > main > section.your-house > h2, html > body > main > section.your-house > p
{
		max-width: 100%;
		padding-right: 0;
		margin-right: 0
}

html > body > main > section.your-house > ul.features
{
		position: static;

		display: block;
		
		-webkit-order: 1;
		
		    -ms-flex-order: 1;
		
		        order: 1;
		width: auto;
		max-height: none;
		padding-left: 0;
		margin-top: 40px
}
		
		html > body > main > section.your-house > ul.features > li
		{
			width: 100%;
		}
			
			html > body > main > section.your-house > ul.features > li > strong
			{
				font-size: 64px;
			}

html > body > main > section.location
{
		margin-top: 40px
}

html > body > main > section.commercial > div.filter
{
		padding-top: 0;
		padding-right: 5vw
}

html > body > main > section.location > div.transport
{
		width: 100%;
		padding: 24px 5vw
}

html > body > main > section.commercial > div.apartments > table
{
		min-width: 0
}

html > body > main > section.location > figure > figcaption
{
		position: static
}

html > body > main > section.location > figure > figcaption > h2, html > body > main > section.location > figure > figcaption > p
	{
			text-shadow: none
	}

html > body > main > section.commercial > div.apartments > table tr
{
		display: block;

		padding: 20px
}

html > body > main > section.commercial > div.apartments > table tr > td, html > body > main > section.commercial > div.apartments > table tr > th
{
		display: block;

		border-top: none
}

html > body > main > section.commercial > div.apartments > table tr > td:not(.image):not(:last-child), html > body > main > section.commercial > div.apartments > table tr > th:not(.image):not(:last-child)
		{
				margin-bottom: 10px
		}

html > body > main > section.commercial > div.apartments > table tr > td:not(.image), html > body > main > section.commercial > div.apartments > table tr > th:not(.image)
	{
			margin-left: 80px
	}

html > body > main > section.commercial > div.apartments > table tr > td.image, html > body > main > section.commercial > div.apartments > table tr > th.image
	{
			float: left;

			width: 80px;
			padding-left: 0
	}

html > body > main > section.commercial > div.apartments > table > thead > tr
{
		display: none
}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.image > img
	{
			width: 80px
	}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.room-type > span.main
		{
				font-size: 22px
		}

html > body > main > section.commercial > div.apartments > table > tbody > tr > td.other::after
	{
			position: absolute;
			right: 20px;
			bottom: 20px
	}
	}

@media (max-height: 649px) and (min-width: 1100px)
	{

html > body > nav.main:not(.open) > a.online-office
{
		top: 325px
}
	}

@media screen and (min-width: 700px) and (max-width: 1099px)
	{

html > body > footer > div.contacts
{
		-webkit-flex: none;
		    -ms-flex: none;
		        flex: none;
		min-width: 0;
		width: 210px;
		margin-right: 4%
}
		html > body > footer > div.links > ul.social > li:last-of-type
		{
			margin-right: 0;
		}
	}
