.calendar-dispo-wrapper{
  margin-top: 30px;
  border: 1px solid #ddd;
}

.calendar-dispo {
  padding: 25px;
}

.calendar-dispo .row{
  margin-bottom: 30px;
}

.calendar-dispo .row:last-child{
  margin-bottom: 0;
}

.calendar-dispo table {
  width: 100%;
  margin: 0;
  table-layout: fixed;
  border-collapse: separate;
  border: 1px solid #ddd;
  border-bottom: 2px solid #ddd;
}

.calendar-dispo table caption.month{
  border: none;
  background-color: #525661;
  color: #FFF;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  font-size: 1.400rem;
  font-weight: bold;
  text-align: center;
}

.calendar-dispo table thead tr.days th{
  font-size: 1.200rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  background: #fff;
  padding: 5px 0 5px;
  color: #7f7f7f;
}

.calendar-dispo td,
.calendar-dispo th {
  text-align: center;
  position: relative;
}

.calendar-dispo td{
  background-color: #F2F2F2;
  vertical-align: top;
  font-size: 1.400rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: normal;
  color: #aaaaaa;
  padding: 5px !important;
  border: 1px solid #fff;
}

.calendar-dispo td .number-day{
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.400rem;
  font-weight: normal;
  text-align: center;
}

.calendar-dispo td .number-price{
  font-size: 1.800rem;
  font-family: Arial, Helvetica, sans-serif;
  display: block;
  text-align: center;
  white-space: nowrap;
  height: 35px;
  padding: 5px;
}

.calendar-dispo td.day.disabled {
  color: #aaaaaa;
  background-color: #F2F2F2;
}

.calendar-dispo td.old,
.calendar-dispo td.new {
  color: #AAAAAA;
  background-color: #E2E2E2;
}

.calendar-dispo tr-month{
}

.calendar-dispo th.switch {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.400rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #FFF;
  padding: 3px;
}

.calendar-dispo th.next{
  font-size: 2.400rem;
  line-height: 11px;
  vertical-align: middle;
  padding: 0px 0 10px 0; 
  color: #002B46;
}

.calendar-dispo th.prev {
  font-size: 2.400rem;
  line-height: 11px;
  vertical-align: middle;
  padding:  0 0 10px 0; 
  color: #002B46;
}

.calendar-dispo thead tr:first-child th {
  cursor: pointer;
}

.calendar-dispo thead tr:first-child th.switch {
  cursor: default;
}

.calendar-dispo th.next:hover{
  padding: 0 0 10px 10px; 
}

.calendar-dispo th.prev:hover{
  padding: 0 10px 10px 0; 
}

.calendar-dispo .icon-arrow-prev-white,
.calendar-dispo .icon-arrow-next-white{
  background-color: #824696;
  border-radius: 50px;
  -moz-border-radius: 50px;
  -webkit-border-radius: 50px;
  vertical-align: middle;
  width: 25px;
  height: 25px;
}

.calendar-dispo td.disponible {
  color: #fff;
  background: #598206;
  cursor: pointer;
  transition: all 300ms linear 0s;
}

.calendar-dispo td.lista-espera {
  color: #fff;
  background: #9C27B0;
  cursor: pointer;
  transition: all 300ms linear 0s;
}

.calendar-dispo td.completo,
.calendar-dispo td.completo:hover {
  color: #fff;
  background: #cc0000;
  cursor: not-allowed;
}

.calendar-dispo td.completo:hover a,
.calendar-dispo td.completo:hover a:hover {
  cursor: not-allowed;
}

.calendar-dispo td.disponible:hover,
.calendar-dispo td.lista-espera:hover {
  color: #fff;
  background: #03594c; /* Old browsers */
}

.calendar-dispo td.disponible span,
.calendar-dispo td.disponible:hover span,
.calendar-dispo td.lista-espera span,
.calendar-dispo td.lista-espera:hover span,
.calendar-dispo td.completo span,
.calendar-dispo td.completo:hover span {
  color: #fff;
}

.calendar-dispo td a,
.calendar-dispo td a:hover,
.calendar-dispo td {
  color: #fff;
  text-decoration: none;
}

.calendar-dispo td a:focus {
  outline: 1;
  outline-color: #fff;
  color: #fff;
  text-decoration: none;
}

.calendar-dispo td.active:hover,
.calendar-dispo td.active:hover:hover,
.calendar-dispo td.active:focus,
.calendar-dispo td.active:hover:focus,
.calendar-dispo td.active:active,
.calendar-dispo td.active:hover:active,
.calendar-dispo td.active.active,
.calendar-dispo td.active:hover.active,
.calendar-dispo td.active.disabled,
.calendar-dispo td.active:hover.disabled,
.calendar-dispo td.active[disabled],
.calendar-dispo td.active:hover[disabled] {
  color: #fff;
  background: #03594c; /* Old browsers */
}

.calendar-dispo td.active:active,
.calendar-dispo td.active:hover:active,
.calendar-dispo td.active.active,
.calendar-dispo td.active:hover.active {
  background: #03594c;
  color: #fff;
}

.calendar-dispo-wrapper .legend{
  background: #eee;
  padding: 10px 25px;
}

.calendar-dispo-wrapper .legend ul{
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.calendar-dispo-wrapper .legend ul li{
  list-style-type: none;
  display: inline-block;
  margin-right: 30px;
  font-size: 1.200rem;
  color: #666;
}

.calendar-dispo-wrapper .legend ul li .legend-disponible{
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  background: #598206;
  margin-right: 5px;
  vertical-align: sub;
}

.calendar-dispo-wrapper .legend ul li .legend-completo{
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  background: #cc0000;
  margin-right: 5px;
  vertical-align: sub;
}

.calendar-dispo-wrapper .legend ul li .legend-lista-espera{
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  background: #9C27B0;
  margin-right: 5px;
  vertical-align: sub;
}

.calendar-dispo-wrapper .legend ul li .legend-active{
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  background: #03594c;
  margin-right: 5px;
  vertical-align: sub;
}

.calendar-day-tooltip {
  display: none;
  position: absolute;
  top: 101%;
  color: #333;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #333;
  z-index: 4;
  padding:2px 4px;
}

.number-day:hover + div.calendar-day-tooltip,
.number-day:focus + div.calendar-day-tooltip {
  display: block;
}

.calendar-day-tooltip.day-status-available {
  color: #385104; /*#598206;*/
  border-color: #385104;
}
.calendar-day-tooltip.day-status-complete {
  color: #990000; /*#cc0000;*/
  border-color: #990000;
}
.calendar-day-tooltip.day-status-waitinglist {
  color: #771e86; /*#9c27b0;*/
  border-color: #771e86;
}

/* media queries */
@media (max-width: 992px) {
  .calendar-dispo {
    padding: 15px 30px;
  }
  .calendar-dispo .col-md-3 {
    padding: 20px 150px;
  }
  .calendar-dispo .row:first-child {
    margin-bottom: 0;
  }
}

@media only screen and (max-width : 767px) {
  .panel.calendar-dispo .panel-body {
    border: 1px solid #ddd;
    padding: 10px;
  }
  .calendar-popover-price{
    color: #002B46;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2.500rem;
  }
  .calendar-dispo td .number-price {
    font-size: 1.600rem;
    height: 25px;
    padding: 5px 0 0 0;
  }
  .calendar-dispo td .number-day{
    font-size: 1.200rem;
    padding: 3px;
  }
}

@media only screen and (max-width : 480px) {
  .calendar-dispo .row:first-child {
    margin-bottom: 0;
  }
  .calendar-dispo .col-md-3 {
    padding: 20px 0;
  }
  .calendar-dispo td .number-price{
    padding: 0;
    font-size: 1.200rem;
    height: 15px;
  }
  .calendar-dispo td .number-day{
    font-size: 1.200rem;
    padding: 0;
  }
  .calendar-dispo-wrapper .legend{
    padding: 10px;
  }
  .calendar-dispo-wrapper .legend ul li{
    margin: 5px;
    width: 45%;
  }
}