/* ! font */

@font-face
	{
		font-family: 'Inter';
		font-style: normal;
		font-weight: 100 900;
		font-display: swap;
		src: url('/lib/inter-normal.woff2') format('woff2');
		font-named-instance: 'Regular';
	}

@font-face
	{
		font-family: 'Inter';
		font-style: italic;
		font-weight: 100 900;
		font-display: swap;
		src: url('/lib/inter-italic.woff2') format('woff2');
		font-named-instance: 'Italic';
	}

/* ! variables */

:root
	{
		--font: 16px/1.25 'Inter', sans-serif;
		--font-monospace: 87.5%/1.25 monospace;
		--font-weight-normal: 350;
		--font-weight-bold: 600;
		--font-size-big: 106.25%;
		--font-size-normal: 100%;
		--font-size-medium: 93.75%;
		--font-size-small: 81.25%;
		--font-size-tiny: 75%;

		--color-black: 0, 0, 0;
		--color-white: 255, 255, 255;
		--color-red: Tomato;
		--color-dark: 0, 0, 0;
		--color-light: 255, 255, 255;
		--color-decoration: 112, 128, 144;
		--color-box: rgba(112, 128, 144, .1);
		--color-disabled: rgba(112, 128, 144, .5);

		--link-font-color: LightSeaGreen;
		--link-hover-font-color: Tomato;
		--link-text-decoration: underline;
		--link-underline-thickness: .5px;
		--link-underline-offset: 2px;
		--link-underline-skip: none;
		--link-underline-color: unset;
		--link-external-icon: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 5"%3e%3cpath d="M6 0H1.5l1.52 1.53C2.44 2.58 1.29 3.75 0 4.5c0 0 2.7 0.15 4.34-1.65L6 4.5V0z" fill="rgba(112, 128, 144, .5)"/%3e%3c/svg%3e');

		--article-margin: 1.25em;
		--article-list-indent: 2.5em;
		--article-decoration-width: 1px;
		--article-headings-font-family: unset;
		--article-headings-font-weight: 500;
		--article-headings-font-color: unset;
		--article-h1-font-size: 175%;
		--article-h2-font-size: 150%;
		--article-h3-font-size: 125%;
		--article-h4-font-size: 112.5%;
		--article-p-font-size: 100%;
		--article-table-padding: .25em .5em;
		--article-table-font-size: 100%;
		--article-small-font-size: 87.5%;
		--article-small-font-color: rgba(112, 128, 144, .85);
		--article-image-caption-align: center;
		--article-image-caption-color: var(--article-small-font-color);

		--gap: 40px;
		--gap-small: 20px;
		--gap-tiny: 10px;

		--corner: 8px;
		--corner-small: 4px;
		--corner-tiny: 2px;

		--transition-duration: .25s;
		--transition-timing-function: ease;

		--body-background-color: rgba(var(--color-light), 1);

		--header-height: 106px;
		--header-background-color: #fff;
		--header-shadow: unset;

		--main-width: 1440px;
		--aside-width: 300px;

		--footer-font-size: var(--font-size-tiny);
		--footer-font-color: rgba(112, 128, 144, 1);
		--footer-font-color: #000;
		--footer-background-color: var(--color-box);

		--logo-top: 22px;
		--logo-left: var(--gap);
		--logo-width: 72px;
		--logo-height: 62px;

		--langs-top: -1px;
		--langs-right: 40px;
		--langs-left: unset;
		--langs-width: 24px;
		--langs-height: 24px;
		--langs-font-size: 10px;
		--langs-font-weight: 600;
		--langs-font-color: var(--header-background-color);
		--langs-background-color: LightSeaGreen;
		--langs-border-width: 0;
		--langs-border-color: unset;
		--langs-border-radius: 100px;
		--langs-hover-font-color: var(--header-background-color);
		--langs-hover-background-color: var(--link-hover-font-color);
		--langs-hover-border-color: unset;

		--menu-top: 19px;
		--menu-right: 0;
		--menu-left: 132px;
		--menu-width: unset;
		--menu-height: 20px;
		--menu-items-padding: 10px;
		--menu-items-justify: unset;
		--menu-font-size: 13px;
		--menu-font-weight: unset;
		--menu-font-color: rgba(var(--color-dark), 1);
		--menu-background-color: #fff;
		--menu-border-radius: var(--corner-small);
		--menu-hover-font-color: var(--link-font-color);
		--menu-hover-background-color: unset;
		--menu-drop-hover-font-color: rgba(var(--color-light), 1);
		--menu-drop-hover-background-color: var(--link-font-color);
		--menu-active-font-color: SlateGrey;
		--menu-active-background-color: rgba(var(--color-light), .5);
		--menu-popup-items-padding: .5em;
		--menu-popup-font-size: var(--font-size-medium);
		--menu-popup-font-weight: unset;
		--menu-popup-line-height: 1.25;
		--menu-popup-font-color: rgba(var(--color-light), .75);
		--menu-popup-hover-font-color: rgba(var(--color-dark), 1);
		--menu-popup-hover-background-color: var(--link-hover-font-color);
		--menu-popup-active-font-color: var(--link-hover-font-color);
		--menu-popup-active-background-color: unset;

		--submenu-items-padding: .5em;
		--submenu-font-size: var(--font-size-medium);
		--submenu-font-weight: unset;
		--submenu-line-height: 1.25;
		--submenu-font-color: rgba(var(--color-dark), .75);
		--submenu-hover-font-color: rgba(var(--color-dark), 1);
		--submenu-hover-background-color: var(--link-hover-font-color);
		--submenu-active-font-color: rgba(var(--color-dark), 1);
		--submenu-active-background-color: unset;

		--btn-padding: .5em;
		--btn-font-size: var(--font-size-normal);
		--btn-font-weight: 500;
		--btn-line-height: 1.25;
		--btn-border-width: 0;
		--btn-font-color: rgba(var(--color-light), 1);
		--btn-background-color: var(--link-font-color);
		--btn-border-color: unset;
		--btn-hover-font-color: rgba(var(--color-light), 1);
		--btn-hover-background-color: var(--link-font-color);
		--btn-hover-border-color: unset;
		--btn-active-font-color: rgba(var(--color-light), 1);
		--btn-active-background-color: var(--link-hover-font-color);
		--btn-active-border-color: unset;
		--btn-disabled-font-color: rgba(var(--color-light), 1);
		--btn-disabled-background-color: var(--color-disabled);
		--btn-disabled-border-color: unset;
		--btn-light-border-width: var(--article-decoration-width);
		--btn-light-font-color: var(--link-font-color);
		--btn-light-border-color: var(--link-font-color);
		--btn-light-hover-font-color: var(--link-hover-font-color);
		--btn-light-hover-border-color: var(--link-hover-font-color);
		--btn-light-active-font-color: var(--link-hover-font-color);
		--btn-light-active-border-color: var(--link-hover-font-color);
		--btn-light-disabled-font-color: var(--color-disabled);
		--btn-light-disabled-border-color: var(--color-disabled);

		--nav-height: 38px;
		--nav-gap: 6px;
		--nav-font-size: var(--font-size-normal);
		--nav-font-weight: unset;
		--nav-border-width: 0;
		--nav-color: rgba(var(--color-dark), 1);
		--nav-background-color: var(--color-box);
		--nav-border-color: unset;
		--nav-hover-font-color: rgba(var(--color-light), 1);
		--nav-hover-background-color: var(--link-font-color);
		--nav-hover-border-color: unset;
		--nav-active-font-color: rgba(var(--color-light), 1);
		--nav-active-background-color: var(--link-font-color);
		--nav-active-border-color: unset;
		--nav-disabled-font-color: var(--color-disabled);
		--nav-disabled-background-color: var(--color-box);
		--nav-disabled-border-color: unset;

		--form-width: 460px;
		--form-gap: 20px;
		--form-gap-small: 12px;
		--form-shadow-size: 25px;
		--form-background-color: #fff;
		--form-title-font-size: var(--article-h3-font-size);
		--form-description-font-size: var(--font-size-big);
		--form-label-font-size: var(--article-small-font-size);
		--form-label-color: var(--article-small-font-color);
		--form-input-height: 36px;
		--form-input-padding: .5em;
		--form-input-font-size: var(--font-size-normal);
		--form-input-background-color: rgba(var(--color-light), 1);
		--form-input-border-width: var(--article-decoration-width);
		--form-input-border-color: rgba(var(--color-decoration), .25);
		--form-input-focus-border-color: rgba(var(--color-decoration), .5);
		--form-checkbox-background-color: var(--color-box);
		--form-checkbox-icon: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"%3e%3cpolygon points="5.12 11.67 0.22 6.78 1.78 5.22 4.88 8.33 10.12 1.34 11.88 2.66" fill="%2306f"/%3e%3c/svg%3e');

		--breadcrumbs-top: 124px;
		--breadcrumbs-height: 24px;
		--breadcrumbs-font-size: 13px;
		--breadcrumbs-icon: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 5 8"%3e%3cpolygon points="0.75 7.75 4.5 4 0.75 0.25 0 1 3 4 0 7" fill="rgba(112, 128, 144, .85)"/%3e%3c/svg%3e');
	}

@media (max-width: 1023px)
	{
		:root
			{
				--header-height: 51px;

				--logo-top: 10px;
				--logo-left: 84px;
				--logo-width: 36px;
				--logo-height: 31px;

				--langs-top: 17px;
				--langs-right: 40px;

				--menu-top: 0;
				--menu-left: 40px;
				--menu-rihgt: unset;
				--menu-width: 24px;
				--menu-height: 51px;
				--menu-font-size: 16px;
				--menu-button-width: 24px;
				--menu-button-height: 17px;
				--menu-button-lines-weight: 3px;
				--menu-button-lines-color: rgba(var(--color-dark), 1);
				--menu-hover-font-color: var(--link-font-color);
				--menu-hover-background-color: unset;
				--menu-active-font-color: SlateGrey;
				--menu-active-background-color: unset;
				--menu-open-background-color: unset;

				--breadcrumbs-top: 63px;
			}
	}

@media (max-width: 640px)
	{
		:root
			{
				--gap: 20px;
				--form-gap: 20px;

				--logo-left: 64px;

				--langs-right: 20px;

				--menu-left: 0;
				--menu-width: 64px;

				--article-h1-font-size: 150%;
				--article-h2-font-size: 125%;
				--article-h3-font-size: 112.5%;
				--article-h4-font-size: 106.25%;

				--submenu-items-padding: .75em;
			}
	}

/* ! reset */

*:where(:not(html, iframe, img, svg, audio, video):not(svg *, symbol *)) {all: unset; display: revert; cursor: revert;}
*, *::before, *::after {box-sizing: border-box;}
table {width: 100%; border-collapse: collapse;}
ol, ul {list-style: none;}
img {max-width: 100%;}
video {background-color: rgba(var(--color-black), 1);}
::placeholder {color: var(--color-disabled);}

body
	{
		position: relative;
		font: var(--font-weight-normal) var(--font);
		color: rgba(var(--color-dark), 1);
		background-color: var(--body-background-color);
		-webkit-font-smoothing: subpixel-antialiased;
		-webkit-tap-highlight-color: transparent;
		-webkit-text-size-adjust: 100%;
	}

header, nav, aside, footer
	{
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

/* ! motion */

@media (prefers-reduced-motion: reduce)
	{
		*
			{
				transition: none !important;
			}
	}

/* ! print */

.print
	{
		display: none;
	}

@media print
	{
		header, nav, aside, footer, audio, video, .no-print
			{
				display: none !important;
			}
		*
			{
				--color-dark: 0, 0, 0;
				--color-light: 255, 255, 255;
				--color-decoration: 0, 0, 0;
				--body-background-color: white;
			}
		.print
			{
				display: revert;
			}
	}

/* ! links */

a
	{
		color: var(--link-font-color);
		text-decoration: var(--link-text-decoration);
		text-decoration-color: var(--link-underline-color);
		text-decoration-thickness: var(--link-underline-thickness);
		text-decoration-skip-ink: var(--link-underline-skip);
		text-underline-offset: var(--link-underline-offset);
		transition: color var(--transition-duration) var(--transition-timing-function);
	}

a:active
	{
		color: var(--link-hover-font-color);
		transition: none;
	}

@media (hover: hover)
	{
		a:hover
			{
				color: var(--link-hover-font-color);
			}
	}

article a[href^='http']:not(.btn)::after
	{
		content: '';
		position: absolute;
		width: 6px;
		height: 5px;
		background-image: var(--link-external-icon);
	}

/* ! spaces */

article :is(h1, h2, h3, h4, div, p, pre, address, ul, ol, blockquote, hr, table, form, iframe, audio, video)
	{
		margin-top: var(--article-margin);
	}

article :first-child, article :is(div div, table table), article :is(ul, ol) :is(ul, ol)
	{
		margin-top: 0;
	}

/* ! texts */

article :is(h1, h2, h3, h4)
	{
		font-family: var(--article-headings-font-family);
		font-weight: var(--article-headings-font-weight);
		color: var(--article-headings-font-color);
	}

article h1
	{
		font-size: var(--article-h1-font-size);
		clear: both;
	}

article h2
	{
		font-size: var(--article-h2-font-size);
		clear: both;
	}

article h3
	{
		font-size: var(--article-h3-font-size);
	}

article h4
	{
		font-size: var(--article-h4-font-size);
	}

article p, article li
	{
		font-size: var(--article-p-font-size);
	}

article :is(pre, code)
	{
		font: var(--font-monospace);
	}

article pre
	{
		overflow: auto;
		max-width: 100%;
		padding: var(--article-table-padding);
		border: var(--article-decoration-width) dashed rgba(var(--color-decoration), 1);
		white-space: pre;
	}

article :is(ol, ul, blockquote)
	{
		list-style: revert;
		padding-left: var(--article-list-indent);
	}

article :is(b, strong)
	{
		font-weight: var(--font-weight-bold);
	}

article :is(i, em, address, cite)
	{
		font-style: italic;
	}

article u
	{
		text-decoration: underline;
	}

article s
	{
		text-decoration: line-through;
	}

article :is(sub, sup)
	{
		position: relative;
		font-size: 62.5%;
		top: .25em;
	}

article sup
	{
		top: -.5em;
	}

article small
	{
		font-size: var(--article-small-font-size);
		color: var(--article-small-font-color);
	}

/* ! objects */

article :is(iframe, audio, video)
	{
		display: block;
		position: relative;
		width: 100%;
	}

article hr
	{
		display: block;
		border-top: var(--article-decoration-width) solid rgba(var(--color-decoration), 1);
	}

/* ! images */

article img
	{
		border-radius: var(--corner-tiny);
	}

article img.pic
	{
		padding: 5px;
		background-color: rgba(var(--color-white), 1);
		box-shadow: 0 2.5px 5px rgba(var(--color-black), .25);
	}

article img.flip-h
	{
		transform: scaleX(-1);
	}

article img.flip-v
	{
		transform: scaleY(-1);
	}

article img.flip-h.flip-v
	{
		transform: scale(-1, -1);
	}

article :is(img, ins)[style*='float: left']
	{
		margin-right: 1em;
		margin-bottom: .5em;
	}

article :is(img, ins)[style*='float: right']
	{
		margin-left: 1em;
		margin-bottom: .5em;
	}

article ins.image-caption
	{
		display: table;
		text-align: var(--article-image-caption-align);
		max-width: 100%;
	}

article ins.image-caption span
	{
		font-size: var(--font-size-tiny);
		color: var(--article-image-caption-color);
		display: table-caption;
		caption-side: bottom;
	}

@media (max-width: 640px)
	{
		article ins
			{
				margin: 0 auto !important;
			}
		article img[style*='float']
			{
				display: block;
			}
		article :is(img, ins)[style*='float']
			{
				float: none !important;
				width: auto !important;
				margin: 0 auto var(--article-margin) !important;
			}
	}

@media print
	{
		article img.pic
			{
				padding: 0;
				box-shadow: none;
			}
	}

/* ! tables */

article table
	{
		font-size: var(--article-table-font-size);
	}

article :is(td, th)
	{
		border: var(--article-decoration-width) solid rgba(var(--color-decoration), 1);
		padding: var(--article-table-padding);
	}

article th
	{
		font-weight: var(--font-weight-bold);
		color: rgba(var(--color-light), 1);
		background-color: rgba(var(--color-decoration), 1);
	}

article .table-wrapper
	{
		max-width: 100%;
		overflow: auto;
	}

/* ! boxes */

article .box
	{
		position: relative;
		padding: var(--gap-small);
		color: rgba(var(--color-dark), 1);
		background-color: var(--color-box);
		border-radius: var(--corner);
	}

/* ! columns */

article :is(.box2col, .box3col, .box4col)
	{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--gap);
	}

article .box3col
	{
		grid-template-columns: 1fr 1fr 1fr;
	}

article .box4col
	{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

article :is(.box2col, .box3col, .box4col)>div
	{
		position: relative;
		min-width: 0;
	}

@media (max-width: 640px)
	{
		article :is(.box2col, .box3col, .box4col)
			{
				grid-template-columns: 1fr;
				gap: var(--article-margin);
			}
	}

/* ! flex */

.flex
	{
		display: flex;
		flex-wrap: wrap;
		gap: var(--gap);
	}

.flex.small-gap
	{
		gap: var(--gap-small);
	}

.flex.tiny-gap
	{
		gap: var(--gap-tiny);
	}

.flex.center
	{
		justify-content: center;
	}

.flex.space
	{
		justify-content: space-evenly;
	}

.flex.sides
	{
		justify-content: space-between;
		align-items: center;
	}

@media (max-width: 640px)
	{
		.flex.mobile-center
			{
				justify-content: center;
			}
	}

/* ! margin */

.margin
	{
		margin-top: var(--gap);
		margin-bottom: var(--gap);
	}

.margin-top
	{
		margin-top: var(--gap);
	}

.margin-bottom
	{
		margin-bottom: var(--gap);
	}

/* ! header */

header
	{
		position: absolute;
		left: 0;
		right: 0;
		background-color: var(--header-background-color);
		box-shadow: var(--header-shadow);
		z-index: 30;
	}

header .wrapper
	{
		position: relative;
		height: var(--header-height);
		margin: 0 auto;
		padding: 0 var(--gap);
		max-width: var(--main-width);
	}

header .logo
	{
		display: block;
		position: absolute;
		top: var(--logo-top);
		left: var(--logo-left);
		text-decoration: unset;
		color: unset;
	}

header .logo :is(svg, img)
	{
		display: block;
		width: var(--logo-width);
		height: var(--logo-height);
	}

header .logo b
	{
		position: absolute;
		color: transparent;
		clip-path: circle(0);
	}

@media (max-width: 640px)
	{
		header
			{
				position: fixed;
			}
	}

/* ! main */

main
	{
		display: grid;
		position: relative;
		grid-template-columns: 1fr;
		gap: var(--gap);
		margin: 0 auto;
		padding: calc(var(--header-height) + var(--gap)) var(--gap) var(--gap);
		max-width: var(--main-width);
		background-color: rgba(var(--color-light), 1);
		z-index: 10;
	}

.content-page main
	{
		grid-template-columns: auto var(--aside-width);
	}

@media (max-width: 1023px)
	{
		.content-page main
			{
				grid-template-columns: 1fr;
			}
	}

@media print
	{
		main
			{
				grid-template-columns: 1fr !important;
				width: 980px !important;
				padding: 0 !important;
			}
	}

/* ! article */

article
	{
		position: relative;
		min-width: 0;
	}

.error-page article
	{
		padding: var(--article-margin) 0 calc(var(--article-margin) * 2);
	}

/* ! aside */

aside
	{
		position: relative;
		min-width: 0;
	}

aside .wrapper
	{
		position: relative;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		gap: var(--gap-small);
	}

/* ! footer */

footer
	{
		position: relative;
		font-size: var(--footer-font-size);
		color: var(--footer-font-color);
		background-color: var(--footer-background-color);
		z-index: 20;
	}

footer.fixed
	{
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
	}

footer a
	{
		color: var(--footer-font-color);
	}

footer .wrapper
	{
		padding: var(--gap);
		margin: 0 auto;
		max-width: var(--main-width);
	}

@media (max-width: 640px)
	{
		footer .wrapper
			{
				text-align: center;
			}
	}

/* ! langs */

.langs
	{
		position: relative;
		margin: 0 auto;
		max-width: var(--main-width);
	}

.langs ul
	{
		display: flex;
		gap: var(--nav-gap);
		position: absolute;
		top: var(--langs-top);
		right: var(--langs-right);
		left: var(--langs-left);
	}

.langs a
	{
		display: block;
		width: var(--langs-width);
		height: var(--langs-height);
		font-size: var(--langs-font-size);
		font-weight: var(--langs-font-weight);
		line-height: var(--langs-height);
		text-align: center;
		text-decoration: none;
		color: var(--langs-font-color);
		border: var(--langs-border-width) solid var(--langs-border-color);
		border-radius: var(--langs-border-radius);
		background-color: var(--langs-background-color);
		transition: color var(--transition-duration) var(--transition-timing-function), border-color var(--transition-duration) var(--transition-timing-function), background-color var(--transition-duration) var(--transition-timing-function);
	}

.langs a:active
	{
		color: var(--langs-hover-font-color);
		border-color: var(--langs-hover-border-color);
		background-color: var(--langs-hover-background-color);
		transition: none;
	}

@media (hover: hover)
	{
		.langs a:hover
			{
				color: var(--langs-hover-font-color);
				border-color: var(--langs-hover-border-color);
				background-color: var(--langs-hover-background-color);
			}
	}

.langs .active
	{
		display: none;
	}

/* ! menu */

.main-menu
	{
		position: absolute;
		top: var(--menu-top);
		right: var(--menu-right);
		left: var(--menu-left);
		width: var(--menu-width);
		font-size: var(--menu-font-size);
		background-color: var(--menu-background-color);
		z-index: 10;
	}

.main-menu .button
	{
		display: none;
	}

.main-menu>ul
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: var(--menu-items-justify);
		align-items: center;
		margin: 0 auto;
		padding: 0 calc(var(--gap) - var(--menu-items-padding));
		max-width: var(--main-width);
	}

.main-menu>ul>li
	{
		position: relative;
		transition: background-color var(--transition-duration) var(--transition-timing-function);
	}

.main-menu>ul>li.popup:hover
	{
		background-color: var(--menu-drop-hover-background-color);
	}

.main-menu>ul>li.active
	{
		background-color: var(--menu-active-background-color);
	}

.main-menu>ul>li>a
	{
		display: block;
		padding: 0 var(--menu-items-padding);
		font-weight: var(--menu-font-weight);
		line-height: var(--menu-height);
		color: var(--menu-font-color);
		text-decoration: none;
		white-space: nowrap;
		transition: color var(--transition-duration) var(--transition-timing-function), background-color var(--transition-duration) var(--transition-timing-function);
	}

.main-menu>ul>li.popup>a
	{
		padding-right: calc(var(--menu-items-padding) - 4px);
	}

.main-menu>ul>li.popup:hover>a
	{
		color: var(--menu-drop-hover-font-color);
	}

.main-menu>ul>li.active>a
	{
		color: var(--menu-active-font-color);
	}

.main-menu>ul>li:active>a:active
	{
		color: var(--menu-hover-font-color);
		background-color: var(--menu-hover-background-color);
		transition: none;
	}

@media (hover: hover)
	{
		.main-menu>ul>li:hover>a:hover
			{
				color: var(--menu-hover-font-color);
				background-color: var(--menu-hover-background-color);
			}
	}

.main-menu>ul>li>a>svg
	{
		width: 8px;
		height: 5px;
		margin: 0 0 0 .25em;
		vertical-align: middle;
		fill: currentColor;
	}

.main-menu>ul>li>ul
	{
		position: absolute;
		overflow: hidden;
		top: var(--menu-height);
		left: 0;
		max-height: 0;
		min-width: 100%;
		background-color: var(--menu-drop-hover-background-color);
		border-radius: var(--menu-border-radius);
		border-top-right-radius: 0;
		border-top-left-radius: 0;
		transition: max-height var(--transition-duration) var(--transition-timing-function), opacity var(--transition-duration) var(--transition-timing-function);
		opacity: 0;
		z-index: 10;
	}

.main-menu>ul>li.round>ul
	{
		border-radius: var(--menu-border-radius);
		border-top-left-radius: 0;
	}

.main-menu>ul>li:hover>ul
	{
		max-height: 1000px;
		transition: max-height 1s var(--transition-timing-function) var(--transition-duration), opacity 0s var(--transition-duration);
		opacity: 1;
	}

.main-menu>ul>li>ul>li:first-child
	{
		margin-top: var(--gap-tiny);
	}

.main-menu>ul>li>ul>li:last-child
	{
		margin-bottom: var(--gap-tiny);
	}

.main-menu>ul>li>ul>li>a
	{
		display: block;
		padding: var(--menu-popup-items-padding) calc(var(--menu-items-padding) * 2) var(--menu-popup-items-padding) var(--menu-items-padding);
		font-size: var(--menu-popup-font-size);
		font-weight: var(--menu-popup-font-weight);
		line-height: var(--menu-popup-line-height);
		color: var(--menu-popup-font-color);
		text-decoration: none;
		white-space: nowrap;
		transition: none;
	}

.main-menu>ul>li>ul>li.active>a
	{
		color: var(--menu-popup-active-font-color);
		background-color: var(--menu-popup-active-background-color);
	}

.main-menu>ul>li>ul>li:active>a
	{
		color: var(--menu-popup-hover-font-color);
		background-color: var(--menu-popup-hover-background-color);
	}

@media (hover: hover)
	{
		.main-menu>ul>li>ul>li:hover>a
			{
				color: var(--menu-popup-hover-font-color);
				background-color: var(--menu-popup-hover-background-color);
			}
	}

@media (max-width: 1023px)
	{
		.main-menu
			{
				text-align: center;
				background-color: transparent;
				border-radius: var(--menu-border-radius);
				border-bottom-right-radius: 0;
				border-bottom-left-radius: 0;
			}
		.main-menu .button
			{
				display: flex;
				justify-content: center;
				align-items: center;
				width: var(--menu-width);
				height: var(--menu-height);
				cursor: pointer;
			}
		.main-menu .button b
			{
				position: absolute;
				color: transparent;
				clip-path: circle(0);
			}
		.main-menu .button span
			{
				display: flex;
				justify-content: space-between;
				flex-direction: column;
				width: var(--menu-button-width);
				height: var(--menu-button-height);
			}
		.main-menu .button span::before, .main-menu .button span i, .main-menu .button span::after
			{
				content: '';
				height: var(--menu-button-lines-weight);
				background-color: var(--menu-button-lines-color);
				border-radius: var(--menu-border-radius);
				transition: transform var(--transition-duration) var(--transition-timing-function);
			}
		.main-menu>ul
			{
				display: none;
			}
		.main-menu.open
			{
				background-color: var(--menu-background-color);
			}
		.main-menu.open .button span i
			{
				display: none;
			}
		.main-menu.open .button span::before
			{
				transform: translateY(calc((var(--menu-button-height) - var(--menu-button-lines-weight)) / 2)) rotate(45deg);
			}
		.main-menu.open .button span::after
			{
				transform: translateY(calc(-1 * (var(--menu-button-height) - var(--menu-button-lines-weight)) / 2)) rotate(-45deg);
			}
		.main-menu.open>ul
			{
				display: flex;
				flex-direction: column;
				flex-wrap: nowrap;
				overflow: auto;
				position: absolute;
				top: calc(var(--menu-height) + 1px);
				right: 0;
				min-width: 200px;
				padding: var(--gap-tiny) 0;
				background-color: var(--menu-background-color);
				border-radius: var(--menu-border-radius);
				border-top-right-radius: 0;
				z-index: 100;
			}
		.main-menu.open>ul>li
			{
				width: auto;
				background-color: transparent !important;
				transition: none;
			}
		.main-menu.open>ul>li.open
			{
				background-color: var(--menu-open-background-color) !important;
			}
		.main-menu.open>ul>li>a
			{
				padding: var(--menu-popup-items-padding) var(--gap);
				line-height: var(--menu-popup-line-height);
			}
		.main-menu.open>ul>li.popup.active:hover>a
			{
				color: var(--menu-active-font-color);
			}
		.main-menu.open>ul>li.popup.active:active>a:active
			{
				color: var(--menu-hover-font-color);
				transition: none;
			}
		@media (hover: hover)
			{
				.main-menu.open>ul>li.popup.active:hover>a:hover
					{
						color: var(--menu-hover-font-color);
					}
			}
		.main-menu.open>ul>li>a>svg
			{
				margin-right: calc(-1 * (8px + .25em));
				transition: transform .125s var(--transition-timing-function);
			}
		.main-menu.open>ul>li.open>a>svg
			{
				transform: rotate(-180deg);
			}
		.main-menu.open>ul>li>ul
			{
				display: none;
				position: static;
				max-height: unset;
				background-color: transparent;
				border-radius: 0;
				opacity: 1;
			}
		.main-menu.open>ul>li.open>ul
			{
				display: block;
			}
		.main-menu.open>ul>li.open>ul>li
			{
				margin: 0;
			}
		.main-menu.open>ul>li.open>ul>li>a
			{
				padding: var(--menu-popup-items-padding) var(--gap-small);
				white-space: unset;
			}
		.main-menu.open
			{
				border-radius: 0;
			}
		.main-menu.open>ul
			{
				position: fixed;
				right: 0;
				bottom: 0;
				left: 0;
				min-width: unset;
				padding: calc(var(--gap) * 2) 0;
				border-radius: 0;
			}
		.main-menu.open>ul>li>a
			{
				white-space: unset;
			}
	}

/* ! submenu */

.submenu
	{
		padding: var(--gap-tiny) 0;
		background-color: var(--color-box);
		border-radius: var(--corner);
	}

.submenu a
	{
		display: block;
		position: relative;
		padding: var(--submenu-items-padding) var(--gap-small);
		font-size: var(--submenu-font-size);
		font-weight: var(--submenu-font-weight);
		line-height: var(--submenu-line-height);
		color: var(--submenu-font-color);
		text-decoration: none;
		transition: none;
	}

.submenu li.active>a
	{
		color: var(--submenu-active-font-color);
		background-color: var(--submenu-active-background-color);
	}

.submenu li>a:active
	{
		color: var(--submenu-hover-font-color);
		background-color: var(--submenu-hover-background-color);
	}

@media (hover: hover)
	{
		.submenu li>a:hover
			{
				color: var(--submenu-hover-font-color);
				background-color: var(--submenu-hover-background-color);
			}
	}

.submenu li.active>a::before
	{
		content: '';
		position: absolute;
		left: 0;
		top: .25em;
		bottom: .25em;
		width: 4px;
		background-color: var(--submenu-active-font-color);
	}

@media (max-width: 640px)
	{
		.submenu li.active>a::before
			{
				top: .5em;
				bottom: .5em;
			}
	}

/* ! breadcrumbs */

.breadcrumbs
	{
		position: absolute;
		overflow: hidden;
		top: var(--breadcrumbs-top);
		right: 0;
		left: 0;
		height: var(--breadcrumbs-height);
		margin: 0 auto;
		padding: 0 var(--gap);
		max-width: var(--main-width);
		font-size: var(--breadcrumbs-font-size);
		line-height: var(--breadcrumbs-height);
		z-index: 20;
	}

.breadcrumbs li
	{
		display: inline;
		white-space: nowrap;
	}

.breadcrumbs a
	{
		color: var(--article-small-font-color);
	}

.breadcrumbs a:active
	{
		color: var(--link-hover-font-color);
		transition: none;
	}

@media (hover: hover)
	{
		.breadcrumbs a:hover
			{
				color: var(--link-hover-font-color);
			}
	}

.breadcrumbs .home svg
	{
		position: relative;
		top: -1px;
		width: 15px;
		height: 12px;
		fill: currentColor;
		vertical-align: middle;
	}

.breadcrumbs .home span
	{
		position: absolute;
		color: transparent;
		clip-path: circle(0);
	}

.breadcrumbs li + li:not(:last-child)::before
	{
		content: '';
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 .25em;
		background-image: var(--breadcrumbs-icon);
		vertical-align: middle;
	}

.breadcrumbs [aria-current='page']
	{
		display: none;
	}

/* ! pages */

.pages
	{
		display: flex;
		margin-top: var(--gap);
		gap: var(--nav-gap);
		text-align: center;
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.pages :is(a, span)
	{
		min-width: var(--nav-height);
		padding: 0 var(--gap-tiny);
		font-size: var(--nav-font-size);
		font-weight: var(--nav-font-weight);
		line-height: var(--nav-height);
		color: var(--nav-color);
		text-decoration: none;
		border: var(--nav-border-width) solid var(--nav-border-color);
		border-radius: 100px;
		background-color: var(--nav-background-color);
		transition: color var(--transition-duration) var(--transition-timing-function), border-color var(--transition-duration) var(--transition-timing-function), background-color var(--transition-duration) var(--transition-timing-function);
	}

.pages svg
	{
		width: 7px;
		height: 12px;
		fill: currentColor;
	}

.pages span
	{
		color: var(--nav-active-font-color);
		border-color: var(--nav-active-border-color);
		background-color: var(--nav-active-background-color);
	}

.pages b
	{
		font-weight: 400;
	}

.pages a:active
	{
		color: var(--nav-hover-font-color);
		border-color: var(--nav-hover-border-color);
		background-color: var(--nav-hover-background-color);
		transition: none;
	}

@media (hover: hover)
	{
		.pages a:hover
			{
				color: var(--nav-hover-font-color);
				border-color: var(--nav-hover-border-color);
				background-color: var(--nav-hover-background-color);
				transition: none;
			}
	}

.pages .dots
	{
		padding: 0;
	}

@media (max-width: 640px)
	{
		.pages
			{
				justify-content: center;
				margin-top: var(--article-margin);
			}
		.pages :is(.prev, .next)
			{
				display: none;
			}
	}

@media print
	{
		.pages
			{
				display: none;
			}
	}

/* ! sitemap */

.sitemap>ul
	{
		padding-left: 0;
		list-style: none;
		font-weight: var(--font-weight-bold);
	}

.sitemap>ul>li:not(:last-child)
	{
		margin: .75em 0;
	}

.sitemap ul ul
	{
		list-style: square;
		padding-left: 1.75em;
		font-weight: var(--font-weight-normal);
	}

.sitemap ul ul li
	{
		margin: .25em 0;
	}

/* ! social */

.social
	{
		--size: 32px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: var(--nav-gap);
		max-width: 100%;
	}

.social a
	{
		overflow: hidden;
		width: var(--size);
		height: var(--size);
		border-radius: 50%;
		color: rgba(var(--color-white), 1);
	}

.social a svg
	{
		display: block;
		width: 100%;
		height: 100%;
		fill: currentColor;
	}

.social .facebook {background: linear-gradient(to top, #0062e0 0%, #19afff 100%);}
.social .twitter {background: #1d9bf0;}
.social .instagram {background: radial-gradient(circle farthest-corner at 35% 90%, #fec564, transparent 50%), radial-gradient(circle farthest-corner at 0 140%, #fec564, transparent 50%), radial-gradient(ellipse farthest-corner at 0 -25%, #5258cf, transparent 50%), radial-gradient(ellipse farthest-corner at 20% -50%, #5258cf, transparent 50%), radial-gradient(ellipse farthest-corner at 100% 0, #893dc2, transparent 50%), radial-gradient(ellipse farthest-corner at 60% -20%, #893dc2, transparent 50%), radial-gradient(ellipse farthest-corner at 100% 100%, #d9317a, transparent), linear-gradient(#6559ca, #bc318f 30%, #e33f5f 50%, #f77638 70%, #fec66d 100%);}
.social .youtube {background: #ea3223;}

/* ! buttons */

* .btn
	{
		display: inline-block;
		position: relative;
		overflow: hidden;
		padding: var(--btn-padding) var(--gap-small);
		font-size: var(--btn-font-size);
		font-weight: var(--btn-font-weight);
		line-height: var(--btn-line-height);
		color: var(--btn-font-color);
		background-color: var(--btn-background-color);
		border: var(--btn-border-width) solid var(--btn-border-color);
		border-radius: var(--corner-small);
		text-align: center;
		text-decoration: none;
		vertical-align: top;
		transition: color var(--transition-duration) var(--transition-timing-function), border-color var(--transition-duration) var(--transition-timing-function), background-color var(--transition-duration) var(--transition-timing-function);
		-webkit-user-select: none;
		user-select: none;
		cursor: pointer;
	}

@media (hover: hover)
	{
		* .btn:hover
			{
				color: var(--btn-hover-font-color);
				background-color: var(--btn-hover-background-color);
				border-color: var(--btn-hover-border-color);
			}
	}

* .btn:active
	{
		color: var(--btn-active-font-color);
		background-color: var(--btn-active-background-color);
		border-color: var(--btn-active-border-color);
		transition: none;
	}

* .btn.disabled
	{
		color: var(--btn-disabled-font-color);
		background-color: var(--btn-disabled-background-color);
		border-color: var(--btn-disabled-border-color);
		cursor: default;
	}

* .btn.light
	{
		padding: calc(var(--btn-padding) - var(--btn-light-border-width)) var(--gap-small);
		color: var(--btn-light-font-color);
		background-color: transparent !important;
		border: var(--btn-light-border-width) solid var(--btn-light-border-color);
	}

@media (hover: hover)
	{
		* .btn.light:hover
			{
				color: var(--btn-light-hover-font-color);
				border-color: var(--btn-light-hover-border-color);
			}
	}

* .btn.light:active
	{
		color: var(--btn-light-active-font-color);
		border-color: var(--btn-light-active-border-color);
		transition: none;
	}

* .btn.light.disabled
	{
		color: var(--btn-light-disabled-font-color);
		border-color: var(--btn-light-disabled-border-color);
		cursor: default;
	}

* .btn.rounded
	{
		border-radius: 100px;
	}

/* ! file */

.file
	{
		display: table;
		position: relative;
		height: 44px;
	}

.file + .file
	{
		margin-top: var(--gap-tiny);
	}

.file div
	{
		display: table-cell;
		vertical-align: middle;
		padding-left: 50px;
	}

.file ins
	{
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 30px;
		height: 42px;
		border: 1px solid rgba(var(--color-decoration), 1);
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.file ins b
	{
		display: block;
		position: absolute;
		overflow: hidden;
		right: -1px;
		top: -1px;
		width: 9px;
		height: 9px;
		border-left: 1px solid rgba(var(--color-decoration), 1);
		border-bottom: 1px solid rgba(var(--color-decoration), 1);
		background-color: rgba(var(--color-light), 1);
		box-shadow: 1px -1px rgba(var(--color-light), 1);
	}

.file ins b::after
	{
		content: '';
		position: absolute;
		right: -3px;
		top: 3px;
		width: 17px;
		border-bottom: 1px solid rgba(var(--color-decoration), 1);
		transform: rotate(45deg);
	}

.file ins i
	{
		display: block;
		position: absolute;
		right: -9px;
		bottom: 6px;
		padding: 0 2px;
		font-size: 10px;
		font-style: normal;
		line-height: 12px;
		color: rgba(var(--color-decoration), 1);
		border: 1px solid rgba(var(--color-decoration), 1);
		background-color: rgba(var(--color-light), 1);
		text-transform: uppercase;
	}

/* ! video */

.video
	{
		height: auto;
		border-radius: var(--corner-small);
		aspect-ratio: 16/9;
	}

/* ! share */

.share
	{
		--size: 24px;
		display: block;
		position: relative;
		overflow: hidden;
		width: 0;
		height: var(--size);
		padding-right: 20px;
		color: var(--link-font-color);
		background-color: rgba(var(--color-light), 1);
	}

.share:hover
	{
		width: auto;
		color: var(--link-hover-font-color);
	}

.share>svg
	{
		display: block;
		position: absolute;
		width: 15px;
		height: 16px;
		right: 0;
		top: 4px;
		fill: currentColor;
	}

.share a
	{
		display: block;
		float: right;
		overflow: hidden;
		margin-right: var(--nav-gap);
		width: var(--size);
		height: var(--size);
		border-radius: var(--corner-tiny);
		color: rgba(var(--color-white), 1);
	}

.share a svg
	{
		display: block;
		width: 100%;
		height: 100%;
		fill: currentColor;
	}

.share .facebook {background: #1877f2;}
.share .twitter {background: #1d9bf0;}
.share .telegram {background: #26a4e3;}

@media print
	{
		.share
			{
				display: none;
			}
	}

/* ! scroller */

.scroller
	{
		--arrow-width: 40px;
		position: relative;
		transform: translateZ(0);
	}

.scroller .content
	{
		position: relative;
		overflow: hidden;
	}

.scroller .content>div
	{
		display: flex;
		position: relative;
		overflow: auto;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

.scroller .content>div::-webkit-scrollbar
	{
		display: none;
	}

.scroller.steps .content>div
	{
		overflow: hidden;
	}

.scroller .content>div img
	{
		border-radius: 0;
	}

.scroller :is(.left, .right)
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		bottom: 0;
		left: calc(-1 * var(--arrow-width));
		width: var(--arrow-width);
		color: var(--link-font-color);
		transition: color var(--transition-duration) var(--transition-timing-function);
		-webkit-user-select: none;
		user-select: none;
		cursor: pointer;
		z-index: 10;
	}

.scroller .right
	{
		right: calc(-1 * var(--arrow-width));
		left: auto;
	}

.scroller :is(.left, .right):active
	{
		color: var(--link-hover-font-color);
		transition: none;
	}

@media (hover: hover)
	{
		.scroller :is(.left, .right):hover
			{
				color: var(--link-hover-font-color);
			}
	}

.scroller :is(.left, .right) svg
	{
		width: 20px;
		height: 40px;
		fill: currentColor;
	}

.scroller .disabled
	{
		color: var(--color-disabled) !important;
		cursor: default;
	}

.scroller.fade .content::before, .scroller.fade .content::after
	{
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 40px;
		background: linear-gradient(to right, rgba(var(--color-light), 1) 0%, rgba(var(--color-light), 0) 100%);
		z-index: 10;
	}

.scroller.fade .content::after
	{
		right: 0;
		left: auto;
		background: linear-gradient(to right, rgba(var(--color-light), 0) 0%, rgba(var(--color-light), 1) 100%);
	}

@media (max-width: 640px)
	{
		.scroller
			{
				margin-left: calc((var(--arrow-width) + 20px) / 2);
				margin-right: calc((var(--arrow-width) + 20px) / 2);
			}
	}

@media print
	{
		.scroller :is(.left, .right)
			{
				display: none !important;
			}
	}

/* ! slider */

.slider
	{
		position: relative;
		overflow: hidden;
		transform: translateZ(0);
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

article .slider
	{
		border-radius: var(--corner);
	}

.slider .content
	{
		display: flex;
		position: relative;
		overflow: hidden;
	}

.slider .content img
	{
		display: block;
		border-radius: 0;
	}

.slider .slide
	{
		position: relative;
	}

.slider .slide::after
	{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 5;
	}

.slider :is(.prev, .next)
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -30px;
		width: 60px;
		height: 60px;
		color: rgba(var(--color-white), .75);
		transition: color var(--transition-duration) var(--transition-timing-function);
		cursor: pointer;
		z-index: 10;
	}

.slider .next
	{
		right: 0;
		left: auto;
	}

.slider :is(.prev, .next):active
	{
		color: rgba(var(--color-white), 1);
		transition: none;
	}

@media (hover: hover)
	{
		.slider :is(.prev, .next):hover
			{
				color: rgba(var(--color-white), 1);
			}
	}

.slider :is(.prev, .next) svg
	{
		width: 20px;
		height: 40px;
		fill: currentColor;
	}

.slider .pager
	{
		display: inline-block;
		position: absolute;
		right: 0;
		bottom: 20px;
		left: 0;
		font-size: 0;
		text-align: center;
		z-index: 10;
	}

.slider .pager i
	{
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 3px;
		border-radius: 50%;
		background-color: rgba(var(--color-white), .5);
	}

.slider .pager i.active
	{
		background-color: rgba(var(--color-white), 1);
	}

@media (max-width: 640px)
	{
		.slider :is(.prev, .next)
			{
				display: none !important;
			}
	}

@media print
	{
		.slider :is(.prev, .next, .pager)
			{
				display: none !important;
			}
	}

/* ! scene */

.scene
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(var(--color-black), .85);
		transition: opacity .4s ease-in-out;
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
		opacity: 0;
		z-index: 1001;
	}

.scene .content
	{
		transition: opacity .4s ease-in-out;
		opacity: 0;
		z-index: 10;
	}

.scene .content div
	{
		position: relative;
	}

.scene .content span
	{
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 10px 25%;
		font-size: 12px;
		line-height: 1.25;
		color: rgba(var(--color-white), 1);
		text-align: center;
		z-index: 10;
	}

.scene .content i
	{
		display: inline-block;
		padding: .25em .5em;
		background-color: rgba(var(--color-black), .5);
		border-radius: var(--corner-small);
	}

.scene .content img
	{
		display: block;
		max-width: calc(100vw - 120px);
		max-height: calc(100vh - 80px);
		box-shadow: 0 0 25px rgba(var(--color-black), .25);
		border-radius: var(--corner-small);
	}

.scene :is(.prev, .next, .close)
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -30px;
		width: 60px;
		height: 60px;
		color: rgba(var(--color-white), .75);
		transition: color var(--transition-duration) var(--transition-timing-function), opacity .4s ease-in-out;
		cursor: pointer;
		opacity: 0;
		z-index: 10;
	}

.scene .next
	{
		right: 0;
		left: auto;
	}

.scene .close
	{
		top: 0;
		left: auto;
		right: 0;
		margin-top: 0;
		width: 32px;
		height: 32px;
	}

.scene :is(.prev, .next, .close):active
	{
		color: rgba(var(--color-white), 1);
		transition: none;
	}

@media (hover: hover)
	{
		.scene :is(.prev, .next, .close):hover
			{
				color: rgba(var(--color-white), 1);
			}
	}

.scene :is(.prev, .next, .close) svg
	{
		width: 20px;
		height: 40px;
		fill: currentColor;
	}

.scene .close svg
	{
		width: 12px;
		height: 12px;
	}

@media (min-width: 1600px)
	{
		.scene :is(.prev, .next)
			{
				width: 120px;
			}
		.scene .content img
			{
				max-width: calc(100vw - 240px);
			}
	}

@media (max-width: 840px)
	{
		.scene .content img
			{
				max-height: 100vh;
			}
	}

@media (max-width: 640px)
	{
		.scene :is(.prev, .next)
			{
				display: none;
			}
		.scene .content img
			{
				max-width: 100vw;
				border-radius: 0;
			}
		.scene .content span
			{
				font-size: 11px;
				padding-left: 10%;
				padding-right: 10%;
			}
	}

@media print
	{
		.scene
			{
				display: none;
			}
	}

/* ! gallery */

.gallery
	{
		position: relative;
		overflow: hidden;
		background-color: rgba(var(--color-black), 1);
		border-radius: var(--corner-small);
		transform: translateZ(0);
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.gallery .wrapper
	{
		position: relative;
		overflow: hidden;
	}

.gallery .content
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		transition: opacity .4s ease-in-out;
		z-index: 10;
	}

.gallery .content div
	{
		position: relative;
		cursor: pointer;
	}

.gallery .content span
	{
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 10px 25%;
		font-size: 12px;
		line-height: 1.25;
		color: rgba(var(--color-white), 1);
		text-align: center;
		z-index: 10;
	}

.gallery .content span i
	{
		display: inline-block;
		padding: .25em .5em;
		background-color: rgba(var(--color-black), .5);
		border-radius: var(--corner-small);
		font-style: normal;
	}

.gallery .content img
	{
		display: block;
		border-radius: 0;
	}

.gallery .content img.scale
	{
		transform: scale(1.15);
	}

.gallery :is(.prev, .next)
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -30px;
		width: 60px;
		height: 60px;
		color: rgba(var(--color-white), .75);
		transition: color var(--transition-duration) var(--transition-timing-function), opacity .4s ease-in-out;
		cursor: pointer;
		opacity: 0;
		z-index: 10;
	}

.gallery .next
	{
		right: 0;
		left: auto;
	}

.gallery :is(.prev, .next):active
	{
		color: rgba(var(--color-white), 1);
		transition: none;
	}

@media (hover: hover)
	{
		.gallery :is(.prev, .next):hover
			{
				color: rgba(var(--color-white), 1);
			}
	}

.gallery .disabled
	{
		opacity: 0 !important;
		cursor: default;
	}

.gallery :is(.prev, .next) svg
	{
		width: 20px;
		height: 40px;
		fill: currentColor;
	}

.gallery .thumbs
	{
		position: relative;
		overflow: hidden;
		height: 50px;
		margin: 10px 0;
	}

.gallery .thumbs::before, .gallery .thumbs::after
	{
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 10px;
		background: linear-gradient(to right, rgba(var(--color-black), 1) 0%, rgba(var(--color-black), 0) 100%);
		z-index: 10;
	}

.gallery .thumbs::after
	{
		left: auto;
		right: 0;
		background: linear-gradient(to right, rgba(var(--color-black), 0) 0%, rgba(var(--color-black), 1) 100%);
	}

.gallery .thumbs>div
	{
		position: relative;
		overflow: auto;
		font-size: 0;
		white-space: nowrap;
		height: 100px;
	}

.gallery .thumbs>div>*
	{
		display: inline-block !important;
		margin-left: 10px;
		opacity: .5;
		transition: opacity .4s ease-in-out;
		cursor: pointer;
	}

.gallery .thumbs>div>*:last-child
	{
		margin-right: 10px;
	}

.gallery .thumbs>div>*.active
	{
		opacity: 1;
	}

@media (hover: hover)
	{
		.gallery .thumbs>div>*:hover
			{
				opacity: 1;
			}
	}

.gallery .thumbs img
	{
		display: block;
		height: 50px;
	}

@media (max-width: 640px)
	{
		.gallery :is(.prev, .next, .content span)
			{
				display: none !important;
			}
	}

@media print
	{
		.gallery :is(.thumbs, .prev, .next, .content span)
			{
				display: none !important;
			}
		.gallery :is(.content, .content img)
			{
				width: 100% !important;
				height: auto !important;
				max-height: unset !important;
				transform: scale(1) !important;
			}
	}

/* ! loader */

.loader
	{
		--size: 32px;
		--weight: 2px;
		position: absolute;
		top: 50%;
		left: 50%;
		width: var(--size);
		height: var(--size);
		margin-left: calc(-1 * var(--size) / 2);
		margin-top: calc(-1 * var(--size) / 2) !important;
		border-width: var(--weight);
		border-style: solid;
		border-color: transparent rgba(var(--color-white), .75);
		border-radius: 50%;
		transition: opacity .125s ease-in-out;
		animation: load .8s infinite linear;
		opacity: 0;
		z-index: 7;
	}

@keyframes load
	{
		0% {transform: rotate(0deg)}
		100% {transform: rotate(360deg)}
	}

/* ! faq */

.faq
	{
		border-top: 1px solid rgba(var(--color-decoration), .25);
		border-bottom: 1px solid rgba(var(--color-decoration), .25);
	}

.faq + .faq
	{
		margin-top: 0;
		border-top: none;
	}

.faq .label
	{
		position: relative;
		padding: var(--gap-tiny) 2em var(--gap-tiny) 0;
		color: var(--link-font-color);
		transition: color var(--transition-duration) var(--transition-timing-function);
		-webkit-user-select: none;
		user-select: none;
		cursor: pointer;
	}

.faq .label:active
	{
		color: var(--link-hover-font-color);
		transition: none;
	}

@media (hover: hover)
	{
		.faq .label:hover
			{
				color: var(--link-hover-font-color);
			}
	}

.faq .label[aria-expanded='true']
	{
		border-bottom: 1px solid rgba(var(--color-decoration), .25);
	}

.faq .label::after
	{
		content: '+';
		position: absolute;
		right: 0;
		top: 50%;
		line-height: 20px;
		margin-top: -10px;
	}

.faq .label[aria-expanded='true']::after
	{
		content: '−';
	}

.faq .content
	{
		display: none;
		position: relative;
		padding: var(--article-margin) 0 var(--article-margin);
		font-size: 87.5%;
	}

.faq [aria-expanded='true'] + .content
	{
		display: block;
	}

/* ! cut */

.cut
	{
		position: relative;
		overflow: hidden;
		max-height: 300px;
	}

.cut.show
	{
		max-height: unset;
	}

.cut.hide::after
	{
		content: '';
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 100px;
		background: linear-gradient(to bottom, rgba(var(--color-light), 0) 0%, rgba(var(--color-light), 1) 100%);
		z-index: 10;
	}

.more
	{
		display: none;
		color: var(--link-font-color);
		text-decoration: underline;
		text-decoration-style: dashed;
		text-decoration-thickness: var(--link-underline-thickness);
		text-decoration-skip-ink: var(--link-underline-skip);
		text-underline-offset: var(--link-underline-offset);
		transition: color var(--transition-duration) var(--transition-timing-function);
		cursor: pointer;
	}

.more.show
	{
		display: inline-block;
	}

.more:active
	{
		color: var(--link-hover-font-color);
		transition: none;
	}

@media (hover: hover)
	{
		.more:hover
			{
				color: var(--link-hover-font-color);
			}
	}

@media print
	{
		.more.show, .cut.hide::after
			{
				display: none;
			}
		.cut
			{
				max-height: unset;
			}
	}

/* ! stop */

.stop-sign
	{
		--size: 200px;
		display: block;
		position: relative;
		width: var(--size);
		height: calc(var(--size) / 2.5);
		margin: calc(var(--gap) + var(--size) / 3.333333) auto calc(var(--gap) + var(--size) / 3.333333) !important;
		color: rgba(var(--color-white), 1);
		background-color: var(--color-red);
		box-shadow: inset 0 calc(var(--size) / 2.5) var(--color-red);
		font-family: Verdana, sans-serif;
		font-size: calc(var(--size) / 2.5);
		line-height: calc(var(--size) / 2.5);
		text-align: center;
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.stop-sign::before
	{
		content: '';
		position: absolute;
		left: 0;
		top: calc(-1 * (var(--size) / 3.333333));
		width: var(--size);
		height: 0;
		border-bottom: calc(var(--size) / 3.333333) solid var(--color-red);
		border-left: calc(var(--size) / 3.333333) solid transparent;
		border-right: calc(var(--size) / 3.333333) solid transparent;
	}

.stop-sign::after
	{
		content: '';
		position: absolute;
		left: 0;
		bottom: calc(-1 * (var(--size) / 3.333333));
		width: var(--size);
		height: 0;
		border-top: calc(var(--size) / 3.333333) solid var(--color-red);
		border-right: calc(var(--size) / 3.333333) solid transparent;
		border-left: calc(var(--size) / 3.333333) solid transparent;
	}

/* ! map */

.google-map
	{
		position: relative;
		width: 100%;
		height: 400px;
		border-radius: var(--corner-small);
		z-index: 1;
	}

.google-map img
	{
		max-width: inherit !important;
		border-radius: 0 !important;
	}

.google-map .zoom
	{
		margin: var(--gap-small);
		background-color: rgb(var(--color-white));
		box-shadow: 0 0 1px 1px rgba(var(--color-black), .1);
		border-radius: var(--corner-tiny);
	}

.google-map .zoom div
	{
		width: 24px;
		height: 28px;
		color: rgba(var(--color-decoration), 1);
		transition: color var(--transition-duration) var(--transition-timing-function);
		cursor: pointer;
	}

.google-map .zoom div:active
	{
		color: var(--link-font-color);
		transition: none;
	}

@media (hover: hover)
	{
		.google-map .zoom div:hover
			{
				color: var(--link-font-color);
			}
	}

.google-map .zoom div svg
	{
		width: 12px;
		height: 12px;
		margin: 8px 6px;
		fill: currentColor;
	}

.google-map .zoom i
	{
		display: block;
		overflow: hidden;
		height: 1px;
		background-color: rgba(var(--color-black), .1) !important;
	}

@media print
	{
		.google-map .zoom
			{
				display: none;
			}
	}

/* ! form */

.form
	{
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.form .wrapper
	{
		display: flex;
		flex-wrap: wrap;
		column-gap: var(--form-gap-small);
		position: relative;
		padding: var(--form-gap);
		border-radius: var(--corner);
		background-color: var(--form-background-color);
	}

.form.modal
	{
		display: none;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(var(--color-black), .25);
		opacity: 0;
		z-index: 777;
	}

.form.modal .wrapper
	{
		position: absolute;
		width: var(--form-width);
		background-color: rgba(var(--color-light), 1);
		box-shadow: 0 0 var(--form-shadow-size) rgba(var(--color-black), .25);
	}

.form.modal.touch
	{
		align-items: start;
		position: absolute;
	}

.form .close
	{
		display: none;
	}

.form.modal .close
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		right: 0;
		top: 0;
		width: 32px;
		height: 32px;
		transition: color var(--transition-duration) var(--transition-timing-function);
		cursor: pointer;
		z-index: 10;
	}

.form.modal .close svg
	{
		width: 12px;
		height: 12px;
		fill: currentColor;
	}

.form.modal .close:active
	{
		color: var(--color-red);
		transition: none;
	}

@media (hover: hover)
	{
		.form.modal .close:hover
			{
				color: var(--color-red);
			}
	}

.form :first-child
	{
		margin-top: 0;
	}

.form h3
	{
		width: 100%;
		font-family: var(--article-headings-font-family);
		font-size: var(--form-title-font-size);
		font-weight: var(--article-headings-font-weight);
		color: var(--article-headings-font-color);
	}

.form h4
	{
		width: 100%;
		margin-top: var(--form-gap-small);
		font-size: var(--form-description-font-size);
		color: var(--form-label-color);
	}

.form label
	{
		display: block;
		width: 100%;
		margin-top: var(--form-gap-small);
		font-size: var(--form-label-font-size);
		color: var(--form-label-color);
	}

.form p
	{
		flex: auto;
		position: relative;
		width: 100%;
		margin-top: var(--form-gap-small);
	}

.form p label
	{
		margin-top: unset;
		margin-bottom: .25em;
	}

.form .controls
	{
		display: flex;
		gap: var(--form-gap);
		margin-top: var(--form-gap);
	}

.form :is(input, textarea, select)
	{
		display: block;
		width: 100%;
		height: var(--form-input-height);
		padding: var(--form-input-padding);
		font-size: var(--form-input-font-size);
		background-color: var(--form-input-background-color);
		border: var(--form-input-border-width) solid var(--form-input-border-color);
		border-radius: var(--corner-small);
		-webkit-user-select: revert;
		user-select: revert;
	}

.form textarea
		{
			height: unset;
		}

.form :is(input, textarea, select):focus
	{
		border-color: var(--form-input-focus-border-color);
	}

.form :is(input, textarea, select)[disabled]
	{
		color: rgba(var(--color-dark), 1);
		opacity: .75;
	}

.form .alert
	{
		border-color: var(--color-red) !important;
	}

.form .select span
	{
		display: block;
		position: relative;
		background-color: var(--form-input-background-color);
		border-radius: calc(var(--corner-small) + var(--form-input-border-width));
	}

.form select
	{
		position: relative;
		padding-top: 0;
		padding-bottom: 0;
		padding-right: 32px;
		line-height: var(--form-input-height);
		background-color: transparent;
		z-index: 2;
	}

.form select + i
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 32px;
		z-index: 1;
	}

.form select + i svg
	{
		width: 8px;
		height: 5px;
		fill: currentColor;
	}

.form .checkbox + .checkbox
	{
		margin-top: .25em;
	}

.form .checkbox label
	{
		margin: 0;
	}

.form input[type='checkbox']
	{
		all: unset;
		position: absolute;
		left: -200vw;
	}

.form input[type='checkbox'] + label
	{
		display: inline-block;
		padding-left: 24px;
	}

.form input[type='checkbox'] + label::before
	{
		content: '';
		display: block;
		position: absolute;
		top: 2px;
		left: 0;
		width: 16px;
		height: 16px;
		background-color: var(--form-checkbox-background-color);
		border-radius: var(--corner-small);
		box-shadow: inset 0 .1em .125em rgba(var(--color-black), .25);
	}

.form input[type='checkbox'] + label::after
	{
		content: '';
		display: block;
		position: absolute;
		top: 3px;
		left: 2px;
		width: 12px;
		height: 12px;
		background-image: var(--form-checkbox-icon);
		transition: opacity .125s, transform .125s;
		transform: scale(.5);
		opacity: 0;
	}

.form input[type='checkbox']:checked + label::after
	{
		opacity: 1;
		transform: scale(1);
	}

.form .radio + .radio
	{
		margin-top: .25em;
	}

.form .radio label
	{
		margin: 0;
	}

.form input[type='radio']
	{
		all: unset;
		position: absolute;
		left: -200vw;
	}

.form input[type='radio'] + label
	{
		display: inline-block;
		padding-left: 24px;
	}

.form input[type='radio'] + label::before
	{
		content: '';
		display: block;
		position: absolute;
		top: 2px;
		left: 0;
		width: 16px;
		height: 16px;
		background-color: var(--form-checkbox-background-color);
		border-radius: 50%;
		box-shadow: inset 0 .1em .125em rgba(var(--color-black), .25);
	}

.form input[type='radio'] + label::after
	{
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		left: 5px;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background-color: var(--btn-font-color);
		opacity: 0;
	}

.form input[type='radio']:checked + label::after
	{
		opacity: 1;
		transform: scale(1);
	}

.form input[type='radio']:checked + label::before
	{
		background-color: var(--btn-background-color);
	}

.form .file
	{
		all: unset;
		display: block;
		width: 100%;
		margin-top: var(--form-gap-small);
	}

.form input[type='file']
	{
		position: absolute;
		left: -200vw;
	}

.form input[type='file'] + i
	{
		display: inline-block;
		position: relative;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
		padding: .5em var(--form-gap-small) .5em calc(15px + var(--form-gap-small) * 2);
		font-size: var(--form-label-font-size);
		font-style: normal;
		white-space: nowrap;
		color: var(--btn-font-color);
		background-color: var(--btn-background-color);
		border-radius: var(--corner-small);
		transition: background-color var(--transition-duration) var(--transition-timing-function);
		vertical-align: top;
		cursor: pointer;
	}

.form input[type='file'] + i:active
	{
		background-color: var(--btn-active-background-color);
		transition: none;
	}

.form input[type='file'] + i u
	{
		all: unset;
	}

.form input[type='file'] + i svg
	{
		position: absolute;
		top: 50%;
		left: var(--form-gap-small);
		width: 15px;
		height: 14px;
		margin-top: -7px;
		fill: currentColor;
	}

@media (max-width: 640px)
	{
		.form.modal .wrapper
			{
				width: calc(100vw - var(--gap) * 2);
			}
		.form p
			{
				width: 100% !important;
			}
	}

@media print
	{
		.form
			{
				display: none;
			}
	}

/* ! alert */

.form-alert
	{
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(var(--color-black), .25);
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
		opacity: 0;
		z-index: 7777;
	}

.form-alert div
	{
		width: 280px;
		padding: var(--gap-small);
		font-size: var(--font-size-medium);
		text-align: center;
		border-radius: var(--corner);
		background-color: rgba(var(--color-light), 1);
		box-shadow: 0 0 var(--form-shadow-size) rgba(var(--color-black), .25);
	}

/* ! fly */

.fly-wrap
	{
		position: relative;
	}

.fly.fixed
	{
		position: fixed;
		top: var(--gap);
		z-index: 10;
	}

.fly.fixed.bottom
	{
		position: absolute;
		top: auto;
		bottom: 0;
	}

/* ! messengers */

.messengers
	{
		position: fixed;
		right: 30px;
		bottom: 32px;
		width: 48px;
		height: 48px;
		border-radius: 100px;
		z-index: 100;
		animation: messengers linear 1s infinite;
	}

.messengers::after
	{
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		border-radius: 100px;
		background: LightSeaGreen;
		transition: background-color 0s;
		z-index: 8;
	}
	
.messengers .button, .messengers .popup
	{
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: 10;
		border-radius: 100px;
		cursor: pointer;
	}

.messengers.hover
	{
		-webkit-animation: none;
		animation: none;
	}

.messengers.hover::after
	{
		background: Tomato;
		box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, .15);
	}

@keyframes messengers
	{
		0% {box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .1), 0 0 0 0 rgba(32, 178, 170, .2), 0 0 0 0 rgba(32, 178, 170, .2);}
		40% {box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .1), 0 0 0 7px rgba(32, 178, 170, .2), 0 0 0 0 rgba(32, 178, 170, .2);}
		80% {box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .1), 0 0 0 15px rgba(32, 178, 170, 0), 0 0 0 12px rgba(32, 178, 170, .05);}
		100% {box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .1), 0 0 0 15px rgba(32, 178, 170, 0), 0 0 0 20px rgba(32, 178, 170, 0);}
	}

.messengers.hover .close
	{
		transform: scale(1);
	}

.messengers.hover .chat, .messengers .close
	{
		transform: scale(0);
	}

.messengers .chat, .messengers .close
	{
		position: absolute;
		left: 0;
		top: 0;
		width: 48px;
		height: 48px;
		transition: transform .25s;
		z-index: 9;
		border-radius: 100px;
	}

.messengers svg
	{
		display: block;
		width: 48px;
		height: 48px;
		fill: #fff;
	}

.messengers .popup
	{
		z-index: 1;
	}

.messengers .popup a
	{
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 48px;
		height: 48px;
		border-radius: 100px;
		margin-right: 7px;
		z-index: 1;
		transform: scale(0);
		box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, .15);
	}

.messengers.hover .popup a:nth-child(1)
	{
		transition: top .25s, transform .25s;
	}

.messengers.hover .popup a:nth-child(2)
	{
		transition: top .25s .05s, transform .25s .05s;
	}

.messengers.hover .popup a:nth-child(1)
	{
		top: -123px;
		transform: scale(1);
	}

.messengers.hover .popup a:nth-child(2)
	{
		top: -68px;
		transform: scale(1);
	}

.telegram {background: #26a4e3;}
.viber {background: #6141be;}
.messanger {background: #1877f2;}
.skype {background: #0078d7;}

@media (max-width: 640px)
	{
		.messengers
			{
				right: 20px;
				bottom: 20px;
			}
	}

@media print
	{
		.messengers
			{
				display: none;
			}
	}

/* ! customize */

body::before
	{
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: 106px;
		height: 104px;
		z-index: 1;
		background: linear-gradient(to bottom, rgba(32, 178, 170, .035) 0%, rgba(32, 178, 170, 0) 100%);
	}

header
	{
		box-shadow: 0 1px 0 0 rgba(112, 128, 144, .15);
	}

main
	{
		background: unset;
		padding: calc(var(--header-height) + var(--gap) + 10px) var(--gap) var(--gap);
	}

.home-page main
	{
		padding: calc(var(--header-height) + var(--gap)) var(--gap) var(--gap);
	}

.breadcrumbs
	{
		--link-hover-font-color: var(--link-font-color);
		--link-text-decoration: none;
		padding-right: 40px;
	}

.pages
	{
		justify-content: center;
	}

.share
	{
		position: absolute;
		right: var(--gap);
		top: 0;
		background-color: unset;
		color: var(--article-small-font-color);
	}

.share a
	{
		color: #fff !important;
	}

article input, article select, article textarea
	{
		border: 1px solid rgba(0, 0, 0, .1);
		padding: 4px 8px;
	}

@media (max-width: 1023px)
	{
		body::before
			{
				top: 51px;
			}
		header
			{
				position: fixed;
			}
		main
			{
				padding: calc(var(--header-height) + var(--gap)) var(--gap) var(--gap);
			}
	}

@media (max-width: 640px)
	{
		main
			{
				padding: calc(var(--header-height) + var(--gap) + 20px) var(--gap) var(--gap);
			}
		.home-page main
			{
				padding: calc(var(--header-height) + var(--gap)) var(--gap) var(--gap);
			}
	}

footer
	{
		background-image: url(/lib/noise.svg);
		background-position: center center;
		background-repeat: repeat;
		background-size: 3%;
		--link-hover-font-color: var(--link-font-color);
		--footer-font-color: rgba(112, 128, 144, 1);		
	}

footer .wrapper
	{
		position: relative;
		padding-top: 60px;
	}

footer .top
	{
		position: relative;
	}

footer .logo
	{
		position: absolute;
		bottom: 37px;
		left: 40px;
	}

footer .logo svg
	{
		width: 36px;
		height: 31px;
	}

footer .parts
	{
		width: 75%;
		font-size: 13px;
		font-weight: 400;
		--footer-font-color: rgba(112, 128, 144, 1);
	}

footer .parts>div
	{
		font-weight: 500;
		margin-bottom: 12px;
		font-size: 16px;
		--footer-font-color: #000;
	}

footer .parts ul
	{
		column-count: 3;
		gap: 0px;
	}

footer .parts ul a
	{
		display: inline-block;
		margin-top: 12px;
		text-decoration: none;
		text-transform: lowercase;
	}

footer .parts div a
	{
		text-decoration: none;
	}

footer .copyrights
	{
		margin-top: 60px;
		padding-top: 40px;
		padding-left: 56px;
		border-top: 1px solid rgba(112, 128, 144, .15);
	}

footer .cards
	{
		width: 126px;
		height: 32px;
		position: absolute;
		right: var(--gap);
		bottom: 40px;
	}

footer .social
	{
		position: absolute;
		left: 75%;
		margin-left: -20px;
		bottom: 40px;
	}

footer .contacts
	{
		font-size: 14px;
		position: absolute;
		right: 0;
		left: 75%;
		top: 0;
		bottom: 0;
		--footer-font-color: #000;
		color: #000;
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		gap: 18px;
	}

footer .contacts div
	{
		position: relative;
		padding-left: 19px;
	}

footer .contacts .head
	{
		padding-left: 0;
		font-weight: 500;
		font-size: 16px;
		padding-bottom: 5px;
	}

footer .contacts a
	{
		text-decoration: none;
		white-space: nowrap;
	}

footer .contacts b
	{
		font-weight: 500;
	}

footer .contacts svg
	{
		width: 18px;
		height: 18px;
		fill: LightSeaGreen;
		vertical-align: middle;
		margin-right: 4px;
		position: absolute;
		left: -3px;
		top: -1px;
	}

@media (max-width: 1023px)
	{
		footer .parts
			{
				width: 66.666666%;
			}
		footer .contacts
			{
				left: 66.666666%;
			}
		footer .social
			{
				left: 66.666666%;
			}
		footer .parts ul
			{
				column-count: 2;
			}
	}

@media (max-width: 900px)
	{
		footer .parts, footer .contacts .head, footer .cards
			{
				display: none;
			}
		footer .contacts
			{
				position: relative;
				left: 0;
				justify-content: center;
				gap: 10px 20px;
			}
		footer .logo
			{
				position: relative;
				bottom: 0;
				left: 0;
				display: block;
				margin: 0 auto 20px auto;
				text-align: center;
			}
		footer .logo svg
			{
				width: 72px;
				height: 62px;
			}
		footer .social
			{
				position: relative;
				left: 0;
				bottom: 0;
				margin: 20px 0 0 0;
			}
		footer .copyrights
			{
				padding-left: 0;
				text-align: center;
			}
	}

@media (max-width: 640px)
	{
		footer .wrapper
			{
				padding-top: 40px;
			}
		footer .copyrights
			{
				margin-top: 40px;
				padding-top: 20px;
			}
	}

header .menu a[href^='http']:not(.btn)::after
	{
		content: '';
		position: absolute;
		width: 6px;
		height: 5px;
		background-image: var(--link-external-icon);
	}

.main-menu>ul
	{
		padding: 0;
	}

.main-menu>ul>li:nth-last-child(1)
	{
		position: absolute;
		width: 0;
		right: 0;
		bottom: 0;
		top: 0;
	}

@media (max-width: 1140px)
	{
		.main-menu>ul>li:nth-last-child(2)
			{
				font-weight: 500;
				position: absolute;
				right: 153px;
				top: 0;
				width: 100px;
			}
	}

.main-menu>ul>li:nth-last-child(3)
	{
		font-weight: 500;
	}

.main-menu>ul>li:first-child
	{
		position: absolute;
		left: 10px;
		top: 31px;
		border-radius: var(--corner-small);
		color: #fff;
		background-color: LightSeaGreen;
		padding: 8px 12px 8px 44px;
		cursor: pointer;
		font-weight: 500;
		font-size: 16px;
	}

.main-menu>ul>li:first-child:hover
	{
		background-color: Tomato;
	}

.main-menu>ul>li:first-child svg
	{
		display: none;
	}

.main-menu>ul>li>a>i
	{
		position: absolute;
		font-size: 8px;
		right: -4px;
		top: -9px;
		color: rgba(112, 128, 144, .65);
		font-weight: 500;
		font-style: normal;
	}

.main-menu>ul>li:first-child>a
	{
		padding: 0;
		color: #fff !important;
	}

.main-menu>ul>li:first-child>a::before
	{
		content: '';
		width: 20px;
		height: 20px;
		position: absolute;
		left: 12px;
		top: 8px;
		background-image: url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMCAyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTgtLjA1aC03Yy0uNTggMC0xLjA1LjQ3LTEuMDUgMS4wNXY3YzAgLjU4LjQ3IDEuMDUgMS4wNSAxLjA1aDdjLjU4IDAgMS4wNS0uNDcgMS4wNS0xLjA1di03YzAtLjU4LS40Ny0xLjA1LTEuMDUtMS4wNXptLTEuMDUgN2gtNC45di00LjloNC44OXY0Ljl6bTEyLjA1LTdoLTdjLS41OCAwLTEuMDUuNDctMS4wNSAxLjA1djdjMCAuNTguNDcgMS4wNSAxLjA1IDEuMDVoN2MuNTggMCAxLjA1LS40NyAxLjA1LTEuMDV2LTdjMC0uNTgtLjQ3LTEuMDUtMS4wNS0xLjA1em0tMS4wNiA2Ljk5aC00Ljg5di4wMWwuMDEtNC45aDQuODl6bS05Ljk0IDQuMDFoLTdjLS41OCAwLTEuMDUuNDctMS4wNSAxLjA1djdjMCAuNTguNDcgMS4wNSAxLjA1IDEuMDVoN2MuNTggMCAxLjA1LS40NyAxLjA1LTEuMDV2LTdjMC0uNTgtLjQ3LTEuMDUtMS4wNS0xLjA1em0tMS4wNSA3aC00Ljl2LTQuODloNC44OXY0Ljg5em0xMi4wNS03aC03Yy0uNTggMC0xLjA1LjQ3LTEuMDUgMS4wNXY3YzAgLjU4LjQ3IDEuMDUgMS4wNSAxLjA1aDdjLjU4IDAgMS4wNS0uNDcgMS4wNS0xLjA1di03YzAtLjU4LS40Ny0xLjA1LTEuMDUtMS4wNXptLTEuMDUgN2gtNC44OXYtNC44OWg0Ljg5eiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==);
	}

.main-menu>ul>li:first-child>a::after
	{
		content: '';
		position: absolute;
		bottom: -21px;
		left: -20px;
		right: -20px;
		height: 42px;
		display: none;
		cursor: default !important;
	}

.main-menu>ul>li:first-child:hover>a::after
	{
		display: block;
	}

.main-menu>ul>li:first-child>ul
	{
		position: absolute;
		left: -150px;
		top: 57px;
		overflow: hidden;
		box-shadow: 0 10px 10px 0 rgba(0, 0, 0, .15);
		border-radius: 0;
		background: #fff;
		cursor: default;
	}

.main-menu>ul>li:first-child>ul>li
	{
		padding: 40px;
		text-align: center;
	}

.main-menu>ul>li:first-child>ul>li:first-child
	{
		margin-top: 0;
	}

.main-menu>ul>li:first-child>ul>li>a
	{
		color: #000;
		background: #fff;
		display: inline-block;
		margin: 0;
		padding: 0;
		font-size: 16px;
		transition: color var(--transition-duration) var(--transition-timing-function), border-color var(--transition-duration) var(--transition-timing-function);
	}

.main-menu>ul>li:first-child>ul>li>a:hover
	{
		color: LightSeaGreen;
	}

.main-menu>ul>li:first-child>ul>li:nth-child(n+2)>a
	{
		border: 1px solid LightSeaGreen;
		color: LightSeaGreen;
		padding: var(--btn-padding) var(--gap-small);
		border-radius: var(--corner-small);
		font-weight: 400;
		font-size: 14px;
	}

.main-menu>ul>li:first-child>ul>li:nth-child(n+2)>a:hover
	{
		border-color: Tomato;
		color: Tomato;
	}

.main-menu>ul>li:first-child>ul>li:nth-child(n+2)
	{
		padding-top: 0;
		margin-bottom: 0;
	}

.main-menu .phones
	{
		font-weight: 600;
		position: absolute;
		right: 252px;
		top: -1px;
		font-size: 16px;
		white-space: nowrap;
	}

.main-menu .phones a
	{
		margin-right: 20px;
		position: relative;
		padding-left: 22px;
		display: inline-block;
		text-decoration: none;
		color: LightSeaGreen;
	}

.main-menu .phones a b
	{
		color: #000;
		transition: color var(--transition-duration) var(--transition-timing-function);
	}

.main-menu .phones svg
	{
		position: absolute;
		left: 0;
		top: 0;
		width: 18px;
		height: 18px;
		fill: currentColor;
	}

.main-menu .phones a:last-child
	{
		padding-left: 14px;
	}

.main-menu .phones a:last-child svg
	{
		left: -5px;
	}

.main-menu .phones a:hover
	{
		color: Tomato;
	}

.main-menu .phones a:hover b
	{
		color: Tomato;
	}

.main-menu .phones small
	{
		font-weight: 350;
	}

.catalog-menu
	{
		background: #fff;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
		gap: 40px;
		text-align: center;
		font-weight: 350;
		margin-top: 40px;
		font-size: 14px;
	}

.catalog-menu a
	{
		text-decoration: none;
		color: #000;
	}

.catalog-menu a:hover
	{
		color: LightSeaGreen;
	}

.catalog-menu .item .image
	{
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 80px;
		margin-bottom: 20px;
	}

.catalog-menu .item .image img
	{
		display: block;
		max-height: 80px;
		max-width: 80px;
		transition: transform var(--transition-duration) var(--transition-timing-function);
	}

.catalog-menu .item a:hover .image img
	{
		transform: scale(1.1);
	}

.catalog-menu .item .title
	{
		display: block;
		font-weight: 400;
	}

.catalog-menu .title:first-letter
	{
		text-transform: uppercase;
	}

.search
	{
		position: absolute;
		left: 281px;
		right: 272px;
		top: 50px;
		z-index: 10;
		border-radius: var(--corner-small);
		height: 36px;
		transition: width .25s, background-color .25s;
		border: 1px solid #dbdfe3;
		background-color: #fff;
	}

.search input
	{
		background: transparent;
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		top: 0;
		height: 100%;
		width: 100%;
		font-size: 15px;
		padding: 0 36px 0 12px;
		background-color: #fff;
		border-radius: var(--corner-small);
		z-index: 90;
	}

.search b
	{
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		width: 36px;
		cursor: pointer;
		color: SlateGray;
		transition: color .25s;
		z-index: 95;
	}

.search svg
	{
		position: absolute;
		left: 7px;
		top: 50%;
		margin-top: -9px;
		width: 17px;
		height: 17px;
		fill: currentColor;
	}

.search:hover b, .search.hover b
	{
		color: #000 !important;
	}

.search ins
	{
		display: none;
		background: #fff;
		position: absolute;
		top: 30px;
		left: -1px;
		right: -1px;
		z-index: 80;
		padding-top: 4px;
		padding-bottom: 4px;
		border-bottom-right-radius: var(--corner-small);
		border-bottom-left-radius: var(--corner-small);
		box-shadow: 0px 0px 20px rgba(0, 0, 0, .075);
		border: 1px solid #dbdfe3;
		border-top: 0;
		font-size: 15px;
	}

.search ins ul
	{
		list-style: none;
	}

.search ins a
	{
		display: block;
		text-decoration: none;
		padding: 6px 12px;
		position: relative;
		transition: none;
		color: #000;
	}

.search ins a.active
	{
		text-decoration: none;
		background: rgba(112, 128, 144, .25);
	}

.langs a
	{
		padding-right: 38px;
		padding-left: 5px;
		line-height: 24px;
	}

.langs a::before
	{
		content: 'РУ';
		color: #333;
		background: #fff;
		position: absolute;
		right: 3px;
		top: 3px;
		width: 18px;
		height: 18px;
		line-height: 18px;
		border-radius: 100px;
		text-align: center;
	}

html[lang='uk'] .langs a
	{
		padding-left: 25px;
		padding-right: 18px;
	}

html[lang='uk'] .langs a::before
	{
		content: 'УК';
		left: 3px;
		right: auto;
	}

@media (max-width: 1023px)
	{
		.search ins
			{
				top: 25px;
				font-size: 14px;
			}
		.search ins a
			{
				padding: 8px 10px;
			}
	}

@media (max-width: 1300px)
	{
		.main-menu .phones a:last-child
			{
				display: none;
			}
	}

@media (max-width: 1240px)
	{
		.catalog-menu
			{
				grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
			}
	}

@media (max-width: 1070px)
	{
		.main-menu .phones svg
			{
				display: none
			}
		.main-menu .phones a
			{
				padding-left: 0;
			}
	}

@media (max-width: 1023px)
	{
		.main-menu>ul>li:nth-last-child(2), .main-menu>ul>li:nth-last-child(3)
			{
				font-weight: 350;
				position: static;
				width: auto;
			}
		.main-menu>ul
			{
				box-shadow: 0 -1px 0 0 #eaecee;
			}
		.main-menu>ul>li:first-child
			{
				position: relative;
				padding: 0;
				font-size: 18px;
				left: 0;
				top: 0;
				width: 100%;
				margin-bottom: 30px;
				padding: 0 40px;
				cursor: default;
			}
		.main-menu>ul>li:first-child>a::after
			{
				display: none !important;
			}
		.main-menu>ul>li:first-child svg
			{
				display: inline-block;
			}
		.main-menu>ul>li:first-child>a::before
			{
				top: 10px;
			}
		.main-menu>ul>li:first-child>a
			{
				padding: var(--menu-popup-items-padding);
				padding-left: 42px !important;
				padding-right: 20px !important;
				width: 140px !important;
				display: block;
				margin: 0 auto;
				background-color: LightSeaGreen !important;
				position: relative;
				border-radius: var(--corner-small);
				z-index: 2;
				white-space: nowrap;
				transition: unset;
			}
		.main-menu>ul>li:first-child>ul
			{
				position: relative;
				top: -20px;
				margin-bottom: -20px;
				left: 0 !important;
				border: 1px solid #eaecee;
				box-shadow: none;
				z-index: 1;
				border-radius: var(--corner);
				width: 100% !important;
			}
		.main-menu.open>ul>li>a
			{
				padding: var(--menu-popup-items-padding) 0;
			}
		.main-menu.open>ul>li>a>i
			{
				right: -17px;
				top: 4px;
				font-size: 9px;
			}
		.main-menu.open .langs, .main-menu.open .phones
			{
				display: block;
			}
		.main-menu.open>ul>li:first-child.open>a
			{
				background: Tomato !important;
			}
		.main-menu>ul>li:nth-last-child(1)
			{
				position: static;
				width: auto;
			}
		.main-menu .phones
			{
				position: static;
				white-space: normal;
				margin-top: 30px;
				width: 200px;
				font-variant: tabular-nums;
				text-align: right;
				box-shadow: 0 0 0 1px #eaecee;
				padding: 10px 25px;
				border-radius: var(--corner);
				display: none;
			}
		.main-menu .phones svg
			{
				display: revert;
				left: 0 !important;
			}
		.main-menu .phones a
			{
				display: block !important;
				padding: 0 !important;
				margin: 12px 0 !important;
			}
		.catalog-menu
			{
				grid-template-columns: 1fr 1fr 1fr 1fr;
				margin-top: 30px;
			}
		.search
			{
				top: 10px;
				height: 31px;
				left: 140px;
				right: 82px;
			}
		.search input
			{
				font-size: 14px;
				padding: 0 34px 0 10px;
			}
		.search b
			{
				width: 34px;
			}
		.langs
			{
				position: absolute;
				left: 0;
				top: 0;
				right: 0;
				display: none;
			}
		.langs ul
			{
				z-index: 101;
			}
	}

@media (max-width: 980px)
	{
		.catalog-menu
			{
				grid-template-columns: 1fr 1fr 1fr;
			}
	}

@media (max-width: 640px)
	{
		.main-menu>ul>li:first-child
			{
				padding: 0 20px;
			}
		.main-menu>ul>li:first-child>ul>li
			{
				padding: 40px 20px;
			}
		.main-menu>ul>li:first-child>ul>li>a
			{
				font-size: 15px;
			}
		.catalog-menu
			{
				grid-template-columns: 1fr 1fr;
				gap: 20px;
				font-size: 13px;
			}
		.catalog-menu .item .image
			{
				height: 60px;
			}
		.catalog-menu .item .image img
			{
				max-height: 60px;
				max-width: 60px;
			}
		.search
			{
				left: 120px;
				right: 62px;
			}
	}

.catalog-wrap
	{
		display: flex;
	}

.catalog-sidebar
	{
		width: 25%;
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.catalog-sidebar a
	{
		text-decoration: none;
	}

.catalog-sidebar .filters h3
	{
		box-shadow: 0 -1px 0 0 #eaecee;
		padding: 20px 20px 20px 0px;
		font-size: 16px;
		font-weight: 500;
		margin-top: 20px;
	}

.catalog-sidebar .filters h3:first-child
	{
		margin-top: 0;
	}

.catalog-sidebar .filters ul
	{
		list-style: none;
		padding-left: 8px;
		padding-right: 20px;
		margin-top: 0;
	}

.catalog-sidebar .filters a, .catalog-sidebar .filters span
	{
		border-radius: 100px;
		padding: .25em 12px .25em 12px;
		display: inline-block;
		position: relative;
		font-weight: 350;
	}

.catalog-sidebar .filters a.active
	{
		background: orangered;
		padding-right: 33px;
		color: #fff;
	}

.catalog-sidebar .filters a.active b
	{
		font-weight: 300;
		margin-left: .5em;
		position: absolute;
		right: 12px;
		top: 50%;
		margin-top: -12px;
		font-size: 18px;
	}

.catalog-sidebar .filters span
	{
		color: rgba(112, 128, 144, .5);
	}

.catalog-list
	{
		width: 75%;
	}

.catalog
	{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 1px;
		box-shadow: 0 0 0 1px #eaecee;
		overflow: hidden;
		border-radius: var(--corner);
		border-top-left-radius: 0;
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.catalog .item
	{
		display: block;
		box-shadow: 0 0 0 1px #eaecee;
		text-decoration: none;
		--link-font-color: #000;
		--link-hover-font-color: LightSeaGreen;
		padding: 20px 20px 76px 20px;
		position: relative;
		overflow: hidden;
	}

.catalog .item .image
	{
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 180px;
		margin-bottom: 20px;
	}

.catalog .item .image img
	{
		display: block;
		max-height: 180px;
		max-width: 180px;
		transition: transform var(--transition-duration) var(--transition-timing-function);
	}

.catalog .item:hover .image img
	{
		transform: scale(1.1);
	}

.catalog .item .info
	{
		position: relative;
	}

.catalog .item span
	{
		display: block;
	}

.catalog .item ins
	{
		position: absolute;
		right: 10px;
		top: 10px;
		color: #fff;
		background: #000;
		border-radius: 100px;
		font-size: 13px;
		font-weight: 500;
		line-height: 20px;
		padding: 0 6px;
		min-width: 20px;
		text-align: center;
	}

.catalog .item .descr
	{
		color: rgba(112, 128, 144, .85);
		font-size: 14px;
		margin-top: 3px;
	}

.catalog .item .title
	{
		font-weight: 400;
	}

.catalog .item .price
	{
		font-weight: 500;
	}

.catalog .item .price small
	{
		font-size: 75%;
		color: unset;
	}

.catalog .item .price s
	{
		color: rgba(112, 128, 144, .25);
	}

.catalog .item .btn
	{
		position: absolute;
		left: 20px;
		bottom: 20px;
		padding-left: 54px;
	}

.catalog .item .btn svg
	{
		display: block;
		width: 24px;
		height: 24px;
		position: absolute;
		left: 20px;
		top: 50%;
		margin-top: -13px;
		fill: currentColor;
	}

.catalog .item .variations
	{
		display: none;
	}

.catalog.searching
	{
		grid-template-columns: 1fr 1fr 1fr 1fr;
		border-top-left-radius: var(--corner);
	}

.catalog.group
	{
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
		text-align: center;
		box-shadow: none;
		gap: 60px 40px;
		margin: 60px 0 40px 0;
		overflow: visible;
	}

.catalog.group .item
	{
		box-shadow: none;
		padding: 0;
		overflow: visible;
	}

.catalog.group .item .title:first-letter
	{
		text-transform: uppercase;
	}

.catalog.group .item .image
	{
		height: 128px;
	}

.catalog.group .item .image img
	{
		max-height: 128px;
		max-width: 128px;
	}

.catalog.group .item .image svg
	{
		width: 120px;
		height: 96px;
		fill: #20b2aa;
	}

.catalog-sidebar .filters-btn
	{
		display: none;
	}

.catalog.related
	{
		overflow: hidden;
		border-radius: var(--corner);
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
		box-shadow: 0 0 0 1px #eaecee;
	}

.catalog.related .item:nth-child(n+6)
	{
		display: none;
	}

.catalog.related.all .item
	{
		display: block !important;
	}

@media (max-width: 1250px)
	{
		.catalog.related
			{
				grid-template-columns: 1fr 1fr 1fr 1fr;
			}
		.catalog.related .item:nth-child(n+5)
			{
				display: none;
			}
	}

@media (max-width: 1240px)
	{
		.catalog.group
			{
				grid-template-columns: 1fr 1fr 1fr 1fr;
			}
		.catalog.related
			{
				grid-template-columns: 1fr 1fr 1fr;
			}
		.catalog.related .item:nth-child(n+4)
			{
				display: none;
			}
	}

@media (max-width: 1023px)
	{
		.catalog-sidebar
			{
				width: 33.333333%;
			}
		.catalog-list
			{
				width: 66.666666%;
			}
		.catalog
			{
				grid-template-columns: 1fr 1fr;
			}
		.catalog.group, .catalog.searching
			{
				grid-template-columns: 1fr 1fr 1fr;
			}
	}

@media (max-width: 720px)
	{
		.catalog-wrap
			{
				display: block;
			}
		.catalog-sidebar, .catalog-list
			{
				width: unset;
			}
		.catalog-sidebar
			{
				margin-bottom: 40px;
				box-shadow: 0 0 0 1px #eaecee;
				border-radius: var(--corner);
				overflow: hidden;
			}
		.catalog-sidebar .filters-btn
			{
				display: block;
				cursor: pointer;
				-webkit-user-select: none;
				user-select: none;
				font-size: 16px;
				font-weight: 500;
				text-align: center;
				padding: 10px;
				color: LightSeaGreen;
			}
		.catalog-sidebar .filters-btn svg
			{
				width: 16px;
				height: 18px;
				fill: currentColor;
				vertical-align: middle;
				margin-right: 4px;
				position: relative;
				top: -1px;
			}
		.catalog-sidebar .filters
			{
				display: none;
			}
		.catalog-sidebar.open .filters-btn
			{
				color: Tomato;
			}
		.catalog-sidebar.open .filters
			{
				display: block;
				margin-top: 1px;
			}
		.catalog-sidebar .filters h3
			{
				padding-left: 20px;
			}
		.catalog-sidebar .filters ul
			{
				margin-bottom: 20px;
			}
		.catalog-sidebar .filters ul li
			{
				padding-left: 20px;
			}
		.catalog
			{
				border-top-left-radius: var(--corner);
			}
		.catalog.group, .catalog.searching
			{
				grid-template-columns: 1fr 1fr;
			}
		.catalog.related
			{
				grid-template-columns: 1fr 1fr;
			}
		.catalog.related .item:nth-child(n+3)
			{
				display: none;
			}
	}

@media (max-width: 640px)
	{
		.catalog-sidebar
			{
				margin-bottom: 20px;
			}
		.catalog.group
			{
				gap: 40px 20px;
				margin: 40px 0 20px 0;
			}
		.catalog.group .item .image
			{
				height: 96px;
			}
		.catalog.group .item .title
			{
				font-size: 14px;
			}
		.catalog.group .item .image img
			{
				max-height: 96px;
				max-width: 96px;
			}
	}

@media (max-width: 460px)
	{
		.catalog, .catalog.searching
			{
				grid-template-columns: 1fr;
			}
		.catalog.related
			{
				grid-template-columns: 1fr;
			}
	}

.item-head
	{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--gap);
	}

.item-image
	{
		border-radius: var(--corner);
		position: relative;
		overflow: hidden;
		box-shadow: 0 0 0 1px #eaecee;
		padding: 40px;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		-webkit-user-select: none;
		user-select: none;
		height: calc(100vh - 80px);
	}

.item-image a::after
	{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}

.item-image img
	{
		max-height: 50vw;
	}

.discount-percent
	{
		background: orangered;
		color: #fff;
		text-align: center;
		position: absolute;
		right: -25px;
		top: 14px;
		padding: 2px 0;
		font-size: 14px;
		font-weight: 500;
		width: 100px;
		transform: rotate(45deg);
	}

.discount-amount
	{
		display: none !important;
	}

.item-info .about
	{
		box-shadow: 0 0 0 1px #eaecee;
		border-radius: var(--corner);
		overflow: hidden;
		margin-top: var(--gap);
	}

.item-info .about div
	{
		box-shadow: 0 1px 0 0 #eaecee;
		padding: 10px 80px 10px 64px;
		position: relative;
		font-size: 14px;
		color: SlateGray;
	}

.item-info .about div svg
	{
		position: absolute;
		left: 20px;
		top: 14px;
		width: 24px;
		height: 24px;
		fill: SlateGray;
	}

.item-info .about div b
	{
		font-size: 16px;
		color: #000;
	}

.item-info .offer
	{
		position: relative;
		box-shadow: 0 0 0 1px #eaecee;
		border-radius: var(--corner);
		padding: 20px;
	}

.item-info .offer .btn
	{
		padding-left: 53px;
		font-weight: 500;
		margin-top: 20px;
	}

.item-info .offer .btn svg
	{
		display: block;
		width: 24px;
		height: 24px;
		position: absolute;
		left: 20px;
		top: 50%;
		margin-top: -13px;
		fill: currentColor;
	}

.item-info .offer .price
	{
		font-size: 32px;
		font-weight: 500;
	}

.item-info .offer .price small
	{
		font-size: 70%;
		color: unset;
	}

.item-info .offer .price>div
	{
		
		font-size: 16px;
		color: SlateGray;
	}

.item-info .offer .price>div ins
	{
		position: relative;
		font-weight: 350;
	}

.item-info .offer .price>div ins::after
	{
		content: '';
		position: absolute;
		height: 2px;
		left: 0;
		right: 0;
		top: .55em;
		background: SlateGray;
	}

.availability
	{
		font-size: 14px;
		color: LightSeaGreen;
	}

.availability svg
	{
		width: 12px;
		height: 12px;
		background-color: LightSeaGreen;
		border-radius: 100px;
		margin-right: 6px;
		vertical-align: middle;
		fill: #fff;
	}

.availability.out-of-stock
	{
		color: Tomato;
	}

.availability.out-of-stock svg
	{
		background-color: Tomato;
	}

.availability.to-order
	{
		color: DodgerBlue;
	}

.availability.to-order svg
	{
		background-color: DodgerBlue;
	}

.variations
	{
		overflow: hidden;
		font-size: 14px;
		color: SlateGray;
		margin-top: 20px;
	}

.variations div
	{
		display: flex;
		flex-wrap: wrap;
		gap: 7px;
		margin-top: 7px;
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.variations span
	{
		padding: 3px 6px;
		border: 1px solid #000;
		color: #000;
		font-size: 15px;
		border-radius: var(--corner-small);
		font-weight: 350;
		cursor: pointer;
		font-variant: tabular-nums;
		transition: color var(--transition-duration) var(--transition-timing-function), border-color var(--transition-duration) var(--transition-timing-function), background-color var(--transition-duration) var(--transition-timing-function);
	}

.variations span.active
	{
		color: #fff !important;
		border-color: var(--link-font-color) !important;
		background-color: var(--link-font-color) !important;
		cursor: default;
	}

.variations span:hover
	{
		color: var(--link-font-color);
		border-color: var(--link-font-color);
	}

.cart-variation .variations
	{
		margin-top: 0;
	}

.item-info .used
	{
		position: relative;
		box-shadow: 0 0 0 1px #eaecee;
		margin-top: var(--gap);
		border-radius: var(--corner);
		overflow: hidden;
	}

.item-info .used h3
	{
		font-size: 16px;
		padding: 16px 10px 16px 64px;
		box-shadow: 0 1px 0 0 #eaecee;
		background: rgba(32, 178, 170, .05);
		font-weight: 600;
	}

.item-info .used ul
	{
		list-style: none;
		padding: 16px 20px 16px 20px;
		font-size: 14px;
		margin: 0;
		gap: 0 20px;
	}

.item-info .used h3 svg
	{
		position: absolute;
		left: 20px;
		top: 14px;
		width: 24px;
		height: 24px;
		fill: LightSeaGreen;
	}

.item-info .used li
	{
		display: block;
		padding-top: 5px !important;
		break-inside: avoid-column;
	}

.item-info .used.cols ul
	{
		column-count: 3;
	}

@media (max-width: 1300px)
	{
		.item-info .about div
			{
				padding-right: 20px;
			}
	}

@media (max-width: 1100px)
	{
		.item-info .used.cols ul
			{
				column-count: 2;
			}
	}

@media (max-width: 1023px)
	{
		.item-head
			{
				display: grid;
				grid-template-columns: 1fr;
			}
		.item-image
			{
				min-height: unset !important;
				max-height: unset !important;
				height: unset !important;
			}
		.item-image img
			{
				max-height: 100vw;
			}
		.item-info .used.cols ul
			{
				column-count: 4;
			}
	}

@media (max-width: 720px)
	{
		.item-info .used.cols ul
			{
				column-count: 3;
			}
	}

@media (max-width: 640px)
	{
		.item-image
			{
				padding: 20px;
			}
		.item-info .used ul
			{
				gap: 0 20px;
			}
		.item-info .offer .btn
			{
				position: relative;
				right: 0;
				top: 0;
				margin-top: 20px;
				padding-left: 20px;
				padding-top: 0px;
				display: block;
			}
		.item-info .offer .btn svg
			{
				display: inline-block;
				position: relative;
				left: 0;
				top: 5px;
				margin-top: 0;
				margin-right: 10px;
			}
	}

@media (max-width: 520px)
	{
		.item-info .used.cols ul
			{
				column-count: 2;
			}
	}

.type-info, .model-info
	{
		display: inline-block;
		color: dodgerblue;
		font-size: 14px;
		text-decoration: var(--link-text-decoration);
		text-decoration-color: var(--link-underline-color);
		text-decoration-thickness: 1px;
		text-decoration-skip-ink: var(--link-underline-skip);
		text-underline-offset: var(--link-underline-offset);
		transition: color var(--transition-duration) var(--transition-timing-function);
		text-decoration-style: dashed;
		cursor: pointer;
		margin-top: 20px !important;
		position: relative;
	}

.model-info
	{
		margin: 0 0 20px 20px !important;
	}

.type-info svg, .model-info svg
	{
		position: relative;
		vertical-align: middle;
		margin-right: 6px;
		width: 16px;
		height: 16px;
		fill: dodgerblue;
	}

.type-info:hover, .model-info:hover
	{
		color: var(--link-hover-font-color);
	}

.comment .type-info, .comment .model-info
	{
		margin: 0 !important;
	}

.comments
	{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--gap);
	}

.nocomments
	{
		box-shadow: 0 0 0 1px #eaecee;
		border-radius: var(--corner);
		padding: 40px 20px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

.nocomments p
	{
		max-width: 410px;
		text-align: center;
	}

.nocomments svg
	{
		width: 96px;
		height: 96px;
		fill: rgba(112, 128, 144, .5);
		margin-bottom: 20px;
	}

.comments-list
	{
		list-style: none;
		padding: 0;
	}

.comments-list ul
	{
		list-style: none;
		padding-left: 40px;
	}

.comments-list li
	{
		margin-top: 20px;
	}

.comments-list>li:first-child
	{
		margin-top: 0;
	}

.comments-list .comment
	{
		overflow: hidden;
		position: relative;
		box-shadow: 0 0 0 1px #eaecee;
		border-radius: var(--corner);
		font-size: 14px;
	}

.comments-list .comment .head
	{
		padding: 10px 20px;
		box-shadow: 0 1px 0 0 #eaecee;
	}

.comments-list .comment p
	{
		margin: 0 !important;
		padding: 20px;
	}

.comments-list .comment .name
	{
		font-size: 16px;
		font-weight: 600;
	}

.comments-list .comment .name a, .comments-list .comment .name span
	{
		max-width: 200px;
		display: inline-block;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
		vertical-align: text-bottom;		
	}

.comments-list .comment .name small
	{
		font-weight: 350;
		font-size: 12px;
		color: SlateGray;
	}

.comments-list .comment .link
	{
		float: right;
		font-size: 16px;
	}

.comments-list .comment .date
	{
		font-size: 11px;
		color: rgba(112, 128, 144, .5);
		display: block;
		position: absolute;
		right: 20px;
		bottom: 20px;
	}

.comments-list .comment .delete
	{
		color: Tomato;
		text-decoration: none;
		position: relative;
		top: -.5em;
		margin-left: 8px;
	}

.comments-list .comment .addr
	{
		color: Tomato;
		font-size: 12px;
		text-decoration: none;
		margin-left: 8px;
	}

.comments-list .comment .reply
	{
		display: inline-block;
		color: LightSeaGreen;
		padding-left: 20px;
		margin-bottom: 20px;
		margin-left: 20px;
		cursor: pointer;
		position: relative;
		transition: color var(--transition-duration) var(--transition-timing-function);
	}

.comments-list .comment .reply svg
	{
		position: absolute;
		left: 0;
		top: 3px;
		width: 12px;
		height: 12px;
		fill: currentColor;
	}

.comments-list .comment .reply:hover
	{
		color: Tomato;
	}

.comments-list .comment.moderator 
	{
		background: rgba(32, 178, 170, .05);
	}

.comments-post .wrapper
	{
		box-shadow: 0 0 0 1px #eaecee;
	}

@media (max-width: 1023px)
	{
		.comments
			{
				grid-template-columns: 1fr;
			}
	}

@media (max-width: 640px)
	{
		.comments-list ul
			{
				padding-left: 20px;
			}
		.comments-list .comment .rating
			{
				display: block;
				position: static !important;
				margin-top: 4px;
			}
		.comments-list .rating
			{
				line-height: 13px;
			}
		.comments-list .rating svg
			{
				width: 13px;
				height: 13px;
				padding-left: 3px;
			}
		.comments-list .comment .addr
			{
				display: none;
			}
	}

.item-body
	{
		margin-top: 40px;
		margin-right: 25%;
	}

.catalog-title
	{
		margin-top: 40px;
	}

@media (max-width: 1023px)
	{
		.item-body
			{
				margin-right: 0;
			}
	}

.reply-controls
	{
		font-size: 12px;
	}

.reply-controls em
	{
		color: dodgerblue;
		margin-right: 12px;
		text-decoration: var(--link-text-decoration);
		text-decoration-color: var(--link-underline-color);
		text-decoration-thickness: 1px;
		text-decoration-skip-ink: var(--link-underline-skip);
		text-underline-offset: var(--link-underline-offset);
		transition: color var(--transition-duration) var(--transition-timing-function);
		text-decoration-style: dashed;
		cursor: pointer;
	}

.comments-list .comment .rating
	{
		position: absolute;
		right: 50px;
		top: 11px;
	}

.rating
	{
		display: inline-block;
		font-size: 0;
		line-height: 17px;
		white-space: nowrap;
		vertical-align: middle;
		position: relative;
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.rating svg
	{
		position: relative;
		width: 17px;
		height: 17px;
		fill: rgba(112, 128, 144, .15);
		vertical-align: middle;
		padding-left: 4px;
		box-sizing: content-box;
	}

.rating svg:first-child
	{
		padding-left: 0 !important;
	}

.rating.a-0
	{
		display: none !important;
	}

.rating.show.a-1 svg:nth-child(-n+1),
.rating.show.a-2 svg:nth-child(-n+2),
.rating.show.a-3 svg:nth-child(-n+3),
.rating.show.a-4 svg:nth-child(-n+4),
.rating.show.a-5 svg
	{
		fill: Gold;
	}

.rating.big
	{
		line-height: 24px;
	}

.rating.big svg
	{
		width: 24px;
		height: 24px;
		padding-left: 7px;
	}

.rating.write svg
	{
		cursor: pointer;
	}

.rating.write.a-1 svg:nth-child(-n+1), .rating.write.h-1 svg:nth-child(-n+1),
.rating.write.a-2 svg:nth-child(-n+2), .rating.write.h-2 svg:nth-child(-n+2),
.rating.write.a-3 svg:nth-child(-n+3), .rating.write.h-3 svg:nth-child(-n+3),
.rating.write.a-4 svg:nth-child(-n+4), .rating.write.h-4 svg:nth-child(-n+4),
.rating.write.a-5 svg, .rating.write.h-5 svg
	{
		fill: Gold;
	}

.rating.write.h-1 svg:nth-child(n+2),
.rating.write.h-2 svg:nth-child(n+3),
.rating.write.h-3 svg:nth-child(n+4),
.rating.write.h-4 svg:nth-child(n+5)
	{
		fill: rgba(112, 128, 144, .15);
	}

.help
	{
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		opacity: 0;
		background-color: rgba(0, 0, 0, .25);
		z-index: 10001;
	}

.help>.wrapper
	{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 600px;
		max-width: calc(100vw - 80px);
		max-height: calc(100vh - 80px);
		background-color: #fff;
		transform: translate(-50%, -50%);
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .25);
		border-radius: var(--corner);
		display: flex;
		flex-flow: column;
	}

.help .head
	{
		font-size: 16px;
		padding: 16px 50px 16px 20px;
		box-shadow: 0 1px 0 0 rgba(112, 128, 144, .15);
		background: rgba(32, 178, 170, .05);
		font-weight: 600;
		z-index: 10;
		border-top-left-radius: var(--corner);
		border-top-right-radius: var(--corner);
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.help article
	{
		padding: 20px;
		overflow: auto;
		font-size: 14px;
	}

.help article h2
	{
		font-size: 16px;
	}

.help article img
	{
		border-radius: var(--corner);
	}

.help .close
	{
		position: absolute;
		overflow: hidden;
		width: 24px;
		height: 24px;
		right: 14px;
		top: 14px;
		z-index: 10;
		cursor: pointer;
		transition: color .25s, background-color .25s, border-color .25s;
	}

.help .close svg
	{
		display: inline-block;
		width: 12px;
		height: 12px;
		margin: 6px 0 0 6px;
		fill: currentColor;
	}

.help .close:hover
	{
		color: Tomato;
	}

@media (max-width: 640px)
	{
		.help>.wrapper
			{
				max-width: calc(100vw - 40px);
				max-height: calc(100vh - 120px);
			}
	}

.finder
	{
		height: 40vw;
		max-height: 460px;
		border-radius: 8px;
		overflow: hidden;
		position: relative;
		background: #b0e4e1;
		background: radial-gradient(circle, #ceeeec 25%, #b0e4e1 100%);
		-webkit-user-select: none;
		user-select: none;
		cursor: default;
	}

.finder .woman
	{
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background: url(/lib/woman.svg) left center no-repeat;
		background-size: contain;
	}

.finder .man
	{
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background: url(/lib/man.svg) right center no-repeat;
		background-size: contain;
	}

.finder .wrap
	{
		position: absolute;
		left: 25%;
		right: 25%;
		top: 20px;
		bottom: 20px;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.75;
		z-index: 5;
	}

.finder::after
	{
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		background: url(/lib/noise.svg) center center repeat;
		background-size: 3%;
	}

.finder h3
	{
		margin-bottom: 20px;
		font-size: 34px;
		line-height: 1.25;
		font-weight: 500;
	}

.finder select
	{
		border: none;
		box-shadow: 0 0 0 1px rgba(112, 128, 144, .15);
		background-color: #fff;
		border-radius: var(--corner-small);
		padding: 2px 32px 2px 12px;
		font-weight: 400;
		position: relative;
		white-space: nowrap;
		background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 5"%3e%3cpolygon points="4 5 0 1 1 0 4 3 7 0 8 1" fill="rgba(0, 0, 0, 1)"/%3e%3c/svg%3e');
		background-size: 8px 5px;
  	background-position: right 12px top 14px;
  	background-repeat: no-repeat;
		cursor: pointer;
	}

.finder select:disabled
	{
		color: rgba(112, 128, 144, .5);
		background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 5"%3e%3cpolygon points="4 5 0 1 1 0 4 3 7 0 8 1" fill="rgba(112, 128, 144, .5)"/%3e%3c/svg%3e');
		cursor: default;
	}

.finder select.model
	{
		width: 104px;
	}

.finder ins
	{
		margin: 0 !important;
	}

.finder .wrap>div>div
	{
		margin-top: 10px;
	}

@media (max-width: 1070px)
	{
		.finder h3
			{
				font-size: 32px;
			}
	}

@media (max-width: 940px)
	{
		.finder h3
			{
				font-size: 24px;
			}
		.finder
			{
				height: auto;
				font-size: 14px;
				max-height: unset;
			}
		.finder .woman, .finder .man
			{
				top: auto;
				height: 50vw;
			}
		.finder .wrap
			{
				position: relative;
				padding: 40px;
				left: 0;
				right: 0;
				top: 0;
				bottom: 0;
				padding-bottom: 50%;
				line-height: 1.5;
			}
		.finder select
			{
				padding: 4px 32px 4px 12px;
				margin: 4px 0;
				background-position: right 12px top 13px;
			}
		.finder select.model
			{
				width: 6.75em;
			}
	}

@media (max-width: 500px)
	{
		.finder br
			{
				display: none;
			}
		.finder span
			{
				display: block;
			}
		.finder .wrap
			{
				max-width: 320px;
				margin: 0 auto;
				padding-bottom: 75%;
				padding-left: 20px;
				padding-right: 20px;
				padding-top: 30px;
			}
		.finder .woman, .finder .man
			{
				height: 65vw;
			}
	}

@media (max-width: 340px)
	{
		.finder h3
			{
				font-size: 20px;
			}
	}

.logos
	{
		list-style: none;
		padding: 0;
		text-align: center;
		gap: 20px;
		display: flex;
		justify-content: space-around;
		margin-top: 40px;
	}

.logos img
	{
		height: 4vw;
		max-height: 58px;
	}

@media (max-width: 640px)
	{
		.logos
			{
				flex-wrap: wrap;
				gap: 2.5vw;
				margin-top: 30px;
			}
		.logos img
			{
				height: 8.5vw;
			}
	}

.infobox
	{
		border-radius: var(--corner);
		background: Gold;
		text-align: center;
		padding: 12px 20px;
		font-size: 15px;
	}

.export-list td, .export-list th
	{
		vertical-align: middle;
		border-left: none;
		border-right: none;
	}

.export-list td:first-child
	{
		text-align: center;
		width: 1%;
	}

.export-list td:first-child img
	{
		max-width: unset !important;
		max-height: 60px;
		display: block;
		margin: 0 auto;
	}

.export-list td:last-child
	{
		text-align: right;
		white-space: nowrap;
	}

@media print
	{
		body::before, .nocomments, .comments-list .comment .reply
			{
				display: none;
			}
		.comments
			{
				grid-template-columns: 1fr;
			}
		main
			{
				padding: 1px !important;
			}
		.finder
			{
				max-height: 400px;
			}
		.logos
			{
				flex-wrap: nowrap;
			}
		.logos img
			{
				height: 40px !important;
			}
		.fly.fixed
			{
				position: relative !important;
				width: auto !important;
				top: 0 !important;
			}
		.item-image
			{
				max-height: unset !important;
			}
	}

