.cal-title { position: relative; }
.cal-title h3 { float: left; }
.cal-title h3 span { white-space: nowrap; }
.cal-nav { position: absolute; right: 0; display: block; margin: 0 10px 0 0; }
.cal-nav li { float: left; margin: 0 0 0 3px; }
.cal-nav a { width: 28px; height: 28px; padding: 0; border: 1px solid #ddd; display: block; color: #888; text-indent: -9999px; background-color: #fff; -webkit-box-shadow:  0px 1px 1px 0px rgba(180, 180, 180, 0.1); box-shadow:  0px 1px 1px 0px rgba(180, 180, 180, 0.1); -webkit-transition: all 0.1s ease-in-out; -moz-transition: all 0.1s ease-in-out; -o-transition: all 0.1s ease-in-out; -ms-transition: all 0.1s ease-in-out; transition: all 0.1s ease-in-out; }
.cal-nav a:hover { color: #fff !important; }
.cal-prev { background: url(images/portfolio-nav-left.png) no-repeat 52% 50%; }
.cal-prev:hover { background-image: url(images/slider-control-left.png); background-repeat: no-repeat; background-position: 52% 50%; }
.cal-next { background: url(images/portfolio-nav-right.png) no-repeat 48% 50%; }
.cal-next:hover { background-image: url(images/slider-control-right.png); background-repeat: no-repeat; background-position: 48% 50%; }

.calendar-main {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0 0 2px;
}

.calendar-main *, .calendar-main *:after, .calendar-main *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

.fc-calendar {
	position: relative;
	width: 100%;
	height: auto;
}

.fc-calendar .fc-head {
	height: 30px;
	line-height: 30px;
	background: #ccc;
	color: #fff;
}

.fc-calendar .fc-body {
	position: relative;
	width: 100%;
	height: auto;
	margin-bottom: 20px;
	border: 1px solid #ddd;
}

.fc-calendar .fc-row {
	width: 100%;
	height: 125px;
	border-bottom: 1px solid #ddd;
}

.fc-calendar .fc-row > div,
.fc-calendar .fc-head > div {
	float: left;
	height: 100%;
	width:  14.28%; /* 100% / 7 */
	width: -moz-calc((100% - 1px) / 7);
	width: -webkit-calc((100% - 1px) / 7);
	width: calc((100% - 1px) / 7);
	position: relative;
}

/* IE 9 is rounding up the calc it seems */
.ie9 .fc-calendar .fc-row > div,
.ie9 .fc-calendar .fc-head > div {
	width:  14.2%;
}

.fc-calendar .fc-row > div {
	border-right: 1px solid #ddd;
	padding: 4px;
	overflow: hidden;
	position: relative;
}

.fc-calendar .fc-head > div {
	text-align: center;
}

.fc-calendar .fc-row > div > span.fc-date {
	position: absolute;
	width: 100%;
	height: 30px;
	padding: 5px;
	font-size: 20px;
	line-height: 20px;
	font-weight: 700;
	color: #ccc;
	bottom: 0;
	right: 0;
	text-align: right;
	background: #fff;
}
.fc-calendar .fc-row > div.fc-today > span.fc-date {
	background: #fff4c3;
}

.fc-calendar .fc-row > div > span.fc-weekday {
	padding-left: 5px;
	display: none;
}

.fc-calendar .fc-row > div.fc-today {
	background: #fff4c3;
}

.fc-calendar .fc-row > div.fc-out {
	opacity: 0.6;
}

.fc-calendar .fc-row > div:last-child,
.fc-calendar .fc-head > div:last-child {
	border-right: none;
}

.fc-calendar .fc-row:last-child {
	border-bottom: none;
}

.fc-calendar .fc-row > div > div {
	margin-bottom: 25px;
}

.fc-calendar .fc-row > div > div span {
	font-size: 12px;
	line-height: 13px;
	display: inline-block;
	padding: 2px 3px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	margin-bottom: 1px;
}

@media only screen and (max-width: 767px) {
	.custom-header,
	.custom-header nav,
	.custom-calendar-full,
	.fc-calendar-container, 
	.fc-calendar,
	.fc-calendar .fc-head,
	.fc-calendar .fc-row > div > span.fc-date {
		position: relative;
		top: auto;
		left: auto;
		bottom: auto;
		right: auto;
		height: auto;
		width: auto;
		padding: 0;
	}

	.fc-calendar {
	}

	.fc-calendar .fc-body {
		border: none;
	}

	.fc-calendar .fc-row,
	.ie9 .fc-calendar .fc-row > div,
	.fc-calendar .fc-row > div {
		height: auto;
		width: 100%;
		border: none;
	}

	.fc-calendar .fc-row > div {
		float: none;
		padding: 10px 0;
		box-shadow: inset 0 -1px rgba(0,0,0, 0.2) !important;
	}

	.fc-calendar .fc-row > div:empty {
		min-height: 0;
		height: 0;
		padding: 0;
		border: none;
		box-shadow: none;
	}

	.fc-calendar .fc-row {
	}

	.fc-calendar .fc-head {
		display: none;
	}

	.fc-calendar .fc-row > div > div {
		margin: 0;
		padding-left: 10px;
		max-width: 70%;
		display: inline-block;
	}

	.fc-calendar .fc-row > div.fc-today {
	}

	.fc-calendar .fc-row > div.fc-today:after { 
		display: none;
	}

	.fc-calendar .fc-row > div > span.fc-date {
		width: 30px;
		display: inline-block;
		text-align: right;
	}

	.fc-calendar .fc-row > div > span.fc-weekday {
		display: inline-block;
		width: 40px;
		font-size: 10px;
		text-transform: uppercase;
	}

	.fc-calendar .fc-row > div > div span {
		display: block;
		white-space: normal;
		overflow: auto;
		text-overflow: auto;
	}
}

.calendar-event {}
.calendar-event ul {
	margin-bottom: 12px;
}
.calendar-event .date-block li, .calendar-event .address-block li {
	position: relative;
	margin-left: 18px;
}
.calendar-event .date-block .ico, .calendar-event .address-block .ico {
	position: absolute;
	left: -18px;
	top: 0px;
}
