div.hakocalendar-container {
  position: absolute;
  font-size: 14px;
  z-index: 9999;
  background-color: #fff;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.33);
  box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.2);
  padding: 10px;
}
div.hakocalendar-container div.close-btn {
  position: absolute;
  font-size: 14px;
  right: -8px;
  top: -15px;
  background-color: #fff;
  padding: 5px 6px 7px 6px;
  border: 1px solid rgba(0, 0, 0, 0.33);
  border-radius: 3px;
  line-height: 8px;
  box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.2);
}
div.hakocalendar-container div.close-btn:hover {
  background-color: #f2f2f2;
  cursor: pointer;
}
div.hakocalendar-container div.hakocalendar-part {
  width: 275px;
  max-width: 100%;
}
div.hakocalendar-container div.hakocalendar-part-calendar div.header {
  padding-bottom: 4px;
  margin-bottom: 4px;
}
div.hakocalendar-container div.hakocalendar-part-calendar div.header div.month-container > div {
  display: block;
  float: left;
  width: 33%;
}
div.hakocalendar-container div.hakocalendar-part-calendar div.header div.month-container > div.current-month {
  text-align: center;
}
div.hakocalendar-container div.hakocalendar-part-calendar div.header div.month-container > div.next-month {
  text-align: right;
}
div.hakocalendar-container div.hakocalendar-part-calendar div.header div.month-container > div:last-of-type {
  float: none;
  width: auto;
}
div.hakocalendar-container div.hakocalendar-part-calendar div.header div.month-container a {
  color: #185bd3;
  text-decoration: none !important;
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */
}
div.hakocalendar-container div.hakocalendar-part-calendar div.header div.month-container a:hover {
  cursor: pointer;
  text-decoration: none;
}
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .row.weeknumbers-enabled .col {
  width: 11.9%;
}
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .row.weeknumbers-enabled .col.weeknumber {
  color: #b3b3b3;
  font-style: italic;
  font-weight: bold;
}
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .row .col {
  display: inline-block;
  width: 13.6%;
  margin: 0.3%;
  box-sizing: border-box;
  padding: 3px;
  border: 1px solid rgba(0, 0, 0, 0);
  text-align: center;
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */
}
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .row .col.previous-day,
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .row .col.next-day {
  opacity: 0.5;
}
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .row .col.day:hover {
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.4);
}
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .row .col.selected-day {
  border: 1px dashed rgba(0, 0, 0, 0.2);
}
div.hakocalendar-container div.hakocalendar-part-calendar .row-container .header-row .col {
  font-weight: bold;
}
div.hakocalendar-container div.hakocalendar-part-clock div.header {
  margin-bottom: 10px;
}
div.hakocalendar-container div.hakocalendar-part-clock form {
  text-align: center;
}
div.hakocalendar-container div.hakocalendar-part-clock form > div {
  display: inline-block;
  width: 15%;
  min-width: 40px;
}
div.hakocalendar-container div.hakocalendar-part-clock form > div input {
  display: block;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 3px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 5px;
  text-align: center;
}
div.hakocalendar-container div.hakocalendar-part-clock form > div input.invalid {
  color: #fff;
  background-color: #f10000;
  border: 1px solid #be0000;
}
div.hakocalendar-container div.hakocalendar-part-clock form > span {
  display: inline-block;
  margin: 0% 2%;
  font-weight: bold;
  line-height: 25px;
}
div.hakocalendar-container div.hakocalendar-part-clock div.label {
  font-weight: bold;
  margin-bottom: 5px;
}
div.hakocalendar-container div.hakocalendar-part-clock div.label a {
  text-decoration: none;
}
div.hakocalendar-container div.hakocalendar-part-clock .hour.off-hour {
  display: none;
}
div.hakocalendar-container div.hakocalendar-part-clock .hour.off-hour.force-visible {
  display: inline-block;
}
div.hakocalendar-container div.hakocalendar-part-clock div.hour,
div.hakocalendar-container div.hakocalendar-part-clock div.minute {
  display: inline-block;
  width: 15.5%;
  text-align: center;
  box-sizing: border-box;
  padding: 3px;
  margin: 0.5%;
  border: 1px solid rgba(0, 0, 0, 0);
}
div.hakocalendar-container div.hakocalendar-part-clock div.hour:hover,
div.hakocalendar-container div.hakocalendar-part-clock div.minute:hover {
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.4);
}
div.hakocalendar-container div.hakocalendar-part-clock div.footer {
  margin-top: 20px;
}
div.hakocalendar-container div.hakocalendar-part-clock div.footer .btn-block {
  display: block;
  width: 100%;
}
div.hakocalendar-container div.hakocalendar-part-clock div.footer button {
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 8px 0px;
}
div.hakocalendar-container .hakocalendar-footer {
  background-color: rgba(0, 0, 0, 0.05);
  margin: 0px -10px -10px -10px;
  margin-top: 5px;
  box-sizing: border-box;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
div.hakocalendar-container .hakocalendar-footer .component-item {
  float: left;
  width: 49.5%;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
}
div.hakocalendar-container .hakocalendar-footer .component-item:hover {
  font-weight: bold;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.66);
}
