:root {
	--font-color: #CCCCCC;
	--font-color-down: #999999;
	--background: #39424e;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	background-color: var(--background);
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	color: var(--font-color);
	letter-spacing: 1.5px;
}

body {
	max-width: 1000px;
	margin: auto;
}

a {
	text-decoration: none;
	border-bottom: 2px solid var(--font-color);
	transition: 0.5s ease;
}

a,
a:visited {
	color: var(--font-color);
}

a:hover {
	color: var(--font-color-down);
	border-bottom: 2px solid var(--font-color-down);
}

article {
	margin: 0 1em;
}

footer {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: transparent;
	position: relative;
	bottom: 0;
	padding: 3rem 1rem;
	font-size: 1rem;
}
footer a {
	border-bottom: none;
	display: contents;
}

footer div {
	width: 100%;
}

footer #bottom-nav ul {
	list-style-type: none;
	padding-left: 0;
}
footer #bottom-nav ul li {
	display: inline-block;
	margin: 0em 1em;
}

footer hr {
	margin: 1rem 0;
	background-color: transparent;
	width: 50%;
	border-style: solid;
	border-width: 1px;
	opacity: 0.3;
}

article #admin-nav {
	list-style-type: none;
	padding-left: 0;
}

article #admin-nav li {
	display: inline-block;
	margin: 0em 1em;
}

/********* PIECES ****************/

.piece button a {
	border: none;
	color: black;
}

.piece img {
	max-width: 100%;
}

.piece .img_link {
	border-bottom: none;
}

@media only screen and (min-width: 800px) {
	.piece .infos {
		float: left;
		width: 60%;
	}
	.piece img {
		margin-top: 2em;
		width: 40%;
	}
}

/********** LIST ****************/

.piece-list {
	display: grid;
	gap: 0.5em;
	grid-template-columns: 1fr;
	grid-auto-rows: max-content;
}
.piece-link {
	border: none !important;
}
.piece-mini {
	position: relative;
	margin: 0;
	width: 100%;
	object-fit: cover;
}
.piece-portrait {
	grid-row: span 2;
}
@media only screen and (min-width: 1000px) {
	.piece-list {
		grid-template-columns: 1fr 1fr 1fr;
	}
}
@media only screen and (min-width: 600px) and (max-width: 999px) {
	.piece-list {
		grid-template-columns: 1fr 1fr;
	}
}

.piece-mini img {
	max-width: 100%;
}
.piece-mini figcaption {
	position: absolute;
	width: 100%;
	bottom: 0.3em;
	padding: 0.2em;
	background-color: black;
	color: white;
	opacity: 0%;
}
@media (hover: none) {
	.piece-mini figcaption {
		opacity: 70%;
	}
}

.piece-link:hover figcaption {
	opacity: 70%;
}

.piece-mini figcaption .price {
	font-style: italic;
}

/********** FORMS ****************/

#edit-form {
	white-space: nowrap;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	margin: 0 -1em;
	font-size: larger;
}
#edit-form * {
	white-space: normal;
}
.form-element {
	padding: 0 1em;
	margin-bottom: 1.5em;
	width: 100%;
}
.form-element:not(.inline) label {
	display: block;
	width: 100%;
}
.form-element.inline>* {
	display: inline-block;
}
.form-element.clear {
	display: block;
	margin: 0;
}
.form-element.half {
	display: inline-block;
	width: 50%;
}
.form-element.third {
	display: inline-block;
	width: 33.33%;
}
.form-element.twothird {
	display: inline-block;
	width: 66.66%;
}
.form-element.submit {
	width: 33.33%;
	margin: auto;
}
@media only screen and (max-width: 750px) {
	.form-element.half {
		width: 100%;
	}
	.form-element.third {
		width: 50%;
	}
	.form-element.twothird {
		width: 100%;
	}
	.form-element.submit {
		width: 100%;
	}
}

@media only screen and (max-width: 500px) {
	.form-element.third {
		width: 100%;
	}
}
.form-element>textarea {
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	height: 7em;
	padding: 0.3em;
}
.form-element:not(.inline) input, .form-element:not(.inline) select {
	width: 100%;
	padding: 0.3em;
}
.form-element input:not([type="checkbox"]), .form-element select {
	height: 2.3em;
}
.form-element input[type="checkbox"] {
	height: 1.5em;
	width: 1.5em;
	vertical-align: bottom;
}
#edit-form .mandatory {
	color: red;
}
.form-element label.required::after {
	content: " *";
	color: red;
}
.required-description {
	width: 100%;
	margin: 0 1em;
	margin-bottom: 1.5em;
}
