/*
*
* ==========================================
* 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;
  text-transform: uppercase;
}

#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;
  padding: 0 0 10px !important;
  text-align: center;
}
.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;
   text-transform: uppercase;
}

.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;
}

.parent_hour_container_div
{
  margin-left: .3em;
  margin-bottom: 5px;
  gap:1em;
  display: grid;
  grid-template-columns: 90% 3%;
  align-items: center;
  justify-content:center;
}

.hours-container.flex-boxed
{
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  max-width: 100%;
  margin: auto;
}

.hours-container .hour_container_div
{
  font-size:18px;
  height:2em;
  border-radius:.5em;
  color:#fff;
  display:flex;
  justify-content:center;
  gap: .5em;
  align-items:center;
  text-align:center
}

.hours-container.flex-boxed .hour_container_div.flex-boxed
{
  flex: 1 1 calc(33.333% - 10px);
  min-width: 130px;
  background-color: #4ea659;
  padding: 20px;
  text-align: center;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s;
  border-radius: 10px;
  border: 1px solid var(--primary-color-dark);
  padding: 20px;
  color: white;
}

.hours-container.flex-boxed .hour_container_div.flex-boxed:hover
{
  background-color: var(--primary-color-dark);
  transition: background-color 0.3s;
}

.hours-container.flex-boxed .hour_container_div.flex-boxed.selected
{
  background-color: var(--primary-color-dark) !important;
  font-weight: normal;
}


/* Estilos específicos para pantallas desde 0px y hasta 400px */
@media only screen and (max-width: 991px)
{
  .service-selector-view-container
  {
    & input.color-border.flatpickr-mobile
    {
      width: 100% !important;
      min-height: 49px;
      display: flex;
      justify-content: center;
      font-size: 100%;
      color: var(--primary-color);
    }
  }
}

/* Estilos específicos para pantallas desde 0px y hasta 400px */
/* @media only screen and (max-width: 400px) */
/* @media only screen and (min-width: 401px) and (max-width: 540px) */
/* @media only screen and (min-width: 541px) and (max-width: 767px) */
/* @media only screen and (min-width: 768px) and (max-width: 991px) */
@media only screen and (min-width: 541px) and (max-width: 767px)
{
  .service-selector-view-container
  {
    & .date-title,
    & .date-title-childs
    {
      width: 90%;
    }

    & .date-title-childs .selectr-options-container
    {
      z-index: 90 !important;
    }

    & .day_service_date_container,
    & .cat_service_selectr_container,
    & .service_selectr_container,
    & .esthetician_massage_therapist_selectr_container,
    & .cat_service_choices_container,
    & .service_choices_container,
    & .esthetician_massage_therapist_choices_container
    {
      width: 100% !important;
    }
  }
}
