@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;
}
header { text-align: right; }
p { font-size: 14pt; }
p.greeting { font-size: 24pt; }

ul {
    font-size: 14pt;
    list-style-type: square;
}


table.price-list th, table.price-list td {
    border: grey thin solid;
    padding: 2pt;
}

table.catalog td {
    border-bottom: black thin dotted;
    padding: 3pt;
    width: 33%;
}

table.header {
    color: white;
    background-color: gray;
}

table.footer {
    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 {
    font-size: 24pt;
    margin: 10px 0px;
}

table.catalog {
    font-size: 120%;
}

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;
}

ul li::marker {
    font-size: 150%;
    color: orange;
}

tr td:last-child:not(td:only-child) {
    border: none;                  
    background-color: lightgrey;   
}

td[rowspan="2"] {
    font-size: larger;
}


table.catalog h3 {
    font-family: 'Caviar Dreams';
    font-size: 32pt;
    font-variant-caps: all-small-caps;
}

i.icon-drink {
    content: url(../images/drink.jpg);
    height: 1em;
}

table.catalog h3 {
    font-size: 28pt;               
    text-transform: uppercase;     
}

.dish-title {
    letter-spacing: 10pt;         
    text-transform: uppercase;     
    display: inline-block;
}

.first-letter {
    font-size: 3.5em;              
    float: left;                   
    line-height: 1;                
    margin-right: 8px;            
    vertical-align: text-top;      
}

.dish-title::after {
    content: ":";                  
}

header h1.header1 {
    font: bold 48pt 'Caviar Dreams';
    text-transform: uppercase;
    letter-spacing: 18pt;
    background-color: blanchedalmond;
    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;
}

.footer {
    background-color: blanchedalmond;    
    padding: 10px 20px;                 
    text-align: right;                  
    border-bottom: 5px solid salmon;     
    outline: 1px solid salmon;          
    outline-offset: 4pt;             
    margin-bottom: 30px; 
}
main { margin-left: 300px; }
table.catalog img { width: 200px; }
.advertising { margin-left :30pt; }

footer address.address1 {
  font: bold 20pt 'Caviar Dreams';
  background-color: blanchedalmond;
  margin: 0;
  padding: 12pt 8pt 0 0;
  border-bottom: 5pt solid salmon;
}

ol {
    list-style-type: upper-roman;
    list-style-position: outside;
}
ol li::marker{
    color: orange;
}

nav a {
    color: maroon;
    text-decoration: none;
}

nav a:active, nav a:hover {
    color: blanchedalmond;
    background-color: maroon;
}

.img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

video {
    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: 1em;
    height: 1em;
    background-color: white;
    outline: solid black;
    outline-offset: 2pt;
    margin-right: 8pt;
    vertical-align: middle;
    border-radius: 0;
    border-radius: 50%;
}
.super-checkbox:checked {
    background-color: black;
}





