
/****************************************************
					IMPORTS
****************************************************/

@import url("reset.css");


/****************************************************
					VARIABLES
****************************************************/

:root { 
    --color-action:			#c13;
	--color-action-darker:	#a01;
	--color-text: 			#777;
	--color-grey-xx-light:	#f5f5f5;
	--color-grey-x-light:	#ddd;
	--color-grey-light:		#bbb;
	--color-grey:			#888;
	--color-grey-dark:		#555;
	--color-grey-x-dark:	#222;
}


/****************************************************
					STYLES
****************************************************/

html { 
	font-size: 16px;
}
body { 
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 1rem;
	line-height: 150%;
	font-family: Arial, Helvetica, sans-serif;
	background: white;
	color: var(--color-text);
}
p { 
	font-size: 1rem;
	line-height: 150%;
	margin-bottom: 2rem;
}
strong { font-weight: bold; }
em { font-style: italic; }
h1, h2, h3, h4, h5, h6 { 
	line-height: 100%;
	font-weight: bold;
	color: var(--color-text);
	margin-bottom: 2rem;
}
h1 { 
	font-size: 	2rem;
	text-transform: uppercase;
}
h2 { 
	font-size: 1.5rem;
	text-transform: uppercase;
}
h3 { font-size: 1.25rem; }
h4 { font-size: 1.125rem; }
h5, h6 {font-size: 1rem; }
acronym { 
	cursor: help;
	border-bottom: 1px dotted;
}
code { 
	display: block;
	margin-bottom: 2rem;
	padding: 1.25rem;
	font: 0.75rem "Courier New", Courier, monospace;
	border: 1px dotted;
}
blockquote { 
	margin-bottom: 2rem;
	padding-left: 1.25rem;
	font-style: italic;
	text-align: justify;
}
blockquote p { margin: 0; }
hr { 
	margin: 0;
	margin-bottom: 2rem;
	border: 0;
	height: 2px;
	background-color: var(--color-grey-x-light);
	color: var(--color-grey-x-light);
}
img {
	display: block;
	max-width: 100%;
}


/*	LIENS
----------------------------------------------------*/

a { 
	color: var(--color-action);
	text-decoration: underline;
}
a:hover, a:active { color: var(--color-action-darker); }
a:focus { outline: none; }
a.bouton { 
	clear: both;
	padding: 0.75rem 1.25rem;
	background-color: var(--color-action);
	color: white;
	text-transform: uppercase;
	transition: background-color 0.1s ease;
	border-radius: 3px;
	text-decoration: none;
	font-size: 0.875rem;
}
a.bouton:hover { 
	background-color: var(--color-action-darker);
}
a.action { 
	text-transform: uppercase;
	font-size: 0.875rem;
}


/*	LISTES
----------------------------------------------------*/

ol, ul { 
	margin-bottom: 2rem; 
	list-style-position: inside;
	line-height: normal;
}
ol { list-style-type: decimal; }
ul ul, ol ol { margin-bottom: 0; margin-left: 1.25rem; }
ul.multicol {
	column-count: 3;
	column-gap: 10px;
}

dl { }
dt { font-weight: bold; }
dd { margin: 0 0 1.25rem 1.25rem; }


/*	TABLEAUX
----------------------------------------------------*/

table { 
	margin-bottom: 2rem;
	font-size: 0.8125rem;
	width: 100%;
	border-bottom: 2px solid var(--color-grey-x-light);
	border-collapse: collapse;
	clear: both;
	line-height: 150%;
}
table th, table td {
	padding: 2px 5px;
	padding: 0.25rem;
	text-align: left;
	vertical-align: text-top;
}
table th { border-top: 2px solid var(--color-grey-x-light); }
table td { border-top: 1px solid var(--color-grey-x-light); }

.pagination {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: var(--color-text);
  background-color: white;
  border: 1px solid var(--color-grey-x-light);
  padding: 0.1875rem 0.625rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.pagination_active {
	background-color: var(--color-grey-xx-light);
}
.pagination:hover {
	background-color: var(--color-grey-x-light);
}
table input {
	font-size: .75rem;
	margin: 0;
}

/*	FORMULAIRES
----------------------------------------------------*/

form { 
	margin-bottom: 2rem;
	font-size: inherit;
}
form ul {
	list-style: none;
}
fieldset { 
	padding: 0;
	margin: 0 0 1.25rem;
	border: none;
}
legend { 
	padding: 3rem 0 0.5rem;
	margin-bottom: 1.25rem;
	display: block;
	width: 100%;
	border-bottom: 1px solid var(--color-grey-x-light);
	font-size: 1.25rem;
	font-weight: bold;
}
label { 
	display: block;
	margin-top: 1rem;
	color: var(--color-text);
	clear: both;
}
legend + label { 
	margin-top: 0;
}
input, select, textarea { 
	display: block;
	padding: 6px;
	margin-bottom: 1.25rem;
	width: 100%;
	border: 1px solid var(--color-grey-x-light);
	background-color: white;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;
}
input.auto, select.auto, textarea.auto { 
	width: auto;
}
input.inline, select.inline, textarea.inline {
	display: inline;
}
textarea { 
	height: auto;
}

input[type="submit"] { 
	clear: both;
	margin-bottom: 0;
	padding: 0.75rem 1.25rem;
	width: auto;
	border: none;
	background-color: var(--color-action);
	color: white;
	cursor: pointer;
	text-transform: uppercase;
	transition: background-color 0.1s ease;
	border-radius: 3px;
}
input[type="submit"]:hover { 
	background-color: var(--color-action-darker);
}
input[type="checkbox"] { 
	display: inline;
	width: auto;
}
input:focus, select:focus, textarea:focus { 
	outline: 3px solid var(--color-grey-x-light);
}
label.smallform { 
	float: left;
	width: auto;
	margin-right: 0.75rem;
}
select.smallform { 
	float: left;
	width: auto;
	padding: 0.2%;
}
form input[type="checkbox"] + label, form input[type="radio"] + label { 
	display: inline;
	padding-left: 0.5rem;
	vertical-align: top;
	cursor: pointer;
}
form input:checked + label { 
	color: var(--color-action);
}
.checkboxes input[type="checkbox"] { 
	margin: 0;
}
.checkboxes input[type="checkbox"] + label { 
	padding-left: 0.25rem;
}
a.delete_tag {
	text-decoration: none;
	font-size: 75%;
	vertical-align: top;
}
input[type="submit"].submit_small, form button { 
	padding: 0.375rem 0.5rem;
	background-color: var(--color-grey-xx-light);
	color: var(--color-grey);
	cursor: pointer;
	text-transform: none;
	transition: background-color 0.1s ease;
	border: 1px solid var(--color-grey-light);
	border-radius: 2px;
}

/*	CLASSES DIVERSES
----------------------------------------------------*/

.center { text-align: center; }
.block { display: block; }
.justify { text-align: justify; }
.right { text-align: right; }
.error { 
	padding: 1.25rem 0.75rem;
	color: #F00;
	border: 1px solid #F00;
	border-width: 3px 0;
	background: #FCC;
	font-style: italic;
}
.message { 
	padding: 1.25rem 0.75rem;
	color: #7a1;
	border: 1px solid #7a1;
	border-width: 3px 0;
	background: #ce8;
	font-style: italic;
}
.uppercase { text-transform: uppercase; }
.hidden { display: none; }
.bold { font-weight: bold; }
.italic { font-style: italic; }
.clear { clear: both; }
p.small { font-size: 0.75rem; }


/****************************************************
					MISE EN PAGE
****************************************************/

.grid { 
	display: grid;
	clear: both;
	overflow: hidden;
	gap: 30px;
}
.grid_2 { grid-template-columns: repeat(2, 1fr); }
.grid_2_auto { grid-template-columns: auto auto; }
.grid_3 { grid-template-columns: repeat(3, 1fr); }
.grid_4 { grid-template-columns: repeat(4, 1fr); }


/*	HEADER
----------------------------------------------------*/

header { 
	margin-bottom: 0;
	background-color: var(--color-grey-x-dark);
	color: white;
}

.topmenu { 
	background-color: var(--color-grey-x-dark);
	padding: 0.5rem 0.5rem 0;
	color: var(--color-grey-light);
	text-transform: uppercase;
}
.topmenu a { 
	color: var(--color-grey-light);
}
.topmenu p, .topmenu ul { 
	margin: 0;
	padding: 0;
	font-size: 0.8125rem;
	letter-spacing: 0.1rem;
}
.topmenu p { text-align: left; }
.topmenu ul { text-align: right; }
.topmenu ul li { 
	display: inline-block;
	margin-left: 0.5rem;
	padding-left: 0.5rem;
	border-left: 2px solid #666;
	color: #666;
}
.topmenu ul li:first-child { 
	margin-left: 0;
	padding-left: 0;
	border: none;
}

header nav {
	padding: 0.5rem 0 0 2.5rem;
	text-align: left;
}
header nav ul { 
	margin: 0;
	list-style: none;
}
header nav ul li {
	display: inline;
	margin: 0;
	padding: 0;
}
header nav a { 
	text-transform: uppercase;
	text-decoration: none;
	display: inline-block;
	padding: 0.5rem 0.75rem;
	margin: 0;
	color: white;
	transition: 0.2s ease;
}
header nav a:hover { 
	background-color: var(--color-action);
	color: white;
}
header nav a.active { 
	background-color: white;
	color: var(--color-text);
}


/*	MAIN
----------------------------------------------------*/

main { 
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0;
	padding: 0;
	clear: both;
	overflow: hidden;
}
section#mainlogin { 
	margin: 0 auto;
	width: 20%;
	min-width: 300px;
	padding: 2%;
	background: white;
}



/*	MAIN > CONTENT
----------------------------------------------------*/

section#content {
	padding: 2.5rem;
	background: white;
}


/*	MAIN > ASIDE
----------------------------------------------------*/

aside { 
	padding: 2.5rem;
	background-color: var(--color-grey-xx-light);
}

/*	positions	*/
span.position { 
	display: block;
	float: left;
	width: 1rem;
	height: 1.25rem;
	line-height: 1.25rem;
	text-align: center;
}
a.deplace_haut, a.deplace_bas { 
	display: block;
	width: 1rem;
	height: 1.25rem;
	background: url(../images/deplace.png) left bottom no-repeat;
	transition: background 0.2s ease;
}
a.deplace_haut { background-position: right top; }
a.deplace_haut:hover { background-position: right bottom; }
a.deplace_bas:hover { background-position: left top; }


/*	FOOTER
----------------------------------------------------*/

footer { 
	clear: both;
	padding: 1.25rem 0;
	width: 100%;
	background: #ccc;
}

footer ul li { 
	float: left;
	margin-right: 0.75rem;
}
