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

/* ================
Calendar Styling */
.calendar {
	min-width: 300px;
	position: relative;
}
.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 {
	padding-bottom: 5px !important;
	padding-top: 5px !important;
	margin-bottom: 0px !important;
}

.calendar ol li {
	float: left;
	width: 14.28571%;
	text-align: center;
}

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

.calendar .days {
	border-bottom: 1px solid #eee;
}
.calendar .days li {
	/* min-height: 6rem; */
	/* cursor: pointer; */
	justify-content: center;
	display: flex;
}

.calendar .days li .date {
	height: 30px;
	width: 100%;
	padding: 5px;
	cursor: pointer;
	position: relative;
	z-index: 99;
}
.calendar .days li.active .date::before {
	content: "";
	height: 30px;
	width: 30px;
	padding: 5px;
	border-radius: 50%;
	background-color: #ff152c;
	cursor: pointer;
	position: absolute;
	top: 1px;
	left: 7px;
	z-index: -1;
}

.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: #fff !important;
}
.calendar .days li.today .date {
	text-decoration: underline;
	border-radius: 50%;
}

.calendar .days li.past {
	pointer-events: none;
}

.calendar .days li.past .date {
	color: #ddd;
	text-decoration: line-through;
}

.calendar .active .date {
	color: #fff;
	font-weight: 500;
}
