/*
	(c)2020 - visuallizard.com

	General styles.
	Template, view, plugin and element specific, etc.
*/

.more {
	font-weight: bolder;
}

.cke a > img {
	display: block;
	transition: .2s transform;
	transform: scale(1);
}
.cke a:hover > img {
	transform: scale(1.02);
}

@supports (grid-row-start: auto) {
	dl.grid {
		display: grid;
		grid-template-columns: max-content;
		grid-template-rows: 1fr;
		row-gap: .5rem;
		column-gap: 1rem;
		margin-top: 0;
	}
	dl.grid dd + dt,
	dl.grid dt + dd,
	dl.grid dd + dd {
		margin-top: 0;
	}
	dl.grid dt {
		grid-column-start: 1;
		grid-column-end: 2;
	}
	dl.grid dd {
		grid-column-start: 2;
		grid-column-end: 3;
	}
}

.section-heading {
	margin-bottom: 3rem;
	border-bottom: 1px solid currentcolor;
	padding-bottom: .5rem;
	font: 900 40px/1.1 myriad-pro, sans-serif;
	color: #009cdc;
}

/* General lists */
.general-list {
	margin-bottom: 2rem;
}

/* .news-items */
.news-items > .pagination-container  {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
	.article-item {
		position: relative;
		width: 33.33%;
		max-width: 500px;
		padding: 0;
		margin: 0 0 3rem 0;
		display: flex;
		flex-direction: column;

		flex-basis: calc(33.33% - 2rem);
	}
	.article-details {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
		padding: 1rem 1.5rem;
		background-color: #eff8f8;
	}
	.article-item:hover .article-title a {
		text-decoration: underline;
	}
	.news-items > .pagination-container:after {
		content: '';
		flex-basis: calc(33.33% - 2rem);
	}

	.article-figure {
		margin: 0;
		order: -1;
		position: relative;
	}
		.news-items .article-figure figcaption {
			display: none;
		}
	.article-img {
		display: block;
		background: #fafafa;
	}
	.article-img.placeholder {
		background-color: #64bbbd;
	}
	.article-title {
		margin-top: .25em;
		margin-bottom: .75rem;
	}
	.article-title a {
		text-decoration: none;
		transition: all .2s;
	}
	.article-date {
		margin-bottom: .5rem;
		display: inline-flex;
		align-items: center;
	}
	.article-author {


	}
	.article-brief {

	}
	.article-item .more {
		margin-top: auto;
	}

	/* Feature top article */
	@media only screen and (min-width: 800px) {
		.article-item.featured { max-width: 100%; width: 100%; flex-direction: row; flex-basis: 100%; }
		.article-item.featured .article-figure { min-width: calc(100% - 33.33% - 1rem); }
		.article-item.featured .article-details {  padding-left: 2rem; }
		.article-item.featured .article-figure img { max-width: none; width: 100%; }

		.article-item.featured .article-title { margin-top: 0; }
		.article-item.featured .more { margin-top: 1rem; }
		.article-item.featured .more:hover { text-decoration: none; background-color: #e23400; }
	}


	/* 	Article View */
	.article-view {
		margin-bottom: 5rem;
	}
	.article-view .article-figure {
		margin-bottom: 2rem;
	}
	.article-figure figcaption {
		padding: .25rem;
		font-style: italic;
	}
	.article-body {
		font-size: 1.2rem;
		/* max-width: 50em; */
	}

	.article-meta {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.article-view .article-date {
		margin-bottom: 1rem;
	}
	.article-view .article-author {
		display: inline-flex;
		align-items: center;
		margin-left: 1rem;
	}

	.article-controls {
		display: flex;
		justify-content: space-between;
		margin-top: 4rem;
	}
	.article-controls > a {
		min-width: 220px;
	}
	.article-controls .next {
		margin-left: auto;
	}

	.m-stories.drilled-in .featured-banners,
	.m-stories.drilled-in .badges {
		display: none;
	}
	.m-stories.drilled-in main {
		margin-top: 2rem;
	}

	/* Social Share */
	.social-share {
		display: inline-flex;
		list-style: none;
		padding: 0;
		margin-left: auto;
	}
		.social-share li {
			margin-left: .25rem;
		}
		.social-share .icon {
			display: block;
			width: 1.5rem;
			height: 1.5rem;
		}

	/* 	Related Articles */
	.related-articles {

	}
	.related-articles-row {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
		.related-articles-row:after {
			content: '';
			flex-basis: calc(33.33% - 2rem);
		}


	/* Horizontal Filter Form */
	.filter-form-h .input-select  {
		margin-right: 5%;
	}


/* ! All Toggles (functionality) */
.toggle {
	position: absolute;
	border: none;
	padding: 0;
	margin: 0;
	background: transparent;
	left: auto;
	right: 1.25rem;
	top: 1.25rem;
	color: inherit;
	width: 1.75rem;
	height: 1.75rem;
	min-width: 0;
	cursor: pointer;
	transform-origin: center;
	transition: transform .2s;
}
	.toggle:hover {
		background: transparent;
		color: inherit;
	}
	.toggle:focus {
		outline: 1px dotted currentColor;
	}
	.toggle .svg-icon {
		display: block;
		width: 100%;
		height: 100%;
		transform-origin: center;
	}

	.is-toggle-on .toggle .toggle-v {
		display: none;
	}

	.toggle-unit {
		margin: 0 0 1rem 0;
		position: relative;
		z-index: 0;
	}
	.toggle-unit.is-toggle-on {
		z-index: 1;
	}
	.toggle-unit.is-toggle-on .toggle {
		transform: rotate(180deg);
		opacity: .8;
	}
	.toggle-details {
		margin: 0;
		padding: 0 2rem;
		overflow: hidden;
		max-height: 0;
		transition: all .2s ease-in-out;
	}
		.is-toggle-on .toggle-details {
			opacity: 1;
			max-height: 99999px;
			margin-bottom: 1rem;
			padding: 1rem 2rem;
			will-change: opacity, max-height, margin, padding;
		}
		.is-toggle-off .toggle-details {
			opacity: 0;
			max-height: 0;
			margin-bottom: 0;
		}

	.toggle-head {
		position: relative;
		padding: .5rem 3rem .5rem 2rem;
		margin: 0;
		border-radius: 0;

		font-weight: bold;
		color: #fff;
		background: #ccc;
		background-color: #009cdc;

		z-index: 1;
		cursor: pointer;
		transition: .2s all;
	}
		.toggle-head:hover,
		.is-toggle-on > .toggle-head {
			background-color: #64bbbd;
		}
		.toggle-head > .toggle-title {
			padding: 0;
			margin-bottom: .25rem;
			margin-top: .25rem;
			text-transform: none;
			letter-spacing: normal;
			font: 900 28px/1.4 myriad-pro, sans-serif;
			color: inherit;
			cursor: pointer;
		}

	.t-boozoo .toggle-head { background-color: #006e70; }
	.t-boozoo .toggle-head:hover,
	.t-boozoo .is-toggle-on > .toggle-head { background-color: #518c8d; }




/* documents */
	.document-cat-details {
		display: flex;
		flex-wrap: wrap;
	}
		.document-cat-desc {
			width: 100%;
			margin-bottom: 1rem;
		}
	.document-item {
		flex-basis: 40%;
		min-width: 300px;
	}
		.document-title {
			margin: 0 0 .5rem 0;
			color: inherit;
		}
			.document-title a {
				text-decoration: none;

				display: flex;
				align-items: center;
				padding: .25rem 0;
				text-align: left;
			}
			.document-title a:hover {
				color: #64bbbd;
			}
				.document-title a .doc-icon {
					width: 2rem;
					height: 2rem;
					min-width: 2rem;
					margin-right: 1rem;
				}
		.document-desc {
			font-size: 80%;
			margin-left: 3em;
		}

	/* 	Documents: download-links */
	.documents-list {
		list-style: none;
		margin-left: 0;
	}

	.documents .pagination-links {
		font-size: 70%;
		margin-left: .5rem;
	}
	.documents .pagination-links.see-more { margin: 0 1rem; }
	.documents .pagination-links.see-more li { text-align: left; }
	.documents .pagination-links.see-more a { font-size: 12px;  min-width: 8rem;}



/* ! EVENTS */

/* ! Events Index */

.events-items > .pagination-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
	.events-items > .pagination-container::before,
	.events-items > .pagination-container::after {
		content: '';
		order: 1;
		display: block;
		flex-basis: calc(33.33% - 2rem);
	}
	.events-items .pagination-links.see-more {
		margin-top: 2rem;
	}
	.events-items .event-item {
		position: relative;
		width: 33.33%;
		max-width: 500px;
		padding: 0;
		margin: 0 0 3rem 0;
		display: flex;
		flex-direction: column;
		flex-basis: calc(33.33% - 2rem);
	}

		.event-figure {
			margin: 0 0 2rem 0;
			order: -1;
			/* flex-basis: 50%; */
/* 			width: 50%; */
			max-width: 400px;
		}
			.events-index .event-figure {
				margin-bottom: 0;
			}
			.event-figure a,
			.event-figure .no-link {
				display: block;
				position: relative;
			}
			.event-figure a:hover .event-img {
				transform: scale(1.02);
			}
			.event-img {
				display: block;
				width: 100%;
				background: #fafafa;
				transition: transform .5s;
			}

				.event-figure > a,
				.event-figure > .no-link {
					padding-top: 75%;
					overflow: hidden;
				}
				.event-figure .event-img {
					object-fit: cover;
					object-position: center;
					position: absolute;
					left: 0;
					top: 0;
					transform: translateY(-12.5%);
				}
				.event-figure a:hover .event-img {
					transform: translateY(-12.5%) scale(1.02);
				}
			.event-img.placeholder {
				background-color: #64bbbd;
			}
		.event-item .event-details {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
		}
			.events-index .event-details {
				padding: 1rem 1.5rem;
				background-color: #eff8f8;
			}
			.event-item .event-title {
				margin-top: 0;
				margin-bottom: .25rem;
				color: inherit;

				font-weight: 700;
			}
			.event-item .event-title a {
				text-decoration: none;
			}
			.event-item .event-title a:hover {
				color: #64bbbd;
			}
			.event-item .event-meta {
				color: inherit;
				line-height: 1.2;
				margin-bottom: .25em;
			}
			.event-item .event-brief {
				color: #707070;
				/* margin-bottom: 1rem; */
			}
			.event-item .more {
				margin-top: auto;
			}
			.event-item .link { color: inherit; font-weight: bold; text-transform: capitalize; }
			.event-item .link:hover { color: #64bbbd; }
			.event-item .link.custom-link[href^="http"]:after {
			/*  content: ' 🔗'; */
				content: '';
				display: inline-block;
				width: 1em;
				height: .75em;
				margin-left: .25em;
				background: center center no-repeat transparent url(/img/icons/new-window.svg);
				background-size: auto;
				background-size: 100% auto; }
			.event-item .button { color: #fff; }

		.event-item.zoo  { color: #0063af; }
		.event-item.park { color: #77a02e; }
		.event-item.leaf { color: #407928; }

		.event-item.zoo  .button { background-color: #0063af; }
		.event-item.park .button { background-color: #77a02e; }
		.event-item.leaf .button { background-color: #407928; }


		.event-item.park.zoo,
		.event-item.park.leaf,
		.event-item.zoo.leaf,
		.event-item.park.zoo.leaf {
			color: #707070;
		}

		.event-item .button:hover {
			background-color: #64bbbd;
		}



		.filter-actions {
			display: flex;
			align-content: center;
			align-items: center;
			gap: 3rem;
		}
			.filter-actions > div {
				display: flex;
				align-content: center;
				align-items: center;
				gap: .25rem;
			}
			.filter-actions .button {
				display: flex;
				align-items: center;
				gap: .35rem;

				min-width: 0;
				border: 1px solid #009cdc;
				border-radius: 3px;

				background-color: transparent;
				color: #009cdc;
				background-color: hsb(197 100% 86%);

				text-transform: uppercase;
				letter-spacing: .05em;
				font-size: .8125rem;
				font-weight: normal;
				line-height: 1;


				cursor: pointer;
				transition: 0.2s linear all;
			}
			.filter-actions .button:hover {
				background-color: #009cdc;
				color: #fff;
			}
			.filter-actions .caption {
				order: 1;
			}
			.filter-actions .icon {
				width: 1.25rem;
				height: 1.25rem;
				transform: translateY(-1px);
			}

			.filter-toggle {

			}


		.filter-actions > .filter-view {
			display: none;
		}
			.filter-view > div {
				display: flex;
				align-content: center;
				align-items: center;
				gap: .25rem;

				background-color: transparent;
			}
			.filter-view button.active {
				color: #929292;
				color: hwb(200 50% 25%);
				border-color: transparent;
				cursor: default;
				pointer-events: none;
				outline: none;
			}
		@media only screen and (min-width: 900px) {
			/* ! Events View switch */
			.filter-actions > .filter-view  {
				display: flex;
				align-content: center;
				align-items: center;
				gap: 1rem;
			}

			/* as-list view */
			.events-items.as-list {
				flex-direction: column;
			}
			.events-items.as-list .event-item {
				position: relative;
				flex-basis: 100%;
				flex-direction: row;
				max-width: none;
				margin-left: 0;
				margin-bottom: 0;
				border-bottom: 1px solid #eee;
				padding-top: 2rem;
			}
			.events-items.as-list .event-figure {
				flex-basis: 25%;
				flex-shrink: 0;
				margin-right: 2rem;
				margin-bottom: 2rem;
			}
			.events-items.as-list .event-details {
				padding: 0;
				margin-bottom: 2rem;
				background-color: transparent;
			}
			.events-items.as-list  .more {
				margin-bottom: 2rem;
			}
			.events-items:not(.as-grid) .more {
				margin-bottom: 0;
			}


		}


	/* ! Events Featured */

	.featured-events {
		background: rgba(220,161,0,.1);
	}
	.featured-events .container > h2 {
		margin: 1rem 0 2rem;
		font: 900 40px/1.1 myriad-pro, sans-serif;
		color: #dca100;
	}
	.featured-events .event-item {
		margin-bottom: 2rem;
		display: block;
	}
	.featured-events .cke > div:not(.c-first) {
		margin-left: 2rem;
	}
/* 		.featured-events .event-figure {
			margin-right: 0;
		}
		.featured-events .event-img {
			object-fit: cover;
			object-position: center;
			width: 100%;
			height: 260px;
		} */
		.featured-events .event-img {

		}
		.featured-events .event-title {
			margin-bottom: 0;
			font-weight: 700;
		}

		.featured-events .c1 .event-item { display: flex; }
		.featured-events .c1 .event-figure { flex-basis: 75%; margin-right: 2rem; margin-bottom: 1rem; }
		.featured-events .c2 .event-brief { max-width: 500px; float: left; padding-right: 1rem; }
		.featured-events .c3 .event-brief { max-width: 400px; }


	/* ! Events Toggles  */
	.events-items .event-item {
			position: relative;
			width: 33.33%;
			max-width: 500px;
			padding: 0;
			margin: 0 0 3rem 0;
			display: flex;
			flex-direction: column;
			flex-basis: calc(33.33% - 2rem);
		}
			.event-figure {
				margin: 0 0 2rem 0;
				order: -1;
			}

	/* ! Event View [drill-in] */
	.m-events.a-view.drilled-in .events-options {
		display: none;
	}
	.event-view {
		margin-top: 2rem;
		margin-bottom: 2rem;
		display: flex;
		flex-wrap: wrap
	}
	.event-view .event-content {

	}
	.event-view .event-meta {

	}
	@media (min-width: 900px) {
		.event-view .event-meta {
			order: 1;
			padding: 1rem 1.5rem .5rem 1.5rem;
			margin-bottom: auto;
			background-color: #eff8f8;
		}
	}
	.event-view .event-figure {
		margin: 0 0 2rem 0;
		max-width: none;
	}
	.event-view .event-figure > a,
	.event-view .event-figure > .no-link {
		padding-top: 0;
	}
	.event-view .event-img,
	.event-view .event-figure > a:hover .event-img {
		object-fit: cover;
		object-position: center;
		position: static;
		transform: translateY(0) scale(1);
	}
	.event-view .event-title {
		width: 100%;
		max-width: 30ch;
	}
	.event-view .dates {
		font-weight: 700;
	}


/* ! Events Options */
.events-options {
	background: #f0f9f9;
	box-shadow: -1000px 0 0 #f0f9f9,
				-500px 0 0 #f0f9f9,
				-100px 0 0 #f0f9f9,
				100px 0 0 #f0f9f9,
				500px 0 0 #f0f9f9,
				1000px 0 0 #f0f9f9;

	padding-block: 1.5rem;
	margin-bottom: 2rem;
}
	.events-options-header {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		/* align-items: flex-start; */
	}
		.events-heading {
			margin: 0 0;
			padding: 0;
			font: 900 40px/1.1 myriad-pro, sans-serif;
			color: #009cdc;
		/* 	background: #f0f9f9;
			box-shadow: -1000px 0 0 #f0f9f9, -500px 0 0 #f0f9f9, -100px 0 0 #f0f9f9; */
		}
	.events-options-inside {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.filter-panel:not(.filter-on) {
		display: none;
		transition: all .3s;
	}
	.filter-panel.filter-on {
		padding-top: 2rem;
	}





.filter-form {
	flex-basis: 60%;
/* 	max-width: 500px; */
	display: flex;
	margin-block: 1rem;
}
.filter-form-h {
	display: block; /* Our Stories filter form */
}

/* ! Calendar */
.calendar-widget {
	flex-basis: 30%;
	margin-block: 1rem;
	min-width: 320px;
}
	.calendar-set {
		max-width: 400px;
		margin: 0 0 1rem 0;

		background-color: #fff;
	}
		.calendar-nav {
			background-color: #d7d6d6;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: .5rem;
			margin-top: .5rem;
		}
			.calendar-nav h3 {
				display: block;
				margin: auto;
				text-align: center;
				text-transform: uppercase;
				line-height: 1;
				font-size: 24px;
				font-weight: 900;
				flex-grow: 1;
			}
			.calendar-nav .prev,
			.calendar-nav .next {
				min-width: 2rem;
				display: block;
				color: inherit;
			}
			.calendar-nav a:hover {
				color: initial;
			}
			.calendar-nav .svg-icon {
				display: block;
				width: 2rem;
				height: 2rem;
				padding: .25rem;
			}

		.calendar-week {
			display: block;
			overflow: hidden;
		}
		.calendar-week.thisweek,
		.calendar-week.thisweekend {
			background-color: #e7e7e7;
			background-color: hsla(0, 0%, 95%, 1);
		}
			.calendar-widget .label,
			.calendar-widget .day {
				position: relative;
				display: block;
				float: left;
				width: 14%;
				width: calc(100% / 7);
				text-align: center;
			}
				.calendar-widget .label {
					padding: .5em 0;
					text-transform: uppercase;
				}
				.calendar-widget .fade {
					opacity: .5;
				}

				.calendar-widget .day {
					padding: 0;
					font-size: 20px;
				}
				.calendar-widget .day:before {
					content: '';
					display: block;
					width: 100%;
					padding-top: 100%;
				}
				.calendar-widget .day span,
				.calendar-widget .day a {
					display: block;
					position: absolute;
					left: 0;
					right: 0;
					top: 0;
					bottom: 0;

					display: flex;
					align-items: center;
					justify-content: center;

					border: 4px solid #fff;
					border-radius: 50%;
					overflow: hidden;
				}
					.calendar-widget .thisweek .day span,
					.calendar-widget .thisweek .day a {
						border-color: #e7e7e7;
						border-color: transparent;
					}

					.calendar-widget .day.today {
						font-weight: bold;
					}

					.calendar-widget .day span {
						z-index: 2;
						pointer-events: none;
					}
						.calendar-widget .day:hover span:not(:only-child) {
							color: #000;
						}

					.calendar-widget .day a {
						/* background-color: #626161; */
						transition: background-color .2s;

						/* position: relative; */
					}
					.calendar-widget .day a::before {
						content: '';
						display: block;
						position: absolute;
						inset: auto;

						width: .5rem;
						height: .5rem;

						border-radius: 50%;
						background-color: #009cdc;

						transform: translateY(200%);

						text-decoration: none;
						line-height: 1;
						transition: all .2s;
					}
					.calendar-widget .day a:hover::before {
						transform: translateY(0%) scale(700%);
					}
					.calendar-widget .day.showing-day a {
						background-color: #009cdc;
					}
					.calendar-widget .day.showing-day span:not(:only-child) {
						color: #fff;
					}


.filter-form .row {
	display: flex;
	flex-direction: row;
	gap: 1rem;
}
.filter-form .col {
	flex-basis: 50%;
	display: flex;
	flex-direction: column;
	min-width: 270px;
}
.filter-form [class^="input-"] {
	margin-bottom: 2rem;
}
.filter-form select {
	width: 100%;
	padding-top: .5rem;
	padding-bottom: .5rem;
	padding-left: 1rem;
	background-color: #dedede;
	background-color: #fff;
	color: #000;
	font-weight: 500;
}
	.filter-form label,
	.filter-form .info {
		/* text-indent: 1rem; */
	}
.filter-form input {

}
	.input-quick-filter .button {
		/* background-color: #64bbbd; */
		font-size: .75rem;
		line-height: 1.2;

		min-width: 30%;
		display: flex;
		align-content: center;
		justify-content: center;
		align-items: center;

		background-color: #7d7c7c;
	}
	.filter-form .button.selected,
	.filter-form .button.selected:hover {
		background-color: #b8b7b7;
		pointer-events: none;
	}
	.filter-form .button:hover {
		background-color: #64bbbd;
	}

	.filter-form .input-check-option,
	.filter-form .input-radio-option {
		width: 100%;
		margin-top: .2rem;
		margin-bottom: .45rem;
	}
	.filter-form .input-check-option label,
	.filter-form .input-radio-option label {
		text-transform: none;
		font-size: 1rem;
	}
	.filter-form .input-check-option input,
	.filter-form .input-radio-option input {
		width: 1.25rem;
		height: 1.25rem;
	}

	.filter-form .input-dates .row {
		gap: 2rem;
	}
	.filter-form .input-dates label {
		display: flex;
		flex-direction: row;
	}
	.filter-form .input-dates .info {
		margin-bottom: .25rem;
		text-align: right;
	}
	.filter-form .input-datepicker {
		display: flex;
		flex-direction: row;
		flex-grow: 1;
		margin-bottom: 1rem;
	}
		.filter-form .input-datepicker label {
			/* width: 20%; */
			display: flex;
			align-items: center;
			color: #000;
			position: relative;
			margin-right: .5rem;
			min-width: 80px;
		}
		.filter-form .input-datepicker input {
			flex-grow: 1;
		}
		.filter-form .input-datepicker input::-webkit-datetime-edit {
			/* attempt to fix extra spacing in Safari */
			display: block;
			padding: 0;
		}


		.switch {
			display: flex;
			flex-wrap: wrap;
			max-width: 100%;
			align-items: center;
			min-width: 0;
			margin-bottom: 1rem;
		}
		.switch > label {
			width: 100%;
		}
		.switch .input-radio-option {
			display: inline-flex;
			border: 1px solid #009cdc;
			background-color: transparent;
			color: #009cdc;
			min-width: 0;
			width: auto;
			flex-basis: 25%;
			margin: 0;
		}
		.switch .input-radio-option:first-of-type {
			border-start-start-radius: 3px;
			border-end-start-radius: 3px;
		}
		.switch .input-radio-option:last-of-type {
			border-start-end-radius: 3px;
			border-end-end-radius: 3px;
		}

		.switch .input-radio-option + .input-radio-option {
			border-inline-start: 0;
		}
			.switch .input-radio-option input {
				position: absolute;
				opacity: 0;
				z-index: -1;
			}
			.switch .input-radio-option label {
				display: block;
				padding: .25rem .25rem;
				max-width: none;
				width: 100%;
				margin: 0;
				font-size: .75rem;
				text-align: center;
				text-transform: uppercase;
				cursor: pointer;
				transition: .2s background-color, .2s color;
			}
			.switch .input-radio-option :checked + label,
			.switch .input-radio-option:hover :checked + label,
			.switch.unselected .input-radio-option:first-of-type label {
				background-color: #009cdc;
				color: #fff;
			}
			.switch.unselected .input-radio-option:first-of-type label {

			}

			.switch .input-radio-option:hover label {
				background-color: #64bbbd;
				color: #fff;
			}
			.switch .input-radio-option input:focus-visible + label {
				outline: 1px dotted #000;
				outline-offset: 2px;
			}

			.select-unselect {
				display: inline-block;
				padding: .35rem .5rem .2rem;
				max-width: none;
				width: auto;
				margin: 0;
				border: 1px solid #009cdc;
				border-radius: 3px;
				background: transparent;
				color: #009cdc;
				font-size: .75rem;
				text-align: center;
				text-transform: uppercase;
				text-decoration: none;
				cursor: pointer;
				transition: .2s background-color, .2s color;
			}


	.filter-form-search {
		/* background-color: #64bbbd; */
		margin-top: auto;
		margin-left: auto;
	}
	.filter-form-search .icon {
		margin-top: -2px;
		float: right;
	}


/* General Lists */
.list-item {
	margin-bottom: 2rem;
}
.list-item div.item-description h3 {
	margin-top: 0;
}


	/* Custom Stories (based on GL) */
.custom-stories {
	margin: 2rem 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	.custom-stories:after {
		content: '';
		flex-basis: calc(33.33% - 2rem); /* ? */
		flex-basis: 100%;
	}
	.custom-story {
		position: relative;
		flex-basis: 31%;
		flex-basis: 100%;
		width: 100%;
		margin-bottom: 3rem;
		color: #009cdc;

		display: flex;
		flex-direction: column;
	}
		.custom-story-figure {
			margin-bottom: 1rem;
			overflow: hidden;
		}
			.custom-story-img {
				display: block;
				transition: .23s transform ease-in;
			}
			.custom-story-figure a:hover .custom-story-img {
				transform: scale(1.05);
			}
			.custom-story-img.placeholder {
				display: block;
				background-color: #64bbbd;
			}
		.custom-story-details {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
		}
			.custom-story-title {
				margin-top: .25em;
				margin-bottom: .75rem;
				color: inherit;
			}

			.custom-story-details a {
				text-decoration: none;
				color: inherit;
			}
			.custom-story-details a:hover {
				color: inherit;
				background-color: transparent;
			}
			.custom-story-details h2 a:hover {
				text-decoration: underline;
			}
			.custom-story-body {
				flex-grow: 1;
				color: #707070;
			}
			.custom-story .more {
				margin: 1rem 0 .5rem 0;
			}
			.custom-story .more a {
				display: block;
				max-width: max-content;
				transition: transform .1s;
				text-decoration: underline;
			}
			.custom-story .more a:hover {
				transform: scale(1.1);
			}


	@media (min-width: 700px) {
		/* Custom stories arrangements:
		(by default each item is 31%) */
		.custom-stories:after { flex-basis: calc(33.33% - 2rem); /* ? */ }
		.custom-story { flex-basis: 31%; }

		/* 1 item or any first if not 2 items total: */
		.custom-stories:not(.count-2) .custom-story:first-child {  flex-basis: 100%; display: flex; flex-direction: row; }
		.custom-stories:not(.count-2) .custom-story:first-child .custom-story-figure { width: 65.5%; margin-bottom: 0; }
		.custom-stories:not(.count-2) .custom-story:first-child .custom-story-details .more { }
		.custom-stories:not(.count-2) .custom-story:first-child .custom-story-details .more a { border:.5px solid currentcolor; padding: .25em 1em; border-radius: 3px; color: inherit; background-color: transparent; text-transform: uppercase; text-decoration: none; }
		.custom-stories:not(.count-2) .custom-story:first-child .custom-story-details { width: 31%; margin-left: auto;   /* vert center: */ display: flex; flex-direction: column; justify-content: center; }
		.custom-stories:not(.count-2) .custom-story:first-child .custom-story-body { display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }

		.colour-stories:not(.count-2) .custom-story:first-child .custom-story-details { width: 35%; }


		/* 2 items: [2] */
		.custom-stories.count-2 .custom-story { flex-basis: 48.25%; }

		/* 3 items: [1|2] */
		.custom-stories.count-3 .custom-story { flex-basis: 48.25%; }

		/* 4 items: [1|3] */

		/* 5 items: [1|2|2] */
		.custom-stories.count-5 .custom-story { flex-basis: 48.25%; }

		/* 6 items: [1|2|3] */
		.custom-stories.count-6 .custom-story:nth-child(2),
		.custom-stories.count-6 .custom-story:nth-child(3) { flex-basis: 48.25%; }

		/* 7 items: [1|3|3] */

		/* 8 items: [1|2|2|3] */
		.custom-stories.count-8 .custom-story:nth-child(2),
		.custom-stories.count-8 .custom-story:nth-child(3),
		.custom-stories.count-8 .custom-story:nth-child(4),
		.custom-stories.count-8 .custom-story:nth-child(5) { flex-basis: 48.25%; }

		/* 9 items: [1|2|3|3] */
		.custom-stories.count-6 .custom-story:nth-child(2),
		.custom-stories.count-6 .custom-story:nth-child(3) { flex-basis: 48.25%; }

		/* 10 items: [1|3|3|3] */

		/* 11 or more: show 10 and hide the rest */
		.custom-story:nth-child(n+10) ~ .custom-story { display: none; }


		.colour-story:nth-child(n+2) ~ .custom-story { display: flex; flex-direction: column; }
		.colour-story:nth-child(n+2) ~ .custom-story .custom-story-details { display: flex; flex-direction: column; flex-grow: 1; }
		.colour-story:nth-child(n+2) ~ .custom-story .custom-story-body { margin-bottom: auto; }
	}


	/* Colour Stories (Stacked) */
	.colour-story {
		background-color: #333;
		color: #fff;
	}
	.colour-story .custom-story-figure {
		margin-bottom: 0;
	}
	.colour-story .custom-story-details {
		padding: 1rem 1.5rem;

		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}
	.colour-story .custom-story-body {
		color: unset;
	}


	/* Visuals (based on GL)
	   Similar to Custom Stories & Colour Stories, but all the same size and copy above image */
	.visuals {
		margin: 2rem 0 0;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		grid-gap: 2rem;
		align-items: stretch;
	}
		.visual-item {
			position: relative;
			padding: 0;
			margin: 1rem 0;

			display: flex;
			flex-direction: column;
			/* color: #009cdc; */

		}

			.visual-figure {
				margin-bottom: 0;
				overflow: hidden;

			}
				.visual-figure img {
					display: block;
					transition: .23s transform ease-in;
				}
				.visual-figure img.placeholder {
					display: block;
					background-color: #64bbbd;
				}
				.visual-item:hover img {
					transform: scale(1.05);
				}
			.visual-details {
				padding: .5rem 1.5rem;
			}
				.visual-title {
					margin: 0;
					color: inherit;
					font-size: 1.25rem;
				}

				.visual-details a {
					text-decoration: none;
					color: inherit;
				}
				.visual-details a:hover {
					/* color: #64bbbd; */
				}
				.visual-body {
					color: #707070;
				}
				.visual-item .more {
					display: none;
					margin: 1rem 0 .5rem 0;
				}
				.visual-item .more a {
					text-decoration: underline;
				}



/* Signup generated form styles   */
#ic_signupform .elcontainer.elcontainer {
	max-width: 700px;
	border: none;
	font-size: 1rem;
	font-family: inherit;
	color: inherit;
	margin: 0 0 2rem;
	padding: 0;
}
#ic_signupform .elcontainer.elcontainer .form-header {
	border-bottom: none;
	text-align: left;
	font-size: 100%;
	margin: 0 0 1rem;
	padding: 0;
}
#ic_signupform .elcontainer.elcontainer .formEl,
#ic_signupform .elcontainer.elcontainer.generous .formEl:not(.hidden-field) {
	right: 0;
	margin-bottom: 1rem;
}
#ic_signupform .elcontainer.elcontainer.generous .formEl:not(.hidden-field) input[type="text"],
#ic_signupform .elcontainer.elcontainer.generous .formEl:not(.hidden-field) select,
#ic_signupform .elcontainer.elcontainer .formEl.fieldtype-input input[type="text"],
#ic_signupform .elcontainer.elcontainer .formEl.fieldtype-dropdown select {
	background-color: unset;
	border-color: #ccc;
	color: #666;
	padding: .5em .5em .6em;
	height: auto;
}
#ic_signupform .elcontainer.elcontainer .formEl.fieldtype-dropdown select {
	padding-right: 2em;
}
#ic_signupform .elcontainer.elcontainer.inline-label-left .formEl.fieldtype-input label {
	display: block;
	margin-bottom: .25rem;
	font-size: .875rem;
	font-weight: unset;
	line-height: normal;
	color: inherit;
	text-transform: uppercase;
	width: unset;
}
#ic_signupform .elcontainer.elcontainer .formEl.required label span.indicator.required {
	display: none;
}
#ic_signupform .elcontainer.elcontainer.elcontainer .submit-container {
	text-align: left;
	padding: 0;
}
#ic_signupform .elcontainer.elcontainer .submit-container input[type="submit"] {
	display: inline-block;
	vertical-align: middle;
	padding: .6em 1em .5em;
	min-width: 6em;

	color: #fff;
	background-color: #009cdc;
	background-image: none;
	background-repeat: no-repeat;
	background-repeat: repeat-x;
	background-origin: border-box;

	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.01em;

	font-family:  sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 1;

	border: 1px solid rgba(0, 0, 0, 0);
	border-radius: 3px;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;

	cursor: pointer;
	transition: all 0.2s ease-in;
}
#ic_signupform .elcontainer.elcontainer .submit-container input[type="submit"]:hover {
	background-color: #64bbbd;
}


/* !! IE adjustments */
@media all and (-ms-high-contrast:none) {
	body:not(.home) {
		display: block;
	}
	.main-nav .nav-1 {
		align-items: center;
	}
	.main-nav .nav-1 > li,
	.main-nav #navigation-1-3,
	.main-nav #navigation-1-4,
	.main-nav #navigation-1-5,
	.main-nav #navigation-1-11,
	.main-nav #navigation-1-10 {
		flex-basis: auto;
		width: auto;
	}

	.featured-banners {
		flex: 0 0 auto;
	}

	.featured-events .event-img {
		height: auto;
	}

	.mapsbar-container > * {
		flex-basis: auto;
		width: 33%;
		font-size: 26px;
	}
}



/* ! Membership Packages 2022 */
.packages-block {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(400px, 2fr));
	gap: 2rem;
	margin-block: 2rem;
}
	.package {
		display: flex;
		flex-direction: column;
		position: relative;
		border: 1px solid currentcolor;
		padding: 1rem 7% 0;
        /* margin-bottom: auto; */
		flex-grow: 1;
	}

	.package-header {
		display: flex;
		margin: 3rem 0 2rem;
	}
		.package-title {
			flex-grow: 1;
			max-width: 70%;
			margin-bottom: auto;

			text-transform: uppercase;
			font-weight: 900;
			font-size: 2em;
			font-size: clamp(1.25em, .75em + 1.5vw, 2.5em);

			color: var(--package-color, currentcolor);
		}

	.package-actions {
		display: flex;
		margin-left: auto;
	}
	.package-actions > a {
		display:flex;
		justify-content: center;
		align-items: center;
		width: 200px;
		height: 200px;
		width: clamp(60px, 12vw, 100px);
		height: clamp(60px, 12vw, 100px);
		opacity: 1;
		padding: 5%;

		transform-origin: center;
		transform: scale(.9);
		transition: all .2s ease-in;
		box-shadow: 0 3px 5px 3px rgba(0,0,0,.2);
		border-radius: 50%;
		border: 5px solid #fff;

		background-color: #0063af;
		background-color: var(--package-color, #0063af);
		color: #fff;

		text-align: center;
		text-transform: uppercase;
		text-decoration: none;
		font-weight: 700;
		font-size: 20px;
		font-size: clamp(1em, 0.6em + .6vw, 1.5rem);
		line-height: 1.1;
	}
	.package-actions > a:hover {
		transform: scale(1);
		filter: saturate(150%);
		box-shadow: 0 3px 5px 5px rgba(0,0,0,.2);
	}
	.package-actions > a[href=""] {
		display: none;
	}

	.package-includes-list {
		display: flex;
		flex-wrap: wrap;
		gap: 1.5rem;
		list-style: none;
		padding: 0;
		margin: 2em 0;
	}
	.package-includes-list li {
		display: inline-block;
	}
	.package-includes-list img {
		display: block;
		width: auto;
		height: 45px;
	}

	.package-zoo {
		--package-color: #0063af;
	}
	.package-leaf {
		--package-color: #407928;
	}
	.package-inspire {
		--package-color: #da1f3f;
	}
	.package-conservation {
		--package-color: #dca100;
	}

	.package-value {
		position: absolute;
		top: 0;
		left: 2rem;
		padding: .5rem 2rem;
		background-color: #941f3f;
		color: #fff;

		text-align: center;
		text-transform: uppercase;
		font-weight: 700;
		font-size: 20px;
		line-height: 1.1;
	}

	.package-details {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}
	.package-description {
		margin-bottom: auto;
	}
	.package .toggle-unit {
		margin: .25rem -8.25% 0;
	}
	.package .toggle-head {
		background-color: var(--package-color, #626161);
	}
	.package .is-toggle-on .toggle-details {
		padding-right: 1rem;
	}

	.package-list {
		list-style: none;
		margin: 0;
		padding: 0;
	}
		.package-list > li {
			display: flex;
			padding: .25rem 0;
		}
		.package-list > li > b {
			flex-grow: 1;
			padding-right: 1rem;
			font-weight: normal;
		}
		.package-list > li > strong {
			display: flex;
			flex-shrink: 0;
			width: 5rem;
			line-height: 1.1;
		}
		.package-check {
			display: block;
			margin: auto;
			width: 1rem;
			height: 1rem;
			background-color: var(--package-color, #626161);
			clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
		}



	.packages-charts {
		margin-block: 2rem;
	}
	.packages-table {
		margin: 4rem 0 2rem;
	}
	.packages-table thead th,
	.packages-table tbody th.subtitle {
		font: 900 20px/1.2 myriad-pro, sans-serif;
		text-transform: uppercase;
		text-align: center;
		color: var(--package-color);
	}
	.packages-table tbody th.subtitle,
	.packages-table tbody th.subtitle ~ td {
		text-align: left;
		padding-top: 3rem;
		border-bottom: none;
	}
	.packages-table thead th:first-of-type {
		text-align: left;
		margin-bottom: 0;
		padding-left: 0;
	}

	.packages-table tbody tr td,
	.packages-table tbody tr th {
		padding: 1em 0;
		border-bottom: .5px solid currentcolor;
	}
	.packages-table :where(tbody tr:nth-child(2n+1) td),
	.packages-table :where(tbody tr:nth-child(2n+1) th) {
		background-color: transparent;
	}
	.packages-table tbody td {
		font-weight: 600;
	}
	.packages-table tbody td[colspan="5"] {
		font-size: 100%;
		font-weight: normal;
		text-align: left;
	}

	.packages-table tbody th {
		font-weight: normal;
	}
	.packages-table tbody td {
		width: 15%;
		text-align: center;
		font-size: 110%;
	}

	.packages-table thead th:nth-child(2),
	.packages-table tbody td:nth-child(2),
	.packages-table tfoot td:nth-child(2) .button-buy {
		--package-color: #0063af;
	}
	.packages-table thead th:nth-child(3),
	.packages-table tbody td:nth-child(3),
	.packages-table tfoot td:nth-child(3) .button-buy {
		--package-color: #407928;
	}
	.packages-table thead th:nth-child(4),
	.packages-table tbody td:nth-child(4),
	.packages-table tfoot td:nth-child(4) .button-buy {
		--package-color: #da1f3f;
		background-color: hsla(197.8, 75.5%, 90.4%, .5);
	}
	.packages-table thead th:nth-child(5),
	.packages-table tbody td:nth-child(5),
	.packages-table tfoot td:nth-child(5) .button-buy {
		--package-color: #dca100;
	}
	.packages-table thead th:nth-child(4) {
		position: relative;
	}
	.packages-table thead th:nth-child(4)::before {
		content: "Best Value";
		display: block;
		position: absolute;
		top: -2rem;
		left: 0;
		width: 100%;
		padding: .5rem 2rem;
		background-color: #941f3f;
		color: #fff;

		text-align: center;
		text-transform: uppercase;
		font-weight: 700;
		font-size: 1rem;
		line-height: 1.1;
	}

	.packages-table tfoot td {
		padding: 0 .25em;
	}
	.packages-table tfoot td .button {
		width: 100%;
		font-size: 14px;
		margin-bottom: .25em;
		border-radius: 0;
	}
	.packages-table tfoot td .button.button-buy {
		background-color: var(--package-color);
	}
	.packages-table tfoot td .button-renew {
		background-color: #77a02e;
	}
	.packages-table tfoot td .button:hover {
		background-color: #64bbbd;
	}
	.packages-table tfoot td .button[href=""] {
		display: none;
	}
