*,
::after,
::before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

:root {
	--required-color: #7d0000;
}

html {
	font-size: 17px;
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/* xs only */
@media (min-width: 601px) {
	html {
		font-size: 18px;
	}
}

/* ==================================== */

/*
xs: 0 - 600px,
sm: 601px - 767px,
md: 768px - 963px,
lg: 964px - 1199px,
xl: 1200px -
*/

/* ============================= */

body {
	background-color: #f8fafb;
}

h1 {
	margin-top: 0
}

a:not(.lien-non-pdf)[href$=".pdf"]::after,
a:not(.lien-non-pdf)[href*=".pdf#"]::after,
a:not(.lien-non-pdf)[href*=".pdf?"]::after,
a:not(.lien-non-pdf)[href$=".pdf"]:hover::after,
a:not(.lien-non-pdf)[href*=".pdf#"]:hover::after,
a:not(.lien-non-pdf)[href*=".pdf?"]:hover::after {
	display: inline-block;
	content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"%3E%3Cpath fill="%23ea4c3a" d="M1024.07 1001.06H0V23.04h1024.07v978.02"/%3E%3Cpath fill="%23fff" d="M882.57 651.64c-8.02-18.01-23.5-34.86-43.56-47.45-15.9-10.03-34.42-17.3-60-23.47-22.45-5.53-47.46-9.55-72.43-11.67a517.32 517.32 0 0 0-73.14-.34 1118.65 1118.65 0 0 1-43.36-51.44c-27.76-35.27-50.9-69.76-66.82-99.71a417 417 0 0 1-5.22-10.17c21.29-67.27 33.4-131.7 37.56-171.28l1.53-13.95c3.79-33.47 6.52-57.65-22.58-71.37l-.17.38c-6.35-3.82-12.28-7.06-18.25-8.87-9.76-2.93-17.2-1.6-23.5-.55-3.25.41-8.16 1-14.88 3.45a62.17 62.17 0 0 0-29.98 23.06c-7.2 10.71-11.87 25.35-14.64 46.02a277.74 277.74 0 0 0-1.16 63.96c2.12 22.07 7.27 47.83 15.35 76.58 4.44 15.8 10.17 34.12 19.48 55.5a813.8 813.8 0 0 1-9.62 26.82c-29.85 78.43-71.33 149.59-100.43 194.92-25.17 9.35-48.47 19.14-68.05 28.65-39.16 19-73.65 42-97.05 64.85-18.83 18.39-29.65 36.1-34.01 55.54-3.86 16.92-2.53 32.75 3.75 44.52 6.85 12.93 18.25 19.4 34 19.4 3.6 0 7.45-.37 11.47-1.02 21.83-3.65 44.18-15.35 68.36-35.82 31.7-27.01 68.26-70.61 105.75-126.12l7.1-10.6c18.73-6.62 38.38-13 58.13-18.8 44.07-12.86 78.66-19.79 106.67-24.87 24.49-4.47 43.8-7.47 61.26-9.41a1163.72 1163.72 0 0 0 32.14 33.32c26.64 26.54 49.22 45.99 73.27 63.04 24.43 17.23 45.2 28.28 63.76 33.91 19.75 5.8 38.38 5.77 57.34-.24 20.37-6.65 35.17-18.8 42.82-35.03 8.66-18.32 8.32-41.48-.89-61.75zM244.32 771.82c-15.45 13.06-28.86 21.01-40.87 24.15.14-1.26.41-2.66.75-4.26 1.54-6.93 5.33-16.82 20.78-31.97 11.09-10.78 35.95-31.86 79.82-53.72-26.23 33.77-46.6 54-60.48 65.8zm236.13-551.1c2.25-16.85 5.36-23.47 6.82-25.65 2.02-2.9 5.22-4.4 6.93-5.02 1.53-.58 2.28-.68 4.26-.88.3-.04 3.45-1.16 3.75-1.2 1.88.65 6.55 3.48 9.73 5.43-.17 5.35-1.2 14.46-2.19 23.36l-1.6 14.3c-2.6 24.7-8.5 59.66-18.01 98.96-5.46-21.12-9-40.02-10.58-56.25a231.04 231.04 0 0 1 .89-53.05zm63.86 360.17c-29.23 5.29-65.33 12.55-111.52 26.03-1.91.58-3.82 1.12-5.73 1.7 23.16-39.9 48.64-88.76 69.66-141.33 15.38 25.21 34.35 52.26 55.88 79.56 7.36 9.34 15.2 18.93 23.43 28.62-9.76 1.5-20.23 3.3-31.72 5.42zm296 112.2c-2.42 5.12-9.24 8.26-14.22 9.9-9.52 3.06-18.83 3-29.14-.08-13.03-3.92-30.25-13.33-49.8-27.15-21.77-15.42-42.47-33.26-67.2-57.86-.79-.81-1.64-1.63-2.43-2.45 8.5.2 16.92.61 25.18 1.23 22.38 1.9 44.79 5.49 64.95 10.47 20.4 4.95 34.52 10.34 45.92 17.53 12 7.5 21.21 17.13 25.4 26.54 3.93 8.57 3.42 17.37 1.34 21.87z"/%3E%3C/svg%3E');
	width: .9em;
	height: .9em;
	line-height: 1;
	margin-left: .35em;
	vertical-align: text-bottom;
	margin-bottom: .2em;
}

.formulaire {
	background-color: #f7f7f7;
	border-color: #e8e8e8;
	background-color: transparent;
	border: 0 none;
	margin-top: 2em;
	padding: 0;
	position: relative;
}

.legende-champs-obligatoires {
	font-size: .85em;
	position: absolute;
	right: 0;
	top: -3em;

	i {
		color: var(--required-color);
	}
}

fieldset {
	background-color: #f4f4f4;
	border: 1px solid #e6e6e6;
	margin: 0 0 1.5em;
	padding: 1.5em 1em 1em;
	border-radius: .5em;
}

@media (max-width: 600px) {
	fieldset {
		margin: 0 .5em 1em;
	}
}

legend {
	background-color: #444;
	color: #fff;
	padding: .25em .75em;
	border-radius: .25em;
}

/* xs only */
@media (max-width: 600px) {

	.formulaire fieldset ul,
	.formulaire fieldset ol {
		padding-left: 0;
	}
}

.formulaire fieldset li {
	list-style: none;
	padding: 5px;
	margin: 0;
}

fieldset.submit {
	background-color: transparent;
	border-style: none;
	margin-bottom: 0;
	padding: 0;
}

.formulaire [type="reset"] {
	display: none;
}

.prefilled {
	background-color: #f4f4f4;
	border-color: #f4f4f4 !IMPORTANT;
}

/*	>= md */
@media (min-width: 768px) {

	.table > * {
		display: table-row;
	}

	/*.table-cell,*/
	.table > * > * {
		display: table-cell;
		padding: .5em;
		vertical-align: top;
	}

	.table > * > :first-child {
		width: 1%;
		white-space: nowrap;
		min-width: 140px;
	}

	.table > * > :first-child * {
		white-space: nowrap;
	}
}

.formulaire input:not([type]),
.formulaire input[type="text"],
.formulaire input[type="number"],
.formulaire input[type="date"],
.formulaire input[type="email"],
.formulaire select,
.formulaire textarea,
.formulaire label.texte-petit,
.formulaire .input-text {
	display: inline-block;
	margin: 0;
	padding: .2778em .5556em .2778em .2778em;
	vertical-align: middle;
}

.formulaire input[type="date"],
.formulaire input[type="number"],
.formulaire select {
	/* Chrome/Android */
	background-color: white;
}

/*	<= md */
@media (max-width: 964px) {

	.formulaire input:not([type]),
	.formulaire input[type="text"],
	.formulaire input[type="number"],
	.formulaire input[type="email"],
	.formulaire select,
	.formulaire textarea {
		width: 100% !important;
	}
}

.formulaire .input-text {
	min-height: 2em;
}

.formulaire input[type="checkbox"],
.formulaire input[type="radio"] {
	vertical-align: middle;
}

.formulaire .table li > div input[type="checkbox"],
.formulaire .table li > div input[type="radio"] {
	margin: .2778em .5556em .2778em .2778em;
}

.formulaire .table li > div label {
	width: auto;
	display: block;
	padding: .2778em .5556em .2778em .2778em;
}

.formulaire label,
.formulaire .label {
	color: rgba(0, 0, 0, .7);
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.full-width {
	width: 100%;
}

.half-width {
	width: 50%;
}

.required:after {
	content: ' *';
	color: var(--required-color);
}

.icon-right {
	margin-right: 0;
	margin-left: 8px;
}

[hidden] {
	display: none !important;
}

.mdc-button {
	font-size: 1em;
}

.ui-datepicker-trigger {
	margin-left: .5em;
}


/*
 * Partie confirmation
 */

.message-confirmation {
	background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6IiBmaWxsPSIjNWJhNDAwIi8+PC9zdmc+') no-repeat 0 1.5em;
	background-size: 6em;
	padding: 1em 0 1em 8em;
}

.message-confirmation > :first-child {
	margin-top: 0;
}

.message-confirmation .texte-grand {
	font-size: 1.5em;
}

/* livraison-documents */

@media (max-width: 600px) {
	.groupe-radio-td {
		margin: 0 5px;
	}

	.tab {
		background-color: #fff;
		border-radius: 3px;
		display: block;
		margin: 1em 0;
		max-width: 300px;
		overflow: hidden;
		position: relative;
	}

	.tab label {
		border-radius: 3px;
		color: #3c454c;
		cursor: pointer;
		padding: 12px 30px;
		width: 100%;
		display: block;
		text-align: left;
		position: relative;
		transition: color 200ms ease-in;
		z-index: 2;
	}

	.tab label:before {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		content: "";
		background-color: #383838;
		position: absolute;
		left: 50%;
		top: 50%;
		-webkit-transform: translate(-50%, -50%) scale3d(1, 1, 1);
		transform: translate(-50%, -50%) scale3d(1, 1, 1);
		/* transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1); */
		transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
		will-change: transform;
		opacity: 0;
		z-index: -1;
	}

	.tab label:after {
		width: 30px;
		height: 30px;
		content: "";
		border: 2px solid #d1d7dc;
		background-color: #fff;
		background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.414 11L4 12.414l5.414 5.414L20.828 6.414 19.414 5l-10 10z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E ");
		background-repeat: no-repeat;
		background-position: 4px 4px;
		border-radius: 50%;
		z-index: 2;
		position: absolute;
		right: 30px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		cursor: pointer;
		transition: transform 200ms ease-in;
		will-change: transform;
	}

	.tab input:checked ~ label {
		color: #fff;
	}

	.tab input:checked ~ label:before {
		-webkit-transform: translate(-50%, -50%) scale3d(56, 56, 1);
		transform: translate(-50%, -50%) scale3d(56, 56, 1);
		opacity: 1;
	}

	.tab input:checked ~ label:after {
		background-color: #0f7d00;
		border-color: #0f7d00;
	}

	.tab input {
		width: 30px;
		height: 30px;
		order: 1;
		z-index: 2;
		position: absolute;
		right: 30px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		cursor: pointer;
		visibility: hidden;
	}
}

@media (min-width: 425px) and (max-width: 600px) {

	.tab {
		margin-left: 2em;
		margin-right: 2em;
	}
}


@media (min-width: 601px) {
	/* 
 * Onglets
 * style haut contraste
 */

	.groupe-radio-td {
		bottom: -1px;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		margin: 1em 0 0;
		position: relative;
	}

	.formulaire .tab {
		border-bottom: 0 none;
		border-radius: 4px 4px 0 0;
		background-color: #333;
		font-size: .85em;
		margin: 0 .5em;
		overflow: hidden;
		position: relative;
		text-transform: uppercase;
		width: auto;
	}

	.tab.selected {
		background-color: transparent;
	}

	.formulaire .tab-label {
		color: #fff;
		display: block;
		height: 3em;
		line-height: 3em;
		overflow: hidden;
		padding: 0 1.8em;
		text-overflow: ellipsis;
	}

	.formulaire .tab.selected .tab-label {
		color: rgba(0, 0, 0, .87);
		background: #fff;
		border: 1px solid #d5d5d5;
		border-radius: 4px 4px 0 0;
		border-bottom: 0 none;
	}

	.formulaire .tab.selected .tab-label:after {
		content: ' ';
		position: absolute;
		height: 0;
		left: 0;
		bottom: -1px;
		width: 100%;
		border-bottom: 1px solid #fff;
	}

	.fieldset-inner {
		background: #fff;
		border: 1px solid #d5d5d5;
		border-radius: .5em;
		margin: 0 0 1em;
		padding: 1.5em 1em 1em;
	}

	/* fin */

	.groupe-radio-td input {
		display: none;
	}
}