.bs_options_label{
    color:inherit;
    font-family: inherit;
    font-size: 0.8em;
    font-weight: 600;
    display: block;
    margin-bottom: 10px;
    margin-top:10px;
    text-transform: uppercase;
}

.bs_datepicker{
    min-width:200px;
    min-height:40px;
    max-width: 200px;
    display: block;
}

.bs_timepicker{
    min-width: 100%;
    min-height:50px;
    height:auto;
    vertical-align: top;
}

.bs_timepicker_column{
    max-width:33% !important;
    height:auto;
    display: inline-block;
}

.bs_timepicker .bs_timeslot{
    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    background-color:transparent;
    line-height: 21px;
}

.bs_timepicker .bs_timeslot_selected{
    background-color:#64e264 !important;
    cursor: pointer;

    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    line-height: 21px;
}

.bs_timepicker .bs_timeslot_restricted{
    background-color: #DDD;
    color:darkgray;
    cursor: not-allowed;

    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    line-height: 21px;
}

.bs_timepicker .bs_timeslot_disabled{
    background-color:rgb(231, 154, 154);
    color:white;
    cursor: not-allowed;

    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    line-height: 21px;
}

.bs_timepicker .bs_timeslot_mergeable{
    background-color: rgb(202, 230, 238);
    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    line-height: 21px;
}

.bs_timepicker .bs_timeslot_cart{
    background-color: purple;
    color:white;
    cursor: not-allowed;

    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    line-height: 21px;
}

.bs_timepicker .bs_timeslot_highlight{
    background-color:lightblue !important;
    cursor: pointer;

    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    line-height: 21px;
}

.bs_timepicker .bs_timeslot.bs_timeslot_selected.bs_timeslot_highlight 
{
    background-color:lightgreen !important;
    cursor: pointer;

    width:65px;
    height:20px;
    padding-left:5px;
    padding-right:5px;
    font-size:0.65em !important;
    line-height: 21px;
}

.bs_summary{
    width:100%;
    height:100px;
    clear:both;
    padding-top:10px;
}

.bs_summary .bs_sum{
    display: block;
    width: 100%;
    min-height: 20px;
    font-size: 0.8em !important;
    line-height:2em;
    font-weight: 600;
    margin:0;
    padding-bottom:5px;
    margin-bottom: 5px;
    border-bottom: 1px solid gray;
}

.bs_summary .bs_price{
    display: block;
    width: 100%;
    height: 20px;
    font-size: 0.95em !important;
    font-weight: bold;
    margin-top:10px;
    margin-bottom: 10px;
}

.bs_loader {
    margin: 15px;
    margin-left:5px;
    border: 5px solid transparent; 
    border-top: 5px solid gray;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin .75s ease-in-out infinite;
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

  .woocommerce .quantity .qty{
      min-width:80px;
      min-height:45px;
  }

  .woocommerce .quantity+.button{
    min-width:100px;
    min-height:45px;
  }