@font-face {
    font-family: 'Caviar Dreams';
    src: url(site/fonts/Caviardreams_regular);
}
@font-face {
    font-family: 'Caviar Dreams';
    src: url(site/fonts/Caviardreams_bold);
    font-weight: bold;
}
@font-face {
    font-family: 'Caviar Dreams';
    src: url(site/fonts/Caviardreams_italic);
    font-style: italic;
}
@font-face {
    font-family: 'Caviar Dreams';
    src: url(site/fonts/Caviardreams_bolditalic);
    font-weight: bold;
    font-style: italic;
}
body {
    font-family: Arial;
    margin: 0;
    background-image: repeating-linear-gradient(45deg, white, blanchedalmond 1mm);
    width: 100vw;
    height: 100vh;
}

.h3{
    letter-spacing: 10pt;
}
.h3::after{
    content: ":";
}
p {font-size: 14pt;}
ul {
    font-size: 14pt;
    list-style-type: square;
}
p.greeting{font-size: 24pt;}
address {text-align: right;}
.advertising { margin-left: 30pt;}
.header {text-align: center;}
.ol {font-size: 12pt ;
    margin-top: 2pt;
    margin-bottom: 2pt;}
.span {
    font-variant-numeric: oldstyle-nums;
    font-size: larger;
}
table.price-list th, table.price-list td{
    border: grey thin solid;
    padding: 2pt;
}
nav{
    background-color: blanchedalmond;
    width: 200px;
    padding: 20px;
    border-radius: 10px;
    left: 10pt;
    top: 150pt;
    bottom: 100pt;
}
nav div, nav a {
    font-size: 24pt;
    margin: 10px 0px;
}
main {
    min-height: 600px;
    display: table-cell;
    padding-left: 20pt;
    left: 240pt;
    right: 0;
    bottom: 100pt;
    overflow-y: auto;
}
table.catalog tr:last-child:not(td:only-child) {
    border-bottom: none;
}
table.price-list th[colspan=2] {
    text-align: center;
}
table.catalog h3 + p::first-letter {
    font-size: 150%;
    background-color: blanchedalmond;
}
ul li::marker {
    font-size: 150%;
    color: orange;
}
table.catalog h3{
    font-family: 'Caviar Dreams';
    font-size: 32pt;
    font-variant: all-small-caps;
}
i.icon-drink{
    content: url(site/images/photos/drink.jpg);
    height: 1em;
}
title{
    font-size: 28pt;
    text-transform: uppercase;
}
.ew{
    vertical-align: top;
}
header{
    text-align: right;
    left: 0;
    top: 0;
    right: 0;

}
header h1.header1 {
    font: bold 48pt 'Caviar Dreams';
    text-transform: uppercase;
    letter-spacing: 18pt;
    background: padding-box padding-box url(/images/photos/sushi.jpg) left/auto 80% no-repeat;
    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-color: rgba(255, 255, 255, 0.8);
    position: relative;
    height: 100%;
}
.footer-container {
    width: 100%;
    box-sizing: border-box;
}
.footer-address {
    font-family: 'Caviar dreams', sans-serif;
    font-size: 20pt;
    font-weight: bold;
    font-style: italic;
    background-color: blanchedalmond;
    text-align: right;
    padding: 10px 20px;
    border-bottom: 2px solid salmon;
}
.footer-copyright {
    font-family: Arial;
    font-size: 10pt;
    text-align: right;
    padding-top: 8px;
    padding-right: 20px;
    padding-left: 40px; 
}
li {
    list-style-type: lower-roman;
}
nav a {
    color: maroon;
    text-decoration: none;
    display: block;
    transition-property: color, background-color, translate;
    transition-duration: 1s;
}
nav a:active, nav a:hover {
    color: blanchedalmond;
    background-color: maroon;
    translate: 10px;
    transition-property: color, background-color, translate;
    transition-duration: 1s;
}
.img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
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;
}
.super-checkbox {
    appearance: none;
    width: 1ex;
    height: 1ex;
    background-color: orange;
    outline: orange;
    outline-offset: 2pt;
    margin-right: 8pt;
    vertical-align: middle;
}
.super-checkbox:checked {
    background-color: orange;
}
nav {display: table-cell;}
main {display: table-cell;}
header, nav, main,footer {position: absolute;}
footer {
    text-align: right;
    left: 0pt;
    right: 0pt;
    right: 0pt;
    bottom: 0pt;
}
@media screen and (max-width: 400px) {
    header h1.header1 {
        font: bold 42pt 'Caviar Dreams';
        letter-spacing: initial;
        background: radial-gradient(circle farhest-side at right, blanchedalmond 67%, white 90%);
    }
    header h1.header2{
        font: 32pt Verdana;
        letter-spacing: initial;
    }
    table.catalog, table.catalog tr, tablle.catalog tr td {
        display: block;
    }
    table.catalog tr td:first-of-type {
        width: initial;
    }
    div.container {
        min-width: initial;
        max-width: initial;
        width: 100vw;
        background: rgba(255, 255, 255, 0.8);
    }
    nav {
        float: none;
        width: initial;
        margin: initial;
        border-radius: initial;
    }
    main {
        margin-left: initial;
        min-height: initial;
    }
}