#s29RespCalendar {
  font-family: Open Sans, Arial, Sans-Serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5em;
  cursor: default;
}
#s29RespCalendar a {
  border-bottom: none !important;
  color: #000 !important;
}
#s29RespCalendar a:hover span {
  border-bottom: #000 solid 1px;
}
#s29RespCalendar a.s29_current {
  background-color: #eee;
}
#s29RespCalendar .s29_today {
  font-weight: bold;
}
#s29RespCalendar .s29_months {
  height: 34px;
}
#s29RespCalendar button {
  width: 54px;
  height: 34px;
  background-color: transparent;
  background-size: 8px 15px;
  background-position: center center;
  background-repeat: no-repeat;
  border: none;
  cursor: pointer;
}
#s29RespCalendar button:hover {
  background-size: calc(8px * 1.14) calc(15px * 1.14);
}
#s29RespCalendar button:focus {
  outline: none;
}
#s29RespCalendar button.s29_prev {
  float: left;
  background-image: url(img/resp-month_prev.png);
}
#s29RespCalendar button.s29_next {
  float: right;
  background-image: url(img/resp-month_next.png);
}
#s29RespCalendar button.s29_prev[disabled] {
  background-image: url(img/resp-month_prev_inactive.png);
}
#s29RespCalendar button.s29_next[disabled] {
  background-image: url(img/resp-month_next_inactive.png);
}
#s29RespCalendar button:hover[disabled] {
  background-size: 8px 15px;
  cursor: default;
}
#s29RespCalendar .s29_months .s29_container {
  height: 28px;
  margin: 0 54px;
  padding-top: 3px;
}
#s29RespCalendar .s29_months .s29_shutter {
  margin: 0 auto;
  overflow: hidden;
}
#s29RespCalendar .s29_months .s29_body {
  position: relative;
  white-space: nowrap;
  word-spacing: -1ch;
}
#s29RespCalendar .s29_months .s29_item {
  display: inline-block;
  height: 28px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  padding: 4px 10px 0;
  text-align: center;
  word-spacing: normal;
}
#s29RespCalendar .s29_months div.s29_item {
  color: #959595;
}
#s29RespCalendar .s29_days {
  position: relative;
  margin-top: 2px;
  padding: 3px 15px 3px;
}
#s29RespCalendar .s29_days .s29_body {
  word-spacing: -1ch;
}
#s29RespCalendar .s29_days .s29_loader {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: url(img/resp-loader.gif);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 46px 8px;
}
#s29RespCalendar .s29_days .s29_item {
  display: inline-block;
  width: calc(100% / 31);
  min-width: 24px;
  height: 28px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  padding-top: 4px;
  text-align: center;
}
#s29RespCalendar.s29_perWeekMode .s29_days .s29_item {
  width: calc((100% - 7px) / 7);
  min-width: 0 !important;
}
#s29RespCalendar .s29_days div.s29_item {
  color: #959595;
}
#s29RespCalendar .s29_days div.s29_item.s29_placeholder {
  display: none;
}
#s29RespCalendar.s29_perWeekMode .s29_days div.s29_item.s29_placeholder {
  display: inline-block;
}
@media (max-width: 1000px) {
  #s29RespCalendar .s29_days .s29_item {
    min-width: 28px;
  }
}
