:root {
	--frm-views-calendar-border-color: rgba(209, 209, 219, 1);
	--frm-views-calendar-border-radius: 8px;
	--frm-views-calendar-background-hover-color: rgba(249, 249, 251, 1);
	--frm-views-calendar-svg-arrow-bottom: url( "data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.00012 9L12.0001 15L18.0001 9' stroke='%231A4548' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A" );
	--frm-views-calendar-svg-time-icon: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 19.25C16.0041 19.25 19.25 16.0041 19.25 12C19.25 7.99594 16.0041 4.75 12 4.75C7.99594 4.75 4.75 7.99594 4.75 12C4.75 16.0041 7.99594 19.25 12 19.25Z' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M12 8V12L14 14' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E%0A");
	--frm-views-calendar-svg-date-icon: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.75 8.75C4.75 7.64543 5.64543 6.75 6.75 6.75H17.25C18.3546 6.75 19.25 7.64543 19.25 8.75V17.25C19.25 18.3546 18.3546 19.25 17.25 19.25H6.75C5.64543 19.25 4.75 18.3546 4.75 17.25V8.75Z' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 4.75V8.25' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16 4.75V8.25' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.75 10.75H16.25' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
	--frm-views-calendar-svg-location-icon: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.25 11C18.25 15 12 19.25 12 19.25C12 19.25 5.75 15 5.75 11C5.75 7.5 8.68629 4.75 12 4.75C15.3137 4.75 18.25 7.5 18.25 11Z' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 13.25C13.2426 13.25 14.25 12.2426 14.25 11C14.25 9.75736 13.2426 8.75 12 8.75C10.7574 8.75 9.75 9.75736 9.75 11C9.75 12.2426 10.7574 13.25 12 13.25Z' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
	--frm-views-calendar-color: rgba(40, 40, 51, 1);
	--frm-views-calendar-accent-color: rgba(0, 172, 255, 1);
	--frm-views-calendar-accent-bg-color: rgba( 0, 172, 255, 0.1 );
	--frm-views-calendar-background-color: #ffffff;
	--frm-views-calendar-font-size: 14px;
}
.wp-admin .frmcal select {
	/* Fixes dropdowns width for legacy calendar preview  */
	width: auto;
	margin-left: 5px;
}
.frmcal-hide {
	display: none;
}
div.frm-modern-calendar {
	background: var(--frm-views-calendar-background-color);
}
.frm-modern-calendar .frmcal-header,
.frm-modern-calendar .frmcal-mobile-events-wrapper,
.frm-modern-calendar .frmcal-popup > *,
.frm-modern-calendar .frmcal-filters,
.frm-modern-calendar > div:not(.frmcal-row-headings) > div .frmcal_date,
.frm-modern-calendar .frmcal-row-headings,
.frm-modern-calendar .frmcal-content,
.frm-modern-calendar .frmcal-content p {
	font-size: var(--frm-views-calendar-font-size);
	line-height: 1.25em;
}
.frmcal-today-button,
.frmcal-calendar {
	color: var(--frm-views-calendar-color);
	font-size: var(--frm-views-calendar-font-size);
}
.frm-modern-calendar .frmcal-header {
	display: flex;
	justify-content: space-between;
	height: 46px;
	gap: 15px;
}
.frm-modern-calendar .frmcal-header > * {
	height: 100%;
}
.frm-modern-calendar .frmcal-navs {
	width: 110px;
	border: 1px solid var(--frm-views-calendar-border-color);
	border-radius: 8px;
	overflow: hidden;
	display:flex;
}
.frm-modern-calendar .frmcal-navs a {
	display: flex;
	width: 50%;
	height: 100%;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 0px;
}

.frm-modern-calendar .frmcal-navs a:hover {
	background-color: var(--frm-views-calendar-background-hover-color);
}
.frm-modern-calendar .frmcal-navs a:first-child img {
	transform: rotate(180deg);
}
.frm-modern-calendar .frmcal-navs a:first-child:after {
	content: '';
	display: block;
	width: 1px;
	height: 100%;
	background-color: var(--frm-views-calendar-border-color);
	position: absolute;
	right: 0;
	top: 0;
}
.frm-modern-calendar .frmcal-today-button {
	display: inline-block;
	border: 1px solid var(--frm-views-calendar-border-color);
	border-radius: var(--frm-views-calendar-border-radius);
	margin-left: 40px;
	height: 46px;
	width: 78px;
	text-align: center;
	line-height: 46px;
	text-decoration: none;
	font-weight: 700;
	padding: 0px 8px;
}
.frm-modern-calendar.frm-calendar-small-wrapper .frmcal-today-button {
	display: none;
}
.frm-modern-calendar .frmcal-title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: calc(100% - 400px);
	text-align: left;
	font-size: 1.7em;
	color: var(--frm-views-calendar-color);
}
.frm-modern-calendar .frmcal-filters {
	width: 286px;
	display: flex;
}
.frm-modern-calendar .frmcal-filters select {
	appearance: none;
	border: 1px solid var(--frm-views-calendar-border-color);
	border-radius: 8px;
	font-size: 1.14em;
	height: 100%;
	text-align: left;
	box-sizing: border-box;
	padding-left: 20px;
	font-weight: 600;
	background: var(--frm-views-calendar-svg-arrow-bottom) no-repeat;
	background-size: 24px 24px;
	background-position: right 15px top 11px;
	color: var(--frm-views-calendar-color);
}
.frm-modern-calendar select::-ms-expand {
	display: none;
}
.frm-modern-calendar .frmcal-filters select:first-child {
	width: 150px;
	margin-right: 8px;
}
.frm-modern-calendar .frmcal-filters select:last-child {
	width: 125px;
}
.frmcal-calendar {
	margin-top: 20px;
	border: 1px solid var(--frm-views-calendar-border-color);
	border-radius: var(--frm-views-calendar-border-radius);
}
.frmcal-calendar > div {
	width: 100%;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	overflow: hidden;
}
.frmcal-calendar > div .frmcal-today .frmcal_date {
	color: var(--frm-views-calendar-accent-color);
}
@media screen and ( min-width: 769px ) {
	.frmcal-calendar > div .frmcal-today::before{
		content: '';
		position: absolute;
		width: 100%;
		height: 5px;
		background-color: var(--frm-views-calendar-accent-color);
		top: 0;
		left: 0;
	}
}

.frmcal-calendar > div:not(.frmcal-row-headings) > div {
	width: 14.23%;
	min-height: 167px;
	position: relative;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
}
.frmcal-calendar > div:not(.frmcal-row-headings):not(:last-child){
	border-bottom: 1px solid var(--frm-views-calendar-border-color);
}
.frmcal-calendar > div:not(.frmcal-row-headings) > div:not(:last-child) {
	border-right: 1px solid var(--frm-views-calendar-border-color);
}
.frmcal-calendar .frmcal-row-headings {
	height: 50px;
	text-transform: uppercase;
	border-bottom: 1px solid var(--frm-views-calendar-border-color);
	font-weight: 600;
}
.frmcal-calendar .frmcal-row-headings > div {
	width: 14.28%;
	justify-content: center;
	display: flex;
	align-items: center;
}
.frmcal-calendar > div:not(.frmcal-row-headings) > div .frmcal_date {
	margin: 16px 0px 0px 16px;
	font-weight: 600;
}
.frmcal-calendar .frmcal_date .frm-inactive {
	opacity: 0.6;
}
.frmcal-calendar .frmcal-content {
	padding: 16px;
	word-wrap: break-word;
}
.frmcal-mobile-events-wrapper h1,
.frmcal-mobile-events-wrapper h2,
.frmcal-mobile-events-wrapper h3,
.frmcal-mobile-events-wrapper h4,
.frmcal-mobile-events-wrapper h5,
.frmcal-mobile-events-wrapper h6,
.frmcal-calendar .frmcal-content h1,
.frmcal-calendar .frmcal-content h2,
.frmcal-calendar .frmcal-content h3,
.frmcal-calendar .frmcal-content h4,
.frmcal-calendar .frmcal-content h5,
.frmcal-calendar .frmcal-content h6 {
	padding: 0px;
	margin: 0px;
	font-weight: 600;
	font-size: 1.14em;
}

.frmcal-calendar .frmcal-content p {
	margin: 0px 0px 6px 0px;
}
.frmcal-calendar .frmcal-content p:last-child {
	margin-bottom: 0px;
}
.frmcal-calendar .frmcal-content strong {
	font-weight: 600;
}
.frmcal-multi-day-event {
	position: absolute;
	left: 0;
	top: 45px;
	box-sizing: border-box;
	padding: 16px 18px;
	z-index: 3;
	color: var(--frm-views-calendar-color);
	background: #ffffff;
}
.frmcal-multi-day-event::after {
	content:'';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: var(--frm-views-calendar-accent-bg-color);
}
.frmcal-multi-day-event:not(.frmcal-multi-day-event--duplicate)::before,
.frm-repeating-event.frmcal-multi-day-event:not(.frm-ending-repeated-multiday)::before {
	content: '';
	position: absolute;
	width: 2px;
	height: calc( 100% - 16px );
	background-color: var(--frm-views-calendar-accent-color);
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto auto auto 8px;
}
.frmcal-daily-event .frm-calendar-event-date {
	display: none;
}
.frmcal-multi-day-event .frmcal-daily-event .frm-calendar-event-date {
	display: inline;
}
.frm_rtl .frmcal-multi-day-event {
	text-align: right;
}
.frm_rtl .frmcal-multi-day-event:not(.frmcal-multi-day-event--duplicate)::before {
	left: auto;
	right: 0;
	margin: auto 8px auto auto;
}
.frmcal-multi-day-event.frmcal-multi-day-event--short > * {
	opacity: 0;
}
.frmcal-multi-day-event.frmcal-multi-day-event--short {
	height: 81px;
}
.frmcal-multi-day-event > * {
	position: relative;
	z-index: 2;
}
.frm-daily-event {
	position: relative;
}
.frmcal-event-content {
	margin-bottom: 8px;
}
.frm-modern-calendar:not(.frm-no-popup) .frmcal-multi-day-event:hover,
.frm-modern-calendar:not(.frm-no-popup) .frmcal-event-content:hover {
	cursor: pointer;
}
.frmcal-popup {
	position: absolute;
	top: 0;
	left: 0;
	background: white;
	border-radius: 8px;
	width: 300px;
	z-index: 5;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
	transform: translateY(calc( -100% - 20px ));
	box-sizing: border-box;
	padding: 20px;
	opacity: 1.0;
}
.frmcal-popup:not(.frm-active) {
	pointer-events: none;
}

.frmcal-popup * {
	pointer-events: none;
}
.frmcal-popup::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	bottom: 2px;
	left: 0;
	right: 0;
	margin: auto;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 15px solid white;
	transform: translateY(100%);
	border-radius: 4px;
}

.frmcal-popup.frm-displayed-below:after {
	bottom: auto;
	top: 0;
	transform: translateY(-100%);
	border-top: 0px;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 15px solid white;
}
.frmcal-popup--thumbnail {
	display: flex;
	justify-content: center;
	max-height: 200px;
	overflow: hidden;
	border-radius: 8px;
}
.frmcal-popup--thumbnail img {
	max-width: 100%;
}
.frmcal-popup h3 {
	font-size: 1.14em;
	font-weight: 700;
}
.frmcal-popup h4, .frmcal-popup h3 {
	line-height: 1.25em;
}
.frmcal-popup h4.frmcal-popup--location,
.frmcal-popup h4.frmcal-popup--time,
.frmcal-popup h4.frmcal-popup--date {
	font-weight: 400;
	position: relative;
	padding-left: 30px;
	font-size: var(--frm-views-calendar-font-size);
}
.frmcal-popup h4.frmcal-popup--location::before,
.frmcal-popup h4.frmcal-popup--time::before,
.frmcal-popup h4.frmcal-popup--date::before {
	content: '';
	width: 24px;
	height: 24px;
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
}
.frmcal-popup h4.frmcal-popup--time::before {
	background: var( --frm-views-calendar-svg-time-icon ) no-repeat;
	background-size: 100%;
}
.frmcal-popup h4.frmcal-popup--date::before {
	background: var( --frm-views-calendar-svg-date-icon ) no-repeat;
	background-size: 100%;
	background-position: 0px -2px;
}
.frmcal-popup h4.frmcal-popup--location::before {
	background: var( --frm-views-calendar-svg-location-icon ) no-repeat;
	background-size: 100%;
}
.frmcal-mobile-events-wrapper > *,
.frmcal-popup > * {
	margin: 0px 0px 16px 0px;
	padding: 0px;
	color: var(--frm-views-calendar-color);
}
@media screen and ( min-width: 769px ) {
	.frmcal-hide-on-desktop {
		display: none;
	}
}

@media screen and ( max-width: 768px ) {
	.frm-modern-calendar .frmcal-hide-on-mobile {
		display: none;
	}
	.frmcal-filters {
		width: 238px;
	}
	.frmcal-filters select {
		padding-left: 8px;
		background-position: right 8px top 11px;
	}
	.frmcal-filters select:first-child {
		width: 130px;
	}
	.frmcal-filters select:last-child {
		width: 100px;
	}
	.frmcal-calendar > div:not(.frmcal-row-headings) > div {
		min-height: 65px;
	}
	.frmcal-calendar > div:not(.frmcal-row-headings) > div .frmcal_date {
		margin: 16px auto 0px auto;
	}
	.frmcal-content > .frmcal-daily-event:first-of-type {
		text-align: center;
	}
	.frmcal-content > .frmcal-daily-event:first-of-type::before {
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: var(--frm-views-calendar-accent-color);
		margin: auto;
	}
	.frmcal-mobile-events-wrapper.frm-active  {
		padding: 20px 16px;
		border: 1px solid var(--frm-views-calendar-border-color);
		border-radius: 0px 0px var(--frm-views-calendar-border-radius) var(--frm-views-calendar-border-radius);
	}
	.frmcal.frmcal--mobile-event-active .frmcal-calendar {
		border-radius: var(--frm-views-calendar-border-radius) var(--frm-views-calendar-border-radius) 0px 0px;
		border-bottom: 0px;
	}
	.frmcal-mobile-events-wrapper {
		box-sizing: border-box;
	}

	.frmcal-mobile-events-wrapper > * {
		padding: 0px;
		margin: 0px 0px 16px 0px;
	}
	.frmcal-day--active::before {
		content: '';
		position: absolute;
		width: 100%;
		height: 5px;
		background-color: var( --frm-views-calendar-accent-color );
		top: 0;
		left: 0;
	}
	.frmcal-day--active {
		background: var( --frm-views-calendar-accent-bg-color );
	}
}