/*
 * jsCalendar v1.4.5
 * 
 * 
 * MIT License
 * 
 * Copyright (c) 2017-2023 Grammatopoulos Athanasios-Vasileios
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 * 
 */
/* Default Theme */
/* General style */
.jsCalendar * {
  margin: 0;
  padding: 0;
}
.jsCalendar table,
.jsCalendar table th,
.jsCalendar table td {
  border: 0;
  box-sizing: content-box;
}
/* Blue default */
.jsCalendar table {
  width: 100%;
}
.jsCalendar tr {
  line-height: 0;
  display: flex;
  justify-content: space-between;
}
.jsCalendar thead .jsCalendar-title {
  height: 60px;
  line-height: 60px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  background-color: #CCC;
  align-items: center;
}
.jsCalendar thead .jsCalendar-nav-left,
.jsCalendar thead .jsCalendar-nav-right {
  border-radius: 10px;
  color: #999999;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
  height: 20px;
  line-height: 20px;
  margin: 10px 8px;
  text-align: center;
  transition: color 0.2s, background-color 0.2s;
  width: 20px;
}
.jsCalendar thead .jsCalendar-nav-left:hover,
.jsCalendar thead .jsCalendar-nav-right:hover {
  background-color: #E2E2E2;
  color: #000000;
}
.jsCalendar thead .jsCalendar-title-name {
  cursor: default;
  font-size: 18px;
  font-weight: lighter;
  padding: 0 20px;
}
.jsCalendar thead .jsCalendar-nav-left:after {
  content: "<";
  content: "\f053";
  font: normal normal normal 14px / 1 FontAwesome;
}
.jsCalendar thead .jsCalendar-nav-right:after {
  content: ">";
  content: "\f054";
  font: normal normal normal 14px / 1 FontAwesome;
}
.jsCalendar thead .jsCalendar-week-days {
  background-color: #eee;
}
.jsCalendar thead .jsCalendar-week-days th {
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
  flex: 0 0 60px;
  height: calc(60px / 2);
  line-height: calc(60px / 2);
  text-align: center;
}
.jsCalendar tbody tr {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin: 1em 0;
}
.jsCalendar tbody td {
  flex: 0 0 60px;
  border-radius: 50%;
  cursor: default;
  display: inline-block;
  font-size: 14px;
  height: 60px;
  line-height: 60px;
  margin: 1px 2px;
  text-align: center;
  transition: color 0.1s, background-color 0.2s;
  width: 60px;
  border: 2px solid transparent;
}
.jsCalendar tbody td:hover {
  background-color: #E6E6E6;
}
.jsCalendar tbody td.jsCalendar-selected {
  border: 2px solid #812990;
}
.jsCalendar tbody td.jsCalendar-current {
  background-color: #801494;
  color: #FFFFFF;
}
.jsCalendar tbody td.jsCalendar-previous,
.jsCalendar tbody td.jsCalendar-next,
.jsCalendar tbody td.jsCalendar-unselectable {
  color: #CACACA;
}
.jsCalendar tbody td.jsCalendar-previous:hover,
.jsCalendar tbody td.jsCalendar-next:hover {
  color: #FFFFFF;
}
.jsCalendar tbody td.jsCalendar-unselectable:hover {
  background: transparent;
}
.jsCalendar thead {
  display: block;
}
.jsCalendar tbody {
  display: block;
}
.jsCalendar ::-moz-selection {
  background: #83D8FF;
}
.jsCalendar ::selection {
  background: #83D8FF;
}
/* Yellow */
.jsCalendar.yellow tbody td.jsCalendar-current {
  background-color: #FFE31B;
}
.jsCalendar.yellow ::-moz-selection {
  background: #FDE74C;
}
.jsCalendar.yellow ::selection {
  background: #FDE74C;
}
/* Orange */
.jsCalendar.orange tbody td.jsCalendar-current {
  background-color: #FFB400;
}
.jsCalendar.orange ::-moz-selection {
  background: #FFB400;
}
.jsCalendar.orange ::selection {
  background: #FFB400;
}
/* Red */
.jsCalendar.red tbody td.jsCalendar-current {
  background-color: #F6511D;
}
.jsCalendar.red ::-moz-selection {
  background: #F6511D;
}
.jsCalendar.red ::selection {
  background: #F6511D;
}
/* Green */
.jsCalendar.green tbody td.jsCalendar-current {
  background-color: #7FB800;
}
.jsCalendar.green ::-moz-selection {
  background: #7FB800;
}
.jsCalendar.green ::selection {
  background: #7FB800;
}
/* Material Theme */
/* Blue default */
.jsCalendar.material-theme table {
  border-radius: 0;
}
.jsCalendar.material-theme thead {
  background-color: #52C9FF;
  color: #FFFFFF;
  margin: 0;
  padding: 4px 4px 0 4px;
}
.jsCalendar.material-theme thead .jsCalendar-title {
  display: block;
  position: relative;
}
.jsCalendar.material-theme thead .jsCalendar-title-name {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  color: #FFFFFF;
  font-size: 16px;
  left: 15px;
  position: absolute;
  right: 15px;
  text-align: center;
}
.jsCalendar.material-theme thead .jsCalendar-title-left,
.jsCalendar.material-theme thead .jsCalendar-title-right {
  position: absolute;
  z-index: 1;
}
.jsCalendar.material-theme thead .jsCalendar-nav-left,
.jsCalendar.material-theme thead .jsCalendar-nav-right {
  color: #FFFFFF;
}
.jsCalendar.material-theme thead .jsCalendar-nav-left:hover,
.jsCalendar.material-theme thead .jsCalendar-nav-right:hover {
  background-color: #03A9F4;
}
.jsCalendar.material-theme thead .jsCalendar-title-right {
  right: 0;
}
.jsCalendar.material-theme thead .jsCalendar-week-days th {
  font-size: 14px;
  text-shadow: none;
}
/* Yellow */
.jsCalendar.material-theme.yellow thead {
  background-color: #FFE31B;
}
.jsCalendar.material-theme.yellow thead .jsCalendar-nav-left:hover,
.jsCalendar.material-theme.yellow thead .jsCalendar-nav-right:hover {
  background-color: #E2CA23;
}
/* Orange */
.jsCalendar.material-theme.orange thead {
  background-color: #FFB400;
}
.jsCalendar.material-theme.orange thead .jsCalendar-nav-left:hover,
.jsCalendar.material-theme.orange thead .jsCalendar-nav-right:hover {
  background-color: #D49600;
}
/* Red */
.jsCalendar.material-theme.red thead {
  background-color: #F6511D;
}
.jsCalendar.material-theme.red thead .jsCalendar-nav-left:hover,
.jsCalendar.material-theme.red thead .jsCalendar-nav-right:hover {
  background-color: #BB3D16;
}
/* Green */
.jsCalendar.material-theme.green thead {
  background-color: #7FB800;
}
.jsCalendar.material-theme.green thead .jsCalendar-nav-left:hover,
.jsCalendar.material-theme.green thead .jsCalendar-nav-right:hover {
  background-color: #639000;
}
/* Classic Theme */
/* Blue default */
.jsCalendar.classic-theme table,
.jsCalendar.classic-theme thead .jsCalendar-nav-left,
.jsCalendar.classic-theme thead .jsCalendar-nav-right,
.jsCalendar.classic-theme thead .jsCalendar-week-days th,
.jsCalendar.classic-theme tbody td,
.jsCalendar.classic-theme tbody td.jsCalendar-current {
  border-radius: 0;
}
.jsCalendar.classic-theme thead {
  background-color: #52C9FF;
  margin: 0;
  padding: 4px 4px 0 4px;
}
.jsCalendar.classic-theme thead .jsCalendar-title-row,
.jsCalendar.classic-theme thead .jsCalendar-title {
  display: block;
  width: 100%;
}
.jsCalendar.classic-theme thead .jsCalendar-title {
  position: relative;
}
.jsCalendar.classic-theme thead .jsCalendar-title-name {
  color: #FFFFFF;
  font-size: 16px;
  left: 41px;
  position: absolute;
  right: 41px;
  text-align: center;
  text-shadow: none;
}
.jsCalendar.classic-theme thead .jsCalendar-title-left,
.jsCalendar.classic-theme thead .jsCalendar-title-right {
  position: absolute;
  z-index: 1;
}
.jsCalendar.classic-theme thead .jsCalendar-title-right {
  right: 0;
}
.jsCalendar.classic-theme thead .jsCalendar-nav-left,
.jsCalendar.classic-theme thead .jsCalendar-nav-right {
  color: #FFFFFF;
  text-shadow: none;
}
.jsCalendar.classic-theme thead .jsCalendar-nav-left:hover,
.jsCalendar.classic-theme thead .jsCalendar-nav-right:hover {
  background-color: #03A9F4;
}
.jsCalendar.classic-theme thead .jsCalendar-week-days {
  background-color: #FFFFFF;
  display: block;
  margin: 0 -4px;
}
.jsCalendar.classic-theme thead .jsCalendar-week-days th {
  font-size: 10px;
  height: 20px;
  line-height: 20px;
  text-shadow: none;
}
.jsCalendar.classic-theme tbody td {
  border-left: 1px solid #DADADA;
  border-top: 1px solid #DADADA;
  margin: -1px 0 0 -1px;
  padding: 1px 1px 0 1px;
  width: 38px;
}
.jsCalendar.classic-theme tbody {
  margin: 0;
}
.jsCalendar.classic-theme tbody td.jsCalendar-selected {
  background-color: #CCEFFF;
  border-bottom: 0;
  border-left: 1px solid #DADADA;
  border-right: 0;
  border-top: 1px solid #DADADA;
  height: 36px;
  line-height: 36px;
}
.jsCalendar.classic-theme tbody td.jsCalendar-current.jsCalendar-selected {
  background-color: #52C9FF;
  text-shadow: 0 0 3px #000000;
}
/* Yellow */
.jsCalendar.classic-theme.yellow thead {
  background-color: #FFE31B;
}
.jsCalendar.classic-theme.yellow thead .jsCalendar-nav-left:hover,
.jsCalendar.classic-theme.yellow thead .jsCalendar-nav-right:hover {
  background-color: #E2CA23;
}
/* Orange */
.jsCalendar.classic-theme.orange thead {
  background-color: #FFB400;
}
.jsCalendar.classic-theme.orange thead .jsCalendar-nav-left:hover,
.jsCalendar.classic-theme.orange thead .jsCalendar-nav-right:hover {
  background-color: #D49600;
}
/* Red */
.jsCalendar.classic-theme.red thead {
  background-color: #F6511D;
}
.jsCalendar.classic-theme.red thead .jsCalendar-nav-left:hover,
.jsCalendar.classic-theme.red thead .jsCalendar-nav-right:hover {
  background-color: #BB3D16;
}
/* Green */
.jsCalendar.classic-theme.green thead {
  background-color: #7FB800;
}
.jsCalendar.classic-theme.green thead .jsCalendar-nav-left:hover,
.jsCalendar.classic-theme.green thead .jsCalendar-nav-right:hover {
  background-color: #639000;
}
.description {
  text-align: center;
  padding-bottom: 40px;
}
.jsCalendar.clean-theme tbody td.jsCalendar-previous,
.jsCalendar.clean-theme tbody td.jsCalendar-next {
  color: #000;
  opacity: 0.2;
}
#wrapper {
  display: flex;
  gap: 2em;
  align-items: stretch;
}
#wrapper > * {
  flex: 1 1 50%;
}
#wrapper .jsCalendar table {
  box-shadow: none;
}
.clear {
  clear: both;
}
#events {
  background: #f8f8f8;
  width: 435px;
  padding: 10px;
}
#events .title {
  padding: 5px 0px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  color: #555;
  font-weight: 400;
  font-size: 18px;
}
#events .subtitle {
  padding: 20px 0px;
  font-size: 14px;
  text-align: center;
  color: #888;
}
#events .list {
  height: 500px;
  overflow-y: auto;
}
#events .list .event-item {
  line-height: 24px;
  min-height: 24px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
#events .list .event-item .close {
  font-family: Tahoma, Geneva, sans-serif;
  font-weight: bold;
  font-size: 12px;
  color: #000;
  border-radius: 8px;
  height: 14px;
  width: 14px;
  line-height: 12px;
  text-align: center;
  float: right;
  border: 1px solid rgba(0, 0, 0, 0.5);
  padding: 0px;
  margin: 5px;
  display: block;
  overflow: hidden;
  background: #F44336;
  cursor: pointer;
}
#events .action {
  text-align: right;
}
#events .action input {
  padding: 0px 5px;
  font-size: 12px;
  margin: 10px 5px;
  border: 1px solid #999999;
  height: 28px;
  line-height: 28px;
  width: 120px;
  background: #f8f8f8;
  color: black;
  cursor: pointer;
  transition: all 0.2s;
}
#events .action input:hover {
  background: #eee;
  border: 1px solid #000;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
}
.version {
  font-size: 12px;
  width: 800px;
  margin: 0 auto;
  text-align: right;
}
@media (max-width: 991px) {
  #wrapper {
    flex-direction: column;
  }
  #events {
    max-width: 100%;
  }
  .jsCalendar tbody td {
    flex: 0 0 30px;
    height: 30px;
    line-height: 30px;
    width: 30px;
  }
  .jsCalendar thead .jsCalendar-week-days th {
    flex: 0 0 30px;
    height: calc(60px / 2);
    line-height: calc(60px / 2);
  }
}
