:root {
	
	--coul1 : #181848;
	--coul2 : #c4af6c;
	--coul3 : #585858;
	--coul4 : #f0f0f0;
	
	/* Font size */
	--fsize1: 16px;
	--fsize2: 1.25em;
	--fsize3: 1.6em;
	--fsize4: 1.95em;
	--fsize5: 2.3em;
	--fsize6: 2.65em;
	--fsize7: 3em;
	--fsize8: 3.35em;
	--fsizemin : max(0.75em, 12px);
	
	--fontfam : "STIX Two Text";
	
	--light : 300;
	--bold : 700;
	
	--bshad : 1px 1px 10px rgb(0 0 0 / 10%);
	--bshad2 : 1px 1px 10px rgb(0 0 0 / 50%);
	--bshadmax : 1px 1px 10px rgb(0 0 0 / 50%);
	
}


body {
	font-family: "Mukta", sans-serif;
	color: var(--coul1);
    font-size: var(--fsize1);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	padding: 0;
	margin: 0;
}

p {
	margin: 0;
}

main {
	width: 90%;
	max-width: 1200px;
	margin: 50px auto;
}

hr {
	border-color: var(--coul4);
	border-style: solid;
	border-top: none;
	width: 100%;
}

.logo {
	max-height: 60px;
	position: fixed;
	right: 0;
	bottom: 0;
	margin: 20px;
	z-index: -1;
}

h1, h2 {
	font-family: var(--fontfam);
}

h1 {
	font-size: 5em;
	margin: 0;
}

h2 {
	font-size: var(--fsize3);
	margin: 0;
}

.alerte {
	position: fixed;
	bottom: 0%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 50px;
	text-align: center;
	background-color: #18473E;
	color: #fff;
	animation: disparait 10s forwards;
	pointer-events: none;
	user-select: none;
	z-index: 103;
	box-shadow: var(--bshad3);
	width: 600px;
	max-width: 90%;
}

@keyframes disparait {
	0% {opacity: 1;}
	90% {opacity: 1;}
	99% {opacity: 0;}
	100% {opacity: 0; display: none;}
}

input:not([type="radio"], [type="file"], .bouton), select , textarea {
	border: solid 1px var(--coul4);
	outline: none;
	padding: 5px;
	font-family: inherit;
	resize: none;
	position: relative;
}

label input:not([type="radio"], [type="file"], .bouton), label select, label textarea  {
	width: 100%;
	margin-top: 5px;
}


.required {
	position: relative;
}


.required::before {
	content: "*";
	position: absolute;
	right: calc(100% + 5px);
	top: 0;
	color: red;
}


input:focus {
	border: solid 1px var(--coul2);
}

input[type='number'] {
    -moz-appearance:textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.bouton {
	padding: 5px 20px;
	background-color: var(--coul1);
	color: #fff;
	border: solid 2px var(--coul1);
	transition: 0.2s;
    height: auto;
	cursor: pointer;
	text-align: center;
    font-size: var(--fsize1);
}

.bouton:hover {
	background-color: var(--coul4);
	color: var(--coul1);
	border: solid 2px var(--coul1);
}

.accueil {
	background: url(/assets/img/background.jpg);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top right;
}

.valide {
	padding: 10px;
	border: dashed 1px var(--coul1);
	display:table;
	background-color: #fff;
	box-shadow: var(--bshad);
}

.invalide {
	padding: 10px;
	background-color: #C4736C;
	color: #fff;
	display:table;
}

table td {
	padding: 5px 10px;
}


.loginform {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100vh;
	grid-gap: 20px;
}

.form-600 {
	max-width: 600px;
}

.table-container {
	width: auto;
	max-width: unset;
	margin: 50px;
}

.table {
	padding: 20px;
	background-color: #fff;
	box-shadow: var(--bshad);
	width: 100%;
}

#listing_length select, #listing_filter input {
	width:auto;
}

.table td:is(:nth-of-type(1), :nth-of-type(3)) {
	white-space: nowrap;
}


/* Footer */


footer {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 20px;
	margin-top: auto;
	padding: 20px;
	background: var(--coul2);
}

