@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css');

:root {
  --gridcols: 12;
  --unacol: calc(100% / var(--gridcols)) ;
  --border-radius:  5px;
  --border-width: 1px;
  --border-color: #AAA;
  --border-style:  solid;

  --bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #FFF;  

  --bg-element_1:#c8d1e7;
}


html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html {
    box-sizing: border-box
}

*,::after,::before {
    box-sizing: inherit
}







body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

input,span,select,button,label{
  font-size: var(--bs-body-font-size);
  line-height: var(--bs-body-line-height);
}





/* ----------
  T A B S
-------------  */

.responsive-tabs {
    margin-top: 5px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.responsive-tabs .state {
    -position: absolute;
    -left: -10000px;
    display: none;
}

.responsive-tabs .flex-tabs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.responsive-tabs .flex-tabs .tab {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-height: 40px;
}

.responsive-tabs .flex-tabs .panel {
    background-color: #fff;
    padding: 0px;
    min-height: 300px;
    display: none;
    width: 100%;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

.responsive-tabs .tab {
    display: inline-block;
    padding: 10px;
    vertical-align: top;
    background-color: #eee;
    cursor: hand;
    cursor: pointer;
    border-left: 10px solid #ccc;
}

.responsive-tabs .tab:hover { background-color: #fff; }

/*
#tab-one:checked ~ .tabs #tab-one-label, #tab-two:checked ~ .tabs #tab-two-label, #tab-three:checked ~ .tabs #tab-three-label, #tab-four:checked ~ .tabs #tab-four-label {
    background-color: #fff;
    cursor: default;
    -border-left-color: #69be28;
}
#tab-one:checked ~ .tabs #tab-one-panel, #tab-two:checked ~ .tabs #tab-two-panel, #tab-three:checked ~ .tabs #tab-three-panel, #tab-four:checked ~ .tabs #tab-four-panel { display: block; }
*/

.responsive-tabs .flex-tabs .tab{
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: #ddd 1px solid;
}

.responsive-tabs .flex-tabs .tab:not(:nth-last-of-type(1)){
  margin-right: 5px;
}


@media (max-width: 768px) {
  .responsive-tabs .flex-tabs .tab span{
    display: none;
  }
}









@media (max-width: 320px) {

        .responsive-tabs .flex-tabs .tab span{
          display: unset;
        }

        .responsive-tabs .flex-tabs {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
        }

        .responsive-tabs .flex-tabs .tab:not(:nth-last-of-type(1)){
          margin-right: unset;
        }


        .responsive-tabs .flex-tabs .tab {
          background: #DDD;
          border-bottom: 1px solid #ccc;
          border-top: 0px;
          border-left:unset;
          border-right:unset;
          border-radius: unset;
        }

        .responsive-tabs .flex-tabs .tab:last-of-type { border-bottom: none; }

        .flex-tabs #tab-one-label {
          -webkit-box-ordinal-group: 2;
          -webkit-order: 1;
          -ms-flex-order: 1;
          order: 1;
        }

        .flex-tabs #tab-two-label {
          -webkit-box-ordinal-group: 4;
          -webkit-order: 3;
          -ms-flex-order: 3;
          order: 3;
        }

        .flex-tabs #tab-three-label {
          -webkit-box-ordinal-group: 6;
          -webkit-order: 5;
          -ms-flex-order: 5;
          order: 5;
        }

        .flex-tabs #tab-four-label {
          -webkit-box-ordinal-group: 8;
          -webkit-order: 7;
          -ms-flex-order: 7;
          order: 7;
        }

        .flex-tabs #tab-one-panel {
          -webkit-box-ordinal-group: 3;
          -webkit-order: 2;
          -ms-flex-order: 2;
          order: 2;
        }

        .flex-tabs #tab-two-panel {
          -webkit-box-ordinal-group: 5;
          -webkit-order: 4;
          -ms-flex-order: 4;
          order: 4;
        }

        .flex-tabs #tab-three-panel {
          -webkit-box-ordinal-group: 7;
          -webkit-order: 6;
          -ms-flex-order: 6;
          order: 6;
        }

        .flex-tabs #tab-four-panel {
          -webkit-box-ordinal-group: 9;
          -webkit-order: 8;
          -ms-flex-order: 8;
          order: 8;
        }

        #tab-one:checked ~ .tabs #tab-one-label,
        #tab-two:checked ~ .tabs #tab-two-label,
        #tab-three:checked ~ .tabs #tab-three-label,
        #tab-four:checked ~ .tabs #tab-four-label { 
          border-bottom: none;
          background-color: #FFF;
        }

        #tab-one:checked ~ .tabs #tab-one-panel,
        #tab-two:checked ~ .tabs #tab-two-panel,
        #tab-three:checked ~ .tabs #tab-three-panel,
        #tab-four:checked ~ .tabs #tab-four-panel {
          border-bottom: 1px solid #ccc;
        }
}

/* ---------------
  E N D   T A B S
------------------  */











/* ---------------------------
    F O R M S
------------------------------ */
 .form-group {
   display: flex;
   flex-direction: row;
 }

 .form-group button{
    cursor: pointer;
 }
 .form-group span{
  cursor: default;
 }
 .form-group .form-label{
    color: #999;
 }
 
 .form-group label {
   flex: none;
   display: block;
   -width: 125px;
   font-weight: bold;
   font-size: 1em;
   margin-bottom: 5px;
 }
/*
 .form-group label.right-inline {
   text-align: right;  
   padding-right: 8px;
   padding-left: 10px;
   width: auto;
 }
*/
 .form-group .input-control {
   flex: 1 1 auto;
   display: block;
   margin-bottom: 10px;
   margin-right: 5px;
   padding: 4px;
   margin-top: -4px;
   width: 100%;
   border-radius: var(--border-radius);
   border-width:  var(--border-width);
   border-color:  var(--border-color);
   border-style:  var(--border-style);
   white-space: nowrap;
   -line-height: 1rem;
 }

 .form-group .input-control-text {
   flex: 1 1 auto;
   display: block;
   margin-bottom: 10px;
   margin-right: 5px;
   margin-left: -1px;
   padding: 4px;
   margin-top: -4px;
   width: 100%;
   border-radius: var(--border-radius);
   border-width:  var(--border-width);
   border-color:  var(--border-color);
   border-style:  var(--border-style);
   white-space: nowrap;
   -line-height: 1rem;
   background-color: #DDD;
 }




.size-sm *{
  font-size: 0.75rem;
  line-height: 0.75rem;
}
.size-lg *{
  font-size: 1.25rem;
  line-height: 1.5rem;
}
.size-xlg *{
  font-size: 1.5rem;
  line-height: 1.75rem;
}



 /*
 .form-group .input-control-after {
   flex: 1 1 auto;
   display: block;
   padding: 4px;
   width: 100%;
 }

 -button {
   padding: 5px 15px;
   -margin-left: 5px;
   -margin-right: 0px;
   -min-width: 50px;
 }
 */


 @media (max-width: 768px) {
       .form-group {
         flex-direction: column;
       }
       .form-group .input-control,
       .form-group .input-control-text {
         margin-top: 2px;
         margin-right: 0px;
       }
       .cols-1,
       .cols-2,
       .cols-3,
       .cols-4,
       .cols-5,
       .cols-6,
       .cols-7,
       .cols-8,
       .cols-9,
       .cols-10,
       .cols-11,
       .cols-12{
          width: 100% !important;
        }
        .form-label-dummy{
          height: 0px;
        }
  }

.input-group-col{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;  
}
.input-group-row{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    flex-direction: row;
    flex-basis: 100%;
    flex-wrap: nowrap;
    align-items: flex-end;
}
.no-grow{
  flex: 0 !important;
}

.input-group-row > .input-control{
  margin-left: 0px;
  margin-right: 5px;
}
.input-group-row .input-control:last-child{
  margin-right: 0px;
}
.input-group-col .input-control:last-child{
  margin-right: 0px;
}
.form-group .input-group-col{
  margin-right: 4px;
}


.form-group .join-next{
  margin-right: 0px !important;
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}
.form-group .join-prev{
  margin-left: -1px !important;
  margin-right: 0px !important;
  border-top-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
}




  /* CHECKBOX */
    .form-group .input-group-col .checkbox-group{
      display: flex;
      flex-direction: column;
      align-items: baseline;
    }
    .form-group .checkbox-group.reverse .checkbox-group-inner{
      flex-direction: row-reverse;
      justify-content: flex-end;
    }
    .form-group .checkbox-group *{
      cursor: pointer;
    }
    .form-label-dummy{
      margin-bottom: 0px !important;
    }
    .checkbox-group-inner{
      display: flex;
      align-items: center;
    }
  /* END CHECKBOX */



  /* CHECKBOX SWITCH */
    .form-group .checkbox-group.checkbox-switch input{
      appearance: none;
      width: 2.25em;
      height: 1.25em;
      margin-top: 0.25em;    
      border: 1px solid rgba(0,0,0,.25);
      border-radius: 2em;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E");
      background-position: left center;
      background-color: #fff;
      background-repeat: no-repeat;
      background-size: contain;
      transition: background-position .15s ease-in-out;
      vertical-align: top;
      
      -webkit-print-color-adjust: exact;
    }
    .form-group .checkbox-group.checkbox-switch input:checked{
      background-position: right center;
      background-color: #0d6efd;
      border-color: #0d6efd;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23FFF'/%3E%3C/svg%3E");
    }
  /* END CHECKBOX SWITCH */

/* ---------------------------
    E N D   F O R M S
------------------------------ */






.cols-1 {  width:  calc( var(--unacol) * 1)  }
.cols-2 {  width:  calc( var(--unacol) * 2)  }
.cols-3 {  width:  calc( var(--unacol) * 3)  }
.cols-4 {  width:  calc( var(--unacol) * 4)  }
.cols-5 {  width:  calc( var(--unacol) * 5)  }
.cols-6 {  width:  calc( var(--unacol) * 6)  }
.cols-7 {  width:  calc( var(--unacol) * 7)  }
.cols-8 {  width:  calc( var(--unacol) * 8) }
.cols-9 {  width:  calc( var(--unacol) * 9)  }
.cols-10{  width:  calc( var(--unacol) * 10)  }
.cols-11{  width:  calc( var(--unacol) * 11)  }
.cols-12{  width:  calc( var(--unacol) * 12)  }







.samples{
    height: 10vh;
    padding: 10px;
    margin-bottom: 5px;
    border-radius: 16px;
    background-color: var(--bg-element_1);
    font-weight: bold;
    box-shadow: inset 3px -7px 2px -4px #4643fa;
    display: flex;
    align-items: center;
    justify-content: center;    
}