:root { 
	--default-color: Silver;
	--default-background-color: #2f4f4f;
	--default-border-color: #b3b3b3;
	--base-font-size: 100%;
	}

* { 
	border-color: var(--default-border-color);
	border-radius: 5px;
	box-sizing: border-box;
	color: var(--default-color);
	font-family: 'Noto Serif', system-ui, serif;
	margin: 0; 
	padding: 0; 
	outline: none;
	text-decoration: none;
	}

html { 
	background-color: var(--default-background-color);
	min-height: 100%;
	font-size: var(--base-font-size);
	}

body {
	display: flex;
	flex-direction: column;
	align-content: space-around;
	gap: 1vh;
	margin-left: 10%;
	margin-right: 10%;
	}

header {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	align-items: center;
	gap: auto;
	padding-left: 2vw; 
	padding-right: 2vw;
	padding-top: 1vh;
	padding-bottom: 0.5vh;
	}

.menu {
	display: flex;
	justify-content: right;
	flex-direction: row;
	gap: 1vw; 
	}

.menu-item {
	color: #B9E6F2;
	}

img {
	animation: fadein 2s;
	filter: grayscale(100%);
	transition: 0.75s ease-out;
	}

img:hover {
	filter: grayscale(0%);
	transition: 1.25s ease-in;
	}

h1, h3 { 
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: #B9E6F2; 
	}

nav {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	gap: 0.4vw;
	justify-content: space-evenly;
	background-color: #2b4242;
	padding: 2px;
	}

nav form {
	display: flex;
	justify-content: space-evenly;
   padding: 0.5vh 0.5vw 0.5vh 0.5vw;
	}

nav a {
	color: var(--default-color);
	}

nav i:hover {
    color: #B9E6F2;
    }

header .logo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 1vw;
	}

header .logo a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 1vw;
	}

header img {
	filter: grayscale(0%);
	width: min(4vw,50px);
	}

audio {
	padding: 0;
	background-color: var(--default-background-color);
	}

/* BUTTON DEFAULT */
button {
	background-color: transparent;
	border: none;
	text-align: center;
	}

button:hover {
	cursor: pointer;
	}

.error {
	border: 3px solid #a94442;
	margin-top: 1rem;
	margin-bottom: 1rem;
	padding: 10px;
	}
	
dialog {
	animation:fadeout 3s 1;
   animation-delay: 10s;
	animation-fill-mode: forwards;
	background-color: #2b4242;
	border: 3px solid #007bff;
	left: 50%;
	max-width: 50%;
	padding: 20px; 
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	}

@keyframes fadeout { from { opacity: 1; } to { opacity: 0; } }
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }

/* forms */

form input[type=file], input[type=email], input[type=password], input[type=text], input[type=tel],
form select, form textarea {
	background: transparent;
	border: 1px solid #3E606F;
	margin: 5px auto 10px;
	padding: 10px 10px;
	width: 100%;
}

.login {
	margin-top: 10%;
	margin-left: 25%;
	margin-right: 25%;
	}

.loginbutton {
	background-color: grey;
	padding: 0.5rem;
	margin: 1%;
	}

form select option {
	background-color: var(--default-background-color);
	}

fieldset {
	border: none;
	}

legend {
	font-style: italic;
	}

input[type="checkbox"] { 
	float: left; 
	height: 20px; 
	}

label {
	float: left;
	margin-top: 20px; 
	}

/* tables */
table { 
	border-collapse: collapse;
	width: 100%;
	}

th, td { 
	border: 1px solid #ddd; 
	padding: 8px; 
	text-align: left; 
	}

th { 
	text-align: center;
	}

/* Table div (Displaying records from Database) */
.table-div { 
	margin-top: 3vh; 
	}

.table-div form button { 
	float: none; 
	margin: auto; 
	text-align: center; 
	}

.table-div .message { 
	margin-top: 20px; 
	width: 90%; 
	}

.table-div .fa { 
	color: white; 
	padding: 3px; 
	}

.table-div button { 
	background-color: transparent; 
	border: none; 
	margin: 0; 
	}

.banner {
	display: flex;
	flex-direction: row;
	width: 100%;
	padding-left: 0;
	padding-top: 1rem;
	padding-right: 0;
	padding-bottom: 1rem;
	animation: fadein 3s 1;
	justify-content: space-around;
	background-color: #738677;
	}

ul.cloud {
	list-style: none; 
	padding-left: 0; 
	display: flex; 
	flex-wrap: wrap;
	col-gap: 0.5rem;
	align-items: center; 
	justify-content: center; 
	background-color: #2b4242;
	height: 100%;
	}

ul.cloud button {
	display: block;
	padding: 0.25rem;
	position: relative;
	color: var(--default-color);
}

/* SINGLE POST */
.singlepost {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 5%;
	padding: 2vh 1.0vw 1.0vh 1.0vw;
	}

@media (max-width: 1000px) {
	body { 
		margin-left: 2%;
		margin-right: 2%;
		}
	.singlepost {
		flex-direction: column;
		}
	font-size: 0.3rem;
	form input[type=text], input[type=password] {
		font-size: 100%;
		}
	}

.post-body-div {
	min-width: 70%;
	display: flex;
	flex-direction: column;
	gap: 3vh;
	}

.post-body-div p {
	margin: 0 0 10px 0;
	text-align: justify;
	}

.post-body-div a {
	font-weight: bold;
	}

.sideimages {
	display: flex; 
	flex-direction: column;
	gap: 2vh;
	width: 25%;
	}

.sideimagecredit {
	padding: 5px; 
	font-size: small;
	}

.sideimagecredit a {
	font-weight: bold;
	}

/* CONTENT */
.content {
	display: grid;
	gap: 0.5rem 0.5rem;
	grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
	align-content: flex-start;
	}

.content .post {
	background-color: #2b4242;
	height: auto;
	}

.post-image {
	width: 100%;
	height: 250px;
	object-fit: cover;
	padding: 2%;
	}

.post_info {
	padding: 0 0.5vw 0.5vh 0.5vw;
	}

.info {
	display: flex;
	flex-direction: row;
	font-style: italic;
	font-size: 80%;
	justify-content: space-between;
	}

.post_info h3 {
	white-space: nowrap;
	overflow: hidden; 
	text-overflow: ellipsis;
	}

.thumbnails {
	display: grid;
	gap: 2vw;
	grid-template-columns: repeat( auto-fill, minmax(200px,1fr));
	}

.thumbnails img {
	align-self: center;
	margin: 1vw;
	max-width: 100px;
	}

.donation {
	display: flex;
	flex-direction: column;
	column-gap: 2vh;
	padding: 10px;
	}

.donation a {
	font-weight: bold;
	}

.donation p {
	padding: 10px;
	font-size: small;
	}

.donation img {
	padding: 10px;
	}

.figure {
	position: relative;
	width: 300px;
	max-width: 100%;
	}

.figure img {
	display: block;
	max-width: 100%;
	height: auto;
	}

.figure .image-hover {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	object-fit: contain;
	opacity: 0;
	transition: opacity 1s;
	border-radius: 50%;
	}

.figure:hover .image-hover {
	opacity: 1;
	}

.backandforward {
	align-self: center;
	display: flex;
	flex-direction: row;
	justify-content: space-between; 
	align-items: center;
	width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	}

.backandforwardform {
	display: flex; 
	flex-direction: row; 
	justify-content: space-between; 
	gap: 3vw;
	}

.photo-grid {
	display: grid;
	gap: 1vw; /* Ruimte tussen de afbeeldingen */
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Flexibele kolommen */
	}

.photo-details {
	display: flex;
	flex-direction: column;
	min-width: 60%;
	}

.photo-header {
	background-color: #2b4242;
	width: 100%; 
	padding: 4px; 
	}

.photo-action {
	display: flex; 
	flex-direction: row; 
	width: 100%; 
	gap: 10px; 
	padding: 4px;
	}

.photo-grid img {
    width: 100%;
    height: auto; /* Zorgt dat afbeeldingen hun verhoudingen behouden */
    object-fit: cover;
	}

.prod_img {
	width: 100%;
	height: auto;
	}

.formtable {
	min-width: 25%;
	max-width: 50%;
	}

.formtable th {
	text-align: left;
	color: #B9E6F2;
	background-color: #2b4242;
	}

.formtable td {
	min-width: 300px;
	field-sizing: content;
	}

.aantallen {
	td:nth-child(2) { text-align: right; }
}

.buy_button {
	background-color: #007bff;
	color: white;
	border: none;
	padding: 10px 20px;
	cursor: pointer;
	border-radius: 5px; /* Afgeronde hoeken */
	transition: background-color 0.3s ease;
}

.buy_button:hover {
	background-color: #0056b3; /* Donkerder blauw bij hover */
	font-weight: bold;
}

.cart {
	img {
		transition: none;
		filter: none;
		}
	table, tr, td, th {
		border: none;
		}
	thead {
		th:nth-child(1) { text-align: left; padding-left: 2vw; }
		tr { background-color: #2b4242; }
		}
	tbody {
		td:nth-child(1) { text-align: center; margin: 0; }
		td:nth-child(3) { text-align: center; }
		td:nth-child(4) { text-align: center; }
		td:nth-child(5) { text-align: right; }
		td:nth-child(6) { text-align: right; }
		input[type="number"] {
			font-weight: bold;
			color: black;
			width: 60px;                /* Pas aan naar wens */
			padding: 10px 10px;
			font-size: 0,9rem;
			border: 1px solid #ccc;      /* Dunne, subtiele rand */
			border-radius: 4px;          /* Kleine afgeronde hoeken */
			outline: none;               /* Verwijdert de blauwe outline in Chrome/Safari */
			}
		}
	tfoot {
		tr:nth-child(1) {
			td:last-child { text-align: right; }
			}
		tr:nth-child(2) {
			td { font-weight: bold; }
			td:last-child { text-align: right; }
			}
		tr:last-child {
			td:first-child { text-align: left; }
			td { text-align: right; }
			}
		}
	}

footer {
	background-color: #2b4242;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	width: 100%;
	gap: 1rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	i { 
		padding-left: 0.5rem;
		padding-right: 0.5rem; 
		}
	}

.footer div, a, i {
	font-size: clamp(8px,16px,16px);
	}
	
.footer img {
	width: 24px;
	border: none;
	filter: grayscale(100%);
	}

.footer-icons {
	display: flex;
	flex-direction: row;
	}

.shop {
	display: grid;
	gap: 3vw; 
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Flexibele kolommen */
	margin: auto;
	img {
		transition: none;
		filter: none;
		max-width: 100%;
		}
	table, tr, td, th {
		border: none;
		}
	thead {
		tr:first-child { background-color: #2b4242; }
		tr:nth-child(2) {
			td:last-child { text-align: right; }
			}
		tr:last-child(1) { 
			td: padding: 0;
			}
		}
	tbody {
		tr {
			td { 
				padding-top: 2px;
				padding-bottom: 2px;
				}
			td:first-child { width: 80%; }
			td:nth-child(2) { text-align: right; }
			td:last-child { text-align: right; }
			}
		}
	tfoot {
		tr:last-child {
			td:first-child { text-align: left; }
			td:last-child { text-align: right; }
			}
		}
	}

.customer {
	tfoot {
		tr:last-child {
			td:last-child { text-align: right; }
			}
		}
	}

.thanks {
	display: flex;
	flex-direction: column;
	gap: 2vh;
	height: 50%;
	width: 50%;
	margin: auto;	
	}

.dashboard {
	display: grid;
	gap: 0.5rem 1rem;
	grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
	align-content: flex-start;
	thead {
		tr { background-color: #2b4242; }
		}
	}

.breed {
	grid-template-columns: repeat(auto-fill, minmax(400px,1fr));
	}

.loading {
	display: none;
	}

.loading i { 
	color: red; 
	}

.ready i {
	color: green;
	}

.warning i {
	color: orange;
	}
