@font-face {
  font-family: 'fontawesome-selected';
  src: url("../font/fontawesome-selected.eot");
  src: url("../font/fontawesome-selected.eot?#iefix") format('embedded-opentype'), url("../font/fontawesome-selected.woff") format('woff'), url("../font/fontawesome-selected.ttf") format('truetype'), url("../font/fontawesome-selected.svg#fontawesome-selected") format('svg');
  font-weight: normal;
  font-style: normal;
}

.custom-calendar-full {
	position: absolute;
	top: 24px;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 400px;
}

.fc-calendar-container {
	position: relative;
	height: 400px;
	bottom: 0px;
	width: 100%;
	top: 50px;
	
}

.fc-calendar {
	background: rgba(255,255,255,0.1);
	width: auto;
	top: 10px;
	bottom: 20px;
	left: 20px;
	right: 20px;
	height: auto;
	border-radius: 20px;
	position: absolute;
}

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

.fc-calendar .fc-body {
	position: relative;
	width: 100%;
	height: 100%;
	height: -moz-calc(100% - 30px);
	height: -webkit-calc(100% - 30px);
	height: calc(100% - 30px);
	border: 1px solid #ddd;
}

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

.fc-four-rows .fc-row  {
	height: 25%;
}

.fc-five-rows .fc-row  {
	height: 20%;
}

.fc-six-rows .fc-row {
	height: 16.66%;
	height: -moz-calc(100%/6);
	height: -webkit-calc(100%/6);
	height: calc(100%/6);
}

.fc-calendar .fc-row > div,
.fc-calendar .fc-head > div {
	float: left;
	height: 100%;
	width:  14.28%; /* 100% / 7 */
	width: -moz-calc(100%/7);
	width: -webkit-calc(100%/7);
	/* width: calc(100%/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: 30px;
	height: 20px;
	font-size: 20px;
	line-height: 20px;
	font-weight: 700;
	color: #777;
	text-shadow: 0 -1px 0 rgba(255,255,255,0.8);
	bottom: 5px;
	right: 5px;
	text-align: right;
}

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

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

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


.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;
}

span.custom-prev:before {
	content: '\25c2';
}

span.custom-next:before {
	content: '\25b8';
}
span.custom-current:before {
	content: '\27a6';
}
nav span:last-child {
	margin-left: 20px;
	border-radius: 3px;
}

.custom-month-year {
	-moz-transition: all 0.25s ease-in-out;
		-webkit-transition: all 0.25s ease-in-out;
		-ms-transition: all 0.25s ease-in-out;
		transition: all 0.25s ease-in-out;
		-webkit-appearance: none;
		position: relative;
		display: inline-block;
		background: #2784F5;
		color: #fff !important;
		text-transform: uppercase;
		border-radius: 4px;
		border: 0;
		outline: 0;
		font-size: 1em;
		box-shadow: 0.125em 0.175em 0 0 rgba(0, 0, 0, 0.125);
		font-weight: 600;
		text-align: center;
		font-size: 0.85em;
		letter-spacing: 2px;
		padding: 0.85em 2.75em 0.85em 2.75em;
}

.fc-calendar .fc-row > div > span.fc-emptydate {
	color: #DDD;
}

/* ── Rides Calendar page ─────────────────────────────────────────────────── */

.rides-cal-nav {
	display: flex;
	align-items: center;
	gap: 1em;
	margin-bottom: 1.25em;
	flex-wrap: wrap;
}

.rides-cal-month-year {
	font-size: 1.15em;
	font-weight: 700;
	min-width: 12em;
	text-align: center;
}

.rides-cal-grid {
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 4px;
	overflow: hidden;
}

.rides-cal-row {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	border-bottom: 1px solid #ddd;
}

.rides-cal-row:last-child {
	border-bottom: none;
}

.rides-cal-header .rides-cal-head-cell {
	background: #555;
	color: #fff;
	text-align: center;
	font-weight: 600;
	padding: 0.4em 0;
	font-size: 0.85em;
	letter-spacing: 0.05em;
}

.rides-cal-cell {
	border-right: 1px solid #ddd;
	padding: 0.4em 0.5em 0.5em;
	min-height: 80px;
	vertical-align: top;
	position: relative;
	background: #fff;
}

.rides-cal-cell:last-child {
	border-right: none;
}

.rides-cal-out {
	background: #f8f8f8;
}

.rides-cal-today {
	background: #eef4ff;
}

.rides-cal-today .rides-cal-date-num {
	color: #2784F5;
	font-weight: 700;
}

.rides-cal-has-rides {
	background: #f0f9f0;
}

.rides-cal-today.rides-cal-has-rides {
	background: #e6f0ff;
}

.rides-cal-date-num {
	display: block;
	font-size: 0.9em;
	font-weight: 600;
	color: #555;
	text-align: right;
	line-height: 1.4;
}

.rides-cal-events {
	list-style: none;
	margin: 0.35em 0 0;
	padding: 0;
}

.rides-cal-event {
	font-size: 0.75em;
	line-height: 1.3;
	background: #2784F5;
	color: #fff;
	border-radius: 3px;
	padding: 0.15em 0.35em;
	margin-bottom: 0.2em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media screen and (max-width: 600px) {
	.rides-cal-event {
		font-size: 0.65em;
	}

	.rides-cal-cell {
		min-height: 52px;
		padding: 0.25em;
	}
}

/* ── Ride tooltip ─────────────────────────────────────────────────────────── */

.ride-tooltip {
	position: fixed;
	z-index: 9999;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 5px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	padding: 0.6em 0.85em;
	max-width: 280px;
	pointer-events: none;
	font-size: 0.85em;
	line-height: 1.45;
}

.ride-tooltip-title {
	font-weight: 700;
	font-size: 1em;
	margin-bottom: 0.4em;
	color: #222;
}

.ride-tooltip-details {
	border-collapse: collapse;
	width: 100%;
}

.ride-tooltip-details th,
.ride-tooltip-details td {
	padding: 0.1em 0.35em 0.1em 0;
	vertical-align: top;
	border: none;
	background: none;
}

.ride-tooltip-details th {
	color: #555;
	font-weight: 600;
	white-space: nowrap;
	padding-right: 0.5em;
}

.ride-tooltip-details td {
	color: #222;
}