/*https://www.smashingmagazine.com/2024/05/modern-css-layouts-no-framework-needed/*/


  /**
* Schloms Process Standard CSS
* @author Simon Scheuer
* @version 0.1
*/

@layer reset, theme, layout, design;


@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  body {
    margin: 0;
  }
    /* ============================ RESET ============================ */

    /* ===== Eric Meyer Reset ===== */

    /* http://meyerweb.com/eric/tools/css/reset/
    v2.0 | 20110126
    License: none (public domain)
    */

    html, body, div, span, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    b, u, i, center,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td,
    article, aside, canvas, details, embed,
    figure, figcaption, footer, header, hgroup,
    menu, nav, output, ruby, section, summary,
    time, mark, audio, video {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 100%;
        font: inherit;
        vertical-align: baseline;
    }
    input, label{
      color: #8a8787;
    }
    /* HTML5 display-role reset for older browsers */
    article, aside, details, figcaption, figure,
    footer, header, hgroup, menu, nav, section {
        display: block;
    }
    body {
        line-height: 1;
    }
    ol, ul {
        list-style: none;
    }
    blockquote, q {
        quotes: none;
    }
    blockquote:before, blockquote:after,
    q:before, q:after {
        content: '';
        content: none;
    }
    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    /* ===== CUSTOM RESET ===== */

    object{outline:none; display:block; overflow:hidden} /* force redraw on IE8, fix outline/scroll bug on Firefox 3.6, remove unnecessary margin (copied from swffit)  */
    textarea{overflow:auto} /* fix IE */
    iframe{border:0}

    /* fix line-height [https://gist.github.com/413930] */
    sup, sub{line-height:0; font-size:.75em; position:relative; vertical-align:baseline}
    sup{top:-0.5em}
    sub{bottom:-0.25em}

}




@layer theme {
  :root {
    --layout-fluid-min: 35ch;
    --layout-default-repeat: 3;
    --layout-default-gap: 3vmax;
  }

  /* ====================== STRUCTURE/CONTENT ====================== */
  body {
    position:absolute;
    height: 100%;
    width:100%;
    min-width: 1000px;

    background-color:#111217 !important;

    font-family:Inter,Helvetica,Arial,sans-serif;
    font-size: 1rem;
    line-height: 1.57143;
    font-weight: 400;
  }
 #wrapper {
    overflow: hidden;
    height: 93vh; /* NEU: Setzt die Höhe auf 100% der Bildschirmhöhe */
}

#content {
    background-color: rgb(24, 27, 31) !important;
    box-sizing: border-box; /* Geändert von 'inherit' für bessere Kontrolle */
    color: #ccccdc;
    
    /* --- NEUE FLEXBOX-REGELN --- */
    display: flex;             /* Macht #content zu einem Flex-Container */
    flex-direction: column;    /* Ordnet die Kinder (iframe, topnav) untereinander an */
    height: 100%;              /* Füllt die gesamte Höhe von #wrapper */
}
#content iframe {
    flex-grow: 1;  /* Lässt den iframe wachsen und den gesamten freien Platz einnehmen */
    border: none;  /* Entfernt den alten frameBorder-Stil sauber */
}

  section {
    padding: 5px !important;
  }

  .boxes{
    border: 1px solid;
    padding: 5px 5px 5px 8px;
  }

}

@layer design {
      /*-----------Virtual Keyboard Overwrite*/
      #KioskBoard-VirtualKeyboard{
        max-width: 350px !important;
      }


      /* ----------Ausschuss-----------*/
      .pagecontent{
        padding: 10px;
      }
      .orderinfo{
        padding: 10px;

        --grid-repeat: 2;
        --grid-gap: 15px; /*2vw*/
    
      }
      .orderinfo div{
        height: 40px;
        background-color: #333;
        border-radius: 0.5em;
      }
      .orderinfo div{
        position: relative;
        display: table-cell;
        vertical-align: middle;
        padding-left: 10px;
        font-size: 15px;
        font-weight: 800;
      }

      /*Reject Count Selection*/
      .rejectnumber{
        width: 100%;
      }
      .gridbox {
        --grid-repeat: 8;
        --grid-gap: 1vw;
      
        @media (width >= 1050px) {
          --grid-repeat: 10;
          --grid-gap: 1vw;
        }
      }
      .gridbox div {
        height: 50px;
      }
      .gridbox div label, input[type=text] {
        line-height: 50px;
      }

      input[type=text]{
        font-weight: 700 !important;
        color: #8a8787 !important; 
      }
      input[type=text]:focus {
        background: #4CAF50 !important;
        color: white !important;
        box-shadow: none;
      }

      input[type="radio"] {
        /* Add if not using autoprefixer */
        -webkit-appearance: none;
        appearance: none;
        /* For iOS < 15 to remove gradient background */
        background-color: #fff;
        /* Not removed via appearance */
        margin: 0;
      }
      
      input[type="radio"] + label, input[type=text] {
        cursor: pointer;
        border: 1px solid #8a8787;
        border-radius: 0.5em;
        background-color: #E9E9ED;
        font-size: large;
        text-align: center;
        width: 100%;
        height: 100%;
      }
       
      input:checked + label, .input_checked{
        background: #4CAF50 !important;
        color: white !important;
      }

      input:hover + label, input[type=text]:hover{
        background: #ddd; 
        color: black !important;
        text-decoration: none !important;
      }

      /*------Reject Reason Selection------*/
      /*Standard Definition in Reject Count*/
      .toggle-reasons{
        --grid-repeat: 3;
        --grid-gap: 1vw;
      
        @media (width >= 1050px) {
          --grid-repeat: 4;
          --grid-gap: 1vw;
        }
      }
      .toggle-reasons div {
        height: 45px;
        vertical-align: middle;
      }
      .toggle-reasons div label {
        line-height: 45px;
      }

      .show_ordernr{
        --grid-repeat: 4;
        --grid-gap: 1vw;
      
        @media (width >= 1050px) {
          --grid-repeat: 5;
          --grid-gap: 1vw;
        }}
      .show_ordernr div {
          height: 45px;
          vertical-align: middle;
        }
      .show_ordernr div label {
         line-height: 45px;
      }

      /*------Reject Article Overview------*/
      /*Standard Definition in Reject Count*/
      .articleinfo{
        --grid-repeat: 2;
        --grid-gap: 1vw;
      
        @media (width >= 1050px) {
          --grid-repeat: 3;
          --grid-gap: 1vw;
        }}
      
       .articleinfo div{
          background-color: #E9E9ED;
          color: #5e5b5b; 
          border-radius: 0.5em;
          position: relative;
          cursor: pointer;
        }
      .articleinfo div div{
          display: block;
          width: 230px;
          height: 230px;
          float: left;
          padding-top: 15px;

          
          @media (width >= 1050px) {
            position: relative;
            width: 230px;
            height: 250px;
            float: none;
            /*padding-top: 20px; */
            margin: 10px auto;
            text-align: center;
          }
        }
      .articleinfo div div div{
          padding-top: 5px;
          height: initial;
          margin: initial;
        }
      .articlepic {
          padding-left: 10px !important;
          width: 200px;
          height: 200px;
          float: left;

          @media (width >= 1050px) {
            width: 100% !important;
            text-align: center;
            height: 250px !important;
            float: none;
            padding-top: 10px !important; 
          }
        }
        .articlepic img{
          height: 200px;
          width: 200px;

          @media (width >= 1050px) {
            height: 250px;
            width: 250px;
          }
        }
        .article_reject_no{
          width: 95% !important;
          position: relative;
          height: 30px !important; 
          margin-left: 10px;
          /*margin-right: 10px !important;*/
          margin-bottom: 10px !important;
          padding-top: 0px !important;
          padding-left: 10px !important;

          background-color: #5e5b5b !important; 

          @media (width >= 1050px) {
            position: relative;
            width: 230px;
            height: 250px;
            float: none;
            /*padding-top: 20px; */
            margin: 10px auto;
            text-align: center;
          }
        }
        .article_reject_no div{
          display: table-cell !important;
          vertical-align: middle !important;
          float: none !important;
          color: #E9E9ED !important;
          background-color:initial!important;
          font-weight: 600; 
        }

      /*-----Reject Overlay-----*/

      #reject-overlay{
        position: absolute;
        margin: 0px;
        width: 100%;
        height: 100%;
        z-index: 99;
      }
      #opac_overlay{
        position: absolute;
        margin: 0px;
        width: 100%;
        height: 100%;
        z-index: 90;
        background: grey;
        opacity: 0.8;
      }
      #reject-middle{
        background: #fff;
        /*padding: 50px;*/
        position: relative;
        margin: 150px auto;
        width: 250px;
        height: 150px;
      }
      #reject-text {
        text-align: center;
        padding-top:15%;
        width: 100%;
        height: 90%;
        margin: 0 auto;
        font-size: 20px;
        font-weight: 300;
        color: #202020;
      }
      #timer{
        text-align: center;
        padding-top:0px;
        width: 100%;
        height: 10%;
        margin: 0 auto;
        font-size: 20px;
        font-weight: 300;
        color: #202020;
      }

      /*-----Reject Article Overlay-----*/

      #reject_article_overlay{
        position: absolute;
        margin: 0px;
        width: 100%;
        height: 100%;
        z-index: 91;
      }
      #reject_article_middle{
        background: #fff;
        /*padding: 50px;*/
        position: relative;
        margin: 3% auto;
        width: 95%;
        height: 85%;
      }
      #reject_article_text {
        text-align: center;
        width: 100%;
        height: 90%;
        margin: 0 auto;
        font-size: 20px;
        font-weight: 300;
        color: #202020;
      }
      #timer{
        text-align: center;
        padding-top:0px;
        width: 100%;
        height: 10%;
        margin: 0 auto;
        font-size: 20px;
        font-weight: 300;
        color: #202020;
      }

      #btn_article_overlay_save {
        position: absolute;
        float:right;
        margin-right: 0px;
        margin-left: 80%;
        display: table;
        width: 20%;
        height: 50px;
        font-weight: 600;
        font-size: 16px;
        color: #fff;
        text-align: center;
        background-color: #4CAF50 ;
        border-top-left-radius: 0.5em;
        bottom: 0px;
        cursor: pointer;
      }
      #btn_article_overlay_save h2{
        display: table-cell;
        vertical-align: middle;
      }

      #customcount_article.input_checked{
        color: white !important;
      }
      .orderinfo_article{
        padding: 10px;

        --grid-repeat: 2;
        --grid-gap: 2vw;
    
      }
      .orderinfo_article div{
        height: 40px;
        background-color: #333;
        border-radius: 0.5em;
        color: white;
      }
      .orderinfo_article div{
        position: relative;
        display: table-cell;
        vertical-align: middle;
        padding-left: 10px;
        font-size: 15px;
        font-weight: 800;
      }
      /* ----------Job Page-----------*/
      .orderinput{
        --grid-repeat: 3;
        --grid-gap: 15px;
      }
      .orderinput div{
        height: 40px;
        background-color: #333;
        border-radius: 0.5em;
        color: white;
      }
      .orderinput div div{
        width: 100%;
        background-color: initial;
        position: relative;
        display: table-cell;
        vertical-align: middle;
        padding-left: 15px;
        font-size: 15px;
        font-weight: 800;
      }
      .div_blank {
        background-color: transparent !important;
      }
      #barcode{
        height: 30px;
        width: 100%;
        text-align: left;
        padding-left: 15px;
      }


      /* ----------Navigation-----------*/
    
      .anlage {
        width: 100%;
        height: 90%;
        display: flex;
        flex-direction: row;
      }
      .topnav {
        background-color: #333;
        overflow: hidden;
        position: fixed;
        bottom: 0;
        width: 100%;
      }
    
      .topnav button {
        float: left !important;
        color: #8a8787 !important; 
        text-align: center !important;
        padding: 20px 25px !important;
        text-decoration: none !important;
        font-size: 18px !important;
        border: none;
      }
    
      .topnav button:hover {
        background-color: #ddd !important;
        color: black !important;
        text-decoration: none !important;
      }
    
      .topnav button.active {
        background-color: #4CAF50 !important;
        color: white !important;
      }
    
      #btn_logo {
        background-image: url("../img/logo_spro70.png");
        /*background-color: #000;*/
        height: 65px;
        width: 200px;
        float:right;
        cursor: pointer;
      }
      /* ----------Produktion-----------*/
      .showtable{
        width: 100%;
      }
      .showtable tr {
        height: 40px;
      }
      .showtable tr td{
        font-size: 18px;
        text-align: right;
        padding-right: 20px !important;
      }
      .showtable tr td input{
        height: 35px;
        font-weight: 600;
        color: #000;
        width: 100%;
      }
      html input[disabled]:hover{
        color: #8a8787 !important;
        background: #E9E9ED !important;
      }
      .hover_none:hover{
        color: initial;
        background: initial;
      }
      .greybox div{
        padding: 10px;
        background-color: #333;
        border-radius: 0.5em;
        color: white;
      }
    
      /* ----------Company Overlay-----------*/
      iframe{
        z-index:1;
      }
      #company-overlay{
        position: absolute;
        margin: 0px;
        width: 100%;
        height: 100%;
        background: none;
        z-index: 99;
      }
      #company-middle{
        background: #fff;
        /*padding: 50px;*/
        position: relative;
        margin: 30px auto;
        width: 800px;
        height: 550px;

        @media (width <= 1050px) {
          width: 600px;
          height: 500px;
        }
      }
      #overlay_logo {
        position: relative;
        background-image: url("../img/logo_spro.png");
        margin: 0px auto;
        top: 20px;
        height: 188px;
        width: 533px;

        @media (width <= 1050px) {
          height: 141px;
          width: 400px;
          background-size: 400px;
        }
      }
      #company-text {
        padding: 30px 10px;
        width: 300px;
        margin: 0 auto;
        font-size: 20px;
        font-weight: 300;
        color: #202020;
      }
      .btn_overlay_close {
        position: absolute;
        display: table;
        height: 80px;
        font-weight: 600;
        font-size: 18px;
        background-color: #79232f;
        color: #fff;
        text-align: center;
        bottom: 0px;
        cursor: pointer;
      }
      .btn_h50 {
        width: 100%;
        height: 50px;
        font-weight: 600;
        font-size: 16px;
      }
    
      .btn_overlay_full{
        width: 100%;
      }
      .btn_overlay_left{
        width: 20%;
        height: 50px;
        font-weight: 600;
        font-size: 16px;
        border-top-right-radius: 0.5em;
      }

      .btn_overlay_close h2{
        display: table-cell;
        vertical-align: middle;
      }

      /* ----------Selector field-----------*/
    
      .select2-container--default{
        min-width: 250px;
        
      }
      .select2-selection{
        color: #ccccdc !important;
        background: rgb(17, 18, 23) !important;
      }
      .select2-results__options{
        max-height: 400px !important;
        color: #ccccdc;
        background: rgb(17, 18, 23);
      }
      .select2-selection__rendered{
        color: #ccccdc !important;
      }
      .select2-results__option[aria-selected="true"]{
        color: #000;
      }
}

@layer layout {
  /* Repeating grid and flexbox */

  .repeating-grid {
    --_grid-repeat: var(--grid-repeat, var(--layout-default-repeat)) !important;
    --_repeating-grid-gap: var(--grid-gap, var(--layout-default-gap)) !important;
    display: grid !important;
    grid-template-columns: repeat(var(--_grid-repeat), 1fr) !important;
    gap: var(--_repeating-grid-gap) !important;
  }

  .repeating-flex {
    --_flex-repeat: var(--flex-repeat, var(--layout-default-repeat));
    --_repeating-flex-gap: var(--flex-gap, var(--layout-default-gap));
    --_gap-count: calc(var(--_flex-repeat) - 1);
    --_gap-repeater-calc: calc(
      var(--_repeating-flex-gap) / var(--_flex-repeat) * var(--_gap-count)
    );
    
    display: flex;
    flex-wrap: wrap;
    gap: var(--_repeating-flex-gap);
    > * {
      flex: 1 1 calc((100% / var(--_flex-repeat)) - var(--_gap-repeater-calc));
    }
  }

  /* Fluid grid and flexbox */
  .fluid-grid {
    --_fluid-grid-min: var(--fluid-grid-min, var(--layout-fluid-min));
    --_fluid-grid-gap: var(--grid-gap, var(--layout-default-gap));

    display: grid;
    grid-template-columns: repeat(
      auto-fit,
      minmax(min(var(--_fluid-grid-min), 100%), 1fr)
    );
    gap: var(--_fluid-grid-gap);
  }

  .fluid-flex {
    --_fluid-flex-min: var(--fluid-flex-min, var(--layout-fluid-min));
    --_fluid-flex-gap: var(--flex-gap, var(--layout-default-gap));

    display: flex;
    flex-wrap: wrap;
    gap: var(--_fluid-flex-gap);
    > * {
      flex: 1 1 var(--_fluid-flex-min);
    }
  }

  /* Subgrid utility */
  .subgrid-rows {
    &:has(> :nth-child(1):last-child) {
      --_subgrid-rows: 1;
    }
    &:has(> :nth-child(2):last-child) {
      --_subgrid-rows: 2;
    }
    &:has(> :nth-child(3):last-child) {
      --_subgrid-rows: 3;
    }
    &:has(> :nth-child(4):last-child) {
      --_subgrid-rows: 4;
    }

    > * {
      display: grid;
      gap: var(--subgrid-gap, 0);
      grid-row: auto / span var(--subgrid-rows, var(--_subgrid-rows, 5));
      grid-template-rows: subgrid;
    }
  }

  :is(.fluid-grid:not(.subgrid-rows), .repeating-grid:not(.subgrid-rows), .repeating-flex, .fluid-flex)
    > * {
    container: var(--grid-item-container, grid-item) / inline-size;
  }

}
