/*.dunspektrix-button,
input[type="submit"].dunspektrix-button {
	display: inline-block;
	background: #222;
	font-size: 18px;
	line-height: 28px;
	padding: 10px 24px;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
}
.dunspektrix-button:hover,
input[type="submit"].dunspektrix-button:hover,
.dunspektrix-button:focus,
input[type="submit"].dunspektrix-button:focus,
.dunspektrix-button:active,
input[type="submit"].dunspektrix-button:active {
	text-decoration: none;
	background: #000;
}*/

.dunspektrix-event-listings {
	padding: 0 0 0 25%;
}
	.dunspektrix-event-listings:after {
		clear: both;
		display: block;
		content: '';
	}
	.dunspektrix-event-listings-filter {
		width: 33.33%;
		padding: 0 16px 0 0;
		margin: 0 0 32px -33.33%;
		float: left;
	}
		.dunspektrix-event-listings-filter .dunspektrix-event-listings-filter-block {
			margin: 0 0 16px 0;
			background: #FFF;
			border: 1px solid #CCC;
		}
			.dunspektrix-event-listings-filter .dunspektrix-event-listings-filter-block h4 {
				font-size: 18px;
				line-height: 24px;
				margin: 0px;
				padding: 10px 20px;
				border-bottom: 1px solid #CCC;
			}
			.dunspektrix-event-listings-filter .dunspektrix-event-listings-filter-block .dunspektrix-event-listings-filter-block-inner {
				padding: 20px;
			}
	.dunspektrix-event-listings-inner {
		padding: 0 0 32px 0;
	}
	.dunspektrix-event-listings-cards {
		display: grid;
		column-gap: 16px;
		row-gap: 16px;
		grid-template-columns: 1fr 1fr 1fr;
	}
		.dunspektrix-event-listings-cards .dunspektrix-event-card {
			border: 1px solid #CCC;
			background: #FFF;
		}
			.dunspektrix-event-listings-cards .dunspektrix-event-card-image {
				display: block;
				width: 100%;
				height: auto;
			}
			.dunspektrix-event-listings-cards .dunspektrix-event-card-inner {
				padding: 24px;
			}
				.dunspektrix-event-listings-cards .dunspektrix-event-card-inner h4 {
					padding: 0px;
					font-size: 24px;
					line-height: 32px;
					margin: 0 0 20px 0;
				}
				.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-event-card-attribute,
				.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-limited-availability-flag {
					display: block;
					position: relative;
					margin: 0 0 10px 0;
					font-size: 16px;
					line-height: 24px;
				}
				.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-limited-availability-flag { color: #d27212; font-weight: bold; }
					.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-event-card-attribute:has(svg),
					.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-limited-availability-flag:has(svg) {
						padding: 0 0 0 24px;
					}
					.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-event-card-attribute svg,
					.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-limited-availability-flag svg {
						position: absolute;
						left: 0px;
						top: 50%;
						transform: translateY(-50%);
						-webkit-transform: translateY(-50%);
						-ms-transform: translateY(-50%);
					}
					.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-event-card-buttons {
						display: block;
						padding: 10px 0 0 0;
					} 
					.dunspektrix-event-listings-cards .dunspektrix-event-card-inner .dunspektrix-event-card-buttons a {
						display: block;
						width: 100%;
						margin: 10px 0 0 0;
					}
	.dunspektrix-event-listings-pagination {
		text-align: center;
		padding: 32px 0 0 0;
	}


@media all and (max-width: 1279px) and (min-width: 0px) {
	.dunspektrix-event-listings-cards { grid-template-columns: 1fr 1fr; }
}

@media all and (max-width: 1023px) and (min-width: 0px) {
	.dunspektrix-event-listings { padding-left: 0px; }
	.dunspektrix-event-listings-filter { width: auto; float: none; margin: 0px; }
	.dunspektrix-event-listings-cards { grid-template-columns: 1fr 1fr; }
}

@media all and (max-width: 767px) and (min-width: 0px) {
	.dunspektrix-event-listings-cards { grid-template-columns: 1fr; }
}


.dunspektrix-event-post {

}
	.dunspektrix-event-post .dunspektrix-event-post-image {

	}
	.dunspektrix-event-post .dunspektrix-event-post-image img {
		width: 100%;
		margin: 0 0 30px 0;
	}
	.dunspektrix-event-post h1 {
		font-size: 56px;
		line-height: 68px;
		padding: 0px;
		margin: 0 0 30px 0;
	}
	.dunspektrix-event-post .dunspektrix-event-post-attributes {
		margin: 0 -2px 30px -2px;
	}
		.dunspektrix-event-post .dunspektrix-event-post-attribute {
			display: inline-block;
			vertical-align: top;
			position: relative;
			font-size: 16px;
			line-height: 24px;
			margin: 0 2px 10px 2px;
			padding: 10px 20px;
			background: rgba(0,0,0,0.1);
		}
		.dunspektrix-event-post .dunspektrix-event-post-attribute:has(svg) {
			padding-left: 44px;
		}
		.dunspektrix-event-post .dunspektrix-event-post-attribute svg {
			position: absolute;
			left: 20px;
			top: 50%;
			transform: translateY(-50%);
			-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
		}

	.dunspektrix-event-post .dunspektrix-event-post-content {
		margin: 0 0 30px 0;
	}

	.dunspektrix-event-post-instances {

	}
		.dunspektrix-event-post-instance {
			margin: 0 0 10px 0;
			border: 1px solid #CCC;
			padding: 20px;
			display: flex;
			align-items: center;
		}
		.dunspektrix-event-post-instance .dunspektrix-event-post-instance-attributes {
			width: 75%;
		}
			.dunspektrix-event-post-instance .dunspektrix-event-post-instance-attribute,
			.dunspektrix-event-post-instance .dunspektrix-limited-availability-flag {
				display: inline-block;
				margin: 0 20px 0 0;
				position: relative;
			}
			.dunspektrix-event-post-instance .dunspektrix-limited-availability-flag { color: #d27212; font-weight: bold; }
			.dunspektrix-event-post-instance .dunspektrix-event-post-instance-attribute:has(svg),
			.dunspektrix-event-post-instance .dunspektrix-limited-availability-flag:has(svg) {
				padding-left: 44px;
			}
			.dunspektrix-event-post-instance .dunspektrix-event-post-instance-attribute svg,
			.dunspektrix-event-post-instance .dunspektrix-limited-availability-flag svg {
				position: absolute;
				left: 20px;
				top: 50%;
				transform: translateY(-50%);
				-webkit-transform: translateY(-50%);
				-ms-transform: translateY(-50%);
			}
		.dunspektrix-event-post-instance .dunspektrix-event-post-instance-buttons {
			width: 25%;
			text-align: right;
		}
	
	.dunspektrix-availability-badge {
		background: #16a31f;
		border-radius: 3px;
		padding: 4px 8px;
		font-size: 12px;
		line-height: 18px;
		color: #FFF;
		display: inline-block;
		font-weight: normal;
	}
	.dunspektrix-availability-badge-sold-out {
		background: #a31616;
	}
	.dunspektrix-availability-badge-low {
		background: #a35116;
	}
	.dunspektrix-availability-badge-limited {
		background: #1663a3;
	}
	
	.dunspektrix-event-post-instances-calendar {
		position: relative;
		margin: 0 0 32px 0;
	}
		.dunspektrix-event-post-instances-calendar table,
		.dunspektrix-event-post-instances-calendar table tr,
		.dunspektrix-event-post-instances-calendar table th,
		.dunspektrix-event-post-instances-calendar table td {
			padding: 0px;
			margin: 0px;
			border: none;
			font-weight: normal;
			text-align: left;
		}
		.dunspektrix-event-post-instances-calendar table {
			border: 1px solid #CCC;
			border-collapse: collapse;
		}
			.dunspektrix-event-post-instances-calendar table tr th {
				padding: 16px;
				font-weight: bold;
				text-align: center;
				border: 1px solid #CCC;
				width: calc(100%/7);
			}
			.dunspektrix-event-post-instances-calendar table tr td {
				vertical-align: top;
				border: 1px solid #CCC;
				width: calc(100%/7);
			}

		.dunspektrix-event-post-instances-calendar .dunspektrix-event-post-instances-calendar-header {
			height: 70px;
			position: absolute;
			top: 0px;
			left: 0px;
			width: 100%;
			display: flex;
			justify-content: space-between;
			align-content: center;
			flex-wrap: wrap;
			z-index: 1;
		}
		.dunspektrix-event-post-instances-calendar .dunspektrix-event-post-instances-calendar-header a { color: #000; cursor: pointer; }
		.dunspektrix-event-post-instances-calendar .dunspektrix-event-post-instances-calendar-header a span { display: none; }
		.dunspektrix-event-post-instances-calendar .dunspektrix-event-post-instances-calendar-header a svg {
			width: 32px;
			height: 32px;
		}
		.dunspektrix-event-post-instances-calendar-grid {
			display: block;
		}
		.dunspektrix-event-post-instances-calendar-grid-months-wrapper {
			overflow: hidden;
			width: 100%;
			position: relative;
		}
			.dunspektrix-event-post-instances-calendar-grid-months {
				display: block;
				float: left;
				width: 300%;
				transition: transform 0.5s ease-in-out;
			}
			.dunspektrix-event-post-instances-calendar-grid-month {
				width: calc(100%/3);
				float: left;
			}
			.dunspektrix-event-post-instances-calendar-grid-month-name {
				padding: 20px 0;
				line-height: 30px;
				font-size: 20px;
				font-weight: bold;
				text-align: center;
			}
			.dunspektrix-event-post-instances-calendar-grid-month .dunspektrix-event-post-instances-calendar-grid-day {
				padding: 16px;
				min-height: 180px;
			}
			.dunspektrix-event-post-instances-calendar-grid-month .dunspektrix-event-post-instances-calendar-grid-day-outside-month {
				opacity: 0.6;
				background: #CCCC;
			}
				.dunspektrix-event-post-instances-calendar-grid-month .dunspektrix-event-post-instances-calendar-grid-day .dunspektrix-event-post-instances-calendar-grid-day-number {
					display: block;
					font-size: 18px;
					font-weight: bold;
					margin: 0 0 8px 0;
				}
				.dunspektrix-event-post-instances-calendar-grid-month .dunspektrix-event-post-instances-calendar-grid-day .dunspektrix-event-post-instances-calendar-grid-day-instances {
					margin: 0 0 -4px 0;
				}
				.dunspektrix-event-post-instances-calendar-grid-month .dunspektrix-event-post-instances-calendar-grid-day .dunspektrix-event-post-instances-calendar-grid-day-instances a {
					display: block;
					margin: 0 0 4px 0;
					font-weight: bold;
					background: #000;
					padding: 6px 8px;
					display: block;
					font-size: 14px;
					line-height: 20px;
					border-radius: 3px;
					color: #FFF;
				}
				.dunspektrix-event-post-instances-calendar-grid-month .dunspektrix-event-post-instances-calendar-grid-day .dunspektrix-event-post-instances-calendar-grid-day-instances a .dunspektrix-availability-badge {
					display: block;
					margin: 4px 0 2px 0;
					padding: 2px 4px;
				}



