/*
*
* ==========================================
* 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;
}
.list-unstyled{
  list-style-type: none;
}
#primary .post .entry-content h6, #primary .page .entry-content h6.initials{
  font-weight: 300;
  list-style: none;
}
.calendar a{
  cursor: pointer;
  border: 1px solid var(--primary-color-dark);
  padding: .1em .5em;
  border-radius: .3em;
}
.calendar a svg{
  transform: scale(.8);
}

.calendar a:hover svg path{
  fill: #fff;
}
.calendar a:hover{
  background-color: var(--primary-color-dark);
}
.firstDateMonth-flex{
  display: flex;
  gap: .5em;
} 
.justify-content-center{
  justify-content: center;
} 
.align-items-center{
  align-items: center;
}
.month-year-btn{
  gap: 2em;
  margin: 2em
}
.inside *{
  pointer-events: none;
}
.outside-alt{
  color: var(--primary-color);
  border: 1px solid #eee;
  border-bottom: 2px solid #eee;
  padding-left: .5em;
}
.calendar .days li.outside,.calendar .days li.outside-alt{
  cursor: default;
}
.inside{
  color: var(--primary-color-dark);
  border: 1px solid #eee;
  border-bottom: 2px solid #eee;
  padding-left: .5em;
  transition: border .5s;
}
.outside{
  background-color: var(--primary-color-lightest) !important;
  color: var(--primary-color-lightest);
}
.calendar .days li.outside div.date{
  color: var(--primary-color-lightest);
}
.inside:hover{
  border-bottom: 2px solid var(--primary-color);
}
.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;
}
.hide{
  display: none;
}
.month-year {
  width: 11rem;
}
.month, .year {
  font-size: 1.5rem;
}

#primary .page .entry-content .initials {
  font-size: 1em;
}
@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.28571%;
  height: 6.5em;
}

.day-names{
  margin: 0;
}
.calendar .day-names li{
  color: #444;  
  height: 2em;
  padding-bottom: 3em;
}
.calendar .days li {
  min-height: 6.5rem;
  cursor: pointer;
}
.calendar .days{
  margin:0
}
.calendar .days li .date {
  margin-bottom: 0.5rem;
}

.calendarEventsContainer .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: 1em;
  margin: 0 1px 1px 0;
}

.calendarEventsContainer{
  display: none;
  flex-direction: column;
  position: absolute;
  padding: .5em 1em;
  background-color: #fff;
  box-shadow: 0 0 10px #6e6e6e38;
  border-radius: .8em;
}
.calendarEventsContainer .event.span-2 {
  width: 200%;
}

.calendarEventsContainer .event.begin {
  border-radius: 1rem 0 0 1rem;
}

.calendarEventsContainer .event.end {
  border-radius: 0 1rem 1rem 0;
}

.calendarEventsContainer .event.clear {
  background: none;
}
.events{
  width: 100%;
  justify-content: center;
  align-items: center;
  display: flex;
}
		 
.events i{
  /*height: 2em !important;*/
  /*width: 2em !important;*/
  font-size: 2em;
}

.calendar .days li:nth-child(n+29) {
  border-bottom: none;
}

.calendar .days li.outside .date  {
  color: #ddd;
}

.calendar .days li.today {
  background-color: var(--primary-color-dark);
  color: #fff;
}

.tag_calendar_virtual_meeting_summary div#calendar ol.days,
.tag_calendar_virtual_meeting_summary div#calendar ol.days-names {
  list-style-type: none;
  list-style-position: unset;
  padding: 0 0 0px;
}

.tag_calendar_virtual_meeting_summary div#calendar ol.day-names.list-unstyled li {
  list-style-type: none;
} 

.tag_calendar_virtual_meeting_summary div#calendar ol.day-names.list-unstyled li h6 {
   font-size: 1.25em;
}

.tag_calendar_virtual_meeting_summary div#calendar a.next-month,
.tag_calendar_virtual_meeting_summary div#calendar a.prev-month {
  color: var(--primary-color-dark);
}

.tag_calendar_virtual_meeting_summary div#calendar a.next-month:hover,
.tag_calendar_virtual_meeting_summary div#calendar a.prev-month:hover {
  color: #fff;
}

.tag_calendar_virtual_meeting_summary div#calendar ol li.inside div.date {
  font-size: 18px;
  color: var(--primary-color-dark);
}

.tag_calendar_virtual_meeting_summary div#calendar ol li.outside div.date {
  font-size: 18px;
  color: var(--primary-color-lightest);
}

.tag_calendar_virtual_meeting_summary div#calendar ol li.inside.today div.date {
  font-size: 18px;
  color: #fff;
}

.tag_calendar_virtual_meeting_summary .guide-container span.events.available i {
  color: var(--primary-color-dark);
}

.tag_calendar_virtual_meeting_summary .guide-container span.events.not_available i {
  color: #cc0000;
}