/*-------------------------------------------------------------------------------*/
/*    Activity                                                                                   */
/*-------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------*/
/*    Activity Calendar                                                                    */
/*-------------------------------------------------------------------------------*/
.kf_cal {
  padding: 1rem;
  background-color: #5ea4f4; }

.kf_cal_head {
  position: relative;
  color: white;
  font-family: Georgia, "Times New Roman", Times, serif;
  text-align: center; }
  .kf_cal_head_day, .kf_cal_head_mth {
    padding: .5rem 0; }
  .kf_cal_head_day {
    font-size: 2rem; }

.kf_cal_padigation {
  position: absolute;
  top: calc(50% - 22px);
  width: 100%; }
  .kf_cal_padigation a {
    display: block;
    width: 26px;
    height: 43px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: left; }
    .kf_cal_padigation a:hover, .kf_cal_padigation a:focus {
      background-position: right; }
    .kf_cal_padigation a:first-child {
      float: left; }
    .kf_cal_padigation a:last-child {
      float: right; }

.kf_cal-prev {
  background-image: url(../../images/module/kf_cal_prev.gif); }

.kf_cal-next {
  background-image: url(../../images/module/kf_cal_next.gif); }

.kf_cal_ul {
  padding: .75rem 0; }
  .kf_cal_ul::after {
    content: "";
    display: table;
    clear: both; }
  .kf_cal_ul li {
    float: left;
    width: calc(100% / 7);
    text-align: center; }

.kf_cal_days {
  margin-top: .5rem;
  color: #0c4f9c;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5); }

.kf_cal_dates li {
  padding: .5rem 0; }

.kf_cal_date {
  display: inline-block;
  padding: .35rem;
  color: rgba(255, 255, 255, 0.85);
  border-radius: 50%; }
  .kf_cal_date:hover, .kf_cal_date:focus {
    color: white;
    background-color: #0f67cc; }
  .kf_cal_date-disable {
    color: rgba(15, 103, 204, 0.5); }
  .kf_cal_date-today, .kf_cal_date-showday {
    color: white; }
  .kf_cal_date-today {
    background-color: #ff4d98; }
    .kf_cal_date-today:hover, .kf_cal_date-today:focus {
      background-color: #ff006c; }
  .kf_cal_date-showday {
    background-color: #F59F06; }
    .kf_cal_date-showday:hover, .kf_cal_date-showday:focus {
      background-color: #fab334; }

.kf_cal_search {
  padding: 1rem;
  padding-bottom: 2rem; }
  .kf_cal_search .kf_ul + .kf_row-mid {
    text-align: center; }

.kf_cal_search_form {
  padding-top: 1rem;
  border-top: 1px solid #dee2e6; }
  .kf_cal_search_form .kf_search_row {
    margin: .5rem 0; }

.kf_activity_list {
  margin: 0 1rem;
  padding: 1rem 0;
  border-top: 1px solid #dee2e6; }
  .kf_activity_list .kf_imglist {
    margin: 0 -1rem; }
    .kf_activity_list .kf_imglist a {
      padding: 1rem 0;
      border-bottom: 1px solid #ced4da; }

@media (min-width: 576px) {
  .kf_cal {
    float: left;
    width: 300px; }
  .kf_cal_search {
    float: left;
    width: calc(100% - 300px);
    padding: 0;
    padding-left: 1rem; }
  .kf_activity_list {
    margin: 2rem 0 0 0; }
    .kf_activity_list .kf_imglist {
      margin: 0; }
    .kf_activity_list .kf_img {
      margin-bottom: 0; }
      .kf_activity_list .kf_img_wrap {
        float: left;
        width: 220px; }
    .kf_activity_list .kf_imglist_group {
      padding-left: calc(220px + 16px); } }

@media print {
  .kf_cal {
    float: left;
    width: 300px; }
  .kf_cal_search {
    float: left;
    width: calc(100% - 300px);
    padding: 0;
    padding-left: 1rem; }
  .kf_activity_list {
    margin: 2rem 0 0 0; }
    .kf_activity_list .kf_imglist {
      margin: 0; } }
