/* ==== Header & Footer ==== */

.mc-main nav ul,
.mc-main .mc-time {
	gap: .5rem;
}

.mc-main .my-calendar-header,
.mc-main .my-calendar-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 1em 0;
	padding: 0;
	gap: 1em;
}

.mc-main .my-calendar-header a,
.mc-main .my-calendar-header span.mc-active,
.mc-main .my-calendar-footer a,
.mc-main .my-calendar-footer span.mc-active {
	color: #2273ba;
	background: #e5f7fb;
	padding: .5em .75em;
	line-height: 1;
	text-decoration: none;
	border-radius: 4px;
	border-bottom: 2px solid #a9e2ee;
	transition: all .2s ease;
}

.mc-main .my-calendar-header span.mc-active,
.mc-main .my-calendar-footer span.mc-active {
	background: #a9e2ee;
}

.mc-main .my-calendar-header a:hover,
.mc-main .my-calendar-header a:focus,
.mc-main .my-calendar-footer a:hover,
.mc-main .my-calendar-footer a:focus {
	background: #a9e2ee;
}

.mc-main .my-calendar-header a::before,
.mc-main .my-calendar-header span.mc-active::before,
.mc-main .my-calendar-footer a::before,
.mc-main .my-calendar-footer span.mc-active::before {
	font: bold 1em 'Font Awesome 5 Free' !important;
	display: inline-block;
	margin: 0 .5em 0 0;
}

.mc-main .my-calendar-header a::after,
.mc-main .my-calendar-header span.mc-active::after,
.mc-main .my-calendar-footer a::after,
.mc-main .my-calendar-footer span.mc-active::after {
	font: bold 1em 'Font Awesome 5 Free' !important;
	display: inline-block;
	margin: 0 0 0 .5em;
}

.mc-main .my-calendar-header .my-calendar-nav .my-calendar-prev a::before {
	content: '\f053';
}

.mc-main .my-calendar-header .my-calendar-nav .my-calendar-next a::after {
	content: '\f054';
}

.mc-main .my-calendar-header .mc-time .month::before {
	content: '\f133';
}

.mc-main .my-calendar-header .mc-time .week::before {
	content: '\f784';
}

.mc-main .my-calendar-header .mc-time .day::before {
	content: '\f783';
}

.mc-main .my-calendar-footer .category-key h3 {
	display: none;
}

.mc-main .my-calendar-footer .category-key li a {
	column-gap: .5em;
}

.mc-main .my-calendar-footer .category-key .category-color-sample {
	width: 1em;
	height: 1em;
	border-radius: 1em;
	border: 1px solid #2273ba;
	outline: 2px solid #fff;
}

.mc-main .my-calendar-footer .mc-subscribe .google a::before,
.mc-main .my-calendar-footer .mc-subscribe .outlook a::before {
	content: '\f271';
}

/* ==== Content - Month & Week View ==== */

.mc-main .my-calendar-table thead tr {
	background: #2273ba;
}

.mc-main .my-calendar-table thead tr th {
	width: calc(100% / 7);
	color: #fff;
	padding: .5em;
	border: 1px solid #2273ba !important;
}

.mc-main .my-calendar-table tbody tr td {
	height: 120px;
	padding: .5em;
	border: 1px solid #2273ba !important;
}

.mc-main .my-calendar-table tbody tr td .mc-event {
	margin: 5px 0 0;
	border-radius: 4px;
}

.mc-main .my-calendar-table tbody tr td .mc-event a {
	display: block;
	font-size: 14px;
	padding: 4px 8px;
}

.mc-main .mc_board,
.mc-main .my-calendar-footer .category-key .cat_board .category-color-sample {
	border: 1px solid #a9e2ee;
}

.mc-main .mc_general,
.mc-main .my-calendar-footer .category-key .cat_general .category-color-sample {
	border: 1px solid #eeddaa;
}

.mc-main .mc_planning,
.mc-main .my-calendar-footer .category-key .cat_planning .category-color-sample {
	border: 1px solid #ffbbbb;
}

.mc-main .mc-event .event-title,
.mc-main .mc-event .event-title a {
	border-radius: 4px;
	line-height: 1.2;
}

/* Content - Day & List View */

.list-event {
	border-radius: 4px;
}

.list-event .single-details h3.event-title {
	font-size: 20px;
	font-weight: bold !important;
	padding: 0.5em 1rem;
}

.list-event .single-details .event-details {
	padding: 1rem;
	display: flex;
	line-height: 1.5;
}

.list-event .single-details .event-details>div {
	width: 50%;
}

.list-event .single-details .event-morelink {
	margin: 1em 0 0;

}

.list-event .single-details .event-morelink a,
.mc-main .details .mc_edit_links a {
	display: inline-block !important;
	padding: 0.5em 0.75em;
	background: #e5f7fb;
	border-radius: 4px;
	border-bottom: 2px solid #a9e2ee;
	line-height: 1;
	transition: all .2s ease;
	color: #2273ba;
}

.list-event .single-details .event-morelink a:hover {
	text-decoration: none;
	background: #a9e2ee;
}

.mc-main .details .location {
	margin: 0;
}

.mc-main .details .mc_edit_links {
	font-size: 0;
	font-family: inherit;
	line-height: 1.5;
	margin: 1em 0 0;
	padding: 1rem;
	background: none;
	border: none;
	border-top: 1px solid #ddd;
	border-radius: 0;
}

.mc-main .details .mc_edit_links a {
	font-size: 16px;
	margin: 0 .5em 0 0;
}

/* ==== Content: Single Event View ==== */

.single-mc-events #nav-below {
	display: none;
}

@media (min-width: 501px) and (max-width: 1350px) {
	#main {
		padding: 1em;
		box-sizing: border-box;
	}
}

@media (max-width: 500px) {
	.mc-main h2.heading {
		margin: 0 0 1em;
		font-size: 1.2em;
	}

	.mc-main:not(.mini) .my-calendar-header,
	.mc-main:not(.mini) .my-calendar-footer,
	.mc-main:not(.mini) table.my-calendar-table,
	.mc-main:not(.mini) table.my-calendar-table tbody {
		width: 100%;
		margin: 1em 0;
	}

	.mc-main .my-calendar-header .my-calendar-nav,
	.mc-main .my-calendar-header .my-calendar-nav ul,
	.mc-main .my-calendar-header .mc-time {
		width: 100%;
		justify-content: space-between;
	}

	.mc-main .my-calendar-header .my-calendar-nav ul li,
	.mc-main .my-calendar-header .mc-time > * {
		flex-grow: 1;
	}

	.mc-main .my-calendar-header .my-calendar-nav ul li a,
	.mc-main .my-calendar-header .my-calendar-nav ul li span.mc-active,
	.mc-main .my-calendar-header .mc-time > * {
		width: 100%;
		text-align: center;
	}

	.mc-main:not(.mini) table.my-calendar-table thead {
		display: none;
	}

	.mc-main:not(.mini) table.my-calendar-table tbody tr {
		padding: 0 !important;
	}

	.mc-main:not(.mini) table.my-calendar-table tbody tr td {
		margin: 1em 0;
		border-radius: 4px;
	}

	.mc-main:not(.mini) table.my-calendar-table tbody tr td.past-day {
		opacity: 0.5;
	}

	.mc-main:not(.mini) table.my-calendar-table tbody tr td .mc-date {
		padding: 0;
		display: flex;
		justify-content: space-between;
		line-height: 1.2;
	}

	.mc-main:not(.mini) table.my-calendar-table tbody tr td .mc-date .screen-reader-text:last-child {
		color: #888;
	}

	.mc-main:not(.mini) table.my-calendar-table tbody tr td.current-day .mc-date .screen-reader-text:nth-child(2) {
		font-weight: bold;
		display: inline-block;
		background: #2273ba;
		color: #fff;
		padding: 4px 6px;
		border-radius: 4px;
	}

	.mc-main .mc-day .list-event {
		margin: 1em 0;
	}

	.mc-main .mc-day .list-event .single-details .event-details {
		flex-direction: column;
		gap: 1em;
	}

	.mc-main .mc-day .list-event .single-details .event-details > div {
		width: 100%;
	}
}