@font-face {
	font-family: nunito;
	src: url(NunitoSans-Variable.ttf);
	font-weight: 1 1000;
}

* {
	font-family: nunito;
}

/* Compatibilité avec les anciens navigateurs */
* {
	min-height: 0;
	min-width: 0;
}

#jsWarning {
	text-align: center;
	display: none;
}

.no-uw {
    text-decoration: none !important;
    font-weight: 500 !important;
}

.no-u {
    text-decoration: none !important;
}

.no-w {
    font-weight: 500 !important;
}

.carousel-content legend img {
	max-width: 100%;
}

.carousel-content legend:has( img) {
	display: grid;
    gap: 1em;
}

[alt*=maximiles i] {
	filter: drop-shadow(0px 0px 1px black);
}

.container {
	padding: 0em 1em;
}

.mt-4 {
	margin-top: 1em !important;
}

audio {
	margin-top: 1em !important;
}

[class^=note] .nspnote.selected, [class^=note] .nspnote:hover {
	background-color: #6a5783 !important;
	color: white;
}

.nspnote {
	width: max-content !important;
    padding: 0.75em 2em !important;
    display: flex !important;
	grid-column: span 10;
    justify-self: center;
    margin-top: 1em !important;
	grid-column: 1 / -1;
}

.notewithnsp {
	grid-template-columns: repeat(10, 1fr);
    display: grid !important;
}

.explication {
	margin-bottom: 1em;
    color: #676767;
    font-style: italic;
}

.pagerecode {
    color: #f12525;
    text-align: center;
    font-size: 1.3em;
    border: 2px solid black;
    border-radius: 5px;
    padding: 0.5em;
    font-weight: bold;
}

.gridinteger {
	display: grid;
	align-items: center;
	grid-auto-flow: column;
	grid-template-columns: repeat(2, 1fr);
	text-align: right;
}
	
.gridinteger div:first-child {
	margin-right: 1em;
}

.gridinteger .grid-content.hv {
	display: flex;
	place-self: flex-start;
	align-items: center;
	gap: 1em;
}

.txtlr:not(:has(fieldset)) {
	display: flex;
	justify-content: center;
	align-items: center;
	justify-self: center;
}

.txtlr input {
	margin-right: 0.5em !important;
	margin-left: 0.5em !important;
	/* margin-left: unset; */
}

.txtlr input[type="text"][maxlength]:not([name*=othv]) {
	width: unset;
	max-width: calc(100% - 1em);
	margin: unset;
	min-width: 50px;
}

.message:has(video) video {
    display: flex;
    justify-self: center;
}

.aucun_2 {
	grid-column: span 2;
    width: 50% !important;
    margin: auto !important;
}

.aucun_3 {
	grid-column: span 3;
    width: 50% !important;
    margin: auto !important;
}

.aucun_4 {
	grid-column: span 4;
    width: 50% !important;
    margin: auto !important;
}

.w-10 {
	width: 10%;
	margin: auto;
}

.w-20 {
	width: 20%;
	margin: auto;
}

.w-30 {
	width: 30%;
	margin: auto;
}

.w-40 {
	width: 40%;
	margin: auto;
}

.w-50 {
	width: 50%;
	margin: auto;
}

.w-60 {
	width: 60%;
	margin: auto;
}

.w-70 {
	width: 70%;
	margin: auto;
}

.w-80 {
	width: 80%;
	margin: auto;
}

.w-90 {
	width: 90%;
	margin: auto;
}

.w-100 {
	width: 100%;
	margin: auto;
}

.display-none {
	display: none !important;
}

.margin-none {
	margin: 0 !important;
}

.color-ow-red {
	color: #CB2f58;
}

.color-ow-purple {
	color: #6A5783;
}

.owdio {
	text-align: center;
}

.ow {
	text-align: center;
    color: red;
    text-decoration: none;
    font-size: 12px;
}

.ow a {
    color: red !important;
}

audio {
	text-align: center;
    display: flex;
	margin: auto;
}

.barbottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.barbottom:has(.speak-help) .progress {
	margin-left: 4em;
}

.barbottom:not(.speak-help) .progress {
	margin-top: 10px;
    margin-bottom: 10px;
}

.speak-help {
    z-index: 20;
    /* position: fixed; */
    /* right: 20px; */
    /* bottom: 15px; */
    box-shadow: 2px 2px 1px darkgrey;
    font-weight: bold;
    background: #ffffff;
	padding: 0.4em 0.75em !important;
    cursor: pointer;
    border-radius: 10px;
    border: 1px solid lightgrey;
    transition: 0.2s all;
}

.speak-help:hover {
    box-shadow: 0px 0px 0px black;
	background: #f9f9f9;
	/* transform: scale(1.01); */
}

.speak-help:has(.speak-anim) {
    box-shadow: 0px 0px 0px black;
	background: #f9f9f9;
	cursor: default;
}

.speak-help.disabled {
	pointer-events: none;
}

.speak-help .speak-help-img {
	width: 30px;
    height: 30px;
    background: url("ttos.png");
    background-size: cover;
}

.speak-help .speak-help-img.speak-anim {
	width: 30px;
    height: 30px;
    background: url("embleme.png");
    background-size: cover;
	animation: rotation 5s linear infinite;
}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.message img {
	max-width: 100%;
	cursor: pointer;
	margin: auto;
    display: flex;
}

.fullscreen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.7);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 100;
}

/* .fullscreen:has([class*=zoom_]) img {
	max-width: 85%;
	max-height: 85%;
	height: 100%;
	object-fit: contain;
	margin: auto;
	display: flex;
} */

.fullscreen img {
	max-width: 85%;
	max-height: 85%;
	height: 100%;
	object-fit: contain;
	margin: auto;
	display: flex;
}

.fullscreen-div-img {
	height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close-btn {
	position: absolute;
	top: 20px;
	right: 60px;
	font-size: 50px;
	color: white;
	cursor: pointer;
}

.ending {
	padding: 2em;
}

.starting {
	padding: 1em;
}

.speak-button {
    z-index: 20;
    box-shadow: 2px 2px 1px #b4b4b4;
    font-weight: bold;
    background: #ffffff;
    padding: 0.8em !important;
    cursor: pointer;
    border-radius: 10px;
    border: 1px solid lightgrey;
    transition: 0.2s all;
    padding: 0.25em 1em;
    font-weight: bold;
	display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 1em;
}

.speak-button:hover {
	box-shadow: 0px 0px 0px black;
    background: #f9f9f9;
}

.speak-button-img {
    width: 20px;
    height: 20px;
    background: url("ttos.png");
    background-size: cover;
}

/* Enlève la bordure de focus */
input[type="text"]:focus {
	outline: none;
}

/* Si le champ a un maxlength, on applique la largeur par défaut HTML */
input[type="text"][maxlength]:not([name*=othv]) {
	width: unset;
	max-width: calc(100% - 1em);
	min-width: 60px;
}

/* Cache completement les champs input */
label input {
	display: none;
}

.slider-container {
	margin: auto;
    text-align: center;
    margin-top: 2em;
	margin-bottom: 2em;
	position: relative;
}

.slider-number {
	color: #000000;
    font-size: 32px;
    text-align: center;
    margin-top: 0.25em;
	position: absolute;
    text-align: center;
    font-size: 24px;
	position: absolute;
	pointer-events: none;
	top: 0px;
}

.check_code_label{
	display: inline-block !important;
    padding: 5px !important;
    background: white !important;
    border: solid 1px black !important;
    border-radius: 20% !important;
    text-align: center !important;
    width: 23px !important;
    height: 23px !important;
    color: black !important;
    margin-right: 15px !important;
	opacity: 1 !important;
	text-wrap-mode: nowrap;
    min-width: fit-content;
}

#searchrep {
	margin-bottom: 2em;
	font-size: 90%;
}

#searchrep #xcode {
    color: white !important;
    text-align: center !important;
    background: #6A5783 !important;
    font-size: 0.85em !important;
    margin-top: 0.5em;
	margin-bottom: 0.5em;
    padding: 0.5em;
	transition: 0.4s all;
}

#searchrep #xcode:hover {
	background: #ff0000 !important;
}

.debug-page-title {
	border: 0px solid black;
    padding: 0 !important;
    background: brown !important;
	margin-bottom: 0.5em !important;
	font-size: 13px;
}

@-moz-document url-prefix() {
    .slider-number {
		color: #000000;
		font-size: 32px;
		text-align: center;
		position: absolute;
		text-align: center;
		font-size: 24px;
		position: absolute;
		pointer-events: none;
		top: 0px;
		margin-top: 0em !important;
    }
}

.slider-label-left {
	font-size: 20px;
    position: absolute;
    left: 97px;
    top: 8px;
    font-style: italic;
}

.slider-label-right {
	font-size: 20px;
    position: absolute;
    right: 100px;
    top: 8px;
    font-style: italic;
}

.slider-label-sign-left {
	font-size: 28px;
    position: absolute;
    left: 102px;
    top: 1px;
}

.slider-label-sign-right {
	font-size: 28px;
    position: absolute;
    right: 102px;
    top: 1px;
}

input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	cursor: pointer;
	width: 70%;
}
  
input[type="range"]:focus {
	outline: none;
}

input[type="range"]::-webkit-slider-runnable-track {
	border: none;
	box-shadow: none;
	background: linear-gradient(to right, red, yellow, green) !important;
	border-radius: 0.5rem;
	height: 1.5rem;
}

:has(div.unicolor) input[type="range"]::-webkit-slider-runnable-track {
	border: none;
	box-shadow: none;
	background: #6A5783 !important;
	border-radius: 0.5rem;
	height: 1.5rem;
}

:has(div.reversecolor) input[type="range"]::-webkit-slider-runnable-track {
	border: none;
	box-shadow: none;
	background: linear-gradient(to right, green, yellow, red) !important;
	border-radius: 0.5rem;
	height: 1.5rem;
}

input[type="range"]::-webkit-slider-thumb {
	border: none;
	box-shadow: none;
	background-color: white;
	-webkit-appearance: none;
	appearance: none;
	margin-top: -8px;
	border-radius: 1rem;
	height: 2.5rem;
	width: 2.5rem;
	border: 1px solid black;
}

.check input[type="range"]::-webkit-slider-thumb {
	background-image: url("check.svg");
	background-size: 70%;
	background-position: center;
	background-repeat: no-repeat;
}
  
input[type="range"]:focus::-webkit-slider-thumb {
	border: none;
	box-shadow: none;
	background-color: white;
	border: 1px solid black;
}
  
input[type="range"]::-moz-range-track {
	border: none;
	box-shadow: none;
	background: linear-gradient(to right, green, yellow, red) !important;
	border-radius: 0.5rem;
	height: 1.5rem;
}

input[type="range"]::-moz-range-thumb {
	border: none;
	box-shadow: none;
	background-color: white;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 1rem;
	height: 2.5rem;
	width: 2.5rem;
	border: 1px solid black;
}

input[type="range"]:focus::-moz-range-thumb{
	border: none;
	box-shadow: none;
	background-color: white;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 1rem;
	height: 2.5rem;
	width: 2.5rem;
	border: 1px solid black;
	margin-bottom: 1em;
}

input[type=range]::-moz-focus-outer {
	border: 0;
}

.lib {
	text-align: center;
    text-decoration: underline;
    font-weight: 700;
}

.hide {
	opacity: 0;
}

.show {
	opacity: 1;
}

.item {
    display: none;
    opacity: 0;
    transition: opacity 0.5s;
}
.item.active {
    display: block;
    opacity: 1;
}

.carousel-content {
	gap: 0.5em;
    display: flex;
    flex-flow: column;
}

.carousel-content legend {
	text-align: center;
    padding: 1em;
    border-radius: 5px;
    margin-top: 1em;
    margin-bottom: 1em;
	border: 1px solid #a9a9a9;
    box-shadow: 0px 0px 1px #000000, 0 0 0 0 #000000 inset;
    max-width: 500px;
    font-weight: 500;
	margin: auto;
	margin-bottom: 1em !important;
}

.circle-dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #6A5783; /* Code charte */
    border: 1px solid #959595;
    margin: 5px;
    display: inline-block;
	margin-bottom: 1em;
}

.circle-dot-empty {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #959595;
    margin: 5px;
    display: inline-block;
}

.circle-container {
	display: flex;
    flex-wrap: wrap;
    margin: auto;
    justify-content: center;
}

label:has(.lnote-left), label:has(.lnote-right) {
	position: relative !important;
    font-size: 18px !important;
}

div[class*=stars] {
	flex-flow: unset !important;
	padding: 1em 0em;
	gap: 0em !important;
	display: flex;
    justify-content: center;
}

div[class*=stars] label.selected .star_empty {
	display: none !important;
}

div[class*=stars] label.selected .star_full {
	display: flex !important
}

div[class*=stars] label.selected .star_full img {
	display: flex !important;
}

div[class*=stars] label:hover .star_empty {
	display: none !important;
}

div[class*=stars] label:hover .star_full, div[class*=stars] label:hover .star_full img {
	display: flex !important;
}

div[class*=stars] label {
	font-size: 0;
	display: flex !important;
	justify-content: center !important;
	transition: 0.5s all !important;
	max-width: 190px;
}

.star_empty, .star_empty img {
    min-width: 50px;
    min-height: 40px;
    width: 50%;
    height: auto;
    display: flex !important;
    justify-content: center !important;
}

.star_full, .star_full img {
    min-width: 50px;
    min-height: 40px;
    width: 50%;
    height: auto;
    display: none;
    justify-content: center !important;
}

div[class*=stars] label:hover .star_empty,
div[class*=stars] label:hover .star_empty,
div[class*=stars] label:hover .star_empty,
div[class*=stars] label:hover .star_empty,
div[class*=stars] label:hover .star_full,
div[class*=stars] label:hover .star_full,
div[class*=stars] label:hover .star_full,
div[class*=stars] label:hover .star_full {
	transition: 0.4s all;
	transform: scale(1.05) !important;
}

div[class*=stars] label:has(+ .selected:nth-child(-n+2)) .star_empty,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+3)) .star_empty,
div[class*=stars] label:has(+ label:nth-child(2):hover) .star_empty,
div[class*=stars] label:has(+ * + label:nth-child(3):hover) .star_empty,
div[class*=stars] label:has(+ * + * + .selected:nth-child(-n+4)) .star_empty,
div[class*=stars] label:has(+ * + * + * + .selected:nth-child(-n+5)) .star_empty,
div[class*=stars] label:has(+ * + * +  label:nth-child(4):hover) .star_empty,
div[class*=stars] label:has(+ * + * + * + label:nth-child(5):hover) .star_empty,
div[class*=stars] label:has(+ .selected:nth-child(-n+3)) .star_empty,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+4)) .star_empty,
div[class*=stars] label:has(+ label:nth-child(3):hover) .star_empty,
div[class*=stars] label:has(+ * + label:nth-child(4):hover) .star_empty,
div[class*=stars] label:has(+ * + * + .selected:nth-child(-n+5)) .star_empty,
div[class*=stars] label:has(+ * + * +  label:nth-child(5):hover) .star_empty,
div[class*=stars] label:has(+ .selected:nth-child(-n+4)) .star_empty,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+5)) .star_empty,
div[class*=stars] label:has(+ label:nth-child(4):hover) .star_empty,
div[class*=stars] label:has(+ * + label:nth-child(5):hover) .star_empty,
div[class*=stars] label:has(+ .selected:nth-child(-n+5)) .star_empty,
div[class*=stars] label:has(+ label:nth-child(5):hover) .star_empty {
	display: none !important;
}

div[class*=stars] label:has(+ .selected:nth-child(-n+2)) .star_full img,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+3)) .star_full img,
div[class*=stars] label:has(+ label:nth-child(2):hover) .star_full img,
div[class*=stars] label:has(+ * + label:nth-child(3):hover) .star_full img,
div[class*=stars] label:has(+ .selected:nth-child(-n+2)) .star_full,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+3)) .star_full,
div[class*=stars] label:has(+ label:nth-child(2):hover) .star_full,
div[class*=stars] label:has(+ * + label:nth-child(3):hover) .star_full,
div[class*=stars] label:has(+ * + * + .selected:nth-child(-n+4)) .star_full img,
div[class*=stars] label:has(+ * + * + * + .selected:nth-child(-n+5)) .star_full img,
div[class*=stars] label:has(+ * + * +  label:nth-child(4):hover) .star_full img,
div[class*=stars] label:has(+ * + * + * + label:nth-child(5):hover) .star_full img,
div[class*=stars] label:has(+ * + * + .selected:nth-child(-n+4)) .star_full,
div[class*=stars] label:has(+ * + * + * + .selected:nth-child(-n+5)) .star_full,
div[class*=stars] label:has(+ * + * +  label:nth-child(4):hover) .star_full,
div[class*=stars] label:has(+ * + * + * +  label:nth-child(5):hover) .star_full,
div[class*=stars] label:has(+ .selected:nth-child(-n+3)) .star_full img,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+4)) .star_full img,
div[class*=stars] label:has(+ label:nth-child(3):hover) .star_full img,
div[class*=stars] label:has(+ * + label:nth-child(4):hover) .star_full img,
div[class*=stars] label:has(+ .selected:nth-child(-n+3)) .star_full,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+4)) .star_full,
div[class*=stars] label:has(+ label:nth-child(3):hover) .star_full,
div[class*=stars] label:has(+ * + label:nth-child(4):hover) .star_full,
div[class*=stars] label:has(+ * + * + .selected:nth-child(-n+5)) .star_full img,
div[class*=stars] label:has(+ * + * +  label:nth-child(5):hover) .star_full img,
div[class*=stars] label:has(+ * + * + .selected:nth-child(-n+5)) .star_full,
div[class*=stars] label:has(+ * + * +  label:nth-child(5):hover) .star_full,
div[class*=stars] label:has(+ .selected:nth-child(-n+4)) .star_full img,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+5)) .star_full img,
div[class*=stars] label:has(+ label:nth-child(4):hover) .star_full img,
div[class*=stars] label:has(+ * + label:nth-child(5):hover) .star_full img,
div[class*=stars] label:has(+ .selected:nth-child(-n+4)) .star_full,
div[class*=stars] label:has(+ * + .selected:nth-child(-n+5)) .star_full,
div[class*=stars] label:has(+ label:nth-child(4):hover) .star_full,
div[class*=stars] label:has(+ * + label:nth-child(5):hover) .star_full,
div[class*=stars] label:has(+ .selected:nth-child(-n+5)) .star_full img,
div[class*=stars] label:has(+ label:nth-child(5):hover) .star_full img,
div[class*=stars] label:has(+ .selected:nth-child(-n+5)) .star_full,
div[class*=stars] label:has(+ label:nth-child(5):hover) .star_full {
	display: flex !important;
}

.grid-response {
    padding: 0.5em 1em;
    border: 1px solid #d8d8d8;
    margin: 0;
    font-size: 16px;
	border-radius: 3px;
    color: black;
}

.percentPage {
	font-size: 18px;
    margin-top: 0.5em;
    text-shadow: 1px 1px #cdcdcd;
	text-align: center;
}

html, body, form, #wrapper {
	min-height: -webkit-fit-content !important;
	min-height: -moz-fit-content !important;
	min-height: fit-content !important;
}

html, body:has(form) {
	font-family: Calibri,Calibri-Light,sans-serif ;
	color: #000;
	margin: 0px auto;
	/* font-size: 14pt; */
	font-size: 92%;
	text-align: left;
	width: 100%;
	height: calc(100% - 3em);
	/* background-image: url("fond.jpg"); Charte background */
	/* background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed; */
	padding: 1.5em;
}


html, body:not(:has(form)) {
	font-family: Calibri, Calibri-Light, sans-serif;
    color: #000;
    padding: 0px;
    margin: 0px auto;
    font-size: 14pt;
    text-align: left;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	background-color: #6A578330;
}

div#wrapper {
	padding: 1em;
	padding-top: 2em;
	background: #ffffffff;
	box-shadow: 0px 0px 2px #6A5783, 0 0 0 0 white inset;
	border-radius: 3px;
	max-width: 1024px;
	max-height: 100%;
	overflow-y: auto;
	border: 1px solid #dfdfdf;
	width: 90%;
	margin: auto;
	/* background-image: url("cercle.png");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: bottom left; */
}

body form {
	height: 100%;
    width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 1024px;
}

form #top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

div#top img {
	width: 210px;
    margin-bottom: 1.5em;
	max-width: 175px;
}

div#content {
	border-top: 1px solid #6A5783;
	border-bottom: 1px solid #6A5783;
	/* padding: 0em 1em 1em 1em; */
	margin-bottom: 1em;
	/* background-image: url("cercle.png"); */
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: bottom left;
}

div#bottom {
	height: 24px;
	text-align: right;
	background-color: #000000;
}

fieldset {
	border: none;
	padding: 0 !important;
}

legend {
	font-weight: 500;
	padding-bottom: 1em;
	padding-left: 0;
}

/* legend:has(+ div .cons1) {
	padding-bottom: 0;
} */

.grid-header {
	display: none;
}

.note15, .note110, .note010 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: grid;
    place-content: center;
    -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

select{
	font-family: Calibri,Calibri-Light,sans-serif ;
	font-size: 14pt;
	max-width: 200px;
}

input[type="text"]{
	font-family: 'nunito',Calibri,Calibri-Light,sans-serif ;
	font-size: 14pt;
	max-width: 100%;
	padding: 0.75em;
    border: 1px solid darkgray;
    border-radius: 3px;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    width: 50%;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	margin-bottom: 0.5em;
}


input[type=submit] {
    color: white;
    padding: 12px 30px;
    cursor: pointer;
    margin-top: 10px;
    -o-transition: 0.5s all;
    transition: 0.5s all;
    border: none;
    border-radius: 5px 5px 5px 5px;
    font-size: 16px;
    font-weight: bold;
    background: #CB2f58; /* Code charte */
}

input[type=submit]:hover {
	-webkit-filter: brightness(1.2);
	filter: brightness(1.2);
}

.btnn {
	width: 200px;
}

.progcell {
    border-radius: 0;
	overflow: hidden;
	/* padding: 0.15em !important; */
	/* background-color: #6A5783 !important; Code charte */
    border-radius: 5px;
}

.progcell img {
    height: 20px !important;
    /* left: -295px !important; */
    position: relative;
}

div.perror {
	margin-top: 1em !important;
	color: red;
    font-size: 14pt;
    font-style: italic;
    padding-bottom: 5px;
    font-weight: 500;
    text-align: center;
	background: red;
    width: fit-content;
    margin: auto;
    color: white;
    padding: 0.5em 1.5em;
    border-radius: 3px;
}

.qerror {
	color: red;
    font-size: 14pt;
    font-style: italic;
    padding-bottom: 5px;
    font-weight: 500;
    text-align: center;
    margin-top: 0.25em;
}

label:has(+ fieldset > div.qbody-error) {
	background-color: #E5B0B0 !important;
}

div.qbody-error input {
	background-color: #E5B0B0;
}

div.qbody-error select {
	background-color: #E5B0B0;
}

div.qbody-error label {
	background-color: #E5B0B0;
    border-radius: 3px;
}

#addTown label {
	margin-top:5px;
}

#qbody_association label {
	gap: 0.6em;
}

#qbody_association img {
	max-width: 200px;
    max-height: 100px;
	margin: 0 !important;
}

label:has(> div#association) div {
	width: auto;
	min-width: 80px;
}

label:has(> div#association) img {
	width: 100%;
}

.grid-content-hidden {
	height: 0;
	transition: height 0.4s;
	opacity: 0;
}

.opengrid {
	/* height: 70px; */
	opacity: 1;
}

.pageblk p:first-child {
	color: black;
    text-align: center;
}

.pageblk p {
	text-align: center;
}

/* remettre en place si ya bien 2 button */
#navtab { 
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    width: 50%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
    margin: auto;
    gap: 1em;
	margin-top: 1em;
	justify-content: center;
	margin-bottom: 1em;
	position: relative;
	z-index: 15;
}

#navtab span {
	width: 50% !important;
}

#navtab span input {
    color: white;
    padding: 12px 30px;
    cursor: pointer;
    margin-top: 10px;
    -o-transition: 0.5s all;
    transition: 0.5s all;
    border: none;
    border-radius: 5px 5px 5px 5px;
    font-size: 16px;
    font-weight: bold;
    background: #CB2f58; /* Code charte button */
	width: 100%;
}

#wrapper select {
	font-family: 'nunito',Calibri, Calibri-Light, sans-serif;
    font-size: 12pt;
    padding: 0.5em;
    max-width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#wrapper:not(:has(div[class*=stars])) label {
    padding: 0.75em;
    border: 1px solid darkgray;
    border-radius: 3px;
    position: relative;
    margin-top: 0.5em;
    background: #f7f7f7;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
	margin: auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 50%;
}

fieldset:not([class*=grid]) div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio) label:has(.emoji),
fieldset:not([class*=grid]) div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) label:has(.emoji) {
	padding-left: 3.25em !important;
	width: calc(50% - 2.4em);
}

fieldset[class*=grid] div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio) label:has(.emoji),
fieldset[class*=grid] div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) label:has(.emoji) {
	padding-left: 3.25em !important;
	width: calc(75% - 2.5em);
}


div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio) label:not(:has(img)), div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) label:not(:has(img)) {
    word-break: break-word;
	width: calc(50% - 2.25em);
	padding-right: 3em !important;
}

div:not(.note05, .note15, .note110, .note010):not([class*=stars]):has(> .selectable-radio) label:hover,
div:not(.note05, .note15, .note110, .note010):not([class*=stars]):has(> .selectable-checkbox) label:not(.CW_order_rank):hover {
	background: #e9e9e9 !important;
}

div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio),
div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    gap: 0.5em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	overflow: hidden;
}

div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio):not([class*=stars]) label:not(:has(img)).selected:before {
    content: "";
    display: inline-block;
    -webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
    height: var(--height);
    width: var(--width);
    border-bottom: var(--borderWidth) solid var(--borderColor);
    border-right: var(--borderWidth) solid var(--borderColor);
    --borderWidth: 5px;
    --height: 9px;
    --width: 4px;
    margin: 0;
    --borderColor: #6A5783; /* Code charte */
    position: absolute;
    right: 24px;
    top: calc(50% - 9px);
	z-index: 1;
}

div:not(.note05, .note15, .note110, .note010):not([class*=stars]):has(> .selectable-radio) label:not(:has(img)):after {
    border-radius: 50%;
	content: "";
    width: 25px;
    height: 25px;
    min-width: 25px;
    max-width: 20px;
    background: white;
    border: 1px solid #bcbcbc;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
}

div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) label:not(:has(img)):after {
    content: "";
    width: 20px;
    height: 20px;
    min-width: 20px;
    max-width: 20px;
    background: white;
    border: 1px solid #bcbcbc;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
}

div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox):not(:has(label[class*=rank])) label:not(:has(img)).selected:before {
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    height: var(--height);
    width: var(--width);
    border-bottom: var(--borderWidth) solid var(--borderColor);
    border-right: var(--borderWidth) solid var(--borderColor);
    --borderWidth: 5px;
    --height: 9px;
    --width: 4px;
    --borderColor: #6A5783; /* Code charte */
    right: 21px;
    top: calc(50% - 5px);
    bottom: 0;
    margin: auto;
    position: absolute;
    margin-top: -3px;
    z-index: 1;
}

div.note15:not(.slider) label,
div.note110:not(.slider) label,
div.note010:not(.slider) label {
	font-weight: bold;
}

label .emoji {
    height: fit-content;
    font-size: 25px;
    min-width: 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    margin: auto;
}

label .emoji img {
	width: 30px;
}

label:has(.emoji) {
	text-align: center;
}

label:has(.emoji):after {
	margin-left: 10px !important;
}

#recherche {
	z-index: 25;
	position: fixed;
    left: 0px !important;
    top: 1px;
    height: 100%;
	width: fit-content !important;
	min-width: 110px !important;
    background: white;
    border-right: 1px solid black;
    padding: 0.25em;
	overflow-x: scroll;
	transition: 0.75s all;
}

#recherche::-webkit-scrollbar { 
	display: none;
}

.debug-button {
	position: fixed;
    right: 10px;
    top: 10px;
    margin: 0;
    padding: 0.5em 1em;
    text-align: center;
    background: #ffd600;
    color: black;
    transition: 0.5s all;
    border-radius: 5px;
    font-family: 'nunito';
    /* animation: debug-button-check 1s forwards; */
    box-shadow: 0px 1px 1px #000000;
    font-weight: bolder;
    border: 1px solid #000000;
	z-index: 100;
}

.inputxt input {
	float: left;
}
	
.inputcolumn {
	width: 45%;
		margin: auto;
}

.debug-button:hover {
	background: #ffea00;
	scale: 1.05;
}

.debug-button-check {
	display: none;
}

@keyframes debug-button-check {
	0% {
		right: -200px;
	}
	100% {
		right: 10px;
	}
}

#search {
	width: 95%;
    margin: auto;
    max-width: calc(100% - 1.5em);
    padding: 0.35em 0.5em;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
	font-size: 16px;
}

#recherche:has(~ .debug-button-check:checked) {
	left: -200px !important;
	transition: 1s all;
}

#rechercherep:has(+ .debug-button-check:checked) {
	display: none;
}

.debug-button-check:checked ~ .debug-button,
.debug-button-check:not(:checked) ~ .debug-button {
	transition: 0.5s all;
	animation: clickbutton 0.5s forwards;
}

@keyframes clickbutton {
	0% {
		transform: scale(1);
		transition: 0.5s all;
	}
	50% {
		transform: scale(0.9);
		transition: 0.5s all;
	}
	100% {
		transform: scale(1);
		transition: 0.5s all;
	}
}

.note05 {
	gap: 0.5em;
    margin: auto;
    margin-bottom: 1em;
	width: 50%;
}

.note15 {
	gap: 0.5em;
    margin: auto;
    margin-bottom: 1em;
	width: 50%;
	grid-template-columns: repeat(5, 1fr);
}

/* .note110 {
	gap: 0.5em;
    margin: auto;
    margin-bottom: 1em;
	width: 80%;
	grid-template-columns: repeat(10, 1fr);
} */

.note110 {
    gap: 0.5em;
    margin: auto;
    margin-bottom: 0em;
    width: 80%;
    grid-template-columns: repeat(10, 1fr);
}

.txtlrnote {
	display: grid;
	gap: 18%;
	margin: auto;
	width: 80%;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 0.5em;
	margin-top: 1.5em;
	font-size: 1em;
	font-weight: 600;
}

.slider ~ .nlrnote {
	width: 80%;
}

.nlrnote {
	display: grid;
	gap: 15%;
	margin: auto;
	width: 90%;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 0.75em;
	font-size: 0.9em;
    font-style: italic;
}

.nlrnote div:nth-child(odd),
.txtlrnote div:nth-child(odd) {
	text-align: left;
}

.nlrnote div:nth-child(even),
.txtlrnote div:nth-child(even) {
	text-align: right;
}

.note010 {
	gap: 0.5em;
    margin: auto;
    margin-bottom: 1em;
	width: 90%;
	grid-template-columns: repeat(11, 1fr);
}
.note15 label {
	padding: 0.75em;
	border-radius: 2px;
}

.note15 .selected ~ label, .note110 .selected ~ label, .note010 .selected ~ label {
	color: black;
}

.note15 .selected, .note110 .selected, .note010 .selected {
	color: white !important;
	font-weight: bold;
    text-shadow: 0 0px 3px #000000;
}

.note15 label:hover, .note110 label:hover, .note010 label:hover {
	color: white !important;
	font-weight: bold;
    text-shadow: 0 0px 3px #000000;
}

body:not(:has(form)) #top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

body div:has(> label):not(.note05):not(.note15):not(.note110):not(.note010):not([class*=stars]) label.selected {
	background: #6A5783 !important; /* Code charte */
	color: white;
}

body div:has(> label):not(.note05):not(.note15):not(.note110):not(.note010):not([class*=stars]) label.selected:has(input[type=radio]) {
	background: #6A5783 !important; /* Code charte */
	color: white;
	-webkit-background-clip: padding-box; /* Pour éviter les problèmes de fond */
    background-clip: padding-box;
}

body div:has(> label):not(.note05):not(.note15):not(.note110):not(.note010):not([class*=stars]) label.selected:has(input[type=checkbox]) {
	background: #6A5783 !important; /* Code charte */
	color: white;
	-webkit-background-clip: padding-box; /* Pour éviter les problèmes de fond */
    background-clip: padding-box;
}

fieldset:not(legend:first-child) legend {
	padding-top: 20px !important;
}

fieldset legend:has(~ div[class^=note]):not(.qtext) {
	text-align: center;
	font-size: 1.1em;
	font-weight: bold;
}

.note15 label:not(.nspnote), .note110 label:not(.nspnote), .note010 label:not(.nspnote) {
	text-align: center;
	display: flex;
	justify-content: center;
	margin: unset !important;
}


/* Cache tout les champs autres par default */
fieldset[name*="oth"] {
	display: none;
}

/* Affiche le champ autre */
label:has(+ fieldset[name*="oth"]).selected + fieldset[name*="oth"] {
	display: block;
}

label.selected fieldset[name*="oth"] {
	display: block;
}

label.selected fieldset[name*="oth"] input {
	width: 85%;
	margin-top: 0.5em;
	margin-bottom: 0;
}

textarea {
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Calibri, Calibri-Light, sans-serif;
    font-size: 16pt;
    padding: 0.75em;
    border: 1px solid darkgray;
    border-radius: 3px;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
	max-width: 100%;
}

.progressbar {
	font-size: 20px;
    margin-top: 0.5em;
    font-style: italic;
	text-align: center;
}

.grid-fieldset {
	margin: 1em 0em !important;
}

.grid-legend {
	padding: 1em;
	background: white;
    width: calc(100% - 4em - 2px);
    margin: auto;
    border-radius: 3px;
    position: relative;
	padding-top: 20px !important;
	text-align: left;
	border: 1px solid #d8d8d8;
	color: #CB2f58; /* Code charte */
	padding-right: 3em;
	font-weight: 700;
}


div.row:nth-child(odd) .grid-legend {
    color: black; /* Code charte */
}

div.row:nth-child(even) .grid-legend {
    /*color: #CB2f58;*/
	color: black;
}

.unicolor div.row:nth-child(odd) .grid-legend {
    color: black; /* Code charte */
}

.unicolor div.row:nth-child(even) .grid-legend {
	color: black; /* Code charte */
}


/* div.row .grid-legend {
    color: black; /* Code charte */
/* } */


.left {
	float: left;
	margin-bottom: 1em;
}

.right {
	float: right;
	margin-bottom: 1em;
}


.grid-legend:hover {
	cursor: pointer;
}

.grid-legend:after {
	content: ">";
    width: 20px;
    height: 20px;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
	font-weight: 900;
	font-family: monospace;
}

.grid-legend.open:after {
	content: ">";
	rotate: 90deg;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 18px;
	top: 11px;
    bottom: 0;
    margin: auto;
	font-weight: 900;
	font-family: monospace;
}

.grid-legend span img {
	margin: 0;
    padding: 0;
    max-width: 30px;
    margin-right: 10px;
    vertical-align: bottom;
}

.grid-label {
	width: 75% !important;
	margin: 5px 0px !important;
	color: black;
}

div.row .grid-confirm {
	background: #d7d7d7;
    color: #717171;
}

.conslabel {
	color: black;
    font-weight: normal !important;
    text-shadow: 0 0 BLACK !important;
	word-break: normal;
	width: max-content;
	font-size: 14px !important;
	font-style: italic;
}

.lnote-left {
	/* position: absolute;
    bottom: -35px;
	right: 0; */
	position: absolute;
    top: 130%;
    left: 0;
    word-break: break-word;
    width: 400px;
    text-align: left;
}

.lnote-right {
	/* position: absolute;
    bottom: -35px;
	left: 0; */
	position: absolute;
    top: 130%;
    right: 0;
    word-break: break-word;
    width: 400px;
    text-align: right;
}

.lslider-left {
    position: absolute;
    left: 97px;
    top: 58px;
}

.lslider-right {
    position: absolute;
    right: 97px;
    top: 58px;
}

.note010.unicolor label:hover,
.note010.unicolor label.selected,
.note15.unicolor label:hover,
.note15.unicolor label.selected,
.note110.unicolor label:hover,
.note110.unicolor label.selected {
    background-color: #6A5783 !important; /* Code charte */
}

#wrapper label label {
	padding: 0 !important;
    margin: 0;
    border: none;
    box-shadow: none;
    width: 31px;
    position: absolute;
    right: 10px;
    color: black;
    font-weight: bold;
    word-break: break-word;
    background: none;
    display: flex;
    place-content: center;
	color: #35aa6f;
}

#wrapper label label:after {
	content: unset;
}

.qnotes, .cons1 {
	margin-bottom: 1em;
    font-weight: 400;
    color: dimgray;
}

.flag-box {
	padding: 10px 10px !important;
}

.number {
	text-align: center;
    display: flex;
    justify-content: center;
}

.buttonNext {
	color: white;
    padding: 12px 30px;
    cursor: pointer;
    margin-top: 2em;
    -o-transition: 0.5s all;
    transition: 0.5s all;
    border: none;
    border-radius: 5px 5px 5px 5px;
    font-size: 16px;
    font-weight: bold;
    background: black; /* Code charte button */
    width: 25%;
}

.buttonNext[disabled] {
	background: #d7d7d7;
	cursor: default;
}

.CW_order_rank {
	background: none !important;
    border: none !important;
    position: absolute !important;
    right: 21px !important;
    margin: auto !important;
    padding: 0 !important;
    width: fit-content !important;
    top: 0 !important;
    bottom: 0 !important;
    text-align: center !important;
    z-index: 1 !important;
    color: #6A5783 !important; /* Code charte */
}

label:not(.selected) .CW_order_rank {
	display: none !important;
}

label.selected:has(input[data-xchoice="1"])::before {
	content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    height: var(--height);
    width: var(--width);
    border-bottom: var(--borderWidth) solid var(--borderColor);
    border-right: var(--borderWidth) solid var(--borderColor);
    --borderWidth: 5px;
    --height: 9px;
    --width: 4px;
    --borderColor: #6A5783; /* Code charte */
    right: 21px;
    top: calc(50% - 5px);
    bottom: 0;
    margin: auto;
    position: absolute;
    margin-top: -3px;
    z-index: 1;
}

.selectable:not(:has(.emoji)):has(img) {
	padding-right: 0.75em !important;
	text-align: center;
	display: flex;
	place-content: space-between;
    align-items: center;
    justify-content: center;
	flex-wrap: wrap;
}

.selectable:not(:has(.emoji)):has(img) img {
	margin-bottom: 1em;
}

.selectable:not(:has(.emoji)) img {
	width: 100% !important;
}

.CW_order_rank:hover {
	background: none !important;
}

[class*=multicol_] .selectable:not([class*=aucun_]) {
	align-content: center;
	margin: unset !important;
}

.multicol_2 {
	display: grid !important;
	flex-flow: wrap !important;
	justify-content: center;
	grid-template-columns: repeat(2, 1fr);
	width: 60%;
	margin: auto;
}

[class*='multicol_']:not(:has(img):not(.emoji):not(:has(.emoji img))) {
	width: 100% !important;
}

.multicol_3 {
	display: grid !important;
	flex-flow: wrap !important;
	justify-content: center;
	grid-template-columns: repeat(3, 1fr);
	width: 80%;
	margin: auto;
}

.multicol_4 {
	display: grid !important;
	flex-flow: wrap !important;
	justify-content: center;
	grid-template-columns: repeat(4, 1fr);
	width: 100%;
	margin: auto;
}

.multicol_2 .selectable:not([class*=aucun_]),
.multicol_3 .selectable:not([class*=aucun_]),
.multicol_4 .selectable:not([class*=aucun_]) {
    width: 100% !important;
	box-sizing: border-box;
}

.animation-loader {
    width: fit-content;
    margin: auto;
    height: fit-content;
    padding: 60px 50px 50px 50px;
}

.loader-anim {
    width: 28px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #6A5783;
    transform-origin: top;
    display: grid;
    animation: l3-0 1s infinite linear;
}

.loader-anim::before,
.loader-anim::after {
    content: "";
    grid-area: 1/1;
    background: #FEF4EA;
    border-radius: 50%;
    transform-origin: top;
    animation: inherit;
    animation-name: l3-1;
}

.loader-anim::after {
    background: #CB2F58;
    --s:180deg;
}

.container:has([data-pglayout='mode1']) {
	padding-top: 1em;
}

[data-pglayout='mode1'] {
	width: 100%;
    text-align: center;
	margin-top: 1em;
}

[data-pglayout='mode1'] .even {
    background: #eaeae9;
}

[data-pglayout='mode1'] .odd {
    background: #f7f7f6;
}

[data-pglayout='mode1'] td.cell, [data-pglayout='mode1'] td.cell_error  {
    text-align:center;
}

[data-pglayout='mode1'] td.cell_error {
    background-color: indianred;
}

[data-pglayout='mode1'] td.colheading {
    padding: 0px 15px;
}

[data-pglayout='mode1'] #canvas_q2 {
    padding-top:15px;
}

@supports (-webkit-appearance: none) {
	#wrapper:not(:has(div[class*=stars])):not(:has(div[class^=note])) label {
		-webkit-transition: 0s all;
		-o-transition: 0s all;
		transition: 0s all;
	}
}

@media only screen and (max-width: 991px) {

	fieldset:not([class*=grid]) div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio) label:has(.emoji),
	fieldset:not([class*=grid]) div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) label:has(.emoji) {
		padding-left: 3.25em !important;
		width: calc(100% - 7.3em);
	}

	fieldset[class*=grid] div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio) label:has(.emoji),
	fieldset[class*=grid] div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) label:has(.emoji) {
		padding-left: 3.25em !important;
		width: calc(100% - 7.3em);
	}

	.buttonNext {
		width: 100%;
	}

	input[type="range"] {
		width: 100%;
	}
	  

	.lnote-left {
		left: 0;
	}
	
    .lnote-right {
        right: 0px !important;
        left: unset;
    }

	div[class*=stars] {
		justify-content: space-evenly;
	}

	.selectable-checkbox {
		font-size: 16.5px !important;
	}

	/* .selectable-checkbox.selected:before {
		right: 19px !important;
	} */

	#navtab span {
		width: 100% !important;
	}

	.flags-container {
		width: 100% !important;
		margin-bottom: 1em !important;
	}

	.flag-box {
		padding: 0 !important;
	}

	.flag-box img {
		height: 28px !important;
		border: none !important;
	}

	.cons1, .qnotes {
		text-align: center;
	}

	.progressbar {
		margin-bottom: 1em;
	}
	
	#recherche:has(~ .debug-button-check) {
		/* display: none; */
	}
	
	#recherche:has(+ .debug-button-check) {
		/* display: none; */
	}
	
	#recherche:has(~ .debug-button-check:checked) {
		left: -200px !important;
		transition: 1s all;
	}
	
	#recherche:has(+ .debug-button-check:checked) {
		display: block;
	}
	
	/* Definis le bouton commencer au debut en width 100% et redesign */
	input[name=XX_START] {
		width: 100%;
		padding: 15px 30px;
	}

	#wrapper {
		height: calc(100% - 2em);
		-webkit-box-shadow: unset !important;
		box-shadow: unset !important;
		border: unset !important;
		padding: 1em !important;
		padding: 0em 1em;
        background: white;
        border-radius: 5px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
		min-height: -webkit-fit-content;
		min-height: -moz-fit-content;
		min-height: fit-content;
		overflow-y: unset !important;
	}

	#wrapper select {
		width: 100%;
    	margin: 0.5em 0em;
    	padding: 0.75em;
		max-width: unset;
	}

	#wrapper textarea {
		width: calc(100% - 1em - 2px);
        padding: 0.5em;
        margin-top: 0.5em;
	}

	fieldset {
		padding: 0 !important;
		margin: 0 !important;
	}

	fieldset legend {
		text-align: center;
	}

	html body form {
		display: unset !important;
	}

	html body form #top {
		-ms-flex-preferred-size: 10%;
		flex-basis: 10%;
		min-height: 50px;
    	-webkit-box-flex: 0;
    	-ms-flex-positive: 0;
    	flex-grow: 0;
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
		-webkit-box-pack: space-evenly !important;
		-ms-flex-pack: space-evenly !important;
		justify-content: space-evenly !important;
		-webkit-box-align: center !important;
		-ms-flex-align: center !important;
		align-items: center !important;
		-webkit-box-orient: horizontal !important;
		-webkit-box-direction: normal !important;
		-ms-flex-flow: row !important;
		flex-flow: row !important;
		gap: 1em;
		/* margin-bottom: 1em; */
	}

	.container {
		height: 100%;
	}

	html body form #content {
		height: auto !important;
		padding: unset !important;
		margin-bottom: 0.5em;
		padding-top: 1em !important;
        padding-bottom: 1em !important;
		height: 100%;
		min-height: -webkit-fit-content;
		min-height: -moz-fit-content;
		min-height: fit-content;
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	html body form #navtab {
		margin-top: 1em;
		margin-bottom: 1em;
	}

	html body form #top:has(*:nth-child(1):nth-last-child(1)) img {
		width: 150px !important;
		margin-bottom: 0em !important;
		max-width: 350px;
	}
	html body form #top:has(*:nth-child(1):nth-last-child(2)) img {
		width: 150px !important;
		margin-bottom: 0em !important;
		max-width: 350px;
	}

	html, body:not(:has(form)) {
		margin-top: 0px;
		display: unset;
		background: white;
	}

	html:not(:has(form)) #top {
		-ms-flex-preferred-size: 30%;
		flex-basis: 30%;
    	-webkit-box-flex: 0;
    	-ms-flex-positive: 0;
    	flex-grow: 0;
		width: 60%;
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
		-webkit-box-pack: center !important;
		-ms-flex-pack: center !important;
		justify-content: center !important;
		-webkit-box-align: center !important;
		-ms-flex-align: center !important;
		align-items: center !important;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		gap: 2em;
		max-width: 350px;
	}

	html:not(:has(form)) #top img {
		width: 100%;
		margin-bottom: 0em;
	}

	html:not(:has(form)) div#wrapper {
		padding: 0em 1em;
        background: #edededd1;
        border-radius: 5px;
        height: calc(100% - 2em);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
        -webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}

	html, body:has(form) {
		padding: unset !important;
		height: 100%;
	}

	#navtab {
		width: 100%;
	}

	.note05, .note010, .note110, .note15 {
		width: 100%;
	}

	.note110 {
		gap: 0.2em;
	}

	.note110 label {
		padding: 0.5em !important;
		border-radius: 2px !important;
	}

	.note010 {
		gap: 0.15em;
	}

	.note010 label:not(.nspnote) {
		padding: 0.3em !important;
		border-radius: 2px !important;
	}

	div:not(.note05, .note15, .note110, .note010):has(> .selectable-radio) label:has(.emoji),
	div:not(.note05, .note15, .note110, .note010):has(> .selectable-checkbox) label:has(.emoji) {
		padding-left: 3.25em !important;
		width: calc(100% - 7.25em)
	}

	body:not(:has(.note15, .note110, .note010)):not(:has(div[class*=stars])):not(:has([class*=multicol_])) label:has(input[type=checkbox]):not(:has(.emoji)),
	body:not(:has(.note15, .note110, .note010)):not(:has(div[class*=stars])):not(:has([class*=multicol_])) label:has(input[type=radio]):not(:has(.emoji)) {
		width: calc(100% - 4.75em) !important;
	}

	[class*=multicol_] {
		display: flex !important;
		width: 100% !important;
	}

	.smulticol_2 {
		display: grid !important;
		flex-flow: wrap !important;
		justify-content: center;
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
		margin: auto;
	}

	.smulticol_2 .selectable:not([class*=aucun_]) {
		width: auto !important;
	}

	.smulticol_3 {
		display: grid !important;
		flex-flow: wrap !important;
		justify-content: center;
		grid-template-columns: repeat(3, 1fr);
		width: 100%;
		margin: auto;
	}

	.smulticol_3 .selectable:not([class*=aucun_]) {
		width: auto !important;
	}

	.container {
		width: 100%;
	}

	label {
		width: unset;
	}

	div:not(.note15, .note110, .note010):has(> .selectable-radio) label.selected:before {
		right: 23px
	}

	.grid-label {
		width: calc(100% - 1.5em);
	}

	.star_empty, .star_empty img {
		min-width: 40px;
		width: 70%;
		max-height: 50px;
	}

	.star_full, .star_full img {
		min-width: 40px;
		width: 70%;
		max-height: 50px;
	}

	.slider-label-left,
	.slider-label-sign-left {
        font-size: 20px;
        left: 5px;
		top: -30px;
	}
	
	.slider-label-right,
	.slider-label-sign-right {
		font-size: 20px;
		right: 5px;
		top: -30px;
	}

	.lslider-left {
		left: 0;
	}
	
	.lslider-right {
		right: 0;
	}

	label:has(> div#association) {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		gap: 1em;
	}

	/* Cache la pastille ronde sur les associations seulement sur mobile */
	label:has(> div#association):after,
	label:has(> div#association):before {
		content: none;
	}

	input[type="text"]{
		width: calc(100% - 1.5em);
		padding: 0.5em;
		margin-bottom: 0.5em;
	}

	.carousel-content legend {
		max-width: 85%;
	}

	textarea { 
		resize: none;
		min-height: 150px;
	}

	.qnotes {
		text-align: center;
	}

	.aucun_2 {
		width: calc(100% - 4em) !important;
	}
	
	.aucun_3 {
		width: calc(100% - 4em) !important;
	}

	.aucun_4 {
		width: calc(100% - 4em) !important;
	}

	/* Empêche l'apparition de la couleur de mise en surbrillance par défaut (bleu) lorsqu'un élément est tapé sur un appareil mobile */
	* {
		-webkit-tap-highlight-color: transparent;
	}

	.inputcolumn {
		width: 85%;
	}

	.gridinteger {
		flex-flow: column;
	}
	
	/* .gridinteger div:first-child {
		margin-bottom: 1em;
	} */

	.txtlr input[type="text"][maxlength]:not([name*=othv]) {
		width: unset;
		max-width: calc(100% - 1em);
		margin: unset;
		min-width: 50px;
	}

	#wrapper:not(:has(div[class*=stars])) label {
		-webkit-transition: 0s all;
		-o-transition: 0s all;
		transition: 0s all;
	}

	#recherche {
		transition: none !important;
	}

	#close-fullscreen {
		top: 0px;
		right: 25px;
	}

	#fullscreen-img {
		max-width: 95%;
	}

	.nlrnote {
		width: 100%;
	}

	video {
		width: 100% !important;
	}
}

.pageblk2 p {
	text-align: justify !important;
}
.ast {
	font-size: 12px;
	font-style: italic;
}
.libnorm {
	text-align: center;
    font-weight: normal;
}
.ast2 {
	margin-bottom: 1em;
    font-weight: 400;
    color: dimgray;
	font-style: italic;
}
