.page-template-reservation .container {
	width: 90%;
}

.page-template-reservation .fc-toolbar.fc-header-toolbar {
	margin-top: 15px;
}

.page-template-reservation .fc-toolbar.fc-header-toolbar button {
	font-family: 'Gotham';
	font-weight: 400;
	font-size: 12px !important;
}

.page-template-reservation .fc-toolbar .fc-left {
	flex: 1;
}

.page-template-reservation .fc-toolbar .fc-center {
	flex: auto;
}

.page-template-reservation .fc-toolbar .fc-center div {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.page-template-reservation .fc-content-skeleton table {
	border-spacing: 0 5px !important;
}

.page-template-reservation .fc-toolbar h2 {
	text-transform: uppercase;
	font-family: 'Gotham';
	font-weight: 900;
	font-size: 20px !important;
}

.page-template-reservation .fc-toolbar .fc-center button {
	padding: 5px;
}

.page-template-reservation table {
	border-collapse: separate;
	/* border-spacing: 10px;*/
	background: #fff;
}

.page-template-reservation .reservation_page {
	box-shadow: inset 0 15px 20px -10px #0000000d;
	padding-top: 60px;
}

.page-template-reservation .fc-row:last-child .fc-bg table tbody td {
	border-bottom: 0 !important;
}

.page-template-reservation .fc-view-container {
	position: relative;
	padding-top: 45px;
}

.page-template-reservation .fc-head-container .fc-day-header,
.page-template-reservation .fc-head-container .fc-day-header span {
	font-size: 16px !important;
}

.page-template-reservation .fc-view-container .fc-scroller {
	height: auto !important;
	overflow-y: auto !important;
}

.page-template-reservation .fc-event .fc-content {
	margin-bottom: 5px;
}

.page-template-reservation .fc-event-container * {
	text-transform: none;
	font-size: 12px !important;
	text-align: initial;
}

.page-template-reservation .fc-event-container .fc-time {
	display: none !important;
}

.page-template-reservation .fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
	float: left;
	font-size: 37px !important;
	font-family: 'Gotham';
}

.page-template-reservation .dayhasEvent .fc-day-number {
	color: #3ABFF0 !important;
}

.page-template-reservation .ui-state-hover,
.page-template-reservation .ui-button:hover,
.page-template-reservation .ui-button:focus {
	border: unset;
	color: unset;
}

.page-template-reservation .fc-event {
	position: relative;
}

.page-template-reservation .fc-event:after {
	content: "";
	position: absolute;
	background-color: #000;
	top: 100%;
	height: 1px;
	width: 25%;
	left: 0;
	margin-top: 5px;
}

.page-template-reservation table tr:first-child td {
	box-shadow: none !important;
}

.page-template-reservation .ui-widget-header,
.page-template-reservation .ui-widget-content {
	border: unset !important;
}

.page-template-reservation .fc-prev-button .ui-icon-caret-1-w,
.page-template-reservation .fc-next-button .ui-icon-caret-1-e {
	background-image: url('../images/ui-icons_3abff0_256x240.png');
}

.page-template-reservation .fc-prev-button,
.page-template-reservation .fc-next-button {
	box-shadow: 1px 0px 6px #ccc;
	background: #fff;
}

.page-template-reservation .modal-backdrop.in {
	opacity: 0;
}

.page-template-reservation .fc-event-container .fc-title {
	white-space: initial;
	margin-left: 0px;
	color: #000;
	font-family: 'Poppins';
	font-weight: 500;
}

.page-template-reservation .fc-event-container .fc-title:hover {
	color: #3ABFF0;
}

button:after {
	background: unset !important;
}

.page-template-reservation button.ui-state-disabled {
	display: none;
}

.page-template-reservation .message_calendar {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
}

.page-template-reservation .message_calendar .msg_event {
	display: none;
	text-align: center;
	color: #3ABFF0;
	padding-top: 30px;
	padding-left: 300px;
	font-family: 'Gotham';
}

@media only screen and (max-width: 959px) {
	.page-template-reservation .fc .fc-toolbar>*>* {
		float: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.page-template-reservation .fc-view-container * {
		font-size: 14px !important;
	}

	.page-template-reservation .container {
		width: 100%;
		padding-left: 0px !important;
		padding-right: 0px !important;
		max-width: 100% !important;
	}

	.page-template-reservation .message_calendar .msg_event {
		padding-top: 30px;
	}
}

@media only screen and (max-width: 440px) {
	.page-template-reservation .fc-view-container * {
		font-size: 12px !important;
	}

}

@media only screen and (max-width: 768px) {

	.woocommerce table.shop_table_responsive tr td::before,
	.woocommerce-page table.shop_table_responsive tr td::before {
		content: "";
		font-weight: 700;
		float: left;
	}

	.woocommerce table.shop_table_responsive tr th::after,
	.woocommerce-page table.shop_table_responsive tr th::after {
		content: "";
		font-weight: 700;
	}

	.cart_product,
	.cart-subtotal,
	.order-total {
		display: flex !important;
	}

	.cart_product th,
	.cart-subtotal th,
	.order-total th {
		display: block !important;
		width: 50% !important;
	}

	.cart_product td,
	.cart-subtotal td,
	.order-total td {
		width: 50%;
		display: grid !important;
		align-items: end;
	}

}

@media only screen and (max-width: 518px) {
	.page-template-reservation .message_calendar .msg_event {
		padding-top: 60px;
		padding-left: 0;
	}

	.page-template-reservation .fc-toolbar.fc-header-toolbar {
		display: grid;
		margin: auto;
		margin-top: 15px !important;
	}

	.page-template-reservation .fc-toolbar .fc-left {
		margin-bottom: 15px !important;
	}
}


#calendar .fc-toolbar-title {
	text-transform: uppercase;
	font-family: Gotham;
	font-weight: 900;
	font-size: 40px;
}

#calendar .fc-header-toolbar {
	margin-top: 20px;
}

#calendar .fc-header-toolbar .fc-toolbar-chunk>div:has(> .fc-toolbar-title) {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

#calendar .fc-daygrid-day-number {
	font-size: 35px;
	font-family: Gotham !important;
	color: #2d2338;
	text-decoration: none;
	line-height: 1em;
}

.fc .fc-daygrid-day-number {
	padding: 8px 4px !important;
}

#calendar .fc-col-header-cell {
	border: none;
	border-bottom: 1px solid #000;
}

/* #calendar .fc-daygrid-day {
	border: none;
	border-bottom: 1px solid #000;
} */

#calendar.fc-theme-standard td {
	border: none;
	position: relative;
}

#calendar.fc-theme-standard td::after {
	content: "";
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 0;
	height: 1px;
	background: #000;
}

#calendar .fc-daygrid-body tbody tr:last-child td::after {
	display: none;
}

#calendar .fc-scrollgrid {
	border: none;
}

#calendar .fc-event {
	background: transparent;
	border: none;
}

#calendar .fc-event-title {
	color: #000;
	font-family: Poppins;
	font-weight: 500;
	white-space: pre-wrap;
	text-align: left;
}

#calendar .fc-daygrid-event-dot {
	display: none;
}

#calendar .fc-header-toolbar .fc-prev-button,
#calendar .fc-header-toolbar .fc-prev-button:hover,
#calendar .fc-header-toolbar .fc-prev-button:focus,
#calendar .fc-header-toolbar .fc-next-button,
#calendar .fc-header-toolbar .fc-next-button:hover,
#calendar .fc-header-toolbar .fc-next-button:focus {
	border-radius: 50px !important;
	background-color: #fff !important;
	box-shadow: 1px 0px 6px #ccc !important;
	padding: 5px !important;
	color: #37c0f0 !important;
	border: none !important;
}

#calendar .fc-header-toolbar .fc-prev-button:disabled,
#calendar .fc-header-toolbar .fc-next-button:disabled {
	display: none;
}

#calendar table.fc-col-header thead tr th {
	/* padding-bottom: 20px; */
	text-align: left;
	font-weight: 300 !important;
	font-size: 16px !important;
	letter-spacing: 1.6px;
	background: none;
}


#calendar table tr:nth-child(2n) td {
	background: none !important;
}

#calendar table {
	margin-bottom: 0px;
}

#calendar table.fc-col-header thead tr th a,
#calendar table.fc-col-header thead tr th a:hover {
	color: #000;
	text-decoration: none;
	font-weight: 500;
	font-family: "Lucida Grande", "Lucida Sans", Arial, sans-serif !important;
	font-size: 16px;
}


#calendar table.fc-col-header .fc-scrollgrid-sync-inner {
	margin: 0 8px;
	padding-bottom: 15px;
	border-bottom: 1px solid #000;
}

#calendar .fc-daygrid-day-top {
	flex-direction: row;
}

#calendar .fc .fc-cell-shaded,
.fc .fc-day-disabled {
	background: unset;
}

#calendar .fc-daygrid-day-events .fc-daygrid-event-harness {
	margin-bottom: 15px !important;
}

#calendar .fc-daygrid-day-events:has(> .fc-daygrid-event-harness) {
	margin-bottom: 0px;
}

#calendar.fc-theme-standard td,
#calendar.fc-theme-standard th {
	border: none;
}

.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
	min-height: 1.5em !important;
	position: relative;
}

.fc-daygrid-event-harness {
    border: 1px solid transparent;
}

.fc-daygrid-event-harness:hover {
    background: #fff !important;
    border-color: #37c0f0 !important;
}

.fc-daygrid-event-harness:hover .calendar-stage-title {
    color: #37c0f0 !important;
}

#calendar .fc-daygrid-event-harness:hover .calendar-stage-icon {
	filter: none;
}




#calendar .calendar-stage-event {
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 2px 5px;
	width: 100%;
	box-sizing: border-box;
}

#calendar .calendar-stage-icon {
	display: none;

}

#calendar .calendar-stage-title {
	font-size: 14px;
	line-height: 16px;
	white-space: wrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #fff;
}




@media (max-width: 720px) {

	#calendar .calendar-stage-title {
		display: none;
	}

	#calendar .calendar-stage-icon {
		display: block;
		width: 30px;
		height: 30px;

		background-image: var(--calendar-stage-icon);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
	
	#calendar .calendar-stage-icon {
		margin: 0 auto;
	}

	#calendar .fc-daygrid-day-events .fc-daygrid-event-harness {
		width: 100%;
	}

	.fc-daygrid-event-harness {
		background-color: unset !important;
		border-radius: 5px;
		padding: 0px;
	}

	.fc-daygrid-event-harness:hover {
		background: unset !important;
		border-color: #fff !important;
	}

	#calendar .fc-event {
		background: transparent;
		border: none;
		margin: 0px !important;
		padding: 0px;
	}
	#calendar .fc-daygrid-day-events .fc-daygrid-event-harness {
		margin-bottom: 2px !important;
	}

	.fc .fc-daygrid-day-number {
		padding-bottom: 0px !important
	}

}


@media (max-width: 450px) {
	#calendar .fc-daygrid-day-events .fc-daygrid-event-harness {
		margin-bottom: 5px !important;
	}

	#calendar table.fc-col-header .fc-scrollgrid-sync-inner {
		padding-bottom: 5px !important;
	}

	#calendar .fc-day .fc-daygrid-day-number {
		font-weight: 600 !important;
	}

	#calendar .calendar-stage-icon {
		display: block;
		width: 24px;
		height: 24px;
	}

}