:root
{
	--primary-font:"Montserrat", sans-serif;
	--secondary-font:"Lora", serif;
	--font-size: 16px;
	--gap:0px;
	--indent: 30px;
	--vu:25px;
	--header-height:calc(4 * var(--vu));
	--footer-height:calc(3 * var(--vu));
	--border-color:#DDD;
	--radius:2px;
	--black: #2F2F2F;
	--white: #FFF;
	--lightgray:#F8F8F8;
	--background-color:#F4F4F4;
	--swiper-preloader-color:#ddd;
	--swiper-theme-color: var(--black);
	--transition-time:.4s;
	--transition-ease:cubic-bezier(0.22, 1, 0.36, 1);
	--transition:all var(--transition-time) ease-in-out;
	--icon-left: url("data:image/svg+xml,%3Csvg width='10' height='15' viewBox='0 0 10 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.18449 6.72649C0.79397 7.11701 0.79397 7.75018 1.18449 8.1407L7.54846 14.5047C7.93898 14.8952 8.57214 14.8952 8.96267 14.5047C9.35319 14.1141 9.35319 13.481 8.96267 13.0904L3.30582 7.43359L8.96267 1.77674C9.35319 1.38622 9.35319 0.75305 8.96267 0.362526C8.57214 -0.0279984 7.93898 -0.0279984 7.54846 0.362526L1.18449 6.72649ZM1.8916 8.43359H2.39586V6.43359H1.8916V8.43359Z' fill='%233F3F3F'/%3E%3C/svg%3E%0A");
	--icon-right:url("data:image/svg+xml,%3Csvg width='9' height='15' viewBox='0 0 9 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.2115 6.72649C8.60203 7.11701 8.60203 7.75018 8.2115 8.1407L1.84754 14.5047C1.45702 14.8952 0.823851 14.8952 0.433327 14.5047C0.0428023 14.1141 0.0428023 13.481 0.433327 13.0904L6.09018 7.43359L0.433327 1.77674C0.0428023 1.38622 0.0428023 0.75305 0.433327 0.362526C0.823851 -0.0279984 1.45702 -0.0279984 1.84754 0.362526L8.2115 6.72649ZM7.50439 8.43359H7.00013V6.43359H7.50439V8.43359Z' fill='%233F3F3F'/%3E%3C/svg%3E%0A");
	--icon-close:url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.887695' y='1.17188' width='30.001' height='30' rx='7.5' stroke='%233D3D3D'/%3E%3Cpath d='M20.6377 11.1719L11.1377 21.1719M11.1377 11.1719L20.6377 21.1719' stroke='%233D3D3D' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

@media (min-width: 990px)
{
	:root
	{
		--font-size: 16px;
		--header-height:calc(5 * var(--vu));
	}
}

html
{
	overflow-x: hidden;
	width: 100vw;
	scroll-behavior: smooth;
	scroll-padding-top:calc(var(--header-height) + var(--vu));
}

body
{
	font-family:var(--primary-font);
	font-size:var(--font-size);
	font-weight: 300;
	color:var(--black);
	display: flex;
	flex-direction: column;
	background-color:var(--white);
	overflow-x: hidden;
}

main
{
	flex: 1 0 auto;
	/*margin-top:var(--header-height);*/
}

footer
{
	flex-shrink: 0;
}

a
{
	color:var(--black);
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4
{
	font-family:var(--secondary-font);
	font-weight: 500;
	text-transform: uppercase;
	line-height: 1.3;
	margin-bottom: calc(1 * var(--vu));
}

h1,
.h1
{
	text-transform: uppercase;
	font-size: 25px;
}

h2,
.h2
{
	font-size: 25px;
	line-height: 1.3;
}

b
{
	font-weight: 500;
}

textarea
{
	resize: none;
}

picture source
{
	display: none;
}

*,
*:focus,
*:hover
{
	outline: none;
}

@media (max-width: 340px)
{
	h2,
	.h2
	{
		font-size: 14.5px;
	}
}

@media (min-width: 990px)
{
	h1,
	.h1
	{
		font-size: 25px;
	}
	
	h2,
	.h2
	{
		font-size: 25px;
	}
}

/*Контейнер*/
.container
{
	width: calc(100vw - var(--indent)*2);
	margin-left: auto;
	margin-right: auto;
	height: 100%;
}

@media (min-width: 990px)
{
	.container
	{
		width: calc(100vw - 160px);
	}
}

@media (min-width: 1440px)
{
	.container
	{
		width: 1300px;
	}
}

/*Сетка*/
.grid
{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap:var(--gap);
}

.col-xs-1
{
	grid-column: span 1;
}

.col-xs-2
{
	grid-column: span 2;
}

.col-xs-3
{
	grid-column: span 3;
}

.col-xs-4
{
	grid-column: span 4;
}

.col-xs-5
{
	grid-column: span 5;
}

.col-xs-6
{
	grid-column: span 6;
}

.order-1
{
	order: 1;
}

.order-2
{
	order: 2;
}

.order-3
{
	order: 3;
}

.order-4
{
	order: 4;
}

.order-5
{
	order: 5;
}

.order-6
{
	order: 6;
}

.order-7
{
	order: 7;
}

@media (min-width: 990px)
{
	.grid
	{
		grid-template-columns: repeat(12, 1fr);
	}
	
	.col-lg-1
	{
		grid-column: span 1;
	}
	
	.col-lg-2
	{
		grid-column: span 2;
	}
	
	.col-lg-3
	{
		grid-column: span 3;
	}
	
	.col-lg-4
	{
		grid-column: span 4;
	}
	
	.col-lg-5
	{
		grid-column: span 5;
	}
	
	.col-lg-6
	{
		grid-column: span 6;
	}
	
	.col-lg-7
	{
		grid-column: span 7;
	}
	
	.col-lg-8
	{
		grid-column: span 8;
	}
	
	.col-lg-9
	{
		grid-column: span 9;
	}
	
	.col-lg-10
	{
		grid-column: span 10;
	}
	
	.col-lg-11
	{
		grid-column: span 11;
	}
	
	.col-lg-12
	{
		grid-column: span 12;
	}
	
	.order-lg-1
	{
		order: 1;
	}
	
	.order-lg-2
	{
		order: 2;
	}
	
	.order-lg-3
	{
		order: 3;
	}
	
	.order-lg-4
	{
		order: 4;
	}
	
	.order-lg-5
	{
		order: 5;
	}
	
	.order-lg-6
	{
		order: 6;
	}
	
	.order-lg-7
	{
		order: 7;
	}
	
	.column-start-fix
	{
		grid-column-start: 1;
		grid-column-end: 7;
		display: grid;
	}
}

.gap-0
{
	gap: 0;
}

/* Выравнивание*/
.align-items-center
{
	align-items: center;
}

.align-self-center
{
	align-self: center;
}

.justify-items-right
{
	justify-content: right;
}

.text-center
{
	text-align: center;
}

.text-right
{
	text-align: right;
}

/*Разное*/
/*.preload *
{
	animation-duration: 0s !important;
	-webkit-animation-duration: 0s !important;
	transition: all 0s;
}*/
.overflow-hidden
{
	overflow: hidden;
}

.bg-loading
{
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='L9' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 100 100' enable-background='new 0 0 0 0' xml:space='preserve'%3E%3Cpath fill='%23ddd' d='M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50'%3E%3CanimateTransform attributeName='transform' attributeType='XML' type='rotate' dur='1s' from='0 50 50' to='360 50 50' repeatCount='indefinite' /%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: center;
}

.btn
{
	position: relative;
	display: grid;
	align-content: center;
	justify-content: center;
	height: calc(1.8 * var(--vu));
	line-height: 0;
	border:3px solid var(--black);
	color:var(--black);
	font-weight: 400;
	font-size: 14px;
	transition:var(--transition);
	border-radius: 2px;
}

.btn:hover
{
	color:var(--white);
}

.btn:after
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:var(--black);
	z-index: -1;
	transition:var(--transition);
	clip-path:circle(0% at 50% 50%);
}

.btn:hover:after
{
	transform: scaleY(1);
	clip-path: circle(70.7% at 50% 50%);
}

.btn.white
{
	border:2px solid var(--white);
	color:var(--white);
}

.btn.black
{
	border:1px solid var(--black);
	color:var(--white);
	background:var(--black);
}

.enhance-img
{
	image-rendering: auto;
	/*image-rendering: crisp-edges;
	image-rendering: pixelated;*/
	image-rendering: -webkit-optimize-contrast;
}

.no-scroll
{
	overflow: hidden;
}

.red
{
	color:var(--red);
}

.green
{
	color: #3DA434;
}

.uppercase
{
	text-transform: uppercase;
}

.fit-cover
{
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.overflow-hidden
{
	overflow: hidden;
}

*:disabled
{
	opacity: 0.7;
}

@media (max-width: 340px)
{
	.xsmobile-hide
	{
		display: none !important;
	}
}

@media (max-width: 990px)
{
	.mobile-hide
	{
		display: none !important;
	}
	
	.mobile-full-width
	{
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(var(--indent) * -1);
		margin-right: calc(var(--indent) * -1);
	}
	
	.menu-opened
	{
		overflow: hidden;
	}
}

@media (min-width: 990px)
{
	*
	{
		/*cursor: none;*/
	}
	
	.cursor
	{
		--size:12px;
		pointer-events: none;
		mix-blend-mode: difference;
		position: absolute;
		left: 50vw;
		top: 50vh;
		z-index: 999;
		width:var(--size);
		height:var(--size);
		background-color:var(--red);
		border-radius: 50%;
		transform-origin: center;
		transition: transform 0.5s ease;
	}
	
	.cursor.hover
	{
		mix-blend-mode: normal;
		background-color:var(--red);
		transform: scale(1.8);
	}
	
	.desktop-hide
	{
		display: none !important;
	}
	
	.btn
	{
		width: 220px;
		font-size: 25px;
		height: calc(2.5 * var(--vu));
	}
}

/* Подчёркнутые ссылки*/
.hover-underline
{
	position: relative;
}

.hover-underline:before
{
	position: absolute;
	content: '';
	height: 2px;
	width: 100%;
	background-color:var(--darkgray);
	bottom: -3px;
	left: 0;
	transform: scaleX(0);
	transform-origin: bottom left;
	transition:transform var(--transition-time) ease;
}

.hover-underline:hover:before
{
	transform: scaleX(1);
}

/*Кастомный 
Скроллбар*/
.custom-scroll::-webkit-scrollbar
{
	width: 5px;
}

.custom-scroll::-webkit-scrollbar-track
{
	background:var(--lightgray);
}

.custom-scroll::-webkit-scrollbar-thumb
{
	background:var(--gray);
}

/*header*/
.header
{
	position: fixed;
	height:var(--header-height);
	width: 100vw;
	left: 0;
	z-index: 10;
	transition:var(--transition);
}

.header__logo-wrapper
{
	display: grid;
}

.header__burger-wrapper
{
	display: grid;
	align-content: center;
	justify-content: end;
}

.header__logotype
{
	align-self: center;
	justify-self: center;
	margin-bottom: 5px;
}

.header__logotype a
{
	display: block;
	line-height: 0;
}

.header.hidden
{
	opacity: 0;
	visibility: hidden;
}

.header.inverted
{
	background-color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 990px)
{
	.header
	{
		z-index: 3;
	}
	
	.header__logotype
	{
		width: 90px;
	}
}

@media (min-width: 990px)
{
	.header__logo
	{
		width: 134px;
	}
	
	.header__menu
	{
		/*+border-radius: 0;*/
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
		-khtml-border-radius: 0;
		border-radius: 0;
		justify-self: right;
		align-self: center;
	}
	
	.header__menu-item
	{
		text-transform: uppercase;
		font-size: 16px;
		font-weight: 500;
	}
	
	.header__menu-item:not(:last-child)
	{
		margin-right: 70px;
	}
}

/*Основное меню*/
/*Бургер*/
.menu-toggler
{
	display: block;
	height: 25px;
	width: 25px;
	position: relative;
}

.menu-toggler__bar
{
	display: block;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	width: 24px;
	height: 1px;
	background-color:var(--black);
	transform-origin: 12px 12px;
	transition:var(--transition);
	transition-duration: 0.2s;
}

.menu-toggler__bar-top
{
	transform: translate(0, 7px);
}

.menu-toggler__bar-bottom
{
	transform: translate(0, 15px);
}

.menu-opened .menu-toggler__bar-top
{
	transform: rotate(45deg) translate(0, 11px);
}

.menu-opened .menu-toggler__bar-bottom
{
	transform: rotate(-45deg) translate(0, 11px);
}

/*Оснвное меню*/
.menu
{
	position: fixed;
	height: 100vh;
	width: 100vw;
	top: 0;
	left: 0;
	display: flex;
	z-index: 1;
	align-items: center;
	background:var(--background-color);
	background:var(--lightgray);
	color:var(--white);
	flex-direction: column;
	clip-path: circle(0px at 93.5% 4.5%);
	visibility: hidden;
	will-change:clip-path;
	transition:var(--transition);
	transition-timing-function:var(--transition-ease);
	transition-duration: 0.8s;
}

.main-menu__item
{
	font-size: 15px;
	font-weight: 400;
	opacity: 0;
	transform: translateX(0%);
	animation: hide-menu-items 0.6s ease normal both;
	display: inline-block;
	margin-bottom: 20px;
}

.menu-opened .main-menu__item,
.menu-opened .main-menu__logo,
.menu-opened .main-menu__line
{
	animation:show-menu-items 0.6s ease var(--d) normal forwards;
}

.main-menu__line
{
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	opacity: 0;
}

.main-menu__logo
{
	opacity: 0;
}

/*Футер*/
.footer
{
	margin-top: calc(3 * var(--vu));
	padding-bottom: calc(3 * var(--vu));
	font-weight: 300;
}

.footer__logotype
{
	margin-bottom: 15px;
}

.footer__logo
{
	margin: 0 auto;
	width: 88px;
}

.footer__copyright
{
	font-size: 11px;
}

@media (min-width: 990px)
{
	.footer__logo
	{
		width: 120px;
	}
}

/*Анимации*/
@keyframes rotate
{
	0%
	{
		transform: rotate(-1deg) scale(1);
	}
	
	100%
	{
		transform: rotate(1deg) scale(1.02);
	}
}

@keyframes shadow-pulse
{
	0%
	{
		box-shadow: 0 0 0px 0px rgba(0, 0, 0, 0.311);
	}
	
	100%
	{
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
	}
}

@keyframes shadow-pulse-white
{
	0%
	{
		box-shadow: 0 0 0px 0px rgba(255, 255, 255, 0.311);
	}
	
	100%
	{
		box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
	}
}

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

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

@keyframes fade-in-clip
{
	from
	{
		clip-path:circle(0% at 50% 50%);
	}
	
	to
	{
		clip-path:circle(100% at 50% 50%);
	}
}

@keyframes rotate-circle
{
	0%
	{
		transform: rotate(-2deg);
	}
	
	100%
	{
		transform: rotate(2deg);
	}
}

@keyframes upndown
{
	from
	{
		transform:translateY(var(--offset, 10px));
	}
	
	to
	{
		transform: translateY(calc(-1 * var(--offset, -10px)));
	}
}

@keyframes show-menu-items
{
	from
	{
		opacity: 0;
		transform: translateY(100%);
	}
	
	to
	{
		opacity: 1;
		transform: translateX(0%);
	}
}

@keyframes hide-menu-items
{
	from
	{
		opacity: 1;
		transform: translateY(0%);
	}
	
	to
	{
		opacity: 0;
		transform: translateY(100%);
	}
}
