@media screen, projection
{

  .w3-theme-l5 {color:#000 !important; background-color:#f4fbf4 !important}
  .w3-theme-l4 {color:#000 !important; background-color:#d9f1da !important}
  .w3-theme-l3 {color:#000 !important; background-color:#b3e3b5 !important}
  .w3-theme-l2 {color:#000 !important; background-color:#8dd591 !important}
  .w3-theme-l1 {color:#fff !important; background-color:#67c76c !important}
  .w3-theme-d1 {color:#fff !important; background-color:#3da442 !important}
  .w3-theme-d2 {color:#fff !important; background-color:#36923b !important}
  .w3-theme-d3 {color:#fff !important; background-color:#2f8033 !important}
  .w3-theme-d4 {color:#fff !important; background-color:#286d2c !important}
  .w3-theme-d5 {color:#fff !important; background-color:#225b25 !important}

  .w3-theme-light {color:#000 !important; background-color:#f4fbf4 !important}
  .w3-theme-dark {color:#fff !important; background-color:#225b25 !important}
  .w3-theme-action {color:#fff !important; background-color:#225b25 !important}

  .w3-theme {color:#fff !important; background-color:#00509D !important}
  .w3-text-theme {color:#00509D !important}
  .w3-border-theme {border-color:#00509D !important}

  .w3-hover-theme:hover {color:#fff !important; background-color:#00509D !important}
  .w3-hover-text-theme {color:#00509D !important}
  .w3-hover-border-theme:hover {border-color:#00509D !important}

  .w3-card {max-width:100%;}

  .noscreen,
  .hide
  {
    display:none;
  }

  *
  {
    font-size: 100.01%;
  }

  a
  {
    color: #c3a75e;
    text-decoration: underline;
  }
  a:hover
  {
    color: #ffffff;
    text-decoration: underline;
  }

  hr
  {
    margin: 10px 0;
    border-top:1px solid #888;
  }

  :focus
  {
    outline: 0;
  }

  .tooltip_icon
  {
    width: 12px;
    height: 12px;
    display: inline-block;
    background-image: url('/images/icon_tooltip.png');
  }

  html, body
  {
    min-height: 100%;
    height: 100%;
  }

  body
  {
    padding: 0px;
    margin: 0px;  
    background-color: #444;  
    font-family: Verdana, sans-serif;
    font-size: 14px;
    color: #c3a75e;
  }

  h2, h3, h4, h5, h6
  {
    font-family: Verdana, sans-serif;
    font-weight: bold;
    color: #00296B;
  }

  #container
  {
    display: flex;
    height: 100vh;
    overflow: visible;
  }

  #logo_desktop
  {
    padding: 14px 10px;
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    background-color: #00509D;
    text-align: center;
    letter-spacing: .2rem;
  }
  #logo_desktop img
  {
    max-width: 100%;
  }

}

  #main
  {
    background-image: url('/images/spotbg-light.svg'), linear-gradient(90deg, #000000 0%, #2E3A59 100%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex: 1;  
    overflow-y: auto;
    overflow-x: hidden;    vertical-align: top;
    padding: 0px 0 30px 0;
    position: relative;
    max-width: 1024px;
    min-height: 100%;
    margin: 0 auto !important;
    box-sizing: border-box;
  }

  #content
  {
    padding: 30px 20px 80px;
    position: relative;
  }

  #header
  {
    max-width: 1024px;
    z-index: 8000;
    padding: 5px 20px;
    position: sticky;
    top: 0px;
    background-color: #0a1c38; /* Matches the #main background */
    width: 100%;
    box-sizing: border-box;  
    border-bottom: 1px solid #c3a75e;
    margin: 0 auto;
  }

  #navigation
  {
    display: none;
    position: absolute;
    top: 0;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba( 0,0,0,0.7 );
    z-index: 9000;
    & ul
    {
      list-style: none;
      padding: 0;
      margin: 0;
      & a, & a:hover
      {
        border-top: 1px solid #0a1c38;
      }
      & a:hover
      {
        background-color: #0a1c38;
        color: white;
      }
    }
    & a
    {
      color: #0a1c38;
      text-decoration: none;
      display:block;
      padding: 15px 20px;
      font-size: 1.4em;
      font-weight: bold;
    }

  }

  #footer
  {
    margin-top: 60px;
    & a, & a:hover
    {
      color: #fff;
    }
  }
  #sticky_footer
  {
    position: fixed;
    bottom: 0px;
    width: 100%;
    margin: 0 -20px;
    max-width: 1024px;
    margin: 0 auto;
    border-top: 1px solid;
    padding-top: 5px;
    color: #c3a75e;
    background-color: #0a1c38;
    & table 
    {
      width: 100%;
      border-spacing: 0;
      & td
      {
        text-align: center;
        padding: 8px 2px;
        & a, & a:hover
        {
          font-size: 0.85em;
          color: #b6b6b6;
          text-decoration: none;
          & i
          {
            color: #c3a75e;
          }
        }
      }
    }
  }
  @supports (-webkit-touch-callout: none) 
  {
    #sticky_footer 
    {
      padding-bottom: 10px; /* Additional bottom padding for iOS */
    }
  }

  .auftraege_container
  {
    & details
    {
      margin-bottom: 15px;
    }
  }


  .news_container
  {
    color:#b6b6b6; 
    margin: 25px 0 35px;
  }

  .auftraege_container
  {
    & details
    {
      & summary
      {
        display:list-item;
        background-color: #c3a75e;
        border-radius: 8px;
        color: #000;
        font-weight: bold;
        font-size: 1.1em;
        padding: 5px;
        cursor: pointer;
      }
      .news_details,
      .auftraege_details
      {
        padding: 15px;
        background-color: #ddd;
        color: #000;
        border-radius: 5px;
      }
    }
  }

  h1, h2, h3
  {
    color: #ffffff;
  }

  h1
  {
    font-size: 26px;
    text-align: center;
  }

  h2
  {
    font-size: 20px;
    margin: 15px 0 10px 0;
  }

  h3
  {
    font-size: 18px;
    margin: 0 0 15px;
  }

  div.loading
  {
    padding: 25px;
    text-align: center;
    font-size:3em;
    color:#dddddd;
  }

  #customer_table 
  {
    border-collapse: collapse;
    width: 100%;
  }
  #customer_table th, #customer_table td 
  {
    padding: 8px;
    text-align: left;
  }

  .product_item
  {
    .product_item_content
    {
      border-radius: 5px;
    }
    .product_item_content.gold
    {
      background-color: #c3a75e;
    }
    .product_item_content.silber
    {
      background-color: silver;
    }
    .product_item_content.platin
    {
      background-color: #eeeeee;
    }
    & table
    {
      width: 100%;
      color: black;
      td
      {
        padding: 8px;
        font-size:12px;
      }
    }
  }

  .dialog_error_message
  {
    margin: 15px 0px;
    padding: 8px;
	  font-size: 1.2em;
    font-weight: normal;
    color: #cc0000;
    border: solid 1px #ee0000;
    background: #ffffff
  }

  .dialog_warning_message
  {
    margin: 15px 0px;
    padding: 8px;
	  font-size: 1.2em;
    font-weight: normal;
    color: #ee7700;
    border: solid 1px #ee7700;
    background: #ffffff
  }

  .dialog_success_message
  {
    margin: 15px 0px;
    padding: 8px;
  	font-size: 1.2em;
    font-weight: normal;
    color: green;
    border: solid 1px green;
    background: #ffffff
  }

  fieldset
  {
    border:none;
    padding: 20px;
    margin: 0 0 20px;
    background: #ffffff;
    border-radius: 8px;
    color: black;
    & h1
    {
      display: block;
      margin: -20px -20px 15px;
      padding: 15px 20px;
      background-color: #c3a75e;
      border-top-left-radius: 8px;
      border-top-right-radius: 8px;
      color: white;
      text-align: center;
    }
    & label,
    & p, & a, & a:hover
    {
      color: #000;
    }
    & fieldset
    {
      padding: 10px;
      background-color: #eeeeee;
      border: 1px solid #0a1c38;
      & legend
      {
        background-color: #0a1c38;
        color: white;
        font-weight: bold;
        padding: 4px 8px;
        border-radius: 8px;
      }
    }
  }

  select:required,
  input:required,
  textarea:required
  {
    margin-bottom: 13px !important;
  }
  input[type=text],
  input[type=password],
  input[type=email],
  input[type=date],
  input[type=time],
  input[type=datetime],
  input[type=number],
  input[type=tel],
  input[type=url],
  input[type=month],
  input[type=week],
  input[type=search],
  input[type=file],
  textarea,
  select
  {
    background-color: #f6f6f6;
    box-sizing: border-box;
    display: block;
    font-size: 14px;
    border: solid 1px #888;
    padding: 5px 8px;
    width: 100%;
    max-width: 100%;
    margin-bottom: 25px !important;
    border-radius: 5px;
    max-width: 100%;
/*    float:left;*/
  }

  /* Fix for iOS date input width */
  input[type="date"] 
  {
    width: 100% !important;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    max-width: 100%;
    min-width: 0;
    /* Add height fix for iOS */
    min-height: 34px; /* Match the height of other input fields */
    line-height: 1.2;
    padding: 5px 8px; /* Ensure consistent padding */
  }

  /* Additional iOS-specific fixes */
  @supports (-webkit-touch-callout: none) 
  {
    input[type="date"] 
    {
      width: 100% !important;
      min-width: 0 !important;
      flex-shrink: 1;
      /* iOS-specific height fixes */
      min-height: 34px !important;
      height: auto;
      -webkit-appearance: none;
      background-color: #f6f6f6; /* Match other inputs */
    }
  }  

  input[readonly],
  input[readonly=""],
  input[readonly="readonly"],
  input[disabled],
  input[disabled=""],
  input[disabled="disabled"]
  {
    background-color: #ccc !important;
    color: #222;
    border: solid 1px #aaa;
  }  

  /* Checkbox and Radio Button Label Alignment */
  input[type="checkbox"],
  input[type="radio"] {
    display: inline-block;
    vertical-align: top;
    margin-right: 6px;
    margin-top: 2px;
    width: auto;
    flex-shrink: 0;
  }

  /* Container for checkbox/radio with label */
  .checkbox-container,
  .radio-container,
  label:has(input[type="checkbox"]),
  label:has(input[type="radio"]) {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2px;
    gap: 6px;
  }

  /* Label text styling */
  .checkbox-container span,
  .radio-container span,
  label:has(input[type="checkbox"]) span,
  label:has(input[type="radio"]) span {
    flex: 1;
    line-height: 1.2;
  }

  input[type=submit],
  input[type=button],
  button[type=submit],
  a.button,
  button.button
  {
    display: block;
    box-sizing: border-box;
    font-size: 1.2em;
    background-color: #c3a75e;
    color: white;
    border-style: none;
    border-radius: 18px;
    padding: 8px 16px;
    margin: 10px 10px 10px 0;
    text-decoration: none;
    text-align: center;
    width: 100% !important;
    margin-bottom: 15px;
  }
  input[type=submit]:hover,
  input[type=button]:hover,
  button[type=submit]:hover,
  a.button:hover,
  button.button:hover
  {
    background-color: #c3a75e;
    color: #ffffff;
    text-decoration: none;
  }
  input.count,
  input.area,
  input.yield,
  input.currency,
  input.percent,
  input.weight
  {
    text-align: right !important;
    max-width: 120px;
  }
  input.date,
  input.time
  {
    max-width: 120px;
  }

  input.error
  {
    border: 1px solid #cc0000;
  }

  div.required input[type=text],
  div.required input[type=password],
  div.required textarea,
  div.required select
  {
    border-bottom: solid 3px #333333;
  }
  .input_error
  {
    margin:6px 0 0 8px;
    color:#cc0000;
    padding-bottom: 10px;
    font-size: 14px;
  }

  ul.tabs
  {
    margin: 0;
    padding: 0;
    border-bottom: solid 3px #c3a75e;
    overflow: hidden;
  }
  ul.tabs li
  {
    float: left;
    list-style: outside none none;
    margin-right: 15px;
  }
  ul.tabs li.controls
  {
    float: right;
  }
  ul.tabs li a
  {
    background-color: #eeeeee;
    padding: 8px 16px;
    display: inline-block;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    outline: 0 none;
    text-decoration: none;
    color: #000;
    font-weight: bold;
  }
  ul.tabs li a:hover
  {
    color: #ffffff;
    background-color: #c3a75e;
  }
  ul.tabs li.active a
  {
    background-color: #c3a75e;
    color: #ffffff;
    pointer-events: none;
  }
  div.tabscontent
  {
    padding-top: 15px;
  }



@media (max-width: 400px)
{
  body
  {
    font-size: 12px;
  }
}

@media (max-width: 300px)
{
  body
  {
    font-size: 10px;
  }
}

@media print
{
  .noprint,
  #searchForm
  {
   display: none;
  }
}