/* reset */
*,
*::before,
*::after{
    box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5,
h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub,
sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form,
label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio,video{
    margin : 0;
    padding: 0;
    border : 0;
    vertical-align: baseline;
}/* end reset */
html {
    min-height: 100%!important;
}
body {
    font-family: "Ubuntu", sans-serif;
    height: 100%;
    width: auto;
    max-width: 100%;
    padding: .25em;
    margin: 0;
}
label {
    padding: 1em;
}
.container-inscription{
    margin: 0 auto;
    position: relative;
    width: auto;
    max-width: 520px;
    padding: .75em;
}
.container-inscription::after{
    display: block;
    clear: both;
    content: "";
}
.container-inscription::before{
    display: block;
    clear: both;
    content: "";
}
@media (max-width: 412px){
    .container-inscription{
        padding-left: 4px;
        padding-right: 4px;
    }
}
h1 {
    text-align: center;
    margin: .75em auto .5em auto;
}
form {
    max-width: 400px;
    margin: 0 auto;
    background: #fff;
    color: #000;
    padding: 20px 20px 8px 20px;
    border-radius: 8px;
}
input, select, button {
    display: block;
    width: 100%;
    margin: 0;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
}
select option {
    padding: .5em;
    background-color: #f8f8f8;
}
.readonly {
    background-color: #dbdcdd;
    color: #356aa7;
}
.form-panel,
.container-check {
    border: 1px solid #ccc;
    background-color: #f8f8f8;
    padding: 1em 1.25em;
    margin-top: 1.25rem;
    margin-bottom: .75em;
    border-radius: 6px;
}
.form-section,
.form-panel,
.container-check {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px; /* espace vertical entre les éléments */
}
.container-check {
    margin-bottom: .25em;
}
.form-panel h3 {
    margin-top: 0;
    color: #444;
}
.form-group {
    display: flex;
    align-items: center;
    width: 100%;
}
.password-wrapper {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
}
.password-wrapper input {
    flex: 1;
}
.password-wrapper .toggle-password {
    position: absolute;
    right: 10px;
    cursor: pointer;
    user-select: none;
}
.cell-12{
	flex: 0 0 100%;
	max-width: 100%;
}
.content-check button:focus {
    outline: 2px solid #92adca;
}
.content-check #permitted {
    position: absolute;
    left: -9999px;
}
.content-check .side-label {
    display: block;
    position: relative;
    margin: .25em 0;
    padding-left: 35px;
    padding-top: 2px;
    cursor: pointer;
}
.content-check .side-label::before, 
.content-check .side-label::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
}
.content-check .side-label::before {
    display: block;
    width: 20px;
    height: 20px;
    border: 2px solid #141313;  
}
.content-check input:focus + .side-label::before {
    border-color: #141313;
}
.content-check .side-label::after {
    display: none;
    width: 12px;
    height: 12px;
    margin: 4px;
    padding: 2px;
    background-color: darkblue;
}
.content-check input:checked + .side-label::after {
    display: block;
}
.content-check .blocked {
    margin-top: 0;
    color: rgba(214, 70, 70, 0.3);
    text-align: center;
    display: block;
}
.content-check button {
    background-color: #2a6aaf;
    color: #fff;
    display: none;
    appearance: none;
    margin: 0.125rem auto 0 auto;
    padding: .5em 2.5em;
    border: 1px solid #d49b9b;
    box-shadow: 0 3px 4px rgba(0, 0, 0, .15);
    font-family: inherit;
    font-size: inherit;
    font-weight: bold;
    cursor: pointer;
}
.infos-invitation {
    font-size: .75em;
    color: #5f5e5e;
    text-align: center;
}
#permitted:checked ~ .blocked {
    display: none;
}
#permitted:checked ~ button {
    display: block;
}
.content-check {
    flex: 0 0 100%;
	max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: auto;
}
.errors {
    color: crimson;
    background-color: #bde8e4;
    text-align: center;
    margin-bottom: .7em;
    padding: .5em .75em .25em .75em;
    font-size: .75em;
}
.d-flex{
	display: flex!important;
}
.flex-column{
	flex-direction: column!important;
}
.flex-justify-center{
	justify-content: center!important;
}
.flex-justify-between{
    justify-content: space-between!important;
}
.flex-align-center{
	align-items: center!important;
}
.flex-content-between{
    align-content: space-between!important;
}
.m-auto {
    margin: auto;
}
.m-0 {
    margin: 0;
}
/* a changer en js */
/* input:valid {
    background-color: #cdfde9;
    color: #143a66;
}
input:invalid {
    background-color: #faaeae;
    color: #000;
} */
/* input:required:valid {
    border-color: #008000;
}
input:required:invalid {
    border-color: #800000;
    border-width: 3px;
} */