body {
	font-family: 'Source Sans Pro', sans-serif;
	margin: 150px 0;
}
* {
    box-sizing: border-box;
}
.hidden{
	display : none;
	margin : 0;
	padding : 0;
}
form{
	width : 500px;
	margin : 0 auto;
}
input, select, textarea{
	border: 1px solid #d3d3d3;
    border-radius: 2px;
    padding: 5px 10px;
    display: block;
    width: 100%;
    font-size: 16px;
    background: #f3f3f3;
}
textarea{
	height : 130px;
}
.form_ligne{
	width : 100%;
	margin : 5px 0 10px 0;
	position : relative;
}
.form_ligne2{
	width : 180px; 
}
label{
	font-size : 13px;
	display : block;
	padding : 0 0 3px 0;
}
.grow0{
	flex-grow : 1;
	width : auto;
}
.grow1{
	flex-grow : 1;
	width : auto;
	margin-right : 10px;
}
.grow2{
	flex-grow : 2;
	width : 100%;
}

/* checkbox */
.control {
	width: max-content;
    color: #272727;
    display: block;
    position: relative;
    padding-left: 30px;
    margin-bottom: 0px;
    margin-right: 13px;
    margin-left: 20px;
    padding-top: 3px;
    cursor: pointer;
    font-size: 13px;
    font-weight: bold;
}
.control input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.control_indicator {
	position: absolute;
	top: 1px;
	left: 0;
	height: 20px;
	width: 20px;
	background: #e6e6e6;
	border: 0px solid #000000;
	border-radius: 0px;
}
.control:hover input ~ .control_indicator,
.control input:focus ~ .control_indicator {
	background: #cccccc;
}
	
.control input:checked ~ .control_indicator {
	background: #778e9a;
}
.control:hover input:not([disabled]):checked ~ .control_indicator,
.control input:checked:focus ~ .control_indicator {
	background: #0e6647d;
}
.control input:disabled ~ .control_indicator {
	background: #e6e6e6;
	opacity: 0.6;
	pointer-events: none;
}
.control_indicator:after {
	box-sizing: unset;
	content: '';
	position: absolute;
	display: none;
}
.control input:checked ~ .control_indicator:after {
	display: block;
}
.control-checkbox .control_indicator:after {
	left: 7px;
	top: 2px;
	width: 4px;
	height: 9px;
	border: solid #ffffff;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}
.control-checkbox input:disabled ~ .control_indicator:after {
	border-color: #7b7b7b;
}

.ligneflex{
	display : flex;
	width : 100%;
}
.date{
	width : 180px;
	margin-right : 20px;
}
.hr{
	border-top : 1px solid silver;
	padding-top : 5px;
	margin-top : 20px;
}
h2{
	font-size: 14px;
    background: #778e9a;
    max-width: 100%;
    border-radius: 3px;
    padding: 5px;
    margin: 40px 0 10px 0;
    color: #fff;
}
.btn_ajout{
	margin: 5px 0 20px auto;
    border: 0;
    font-size: 14px;
    display: block;
    background: #778e9a;
    color: #fff;
    padding: 5px 10px;
	cursor : pointer;
	width : max-content;
}
.supprimer_structure{
    position: absolute;
    bottom: 5px;
    right: 5px;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    background: #778e9a;
    color: #fff;
    border: 0;
    transform: rotate(45deg);
	cursor : pointer;
	font-weight : bold;
	font-size : 19px;
	padding : 0;
}
p{
	margin: 0 0 15px 0;
    font-size: 14px;
    color: #9b2828;
    text-align: justify;
}
#btn_envoyer{
	background: #122030;
    border: 0;
    color: #fff;
    font-weight: bold;
    font-size: 22px;
    width: max-content;
    margin-left: auto;
    margin-top: 40px;
	padding : 10px 30px;
	border-radius : 25px;
	cursor : pointer;
}
#btn_envoyer:hover{
	background : #1e3651;
}
.erreur_champs{
	border : 1px solid #ff9d9d;
}

.msg{
	padding : 10px;
	background : silver;
	text-align : center;
	margin-top : 20px;
	display : none;
}
.msg_rouge{
	background : #df9090;
}