@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

:root {
	--default-color: #fff;
	--section-color: #000;
	--red-color: #F60004;
}

/* Scroll Bar */
::-webkit-scrollbar {
	width: 5px;
	height: 5px;
}
::-webkit-scrollbar-track-piece {
	background-color: transparent;
	-webkit-border-radius: 8px;
}
::-webkit-scrollbar-thumb:vertical {
	height: 5px;
	background-color: var(--red-color);
	-webkit-border-radius: 5px;
}
::-webkit-scrollbar-thumb:horizontal {
	width: 5px;
	background-color: var(--red-color);
	-webkit-border-radius: 5px;
}

@-webkit-keyframes jittery {
	5%, 50% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	10% {
		-webkit-transform: scale(.95);
		transform: scale(.95)
	}
	15% {
		-webkit-transform: scale(1.05);
		transform: scale(1.05)
	}
	20% {
		-webkit-transform: scale(1.05) rotate(-5deg);
		transform: scale(1.05) rotate(-5deg)
	}
	25% {
		-webkit-transform: scale(1.05) rotate(5deg);
		transform: scale(1.05) rotate(5deg)
	}
	30% {
		-webkit-transform: scale(1.05) rotate(-3deg);
		transform: scale(1.05) rotate(-3deg)
	}
	35% {
		-webkit-transform: scale(1.05) rotate(2deg);
		transform: scale(1.05) rotate(2deg)
	}
	40% {
		-webkit-transform: scale(1.05) rotate(0);
		transform: scale(1.05) rotate(0)
	}
}
@keyframes jittery {
	5%, 50% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	10% {
		-webkit-transform: scale(.95);
		transform: scale(.95)
	}
	15% {
		-webkit-transform: scale(1.05);
		transform: scale(1.05)
	}
	20% {
		-webkit-transform: scale(1.05) rotate(-5deg);
		transform: scale(1.05) rotate(-5deg)
	}
	25% {
		-webkit-transform: scale(1.05) rotate(5deg);
		transform: scale(1.05) rotate(5deg)
	}
	30% {
		-webkit-transform: scale(1.05) rotate(-3deg);
		transform: scale(1.05) rotate(-3deg)
	}
	35% {
		-webkit-transform: scale(1.05) rotate(2deg);
		transform: scale(1.05) rotate(2deg)
	}
	40% {
		-webkit-transform: scale(1.05) rotate(0);
		transform: scale(1.05) rotate(0)
	}
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
*:before, *:after {
	box-sizing: border-box;
}
html {
	width: 100%;
	overflow-x: hidden;
}
body {
	background: #000;
	margin: 0;
	padding: 0;
	font: 500 15px/1.3 'Nunito Sans', sans-serif;
	color: var(--default-color);
}
ul, li {
	list-style: none;
	margin: 0;
	padding: 0;
}
a {
	color: var(--default-color);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
input, button, select, textarea {
	margin: 0;
	padding: 0;
	outline: none;
	border: none;
	font-family: 'Nunito Sans', sans-serif;
}
button, a {
	cursor: pointer;
	transition: 300ms;
}
table {
	border-collapse: collapse;
	width: 100%;
}
img {
	max-width: 100%;
}
.flex {
	display: flex;
	flex-wrap: wrap;
}
.input-class {
	width: 100%;
	display: block;
	height: 50px;
	padding: 0 15px;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	outline: none;
	transition: 300ms;
	font-size: 18px;
	letter-spacing: 0.5px;
}
textarea.input-class {
	resize: none;
	height: 120px;
	padding: 12px 15px;
}
.input-class:focus {
	border-color: #000;
}
.btn {
	background: rgba(246, 0, 4, 0.8);
	display: inline-block;
	border-radius: 5px;
	padding: 10px 15px;
	font-weight: bold;
	text-decoration: none!important;
	text-align: center;
}
.btn--big {
	padding: 14px 25px;
	font-size: 16px;
	text-transform: uppercase;
}
.btn--gray {
	background: gray;
}
.btn:hover {
	background: #000;
}
.maxwidth {
	margin: 0 auto;
	min-width: 375px;
	height: 100%;
}
.section {
	background: var(--section-color);
	padding: 30px 20px 18px 20px;
	position: relative;
}
.first {
	padding-top: 15px;
	padding-bottom: 30px;
}
/*.section__line {
	border-bottom: 3px dashed var(--red-color);
	width: 100%;
	height: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
}
.section:last-child .section__line {
	display: none;
}*/
.section__content {
	position: relative;
	z-index: 5;
}
.section__background {
	background: no-repeat center / cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.section__background:after {
	content: '';
	background: rgba(0, 0, 0, 0.85);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.section__logo {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}
.section__logo > img {
	width: 260px;
	/*background: rgba(0, 0, 0, 0.8);
	border-radius: 10px;
	padding: 10px;*/
}
.categories {
	display: grid;
	grid-template-columns: 100%;
	gap: 60px;
}
.category__image {
	margin: -30px -20px 20px -20px;
}
.category__image > img {
	width: 100%;
	display: block;
}
.category__title {
	font-size: 22px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.category__title:after {
	content: '';
	background: rgba(246, 0, 4, 0.8);
	width: 85px;
	height: 3px;
	display: block;
	margin: 13px auto 35px auto;
}
.product {
	padding-bottom: 18px;
	margin-bottom: 18px;
	position: relative;
	cursor: pointer;
}
.product:last-child {
	border-bottom: none;
	padding: 0;
	margin: 0;
}
.product:last-child .product__line {
	display: none;
}
.product__box {
	gap: 10px 15px;
}
.product__col--1 {
	flex-shrink: 0;
}
.product__col--2 {
	flex: 1;
}
.product__col--3 {
	flex-shrink: 0;
}
.product__checkbox {
	position: relative;
}
.product__checkbox > input {
	position: absolute;
	opacity: 0;
}
.product__checkbox > label {
	background: rgba(0, 0, 0, 0.1);
	width: 24px;
	height: 24px;
	border-radius: 5px;
	display: block;
	transform: translateY(-3px);
	position: relative;
	cursor: pointer;
	line-height: 24px;
	font-size: 18px;
	font-weight: bold;
	color: rgba(246, 0, 4, 0.85);
	text-align: center;
	/*border: 1px solid rgba(246, 0, 4, 0.4);*/
	border: 1px solid rgba(255, 255, 255, 0.4);
}
.product__checkbox > label:before {
	content: '';
	background: rgba(246, 0, 4, 0.8);
	width: 10px;
	height: 10px;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: 300ms;
}
.product__checkbox > input:checked + label {
	border-color: var(--red-color);
}
.product__checkbox > input:checked + label:before {
	opacity: 1;
}
.product__contains {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 300;
	margin-top: 4px;
}
.product__price-unit {
	color: rgba(255, 255, 255, 0.85);
	font-style: italic;
	font-size: 13px;
}
.product__unit {
	color: rgba(255, 255, 255, 0.85);
	font-style: italic;
}
.product__line {
	background: rgba(255, 255, 255, 0.15);
	width: 0;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: -20px;
	opacity: 1!important;
	transform: none!important;
	transition: 1000ms!important;
}
.product__line.aos-animate {
	width: calc(100% + 40px);
}
body.animation-0 .product__line {
	width: calc(100% + 40px);
}
.product--no-contains .product__price {
	display: flex;
	align-items: center;
	gap: 8px;
}
.product__left {
	align-items: center;
}
.product__in-basket {
	text-transform: uppercase;
	font-style: italic;
	color: #d5bf12;
	display: none;
	vertical-align: middle;
	margin-right: 5px;
	transform: translateY(-1px);
}
.product--in-basket .product__in-basket {
	display: inline-block;
}
.product--in-basket .product__col--1 {
	display: none;
}
.list {
	overflow-x: scroll;
	margin-right: -15px;
	padding-bottom: 12px;
}
.list__items {
	gap: 25px;
	flex-wrap: nowrap;
	white-space: nowrap;
	padding-right: 15px;
}
.list__item {
	padding: 9px 0;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	border-bottom: 1px solid transparent;
	transition: 300ms;
}
.list__item--active {
	color: rgba(246, 0, 4, 0.8);
	border-color: rgba(246, 0, 4, 0.8);
}
.overflow {
	overflow: hidden;
}
.popup {
	background: #fff;
	color: #000;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	overflow: auto;
	z-index: 999;
	display: none;
}
.popup__content {
	padding: 80px 30px 50px 30px;
}
.popup__close {
	position: absolute;
	top: 18px;
	right: 18px;
	cursor: pointer;
}
.popup__close > svg > path {
	fill: #000;
}
.popup__content {
	display: grid;
	grid-template-columns: 100%;
	gap: 30px;
}
.popup__image {
	display: none;
}
.popup__image > img {
	border-radius: 10px;
	display: block;
}
.popup__title {
	font-size: 24px;
	font-weight: 500;
	text-transform: uppercase;
}
.popup__contains {
	font-style: italic;
	font-weight: 300;
	display: none;
}
.popup__price-value {
	font-size: 24px;
	font-weight: 600;
}
.popup__price-unit {
	color: rgba(0, 0, 0, 0.6);
	display: none;
}
body.hinted .maxwidth {
	filter: brightness(40%);
}
.hint {
	background: #fff;
	position: fixed;
	top: 50%;
	left: 50%;
	border-radius: 20px;
	width: 300px;
	color: #000;
	transition: 800ms;
	transform: scale(0) translate(-50%, -50%);
	z-index: -1;
}
.hint--active {
	transform: scale(1) translate(-50%, -50%);
	z-index: 998;
}
.hint__content {
	padding: 30px;
	display: grid;
	grid-template-columns: 100%;
	gap: 20px;
}
.hint__title {
	font-size: 24px;
	font-weight: 500;
	text-transform: uppercase;
}
.hint__ok {
	margin-top: 10px;
}
.add-basket {
	background: #fff;
	position: fixed;
	z-index: 998;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px;
	display: none;
	padding-bottom: calc(env(safe-area-inset-bottom) + 15px);
}
.add-basket__text {
	font-weight: 700;
	margin-bottom: 12px;
	color: #000;
}
.add-basket__btn {
	width: 100%;
}
.added {
	background: rgba(0, 0, 0, 0.88);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
	transition: 800ms;
}
.added--active {
	z-index: 99999;
	opacity: 1;
}
.added__content {
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 100%;
	width: 100%;
}
.added__ico {
	background: rgba(255, 255, 255, 0.2);
	width: 150px;
	height: 150px;
	border-radius: 100px;
	justify-content: center;
	align-items: center;
	margin: 0 auto 20px auto;
	transform: scale(0);
	transition: 800ms;
}
.added__ico > svg {
	width: 80%;
	height: 80%;
}
.added__ico > svg > path {
	fill: #afa82a;
}
.added__text {
	font-weight: bold;
	font-size: 18px;
}
.added--active .added__ico {
	transform: scale(1);
}
body.added-active {
	padding-bottom: 110px;
}
body.added-active .mybasket {
	bottom: 135px;
}
#popup_basket .popup__content {
	padding-top: 40px;
}
.basket__title {
	font-size: 28px;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.basket__subtitle {
	font-size: 17px;
	margin: -8px 0 20px 0;
}
.basket__subtitle b {
	color: rgba(246, 0, 4, 0.8);
}
.basket__items {
	display: grid;
	grid-template-columns: 100%;
	gap: 20px;
}
.basket__item {
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	padding: 15px;
}
.basket__item-col--1 {
	flex: 1;
}
.basket__item-col--2 {
	flex-shrink: 0;
}
.basket__item-remove {
	cursor: pointer;
}
.basket__item-remove > svg {
	width: 30px;
	display: block;
}
.basket__item-remove > svg > path {
	fill: rgba(0, 0, 0, 0.6);
}
.basket__item-title {
	font-weight: 600;
	font-size: 16px;
	margin-bottom: 8px;
}
.basket__item-contains {
	color: rgba(0, 0, 0, 0.7);
	font-weight: 300;
	font-size: 13px;
}
.basket__item-bottom {
	flex-direction: row-reverse;
	margin-top: 12px;
	gap: 15px;
	justify-content: flex-end;
	align-items: center;
}
.basket__item-price {
	font-size: 18px;
	color: rgba(0, 0, 0, 0.7);
}
.basket__item-price > span {
	color: #000;
}
.basket__item-quantity {
	border-radius: 5px;
	border: 1px solid #dcdcdc;
	overflow: hidden;
	width: 102px;
}
.basket__item-quantity-button {
	background: #f2f2f2;
	width: 30px;
	height: 30px;
	cursor: pointer;
	text-align: center;
	line-height: 30px;
	font-size: 20px;
}
.basket__item-quantity > input {
	display: block;
	width: 40px;
	height: 30px;
	text-align: center;
}
.basket__order {
	border: 1px dashed var(--red-color);
	padding: 15px;
	font-size: 14px;
	line-height: 1.4;
	border-radius: 5px;
	margin: 40px 0 0 0;
}
.mybasket {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 800;
	transition: 300ms;
}
.mybasket__box {
	background: rgba(255, 255, 255, 0.9);
	width: 50px;
	height: 50px;
	border-radius: 50px;
	align-items: center;
	justify-content: center;
	position: relative;
	/*border: 2px dashed rgba(246, 0, 4, 0.8);*/
	cursor: pointer;
}
.mybasket__ico {
	justify-content: center;
}
.mybasket__ico > svg {
	width: 65%;
}
.mybasket__ico > svg > path {
	fill: #000;
}
.mybasket__count {
	background: #fff;
	border-radius: 50px;
	text-align: center;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -4px;
	right: -3px;
	color: #000;
	font-size: 12px;
	line-height: 18px;
	border: 1px solid rgba(246, 0, 4, 0.8)
}
.popup__inbasket {
	text-transform: uppercase;
	font-style: italic;
	color: green;
	display: none;
}
#popup_basket .popup__content {
	padding-left: 15px;
	padding-right: 15px;
}
.is-checkbox {
	position: relative;
}
.is-checkbox > input {
	position: absolute;
	opacity: 0;
}
.is-checkbox > label {
	display: block;
	padding: 0 0 0 30px;
	cursor: pointer;
	min-height: 22px;
}
.is-checkbox > label:before {
	content: '';
	background: #dcdcdc;
	width: 22px;
	height: 22px;
	border-radius: 5px;
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
	cursor: pointer;
}
.is-checkbox > label:after {
	content: '✓';
	width: 22px;
	line-height: 24px;
	font-size: 18px;
	font-weight: bold;
	color: rgba(246, 0, 4, 0.85);
	text-align: center;
	position: absolute;
	top: -2px;
	left: 0;
	opacity: 0;
	transition: 300ms;
}
.is-checkbox > input:checked + label:after {
	opacity: 1;
}
.basket__delivery {
	margin-top: 40px;
}
.basket__delivery-content {
	margin-top: 15px;
	display: none;
}
.basket__bottom {
	margin-top: 50px;
}
.basket__bottom .basket__order {
	margin-top: 13px;
}
.basket__summary {
	font-size: 25px;
	font-weight: 600;
}
.basket__btn {
	width: 100%;
}
#popup_thanks .popup__content {
	padding-top: 60px;
}
.thanks__title {
	font-size: 26px;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 15px;
}
.thanks__subtitle {
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 15px;
}
.thanks__summary {
	border: 1px dashed var(--red-color);
	padding: 10px;
	border-radius: 5px;
	margin-bottom: 20px;
}
.thanks__stitle {
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.thanks__item {
	border-bottom: 1px solid #dcdcdc;
	padding-bottom: 18px;
	margin-bottom: 18px;
}
.thanks__item:last-child {
	border-bottom: none;
	margin: 0;
	padding: 0;
}
.thanks__item-title {
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 5px;
}
.thanks__item-contains {
	color: rgba(0, 0, 0, 0.7);
	margin-bottom: 5px;
}
.thanks__back {
	justify-content: center;
	margin-top: 30px;
}
.thanks__back-btn {
	width: 100%;
}
.stol {
	background: rgba(255, 255, 255, 0.15);
	border-radius: 10px;
	padding: 10px 15px;
	margin: 0 0 20px 0;
	letter-spacing: 0.5px;
	font-weight: 500;
	align-items: center;
	line-height: 1.35;
}
.stol__ico {
	background: url(../img/coffee-ico.png) no-repeat center / contain;
	flex:  0 0 55px;
	height: 55px;
}
.stol__text {
	flex: 1;
	color: #fff;
	padding-left: 15px;
}
.mybasket__box {
	animation: 5s jittery infinite;
}
.mybasket__box[data-count="0"] {
	animation: unset;
}
.sections {
	display: grid;
	grid-template-columns: 100%;
	gap: 30px 0;
	padding: 3px 15px 30px 15px;
}
.sections > .section {
	background: rgba(255, 255, 255, 0.1);
	/*border: 2px solid var(--red-color);*/
	/*box-shadow: 0 0 3px var(--red-color);*/
	border-radius: 10px;
	overflow: hidden;
}
.body--with-list-fix .first .section__content {
	position: static;
}
.body--with-list-fix .lister {
	background: #000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 800;
	padding: 10px 0 10px 15px;
}
.body--with-list-fix .list {
	margin-right: 0;
}
@media(min-width: 1200px) {
	.list {
		padding-bottom: 8px;
	}
}

.switcher {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 20;
}
.switcher__buttons {
	background: #363737;
	border-radius: 10px;
	overflow: hidden;
}
.switcher__button {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 300ms;
}
.switcher__button > svg {
	width: 55%;
	height: 55%;
}
.switcher__button > svg > path {
	fill: #fff;
}
.switcher__button--active {
	background: rgba(246, 0, 4, 0.8);
}

.info {
	justify-content: space-between;
	margin: 0 0 20px 0;
}
.info__col--1 {
	flex: 1;
}
.info__col--2 {
	flex: 0 0 100px;
}
.contacts {
	display: grid;
	grid-template-columns: 100%;
	gap: 10px;
}
.contact {
	align-items: center;
}
.contact__ico {
	flex: 0 0 25px;
}
.contact__ico > svg {
	width: 18px;
	transform: translateY(1px);
}
.contact__ico > svg > path {
	fill: #fff;
}
.contact__text {
	flex: 1;
}
.social__item {
	border: 1px solid #fff;
	width: 30px;
	height: 30px;
	border-radius: 50px;
}

.display-block .sections {
	padding-top: 30px;
	gap: 60px 0;
}
.display-block .sections > .section {
	background: transparent;
	border-radius: 0;
	overflow: visible;
	padding: 0;
}
.display-block .products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
	gap: 10px;
}
.display-block .product {
	margin: 0;
	padding: 0;
	cursor: auto;
}
.display-block .product__box {
	background: rgba(255, 255, 255, 0.15);
	border-radius: 10px;
	padding: 10px 10px 45px 10px;
	overflow: hidden;
	display: block;
	height: 100%;
}
.display-block .product__image {
	margin: -10px -10px 10px -10px;
	padding-bottom: 90%;
	height: 0;
	position: relative;
}
.display-block .product__image > img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.display-block .product__line {
	display: none!important;
}
.display-block .product__contains {
	margin-top: 7px;
}
.display-block .product__right {
	margin-top: 10px;
}
.display-block .product__price {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.display-block .product__title {
	font-size: 15px;
}
.display-block .product__add-btn {
	padding: 8px 12px;
	font-size: 14px;
}
.display-block .product--in-basket .product__add-action {
	display: none;
}
.display-block .product__add {
	position: absolute;
	bottom: 10px;
	left: 10px;
	right: 10px;
}
.display-block .category__title:after {
	margin-bottom: 25px;
}

.logo--light {
	display: none;
}

.light-theme {
	background: #fff;
	color: #000;
}
.light-theme .section__background {
	display: none;
}
.light-theme .section__background:after {
	display: none;
}
.light-theme .section {
	background: #f2f2f2!important;
	box-shadow: none!important;
}
.light-theme .product__in-basket {
	color: green;
}
.light-theme .section__logo > img {
	background: transparent;
	padding: 0;
}
.light-theme .first {
	background: transparent!important;
}
.light-theme .product__unit {
	color: rgba(0, 0, 0, 0.85);
}
.light-theme .product__contains {
	color: rgba(0, 0, 0, 0.7);
}
.light-theme .mybasket__box {
	background: #222;
}
.light-theme .mybasket__ico > svg > path {
	fill: #fff;
}
.light-theme.body--with-list-fix .lister {
	background: #fff;
}
.light-theme .added__text {
	color: #fff;
}
.light-theme .product__line {
	background: #dcdcdc;
}
.light-theme .logo--dark {
	display: none;
}
.light-theme .logo--light {
	display: flex;
}
.light-theme .switcher__buttons {
	background: #dcdcdc;
}
.light-theme .switcher__button > svg > path {
	fill: #000;
}
.light-theme .switcher__button--active > svg > path {
	fill: #fff;
}

body.in-switching .maxwidth {
	filter: blur(5px);
	pointer-events: none;
}

.light-theme .contact__ico > svg > path {
	fill: #222;
}
.light-theme .contact__text a {
	color: #000;
}
.light-theme .stol {
	background: #f2f2f2;
}
.light-theme .stol__text {
	color: rgba(0, 0, 0, 0.9);
}
.light-theme.display-block .section {
	background: transparent!important;
}
.light-theme.display-block .product__box {
	background: #f2f2f2;
}
.light-theme.display-block .sections {
	padding-top: 0;
}

@media(min-width: 992px) {
	.display-list .category {
		display: flex;
		flex-wrap: wrap;
	}
	.display-list .category__image {
		order: 20;
		flex: 0 0 300px;
		margin: 0;
	}
	.display-list .category__title {
		order: 10;
		flex: 0 0 100%;
	}
	.display-list .products {
		flex: 1;
		order: 30;
		padding: 0 0 0 25px;
	}
	.display-list .category__image > img {
		border-radius: 10px;
	}
}