.form {
	padding:4em;
}
.form.min-padding{
	padding:2em;
}

.form.max-large{
	width:1000px;
}

.form.max1210-large{
	width:1210px;
}

.form h1{
	font-size: 150%;
	line-height: 1;
	text-align: center;
}

fieldset{
	border: none;
	padding-top:3em;
	margin-top:2em;
	/*border-radius: .2em;
	padding:3em;*/
}
fieldset legend{
	color:#ffffff;
    background-color: #8b4e9d;
    padding: 0.4em 1em;
	width: 100%;
	border-radius: .2em;	
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.form div.line{
	margin-bottom: 2.5em;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
	background-color: white;
	/*position: relative;*/
}
.form .line-100 div.line label,
.form .line-100 div.inputDiv{
	width: 100%;
}
.form .line-100 div.line label{
	text-align: center;
	margin-bottom: .6em;
}
.form .line-100 .line.cloned div.inputDiv{
	margin-bottom: 2em;
}

.form div.line.error-obl{
	box-shadow: 0px 0px 6px #feacac;
    background-color: #fff8f8;
	border-radius: 0.2em;
}

.checkbox-flex{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.checkbox-flex input{
	margin: 0 1em;
}

/*
.form div.line.remuneration,
.form div.line.remuneration *{
	font-family: 'Ubuntu Condensed', 'Ubuntu', sans-serif;
	letter-spacing: -0.05em;
}
*/
.form div.line.remuneration{
	margin-bottom: 1em;
	margin-left: 1em;
}
.form div.line.remuneration input,
.form div.line.remuneration select{
	margin:0 .5em;
}
.form div.line.remuneration input[type="date"]{
	width: auto;
}
/*
fieldset div:last-child{
	margin-bottom: 0;
}
*/

.closable{
	display: block;
	max-height: 500px;
	opacity: 1;
    transition: max-height 0.25s ease-in,
				opacity .45s;
}

.closed{
	transition: max-height 0.25s ease-out,
				opacity .2s;
	max-height: 0;
	opacity: 0;
    overflow: hidden;
}

.form p{
	margin-bottom: 2em;
	background-color: white;
}

.form p.w40{
	width: 40%;
    text-align: right;
    padding-right: 1.5em;
}

#form-header{
	display:flex;
	flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
	margin-bottom: 1em;
}

.form-logo{
	background-image:url(../img/logo-cfa.png);
	background-repeat:no-repeat;
	background-size: contain;
	background-position: center;
	width:115px;
	height:115px;
}
#form-logo-univ{
	background-image:url(../img/logo-univ.png);
}


.form b{
	font-weight: 500;
}
.form strong{
	font-weight: 700;
	color: #000000;
}

.form div.inputDiv{
	width: 60%;
}

.form div.inputDiv.ouinon{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
	padding-left:.7em;
	position: relative;
}
.form div.inputDiv.ouinon input{
	/*width: auto;
	transform: scale(1.6);*/
	margin-right:1em;
}
.form div.inputDiv.ouinon label{
	text-align: left;
	width: auto;
	margin-right: .5em;
}
.form div.inputDiv.ouinon label.error{
	position: absolute;
	right:0;
}

.form div.inputDiv.ouinon input:hover,
.form div.inputDiv.ouinon input:focus {
    border-color: rgba(13, 27, 219, 0.8);
    outline: 0;
    outline: thin dotted \9;
    /*-webkit-box-shadow: none;*/
}

.form input,
.form textarea,
.form select{
	width: 100%;
	padding: 5px;
}
.form label{
	width:40%;	
	padding-right: 1.5em;
	display: inline-block;
	line-height: 1.2;
	text-align: right;
}
.form .checkbox_line{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 0.5em;
}
.form .checkbox_line label{
	width: unset;
	padding: unset;
	padding-left: 1.5em;
	text-align: left;
}

/* ID DANS SECTION */
.contains-select-condensed .select2-selection__choice__display,
#form-depot-offre .select2-selection__choice__display{
	font-size: 80% !important;
	font-family: 'Ubuntu Condensed', 'Ubuntu', sans-serif;
	margin-left: .5em;
}
/* CLASS DANS BODY */
.form-depot-offre .select2-results__option,
.offres-liste .select2-results__option,
.logement-aide-login .select2-results__option,
.contains-select-condensed .select2-results__option{
    white-space: nowrap !important;
	font-size: 80% !important;
	font-family: 'Ubuntu Condensed', 'Ubuntu', sans-serif;

	white-space: normal !important;
	line-height: 1.4;
}

.select2-results__option {
	padding: .85em !important;
}

.contains-select-condensed .select2-container--default .select2-selection--multiple .select2-selection__choice {
    line-height: 1.7;
	max-width: 31.5%;
}

.contains-select-condensed .select2-container--open .select2-dropdown--below,
.form-depot-offre .select2-container--open .select2-dropdown--below,
.offres-liste .select2-container--open .select2-dropdown--below,
.contains-select-condensed .select2-container--open .select2-dropdown--above,
.form-depot-offre .select2-container--open .select2-dropdown--above,
.offres-liste .select2-container--open .select2-dropdown--above {
    /*width: auto !important;*/
}
.form-depot-offre .select2-results__option--disabled,
.offres-liste .select2-results__option--disabled {
    /*display: none;*/
}
.contains-select-condensed .select2-results__option.BUT:last-child,
.form-depot-offre .select2-results__option.BUT:last-child,
.offres-liste .select2-results__option.BUT:last-child,
.logement-aide-login .select2-results__option.BUT:last-child
{
    margin-bottom: 1em;
}

.select2-results__option--disabled{
	border-bottom: 1px dotted;
	line-height: 1 !important;
	padding: 2em 0 0 0 !important;
	margin: 0 auto 2em auto !important;
	width: 90%;
}
.select2-results__options > .select2-results__option--disabled:first-child{
	display: none;
}


.form input.size-auto,
.form textarea.size-auto,
.form select.size-auto,
.form div.inputDiv.size-auto{
	width: auto;
}

.form ul{
	list-style-type: none;
	list-style-position: inside;
}

.inter-inputs{
	margin-right:1em;
	margin-left:1em;
}

.form input[type="checkbox"] {
	appearance: none;
	background-color: #fff;
	width: 1.15em;
	height: 1.15em;
	border: 0.12em solid currentColor;
	border-radius: 25%;
	background-clip: content-box;
	padding: 2px;
}

.form input[type="checkbox"]:checked {
	background-color: #2d67d3;
}

.form input[type="radio"] {
	appearance: none;
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: currentColor;
	width: 1.15em;
	height: 1.15em;
	border: 0.12em solid currentColor;
	border-radius: 50%;
	display: grid;
  	place-content: center;
}
.form input[type="radio"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em #2d67d3;
	/* Windows High Contrast Mode */
	background-color: CanvasText;
}
.form input[type="radio"]:checked::before {
	transform: scale(1);
}
.form input[type="radio"]:focus {
	outline: max(2px, 0.15em) solid currentColor;
	outline-offset: max(2px, 0.15em);
}

.form input.checkbox{
	/*width: initial;
	transform: scale(1.8);*/
	margin-left:1em;
	margin-right:.1em;
	margin-bottom: -0.15em;
}
.form input.checkbox-label{
	margin-bottom: -0.15em;
}
.form label.checkbox{
	width: initial;
	margin-left:1em;
}

.form label i{
	font-size: 70%;
}

.form label i a{
	font-weight: 700;
	color:#4274b4;
	text-decoration: underline;
}
.form label i a:hover{
	color:#102947;
	text-decoration: none;
}

.form .label-child{
	width:auto;	
	margin-left: 1.5em;
}

.form .textarea-missions{
	min-height:20em;
}

.form p.info-detail{
	padding: 2em;
    background-color: #f0faff;
	font-size: 94%;
}

/* ERRORS */

h2.errorMessage{
	background-color: #ee0000;
	color: white;
	text-align: center;
	font-size: 110%;
	font-weight: 500;
	border-radius: .2em;
	padding: 0.4em 1em;
}

label.error {
    color: red;
    display: inline-block;
    font-size: 90%;
	padding-right: 0;
    line-height: 2;
    text-align: left;
    padding-left: 0.5em;
	width: auto;
	/*position: absolute;*/
    /*
	margin-top: 5px;
	bottom: -1.9em;
	margin-left: 40%;
    width: 60%;*/
}
.inline label.error {
    margin-left: 1.5em;
    width: auto;
}

input.error {
    border: 1px dashed red;
    color: red;
}
input.checkbox.error{
	box-shadow: red 0 0 3px;
}

h5.importantInfo{
	color: rgb(189, 0, 0);
	font-weight: 600;
}
h5.importantInfo .normal{
	font-weight: 400;
}

.pink{
	color: var(--main-pink);
}

/* FORM SIZES */

.form .size-auto{
	width: auto;
	box-sizing: content-box;
}
.form .size-2{
	width: 2em;
	box-sizing: content-box;
}
.form .size-3{
	width: 3em;
	box-sizing: content-box;
}
.form .size-5{
	width: 5em;
	box-sizing: content-box;
}
.form .size-10{
	width: 10em;
	box-sizing: content-box;
}
.form .size-15{
	width: 15em;
	box-sizing: content-box;
}
.form .size-20{
	width: 20em;
	box-sizing: content-box;
}
.form .size-30{
	width: 30em;
	box-sizing: content-box;
}
.form .size-50{
	width: 50em;
	box-sizing: content-box;
}

/* MASQUER LES CONTROLES DES INPUT NUMBER */
/* Chrome, Safari, Edge, Opera */
.form input::-webkit-outer-spin-button,
.form input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
.form input[type=number] {
  -moz-appearance: textfield;
}

/* UPLOAD */

.form .drop-container {
	position: relative;
	display: flex;
	gap: 10px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 200px;
	width: 70%;
    margin: 0 auto;
	padding: 20px;
	border-radius: 10px;
	border: 2px dashed #555;
	color: #444;
	cursor: pointer;
	transition: background .2s ease-in-out, border .2s ease-in-out;
  }
  
  .drop-container:hover {
	background: #eee;
	border-color: #111;
  }
  
  .drop-container:hover .drop-title {
	color: #222;
  }
  
  .drop-title {
	color: #444;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	transition: color .2s ease-in-out;
  }
  
  input[type=file] {
	width: 350px;
	max-width: 100%;
	color: #444;
	padding: 5px;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #555;
  }
  
  input[type=file]::file-selector-button {
	margin-right: 20px;
	border: none;
	background: #084cdf;
	padding: 10px 20px;
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	transition: background .2s ease-in-out;
  }
  
  input[type=file]::file-selector-button:hover {
	background: #0d45a5;
  }


/* INFOBULLES */

.infomark{
	color:#2d67d3;
	padding:.3em;
}
.asterisk{
	color:#ee0000;
	padding:.3em;
}


/* ARIANE */

#form-ariane{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    margin: 2em 0;
    background-color: #ebf3fb;
    padding: 0.5em 0.3em;
    border-radius: 0.2em;
	font-size: 90%;
}

#form-ariane a{
	background-color: #b9d3f3;
	color: #365172;
    padding: 0.5em 0.7em;
    border-radius: 0.2em;
	font-size: 85%;
	white-space: nowrap;
}
#form-ariane a:hover{
	background-color: #527197;
	color: white;
}
#form-ariane a.ariane-selected{
	background-color: #365172;
	color: #ffffff;
}
#form-ariane a.ariane-unclickable{
	pointer-events: none;
	opacity: .5;
}

#form-ariane div:not(:last-child){
	margin-right: 1.1em;
}

#form-ariane div:not(:last-child):after{
	content: "\f101";
	font-weight: 400;
    font-family: "Font Awesome 6 Pro";
    transform: scale(.6) translateX(0.2em);
    position: absolute;
    color: #88a4c7;
}

.form-ca-doc-liste{
	display: flex;
    padding: 1em;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: center;
    align-items: flex-start;
	color: green;
}

.form-ca-doc{
	display:block;
	padding-left: 1.5em;
}

.form-ca-doc:before{
	content:"\f00c";
	font-weight: 900;
    font-family: "Font Awesome 6 Pro";
	padding-right: .5em;
}

.infoInput{
	font-size: 90%;
	color:rgb(62, 120, 93);
	display: block;
}



/* Breakpoints */
@media (max-width: 1000px) {
	.form.max-large{
		width:100%;
	}
}
@media (max-width: 1079px) {
	.form p{
		text-align: center;
	}
	.form {
		padding:1em;
	}
	.form.max-large{
		width: 100%;
	}
	.inline{
		margin-top: 2em;
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-content: center;
		justify-content: flex-start;
		align-items: center;
	}
	.form div.line {
		flex-direction: column;
	}
	.form label,
	.form .label-child{
		width: 100%;
		text-align: center;
		padding-right: 0;
		margin-top:.5em;
		margin-bottom:.5em;
		margin-left: 0;
	}
	.form div.inputDiv {
		width: 100%;
		text-align: center;
	}
	.form label.error{
		width: initial;
		text-align: center;
		margin:0;
		display:block;
	}
	.form div.inputDiv.ouinon {
		justify-content: center;
	}
	.form div.inputDiv.ouinon label{
		margin-right: 2em;
	}
	.form div.inputDiv.ouinon label.error{
		position: absolute;
		right: unset;
		left: 0;
		width: 100%;
		text-align: center;
		top: 2.3em;
	}
	#form-ariane{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-content: flex-start;
		justify-content: flex-start;
		align-items: flex-start;
		margin: 2em 0;
	}
	#form-ariane div{
		margin: .4em 1em .4em 0;
	}
	#form-ariane div:last-child{
		margin-right: 0;
	}

	/* SELECT 2 */

	.select2-container {
		width: 100% !important;
	}

	.contains-select-condensed .select2-container--open .select2-dropdown--below,
	.form-depot-offre .select2-container--open .select2-dropdown--below,
	.offres-liste .select2-container--open .select2-dropdown--below,
	.logement-aide-login .select2-container--open .select2-dropdown--below,
	.contains-select-condensed .select2-container--open .select2-dropdown--above,
	.form-depot-offre .select2-container--open .select2-dropdown--above,
	.offres-liste .select2-container--open .select2-dropdown--above,
	.logement-aide-login .select2-container--open .select2-dropdown--above
	{
		width: 92vw !important;
	}

	.form-depot-offre .select2-results__option,
	.offres-liste .select2-results__option,
	.logement-aide-login .select2-results__option,
	.contains-select-condensed .select2-results__option
	{
		white-space: normal !important;
		line-height: 1.4;
	}

	.select2-results__option {
		padding: .75em !important;
	}
}