h1 {
	margin-bottom:0.5em;
}

	.sub {
		font-size:1em;
		letter-spacing: 0.05em;
		width:100%;
		text-align:center;
		font-weight:500;
		text-transform: uppercase;
		margin-bottom:2em;
	}

.filters {
	text-align: center;
	margin-bottom:2.5%;
}

	.filters a {
		font-size:1.4em;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		text-decoration: none;
		display:inline-block;
		margin:1em;
	}

.pub-items {
	display:grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap:3em;
	margin-bottom:5%;
	margin-top:2.5%;
}

	.item img {
		width:100%;
		border:1px solid #999;
		display:block;
		margin-bottom:1em;
	}
	
	.item h2 {
		font-size:1.2em;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		margin:1em 0;
	}
	
	.item p {
		text-transform: uppercase;
		font-size: 1.2em;
		line-height: 1.4;
		float:left;
		clear:left;
	}
	
	.view {
		border:1px solid #333;
		clear:both;
		padding:0.5em 1em;
		text-decoration: none;
		text-transform: uppercase;
		margin-top:1em;
		margin-bottom: 2em;
		float:left;
	}
	
	.soldout {
		color:red;
	}

.items {
	display:grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap:3em;
	margin-bottom:5%;
	margin-top:2.5%;
}

.items a {
	position:relative;
	float:left;
	text-decoration: none;
	transition:all 0.25s ease-in-out;
}

	.items a:nth-of-type(4n) {
		margin-right:0;
	}
	
	.items a:nth-of-type(4n+1) {
		clear:left;
	}

	.image {
		position:relative;
		margin-bottom:1em;
	}

	.cover {
		position:absolute;
		left:0;
		top:0;
		width:100%;
		height:100%;
		background-color:rgba(0,0,0,0.7);
		opacity:0;
		transition:all 0.5s ease-in-out;
		text-align: center;
	}
	
		.cover span {
			position:absolute;
			top:50%;
			transform: translateY(-50%);
			width:100%;
			color:#fff;
			font-size:5em;
			text-align: center;
			left:0;
		}
	
		.items a:hover .cover {
			opacity:1;
		}

	.items a img {
		width:100%;
		border:1px solid #999;
	}
	
	.items a h2 {
		font-size:1.2em;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		font-weight:normal;
	}

.gallery {
	position: relative;
	margin:2% 0 5% 0;
}

	.blank {
		position:absolute;
		width:100%;
		height:100%;
		left:0;
		top:0;
		z-index:10;
	}

.main p,
.main li {
	font-size:1.5em;
	line-height: 1.6;
	letter-spacing: 0.05em;
	margin-bottom:1em;
}

.main .body {
	padding: 5% 10%;
}

	.main .body p {
		text-align: center;
	}
	
.main .body h2,
.main .body h3,
.main .body h4{
	font-size:2em;
	letter-spacing: 0.05em;
	font-weight:200;
	text-shadow: 1px 1px #999;
	text-decoration: none;
	color:#000;
	text-transform: uppercase;
	margin-bottom:1em;
	text-align: center;
}

	.main td {
		vertical-align: text-top;
		text-align: left;
		padding:1em;
	}
	
	.main .body td p,
	.main .body td h2,
	.main .body td h3,
	.main .body td h4{
		text-align: left;
	}

.pubimg {
	width:100%;
	max-height:100svh;
	object-fit: contain;
}

.order {
	display:block;
	width:500px;
	max-width:100%;
	text-align: center;
	float:none;
	margin:5% auto;
	border:1px solid #ddd;
	font-size:1.4em;
	font-weight:bold;
	border-radius:0.25em;
	padding:2em;
	text-decoration: none;
	transition: background-color 0.5s, color 0.5s, ease-in-out;
}

	.order table {
		width:100%;
	}

		.order td,
		.order th {
			text-align: center;
		}

.links {
	margin-bottom:2em;
}

.links a {
	float: left;
	clear:left;
	font-size:1.2em;
	margin-bottom:1em;
}

.purchase {
	border:1px solid #999;
	padding:3em;
	text-align: center;
}

	.purchase form {
		display:inline-block;
	}

select {
	border:1px solid #333;
	padding:1em;
	outline:0;
	cursor: pointer;
	line-height:1;
	margin-right:1em;
}

.add-btn,
.add-variation {
	clear:none;
	display:inline-block;
	font-size:1em;
	text-transform: uppercase;
	padding:1.6em 2.5em;
	text-decoration: none;
	cursor: pointer;
	text-align: center;
	width:200px;
	background-color:#333;
	color:#fff;
	border:1px solid #333;
}

	.add-btn:hover,
	.add-variation:hover {
		background-color:#fff;
		color:#333;
	}

		.add-btn:hover img,
		.add-variation:hover img {
			filter:invert(1);
		}

	.add-btn p,
	.add-variation p {
		display:inline-block;
		margin:0;
		line-height:1;
	}

	.loading-add {
		display:none;
		width:2em;
		height:2em;
		margin:0 auto;
		float:none;
	}

	.loading-add.show {
		display:inline-block;
	}

#item_price {
	float:left;
	clear:left;
	width:auto;
	font-size:2em;
	margin:0 1em 0.5em 0;
}

@media screen and (max-width:799px){
	.items,
	.pub-items {
		grid-template-columns: repeat(3,1fr);
		grid-gap:2em;
	}

	.purchase * {
		width:100%;
		margin-bottom:1em;
	}
}

@media screen and (max-width:499px){
	.items,
	.pub-items {
		grid-template-columns: repeat(2,1fr);
		grid-gap:1em;
	}
	
	.filters a {
		border:1px solid #eee;
		padding:0.75em;
		font-size:1.2em;
		margin:0.5em;
	}
	
	.main .body {
		padding:5% 0;
	}
}