[class^="twt-i-"], [class*=" twt-i-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'twt-i' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color:#168364;
}

.twt-i-folder-tree:before {
	content: "\e90c";
}
.twt-i-envelope:before {
	content: "\e90a";
}
.twt-i-clock:before {
	content: "\e90b";
}
.twt-i-calendar:before {
	content: "\e902";
}
.twt-i-location:before {
	content: "\e907";
}
/*grid*/
#twt-event-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
	gap:20px 20px;
	margin:0;
	padding:0 10px;
	list-style-type:none;
}
#twt-event-grid a.event-snippet-link {
	display:block;
	text-decoration:none;
	color:#44484C;
}
#twt-event-grid .event-snippet {
	background:#fff;
	filter:drop-shadow(0px 4px 4px rgba(0,0,0,10%));
	border-radius:7px;
	transition:.3s;
}
#twt-event-grid .thumb-c {
	position:relative;
}
#twt-event-grid .thumb-c:before {
	display:block;
	content:'';
	padding:0 0 100%;
}
#twt-event-grid img {
	top:0;
	width:100%;
	height:100%;
	position:absolute;
	border-radius:7px 7px 0 0;
	object-fit:contain;
	object-position:center center;
}
.event-snippet .content {
	padding:9px 10px 5px;
	font-weight:400;
}
.event-snippet .name {
	font-family: "Noto Serif", sans-serif;
	color: #2E2BD1;
	font-size: 24px;
	line-height: 1.3;
	margin:0 0 .5rem;
}
.event-snippet .meta-row {
	display:grid;
	grid-template-columns:18px 1fr;
	gap:0 7px;
	margin:0 0 .5em;
}
.event-snippet .meta-row [class^="twt-i-"] {
	display:block;
	font-size:18px;
	text-align:center;
	padding:3px 0 0;
	font-weight:400;
}
.event-snippet .open-event-btn {
	background:#2E2BD1;
	color:#fff;
	text-align:center;
	font-weight:700;
	font-size:.875em;
	padding:10px;
	border-radius:0 0 7px 7px;
	transition:.3s;
}
.event-snippet-link:hover, .event-snippet,
.event-snippet-link:focus .event-snippet {
	filter:drop-shadow(0px 4px 4px rgba(0,0,0,15%));
}
.event-snippet-link:hover .open-event-btn,
.event-snippet-link:focus .open-event-btn {
	background:#201E94;
}
/*calendar*/
.em-view-container {
	margin:15px 0 50px;
}
#calendar-options {
	text-align:center;
}
#calendar-options fieldset {
	display:flex;
	flex-wrap:wrap;
	gap:12px 0;
	justify-content:center;
}
#calendar-options legend {
	display:block;
	font-weight:700;
	margin:0 0 5px;
	flex:0 0 100%;
}
#calendar-options .radio-c {
	flex:0 0 auto;
}
#calendar-options label {
	display:block;
	padding:5px 20px;
	border-radius:5px 0 0 5px;
	background:#2E2BD1;
	color:#fff;
	cursor:pointer;
}
#calendar-options #list-view-radio + label {
	border-radius:0 5px 5px 0;
}
#calendar-options input {
	clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important
}
#calendar-options input:checked + label:before {
	display:inline-block;
	content:'\e904';
	font:400 1em/1 'twt-i';
	margin-right:6px;
	vertical-align:-1px;
}
#calendar-options input:checked + label {
	background:rgb(32, 30, 148);
	cursor:default;
}
#page .em.em-calendar {
	--header-border:1px solid #2E2BD1;
	--date-box-border:1px solid #2E2BD1;
	--header-color:#2E2BD1;
	--nav-color:#44484C;
	--date-today-background:#f7f8f9;
}
#page .em-search-text {
	box-shadow:none;
}
#page .em-cal-nav {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:10px 20px;
	margin-bottom:20px;
}
#page .em-cal-nav .month,
#page .em-cal-nav .month-nav {
	margin:0;
	flex:0 0 auto;
	width:auto;
}
#page .em-cal-nav .month form {
	display:block;
	position:relative;
}
#page .em-month-picker {
	position:relative;
	border:2px solid #2E2BD1 !important;
	border-radius:5px;
	padding:10px 20px !important;
	font-size:1em !important;
	font-weight:700;
	color:#44484C;
	z-index:2;
}
#page .em-month-picker + .toggle {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:10px;
	z-index:1;
}
#page .em-month-picker + .toggle:before {
	content:'\e903';
	font:400 1em/1 twt-i;
	display:inline-block;
	vertical-align:-.1em;
}
#em-flatpickr .flatpickr-calendar {
	width:307.875px;
}
#em-flatpickr .flatpickr-months .flatpickr-month {
	background:#1FB58A;
	color:#000;
}
#em-flatpickr .flatpickr-calendar.arrowTop:after {
	border-bottom-color:#1FB58A;
}
#em-flatpickr .flatpickr-prev-month svg,
#em-flatpickr .flatpickr-next-month svg {
	display:none;
}
#em-flatpickr .flatpickr-prev-month:before,
#em-flatpickr .flatpickr-next-month:before {
	content:'\e900';
	font:400 18px/1 twt-i;
	color:#000;
	transform:translateY(-1px);
	display:inline-block;
}
#em-flatpickr .flatpickr-next-month:before {
	content:'\e901';
}
#em-flatpickr .flatpickr-calendar.arrowTop:before {
	border-bottom-color:#fff;
}
.flatpickr-monthSelect-month.selected {
	background:#2E2BD1;
	border:0;
}
#page .em-calnav-today {
	text-decoration:none !important;
	padding:10px 20px !important;
	font:500 1.1em "Noto Sans", Sans-serif;
	background:#2E2BD1;
	color:#fff;
	border-radius:5px;
	text-transform:none;
}
#page .em-calnav-today:hover,
#page .em-calnav-today:focus {
	border-color:#2E2BD1;
}
.em.em-calendar .em-cal-head {
	border-radius:0;
}
#page .em-calendar.size-large .em-cal-body.em-cal-days {
	grid-auto-rows:minmax(140px, auto) !important;
	overflow:hidden;
}
#page .em-cal-day-date span {
	color:#767676 !important;
}
#page .em-cal-day-date a {
	color:#2E2BD1 !important;
	padding:4px;
	border:1px solid #2E2BD1 !important;
}
#page .em-cal-event {
	line-height:1.2;
}
/*day modal*/
.em-modal-title:focus {
	outline:0;
}
.em-modal-content .em-item-name {
	font-size:1.125em;
}
.em-modal-content a {
	color:#2E2BD1 !important;
}
.em-modal-content .em-item-meta {
	gap:5px 20px;
}
.em-modal-content .em-item-meta-line {
	grid-template-columns:auto 1fr !important;
	gap:0 8px !important;
}
.em-modal-content i[class*="twt-i-"] {
	min-width:1em;
}
/*tooltip*/
#page .tippy-box .em-event-image {
	text-align:center;
}
#page .tippy-content .button {
	text-decoration:none !important;
	padding:10px 20px !important;
	width:100%;
	font:500 1.1em "Noto Sans", Sans-serif;
	background:#2e2bd1;
	color:#fff;
	border-radius:5px;
	text-transform:none;
}
#page .tippy-content .em-item-info {
	margin-bottom:16px;
}
#page .tippy-content .em-cal-event-content {
	margin-bottom:0;
}
#page .tippy-content .em-item-title a {
	color:#2e2bd1 !important;
	text-decoration:underline !important;
	font-size:1.125rem;
}
#page .tippy-content .em-item-actions {
	display:flex;
	gap:5px;
	flex-wrap:wrap;
}
/*pagination*/
#page .em-pagination {
	--color:#2e2bd1;
	--icon-prev-circle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 15 15'%3E%3Cpath stroke='%2e2bd1' stroke-linecap='square' d='m8.5 4.5-3 3 3 3'/%3E%3C/svg%3E");
}
.em .em-pagination .page-numbers.next, .em .em-pagination .page-numbers.next.last, .em .em-pagination .page-numbers.prev, .em .em-pagination .page-numbers.prev.first {
	opacity:8;
}
/*single event*/
.em-item-header,
#map {
	padding-left:20px;
	padding-right:20px;
	margin-top:30px;
}
.em-event-content,
.em-event-content > *:not(div) {
	padding-left:10px;
	padding-right:10px;
}
body.single-event .em-item-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width:100%;
	margin-bottom:30px;
}
body.single-event .em-item-meta > * {
	flex:1 1 auto;
}
body.single-event .em-item-meta-line {
	display:grid;
	grid-template-columns:21px 1fr;
	gap:0 5px;
	margin:0 0 .5em;
}
.em [class^="twt-i-"] {
	display:block;
	font-size:18px;
	text-align:center;
	padding-top:2px;
}
#page .em-item-meta a {
	font-weight:400;
	text-decoration:underline !important;
	font-style:normal !important;
	color:#2E2BD1 !important;
}
.em-item-meta .event-categories {
	list-style-type:none;
	margin:0;
}
.em-item-single .elementor-button br {
	display:none;
}
/*bookings*/
.em-booking-form {
	margin-bottom:40px;
}
.em-booking-form h3 {
	margin:.5em 0;
}
.em-booking-form label {
	display:block;
}
.em-booking-form input[type="text"],
.em-booking-form input[type="email"],
.em-booking-form input[type="tel"],
.em-booking-form textarea,
.em-booking-form select {
	display:block;
	width:100%;
	background:#EFF3F9;
	border:1px solid #949494;
	border-radius:4px;
	padding:10px 15px;
	font:400 1em 'Noto Sans', Sans-serif;
	color:#000;
}
.em-ticket-booking {
	max-width:500px;
	padding-top:10px;
	padding-bottom:10px;
}
.em-ticket-booking p:last-child {
	margin-bottom:0;
}
.em-booking-gateway {
	margin-bottom:2em;
}
/*gravity for summer camp*/
#gform_wrapper_12 .gfield_label_before_complex {
	margin-bottom:0;
}
#gform_wrapper_12 .description_below .gfield_description  {
	padding-top:5px;
	padding-bottom:5px;
}
#gform_wrapper_12 .gfield_label_before_complex + .gfield_description {
	padding-top:0;
	padding-bottom:0;
}
#gform_wrapper_12 .gfield_validation_message {
	padding:5px 10px;
}
#gform_wrapper_12 .gform-page-footer {
	margin-top:16px;
}
/*happy capys*/
#slot-picker .slots {
	list-style-type:none;
	margin-left:0;
}
#slot-picker .slots li:not(:last-child) {
	margin-bottom:5px;
}
#slot-picker .slots .slot {
	position:relative;
	background:#fff;
	border-radius:5px;
	color:#44484C;
	padding:5px 2em 5px 10px;
	transition:.3s;
}
#slot-picker .slots [data-spaces="0"] {
	opacity:0.5;
	cursor:not-allowed;
}
#slot-picker .slots a .slot:after {
	position:absolute;
	right:10px;
	top:50%;
	transform:translateY(-50%);
	content:'\e901';
	font:400 2em/1 twt-i;
	transition:.3s;
}
#slot-picker .slots a:hover .slot,
#slot-picker .slots a:focus .slot {
	color:#000;
	box-shadow:0 0 2px #000 inset;
}
#slot-picker .slots a:hover .slot:after,
#slot-picker .slots a:focus .slot:after {
	right:6px;
}
