/*RESERVES*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600&display=swap');
#reserva h1,#reserva h2,#reserva h3,#reserva h4{color: var(--light-blue);font-family: 'Montserrat', sans-serif;}
#reserva p, #reserva,#reserva label{font-family: 'Montserrat', sans-serif; color:#333; font-size: 18px;}
#reserva label{font-weight: bold; margin-right: 15px;}
#reserva .totalstep2 label {
  font-weight: bold;
  margin-right: 15px;
  background-color: var(--light-blue);
  color: #fff;
  padding: 10px;
  width: 100%;
}
#booking-form{padding-left: 80px;}
#booking-form .step{position:relative;margin-top: 50px;}
#booking-form .step:before,.step:before{position:absolute; left:-60px; content: "";background-color: var(--light-blue);border-radius: 50%;color: #fff;
padding: 10px;width: 50px;height: 50px;display: inline-block;text-align: center;font-size: 20px; margin-right: 15px;}
#booking-form .step-1:before,.step-1:before{content: "1";}
#booking-form .step-2:before,.step-2:before{content: "2";}
#booking-form .step-3:before,.step-3:before{content: "3";}
#booking-form .step-4:before,.step-4:before{content: "4";}
#booking-form .step-5:before,.step-5:before{content: "5";}
#booking-days-departure{border:1px solid var(--light-blue);background: #eee;}

/*RESERVES*/
.line-info, .header{
  padding: 10px;
}
.header{
  background-color: var(--light-blue);
}
.header.row,.line-info.row{
  margin-right: 0px!important;
  margin-left: 0px!important;
}
.step .tempo{width: 100%; padding-left:15px;}
.step .mb-2{margin-bottom:15px!important;}
.stock-content{

}

#product-timetable-clone{
  display: none;
}
#result-stock-departure .line-info:nth-child(odd){background-color: #fff;}
#result-stock-departure .line-info:nth-child(even){background-color: #eee;}
.stock-content .contingut{border: 1px solid var(--light-blue);}
#result-stock-departure .line-info > div{display: flex;align-items: center;}
#result-stock-departure .line-info label{margin:0; font-weight: normal;}
.stock-content .header > div{color:#fff;}
#result-stock-departure .line-info .price:after{content:"€"}
.datepicker-cell.selected, .datepicker-cell.selected:hover {  background-color: var(--light-blue);}
#not-stock-departure{margin: 50px;}
.totalstep2{padding: 0;color: #fff;font-weight: bold; margin-top:30px;}

.inttotalstep2{background: var(--light-blue);padding: 30px;font-size: 24px;}
.inttotalstep2 ul{padding: 0;}
.inttotalstep2 li{list-style: none;}
#reserva .btn{ background-color:#fff; color:var(--light-blue); border-radius:0; font-weight:bold;font-size: 24px;}
#reserva .btn.inv{ background-color:var(--light-blue); color:#fff; }
#reserva .form-group.hide{display:none;}
#reserva .form-group{padding: 0 15px;margin-bottom: 20px;} /* flex: 0 0 50%;max-width: 50%; */
#reserva .form-group label{}
#customer-info input::placeholder{color:#333;}
#customer-info input{border:1px solid var(--light-blue);background: #eee; border-radius: 0; color:#333;}
form input[type="text"],form input[type="email"],form input[type="password"] {  margin: 0 0 10px 0;  height: 50px;  padding: 0 0 0 13px;}
#reserva .form-group .req{display:none;}
.inforequired{margin-top:-20px;}
#reserva .resum{background-color:var(--light-blue); color:#fff; padding: 30px; font-weight: bold; font-size: 24px;}
#reserva .resum .product-info > span{padding: 0 10px;}
#reserva .resum .product-info .prodName{ }
#reserva .resum .product-info .prodDate{ font-weight: normal;font-size: 18px;}
#reserva .resum .product-info .prodQuant{ font-weight: normal;font-size: 18px;}
#reserva .resum .product-info .prodPrice{ font-weight: normal;font-size: 18px;}
#reserva .resum .total{padding: 10px 15px;margin-top: 10px; border-top:1px solid #fff;}
#nextreserva,#prevreserva{margin-top:15px;}
#pagamentslist{display: flex;flex-wrap: wrap;}
#pagamentslist .payment-item{padding: 8px 15px;border: 1px solid var(--light-blue);margin-right: 15px;}
#pagamentslist .payment-item input{margin-right:8px;}
#pagamentslist .payment-item.Redsys:before{content:url('/idev_tools/booking_system/img/credit-card-icons.png');  position:relative;}
#end-payment{margin-top:15px;}
#pagamentslist{display: flex;flex-wrap: wrap;}
#pagamentslist .payment-item{padding: 8px 15px;border: 1px solid #fff;margin-right: 15px; display:flex; align-items: center;margin-bottom: 15px; position:relative; transition: all 0.3s linear;}
#pagamentslist .payment-item:hover{border: 1px solid #eee;}
#pagamentslist .payment-item input{margin-right:8px;
position: absolute;
right: 0;
height: 100%;
width: 100%;
opacity: 0;}
#pagamentslist .payment-item:before{margin-right: 10px;position:relative;}
#pagamentslist .payment-item.Redsys:before{content:url('/idev_tools/booking_system/img/redsys-tarjetas.jpg');  position:relative;}
#pagamentslist .payment-item.Paypal:before{content:url('/idev_tools/booking_system/img/paypal.jpg');  position:relative;}
#pagamentslist .payment-item.PAYCOMET:before{content:url('/idev_tools/booking_system/img/paycomet.jpg');  position:relative;}
#pagamentslist .payment-item.PAYCOMET.iDeal:before{content:url('/idev_tools/booking_system/img/ideal.jpg');  position:relative;}
#pagamentslist .payment-item.PAYCOMET.Giropay:before{content:url('/idev_tools/booking_system/img/giropay.jpg');  position:relative;}
#pagamentslist .payment-item.PAYCOMET.Bancontact:before{content:url('/idev_tools/booking_system/img/bancontact.jpg');  position:relative;}
#pagamentslist .payment-item.PAYCOMET.EPS:before{content:url('/idev_tools/booking_system/img/eps.jpg');  position:relative;}
#pagamentslist .payment-item.Transfer:before{content:url('/idev_tools/booking_system/img/transferencia.svg');  position:relative;}
#pagamentslist .payment-item.active{border: 1px solid #02254b;}

#booking-form .tauladisponibilitat .stock-info,#booking-form .tauladisponibilitat .stock,#booking-form .tauladisponibilitat .qty{display:none;}
#booking-form .tauladisponibilitat .reservar,#booking-form .tauladisponibilitat .timetable,#booking-form .tauladisponibilitat .product{flex: 0 0 25%;max-width: 25%;}
#booking-form .tauladisponibilitat .reservar .btn{font-size: 16px;}
#reserva .formLogReg{padding: 30px; border:1px solid #ccc; text-align: center}
#reserva .formLogReg a{}

:root {
    --verd: #06846D;
}
a, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, p, label {
  color: #00373e;
}
#reserva h1{color: #00373e!important;font-family: 'Poppins',sans-serif;  font-weight: 500; font-size: 48px;}
#reserva h2{color: #00373e!important;font-family: 'Poppins',sans-serif;  font-weight: 500; font-size: 36px;}
#booking-form .step::before {  background-color: var(--light-blue);}
#booking-days-departure {  border: 1px solid var(--light-blue);cursor: default;}
#reserva .datepicker-cell.selected, .datepicker-cell.selected:hover {  background-color: var(--light-blue);}
#reserva .header {  background-color: var(--light-blue);}
#reserva .btn.inv {  color: var(--light-blue); background-color: #fff;}
#reserva .inttotalstep2 {   background-color:var(--light-blue);}
#reserva .stock-content .contingut {  border: 1px solid var(--light-blue);}
#reserva .btn,.carrito-navegacion .btn{     font-size: 20px;  border: 1px solid var(--light-blue);border-radius: 0;text-transform: uppercase;padding: 0 25px; color:var(--light-blue);}
#reserva .btn:hover,.carrito-navegacion .btn:hover{color:#fff!important;    background-color: var(--light-blue) !important;}
.btn.btn-brand:hover {
  background-color: var(--light-blue) !important;
  color: #fff;
}
#reserva .totalstep2 {  font-weight: 500;position: sticky;  height: 500px;  top: 80px;  margin-top: 0;}
.filterProds{list-style: none;display: flex;flex-wrap: wrap; padding:0;margin-bottom: 0px;}
.filterProds li{margin-right: 15px;margin-bottom: 15px;}
.filterProds .filterbutton{font-size: 16px!important;}
#reserva .filterProds .filterbutton:hover{color:#000!important; border-color:#000!important;}
#reserva .filterProds li.active .filterbutton{background-color: var(--light-blue)!important; color: #fff!important;}
.zonaavis{ background: #eee; color:#000; text-align: center; padding: 8px 15px;}
#result-stock-departure p.select_day{padding:30px; text-align: center;}
#result-stock-departure .line-info{padding: 8px 10px}
#result-stock-departure .line-info.even{background-color: #fff!important;}
#result-stock-departure .line-info.odd{background-color: #eee!important;}
#reserva .inttotalstep2 li { font-size: 20px;}
#reserva .btn {  font-size: 20px;}
#reserva .btn:hover{opacity: 0.7;}
.fa-arrow-right{margin-left:10px;}
.fa-arrow-left{margin-right:10px;}

#result-stock-departure .line-info .timetable{font-size:16px;font-weight: 600;}
#result-stock-departure .line-info .timetable:after{content:"h."}
#booking-form .tauladisponibilitat .reservar .btn {  font-size: 13px;  height: 30px; width:100%;}
#reserva .add-to-cart[data-purchased="1"]{background-color: var(--light-blue)!important;color:transparent!important;}
#reserva .add-to-cart[data-purchased="1"]:after{color: #fff !important;content:"Reservat"; text-align:center;position: absolute;}

/* FLOATING CART */

.off-canvas-area-wrapper, .off-canvas-responsive-menu, .off-canvas-search-box {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: fixed;
  top: 0;
  right: 0;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
  height: 100vh;
  width: 100vw;
}

.off-canvas-area-wrapper .off-canvas-content-wrap, .off-canvas-responsive-menu .off-canvas-content-wrap, .off-canvas-search-box .off-canvas-content-wrap {
  background-color: white;
  margin-left: auto;
  height: 100%;
  position: relative;
  -webkit-transform: translateX(calc(100% + 40px));
  -ms-transform: translateX(calc(100% + 40px));
  transform: translateX(calc(100% + 40px));
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
  max-width: 360px;
  width: 100%;
}

@media only screen and (max-width: 575.98px) {
  .off-canvas-area-wrapper .off-canvas-content-wrap, .off-canvas-responsive-menu .off-canvas-content-wrap, .off-canvas-search-box .off-canvas-content-wrap {
      max-width: calc(100% - 45px) !important;
  }
}

.off-canvas-area-wrapper .off-canvas-content-wrap .off-canvas-content, .off-canvas-responsive-menu .off-canvas-content-wrap .off-canvas-content, .off-canvas-search-box .off-canvas-content-wrap .off-canvas-content {
  padding: 40px;
  height: 100%;
  overflow-y: auto;
}

@media only screen and (max-width: 575.98px) {
  .off-canvas-area-wrapper .off-canvas-content-wrap .off-canvas-content, .off-canvas-responsive-menu .off-canvas-content-wrap .off-canvas-content, .off-canvas-search-box .off-canvas-content-wrap .off-canvas-content {
      padding: 30px 15px;
  }
}

.off-canvas-area-wrapper .off-canvas-content-wrap .off-canvas-content .off-canvas-item, .off-canvas-responsive-menu .off-canvas-content-wrap .off-canvas-content .off-canvas-item, .off-canvas-search-box .off-canvas-content-wrap .off-canvas-content .off-canvas-item {
  margin-bottom: 60px;
}

.off-canvas-area-wrapper .off-canvas-content-wrap .off-canvas-content .off-canvas-item:last-child, .off-canvas-responsive-menu .off-canvas-content-wrap .off-canvas-content .off-canvas-item:last-child, .off-canvas-search-box .off-canvas-content-wrap .off-canvas-content .off-canvas-item:last-child {
  margin-bottom: 0;
}

.off-canvas-area-wrapper .off-canvas-content-wrap .off-canvas-content .off-canvas-item h2, .off-canvas-responsive-menu .off-canvas-content-wrap .off-canvas-content .off-canvas-item h2, .off-canvas-search-box .off-canvas-content-wrap .off-canvas-content .off-canvas-item h2 {
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 23px;
  margin-top: -2px;
}

.off-canvas-area-wrapper .off-canvas-content-wrap .btn-close, .off-canvas-responsive-menu .off-canvas-content-wrap .btn-close, .off-canvas-search-box .off-canvas-content-wrap .btn-close {
  background-color: white;
  position: absolute;
  right: 99%;
  top: 100px;
  line-height: 40px;
  height: 40px;
  width: 40px;
border:0;
}

.off-canvas-area-wrapper .off-canvas-content-wrap .btn-close:hover, .off-canvas-responsive-menu .off-canvas-content-wrap .btn-close:hover, .off-canvas-search-box .off-canvas-content-wrap .btn-close:hover {
  background-color: var(--primary);
  color: white;
}

.off-canvas-area-wrapper.show, .off-canvas-responsive-menu.show, .off-canvas-search-box.show {
  opacity: 1;
  visibility: visible;
  pointer-events: visible;
  z-index: 99999;
}

.off-canvas-area-wrapper.show .off-canvas-overlay, .off-canvas-responsive-menu.show .off-canvas-overlay, .off-canvas-search-box.show .off-canvas-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  /* cursor: url("../img/icons/cancel.png"), auto; */
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}

.off-canvas-area-wrapper.show .off-canvas-content-wrap, .off-canvas-responsive-menu.show .off-canvas-content-wrap, .off-canvas-search-box.show .off-canvas-content-wrap {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

#fastCart .btn-remove-booking{
  background: transparent;
  border: none;
  position: absolute;
  z-index: 10;
}
#floatcart a {  color: black;}
.itemfloatcart .descripcion{}
#fastCart h2,#fastCart h3,#fastCart h4,#fastCart h5{color:#000;}
#fastCart p{color:#333;}
#fastCart .btn-remove-product{background: transparent;border: none;position: absolute;z-index: 10;}
.itemfloatcart .descripcion{padding-right: 30px;margin-bottom:8px;}
.itemfloatcart .descripcion a{color:#000!important; line-height: normal!important; }

.itemfloatcart .price,.itemfloatcart .producto-importe {display: flex;font-size: 16px;align-items: center; }
.carritoflotante{  padding:0px;}
li.itemfloatcart{  list-style: none;border-bottom: 1px solid #eee;  padding: 10px 0;border-bottom: 1px solid #eee;}
#products-carrito{margin-bottom: 30px!important;}

#fastCart .producto-cantidad{text-transform: lowercase;  background-color: var(--primary);  color: #fff;  padding: 3px 8px;  font-size: 12px;
border-radius: 8px;margin-right: 10px;}
#fastCart .link-carrito{color:#fff;}
#fastCart .link-carrito:hover{background-color:#000!important;}


#cart .shoppingcart-content .carrito_delete,#cart #delete-coupon{border:none; background-color: transparent;font-size: 20px;}
#cart #pedido-carrito th{font-weight: bold;}
html:lang(es) #reserva .add-to-cart[data-purchased="1"]:after{content:"Reservado";}
html:lang(ca) #reserva .add-to-cart[data-purchased="1"]:after{content:"Reservat";}
#customer-info input {  border: 1px solid  var(--light-blue); background: #fff;}
#reserva .resum {	background-color: var(--light-blue);}
#reserva .resum {  font-weight: 500;  font-size: 16px;}
#reserva .resum .total{font-weight: bold;font-size: 20px;}
.temporitzador{    border: 1px solid #333;  padding: 15px;  text-align: center;}

#detalle-pedido .cantidad-carrito {opacity: 0;visibility: hidden;border-right: none;width: 0;
padding: 0;min-width: 0;font-size: 0;}
#detalle-pedido .cantidad-carrito .cantidad-carrito_input{display:none;}
#detalle-pedido #total_pedido{float:right;}
#detalle-pedido table p{margin-bottom: 0;}

#customer-info .product-info span{display: inline-block;}
#customer-info .product-info .product{width:15%}
#customer-info .product-info .horari{width:30%}
#customer-info .product-info .qty{width:10%}
#customer-info .product-info .preu{width:10%}

#booking-form #pagamentslist .payment-item.active {  border: 1px solid var(--light-blue)!important;}
.btn-system.btn-large {
  border-color: var(--light-blue);
}
#cart .shoppingcart-content .carrito_delete {
  border: none;
  background-color: transparent;
  font-size: 20px;
}
.Precio, .ptotal h4 {
  color: #000;
  font-size: clamp(16px,2vw,20px);
}
#frm_login_order .input-icon {  position: absolute;  top: 40px;	left: 30px;}
#insite-payment {}
#insite-payment h2{  text-align: center;
  border: 1px solid var(--light-blue);
  padding: 15px 30px;
  display: table;
  margin: 50px auto;
}
#insite-payment h2 span{}
#insite-payment h2 span:after{content:" min.";font-size: 70%;}
#linetable-clone{
  display: none!important;
  }
  @media (max-width: 576px){
    #modal-order-details .modal-body{
      min-height: auto;
    }
  }
  /* RESPONSIVE TABLE */
  #table-details {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
  }

  #table-details caption {
  font-size: 1.5em;
  margin: .5em 0 .75em;
  }

  #table-details tr {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  padding: .35em;
  }

  #table-details th,
  #table-details td {
  padding: .625em;
  text-align: center;
  }

  #table-details th {
  font-size: .85em;
  letter-spacing: .1em;
  text-transform: uppercase;
  }

  @media screen and (width < 769px) {

    #table-details {
      border: 0;
    }
    .totalstep2{ 
      padding: 15px;
    }

    #table-details caption {
      font-size: 1.3em;
    }

    #table-details thead {
      border: none;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
    }

    #table-details tr {
      border-bottom: 3px solid #ddd;
      display: block;
      margin-bottom: .625em;
    }

    #table-details td {
      border-bottom: 1px solid #ddd;
      display: block;
      font-size: .8em;
      text-align: right;
    }

    #table-details td::before {
      /*
      * aria-label has no advantage, it won't be read inside a table
      content: attr(aria-label);
      */
      content: attr(data-label);
      float: left;
      font-weight: bold;
      text-transform: uppercase;
    }

    #table-details td:last-child {
      border-bottom: 0;
    }

  }

  /* END RESPONSIVE TABLE */
#arraform .form-group input[type="radio"] {  visibility: visible;  display: inline-block;}
#arraform{font-size: 14px; border-radius: 0;}
#arraform select {font-size: 14px;  height: 50px;margin-bottom: 0.5rem;}
#arraform input[type='number']  {font-size: 14px; height: 50px;margin-bottom: 0.5rem;}
#arraform input[type='file']  {font-size: 14px; height: 50px;margin-bottom: 0.5rem;}
#arraform h2{font-size: 22px; margin-top:15px;}
.formbuilder-radio{padding-left: 15px;;}
#intranet #arraform label {
  color: #333;
  font-size: 16px;
  font-weight: 600;
}
#intranet #arraform .radio-group label{font-weight: 400;font-size: 14px;}