

.webrescal table {
    table-layout: fixed;
}

.webrescal td {
  font-family: "Source Sans Pro", sans-serif;
  text-align: right;
  font-size: 12px;
}

/* Cal_container contains all month calendars */
.webrescal table.cal_container {
  margin: 0 auto;
  vertical-align: top;
  background-color: #ffffff;
  border: 1px solid #ccc;
}

.webrescal table.cal_container th {
  text-align: center;
  font-weight: normal;
  margin: 0;
  padding: 1px;
  background-color: #dde0dd;
  
}

.webrescal table.cal_container td {
  vertical-align: top;
  border: 1px solid #d9d9d9;
  margin: 0px;
  padding: 2px;
}

.webrescal table.cal_container td td {
/*  border:  1px solid #ccc;;*/
  text-align: center;
  width: 1.5em;
}

/* cal - monthly calendar */
.webrescal table.cal {
  padding: 0;
  margin: 0;
  border-collapse: collapse;
}

/*.webrescal table.cal_container td table.cal tr.wk td {
  padding: 0;
  margin: 0;
}*/

.webrescal td {
  white-space: nowrap;
}

/* Week day and week number style: */
.webrescal td .wk {
  font-size: 85%;
  color: #464;
  background: #ffffff;
  text-align: left;
  font-style: italic;
}

.webrescal td.cur {
    font-weight: bold;
    outline: 2px solid #585;
}


/* (R)eserved day cell in calendar */
.webrescal .r,
.webrescal .lr,
.webrescal .rr
{
  height: 100%;
  border: 1px solid #ccf;
  background-color: #a0c0ff;
}

.webrescal .lr {
    background: #a0c0ff url('/img/right_mask.gif') repeat-y 50% 0%;
}

.webrescal .rr  {
    background: #a0c0ff url('/img/left_mask.gif') repeat-y 50% 0%;
}


/* Day link in calendar */
.webrescal td a {
  width: 100%;
  height: 100%;
  display: block;
  color: #000;
  text-decoration: none;
}

/* Hovering day in calendar */
.webrescal td a:hover {
  width: 100%;
  height: 100%;
  display: block;
  color: #000;
  outline: 2px solid #000;
  /*background-color: #bbddff;*/

/*  border: 1px solid #cdd;*/
}

.webrescal table.cal_container .cl:hover {
  background: #d0ede3;
  cursor: pointer;
}


#scroll_back {  
  float: right;
}

#scroll_forward {  
  float: right;
}


.webrescal .copy {
  text-align: center;
  font-size: 85%;
}

.webrescal .copy a {
  color: #000;
  text-decoration: none;
  border-bottom: 1px dotted #555;
}

/*** Varaustiedustelulomake ***/

.reservation-form-wrapper {
  margin: 2em 0;
}

.webrescal form .robotit {
  display: none;
}

.webrescal form.month-picker {
  margin: 1em 0 0.5em 0;
}

.webrescal .link-icon {
  cursor: pointer;
  color: #345faa;
}

.webrescal .link-icon:hover {
}

.webrescal form label sup {
  font-size: 100%;
  margin-left: 2px;
  color: red;
  top: -0.25em;
}

.btn.open-reservation-form {
  margin: 2em 0;
}