/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*
*/
.clearfix::after,
.calendar ol::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* ================
Calendar Styling */
.calendar {
  min-width: 375px;
  position: relative;
  padding-top:0px !important;
}
.calendar a{
  cursor: pointer;
}
.calendar.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
    supported by Chrome, Edge, Opera and Firefox */
}
.month-year-btn {
  color: #444;
}
.month-year {
  width: 11rem;
}
.month, .year {
  font-size: 1.5rem;
}

.initials {
}

@media (max-width: 550px) {
  .initials {
    position: relative;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    letter-spacing: 1ch;
    width: 1.9ch;
  }

}

.calendar ol li {
  float: left;
  width: 14.085%;
  position:relative;
}

.calendar .day-names {
  border-bottom: 1px solid #eee;
  color: #444;
}

.calendar .days {
  border-bottom: 1px solid #eee;
}
.calendar .days li {
  min-height: 6rem;
  margin-left: 0.2%;
}
.calendar .days li:not(.disabled) {
  cursor: pointer;
}

.calendar .days li .date {
  margin-bottom: 0.5rem;
}

.calendar .days li .event {
  font-size: 0.75rem;
  padding: 0.4rem 0.6rem 0.4rem  0.8rem;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 4rem;
  margin: 0 1px 1px 0;
}

.calendar .days li .event.span-2 {
  width: 200%;
}

.calendar .days li .event.begin {
  border-radius: 1rem 0 0 1rem;
}

.calendar .days li .event.end {
  border-radius: 0 1rem 1rem 0;
}

.calendar .days li .event.clear {
  background: none;
}

.calendar .days li:nth-child(n+29) {
  border-bottom: none;
}

.calendar .days li.outside .date  {
  color: #555;
  display:none;
}

.calendar .days li.outside {
  background-color:#fff;
}

.calendar .days li.today .date  {
  text-decoration: underline;
}
.calendar .days li.me-available .date {
    color:white;
}

.calendar .days li:not(.hasvotes) .votes {
  display:none;
}

.calendar .disabled
{
  background-color: lightgrey;
  opacity: 0.5;
}

.me-available {
  background-color:green !important;
}

.me-available .tickmark:after
{
    content: '\2713';
    display: inline-block;
    padding: 3px;
    color: white;
    border: 3px solid white;
    border-radius: 100%;
    width: 3rem;
    height: 3rem;
}

.me-available .tickmark {
  width:100%;
  text-align:center;
  display:inline-block;
  position:relative;
  font-size:x-large;
}

.tickmark {
  display:none;
}

.votes {
  position: absolute;
  top: 0px;
  right: 0px;
  padding-right: 2px;
  background-color: green;
  color: w;
  border:1px solid black;
  border-radius: 5px;
  padding-left: 10px;
  padding-right: 10px;
  margin-top:3px;
  font-size: small;
  color: white;
  margin-right: 5px;
}

.available-bod
{
  margin-left:10px;

}

.whosavailable {
  font-size:small;
}

h2 {
  text-align:center;
}

#description {
  border: 1px solid black;
  border-radius:10px;
  background-color: var(--bs-info);
  padding: 10px;
}

.hidden {
  display:none;
}

@media (max-width: 550px) {

  .me-available .tickmark:after
  {
      width: 2rem;
      height: 2rem;
      line-height: 1.2rem;
  }
}

.next-month, .prev-month {
  font-size: x-large;
}

#firstdate, #lastdate {
  font-weight:bold
}
