body{
	font-family: Lato, sans-serif;
	display: flex;
	flex-direction: column;
	margin: 0;
}
.title{
	height: 75px;
	background-color: #010156;
	color: #fff;
	display: flex;
    justify-content: space-evenly;
    align-items: center;
}
.logo{
	height:75px;
}
.site-grid{
	margin: .5rem;
	display: grid;
	grid-gap: 0 .5rem;
	grid-template-columns: 1fr 250px;
	grid-template-areas:
        "banner banner"
        "top top"
        "comp side-r"
        "footer footer";
}
.container-component, .container-sidebar-left, .container-sidebar-right{
	display:flex;
	flex-direction:column;
	gap: 1rem;
}
.container-component{
    grid-area: comp;
}
.container-sidebar-right{
	grid-area: side-r;
}
.card{
	border: 1px solid #00000004;
}
.card-header{
	padding: 1rem;
	margin: 0;
	background-color: #00000004;
}
.card-body{
	padding: 1rem;
	margin: 0;
}
.mod-menu{
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	row-gap: .5rem;
}
.nav-item a{
	display: block;
	text-align: center;
}
@media screen{
	.print_only{
		display: none !important;
	}
	h1{
		font-size: 2.5rem;
	}
	h2{
		font-size: 2rem;
	}
	h3{
		font-size: 1.75rem;
	}
	h4{
		font-size: 1.5rem;
	}
	h5{
		font-size: 1.25rem;
	}
}
@page {
  size: A4;
  margin-top: 0.5cm;
  margin-left: 2cm;
  margin-right: 1cm;
  margin-bottom: 1cm;

  @bottom-right{
	font-family: Lato, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 13px;
	content: "Page " counter(page) " sur " counter(pages);
  }
  @top-center{
	  content: "";
  }
  @top-left{
	  content: "";
  }
  @top-right{
	  content: "";
  }
  @bottom-left{
	  content: "";
  }
}
@media print{
	.container-sidebar-right, header, .btn, .btn-small, form{
		display: none;
	}
	.site-grid{
		grid-template-columns: 1fr;
		grid-template-areas:
			"banner"
			"top"
			"comp"
			"footer";
	}
	#page_content{
		width: 100%;
	}
	table tr{
		page-break-inside: avoid;
	}
	#page_header {
		width:100%;
		text-align: center;
		position: fixed;
		top: 0;
	}
	#page_footer {
		width:100%;
		margin:auto;
		text-align: center;
		position: fixed;
		bottom: 1cm;
	}
	#print_logo{
		float: left;
		height: 100px;
	}
	#expediteur{
		position: absolute;	
		top: 0;
	}
	#adresse{
		position: absolute;
		top: 4.5cm;
		left: 11cm;
	}
	body{
		font-size: 13px;
	}
	#page_content{
		margin-top: 8cm;
	}
	h1{
		font-size: 18px;
	}
	h2, h3{
		font-size: 16px;
	}
	table{
		border-collapse: collapse;
		width: 100%;
	}
	th, td{
		border:1px solid black;
		padding: 0 5px;
	}
	tr{
		margin: 0px;
	}
}
img, svg{
	vertical-align: middle;
}
h1, h2, h3, h4, h5, h6, p{
	margin-bottom: 10px;
}
h1{
	margin-top: 0;
}
b{
	font-weight: bold;
}
strong{
	font-weight: bold;
	color: #a51f18;
}
a, .btn, .btn-small{
	box-shadow: 2px 2px 4px #000;
	border-radius: .25rem;
}
a, .btn-small{
	display: inline-block;
    color: #010156;
	background-color: #fff;
	padding: .3rem .2rem .2rem .2rem;
	text-decoration:none;
}
table{
	border-collapse: collapse;
}
.h_flex{
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: .5rem;
}
.btn, .nav-item a{
	border: none;
	padding: .5rem;
	text-decoration:none;
	cursor: pointer;
	font-size: 1.2rem;
	line-height: 1.2rem;
}
.btn-primary, .nav-item a{
	color: #fff;
    background-color: #010156;
}
.btn-danger{
	background-color: #a51f18;
    color: #fff;
}
a:hover, .btn:hover, .btn-small:hover{
	box-shadow: none;
}
a:hover, a:focus, .btn-small:hover, .btn-small:focus{
	color: #424077;
	background-color: #ddd;
}
.btn-primary:hover, .btn-primary:focus, .nav-item a:hover, .nav-item a:focus{
    background-color: #424077;
	color: #fff;
}
.btn-danger:hover, .btn-danger:focus{
	background-color: #8c1a14;
	color: #fff;
}
nav{
	position: relative;
}
.grid_h{
	font-weight: bold;
	text-align: center;
}
.grid_tab{
	display: inline-grid;
	gap: 10px 15px;
	align-items: center;
}
.grid_tab form{
	display: contents;
}
.form_grid{
	display:grid;
	grid-template-columns:auto 1fr auto 1fr;
	column-gap:.5rem;
	row-gap:10px;
	align-items:center;
}
.wide_2{
	grid-column-end:span 2;
}
.wide_3{
	grid-column-end:span 3;	
}
.wide_4{
	grid-column-end:span 4;
}
.line_table tr:hover {
    background-color: #aaf;
}
.line_table td, .line_table th{
	border-bottom: 1px solid #ddd;
    padding: 5px;
}
.nth_table tr:nth-child(even) {
    background-color: #f2f2f2;
}
.nth_table td:first-child, .nth_table th:first-child{
    padding: 5px 20px 5px 5px;
}
.nth_table td:last-child, .nth_table th:last-child{
    padding: 5px 5px 5px 20px;
}
.nth_table td, .nth_table th{
    padding: 5px 20px;
}
input, select, textarea{
	font-family: Lato, sans-serif;
	font-size:1rem;
	padding:.3rem .5rem;
	border-radius: .25rem;
    border: 1px solid #dfe3e7;
	box-sizing:border-box;
}
textarea{
	height:5.3rem;
}
.btn.jmodedit{
	position: absolute;
	right: .5rem;
}
[role=tooltip]:not(.show){
    color: #000;
    text-align: start;
    background: #fff;
    border: 1px solid #6d757e;
    border-radius: .25rem;
    max-width: 100%;
    margin: .5em;
    padding: .5em;
    position: absolute;
    display: none;
    right: 2em;
    box-shadow: 0 0 .5rem #000c;
}
:focus+[role=tooltip], :hover+[role=tooltip] {
    display: block;
}
.visually-hidden{
	display: none;
}
.chf{
	text-align: right;
}
.strike{
	text-decoration: line-through #a51f18 3px;
}
.list-unstyled{
	list-style: none;
	padding: 0;
}
.text-muted{
	color: #22262abf;
}
.w-100{
	width: 100%;
}
fieldset{
    border: 1px solid #ddd;
	border-radius: 10px;
    margin: .5rem 0 0 0;
}
.input-group{
	display: flex;
	flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}
.input-group>:not(:last-child){
	border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group>:not(:first-child){
	border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group-text{
	background-color: #00000004;
	align-items: center;
	padding: .5rem;
	border-radius: .25rem;
}
.input-group .form-control{
	flex: auto;
	width: 1%;
}
.input-group .btn{
	box-shadow: none;
}
.mod-list {
    list-style: none;
}
/*special elements*/
.breadcrumb {
    background-color: #00000004;
    margin-bottom: 0;
	flex-wrap: wrap;
    list-style: none;
    display: flex;
	padding: .5rem;
}
dd{
	margin-inline-start: .5rem;
}
.plg_system_webauthn_login_button svg {
    width: 30px;
}
.fa-fw, .icon-fw{
    width: 1.25em;
	font-size: 1rem;
}
.form-group{
	margin-bottom: 5px;
}