@font-face {
	font-family: 'Caviar Dreams';
	src: url(../fonts/CaviarDreams.woff);
}
@font-face {
	font-family: 'Caviar Dreams';
	src: url(../fonts/Caviar_Dreams_Bold.woff);
	font-weight: bold;
}
@font-face {
	font-family: 'Caviar Dreams';
	src: url(../fonts/CaviarDreams_Italic.woff);
	font-style: italic;
}
@font-face {
	font-family: 'Caviar Dreams';
	src: url(../fonts/CaviarDreams_BoldItalic.woff);
	font-weight: bold;
	font-style: italic;
}
body {
	font-family: Arial;
	margin: 0;
	background-image:
		repeating-linear-gradient(45deg, white, blanchedalmond 1mm);
}
p {
	font-size: 14pt;
}
ul {
	font-size: 14pt;
	list-style-type: square;
}
p.greeting {
	font-size: 24pt;
}
ul li strong {
	font-style: italic;
}
.advertising {
	margin-left: 30pt;
}
.advertising p {
	font-size: 12pt;
	margin-top: 2pt;
	margin-bottom: 2pt;
}
footer {
	text-align: right;
}
.time {
	font-variant-numeric: oldstyle-nums;
	font-size: larger;
}
table.price-list th,table.price-list td {
	border: grey thin solid;
	padding: 2pt;
}
table.catalog td {
	border-bottom: black thin dotted;
	padding: 3pt;
}
table.catalog img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
table.price-list thead {
	color: white;
	background-color: grey;
}
table.price-list tfoot {
	font-style: italic;
	text-align: right;
}
nav {
	background-color: blanchedalmond;
	float: left;
	width: 200px;
	margin: 10px 0px 10px 10px;
	padding: 20px;
	border-radius: 10px;
}
nav div,nav a {
	font-size: 24pt;
	margin: 10px 0px;
}
main {
	margin-left: 300px;
	min-height: 600px;
}
table.catalog tr:last-child td {
	border-bottom: none;
}
table.price-list th[colspan=2] {
	text-align: center;
}
table.catalog h3+p::first-letter {
	font-size: 150%;
	background-color: blanchedalmond;
	vertical-align: top;
}
ul li::marker {
	font-size: 150%;
	color: orange;
}
table.price-list td:last-child:not(td:only-child) {
	border: none;
	background-color: lightgrey;
}
table.price-list td[rowspan] {
	font-size: larger;
}
table.catalog h3 {
	font-family: 'Caviar Dreams';
	font-size: 32pt;
	font-variant-caps: all-small-caps;
	letter-spacing: 10pt;
}
table.catalog h3::after {
	content: ':';
}
i.icon-drink {
	content: url(../images/drink.jpg);
	height: 1em;
}
h2 {
	font-size: 28pt;
	text-transform: uppercase;
}
header {
	text-align: right;
}
header h1.header1 {
	font: bold 48pt 'Caviar Dreams';
	text-transform: uppercase;
	letter-spacing: 18pt;
	background:
		padding-box padding-box url(../images/sushi.jpg) left / auto 80% no-repeat,
		padding-box padding-box url(../images/rolls.png) 160px / auto 80% no-repeat,
		radial-gradient(circle farthest-side at right,
			blanchedalmond, blanchedalmond 67%,
			white 90%);
	margin: 0;
	padding: 12pt 8pt 0 0;
	border-bottom: 12pt solid salmon;
}
header h1.header2 {
	font: 36pt Verdana;
	letter-spacing: 8pt;
	margin: 0;
	padding: 0 36pt 0 0;
}
div.container {
	min-width: 768px;
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
	background: url(../images/mate.png) 50px 620px / 160px auto no-repeat,
		rgba(255, 255, 255, 0.8);
}
footer address {
	font: italic bold 20pt 'Caviar Dreams';
	background-color: blanchedalmond;
	margin: 0;
	padding: 8pt 8pt 4pt 0;
	border-bottom: 2pt solid salmon;
}
footer p {
	margin: 0;
	padding: 8pt 8pt 18pt 0;
}
ol.adv {
	list-style-type: upper-roman;
}
ol.adv li::marker {
	color: orange;
}
table.catalog tr td:first-of-type {
	width: 33%;
}
nav a {
	color: maroon;
	text-decoration: none;
	display: block;
	transition-property: color, background-color, translate;
	transition-duration: 1.5s, 1.5s, 2s;
	transition-delay: .5s, .5s, 0;
}
nav a:active,nav a:hover {
	color: blanchedalmond;
	background-color: maroon;
	translate: 10px;
	transition-property: color, background-color, translate;
	transition-duration: 1s;
}
form {
	width: min-content;
	padding: 0 10pt;
	margin-bottom: 10pt;
	border: thin dotted orange;
	border-radius: 5pt;
}
input,select,textarea {
	font: 12pt monospace;
	border: medium solid orange;
	border-radius: 5pt;
	padding: 5pt;
}
input:required+span::after,select:required+span::after {
	font: 24pt monospace;
	content: '*';
	vertical-align: top;
}
input:user-valid,select:user-valid {
	border-color: green;
}
input:user-invalid,select:user-invalid {
	border-color: red;
}
input[type=checkbox],input[type=radio] {
	appearance: none;
	width: 1ex;
	height: 1ex;
	background-color: white;
	border: none;
	border-radius: 0;
	outline: solid orange;
	outline-offset: 1pt;
	margin-right: 8pt;
	vertical-align: middle;
}
input[type=checkbox]:checked,input[type=radio]:checked {
	background-color: orange;
}
input[type=radio] {
	border-radius: 50%;
}
@media screen and (max-width: 400px) {
	nav {
		float: none;
		width: initial;
		margin: initial;
		border-radius: initial;
	}
	main {
		margin-left: initial;
		min-height: initial;
	}
	div.container {
		min-width: initial;
		max-width: initial;
		width: 100vw;
		background: rgba(255, 255, 255, 0.8);
	}
	header h1.header1 {
		font: bold 42pt 'Caviar Dreams';
		letter-spacing: initial;
		background:
			radial-gradient(circle farthest-side at right,
				blanchedalmond, blanchedalmond 67%,
				white 90%);
	}
	header h1.header2 {
		font: 32pt Verdana;
		letter-spacing: initial;
	}
	table.catalog,
	table.catalog tr,
	table.catalog tr td {
		display: block;
	}
	table.catalog tr td:first-of-type {
		width: initial;
	}
}
@media print {
	* {
		background: transparent;
	}
	nav {
		display: none;
	}
	main {
		margin-left: initial;
	}
}