.availability-calendar {
	position: relative;
    width: 100%;
	padding: 0px 5% 0px;
	display: flex;
	justify-content: center;
}
  
  
.availability-calendar .ccm-block-calendar-wrapper {
	width: 100%;
	max-width: 900px;
	background: #fff;
	  padding: 20px;
	  border-radius: 5px;
	  box-shadow: 0 0 10px #f0f0f0;
}

.availability-calendar .fc-content {
	padding: 5px;
}

.availability-calendar .fc-toolbar h2 {
	font-size: 1.5em;
	margin: 0 0 0 0;
}

.availability-calendar .fc-button {
	background: #f0f0f0;
	  border: none;
	  box-shadow: none;
}

.availability-calendar .fc-button:hover {
	background: #e6e3e3;
}

.availability-calendar .fc-state-default {
  color: #afaba4;
  }
 
 .availability-calendar .fc-icon {
	 font-size: 0.7em;
 }
 
 .availability-calendar .fc-state-default {
	 text-shadow: none;
 }

.availability-calendar .fc-day-header {
	color: var(--main-color);
	font-weight: 500;
	border: 4px solid #fafafa;
	border-radius: 6px;
	background: #f0f0f0;
	padding: 5px;
	font-size: 0.9em;
	color: var(--dark-grey-color);
}

.availability-calendar .fc-today-button, .availability-calendar .fc-month-button  {
	display: none;
}

.availability-calendar .fc-toolbar.fc-header-toolbar {
  margin-bottom: 0.5em;
  border: solid 9px #ffffff;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
}

.availability-calendar .fc-toolbar .fc-left {
  margin: 0 0 0 20px;
}

.availability-calendar .fc-head-container {
	padding-bottom: 0;
}

.availability-calendar  .fc-next-button {
	border-radius: 5px;
	margin: 0 0 0 0;
	padding: 5px 15px;
}

.availability-calendar  .fc-prev-button {
	border-radius: 5px;
	margin: 0 8px 0 0;
	padding: 5px 15px;
}

.fc-icon-right-single-arrow:after {
  content: "\f054";
  font-family: 'Font Awesome 5 Pro';
  font-size: 1em;
 font-weight: 500;
  }
 
 .fc-icon-left-single-arrow:after {
   content: "\f053";
   font-family: 'Font Awesome 5 Pro';
   font-size: 1em;
   font-weight: 500;
   }

.availability-calendar td.fc-today {
	background: #fceee3;
	border-style: solid;
  }
  
.availability-calendar  .fc-day  {
	  background: #eaeaea;
  }
  
 .availability-calendar  .fc-unthemed td {
	  border-color: #ffffff;
  }
  
 .availability-calendar .fc td {
	 border-width: 4px;
	 padding: 5px;
	 border-radius: 6px;
	 overflow: hidden;
 }
 
 .availability-calendar .fc-day-number {
	 font-size: 0.9em;
	   color: #868383;
 }

.calendar-key {
	position: relative;
	  margin: 10px 0 0 0;
	  display: inline-block;
	  margin-left: 9px;
}

.calendar-key h3 {
	color: var(--main-color);
	font-size: 1em;
	margin: 0 0 10px 0;
	font-weight: 700;
}

.calendar-key ul {
	display: flex;
	gap: 1%;
	flex-wrap: wrap;
}

.calendar-key ul li {
	font-size: 0.9em;
	  margin: 0 0 1em 0;
	  position: relative;
	  padding-left: 22px;
	  flex: 1 1 49%;
}

.calendar-key ul li:last-of-type {
	margin: 0 0 0 0;
}

.calendar-key  ul li.m590:before {
	content:'';
	display: inline-block;
	height: 15px;
	width: 15px;
	position: absolute;
	margin-right: 8px;
	background: var(--main-color);
	border-radius: 4px;
	top: 1px;
	left: 0;
}

.calendar-key  ul li.m746:before {
	content:'';
	display: inline-block;
	height: 15px;
	width:15px;
	top: 1px;
	left: 0;
	position: absolute;
	margin-right: 8px;
	background: var(--dark-grey-color);
	border-radius: 4px;
}

.calendar-key  ul li.m746-2:before {
	content:'';
	display: inline-block;
	height: 15px;
	width:15px;
	top: 1px;
	left: 0;
	position: absolute;
	margin-right: 8px;
	background: #5bc0d7;
	border-radius: 4px;
}

.calendar-key  ul li.m696:before {
	content:'';
	display: inline-block;
	height: 15px;
	width:15px;
	top: 1px;
	left: 0;
	position: absolute;
	margin-right: 8px;
	background: #fc9c37;
	border-radius: 4px;
}

.calendar-key  ul li.available:before {
	content:'';
	display: inline-block;
	height: 15px;
	width: 15px;
	position: absolute;
	margin-right: 8px;
	background:#eaeaea;
	border-radius: 4px;
	top: 1px;
	left: 0;
}

@media only screen and (max-width: 800px) {
	.availability-calendar .fc-toolbar.fc-header-toolbar {
		align-items:flex-start;
	}
}

@media only screen and (max-width: 580px) {
	
	.calendar-key h3 { 
		margin: 0 0 15px 0;
	}
	.calendar-key  ul {
		flex-direction: column;
	}
	
	.calendar-key  ul li {
		margin-bottom: 1em;
	}
}