.calendar {
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.25);
    font: 13px/1.5 "Helvetica Neue", Helvatica, Arial, san-serif;
    display: table;
	width: 100%;
}

.calendar header {
	cursor: default;
	height: 40px;
	position: relative;
	font-weight: bold;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	padding: 0;
	background: #e64946 !important;
}

.calendar header span {
	display: inline-block;
	line-height: 39px;
	color: #fff;
}

.calendar header .button {
	width: 40px;
	text-align: center;
	position: absolute;
	cursor: pointer;
	background: #e64946 !important;
    transition: all linear .3s;
    -webkit-transition: all linear .3s ease;
    -moz-transition: all linear .3s ease;
    -ms-transition: all linear .3s ease;
    -o-transition: all linear .3s ease;
}

.calendar header .button:hover {
	background: #0582e1 !important;
}

.calendar header .left.button {
    left:0;
}

.calendar header .right.button {
    right:0;
    top:0;
}

.calendar header .header-label {
    letter-spacing: 1px;
    width: 100%;
    text-align: center;
	cursor: pointer;
}

.calendar table {
    background:#fff;
    border-collapse: collapse;
}

.calendar table td {
    color:#2b2b2b;
    width:30px;
    height:30px;
    line-height:30px;
    text-align:center;
    border:1px solid #e6e6e6;
    cursor:default;
}

.calendar thead th {
	height: 30px;
	line-height: 30px;
	text-transform: uppercase;
	font-size: 11px;
	color: #353535;
	text-align: center;
	font-weight: 600;
	width: 14.2%;
}

.calendar thead th:not(:last-child) {
    border-right:1px solid #fff;
}

.calendar .calendar-frame table {
    width: 100%;
}

.calendar .calendar-frame tbody td.today {
	background: #e64946;
	color: #fff;
}

.calendar .calendar-frame tbody td:not(.disabled).selected {
    background:#eee;
    color:#555;
}

.calendar .calendar-frame tbody td:not(.disabled):hover {
    color: #fff;
	background:	#555;
	cursor: pointer;
}
