/*
	(c)2017 - visuallizard.com

	General styles.
	Template, view, plugin and element specific, etc.
*/
img,
iframe { max-width: 100%; }

input, select, textarea {
	padding: 0.5em;
}
label {
	margin: 0 0 0.25em 0;
}

.button {
	display: inline-block;
	position: relative;
	padding: 0.625rem 1rem;
	border: 1px solid #000;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	text-align: center;
	background: #000;
	color: #fff;
}
.button:hover {
	background: #fff;
	color: #000;
}




main.internal h1 {
	padding: 35px 0;
	margin: 0 0 30px 0;
	border-bottom: 1px solid #000;
	font-size: 36px;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 0.15em;
}
	main.internal div.acknowledgement ul.partner-set {
		display: flex;
		position: relative;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: 1.25rem;
		width: 100%;
		padding: 0;
		margin: 0 0 1.75rem 0;
		list-style: none;
	}
		main.internal div.acknowledgement ul.partner-set li {
			display: block;
			position: relative;
			flex-gasis: 23.5%;
			flex-grow: 1;
			max-width: 23.5%;
			padding: 0;
			margin: 0;
		}
	main.internal div.acknowledgement p {
		font-size: 14px;
		font-style: italic;
	}
	main.internal div.acknowledgement ul.footer-nav {
		display: flex;
		position: relative;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: 1.25rem;
		width: 100%;
		padding: 0;
		margin: 0 auto;
		list-style: none;
	}
		main.internal div.acknowledgement ul.footer-nav li {
			display: block;
			position: relative;
			flex-basis: 32%;
			text-align: center;
		}
			main.internal div.acknowledgement ul.footer-nav li a {
				display: block;
				padding: 0.625rem 0;
				margin: 0;
				text-transform: uppercase;
			}



/* ! product catalog styles */
div.product-set {
	display: flex;
	position: relative;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1.5rem;
	width: 100%;
	padding: 0;
	margin: 2rem 0;
}
	div.product-set div.product-listing {
		display: flex;
		position: relative;
		justify-content: flex-start;
		flex-wrap: wrap;
		align-items: flex-start;
		flex-basis: 32%;
		max-width: 32%;
		padding: 0.625rem 0 1.25rem;
		margin: 0;
		border: 1px solid #ccc;
	}
		div.product-set div.product-listing > h3 {
			flex-basis: 100%;
			max-width: 100%;
			padding: 0.625rem 0.625rem 0;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
		}
		div.product-set div.product-listing div.product-image {
			align-self: flex-start;

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

			width: 100%;
			min-height: 300px;
			margin: 0 0.625rem 1.25rem;
            background-color: #f3f4f4;
		}
			div.product-set div.product-listing div.product-image img {
				display: block;
				position: relative;
                width: 100%;
				margin: 0 auto;
			}
		div.product-set div.product-listing dl {
			display: flex;
			position: relative;
			justify-content: flex-start;
			flex-wrap: wrap;
			align-items: center;
			width: 100%;
			padding: 0;
			margin: 0 0.625rem;
			background: #f3f4f4;
		}
			div.product-set div.product-listing dl dt {
				display: block;
				position: relative;
				flex-basis: 50%;
				max-width: 50%;
				padding: 0.25rem;
				margin: 0;
				border-bottom: 2px solid #fff;
				background: #f3f4f4;
			}
			div.product-set div.product-listing dl dd {
				display: block;
				position: relative;
				flex-basis: 50%;
				padding: 0.25rem;
				margin: 0;
				border-bottom: 2px solid #fff;
				text-align: left;
			}
		div.product-set div.product-listing p.actions {
			display: block;
			position: relative;
			align-self: flex-end;
			width: 100%;
			padding: 0.625rem;
			margin: 0;
		}
			div.product-set div.product-listing p.actions > a {
				display: inline-block;
				position: relative;
				padding: 0.625rem 1rem;
				border: 1px solid #000;
				font-size: 1rem;
				font-weight: 600;
				text-transform: uppercase;
				text-align: center;
				background: #000;
				color: #fff;
			}



/* ! product purchase display styles */
div.product-purchase {
	display: flex;
	position: relative;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1.25rem;
	width: 100%;
	padding: 0;
	margin: 0;
}
	div.product-purchase > h2 {
		display: block;
		position: relative;
		order: 0;
		flex-basis: 100%;
	}
	div.product-purchase > div.product-image {
		display: block;
		position: relative;
		order: 2;
		flex-basis: 49%;
		max-width: 49%;
		padding: 0;
		margin: 0;
	}

        div.product-purchase > div.product-image figure {
            display: flex;
            justify-content: center;
            align-items: center;

            width: 100%;
            margin: 0 0 0.625rem;
            padding: 0;
            background-color: #f3f4f4;
        }

        div.product-purchase > div.product-image img {
            max-height: 60vh;
            margin: 0 auto;
        }
	div.product-purchase > div.product-description {
		display: flex;
		position: relative;
		justify-content: flex-start;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: 1.25rem;
		order: 1;
		flex-grow: 1;
		flex-basis: 49%;
		max-width: 49%;
	}

        div.product-purchase > div.product-description h2 {
            font-size: 1.25rem;
        }

		div.product-purchase > div.product-description > div.desc {
			display: block;
			position: relative;
			flex-basis: 100%;
			max-width: 100%;
		}
		div.product-purchase > div.product-description > form {
			display: block;
			position: relative;
			flex-basis: 100%;
			max-width: 100%;
			margin: 0 0 1.25rem 0;
		}

            div.product-purchase > div.product-description > form .input-checkbox > label,
            div.product-purchase > div.product-description > form .input-radio > label {
                display: block;
                font-weight: bold;
            }

                div.product-purchase > div.product-description > form .input-check-option,
                div.product-purchase > div.product-description > form .input-radio-option {
                    width: 100%;
                    padding: 0;
                }

	div.product-purchase > div.purchase-method {
		display: block;
		position: relative;
		order: 90;
		flex-basis: 100%;
		max-width: 100%;

        margin-top: 2rem;
	}
	div.product-purchase > p.actions {
		display: block;
		position: relative;
		order: 100;
		flex-basis: 100%;
		max-width: 100%;
	}



ul.search-results {
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0 0 30px 0;
	list-style: none;
}
	ul.search-results li {
		display: block;
		position: relative;
		width: 100%;
		padding: 15px;
		margin: 0;
		border-top: 1px dotted #ccc;
	}
	ul.search-results li:first-child {
		border: none;
	}



/* ! Banners: defaults */
.banners {

}
	.banner {
		position: relative;
	}
		.banner-link {
			display: block;
		}
		.banner-img {
			display: block;
			width: 100%;
			height: auto;
			padding: 0;
		}
		.banner-text {
			position: absolute;
			top: 50%;
			left: 0;
			right: 0;
			margin: 0 auto;
			text-align: center;
			text-transform: uppercase;
			text-shadow: 0 0 3px rgba(0,0,0,.5);
			color: #fff;
			transform: translateY(-50%);
			transition: all .2s;
		}
		.banner-link:hover .banner-text {
			opacity: .5;
		}
			.banner-title {
				color: inherit;
				font-size: 50px;
				font-size: calc(1em + 2vw);
				margin-top: 0;
				margin-bottom: 0;
			}
			.banner-desc {
				max-width: 600px;
				margin: 0 auto;
				letter-spacing: 0.05em;
			}

	/* ! Banners: Featured - slider */
	.banner-block {
		display: block;
		position: relative;
		float: left;
		width: 100%;
		padding: 0;
		margin: 0;
	}



/* ! Banners: Grid Fixed item width */
.grid-fixed.banners {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 102%;
	margin: 0 -1% 0;
	padding: 0;
}
	.grid-fixed .banner {
		display: inline-block;
		width: 25%;
		padding: 1em 1%;
	}
	.grid-fixed .banner-link {
		display: flex;
		align-items: center;
		height: 100%;
	}
	.grid-fixed .banner-img {
		transition: transform .3s;
	}
	.grid-fixed .banner-link:hover .banner-img {
		transform: scale(1.1);
	}
	.grid-fixed .banner-title {
		font-size: 20px;
	}

/* ! Banners: Grid Flex item width
(usually for sponsor logos where width is unknown. Set module settigns to something like Width:0 and Height:100px ) */
.grid-flex.banners {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 102%;
	margin: 0 -1% 1em;
	padding: 0;
}
	.grid-flex .banner {
		width: auto;
		margin: 1em 1%;
		padding: 0;
	}
	.grid-flex .banner-link {

	}
	.grid-flex .banner-img {
		display: block;
		width: auto;
		height: 100%;
		max-height: 100px;
		margin: 0;
		transition: all .3s;
	}
	.grid-flex .banner:hover .banner-img {
		transform: scale(1.1);
	}
	.grid-flex .banner-title {
		font-size: 20px;
	}



/* ! gallerys */
.gallery-set {
  display: flex;
  position: relative;
  justify-content: flex-start;
  flex-wrap: wrap;
  column-gap: 2%;
  row-gap: 1.25rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gallery-set > li {
	display: block;
	position: relative;
  flex-basis: 23.5%;
  max-width: 23.5%;
  padding: 0;
  margin: 0;
}

.gallery-box {
  position: relative;
  display: block;
  margin: 0;
  height: 0;
  padding-top: 100%;
  background-size: cover;
}
.gallery-box a {
	display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: #fff;
  cursor: pointer;
}
.gallery-box[style*="placeholder"] {
   background-size: cover;
}
.gallery-text {
	display: block;
	position: absolute;
  z-index: 1;
	left: 0;
	bottom: 0;
	right: 0;
  margin: 0;
  padding: 15px;
  border: none;
  border-radius: 0;
  background-color: transparent;
  background-image: linear-gradient(to bottom, rgba(0,0,0, 0), rgba(0,0,0, .5), rgba(0,0,0, .85));
  color: #fff;
  cursor: pointer;
}
h3.gallery-title {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 300;
}
.gallery-box .gallery-brief {
	display: none;
}



/* !form styles */
.form-block {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 30px;
	margin: 0 0 30px 0;
	background: #f3f4f4;
}
	.form-block form.fm-form {
		display: flex;
		position: relative;
		float: left;
		flex-wrap: wrap;
		justify-content: space-between;
		max-width: 100%;
		width: 100%;
		padding: 0;
		margin: 0;
	}
		.form-block form.fm-form div.input-text,
		.form-block form.fm-form div.input-email,
		.form-block form.fm-form div.input-datepicker {
			display: block;
			position: relative;
			flex-grow: 1;
			flex-basis: 49%;
			padding: 0 15px;
		}
		.form-block form.fm-form div.input-select,
		.form-block form.fm-form div.input-radio { width: 100%; padding: 0 15px; }
		.form-block form.fm-form div.input-textarea {
			display: block;
			position: relative;
			flex-grow: 1;
			min-width: 100%;
			padding: 0 15px;
		}
			.form-block form.fm-form div.input-text label,
			.form-block form.fm-form div.input-email label,
			.form-block form.fm-form div.input-datepicker label,
			.form-block form.fm-form div.input-select label,
			.form-block form.fm-form div.input-radio label,
			.form-block form.fm-form div.input-textarea label {
				margin: 0 0 5px 0;
				font-size: 16px;
				font-weight: 300;
			}
		.form-block form.fm-form div.g-recaptcha {
			display: block;
			position: relative;
			clear: both;
			float: left;
			width: 100%;
			padding: 0 15px;
			margin: 0 0 15px 0;
		}
		.form-block form.fm-form button[type="submit"] {
			display: block;
			position: relative;
			clear: both;
			flex-grow: 0;
			width: 50%;
			padding: 12px 0 10px 0;
			margin: 0 15px;
			border: none;
			font-size: 20px;
			line-height: 1.1;
			background: rgba(0,0,0,1);
			color: #fff;
		}



/* ! Location block styles */
.location {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 15px 0;
	margin: 0;
	border-top: 1px solid #000;
	font-size: 14px;
	text-align: center;
	text-transform: uppercase;
}
	.location p {
		margin: 0 0 5px 0;
	}
	.location ul {
		display: flex;
		position: relative;
		justify-content: center;
		column-gap: 0.325rem;
		row-gap: 0.625rem;
		width: 100%;
		padding: 0;
		margin: 0;
		list-style: none;
		text-align: center;
	}
		.location ul li {
			display: block;
			position: relative;
			flex-grow: 1;
			max-width: 32%;
			padding: 0;
			margin: 0;
		}
			.location ul li a {
				display: block;
				position: relative;
				width: 100%;
				padding: 0;
				margin: 0;
				text-align: center;
				text-decoration: underline;
				color: #000;
			}



/* ! Events: featured events */
.event {
	display: block;
	position: relative;
	padding: 0;
	margin: 0 0 15px 0;
}
	main.home .event-set,
	main.internal .event-set {
		display: flex;
		position: relative;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		padding: 0;
		margin: 0;
	}
		main.home .event-set > .event,
		main.internal .event-set > .event {
			display: block;
			position: relative;
			flex-basis: 32%;
			max-width: 32%;
			margin: 0 0 15px 0;
			border-bottom: 5px solid #ccc;
		}
		main.home .event-set > .event {
			flex-basis: 49.5%;
			max-width: 49.5%;
		}
		main.home .event-set > .event:nth-child(3n+1),
		main.internal .event-set > .event:nth-child(3n+1) {
			margin: 0 0 15px 0;
		}

	.event a img {
		display: block;
		position: relative;
		width: 100%;
		margin: 0 0 15px 0;
	}
	.event > h3 {
		min-height: 120px;
		padding: 10px 0;
		margin: 0;
		text-align: center;
		font-size: 18px;
		font-weight: 400;
		line-height: 1.1;
	}
		.event > h3 span {
			display: block;
			position: relative;
			padding: 10px 0 0 0;
			font-size: 16px;
			font-weight: 300;
		}
.event-display {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}
	.event-display > img {
		display: block;
		position: relative;
		float: left;
		width: 50%;
		padding: 0;
		margin: 0;
	}
	.event-display .event-copy {
		display: block;
		position: relative;
		float: right;
		width: 50%;
		padding: 0 0 0 30px;
		margin: 0;
	}
		.event-display .event-copy p.back {
			display: block;
			position: relative;
			clear: both;
		}
	div.no-event-image {
		display: block;
		position: relative;
		width: 100%;
		padding: 0;
		margin: 0 0 15px 0;
	}
	.event-display div.no-event-image {
		float: left;
		width: 50%;
		margin: 0;
	}
		div.no-event-image h3 {
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			right: 0;
			z-index: 1;
			padding: 5em 1em;
			margin: 0;
			border: none;
			font-size: 36px;
			font-weight: 600;
			line-height: 1.25;
			text-align: center;
		}
		body.home div.no-event-image h3 {
			padding: 7em 1em;
		}
		div.no-event-image a {
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			right: 0;
			z-index: 2;
		}
		.event-display div.no-event-image h3 {
			padding: 5em 1em;
			font-size: 50px;
		}
		div.no-event-image img {
			display: block;
			position: relative;
			width: 100%;
			padding: 0;
			margin: 0;
		}
		.event-display .event-copy .event-info.ticket-info {
			display: block;
			position: relative;
			float: left;
			width: 100%;
			padding: 15px 0;
			margin: 0;
			border-top: 1px solid #000;
			text-align: center;
		}
			.event-display .event-copy .event-info.ticket-info p span {
				display: block;
				margin: 0 0 10px 0;
				text-transform: uppercase;
				letter-spacing: 1.5px;
			}
		.event-display .event-copy .event-info.more-info {
			display: block;
			position: relative;
			float: left;
			width: 100%;
			padding: 15px 0;
			margin: 0;
			border-top: 1px solid #000;
		}



/* !Booking Calendar styles */
.booking-block {
	display: block;
	position: relative;
	width: 100%;
	padding: 0 5%;
}
/* !event module styles */
#calendar-set {
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0 0 30px 0;
}
	#calendar-set .calendar-nav {
		display: block;
		position: relative;
		clear: both;
		float: left;
		width: 100%;
		padding: 0;
		margin: 0 0 25px 0;
	}
		#calendar-set .calendar-nav h3 {
			display: block;
			position: relative;
			float: left;
			width: 50%;
			padding: 0;
			margin: 0;
			font-size: 28px;
			line-height: 2;
			font-weight: 400;
			text-align: center;
		}
		#calendar-set .calendar-nav .prev,
		#calendar-set .calendar-nav .next {
			display: block;
			position: relative;
			float: left;
			width: 25%;
			min-height: 30px;
			padding: 0;
			margin: 0;
			font-size: 20px;
			line-height: 2;
			text-align: left;
			text-decoration: none;
			color: rgba(160,160,160,1);
		}
		#calendar-set .calendar-nav .next {
			float: right;
			text-align: right;
		}
			#calendar-set .calendar-nav a.prev svg,
			#calendar-set .calendar-nav a.next svg {
				display: block;
				float: left;
				padding: 5px;
				margin: 5px 5px 0 0;
			}
			#calendar-set .calendar-nav a.next svg {
				float: right;
				margin: 5px 0 0 5px;
			}
	#calendar-set .calendar {
		display: block;
		position: relative;
		clear: both;
		width: 100%;
		padding: 0;
		margin: 0;
	}
		#calendar-set .calendar .calendar-week {
			display: flex;
			position: relative;
			flex-wrap: wrap;
			width: 100%;
			padding: 0;
			margin: 0 0 1px 0;
			font-size: 12px;
			font-weight: 400;
		}
			#calendar-set .calendar .calendar-week .label {
				display: block;
				position: relative;
				flex-grow: 1;
				flex-basis: 14.275%;
				padding: 2px 5px;
				margin: 0;
				border: 1px solid transparent;
				font-size: 10px;
				font-weight: 600;
				line-height: 12px;
				text-align: center;
				text-transform: uppercase;
			}
			#calendar-set .calendar .calendar-week .day {
				display: block;
				position: relative;
				flex-grow: 1;
				flex-basis: 14.275%;
				min-height: 120px;
				padding: 0;
				margin: 0;
				border-left: 1px solid #fff;
				background: rgba(245,245,245,1);
			}
			#calendar-set .calendar .calendar-week .day.today:after {
				content: "today";
				display: block;
				position: absolute;
				bottom: 10px;
				right: 10px;
				text-align: right;
				color: #000;
			}
			#calendar-set .calendar .calendar-week .day:first-of-type,
			#calendar-set .calendar .calendar-week .label:first-of-type { border: none; }
			#calendar-set .calendar .calendar-week .day.fade { opacity: 0.5; }
				#calendar-set .calendar .calendar-week .day span {
					display: block;
					position: absolute;
					z-index: 2;
					top: 0;
					left: 0;
					bottom: 0;
					right: 0;
					padding: 10px;
					margin: 0;
					font-size: 16px;
					font-weight: 600;
					text-align: center;
				}
				#calendar-set .calendar .calendar-week .day span:first-child {
					text-align: left;
				}
				#calendar-set .calendar .calendar-week .day span.events { color: rgba(171,19,30,1); }
				#calendar-set .calendar .calendar-week .day span.marked:after {
					content: "";
					display: block;
					position: absolute;
					width: 100%;
					padding: 0;
					margin: 0 0 0 -10px;
					top: 35px;
					text-align: center;
					font-weight: 100;
					color: #000;
				}
				#calendar-set .calendar .calendar-week .day span.marked.rehearsal {
					z-index: 1;
					border: 1px solid rgba(100,100,100,1);
					background: rgba(255,196,0,0.2);
				}
				#calendar-set .calendar .calendar-week .day span.marked.rehearsal:after {
					content: "rehearsal";
				}
				#calendar-set .calendar .calendar-week .day span.marked.performance {
					z-index: 1;
					border: 1px solid rgba(100,100,100,1);
					background: rgba(180,0,0,0.2);
				}
				#calendar-set .calendar .calendar-week .day span.marked.performance:after {
					content: "performance";
				}
				#calendar-set .calendar .calendar-week .day a {
					display: block;
					position: absolute;
					z-index: 1;
					top: 0;
					left: 0;
					bottom: 0;
					right: 0;
				}
				#calendar-set .calendar .calendar-week .day a:hover { background: rgba(171,19,30,0.1); }



/* !bulletin module styles */
div.article-set {
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0;
}
	div.article-set article {
		display: flex;
		position: relative;
		justify-content: flex-start;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: 1rem;
		width: 100%;
		padding: 1rem;
		margin: 0;
		border-top: 1px solid #000;
	}
	div.article-set article:first-child {
		border: none;
	}
		div.article-set article h3 {
			display: flex;
			position: relative;
			justify-content: flex-start;
			flex-wrap: wrap;
			align-items: center;
			column-gap: 2%;
			row-gap: 0.625rem;
			width: 100%;
			padding: 0;
			margin: 0;
		}
		div.article-set article h3 span.date {
			display: block;
			position: relative;
			align-self: flex-end;
			order: 1;
			width: 150px;
			margin: 0;
			font-size: 1.25rem;
			font-weight: 300;
			letter-spacing: normal;
			text-align: right;
		}
		div.article-set article h3 a {
			display: block;
			position: relative;
			order: 0;
			flex-basis: 50%;
			flex-grow: 1;
		}



/* !user login and registration styles  */
form.auth-form {
	display: block;
	position: relative;
	width: 50%;
	padding: 1em;
	margin: 0 25%;
	background: #f3f4f4;
}
	form.auth-form input {
		width: 49%;
	}
	form.auth-form .button {
		display: inline-block;
		padding: 0.5em 1em;
		margin: 0.5em 0;
		border: 1px solid #000;
		background: rgba(0,0,0,1);

		color: #fff;
		font-size: 0.9em;
		font-weight: 600;
		text-transform: uppercase;

		cursor: pointer;
	}



/* ! auction catalog styles */
div.auction-list-items {
	display: flex;
	position: relative;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1.25rem;
	width: 100%;
	padding: 0;
	margin: 0;
}
	div.auction-list-items div.auction-list-item {
		display: flex;
		position: relative;
		justify-content: flex-start;
		flex-wrap: wrap;
		align-items: flex-start;
		flex-basis: 32%;
		max-width: 32%;
		padding: 0;
		margin: 0;
		border: 1px solid #ccc;
	}
		div.auction-list-items div.auction-list-item > h3 {
			flex-basis: 100%;
			padding: 0.625rem;
		}
		div.auction-list-items div.auction-list-item figure {
			display: block;
			align-self: flex-start;
			width: 90%;
			max-width: 250px;
			min-height: 250px;
			margin: 0 auto 0.625rem auto;
		}
			div.auction-list-items div.auction-list-item figure img {
				display: block;
				position: relative;
				margin: 0 auto;
			}
			div.auction-list-items div.auction-list-item figure figcaption {
				padding: 0.5em;
				margin: 0 0 0.5em 0;
				font-size: 0.875rem;
				line-height: 1.1;
				overflow: hidden;
				text-overflow: ellipsis;
			}
		div.auction-list-items div.auction-list-item dl {
			display: flex;
			position: relative;
			justify-content: flex-start;
			flex-wrap: wrap;
			align-items: center;
			width: 100%;
			padding: 0 0.625rem;
			margin: 0;
			background: #f3f4f4;
		}
			div.auction-list-items div.auction-list-item dl dt {
				display: block;
				position: relative;
				flex-basis: 50%;
				max-width: 50%;
				padding: 0.25rem;
				margin: 0;
				border-bottom: 2px solid #fff;
				background: #f3f4f4;
			}
			div.auction-list-items div.auction-list-item dl dd {
				display: block;
				position: relative;
				flex-basis: 50%;
				padding: 0.25rem;
				margin: 0;
				border-bottom: 2px solid #fff;
			}

		div.auction-list-items div.auction-list-item p.actions {
			display: block;
			position: relative;
			align-self: flex-end;
			width: 100%;
			padding: 0.625rem;
			margin: 0;
		}
			div.auction-list-items div.auction-list-item p.actions > span {
				display: block;
				position: relative;
				padding: 0.625rem;
				margin: 0 0 0.625rem 0;
				font-size: 1.25rem;
				font-weight: 600;
			}
			div.auction-list-items div.auction-list-item p.actions > a {
				display: block;
				position: relative;
				width: auto;
				max-width: 50%;
				padding: 0.325rem 0.625rem;
				border: 2px solid #000;
				font-size: 1.25rem;
				text-transform: uppercase;
				text-align: center;
				background: #000;
				color: #fff;
			}



/* ! auction item display styles */
	.auction-list-items.member-bidded .message {
		display: block;
		padding: 0.75em 0 -0.5em;
		margin: 0.5em 0;

		font-size: 0.8em;
	}

	.auction-list-items.member-watched form,
	.auction-list-items.member-bidded form {
		padding: 0.5em;
		margin: 0;
	}



div.auction-item {
	display: flex;
	position: relative;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1.25rem;
	width: 100%;
	padding: 0;
	margin: 0;
}
	div.auction-item div.item-summary {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;

		margin: 1em 0 1.5em 0;
	}

		div.auction-item div.figure-set {
			display: flex;
			position: relative;
			justify-content: flex-start;
			flex-wrap: wrap;
			column-gap: 2%;
			row-gap: 1.25rem;
			flex-basis: 49%;
			max-width: 49%;
			padding: 0;
			margin: 0 0 0.5em 0;
		}
			div.auction-item div.figure-set figure {
				display: block;
				position: relative;
				flex-basis: 32%;
				max-width: 32%;
				padding: 0;
				margin: 0;
			}
				div.auction-item div.figure-set figure:first-child {
					flex-basis: 100%;
					max-width: 100%;
				}
				div.auction-item div.figure-set figure > a {
					display: block;
					width: 100%;
					padding: 0;
				}
					div.auction-item .figure-set figure > a img {
						display: block;
						position: relative;
						width: 100%;
					}
		div.auction-item div.interface-set {
			display: block;
			position: relative;
			flex-basis: 49%;
			max-width: 49%;
		}
	div.auction-item dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		margin: 0;
		padding: 0;
		background: #f3f3f3;
	}

		div.auction-item dt,
		div.auction-item dd {
			display: block;
			padding: 0.625rem;
			margin: 0;
			border-bottom: 2px solid white;
		}
			div.auction-item dt {
				flex-basis: 40%;
				font-weight: normal;
			}
			div.auction-item dd {
				flex-basis: 60%;
				font-weight: bold;
			}
			div.auction-item dt:nth-last-child(2),
			div.auction-item dd:nth-last-child(1) {
				border: none;
			}

	div.auction-item form,
	div.auction-item .auction-sign-in-required {
		margin: 0;
		padding: 1rem;
	}
		div.auction-item form p,
		div.auction-item .auction-sign-in-required p {
			display: block;
			margin: 0 0 0.625rem 0;
			font-size: 0.875rem;
		}
		div.auction-item form [class^="input-"] {
			display: inline-block;
			margin: 0;
		}
		div.auction-item form .input-currency input[type="number"] {
			margin: 0 0.5em 0 0.25em;
		}

a.auction-button {
	display: inline-block;
	padding: 0.625rem 1rem;
	margin: 0.5rem 0;
	border: 1px solid #000;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	background: #000;
	color: #fff;

	cursor: pointer;
}

	a.auction-button:hover {
		background: #666;
		color: #fff;
	}

