.calendar {
    border: 1px #DDD solid;
	margin-top:25px;
}
.row-cal {
	display:block;
	position:relative;
}
.row-cal:after {
	display:block;
	clear:both;
	content:"";
}
.col-cal {
	/*width:14.28%;*/
	width:16.66%;
	float:left;
	padding:5px 5px;
	font-size:14px;
	border-top:1px #ddd solid;
	border-right:1px #DDD solid;
	min-height:100%;
	height:50px;
	position:relative;
}
.col-cal.head {
    background-color: #6c757d;
    color: #FFF;
    text-align: center;
    padding: 5px 10px;
    height: auto;
}
.col-cal.head p {
	font-size:16px;
	margin:0 0;
}
.row-cal > div:first-of-type {
	background-color:#efefef;
}
.col-cal.item {
	position:relative;
	opacity:0;
	transition: opacity .2s ease;
	line-height: 18px;
	padding: 0 0 ;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
.col-cal.item:hover {
	background-color:#ddd;
	cursor:pointer;
}
.col-cal.item a {
display: flex;
    color: #007bff;
    background-color: #ffffff;
    z-index: 5;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: 600;
}
.col-cal.item a:hover {
	/*
	opacity:.85;
	*/
	color: #000;
	background-color: #FFCC00;
	box-shadow:0px 0px 10px rgba(0,0,0,.2);
	text-decoration:none;
	z-index:30;
}
.col-cal.item.unable > *,
.col-cal.item .unable {
	position:relative;
	background-color: #696969;
	cursor:no-drop;
	z-index:50;
}
.col-cal.item.blocked > *,
.col-cal.item .busy {
	position:relative;
	background-color: #c73737;
	cursor:no-drop;
	z-index:50;
	flex: 0 0 50%;
}
.col-cal.item .able {
	background-color: #007bff;
}
.col-cal.item .able a {
	
}
.col-cal.item div span {
	text-transform: uppercase;
	color: #FFF;
	font-weight: 600;
}
.calendar.loaded .col-cal.item {
	opacity:1;
}
.col-cal span.hour {
	font-weight:600;
	text-align:center;
	display:block;
}


@media (max-width:640px){
	.col-cal {
		font-size:11px;
		padding:2px;
	}
	.col-cal.head {
		padding:2px 4px;
		font-size:9px;
		height:90px;
	}
	.col-cal.head div {
		display:none;
	}
	.col-cal.head p {
		font-size: 12px;
		margin: 0 0;
		line-height: 12px;
	}
	.col-cal.blocked span {
		font-size:9px;
		line-height:12px;
	}
}	


.flx-1, .flx-2, .flx-3 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
    justify-content: space-between;
}
.col-cal.item > div {
	display: flex;
	align-items: center;
	justify-content: center;
}
.flx-1 > div {
	max-width: 100%;
	flex: 0 0 100%;
}
.flx-2 > div {
	max-width: 49.5%;
	flex: 0 0 49.5%;
}
.flx-3 > div {
	max-width: 33%;
	flex: 0 0 33%;
}



