html { 
	height: 100%
}
body {
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	height: 100%;
	margin: 0px;
	padding: 0px;
}
.s5 { margin-left: 10px }
button.active { color: white; background-color: #259908 }
/* Content */
.main {
	height: 100%;
	display: flex;
	flex-direction: column;
}
aside a.active {
	background-color: #c4c4ff;
}
/* Trash */
.trash {
	color: red;
}
.hidden,
.notrash .trash {
	display: none !important;
}
/* Menu */
.popup {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 10px;
	border-top: 2px solid white;
	border-bottom: 2px solid white;
	cursor: pointer;
	margin-right: 10px;
}
.popup:before {
	content: ' ';
	position: absolute;
	top: 4px;
	left: 0px;
	height: 2px;
	width: 20px;
	background-color: white;
}
.collapse {
	display: none;
}
@media screen and (min-width: 1024px) {
	.popup {
		display: none;
	}
	.collapse {
		display: block;
	}
}
/* Login */
.login {
	border: 1px solid silver;
	border-radius: 50px;
	box-shadow: 4px 4px 8px 0px silver;
	background: url(food.png) no-repeat center 40px;
	padding: 420px 150px 40px 150px;
	width: 262px;
	margin: auto;
	margin-top: 10px;
	position: relative;
}
.login>label {
	display: block;
	position: relative;
	padding: 10px;
}
.login>label>input {
	width: 50%;
	position: absolute;
	left: 50%;
	padding: 5px;
	border: 1px solid silver;
	box-sizing: border-box;
}
.login>button {
	display: block;
	width: 50%;
	position: relative;
	margin: 10px 0px;
	left: 50%;
}
@media screen and (max-width: 500px) {
	.login {
		padding: 420px 15px 4px 15px;
		border-radius: 10px;
		background-position-y: 10px;
	}
}
/* Erreur */
.error {
	background-color: orange;
}
.warning {
	color: red !important;
}
.deleted {
	color: red;
	text-decoration: line-through;
}
/* title */
h1 {
	background-color: #7676bc;
	color: white;
	margin: 0px;
	padding: 10px;
	font-size: 1em;
	font-weight: normal;
}
h1>span {
	font-weight: bold;
}
h2 {
	margin: 0px 0px 10px 0px;
	border-bottom: 1px solid #7676bc;
	font-size: 1em;
	font-weight: normal;
}
/* Wrapper */
.main>.wrapper {
	display: flex;
	height: 100%;
}
/* Menu */
.main>.wrapper>aside {
	width: 200px;
	background-color: #eee;
}
.menu>a {
	display: block;
	text-decoration: none;
	background-color: #ddd;
	margin: 5px;
	padding: 10px;
	color: darkblue;
}
/* main article */
.main>.wrapper>article {
	padding: 10px;
	flex: 1;
	display: flex;
}
/* Flex */
.rows {
	/*display: flex;
	flex-direction: column;*/
	overflow: auto;
}
.columns {
	display: flex;
	width: 700px;
	overflow: auto;
}
.columns .cols {
	flex: 1;
	border: 1px solid #eef;
}
.columns .col>input {
	flex: 5;
}
.columns .cols>span {
	background-color: #eef;
	font-weight: bold;
	padding: 2px;
	margin: 1px;
	cursor: pointer;
}
.center { align-items: center }
.cols {
	display: flex;
	flex-direction: column;
}
.col {
	display: flex;
	align-items: center;
	padding: 5px;
}
.col>span {
	flex: 70;
}
.col>span:first-child,
.col>label {
	flex: 30;
}
.col>select,
.col>input,
.col>textarea {
	flex: 70;
	padding: 5px;
	border: 1px solid silver;
}
.col>.colorpicker {
	height: 1em;
	padding: 5px;
	cursor: pointer;
}
.col>div {
	flex: 70;
	border: 1px solid silver;
	display: flex;
	padding: 3px;
}
.col>div>span {
	flex: 1;
}
.col>div>button {
	flex: 0 0 28px;
	margin: -4px;
}
#articlesPoste .columns {
	flex-wrap: wrap;
	flex-direction: column;
}
.cnx {
	display: flex;
	flex-direction: column;
	border: 1px solid silver;
}
.cnx .table {
	font-weight: bold;
	background-color: #eee;
	border-bottom: 1px solid silver;
}
.cnx .table,
.cnx .ligne {
	display: flex;
}
.cnx span {
	flex: 2;
}
.cnx span:first-child {
	flex: 3;
}
.pages {
	padding: 1px;
	background-color: #eee;
	border-top: 1px solid silver;
}
.pages span {
	padding: 0px 5px;
	margin: 1px;
	border: 1px solid silver;
	background-color: silver;
	font-size: small;
	cursor: pointer;
}
.pages span:hover {
	color: red;
}
.pages span.active {
	background-color: white;
}
/* Boutons */
.boutons {
	display: flex;
	flex-direction: column;
}
.boutons>div {
	display: flex;
	flex-flow: column wrap;
	align-content: flex-start;
	text-align: center;
	height: 0px;
	flex: 1;
}
.bouton {
	width: 150px;
	height: 50px;
	border: 1px solid gray;
	border-radius: 5px;
	margin: 2px;
	display: flex;
    justify-content: center;
    align-items: center;
	cursor: pointer;
	box-sizing: border-box;
}
.bouton.ghost {
	color: gray;
}
.bouton:hover {
	border-width: 5px;
}
#page {
	overflow-y: auto;
}
#page>div {
	flex: 1;
}
#composition {
	max-height: 80%;
}
/* famillePad */
.famillePad {
	border: 1px solid gray;
	margin-top: 5px;
	background-color: white;
}
.padTitle {
	font-weight: bold;
	padding: 5px;
	background-color: #eef;
    display: flex;
    align-items: center;
	border-bottom: 1px solid gray;
}
.padTitle:only-child {
	border-bottom: none;
}
.padTitle div:first-child {
	flex: 1;
}
.famillePad button {
	margin: 5px;
	width: 30px;
	background-color: white;
}
.caisses span {
	flex: 25;
}
.caisses span:first-child {
	flex: 10;
}
.caisses span:nth-child (2) {
	flex: 50;
}
.tarifs {
	display: flex;
	justify-content: flex-end;
	text-align: center;
}
.tarifs span {
	width: 80px;
	border: 1px transparent;
	padding: 6px;
}
.tarifs input {
	width: 80px;
	height: 20px;
	margin: 5px;
	border: 1px solid gray;
}
/* Tables */
table.list {
	border: 1px solid gray;
    cursor: pointer;
    padding: 0px;
    border-collapse: collapse;	
}
table.list th {
  border-bottom: 1px solid gray;
	padding: 0px 10px;
}
table.list tr:hover td {
	color: white;
	background-color: #8080FF;
}
table.list tr.canceled {
	color: red;
}
table.list tr.canceled td:nth-child(3) {
	text-decoration: line-through;
}
table.list tr.total {
	border-top: 1px solid gray;
}
table.list tr.total td {
	color: black;
	background-color: white;
}
/* Familles */
#familles th {
	text-align: left;
	font-weight: normal;
}
#familles th:nth-child(1) {
	width: 10px;
}
#familles th:nth-child(2) {
	width: 290px;
	color: red;
}
#familles th:nth-child(3) {
	width: 100px;
}
.list {
  background-color: white;
}
.caisses .detail span {
	flex: 25;
}
.caisses .detail span:first-child {
	flex: 75;
}
.detail+.listItem {
	border-top: 1px solid gray;
}
.caisses .detail,
.listItem {
  display: flex;
  padding: 5px;
 -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
	
}
.listItem div:first-child {
	flex: 1;
}
.menuitems {
	padding-left: 30px;
}
.drag.listItem {
	border: 1px solid gray;
}
.list:not(.dragging) .listItem:hover {
	color: white;
	background-color: #8080FF;
	cursor: pointer;
}
.category,
.article span {
	display: block;
	font-weight: bold;
}
.poste span {
	margin-left: 20px;
}
.dragList {
	display: flex;
}
.dragList .famillePad {
	width: 250px;
	margin-right: 5px;
}
.dragList .listItem:not(.trash) {
	display: flex;
}
.dragList .listItem span {
	flex: 1;
}
.dragList .listItem span:first-child {
	flex: 3;
	font-weight: bold;
}
#acL,
#paL {
	white-space: pre
}
/************/
table.calendar {
    border: 1px solid gray;
}
table.calendar .month {
	width: 60%;
}
table.calendar  .year {
	width: 40%;
}
table.calendar td {
    text-align: right;
	padding: 2px 4px;
}
table.calendar tr.day td {
    font-weight: bold;
	text-align: center;
}
table.calendar td.a {
	cursor: pointer;
}
table.calendar td.e {
	color: gray;
}
table.calendar td.a:hover {
	background-color: red;
	color: white;
}
table.calendar td.x {
	color: silver;
}
table.calendar td.today {
    background-color: silver;
}
.drag {
	position: absolute;
	opacity: 0.5;
}
.drag td {
	display: block;
	border: 1px solid gray;
}
.tabs {
	display: block;
	padding: 0px 0px 1px 5px;
	border-bottom: 1px solid gray;
	margin: 0px;
	user-select: none;
}
.tabs>* {
	display: inline;
	border: 1px solid gray;
	background-color: #c0c0f0;
	text-align: center;
	padding: 1px 10px;
	margin: 2px;
	cursor: pointer;
}
.tabs>*.active {
	background-color: white;
	padding: 1px 10px;
	border-bottom: 1px solid white;
	border-top: 2px solid orange;
}
table.recette  td {
	padding: 0px 10px;
}
table.recette  td:nth-child(n+2) {
	text-align: right;
}
table.commandes td:nth-child(n+3) {
	text-align: right;	
}
table.tickets {
	border: 1px solid gray;
	cursor: pointer;
}
table.tickets th {
	border-bottom: 1px solid gray;
	padding: 0px 10px;
}
table.tickets td {
	padding: 2px 4px;
}
table.tickets td:nth-child(n+5) {
	text-align: right;
}
table.ticket td:nth-child(3) {
	text-align: right;
}
table.commande td:nth-child(4) {
	text-align: right;
}
table.produits {
	border: 1px solid gray;
}
table.produits th {
	text-align: left;
	border-bottom: 1px solid gray;
	border-top: 1px solid gray;
}
tr.ticket {
	color: blue;
	cursor: pointer;
	user-select: none
}
tr.ticket:hover {
	background-color: #8080ff;
}
.loupe {
	display: inline-block;
	width: 16px;
	height: 16px;
	background: URL(loupe.gif);
}
table.ouvertures td:first-child,
table.ouvertures td:nth-child(2),
table.ouvertures td:nth-child(5) {
	text-align: center;
}
table.ouvertures td:nth-child(4),
table.ouvertures td:nth-child(n+7) {
	text-align: right;
}
.help {
	font-size: small;
}
.lineSpacer {
	display: flex;
	margin: 0px -5px 5px -5px;
}
.lineSpacer>* {
	margin: 5px;
}
.attestation p {
	padding: 5px 20px;
}
.recettes {
	display: flex;
	flex-flow: wrap;
}
.recettes>table {
	margin: 0px 5px 5px 0px;
}
table.control {
	border: 1px solid gray;
	text-align: right;
	margin: auto;
}
table.control th {
	padding: 2px 5px;
}
.alertes td {
  background-color: orange;
	color: black;
}
.alertes th {
	background-color: black;
	color :white;
}
.alertes button {
	background-color: white;
	font-size: large;
	padding: 2px 5px;
}
table.left3 td:nth-child(n+2) {
	text-align: right;
}
/* inventaire */
tr.title {
	background-color: black;
	color: white;
}
table.stocks th { padding: 5px }
table.stocks td {
	border: 1px solid silver;
	border-left: none;
	border-top: none;
	text-align: right;
}
table.stocks td:first-child {
	text-align: left;
	white-space: pre;
}
.sous_total {
  border-top: 1px solid gray;
  border-bottom: 1px solid gray;
}
#emballage .col>input { flex: 0 0 10px }