/* hsl (fallback color) */
:root {
	--bg-dark: hsl(192 47% 88%);
	--bg: hsl(192 85% 93%);
	--bg-light: hsl(192 100% 99%);
	--text: hsl(196 100% 3%);
	--text-muted: hsl(191 42% 24%);
	--highlight: hsl(192 100% 97%);
	--border: hsl(192 22% 47%);
	--border-muted: hsl(192 26% 59%);
	--primary: hsl(189 100% 12%);
	--secondary: hsl(12 57% 29%);
	--danger: hsl(9 21% 41%);
	--warning: hsl(52 23% 34%);
	--success: hsl(147 19% 36%);
	--info: hsl(217 22% 41%);
}
/* oklch */
:root {
	& {
		--bg-dark: oklch(0.92 0.025 215);
		--bg: oklch(0.96 0.025 215);
		--bg-light: oklch(1 0.025 215);
		--text: oklch(0.15 0.05 215);
		--text-muted: oklch(0.4 0.05 215);
		--highlight: oklch(1 0.05 215);
		--border: oklch(0.6 0.05 215);
		--border-muted: oklch(0.7 0.05 215);
		--primary: oklch(0.4 0.1 215);
		--secondary: oklch(0.4 0.1 35);
		--danger: oklch(0.5 0.05 30);
		--warning: oklch(0.5 0.05 100);
		--success: oklch(0.5 0.05 160);
		--info: oklch(0.5 0.05 260);
	}
}
@media (prefers-color-scheme: dark) {
	/* hsl (fallback color) */
	:root {
		--bg-dark: hsl(199 100% 1%);
		--bg: hsl(194 94% 4%);
		--bg-light: hsl(191 60% 7%);
		--text: hsl(192 100% 92%);
		--text-muted: hsl(192 33% 66%);
		--highlight: hsl(192 29% 36%);
		--border: hsl(191 42% 24%);
		--border-muted: hsl(190 86% 13%);
		--primary: hsl(191 62% 60%);
		--secondary: hsl(12 69% 72%);
		--danger: hsl(9 26% 64%);
		--warning: hsl(52 19% 57%);
		--success: hsl(146 17% 59%);
		--info: hsl(217 28% 65%);
	}
	:root {
		& {
			/* oklch */
			--bg-dark: oklch(0.1 0.025 215);
			--bg: oklch(0.15 0.025 215);
			--bg-light: oklch(0.2 0.025 215);
			--text: oklch(0.96 0.05 215);
			--text-muted: oklch(0.76 0.05 215);
			--highlight: oklch(0.5 0.05 215);
			--border: oklch(0.4 0.05 215);
			--border-muted: oklch(0.3 0.05 215);
			--primary: oklch(0.76 0.1 215);
			--secondary: oklch(0.76 0.1 35);
			--danger: oklch(0.7 0.05 30);
			--warning: oklch(0.7 0.05 100);
			--success: oklch(0.7 0.05 160);
			--info: oklch(0.7 0.05 260);
		}
	}
}

@page {
	margin:1cm;
}

*, ::before, ::after {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	background-color: var(--bg-light);
	color: var(--text);
}
body, input, button, select, option, optgroup, textarea {
	font-family: Lora, Arial, Helvetica, sans-serif;
}

.sr-only {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
}

body {
	margin:0px;
	min-height:100vh;
	transition:background 1.5s, background-color .4s, color .4s;
	font-size:16px;
}
@media not print {
	body.mode-nuit {
		background-image:radial-gradient(circle 8px at 92% 63%, rgb(255,250,85) 0%,transparent 22%),radial-gradient(circle 2px at 73% 80%, rgb(201,242,255) 0%,transparent 60%),radial-gradient(circle 2px at 88% 58%, rgb(201,242,255) 0%,transparent 5%),radial-gradient(circle 2px at 39% 24%, rgb(201,242,255) 0%,transparent 17%),radial-gradient(circle 2px at 31% 10%, rgb(201,242,255) 0%,transparent 83%),radial-gradient(circle 2px at 25% 64%, rgb(201,242,255) 0%,transparent 65%),radial-gradient(circle 2px at 46% 18%, rgb(201,242,255) 0%,transparent 86%),radial-gradient(circle 2px at 27% 89%, rgb(201,242,255) 0%,transparent 61%),radial-gradient(circle 2px at 72% 43%, rgb(201,242,255) 0%,transparent 46%),radial-gradient(circle 2px at 73% 2%, rgb(201,242,255) 0%,transparent 87%),radial-gradient(circle 5px at 94% 33%, rgb(253,250,147) 0%,transparent 93%),radial-gradient(circle 5px at 35% 87%, rgb(253,250,147) 0%,transparent 42%),radial-gradient(circle 4px at 78% 1%, rgb(255,249,27) 0%,transparent 76%),radial-gradient(circle 4px at 71% 51%, rgb(255,249,27) 0%,transparent 69%),radial-gradient(circle 4px at 26% 45%, rgb(255,249,27) 0%,transparent 83%),linear-gradient(90deg, rgb(35,35,35) 0%, rgb(35,35,35) 50%,rgb(35,35,35) 50%, rgb(35,35,35) 100%);
		background-size:278px 278px;
	}
}
@media print {
	.swal-overlay, .toastify {
		display:none;
	}
}

a {
	color: var(--info);
	text-decoration: underline;
	cursor: pointer;
}
p, form {
	margin: 1em 0;
}

.header__title {
	font-size: 4em;
	font-weight: bold;
	margin: auto;
	text-align: center;
}
@media screen and (max-width: 500px) {
	.header__title {
		font-size: 3em;
	}
}
@media screen and (min-width: 501px) and (max-width: 630px) {
	.header__title {
		font-size: 3.5em;
	}
}

.mode {
	position:absolute;
	top:0px;
	right:0px;
	width:40px;
	height:40px;
	background-color:#ffbb00;
	border-bottom-left-radius:20px;
	background-image:url(https://lfavole.github.io/espacecate/espacecate/sun.svg);
	background-size:25px;
	background-repeat:no-repeat;
	background-position:center;
	cursor:pointer;
}
@media not print {
	body.mode-nuit .mode {
		background-color:#4c6ef5;
		background-image:url(https://lfavole.github.io/espacecate/espacecate/moon.svg);
	}
}

.fermer, .effacer {
	background-color: var(--danger);
	cursor: pointer;
	border-radius: 50%;
}
.fermer {
	position:fixed;
	right:8px;
	top:8px;
	z-index:9500;
	width:30px;
	height:30px;
}
.effacer {
	display:inline-block;
	width:1em;
	height:1em;
	position:relative;
	margin-left:0.3em;
}
.fermer::before, .fermer::after, .effacer::before, .effacer::after {
	content:"";
	display:block;
	position:absolute;
	left:50%;
	top:50%;
	width:8%;
	height:60%;
	background-color:black;
	transform-origin:center;
}
.fermer::before, .effacer::before {
	transform:translate(-50%, -50%) rotate(-45deg);
}
.fermer::after, .effacer::after {
	transform:translate(-50%, -50%) rotate(45deg);
}

main.chargement {
	text-align:center;
	font-size:32px;
}
main .pct {
	background-color:#ffcc80;
	margin:0px auto 20px auto;
	padding:8px 24px;
	border-radius:8px;
}
main .prog {
	display:flex;
	flex-direction:column;
	text-align: center;
	font-size: 32px;
}
main .prog :first-child {
	margin-top:0px;
}
main .progress {
	margin:auto;
	transition:all .4s;
	--taille:300px;
	width:225px;
	width:calc(var(--taille) / 4 * 3);
	height:300px;
	height:var(--taille);
	position:relative;
}
span.progress {
	display:inline-block;
	--taille:1em;
	vertical-align:middle;
	margin-left:0.3em;
}
main .progress::before, main .progress::after {
	content:"";
	position:absolute;
	background-color:#bf360c;
	animation:4s infinite ease-in-out;
}
main .progress::before {
	left:0%;
	top:calc(30% - 10px);
	top:calc(30% - calc(var(--taille) / 30));
	width:100%;
	height:20px;
	height:calc(var(--taille) / 15);
	transform:scaleX(0);
	animation-name:croix1;
}
@keyframes croix1 {
	0% {
		transform:scaleX(0);
		transform-origin:left bottom;
	}
	19.999% {
		transform-origin:left bottom;
	}
	20%, 50% {
		transform:scaleX(1);
		transform-origin:right bottom;
	}
	70% {
		transform:scaleX(0);
		transform-origin:right bottom;
	}
}
main .progress::after {
	left:calc(50% - 10px);
	left:calc(50% - calc(var(--taille) / 30));
	top:0%;
	width:20px;
	width:calc(var(--taille) / 15);
	height:100%;
	transform:scaleY(0);
	animation-name:croix2;
}
@keyframes croix2 {
	20% {
		transform:scaleY(0);
		transform-origin:left top;
	}
	49.999% {
		transform-origin:left top;
	}
	50%, 70% {
		transform:scaleY(1);
		transform-origin:left bottom;
	}
	100% {
		transform:scaleY(0);
		transform-origin:left bottom;
	}
}

main {
	padding: 8px;
	max-width: 1200px;
	margin: 0 auto;
}

.header__title, h1, h2, h3, h4, h5, h6 {
	font-family: Montserrat, Arial, Helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 0.5em;
	page-break-after: avoid;
	border-bottom: 0.125em solid var(--primary);
}
:is(h1, h2, h3, h4, h5, h6) small {
	font-size: 0.6em;
}

.info {
	display:block;
	text-align:center;
	color:black;
	text-decoration:none;
	margin:1em 0px;
	padding:8px 16px;
	background-color:#81d4fa;
	border:4px solid #0288d1;
}
.info::selection {
	background-color:#ce93d8;
}
.info {
	background-color:#80deea;
	border:4px solid #0097a7;
}
.info {
	background-color:#90caf9;
	border:4px solid #1976d2;
}
.info.border-2 {
	border-width:2px;
}
.info.border-0 {
	border-width:0px;
}
.info.vert {
	background-color:#c5e1a5;
	border-color:#689f38;
}
.info.jaune {
	background-color:#fff59d;
	border-color:#fbc02d;
}
.info.orange {
	background-color:#ffcc80;
	border-color:#f57c00;
}
.info.rouge {
	background-color:#ffab91;
	border-color:#e64a19;
}
.info.violet {
	background-color:#ce93d8;
	border-color:#7b1fa2;
}
.info.violet::selection {
	background-color:#c5e1a5;
}

div.grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	grid-gap: 1em;
	margin-bottom: 1em;
}
.articles a {
	display: flex;
	flex-direction: column;
	text-align: center;
	border: 1px solid black;
	border-radius: 1em;
}
.articles a img {
	border-radius: 1em 1em 0 0;
	background-image: linear-gradient(90deg, #ede464, #fc9833);
	aspect-ratio: 16/9;
	object-fit: cover;
}
.articles a span {
	border-radius: 0 0 1em 1em;
	background-color: var(--bg-dark);
	padding: 0.25em 0.5em;
}

table {
	border-collapse:collapse;
}
th, td {
	border: 0.0625em solid var(--text);
	padding: 0.25em 0.5em;
}
th {
	text-align:center;
}

img {
	max-width: 100%;
	max-height: 100%;
}

.cpt {
	display:inline-block;
}
.cpt .hidden,
.cpt .hidden + .hidden2 {
	display:none;
}
.cpt > span {
	transition:color 0.4s ease-in-out;
	display:inline-block;
}
.cpt .hidden2 {
	display:inline;
}
.cpt > span > span {
	display:inline-block;
	width:0.7em;
	text-align:center;
}
.cpt > span > span:first-of-type {
	text-align:right;
}
.cpt > span > span:last-of-type {
	text-align:left;
}
.cpt > span > span,
.anim > span > span {
	line-height:1em;
	height:1em;
	display:inline-block;
}
.anim .prec {
	position:relative;
	color:transparent;
}
.anim .prec::before,
.anim .prec::after {
	color:black;
	color:var(--color);
	color:var(--color, black);
	position:absolute;
	left:0px;
	right:0px;
}
.anim .prec::before {
	content:attr(data-prec);
	top:-100%;
	opacity:0;
	animation:prec-before 0.4s ease-in-out;
}
@keyframes prec-before {
	0% {
		top:0%;
		opacity:1;
	}
	100% {
		top:-100%;
		opacity:0;
	}
}
.anim .prec::after {
	content:attr(data-act);
	top:0%;
	opacity:1;
	animation:prec-after 0.4s ease-in-out;
}
@keyframes prec-after {
	0% {
		top:100%;
		opacity:0;
	}
	100% {
		top:0%;
		opacity:1;
	}
}


.fleche, [class^=fl-] {
	position:relative;
	display:inline-block;
	vertical-align:middle;
}
.fleche {
	width:15px;
	height:2px;
	background-color:currentColor;
	margin-left:0.3em;
	padding:0;
	border-radius:1px;
}
button [class^=fl] {
	vertical-align:3px;
}
.plein-ecran button [class^=fl] {
	vertical-align:6px;
}
h1 .fleche:only-child {
	margin:0px;
}
h1 .fleche {
    display:none;
    background-color:#f50;
    margin-right:0.5em !important;
}
h1 .fleche, .plein-ecran .fleche {
    border-radius:2px;
    width:35px;
    height:4px;
}
@media screen {
	h1 .fleche {
		display:inline-block;
	}
}
.fleche::before, .fleche::after,
.fl-gauche::before, .fl-gauche::after,
.fl-droite::before, .fl-droite::after {
	content:"";
	position:absolute;
	right:0px;
	top:calc(50% - 1px);
	width:10px;
	height:2px;
	border-radius:1px;
	background-color:black;
	transform-origin:calc(100% - 1px) 50%;
	transition:transform .4s ease-in-out;
}
h1 .fleche::before, h1 .fleche::after,
.plein-ecran .fleche::before, .plein-ecran .fleche::after {
    top:calc(50% - 2px);
    width:20px;
    height:4px;
	border-radius:2px;
    transform-origin:calc(100% - 2px) 50%;
}
h1 .fleche::before, h1 .fleche::after {
    background-color:#f50;
}
.fleche::before, .fl-droite::before {transform:rotate(-45deg);}
.fleche::after, .fl-droite::after {transform:rotate(45deg);}

.fleche.fl-rien {
	width:30px;
}
.fleche.fl-rien::before, .fleche.fl-rien::after {
	content:unset;
}
.fleche > .fl-gauche, .fleche > .fl-droite {
	position:absolute;
	top:50%;
}
.fleche > .fl-gauche {
	left:0px;
}
.fleche > .fl-droite {
	right:0px;
}

.fl-gauche::before, .fl-gauche::after {
	right:unset;
	left:0px;
	transform-origin:1px 50%;
}
h1 .fl-gauche::before, h1 .fl-gauche::after {
    transform-origin:2px 50%;
}
.fl-gauche::before {transform:rotate(45deg);}
.fl-gauche::after {transform:rotate(-45deg);}

[class^=fl]:hover::before,
a:hover [class^=fl]::before,
button:not(:disabled):hover [class^=fl]::before {
	transform:rotate(-60deg);
}
[class^=fl]:hover::after,
a:hover [class^=fl]::after,
button:not(:disabled):hover [class^=fl]::after {
	transform:rotate(60deg);
}

.fleche.fl-gauche:hover::before,
a:hover .fleche.fl-gauche::before,
button:not(:disabled):hover .fleche.fl-gauche::before {
	transform:rotate(60deg);
}
.fleche.fl-gauche:hover::after,
a:hover .fleche.fl-gauche::after,
button:not(:disabled):hover .fleche.fl-gauche::after {
	transform:rotate(-60deg);
}


.gauche, .droite, .haut, .bas {
	position:relative;
	width:60px;
	height:60px;
	background-color:#ffee58;
	cursor:pointer;
	text-align:center;
	line-height:60px;
}

.gauche::before, .gauche::after, .droite::before, .droite::after,
.haut::before, .haut::after, .bas::before, .bas::after {
	content:"";
	display:inline-block;
	border-radius:1.5px;
	background-color:black;
	position:absolute;
}
.gauche::before, .gauche::after, .droite::before, .droite::after {
	width:50%;
	height:3px;
	left:25%;
	top:50%;
	margin-top:-1.5px;
}
span.gauche::before, span.gauche::after, span.droite::before, span.droite::after {
	height:2px;
	margin-top:-1px;
}

.haut::before, .haut::after, .bas::before, .bas::after {
	left:50%;
	top:25%;
	margin-left:-1.5px;
	width:3px;
	height:50%;
}
span.haut::before, span.haut::after, span.bas::before, span.bas::after {
	width:2px;
	margin-left:-1px;
}

.gauche::before, .gauche::after {transform-origin:0.75px 50%;}
.droite::before, .droite::after {transform-origin:calc(100% - 0.75px) 50%;}
.gauche::before, .droite::after {transform:rotate(-35deg);}
.gauche::after, .droite::before {transform:rotate(35deg);}

span.gauche::before, span.gauche::after {transform-origin:0.5px 50%;}
span.droite::before, span.droite::after {transform-origin:calc(100% - 0.5px) 50%;}

.haut::before, .haut::after {transform-origin:50% 0.75px;}
.bas::before, .bas::after {transform-origin:50% calc(100% - 0.75px);}
.haut::before, .bas::after {transform:rotate(-35deg);}
.haut::after, .bas::before {transform:rotate(35deg);}

span.haut::before, span.haut::after {transform-origin:50% 0.5px;}
span.bas::before, span.bas::after {transform-origin:50% calc(100% - 0.5px);}

span.gauche, span.droite, span.haut, span.bas {
	display:inline-block;
	width:1em;
	height:1em;
	background-color:#ffaa00;
	border-radius:50%;
}


span[class^="input-"] {
	display:inline-flex;
	border:1px solid black;
	border-radius:4px;
}
span[class^="input-"] input, span[class^="input-"] select {
	border:0px;
	border-radius:0px;
	transition:color .4s;
}
span[class^="input-"] input:not(:last-child):invalid {
	color:red;
}
span[class^="input-"] select {
    padding:2px 6px;
    background-image:none;
    text-align:center;
}
span[class^="input-"] select {
	border-right:1px solid black;
}
span[class^="input-"] input[type=number] + select {
	border-left:1px solid black;
}

.socialaccount-login button {
	margin: 0;
	padding: 0;
	background: none !important;
	border: none !important;
	height: 2em;
	vertical-align: middle;
}

.registering-onboarding li, .children-to-register li, .registered-children li {
	margin: 0.5em 0;
}
p.help-subscription {
	margin-top: 2em;
}
.label-ok {
	color: #388e3c;
}
.label-error {
	color: #d32f2f;
}
.label-help {
	color: #1976d2;
}
.label-ok::before, .label-error::before, .label-help::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: middle;
	margin-right: 0.3em;
	background-color: currentColor;
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
}
/*
Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free
Copyright 2024 Fonticons, Inc.

Compressed with https://svgomg.net/
*/
.label-ok::before {
	/* check */
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439 105c12 13 12 33 0 46L183 407a32 32 0 0 1-46 0L9 279a32 32 0 0 1 46-46l105 106 233-234c13-12 33-12 46 0z"/></svg>');
}
.label-error::before {
    /* xmark */
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M343 151a32 32 0 0 0-46-46L192 211 87 105a32 32 0 0 0-46 46l106 105L41 361a32 32 0 0 0 46 46l105-106 105 106a32 32 0 0 0 46-46L237 256l106-105z"/></svg>');
}
.label-help::before {
    /* circle-question */
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 576c141.4 0 256-114.6 256-256S461.4 64 320 64 64 178.6 64 320s114.6 256 256 256zm0-336c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5v3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zm-32 192c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32z"/></svg>');
}
.pdf-link::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    margin-left: 0.3em;
	background-color: currentColor;
    /* file-pdf */
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"/></svg>');
    mask-position: center;
    mask-repeat: no-repeat;
    background-size: contain;
}

@media (min-width: 501px) {
	.columns {
		display: flex;
		gap: 1em;
	}
	.columns > * {
		flex-grow: 1;
	}
	.columns .border {
		flex-grow: 0;
		border-left: 1px solid black;
	}
}
.helptext {
	display: block;
	margin: 0.5em 0 1.5em;
	color: #424242;
}
hr {
	border: 1px solid black;
}
.auth-subtitle {
	background: none;
	border: none;
	font-size: 1em;
	font-weight: bold;
	margin: 0.5em 0;
	padding: 0;
}

.form-center {
	margin: 0.5em auto 1.5em;
	width: fit-content;
	padding: 0 1em;
	box-shadow: 0px 4px 4px #00000030, 0px 12px 12px #00000015;
	border-radius: 1em;
	border: 1px solid black;
}
@media (max-width: 500px) {
	.form-center {
		width: unset;
		margin: 0.5em 0.5em 1.5em;
	}
}
.form-center > :first-child {
	margin-top: 1rem;
}
.form-center > :last-child {
	margin-bottom: 1rem;
}
.form-center h1, .form-center h2 {
	background: none;
	border: none;
	padding: 0;
	animation: none;
}
.form-center h2 {
	margin-top: 2em;
	position: relative;
}
.form-center h2:not(:first-child)::before {
	content: "";
	position: absolute;
	left: -1em;
	top: -1em;
	width: calc(100% + 2em);
	border-top: 1px solid #888;
}
.form-center hr {
	border: none;
	border-top: 1px solid #888;
	margin: 1em -1em;
}
.form-center hr + h2::before {
	display: none;
}
.form-center form > a:last-child {
	display: block;
	margin-top: 0.5em;
}
.badge {
	padding: 0.2em 0.5em;
	font-size: 0.9em;
	border-radius: 1em;
    background-color: #ce93d8;
	border: 2px solid #7b1fa2;
	margin-right: 0.3em;
}
.badge.success {
    background-color: #c5e1a5;
    border-color: #689f38;
}
.badge.warning {
    background-color: #fff59d;
    border-color: #fbc02d;
}
.badge.error {
    background-color: #ffab91;
    border-color: #e64a19;
}
.badge.info, .badge.primary {
    background-color: #90caf9;
    border-color: #1976d2;
}

@media (max-width: 500px) {
	.wide-screen {
		display: none;
	}
}
@media (min-width: 501px) {
	.narrow-screen {
		display: none;
	}
}

/* Shine effect */
.shine {
	position: relative;
	display: inline-block;
	overflow: hidden;
	vertical-align: bottom;
}
.shine:not(:focus)::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.2));
	animation: shine-animation 3s infinite;
}
@keyframes shine-animation {
	0% {
		left: -100%;
	}
	50%, 100% {
		left: 100%;
	}
}
