
* {
  font-family: sans-serif;
  font-size: 12px;
}


body
{
  margin: 0;
  margin-top: 64px;
}

@media screen and (max-width: 1020px)
 {
  body
    {
  }
}

/* Portrait orientation */
@media screen and (orientation: portrait)
{
  .autohide
  {
    display: none !important;
  }
}

@media print
{
  #header
  {
    display: none;
  }

  #navbar, #homebutton
  {
    display: none;
  }
}

h1
{
  font-size: 3em;
}

h2
{
  font-size: 2em;
}
.header
{
  position: fixed;
  left: 0px;
  top: 0px;
  height: 48px;
  width: 100%;
  background:rgba(240, 240, 240, 0.8);
  backdrop-filter: blur(2px); /* adjust blur strength */
  -webkit-backdrop-filter: blur(2px); /* for Safari */
  border: 1px solid white;
  vertical-align: middle;
  color: black;
  z-index: 1000;
  letter-spacing: 3px;
  display: flex;
  justify-content: space-between; /* ensures left and right controls are at edges */
  align-items: center;
  padding: 0 0; /* remove horizontal padding */
}

#header_left {
  display: flex;
  gap: 8px;
  justify-content: flex-start; /* align to left edge */
  align-items: center;
  flex: 1;
  min-width: 0;
}

#header_right {
  display: flex;
  gap: 8px;
  justify-content: flex-end; /* align to right edge */
  align-items: center;
  flex: 1;
  min-width: 0;
}

.header_left
{
  display: inline-block;
}

.header_right
{
  float: right;
  height: 48px;
  line-height: 48px;
  vertical-align: middle;
}

.header span
{
  margin: 0 0 0 0;
  padding: 0 5px;
  /* margin: 0; */
  border: none;
  display: inline-block;
  line-height: 48px;
}

.header img
{
  vertical-align: middle;
  width: 32px;
  height: 32px;
  padding: 8px;
}

.header a
{
  text-decoration: none;
}

.header_username
{
  padding: 0 20px 0 0;
}

.header_button
{
  filter: invert(1);
  color: white;
  border-radius: 7px;
}
.header_button a
{
  color: white;
}

.header_button:hover {
    background-color: #008800;
    filter: invert(0);
  cursor: pointer;
}

#content a {
color: black;
}

#homebutton
{
  position:fixed;
  right:16px;
  bottom:16px;
  height:48px;
  width:48px;
  background:rgba(240, 240, 240, 0.8);
  z-index: 1000;
  border-radius: 24px;
  border: 1px solid white
  backdrop-filter: blur(2px); /* adjust blur strength */
  -webkit-backdrop-filter: blur(2px); /* for Safari */
}

#homebutton img
{
  height:32px;
  width:32px;
  padding:8px;
}

#homebutton:hover
{
   background:#008800;
   border: #008800;
}

#homebutton img:hover
{
   filter: invert(1);
}

#navbar ul
{
   position:fixed;
   left:0px;
   bottom:0px;
   height:92px;
   width:100%;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: auto;   
   background:#333333;
}

#navbar li {
    float: left;
    padding: 0 10px;
}

#navbar a
{
    display: inline-block;
    padding: 0;
    height: 92px;
    text-decoration: none;
    text-align: center;
    color: white;
    letter-spacing: 3px;
    min-width: 48px;
    padding: 0 10px;
}
#navbar a:hover {
    background-color: #008800;
}
.active
{
    background-color: #008800;
}
#navbar p
{
    vertical-align: middle;
    line-height: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
}
#navbar img
{
    padding: 8px 0;
    height: 48px;
}



#welcome_links
{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

#welcome_links a
{
  text-decoration: none;
  color: white;
  text-align: center;
  filter: invert(1);
  padding: 0.75em;
  width: 200px
}

#welcome_links img
{
  height: 150px;
  width: 150px;
}

#welcome_links a:hover
{
  background-color: #008800;
  color: white;
  filter: none;
}

#welcome_links p
{
  margin: 0;
  padding: 0;
  font-size: 1.5em;
  letter-spacing: 3px;
  padding-top: 0.75em
}

.box {
  position: absolute;
  margin-left: -9999px;
  visibility: hidden;
}
.box + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  outline: none;
  user-select: none;
}

input.box + label {
  padding: 1px;
  width: 40px;
  height: 20px;
  border-radius: 20px;
  background-color: #dddddd;
}

input.box + label:before,
input.box + label:after {
  display: inline-block;
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  content: "";
}
input.box + label:before {
  right: 1px;
  background-color: #f1f1f1;
  border-radius: 20px;
  transition: background 0.4s;
}
input.box + label:after {
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  transition: margin 0.4s;
}
input.box:checked + label:before {
  background-color: #8ce196;
}
input.box:checked + label:after {
  margin-left: 20px;
}

.toggle
{
  padding-bottom: 10px;
}

.label
{
  display: inline-block;
  height: 20px;
  line-height: 20px;
  padding-left: 10px;
  top: -6px;
  position: relative;  
}

button
{
  height: 64px;
  min-width: 128px;
  font-size: 1.0em;
}

div.category
{
  border: 1px solid #333333;
  margin-bottom: 10px;
  border-radius: 5px 5px 0 0;
}
span.category_header
{
    background-color: #333333;
    display: block;
    line-height: 32px;
    color: white;
    padding-left: 10px;
    letter-spacing: 3px;
}


div.category_content
{
  padding: 10px;
  margin: 0;
}

#content
{
  padding: 10px;
  margin-bottom: 100px;
}

.listentry
{
  display: block;
  padding: 10px 5px;
  margin: -1px 0;
  border-top: 1px;
  border-bottom: 1px;
  border-left: 0;
  border-right: 0;
  border-color: gray;
  border-style: solid;
  text-decoration: none;
  color: #222222;
  letter-spacing: 3px;
}

.listentry:link,
.listentry:visited
{

}

.listentry:active,
.listentry:hover
{
  background-color: lightgray;
}

label.formLabel
{
  text-align: right;
  width: 100px;
  float: left;
  line-height: 1.5;
}

form.formLabelBig
{
  padding-bottom: 10px;
}

form.formLabelBig > label
{
  text-align: right;
  width: 150px;
  float: left;
  line-height: 1.5;
  padding-right: 5px;
}

form.form_with_labels > label
{
  text-align: right;
  width: 200px;
  float: left;
  line-height: 1cm;
  height: 1cm;
  vertical-align: middle;
}

form.form_with_labels > input
{
  width: 200px;
  height: 0.75cm;
  line-height: 0.5cm;
}

form.filter_with_labels > label
{
  text-align: right;
  float: left;
  line-height: 1cm;
  height: 1cm;
  padding: 0 10px;
  vertical-align: middle;
}

form.filter_with_labels > input
{
  padding: 0;
  margin: 0;
  height: 1cm;
  width: 200px;
}

input, textarea {
	margin: 0 0 1em .2em;
	padding: .2em .5em;
	background-color: #ffffff;
	border: 1px solid #333333;
  width: 90%;
  font-size: 1.0em;
}

fieldset
{
  border: 0;
}

input[type=checkbox]
{
width: auto;
}

.button
{
    border: 0;
    padding: 10px 10px;
/*    border-radius: 5px;
    background-color: rgb(150,150,150);*/
    text-decoration: none;
    color: white;
    letter-spacing: 3px;
    vertical-align: middle;
    width: 90%;
    background: none;
    font-size: 1.0em;
}


.recipeTileContainer
{
  width: 100%;
  margin-bottom: 16px;
}

.recipeImage
{
  width: 100%;
  height: 300px;
  object-fit: cover;
}

#recipeTitle
{
  font-size: 16pt;
  letter-spacing: 5pt;
  font-weight: bold;
  /* line-height: 50px; */
  vertical-align: middle;
  background-color: rgba(255, 255, 255, 0.5);
  width: 100%;
}

.recipeTitleWithImage
{
  margin-top: -50px;
}

#recipeIngredients
{
  margin-bottom: 20px;
  line-height: 150%;
  border-top: 2px;
  border-bottom: 2px;
  border-left: 0;
  border-right: 0;
  border-color: black;
  border-style: solid;
  padding: 5px 0;
  letter-spacing: 3px;
}

#recipeText
{
  line-height: 150%;
}

.icon
{
  height: 0.75cm;
  width: 0.75cm;
  background-size: 0.75cm;
  border-radius: 3px;
  border: 1px solid black;
  vertical-align: middle;
}

#recipeInfo
{
    text-align: right;
    margin-bottom: 20px;
}

#recipeOvenInfo
{
  display: inline;
}


#imgOvenType
{
height: 0.75cm;
vertical-align: middle;
}

#recipeFooter
{
  text-align: center;
  margin: 40px 0;
}

#recipeFooter img
{
  width: 2cm;
  height: 2cm;
}

.toggle-box {
  display: none;
}

.toggle-box + label {
    cursor: pointer;
    display: block;
    line-height: 1cm;
    margin-bottom: -1px;
    letter-spacing: 3px;
    background-color: #333333;
    color: white;
  border-top: 1px;
  border-bottom: 1px;
  border-left: 0;
  border-right: 0;
  border-color: gray;
  border-style: solid;
}

.toggle-box + label + div {
  display: none;
  margin-bottom: 10px;
}

.toggle-box:checked + label + div {
  display: block;
}

.toggle-box + label:before {
    content: "+";
    display: block;
    float: left;
    font-weight: lighter;
    /* height: 1cm; */
    /* line-height: 1cm; */
    margin-right: 5px;
    text-align: center;
    width: 1cm;
    font-size: 20px;
}

.toggle-box:checked + label:before {
  content: "\2212";
}

#content .button
{
    border: 0;
    padding: 10px 10px;
    border-radius: 5px;
    background-color: #333333;
    text-decoration: none;
    color: white;
    letter-spacing: 3px;
    vertical-align: middle;
    width: 90%;
    font-size: 1.0em;
}

#content .iconButton
{
    border: 0;
    border-radius: 5px;
    background-color: #333333;
    text-decoration: none;
    color: white;
    letter-spacing: 3px;
    vertical-align: middle;
    height: 15mm;
    min-width: 15mm; 
    font-size: 1.0em;
}

#content .iconEdit
{
  height: 15mm;
  min-width: 15mm; 
  padding: 0 10px;
  width: 15mm;
}

.hidden
{
  visibility: hidden;
  height: 0;
}

table
{
  /* border: 1px solid black; */
}

.centered
{
  margin: 0 auto;
}

tr
{
  /* border: 1px solid black; */
}
td
{
  /* border: 1px solid black; */
  line-height: 10mm;
  min-width: 100px;
  vertical-align: middle;
}

td.rightAligned
{
  text-align: right;
}

td, input
{
  line-height: 10mm;
  margin: auto 0;
}

.center
{
  text-align: center;
}

.success_indicator img
{
  height: 64px;
  width: 64px;
  float: left;
}

.success_indicator p
{
  line-height: 64px;
  margin-left: 80px;
  font-size: 1.5em;
  letter-spacing: 3px;
}
