.calendar {
position: relative;
overflow: hidden;
text-align: center;
color: #545A5C; 
}
.event-date {
text-transform: uppercase;
font-size: 0.9rem;
}
.calendar a {
text-decoration: none;
color: inherit; 
}
.calendar header .simple-calendar-btn {
display: inline-block;
position: absolute;
width: 30px;
height: 30px;
text-align: center;
line-height: 30px;
color: #24292e;
border-radius: 50%;
border: 2px solid #24292e; 
}
.calendar header .simple-calendar-btn:hover {
background: #24292e;
color: white; 
}
.calendar header .simple-calendar-btn:before {
content: '';
position: absolute;
top: 9px;
left: 8px;
width: 8px;
height: 8px;
border-style: solid;
border-width: 3px 3px 0 0;
transform: rotate(45deg);
transform-origin: center center; 
}
.calendar header .btn-prev {
top: 0;
left: 0;
transform: rotate(-180deg); 
}
.calendar header .btn-next {
top: 0;
right: 0; 
}
.calendar header .btn-next:before {
transform: rotate(45deg); 
}
.calendar header .month {
padding: 0;
margin: 0; 
}
.calendar header .month .year {
font-size: 0.6em;
font-weight: 100; 
}
.calendar table {
width: 100%;
margin: 20px 0;
border-spacing: 0px; 
}
.calendar thead {
font-weight: 600; 
}
.calendar td {
padding: .8em .1em; 
}
.calendar .day {
position: relative;
display: inline-block;
width: 2.5em;
height: 2.5em;
line-height: 2.5em;
border-radius: 50%;
border: 2px solid transparent;
cursor: pointer; 
}
.calendar .day.has-event:hover {
background-color: #35397d;
color: white;
}
.calendar .day.today {
background: #35397d;
color: white; 
}
.calendar .day.today.has-event:after {
  background: white; 
}
.calendar .day.wrong-month {
color: #24292e; 
}
.calendar .day.wrong-month:hover {
border: 2px solid transparent; 
}
.calendar .day.has-event {
  border: 2px solid #35397d;/* background: #35397d;  */
}
/* .calendar .day.has-event:after {
content: '';
position: absolute;
top: calc(50% + .6em);
left: calc(50% - 2px);
width: 4px;
height: 4px;
border-radius: 50%;
background: #35397d; 
} */
.calendar .day.disabled {
cursor: default; 
}
.calendar .day.disabled:hover {
  border: 2px solid transparent; 
}
.calendar .event-container {
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 1rem;
background: #cccccc;
box-sizing: border-box; 
}
.calendar .event-container .event-wrapper {
overflow-y: auto;
max-height: 100%;
margin-top: 3rem;
}
.calendar .event-container .close {
position: absolute;
width: 30px;
height: 30px;
top: 20px;
right: 20px;
cursor: pointer; 
}
.calendar .event-container .close:before, .calendar .event-container .close:after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background-color: #24292e; 
}
.calendar .event-container .close:before {
  transform: rotate(45deg); 
}
.calendar .event-container .close:after {
  transform: rotate(-45deg); 
}
.calendar .event-container .event {
position: relative;
width: 100%;
padding: 1em;
margin-bottom: 1em;
background: #35397d;
box-sizing: border-box;
text-align: left;
color: white; 
}
.calendar .event-container .event-date {
  margin-bottom: 1em; 
}
.calendar .event-container .event-summary {
  font-weight: 600;
  font-size: 1.3rem;
}
.calendar .filler {
position: absolute;
width: 0;
height: 0;
border-radius: 50%;
background: #cccccc;
transform: translate(-50%, -50%); 
}
.more.text-center {
  display: block;
  background: #FFF;
  color: #000;
  padding: 0.5rem;
}

@media only screen and (min-width: 600px) {
    .calendar .event-container .event {
      text-align: center;
    }
    
    .calendar .event-container .more {
      margin-top: 1rem;
    }
}