:root {
  --title-color: #3676EB;
  --main-slider-offset: 16.9rem;
}

* {
	margin: 0;
	padding: 0;
	font-feature-settings: "lnum";
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	-webkit-tap-highlight-color: transparent;
	border-radius: 0;
}
html {
  font-size: calc(100dvh / 81);
  /*font-size: 0.6944444444444444vw;*/
}
@media ( max-height: 599px ) {
	html {
		font-size: 0.6944444444444444vw;
	}
}
body {
	position: relative;
	font-family: Literata;
	background-image: url('../images/texture.svg');
	background-repeat: repeat;
	overflow-x: hidden;
}
body.menu-open {
	overflow: hidden;
}
body.menu-open:after {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000b3;
	background-image: unset;
	border-radius: unset;
	z-index: 100;
}

.onlymob {
	display: none !important;
}

img,
svg,
video {
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-offset {
	height: 7.746rem;
}

.theme-switcher {
    position: relative;
    display: inline-flex;
    gap: 0.8rem;
    border: 0.1rem solid var(--title-color);
    border-radius: 4rem;
    padding: 0.3rem;
    background-color: #FFFFFF;
	z-index: 1;
}
.main .theme-switcher {
    position: absolute;
}
.theme-switcher a {
	display: block;
    font-family: 'ccs';
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 100%;
    letter-spacing: 0.08em;
    background-color: transparent;
    color: var(--title-color);
    padding: 1rem;
    border-radius: 3rem;
    text-transform: uppercase;
    text-decoration: none;
}
.theme-switcher a.active {
	background-color: var(--title-color);
    color: #FFFFFF;
}

.header {
	position: absolute;
    top: 0;
    width: 100%;
    height: 7.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2.38rem 0 3.92rem;
    box-sizing: border-box;
	z-index: 10;
}
.language-menu {
	position: relative;
}
.language-menu a {
	display: flex;
	align-items: center;
	gap: 0.566rem;
	font-family: 'ccs';
	font-weight: 300;
    font-size: 2.077rem;
    line-height: 100%;
    letter-spacing: 0.03em;
	color: var(--title-color);
    text-transform: uppercase;
    text-decoration: none;
}
.language-menu a svg {
	width: 0.747rem;
    height: 0.373rem;
}
.language-menu a.active {
	opacity: 0.8;
    cursor: default;
}
.language-menu-select {
	position: absolute;
	gap: 0.8rem;
    flex-direction: column;
    padding: 1rem 0;
	display: none;
}
.language-menu.open .language-menu-select {
	display: flex;
}
.logo {
	display: block;
    position: absolute;
    top: 2.426rem;
    left: 50%;
    transform: translateX(-50%);
    width: 18.665rem;
    height: 9.239rem;
	transition: width 1s, height 1s, top 1s;
}
body.large-type .logo {
	top: 4.7rem;
	/*width: 46.078rem;
	height: 22.865rem;*/
	width: 45.8rem;
	height: 22.8rem;
}
.main-menu {
	z-index: 30;
}
.menu-burger {
	display: block;
    width: 5.739rem;
    height: 4.48rem;
}
.main-menu-wrapper {
	position: absolute;
    top: 0;
    right: -39.3rem;
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 14.7rem;
    width: 0;
    min-height: 100vh;
    max-height: 100vh;
    background-color: #fff;
    padding: 8rem 0;
    box-sizing: border-box;
	transition: width 0.3s linear, right 0.3s linear;
	overflow-x: hidden;
	z-index: 101;
}
body.menu-open .main-menu-wrapper {
	right: 0;
	width: 39.3rem;
}
.main-menu-close {
	position: absolute;
    top: 1.65rem;
    right: 2.1745rem;
    display: block;
    width: 6.15rem;
    height: 4.8rem;
}
.main-menu-wrapper .menu {
	list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9rem;
}
.main-menu-wrapper .menu a {
    display: block;
	font-family: 'ccs';
    font-weight: 300;
    font-size: 3.458rem;
    line-height: 3.314rem;
	text-align: center;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--title-color);
}
.main-menu .theme-switcher {
	position: absolute;
    bottom: 6.9rem;
}




/*** <-- homepage --> ***/
body.homepage .main:before,
body.homepage .main:after {
	content: "";
	position: absolute;
	top: 30.144rem;
	left: -20.6rem;
	width: 74.2rem;
	height: 37.6rem;
	background-image: url('../images/uzor-3.svg');
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -2;
}
body.homepage .main:after {
	left: unset;
	right: -20.6rem;
	transform: scaleX(-1);
}
.homepage .main .theme-switcher {
	top: 13.7rem;
	left: 50%;
	transform: translateX(-50%);
	opacity: 1;
	transition: top 1s, opacity 1s, visibility 1s;
	visibility: visible;
}
.homepage.large-type .main .theme-switcher {
	top: 34rem;
	opacity: 0;
	visibility: hidden;
}
.sturgeon-icon {
	position: absolute;
    top: 22.4rem;
    left: 50%;
    transform: translateX(-50%);
    /*width: 26.247rem;
    height: 17.498rem;*/
	width: 36.8rem;
    height: 24.3rem;
	opacity: 0;
	transition: top 1s, opacity 1s;
	z-index: -1;
}
body.large-type .sturgeon-icon {
	top: 22.4rem;
	opacity: 1;
}
.main-slider-wrapper {
	position: absolute;
    top: 30.1rem;
    left: 50%;
    transform: translateX(-50%);
	transition: top 1s;
	z-index: 1;
}
body.large-type .main-slider-wrapper {
	top: 50.862rem;
}
.main-slider {
	/*width: 44.889rem;*/
	width: 67.9rem;
}
.main-slider .slick-list {
	/*padding-bottom: 20rem;*/
	overflow: visible;
}

.main-slider-slide-ellipse {
	position: absolute;
	left: calc(50% + var(--main-slider-offset) / 2);
	transform: translateX(-50%);
	width: 31.6rem;
	height: 11.4rem;
	z-index: -1;
}
.main-slider-slide-ellipse-before {
	top: -3.2rem;
}
.main-slider-slide-ellipse-after {
	bottom: -3.2rem;
}
.main-slider-slide-ellipse .ellipse {
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-radius: 50%;
}

.slide {
	text-decoration: none;
}
.main-slider a.slide .main-slider-slide-wrapper {
	margin-left: var(--main-slider-offset);
	width: calc(100% - var(--main-slider-offset));
	background-color: #fff;
	border-radius: 2rem;
	padding: 2.7rem 5.5rem 5.5rem;
	box-sizing: border-box;
}
.slide-title {
	font-family: 'ccs';
    font-weight: 300;
    font-size: 3.4rem;
    line-height: 100%;
    letter-spacing: 0.03em;
    color: var(--title-color);
	text-align: center;
    text-transform: uppercase;
    margin-bottom: 3.293rem;
}
.slide-text {
	font-weight: 300;
    font-size: 1.4rem;
    letter-spacing: 0.03em;
	text-align: center;
	color: #5C3232;
}
.main-slider-wrapper .slider-arrow-prev {
	position: absolute;
    top: calc(50% - 10rem);
    top: calc(100% - 10rem);
    transform: translateY(-50%);
    left: -14rem;
	display: block;
	width: 9.8rem;
	height: 8.4rem;
}
.main-slider-wrapper .slider-arrow-next {
	position: absolute;
    top: calc(50% - 10rem);
    top: calc(100% - 10rem);
    transform: translateY(-50%);
    right: -14rem;
	display: block;
	width: 9.8rem;
	height: 8.4rem;
}
.plates-slider {
	/*position: relative;
	padding-top: 13.4rem;*/
	position: relative;
    top: 31.3rem;
	z-index: 0;
}
.plates-slider .slide {
	position: relative;
	display: block;
	/*width: 57.861rem;
	height: 58.141rem;*/
	/*width: 46.376rem;
	height: 46.376rem;*/
	width: 35.2rem;
    height: 35.2rem;
	margin: 0 10rem;
	transition: transform 1s linear, margin-top 1s linear, left 0.5s linear;
}
.plates-slider .slick-slide.down {
	margin-top: 5.6rem;
}
.plates-slider a.slick-slide {
	cursor: default;
}
.plates-slider a.slick-slide.slick-current.slick-active.slick-center {
	cursor: pointer;
}
.plates-slider a.slick-slide.slick-current.slick-active.slick-center.down {
	left: 0;
	margin-top: 0;
}
.plates-slider a.slick-slide.slick-current.slick-active.slick-center.down.left {
	left: -20rem;
}

.all-dishes-btn {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	width: max-content;
	height: 5rem;
	padding: 0 3rem;
	background-color: #3676EB;
	border-radius: 1.64rem 1.64rem 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'ccs';
	font-weight: 300;
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	color: #FFFFFF;
}
/* Вогнутые скругления по бокам «язычка»: ширина кнопки подстраивается под текст */
.all-dishes-btn::before,
.all-dishes-btn::after {
	content: '';
	position: absolute;
	bottom: 0;
	width: calc(2.45rem + 1px);
	height: 2.49rem;
	pointer-events: none;
}
.all-dishes-btn::before {
	right: calc(100% - 1px);
	background: radial-gradient(circle at 0 0, transparent 2.45rem, #3676EB calc(2.45rem + 0.5px));
}
.all-dishes-btn::after {
	left: calc(100% - 1px);
	background: radial-gradient(circle at 100% 0, transparent 2.45rem, #3676EB calc(2.45rem + 0.5px));
}

.theme-descriptiion.theme-descriptiion {
	/*position: absolute;
    width: 32rem;
    top: 0.8rem;
    left: -38rem;
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    text-align: right;
	color: #5C3232;*/
	position: relative;
	top: 19.3rem;
    left: 50%;
	transform: translateX(-50%);
    width: 39rem;
    text-align: center;
    color: var(--title-color);
    font-size: 1.4rem;
    letter-spacing: 0.03em;
	transition: top 1s, opacity 1s, visibility 1s;
}
.homepage.large-type .main .theme-descriptiion {
	top: 39.6rem;
	opacity: 0;
    visibility: hidden;
}
/*
.theme-descriptiion.theme-descriptiion-gzhel:after {
	content: "";
    position: absolute;
    top: 1.2rem;
    right: -6rem;
	display: block;
    width: 5.2rem;
    height: 0.1rem;
    background-color: var(--title-color);
}
*/
/*** </-- homepage --> ***/



@media ( max-width: 576px ) {
html {
	font-size: calc(10 * 100vw / 393);
}
.onlymob {
	display: flex !important;
}
.onlypc {
	display: none !important;
}

body.large-type .logo {
	top: 11.4rem;
	width: 27.8rem;
	height: 13.8rem;
}
body.homepage .main:before,
body.homepage .main:after {
	display: none;
}
body.large-type .sturgeon-icon {
	position: relative;
    top: 25.6rem;
    width: 25.6rem;
    height: 17rem;
    opacity: 1;
}
.homepage.large-type .main .theme-switcher {
	position: absolute;
    top: 84.4rem;
    opacity: 1;
    visibility: visible;
}
body.large-type .main-slider-wrapper {
    top: 42.7rem;
    width: 100%;
	padding: 0 3.8rem;
    box-sizing: border-box;
}
.main-slider {
	width: 100%;
}
.main-slider .slide-title {
	width: 23rem;
	margin: 0 auto 4.3rem;
}
.main-slider-wrapper .slider-arrow-prev {
	top: unset;
    left: 50%;
	width: 5.25rem;
    height: 4.5rem;
    margin-top: 3.55rem;
    transform: translateX(-50%) rotate(-90deg);
}
.plates-slider {
	position: absolute;
    top: 102.5rem;
	display: flex;
    flex-direction: column;
    gap: 6rem;
	padding: 0 3.8rem 15.9rem;
}
.plates-slider .slide {
	width: 100%;
	height: auto;
	margin: 0;
	display: flex;
    flex-direction: column;
    align-items: center;
}
.plates-slider .slide img {
	width: 29.4rem;
    height: 29.4rem;
}

.theme-descriptiion.theme-descriptiion {
	width: 100vw;
    top: 7.2rem;
    left: 0;
    right: 0;
    text-align: center;
    transform: translateX(-10rem);
}
.theme-descriptiion.theme-descriptiion:after {
	display: none;
}
}






/*** New home slider ***/
:root {
	--roll-time: 0.5s;
	--info-time: 0.2s;
	--offset-time: 0.3s;
}

div.dish-slide {
	position: absolute;
	top: 48.862rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	width: 48.248rem;
}
.dish-slide-main-title {
	font-family: 'ccs';
    font-size: 3.4rem;
    line-height: 100%;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--title-color);
	margin-bottom: 3.293rem;
}
.dish-slide-main-text {
	width: 44.889rem;
	font-size: 1.4rem;
    letter-spacing: 0.03em;
    text-align: center;
    color: #5C3232;
}

a.dish-slide {
	position: absolute;
	display: flex;
	width: 35.2rem;
	height: 35.2rem;
	text-decoration: none;
	transition: top var(--roll-time) linear, left var(--roll-time) linear, transform var(--roll-time) linear;
}
.dishes-slider-start .dish-slide {
	/*transform: translateX(-50%) scale(1.3175);*/
}

.dish-slide-main {
	display: flex;
	flex-direction: column;
    align-items: center;
	transition: opacity var(--roll-time);
	opacity: 0;
}
body.large-type .dish-slide-main {
	opacity: 1;
}

.dish-slide-main-info {
	display: flex;
    margin-top: 2.5rem;
}
.dish-slide-main-info div {
	font-family: 'ccs';
	width: 10.9rem;
    font-size: 2.4rem;
    line-height: 100%;
    letter-spacing: 0.03em;
    color: #5C3232;
	padding-left: 2rem;
	box-sizing: border-box;
	border-left: 0.1rem solid #5c323233;
}
.dish-slide-main-info div:first-child {
	padding-left: 0;
	border-left: none;
}
.dish-slide-main-info div span {
	display: block;
    font-family: Literata;
    font-weight: 400;
    font-style: Italic;
    font-size: 1.4rem;
    line-height: 1.4rem;
    letter-spacing: 0;
    margin-top: 0.5rem;
}

a.dish-slide {
	display: none;
}
a.dish-slide.dish-slide-pos--2 {
	display: flex;
	top: 42.5rem;
    left: calc(-50% + 5.6rem);
	transform: translateX(-50%) rotate(-315deg);
}
a.dish-slide.dish-slide-pos--1 {
	display: flex;
	top: 36.9rem;
    left: 2.8rem;
	transform: translateX(-50%) rotate(-135deg);
}
a.dish-slide.dish-slide-pos-0 {
	display: flex;
	top: 31.3rem;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
}
a.dish-slide.dish-slide-pos-1 {
	display: flex;
	top: 36.9rem;
    left: calc(100% - 2.8rem);
	transform: translateX(-50%) rotate(225deg);
}
a.dish-slide.dish-slide-pos-2 {
	display: flex;
	top: 42.5rem;
    left: calc(150% - 5.6rem);
	transform: translateX(-50%) rotate(405deg);
}

a.dish-slide.dish-slide-pos-0.dish-slide-offset {
	left: calc(50% - 20rem);
	transform: translateX(-50%) rotate(0deg);
	transition: left var(--offset-time) linear, transform var(--offset-time) linear;
}
a.dish-slide.dish-slide-pos-0.dish-slide-offset.dish-slide-offset-back {
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
}

body.large-type .dish-slide-pos--1,
body.large-type .dish-slide-pos-1 {
	top: 18.952rem;
}

.dishes-slider-arrow-prev {
	position: absolute;
    top: 42.9rem;
    left: calc(50% - 37.9rem);
	left: calc(50% - 42.5rem);
    transform: translateX(-50%);
    display: flex;
    width: 9.8rem;
    height: 8.4rem;
	transition: top var(--roll-time) linear, left var(--roll-time) linear;
}
body.large-type .dishes-slider-arrow-prev {
	top: 53rem;
	left: calc(50% - 25.2rem);
	left: calc(50% - 28rem);
}
.dishes-slider-arrow-next {
	position: absolute;
    top: 42.9rem;
    left: calc(50% + 37.9rem);
    left: calc(50% + 42.5rem);
    transform: translateX(-50%);
    display: flex;
    width: 9.8rem;
    height: 8.4rem;
	transition: top var(--roll-time) linear, left var(--roll-time) linear;
}
body.large-type .dishes-slider-arrow-next {
	top: 53rem;
	left: calc(50% + 25.2rem);
	left: calc(50% + 28rem);
}

.dishes-slider-roll + .dishes-slider-arrow-prev,
.dishes-slider-roll + .dishes-slider-arrow-prev + .dishes-slider-arrow-next {
	opacity: 0.2;
}

.dish-slide-info {
	display: flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 30.3rem;
    width: 42.8rem;
    background-color: #fff;
    padding: 3.7rem 5.5rem 5.4rem;
    box-sizing: border-box;
    border-radius: 2rem;
    flex-direction: column;
    align-items: center;
    z-index: -1;
	opacity: 0;
	transition: opacity var(--info-time) linear;
}
a.dish-slide.dish-slide-show-info .dish-slide-info {
	opacity: 1;
}
.dish-slide-info:before {
	content: "";
	position: absolute;
	top: -3.2rem;
    width: 31.6rem;
    height: 11.4rem;
	background-color: #fff;
	border-radius: 50%;
    z-index: -1;
}
.dish-slide-info:after {
	content: "";
	position: absolute;
	bottom: -3.2rem;
    width: 31.6rem;
    height: 11.4rem;
	background-color: #fff;
	border-radius: 50%;
    z-index: -1;
}

.dish-slide-title {
	font-family: 'ccs';
    font-size: 2.4rem;
    letter-spacing: 0.03em;
	text-align: center;
    text-transform: uppercase;
    color: var(--title-color);
    margin-bottom: 1.4rem;
}
.dish-slide-from {
	width: 29.9rem;
	font-family: 'ccs';
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	text-align: center;
	color: var(--title-color);
	margin-bottom: 3.2rem;
}
.dish-slide-description {
	width: 29.9rem;
	font-size: 1.4rem;
    letter-spacing: 0.03em;
    text-align: center;
    color: #5C3232;
}

.dish-slide-author {
	display: flex;
    gap: 1.6rem;
	width: 29.1rem;
    margin-top: 4rem;
}
.dish-slide-author-image {
	width: 4.8rem;
    min-width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    overflow: hidden;
}
.dish-slide-author-info {
	/*padding-top: 0.5rem;*/
}
.dish-slide-author-info span {
	font-weight: 400;
    font-style: Italic;
    font-size: 1.4rem;
	line-height: 100%;
    color: #5C3232;
    margin-bottom: 0.9rem;
}
.dish-slide-author-chef {
	font-family: 'ccs';
    font-size: 2.4rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
    color: #5C3232;
}
.dish-slide-author-restaurant {
	font-size: 1.4rem;
    letter-spacing: 0.03em;
    color: #5C3232;
}


@media ( max-width: 576px ) {
	body.large-type .logo {
		top: 9.396rem;
		height: 13.795rem;
	}
	.main {
		display: flex;
		flex-direction: column;
		padding-top: 17.6rem;
		align-items: center;
	}
	.homepage.large-type .main .theme-switcher {
		transform: unset;
		position: relative;
		top: 0;
		left: unset;
		width: 19.9rem;
		margin-bottom: 2.6rem;
		order: 3;
	}
	.homepage.large-type .main .theme-descriptiion {
		top: 0;
		width: 31.7rem;
		transform: unset;
		margin-bottom: 6.55rem;
		opacity: 1;
		visibility: visible;
		order: 4;
	}
	.homepage.large-type .main .theme-descriptiion br {
		display: none;
	}
	body.large-type .sturgeon-icon {
		width: 35.4rem;
		height: auto;
		top: 32px;
		margin: 0 auto 1.4rem;
		left: 0;
		transform: unset;
		order: 1;
	}
	.dishes-slider {
		order: 5;
	}
	.dish-slide {
		display: none !important;
	}
	.dish-slide > img {
		width: 29.4rem;
		height: 29.4rem;
	}
	.dishes-slider .dish-slide:nth-child(2),
	.dishes-slider .dish-slide:nth-child(3),
	.dishes-slider .dish-slide:nth-child(4) {
		display: flex !important;
		height: auto;
		top: unset;
		left: unset;
		transform: unset;
		position: relative;
		flex-direction: column;
		align-items: center;
		padding-bottom: 9.3rem;
	}
	.dish-slide-info {
		position: relative;
		top: -1.7rem;
		left: unset;
		width: 34rem;
		transform: unset;
		opacity: 1;
	}
	.dish-slide-info:before {
		width: 22.8rem;
		height: 7rem;
		top: -2.983rem;
	}
	.dish-slide-info:after {
		width: 22.8rem;
		height: 7rem;
		bottom: -2.983rem;
	}
	.dish-slide.dish-slide-main-mobile {
		position: relative;
		top: unset;
		left: unset;
		transform: unset;
		display: flex !important;
		flex-direction: column;
		align-items: center;
		width: auto;
		margin-bottom: 6.05rem;
		order: 2;
	}
	.dish-slide-main-title {
		width: 33.165rem;
		line-height: 33.14px;
		text-align: center;
		margin-bottom: 4.3rem;
	}
	.dish-slide-main-text {
		width: 31.7rem;
	}
	.dish-slide-main-info {
		width: 30.2rem;
		margin-top: 4rem;
		margin-left: 0.6rem;
	}