/*EVENTS MANAGER*/
/*custom grid/list loop elements*/
.custom-grid-parent {
	display: grid;
    grid-auto-rows: 1fr;
    grid-auto-columns: 1fr;
    align-items: stretch;
    grid-column-gap: 20px;
    grid-row-gap: 30px;
}
@media only screen and (min-width: 768px) {
.custom-grid-parent {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
}
.custom-list-parent {
	display: grid;
    grid-auto-rows: 1fr;
    grid-auto-columns: 1fr;
    align-items: stretch;
    grid-row-gap: 20px;
}
.custom-grid-element, .custom-list-element {
	display: flex;
	position: relative;
    background: var(--portal-content-bg-color);
    border: 1px solid var(--alternate-color);
    border-radius: 6px;
    height: 100%;
    padding-bottom: 0;
    -webkit-transition: .2s box-shadow;
    transition: .2s box-shadow;
}
.custom-grid-element:hover, .custom-list-element:hover {
    box-shadow: 0 4px 32px 0 rgba(18,43,70,.1);
    z-index: 1;
}
.custom-grid-element {
	flex-direction: column;
	max-width: 290px;
}
.custom-list-element {
	flex-direction: row;
	height: 200px;
}
@media only screen and (min-width: 768px) {
.custom-list-element {
    height: 150px;
}
}
.custom-grid-element a, .custom-list-element a {
    color: unset;
}
.event-category-label-custom {
    position: absolute;
    z-index: 9;
    top: 15px;
    border-radius: 0 15px 15px 0;
    padding: 5px 12px;
    height: auto;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .23px;
    text-align: center;
    color: #fff;
	box-shadow: 0px 2px 3px 0 rgba(18,43,70,0.5);
}
.custom-grid-element img:first-child {
    border-radius: 6px 6px 0 0;
    height: 150px;
    width:100%;
    object-fit: cover;
    background: var(--alternate-color);
}
.custom-grid-element .custom-event-image, .custom-list-element .custom-event-image {
		display: flex;
    position: relative;
    flex-grow: 1;
    flex-shrink: 0;
    height: 100%;
}
.custom-list-element .custom-event-image {
    width: 40%;
		max-width: 40%;
}
@media only screen and (min-width: 768px) {
.custom-list-element .custom-event-image {
    width: 20%;
		max-width: 20%;
}
}
@media only screen and (min-width: 1024px) {
.custom-list-element .custom-event-image {
    width: 250px;
		max-width: 250px;
}
}
.custom-list-element .custom-event-image img {
    border-radius: 6px 0 0 6px;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    background: var(--alternate-color);
}
.custom-grid-element .custom-event-image-overlay, .custom-list-element .custom-event-image-overlay {
	width: 100%;
    height: 100%;
    position: absolute;
    box-shadow: inset var(--alternate-color) 0 0 15px -7.5px;
	transition: box-shadow 0.3s;
}
.custom-grid-element .custom-event-image-overlay {
	
    border-radius: 6px 6px 0 0;
}
.custom-list-element .custom-event-image-overlay {
	
    border-radius: 6px 0 0 6px;
}
.custom-grid-element:hover .custom-event-image-overlay, .custom-list-element:hover .custom-event-image-overlay {
	box-shadow: inset var(--alternate-color) 0 0 15px -10px;
}
.custom-grid-element .custom-event-content, .custom-list-element .custom-event-content {
	display: flex;
	width: 100%;
	gap: 20px;
	padding: 20px;
    flex-direction: column;
}
@media only screen and (max-width: 767px) {
.custom-list-element .custom-event-content {
	gap: 10px;
	padding: 10px;
}
}
@media only screen and (min-width: 768px) {
.custom-list-element .custom-event-content {
	flex-direction: row;
    align-items: center;
}
}
.custom-grid-element .custom-event-datetime, .custom-list-element .custom-event-datetime {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.custom-grid-element .custom-event-datetime {
    gap: 7px;
}
@media only screen and (min-width: 768px) {
.custom-list-element .custom-event-datetime {
	gap: 10px;
    width: 33%;
    flex-shrink: 1;
}
}
.custom-grid-element .custom-event-date, .custom-list-element .custom-event-date {
	display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-grow: 1;
    flex-shrink: 0;
    flex-direction: column;
}
.custom-grid-element .custom-event-date {
    width: 68px;
    height: 68px;
    max-width:68px;
}
.custom-list-element .custom-event-date {
    width: 60px;
    height: 60px;
    max-width: 60px;
}
@media only screen and (min-width: 768px) {
.custom-list-element .custom-event-date {
    width: 80px;
    height: 80px;
    max-width: 80px;
}
}
.custom-grid-element .custom-event-date > div:first-child, .custom-list-element .custom-event-date > div:first-child {
    position: relative;
}
.custom-grid-element span.bb-icon-calendar, .custom-list-element span.bb-icon-calendar {
  	font-size:80px;
  	position:absolute;
  	color:var(--alternate-color);
}
.custom-grid-element span.bb-icon-calendar {
  	left: -5px;
    top: -5px;
}
@media only screen and (max-width: 767px) {
.custom-list-element span.bb-icon-calendar {
  	font-size:60px;
}
}
.custom-grid-element .datetime-custom, .custom-list-element .datetime-custom {
    text-align: center;
    display: inline-block;
}
/*.custom-grid-element .datetime-custom {
    margin-top: 25px;
}
.custom-list-element .datetime-custom {
    margin-top: 20px;
}
@media only screen and (min-width: 768px) {
.custom-list-element .datetime-custom {
    margin-top: 30px;
}
}*/
.custom-grid-element .datetime-custom, .custom-list-element .datetime-custom {
    line-height: 1.15;
}
.custom-grid-element .datetime-custom .em-date-momentjs:first-child, .custom-list-element .datetime-custom .em-date-momentjs:first-child {
    font-size: 16px;
    text-transform: uppercase;
    color: var(--primary-color);
    font-weight: 600;
}
.custom-grid-element .datetime-custom .em-date-momentjs:last-child, .custom-list-element .datetime-custom .em-date-momentjs:last-child {
    font-size: 30px;
    font-weight: bold;
}
.custom-grid-element .custom-event-info, .custom-list-element .custom-event-info {
	display: flex;
    flex-grow: 0;
    flex-shrink: 1;
    flex-direction: column;
    align-self: stretch;
    align-items: flex-start;
    font-size: 15px;
    line-height:1em;
}
.custom-grid-element .custom-event-info .custom-event-time, .custom-list-element .custom-event-info .custom-event-time {
	margin-right: -15px;
}
.custom-grid-element .custom-event-info {
    justify-content: space-evenly;
}
.custom-list-element .custom-event-info {
    gap: 5px;
    justify-content: center;
}
.custom-grid-element .recurrence-info, .custom-list-element .recurrence-info {
	font-size: 13px;
    color: var(--alternate-color);
}
.custom-grid-element .recurrence-info .bb-icon-info, .custom-list-element .recurrence-info .bb-icon-info {
	font-size: 0.9em;
	margin-left: 4px;
}
.custom-grid-element .recurrence-info span[data-bp-tooltip], .custom-list-element .recurrence-info span[data-bp-tooltip] {
	display: inline;
}
.custom-grid-element .recurrence-info [data-bp-tooltip]:after, .custom-list-element .recurrence-info [data-bp-tooltip]:after {
		white-space: normal;
    width: max-content;
    max-width: 12em;
}
@media only screen and (max-width: 767px) {
	.custom-list-element .recurrence-info [data-bp-tooltip]:after {
		margin-left: -3em;
	}	
}
.custom-grid-element .custom-event-text, .custom-list-element .custom-event-text {
		display: flex;
    flex-direction: column;
    gap: 10px;
		overflow: hidden;
}
@media only screen and (min-width: 768px) {
.custom-list-element .custom-event-text {
	width: 67%;
    flex-shrink:1;
    justify-content: middle;
    padding: 20px;
}
}
.custom-grid-element .custom-event-text h2, .custom-list-element .custom-event-text h2 {
	font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.24em !important;
    margin: 0 !important;
    color: var(--portal-heading-color);
}
.custom-grid-element .custom-event-text > div, .custom-list-element .custom-event-text > div {
	font-size: 15px;
    line-height: 1.45em;
}
@media only screen and (max-width: 767px) {
.custom-list-element .datetime-custom .em-date-momentjs:first-child {
    font-size: 11px;
}
.custom-list-element .datetime-custom .em-date-momentjs:last-child {
    font-size: 18px;
}
.custom-list-element .custom-event-info {
	font-size: 13px;
}
.custom-list-element .custom-event-info .recurrence-info {
	font-size: 11px;
}
.custom-list-element .custom-event-text {
    gap: 5px;
}
.custom-list-element .custom-event-text h2 {
	font-size: 16px !important;
}
.custom-list-element .custom-event-text > div {
	font-size: 13px;
    line-height: 1.45em;
}
}
/*END OF CUSTOM GRID/LIST*/

/*EVENTS MANAGER*/
.em {
	--accent-color: #FFADA9;
		--icon-next-circle: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'none'%20viewBox%3D'0%200%2015%2015'%3E%3Cpath%20stroke%3D'%230f7c95'%20stroke-linecap%3D'square'%20d%3D'm6.5%2010.5%203-3-3-3'%2F%3E%3C%2Fsvg%3E");
	--icon-prev-circle: url("data:image/svg+xml,%253Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'none'%20viewBox%3D'0%200%2015%2015'%253E%253Cpath%20stroke%3D'%25230f7c95'%20stroke-linecap%3D'square'%20d%3D'm8.5%204.5-3%203%203%203'%252F%253E%253C%2Fsvg%253E");
}
.em.em-calendar {
	--header-border: 1px solid var(--alternate-color);
	--header-color: var(--dark-color) !important;
	--date-box-border: 1px solid var(--alternate-color);
	--date-color: var(--primary-color);
	--counter-background: var(--accent-color);
	--nav-color: var(--alternate-color) !important;
	--date-today-background: var(--alternate-color);
  --date-today-border: none;
		--date-border-color: var(--alternate-color);
	--date-border: 1.2px solid var(--date-border-color);
}
/*date borders*/
.em.em-calendar:not(.size-large) .em-cal-body .em-cal-day.eventful .em-cal-day-date a, .em.em-calendar:not(.size-large) .em-cal-body .em-cal-day.eventful-post .em-cal-day-date a, .em.em-calendar:not(.size-large) .em-cal-body .em-cal-day.eventful-pre .em-cal-day-date a {
	border: none !important;
}
.em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful .em-cal-day-date.colored, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-post .em-cal-day-date.colored, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-pre .em-cal-day-date.colored, .em.em-calendar.size-small .em-cal-body .em-cal-day.eventful .em-cal-day-date.colored, .em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-post .em-cal-day-date.colored, .em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-pre .em-cal-day-date.colored {
	--date-border: 1.2px solid var(--date-border-color);
}
.em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring {
		border-radius: 50%;
    border: 1.2px solid var(--date-border-color);
}
.em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring.two, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring.two {
	border-top-color: var(--date-border-color-top)!important;
    border-left-color: var(--date-border-color-top)!important;
    border-right-color: var(--date-border-color-bottom)!important;
    border-bottom-color: var(--date-border-color-bottom)!important;
    background-clip: content-box;
    clip-path: polygon(0 0,75% 0,75% 25%,100% 25%,100% 100%,25% 100%,25% 75%,0 75%);
    -webkit-clip-path: polygon(0 0,75% 0,75% 25%,100% 25%,100% 100%,25% 100%,25% 75%,0 75%);
}
/*correcting CSS error*/.em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful .em-cal-day-date.colored div.ring.three, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-post .em-cal-day-date.colored div.ring.three, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-pre .em-cal-day-date.colored div.ring.three, .em.em-calendar.size-small .em-cal-body .em-cal-day.eventful .em-cal-day-date.colored div.ring.three, .em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-post .em-cal-day-date.colored div.ring.three, .em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-pre .em-cal-day-date.colored div.ring.three {
    border-right-color: var(--date-border-color-right)!important;
}
.em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring.three, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring.three {
    border-top-color: var(--date-border-color-top)!important;
    border-right-color: var(--date-border-color-right)!important;
    border-bottom-color: var(--date-border-color-bottom)!important;
    background-clip: content-box;
    clip-path: polygon(0 25%,25% 25%,25% 0,75% 0,75% 25%,100% 25%,100% 75%,75% 75%,75% 100%,25% 100%,25% 75%,0 75%);
    -webkit-clip-path: polygon(0 25%,25% 25%,25% 0,75% 0,75% 25%,100% 25%,100% 75%,75% 75%,75% 100%,25% 100%,25% 75%,0 75%);
}
.em.em-calendar.size-small .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring.four, .em.em-calendar.size-medium .em-cal-body .em-cal-day.eventful-today .em-cal-day-date.colored div.ring.four {
    border-top-color: var(--date-border-color-top)!important;
    border-right-color: var(--date-border-color-right)!important;
    border-bottom-color: var(--date-border-color-bottom)!important;
    border-left-color: var(--date-border-color-left)!important;
    background-clip: content-box;
    clip-path: polygon(0 25%,25% 25%,25% 0,75% 0,75% 25%,100% 25%,100% 75%,75% 75%,75% 100%,25% 100%,25% 75%,0 75%);
    -webkit-clip-path: polygon(0 25%,25% 25%,25% 0,75% 0,75% 25%,100% 25%,100% 75%,75% 75%,75% 100%,25% 100%,25% 75%,0 75%);
}
/**/
.em.pixelbones a {
	color: var(--dark-color) !important;
}
.em.pixelbones a:hover {
	color: var(--primary-color) !important;
}
.em .em-pagination {
    --color: var(--primary-color);
    --color-hover: var(--accent-color);
    position: absolute;
    right: 0;
    top: calc(100% + 20px);
}
.em.em-view-container:has(.em-pagination) {
    padding-bottom: 80px;
}
.events-table {
	background-color: #fff;
}
.em-booking-form section:not(.em-booking-form-section-confirm) {
	display: none;
}
.em.em-event-booking-form .em-booking-section {
	padding: 0;
}
/*calendar*/
.em-calendar .ring a, .em-calendar .em-cal-day-date span {
		display: flex !important;
    align-items: center;
    justify-content: center;
}
.em.em-calendar .em-cal-body .em-cal-day {
    text-align: center;
}
.em.em-calendar .em-cal-body {
    grid-auto-rows: auto;
}
.flatpickr-monthSelect-month.endRange, .flatpickr-monthSelect-month.selected, .flatpickr-monthSelect-month.startRange {
    background-color: var(--primary-color);
    box-shadow: none;
    color: #fff;
    border: none;
}
.flatpickr-months .flatpickr-month {
    border-radius: 4px 4px 0 0;
    background: var(--secondary-color);
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
	background: unset
}
.flatpickr-weekdays, span.flatpickr-weekday {
	background: var(--secondary-color);
}
.flatpickr-calendar.arrowTop:after, .flatpickr-calendar.arrowTop:before {
    border-bottom-color: var(--secondary-color);
}
.flatpickr-day.endRange, .flatpickr-day.endRange.inRange, .flatpickr-day.endRange.nextMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.endRange:focus, .flatpickr-day.endRange:hover, .flatpickr-day.selected, .flatpickr-day.selected.inRange, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.selected:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange, .flatpickr-day.startRange.inRange, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.startRange:focus, .flatpickr-day.startRange:hover {
	background: var(--primary-color);
	border: var(--primary-color);
}
.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)), .flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)) {
    -webkit-box-shadow: -10px 0 0 #ff5a5f;
    box-shadow: -10px 0 0 var(--primary-color);
}
.flatpickr-day.inRange {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 var(--light-color), 5px 0 0 var(--light-color);
    box-shadow: -5px 0 0 var(--light-color), 5px 0 0 var(--light-color);
}
.flatpickr-day.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day.nextMonthDay:focus, .flatpickr-day.nextMonthDay:hover, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.today.inRange, .flatpickr-day:focus, .flatpickr-day:hover {
    background: var(--light-color);
    border-color: var(--light-color);
}
.flatpickr-months .flatpickr-next-month:hover svg, .flatpickr-months .flatpickr-prev-month:hover svg {
	fill: var(--primary-color);
}
.em.em-calendar .em-cal-body.event-style-pill .em-cal-event>div {
	padding: 0 8px;
}
/*correcting CSS error*/.em.em-calendar .em-cal-body .em-cal-day.eventless-today .em-cal-day-date span {
    background-color: var(--alternate-color) !important;
    color: #fff !important;
}
/*cal widget*/
.calendar-widget-custom .em.em-calendar.size-small .em-cal-nav .month input {
	font-size: 15px !important;
	color: var(--alternate-color);
	padding: 0 !important;
}
.calendar-widget-custom .em.pixelbones .input input.select-toggle {
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 15 15'%3E%3Cpath stroke='rgb(163, 187, 191)' stroke-linecap='square' d='m4.5 6.5 3 3 3-3'/%3E%3C/svg%3E") no-repeat right 0 top 55%!important;
    background-position-x: calc(100% - 45px)!important;
    background-size: 15px 15px!important;
}
.calendar-widget-custom .em.pixelbones .input input.select-toggle:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 15 15'%3E%3Cpath stroke='rgb(163, 187, 191)' stroke-linecap='square' d='m10.5 8.5-3-3-3 3'/%3E%3C/svg%3E")!important
}
.calendar-widget-custom .em-calnav svg {
	width: 15px !important;
	height: 15px !important;
}
.calendar-widget-custom .em-calnav svg path {
	stroke: var(--alternate-color);
}
.calendar-widget-custom .em.em-calendar.size-small .em-cal-nav .em-calnav {
    width: 18px;
    height: 18px;
}
.calendar-widget-custom .em.em-calendar .em-cal-head>div {
	overflow-x: unset;
}
/*search form*/
.em .em-search-advanced, .em.em-search, .em.em-search-advanced {
    --border-color: var(--alternate-color);
    margin: 0;
}
.em .em-search-advanced .em-search-main.em-search-main-bar, .em.em-search .em-search-main.em-search-main-bar, .em.em-search-advanced .em-search-main.em-search-main-bar {
	background-color: #fff;
	border-radius: 6px;
}
.em .em-search-advanced input::placeholder, .em.em-search input::placeholder, .em.em-search-advanced input::placeholder {
    color: var(--alternate-color);
}
.em .em-search-advanced .em-search-views, .em.em-search .em-search-views, .em.em-search-advanced .em-search-views {
	width: unset;
}
.em.em-search input#em-search-text-0 {
	width: 98%;
}
.em .em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option.focused, .em .em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option:hover, .em.em-search .em-search-views .em-search-views-options-list label.em-search-view-option.focused, .em.em-search .em-search-views .em-search-views-options-list label.em-search-view-option:hover, .em.em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option.focused, .em.em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option:hover, .em .em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option.checked, .em .em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option:checked, .em.em-search .em-search-views .em-search-views-options-list label.em-search-view-option.checked, .em.em-search .em-search-views .em-search-views-options-list label.em-search-view-option:checked, .em.em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option.checked, .em.em-search-advanced .em-search-views .em-search-views-options-list label.em-search-view-option:checked {
    background-color: var(--accent-light-color) !important;
    border-radius: 4px;
}
.tippy-box {
    border-color: var(--alternate-color) !important;
}
.tippy-box[data-placement^=bottom]>.tippy-arrow:after {
    border-bottom-color: var(--alternate-color) !important;
}
.em .em-search-advanced form, .em.em-search form, .em.em-search-advanced form {
	margin-bottom: 10px;
}
/*END OF EVENTS MANAGER*/