body
{
	font-family: Arial;
}

header
{
	width: 100%;
	height: 50px;
	position: absolute;
	top: 0px;
	left: 0px;
}

nav
{
	background-color: rgb(255, 147, 0);
	width: 100%;
	height: 50px;
	position: absolute;
	text-align: center;
}

nav a
{
	height: 50px;
	display: inline-block;
	line-height: 50px;
	vertical-align: middle;
	color: rgb(0, 0, 0);
	text-decoration: none;
	padding-left: 5px;
	padding-right: 5px;
	text-align: center;
}

nav a.home
{
	position: absolute;
	left: 0px;
}

nav a:hover
{
	background-color: rgb(0, 0, 0);
	color: rgb(255, 255, 255);
}

#general-container
{
	width: calc(100% - 20px);
	max-width: 600px;
	position: relative;
	top: 50px;
	margin: auto;
	padding: 10px;
}

form
{
	width: 100%;
	max-width: 600px;
	margin: auto;
	position: relative;
}

h1
{
	text-align: center;
}

label
{
	display: inline-block;
	height: 25px;
	vertical-align: middle;
	line-height: 25px;
	padding: 1px;
	margin: 5px;
}

input[type=text],
input[type=email],
input[type=number],
input[type=date],
input[type=tel],
input[type=submit],
input[type=password],
textarea
{
	display: inline-block;
	width: calc(100% - 20px);
	height: 25px;
	font-size: 16px;
	margin: 5px;
	padding: 2px;
	border: 3px solid rgb(230, 230, 230);
	font-family: Arial;
	border-radius: 5px;
}

input[type=text].input-width-80,
input[type=email].input-width-80,
input[type=number].input-width-80,
input[type=date].input-width-80,
input[type=tel].input-width-80,
input[type=submit].input-width-80,
input[type=password].input-width-80,
textarea.input-width-80,
select.input-width-80
{
	width: calc(80% - 20px);
}

input[type=text].input-width-50,
input[type=email].input-width-50,
input[type=number].input-width-50,
input[type=date].input-width-50,
input[type=tel].input-width-50,
input[type=submit].input-width-50,
input[type=password].input-width-50,
textarea.input-width-50,
select.input-width-50
{
	width: calc(50% - 20px);
}

input[type=text].input-width-33,
input[type=email].input-width-33,
input[type=number].input-width-33,
input[type=date].input-width-33,
input[type=tel].input-width-33,
input[type=password].input-width-33,
input[type=submit].input-width-33,
textarea.input-width-33,
select.input-width-33
{
	width: calc(33.333% - 20px);
}

input[type=text].input-width-20,
input[type=email].input-width-20,
input[type=number].input-width-20,
input[type=date].input-width-20,
input[type=tel].input-width-20,
input[type=password].input-width-20,
input[type=submit].input-width-20,
textarea.input-width-20,
select.input-width-20
{
	width: calc(20% - 20px);
}

textarea
{
	max-width: calc(100% - 20px);
	min-height: 100px;
}

input[type=text]:hover:not(:disabled):not(:focus),
input[type=email]:hover:not(:disabled):not(:focus),
input[type=number]:hover:not(:disabled):not(:focus),
input[type=date]:hover:not(:disabled):not(:focus),
input[type=tel]:hover:not(:disabled):not(:focus),
input[type=password]:hover:not(:disabled):not(:focus),
textarea:hover:not(:disabled):not(:focus)
{
	border-color: rgb(200, 200, 200);
}

input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=date]:focus,
input[type=tel]:focus,
input[type=password]:focus,
textarea:focus,
select:focus
{
	border-color: rgb(255, 147, 0);
	outline: none;
}

input[type=text]:disabled,
input[type=email]:disabled,
input[type=number]:disabled,
input[type=date]:disabled,
input[type=tel]:disabled,
input[type=password]:disabled,
input[type=submit]:disabled,
textarea:disabled
{
	cursor: not-allowed;
	color: rgb(180, 180, 180);
}

input[type=submit]
{
	height: 70px;
	border-radius: 5px;
	background-color: rgb(228, 2, 45);
	border-color: rgb(228, 2, 45);
	color: rgb(255, 255, 255);
	font-size: 20px;
}

.prix-unitaire-champ, .totalLigne-champ
{
	text-align: right;
}

.quantite-champ
{
	text-align: center;
}

/* Source: https://codepen.io/chriscoyier/pen/zYYZaGP*/
select
{
	display: block;
	font-size: 15px;
	line-height: 25px;
	padding: 2px;
	width: calc(100% - 10px);
	box-sizing: border-box;
	margin: 5px;
	border: 3px solid rgb(230, 230, 230);
	border-radius: 5px;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: right .7em top 50%;
	background-size: .65em auto;
}

select::-ms-expand
{
	display: none;
}

.message
{
	text-align: center;
	height: 2.5em;
	line-height: 2.5em;
	border-radius: 5px;
	padding: 3px;
	background-color: rgb(255, 147, 0);
	color: rgb(0, 0, 0);
}

.message:empty
{
	display: none;
}

.toggle-container
{
	text-align: justify;
	margin: 5px;
	background-color: rgb(200, 200, 200);
	width: calc(100% - 10px);
	padding: 5px;
	box-sizing: border-box;
	border-radius: 5px;
}

.toggle-button
{
	cursor: default;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: right .7em top 50%;
	background-size: .65em auto;
}

.toggle-content
{
	display: none;
}

table
{
	border-collapse: collapse;
	width: 100%;
}

.table-designation
{
	width: 64%;
}

.table-prixUnitaire, .table-quantite, .table-prixTotal
{
	width: 12%;
}

table tbody td, table tfoot th
{
	padding: 0px;
	text-align: left;
}

table tfoot
{
	border-top: 3px solid black;
}

table tfoot tr
{
	height: 43px;
}

table tfoot th
{
	font-weight: normal;
	border: none;
}

table input[type=text],table input[type=number]
{
	margin: 0px;
	padding: 0px;
	padding-left: 2px;
	padding-right: 2px;
	height: 43px;
	border: none;
	width: calc(100% - 4px);
}

#arrondi
{
	text-align: right;
}

#sous-total, #totalFinal
{
	padding-right: 2px;
	text-align: right;
}

.resultatsRecherche
{
	margin: auto;
	display: none;
	width: calc(100% - 12px);
	z-index: 10;
	position: absolute;
	background-color: rgb(250, 250, 250);
	border-left: 1px solid rgb(200, 200, 200);
	border-right: 1px solid rgb(200, 200, 200);
	border-bottom: 1px solid rgb(200, 200, 200);
	box-shadow: 0px 5px 5px rgb(200, 200, 200);
}

#resultatsRechercheProduits
{
	max-width: 598px;
}

#resultatsRecherchePersonnes
{
	max-width: 588px;
}

.resultat
{
	width: calc(100% - 4px);
	height: 25px;
	line-height: 25px;
	vertical-align: middle;
	font-size: 15px;
	padding: 2px;
	display: inline-block;
	cursor: pointer;
}

.resultat:hover
{
	background-color: rgb(200, 200, 200);
}

.temoin
{
	background-color: red;
	height: 10px;
	width: 10px;
	border-radius: 50%;
	display: inline-block;
}

.temoin-texte
{
	color: red;
	text-transform: uppercase;
}

.pave-container
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

a.pave
{
	display: inline-block;
	width: 200px;
	height: 200px;
	line-height: 200px;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	background-color: rgb(230, 230, 230);
	border-radius: 5px;
	color: rgb(0, 0, 0);
	margin: 5px;
}

a.pave:hover
{
	background-color: rgb(255, 147, 0);
	color: rgb(0, 0, 0);
}

/* 
Mise en forme des boutons radio

Le bouton doit porter la classe .styled-radio combinée avec .single-line ou .multiline.
On peut combiner ces classes avec .radio-with-bullet pour afficher une image de bouton radio et/ou .positive-value ou .negative-value pour changer la couleur au focus (verte, resp. rouge).
 */


/* Tous les radios */
input[type=radio].styled-radio
{
	display: none;
}

input[type=radio].styled-radio + label
{
	display: inline-block;
	background-color: rgb(230, 230, 230);
	width: 150px;
	height: 50px;
	vertical-align: middle;
	padding: 3px;
	border-radius: 5px;
	border: 3px solid rgb(230, 230, 230);
	position: relative;
	line-height: 1em;
}

input[type=radio].styled-radio:checked + label
{
	border-color: rgb(255, 147, 0);
	background-color: rgba(255, 147, 0, 1);
}

input[type=radio].styled-radio.positive-value:checked + label
{
	border-color: rgb(0, 255, 0);
	background-color: rgba(0, 255, 0, 0.3);
}

input[type=radio].styled-radio.negative-value:checked + label
{
	border-color: rgb(255, 0, 0);
	background-color: rgba(255, 0, 0, 0.3);
}

/* Radios avec texte sur ligne unique */

input[type="radio"].styled-radio.single-line + label
{
	/*! font-size: 20px; */
	line-height: 50px;
	text-align: center;
}

/* Radios avec texte sur plusieurs lignes */

input[type="radio"].styled-radio.multiline + label
{
	height: 80px;
}

input[type="radio"].styled-radio.multiline + label .multiline-title
{
	font-weight: bold;
	display: block;
	text-align: center;
}

/* Radios avec image de bouton radio */

input[type=radio].styled-radio.radio-with-bullet + label .label-text
{
	padding-left: 32px;
	display: inline-block;
}

input[type=radio].styled-radio.radio-with-bullet + label .radio-bullet
{
	display: inline-flex;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 3px solid rgb(200, 200, 200);
	position: absolute;
	left: 3px;
	top: calc(50% - 13px);
}

input[type=radio].styled-radio.radio-with-bullet + label .radio-bullet .bullet
{
	display: inline-block;
 	width: 70%;
 	height: 70%;
	border-radius: 50%;
	margin: auto;
}

input[type=radio].styled-radio.radio-with-bullet:not(:disabled):not(:checked) + label:hover .radio-bullet .bullet
{
	background-color: rgb(200, 200, 200);
}

input[type=radio].styled-radio.radio-with-bullet:not(.positive-value):not(.negative-value):checked + label
{
	border-color: rgb(255, 147, 0);
	background-color: rgba(255, 147, 0, 0.3);
}

input[type=radio].styled-radio.radio-with-bullet:checked + label .radio-bullet
{
	border-color: rgb(255, 147, 0);
}

input[type=radio].styled-radio.radio-with-bullet:checked + label .radio-bullet .bullet
{
	background-color: rgb(255, 147, 0);
}

input[type=radio].styled-radio.radio-with-bullet.positive-value:checked + label .radio-bullet
{
	border-color: rgb(0, 255, 0);
}

input[type=radio].styled-radio.radio-with-bullet.positive-value:checked + label .radio-bullet .bullet
{
	background-color: rgb(0, 255, 0);
}

input[type=radio].styled-radio.radio-with-bullet.negative-value:checked + label .radio-bullet
{
	border-color: rgb(255, 0, 0);
}

input[type=radio].styled-radio.radio-with-bullet.negative-value:checked + label .radio-bullet .bullet
{
	background-color: rgb(255, 0, 0);
}

input[type=radio].styled-radio:disabled + label
{
	cursor: not-allowed;
	color: rgb(180, 180, 180)
}

/*
Mise en forme des cases à cocher
*/

input[type=checkbox].styled-checkbox
{
	display: none;
}

input[type=checkbox].styled-checkbox + label
{
	display: inline-block;
	background-color: rgb(230, 230, 230);
	width: calc(100% - 22px);
	height: 50px;
	line-height: 50px;
	vertical-align: middle;
	padding: 3px;
	border-radius: 5px;
	border: 3px solid rgb(230, 230, 230);
	position: relative;
}

input[type=checkbox].styled-checkbox + label .label-content
{
	padding-left: 32px;
	display: inline-block;
}

input[type=checkbox].styled-checkbox + label .checkbox-box
{
	display: inline-flex;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	border: 3px solid rgb(200, 200, 200);
	position: absolute;
	left: 3px;
	top: calc(50% - 13px);
}

input[type=checkbox].styled-checkbox + label .checkbox-box .checkbox-box-bullet
{
	display: inline-block;
 	width: 70%;
 	height: 70%;
	margin: auto;
}

input[type=checkbox].styled-checkbox:hover:not(:disabled):not(:checked) + label .checkbox-box .checkbox-box-bullet
{
	background-color: rgb(200, 200, 200);
}

input[type=checkbox].styled-checkbox:checked + label
{
	border-color: rgb(255, 147, 0);
	background-color: rgba(255, 147, 0, 0.3);
}

input[type=checkbox].styled-checkbox:checked + label .checkbox-box
{
	border-color: rgb(255, 147, 0);
}

input[type=checkbox].styled-checkbox:checked + label .checkbox-box .checkbox-box-bullet
{
	background-color: rgb(255, 147, 0);
}

input[type=checkbox].styled-checkbox:disabled + label
{
	text-decoration: line-through;
	cursor: not-allowed;
	color: rgb(180, 180, 180)
}

.table-container
{
	overflow-x: scroll;
}