#telegram-root{
	display: flex;
	flex-direction: column;
	width: 100vw;
	height: 100vh;
	overflow-y: scroll;
	background: #191919;
	color: whitesmoke;
	position: relative;
}

#telegram-root #bottom-sheet{
	display: flex;
	flex-direction: column;
	justify-content: end;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	visibility: hidden;
	opacity: 0;
}
#telegram-root #bottom-sheet.sheet-visible{
	visibility: visible !important;
	opacity: 1 !important;
}
#telegram-root #bottom-sheet .bottom-sheet-cover{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: .7;
}
#telegram-root #bottom-sheet.sheet-visible form{
	bottom: 0 !important;
}
#telegram-root #bottom-sheet form{
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #191919;
	border-top-left-radius: 4vw;
	border-top-right-radius: 4vw;
	bottom: -100%;
}
#telegram-root #bottom-sheet form nav{
	display: flex;
	align-items: center;
	padding: 4vw;
}
#telegram-root #bottom-sheet form nav .navbar-leading{
	display: flex;
	align-items: center;
}
#telegram-root #bottom-sheet form nav .navbar-trailing{
	display: flex;
	align-items: center;
	margin-left: auto;
}
#telegram-root #bottom-sheet form nav button{
	background: none;
	border: none;
	color: white;
	font-size: 5vw;
}
#telegram-root #bottom-sheet form .product-card{
	display: flex;
	flex-direction: column;
	padding: 4vw;
	padding-top: 2vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-details{
	display: flex;
	align-items: center;
	gap: 2vw;
	margin-bottom: 4vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-details label{
	padding: 3vw;
	font-size: 6vw;
	font-weight: bold;
	background: #363636;
	border-radius: 3vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-details .product-card-details-meta{
	display: flex;
	flex-direction: column;
}
#telegram-root #bottom-sheet form .product-card .product-card-details .product-card-details-meta span{
	font-size: 5vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-details .product-card-details-meta small{
	font-size: 4vw;
	color: darkgrey;
}
#telegram-root #bottom-sheet form .product-card .product-card-measures{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-measures small{
	color: darkgrey;
	font-size: 3vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-measures span{
	font-size: 4vw;
}
#telegram-root #bottom-sheet form .product-card hr{
	width: 100%;
	height: 2px;
	border: none;
	background: #363636;
	margin: 0;
	margin-top: 1vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls{
	display: flex;
	align-items: center;
	gap: 2px;
	margin-bottom: 3vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls button{
	padding: 5vw 0;
	width: 100%;
	background: #363636;
	border: none;
	color: white;
	font-size: 5vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls input{
	padding: 5vw;
	width: calc(100% - 8vw);
	background: #363636;
	border: none;
	color: white;
	font-size: 5vw;
	text-align: center;
	border-radius: 0;
	-moz-appearance: textfield;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls-alternative{
	margin-top: 5vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls input:focus{
	outline: none;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls input::-webkit-outer-spin-button,
#telegram-root #bottom-sheet form .product-card .product-card-controls input::-webkit-inner-spin-button{
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls button:first-child{
	border-top-left-radius: 2vw;
	border-bottom-left-radius: 2vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-controls button:last-child{
	border-top-right-radius: 2vw;
	border-bottom-right-radius: 2vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-footer{
	display: flex;
	margin-top: 4vw;
	padding-bottom: 4vw;
}
#telegram-root #bottom-sheet form .product-card .product-card-footer button{
	width: 100%;
	padding: 4vw 0;
	border: none;
	border-radius: 3vw;
	background: #292929;
	color: white;
	font-size: 4vw;
}

#telegram-root header{
	display: flex;
	flex-direction: column;
	padding: 4vw;
	padding-bottom: 2vw;
}
#telegram-root header input{
	background: transparent;
	color: white;
	padding: 5vw;
	font-size: 5vw;
	border: 2px solid #313338;
	border-radius: 2vw;
}
#telegram-root header input:focus{
	outline: none;
	border-color: grey;
}
#telegram-root main{
	display: flex;
	flex-direction: column;
	height: 100%;
}
#telegram-root .menu-tools{
	display: flex;
	gap: 2vw;
	padding: 0 4vw;
}
#telegram-root .menu-tools button{
	background: whitesmoke;
	color: black;
	padding: 4vw 0;
	width: 100%;
	border: none;
	border-radius: 2vw;
	font-size: 4vw;
	font-weight: bold;
}
#telegram-root .menu-categories{
	margin-top: 2vw;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 2vw;
	padding: 0 4vw;
}
#telegram-root .menu-categories h2{
	grid-column: span 2;
	margin: 0;
	margin-bottom: 1vw;
	color: grey;
	font-size: 3.5vw;
}
#telegram-root .menu-categories .menu-categories-card{
	display: flex;
	padding: 5vw;
	background: #212121;
	border-radius: 2vw;
	font-size: 4.5vw;
	font-weight: bold;
}
#telegram-root .menu-categories .menu-categories-card.active-category-card{
	background: #363636;
}
#telegram-root .menu-products{
	margin-top: 4vw;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 2vw;
	padding: 0 4vw;
	padding-bottom: 4vw;
}
#telegram-root .menu-products h2{
	grid-column: span 2;
	margin: 0;
	margin-bottom: 1vw;
	color: grey;
	font-size: 3.5vw;
}
#telegram-root .menu-products .menu-products-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 5vw 2vw;
	background: #212121;
	border-radius: 2vw;
	text-align: center;
}
#telegram-root .menu-products .menu-products-card label{
	font-size: 5vw;
}
#telegram-root .menu-products .menu-products-card span{
	font-size: 5vw;
}
#telegram-root .menu-products .menu-products-card small{
	margin-top: 2vw;
	font-size: 4vw;
	color: darkgrey;
}
#telegram-root .root-navbar{
	display: flex;
	align-items: center;
	padding: 4vw;
}
#telegram-root .root-navbar .navbar-leading{
	display: flex;
	align-items: center;
}
#telegram-root .root-navbar .navbar-trailing{
	display: flex;
	align-items: center;
	margin-left: auto;
}
#telegram-root .root-navbar button{
	background: none;
	border: none;
	color: white;
	font-size: 4vw;
}
#telegram-root .cart-products{
	display: flex;
	flex-direction: column;
	padding: 4vw;
	padding-top: 0;
	height: 100%;
}
#telegram-root .cart-products .cart-products-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#telegram-root .cart-products .cart-products-header h2{
	color: grey;
	font-size: 3.5vw;
	margin: 0;
}
#telegram-root .cart-products .cart-products-header button{
	background: #212121;
	border: none;
	font-size: 4vw;
	color: white;
	padding: 2vw 5vw;
	border-radius: 2vw;
}
#telegram-root .cart-products .cart-products-list{
	display: flex;
	flex-direction: column;
	gap: 2vw;
	margin-top: 4vw;
	margin-bottom: 4vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-empty{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 5vw;
	gap: 3vw;
	color: grey;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-empty i{
	font-size: 8vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-empty span{
	font-size: 4vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card{
	display: flex;
	flex-direction: column;
	padding: 3vw;
	background: #363636;
	border-radius: 2vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-details{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-details .card-details-title{
	display: flex;
	flex-direction: column;
	gap: 1vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-details .card-details-title span{
	font-size: 4.5vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-details .card-details-title small{
	font-size: 3.5vw;
	color: darkgrey;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-details label{
	font-size: 3.5vw;
	font-weight: bold;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-actions{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-actions small{
	font-size: 4vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-actions .card-actions-trailing{
	display: flex;
	align-items: center;
	gap: 1vw;
}
#telegram-root .cart-products .cart-products-list .cart-products-list-card .card-actions .card-actions-trailing button{
	font-size: 4vw;
	background: #212121;
	color: white;
	border: none;
	padding: 2vw 5vw;
	border-radius: 2vw;
}
#telegram-root .cart-products .cart-products-conclusion{
	display: flex;
	flex-direction: column;
	margin-top: auto;
}
#telegram-root .cart-products .cart-products-conclusion table{
	border: none;
	padding: 0;
	margin: 0;
}
#telegram-root .cart-products .cart-products-conclusion table th{
	padding: 2vw 0;
	text-align: right;
}

@media only screen and (max-width: 480px) {
	#root #modal-dialog form{
		max-width: 80vw;
	}
	#root #modal-dialog form .dialog-details{
		gap: 2vw;
		padding: 4vw;
	}
	#root #modal-dialog form .dialog-details span{
		font-size: 4.5vw;
	}
	#root #modal-dialog form .dialog-details small{
		font-size: 3.5vw;
	}
	#root #modal-dialog form .dialog-actions button{
		padding: 3vw;
		font-size: 4vw;
	}
	#root #loading-indicator{
		padding: 2vw 3vw;
		border-radius: 2vw;
		gap: 2vw;
		margin-bottom: 10vw;
	}
	#root #loading-indicator progress{
		height: 0.5vw;
		border: none;
		border-radius: 0.5vw;
	}
	#root #notification-banner{
		padding: 2vw;
		border-radius: 1vw;
		gap: 2vw;
		margin-top: 5vw;
		margin-right: 3vw;
	}
	#root #notification-banner .notification-indicator{
		font-size: 4vw;
	}
	#root #notification-banner .notification-details span{
		font-size: 3.5vw;
	}
	#root #notification-banner button{
		font-size: 3.5vw;
	}
}