/* ---------- GENERAL STYLES ---------- */

article,
aside,
details,
figcaption,
figure,pr
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
video {
	display: inline-block;
}

html {
	font-size: 100%;
	height: 100%;
}

body {
	background-color: white;
	color: #ddd;
	font-family: arial, helvetica, sans-serif;
	font-size: 0.97em;
	line-height: 1.2em;
	margin: 0;
	min-height: 100%;
}

h1 {
	font-size: 2em;	
	margin: 20px 0;
}

h2 {
	font-size: 1.5em;
	font-family: "Courrier New", monospace; 
	font-variant: small-caps;
}

h3 {
	font-size: 1.4em;
	font-style: italic;
	font-family: Georgia, Times, "Times New Roman", serif;
	margin-top: 50px;
}

h4 {
	font-size: 1.3em;
	font-style: italic;
	font-family: Georgia, Times, "Times New Roman", serif;
}

h5 {
	font-size: 0.8em;
}

h6 {
	font-size: 0.7em;
}

a {
	text-decoration: underline;
	/*border-bottom: none ;*/
	/*background-color: #ddd;*/
	color: #0782c1;
	
}

a:hover {
	text-decoration: none;
	/*border-bottom: none;*/
	/*background-color: transparent;*/
	color: #0782c1;
	text-decoration: none;
	
}

.linklevel2 a {
	color: gray;
	border-bottom: gray dashed 1px;
	/*background-color: transparent;*/
	text-decoration: dashed;
}

.linklevel2 a:hover {
	color: gray;
	/*text-decoration: none;*/
	border-bottom: none ;
	/*background-color: gray;*/
		
}

.nohover a:hover {
	color: #ddd;
	/*text-decoration: none;*/
	border-bottom: none ;
	/*background-color: gray;*/
		
}
		
ol,
ul {
	padding-left: 0;
}

dd,
li {				/* on réinitialise le style de liste (on ne veut pas de puces en général) */
	margin-bottom: 5px;
	margin-left: 20px;
	overflow: hidden;
	list-style: none;
	margin-left: 0;
}

mark {
	background-color: yellow;
	padding:0 5px;
}

code,
pre,
samp,
kbd {
	font-family: monospace, serif;
	padding: 5px 10px;
	display: block;
	background-color: #444;
	color: #ddd;
	font-size: 0.8em;
	box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -5px;
}

sub {
	bottom: -5px;
}

blockquote {
	margin-left: 50px;
	padding-left: 10px;
	border-left: gray solid 1px;
	font-size: 0.9em;
}

img {
	border: none;
	height: auto;
	max-width: 100%;
}

figure {
	margin: 0;
}

hr {
	height: 1px;
	background-color: black;
	border: 0;
}

fieldset {
	border: none;
	margin: 0;
	padding: 0;
}

legend {
	border: none;
	padding: 0;
}

label {
	cursor: pointer;
	display: inline-block;
	margin: 0;
	vertical-align: middle;
}

button,
input,
select,
textarea {
	cursor: pointer;
	font-family: inherit;
	font-size: 100%;
	max-width: 400px;
	outline : none;
	width: 100%;
}

button,
input,
select {
	height: 30px;
	padding: 0 5px;
	vertical-align: middle;
}

textarea {
	overflow: auto;
	padding: 5px;
	vertical-align: top;
}

button[disabled],
input[disabled] {
	cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
	margin: 0;
	width: auto;
}

table {
	/*border: 1px solid black;*/
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

caption {
	padding: 5px;
}

th, td {
	/*border: 1px solid gray;*/
	padding: 10px;
}

* {
	-moz-box-sizing : border-box;
	-webkit-box-sizing : border-box;
	box-sizing : border-box;
}

.content {
	clear: both;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Classe générique pour afficher un message d'info sur le site (insérer dans le code html du billet) */
.info_msg, .info_msg a { color: #ff6600; }
.info_msg a { border-bottom: dashed 1px #ff6600; }
.info_msg a:hover { color: #ddd; background-color: #ff6600; }


/* ---------- HEADER ---------- */

.headercontent {
	clear: both;
	padding: 0 0px;
	overflow: hidden;
}

header {
	background-color:#f9f9f9;
	color: #444;
	padding: 0px 0;
}

body > header h1 {
	font-size: 2.2em;
	margin: 0;
}

header h1 a {
	color: #444;
}

header h2 {
	font-size: 1em;
	margin: 0;
	font-weight: normal;
}



/* ---------- NAV ---------- */

nav {
	/*background-color: #222;*/
	color: #ddd;
	padding: 15px 0;
	/*border-bottom: #ddd solid 2px;*/
	font-size: 0.9em;
	letter-spacing: 3px;
	font-family: Georgia, "Liberation Serif", FreeSerif, serif;
	text-transform: uppercase;
	/*height: 50px;*/
	max-width: 80%;
	width: 1025px;
	margin: 0 auto;
}


nav li {
	margin: 0 0;
	list-style-type: none;
	float: right;
	padding: 0 5% 0 0;
}


nav .homelink {
	float: left;
	padding: 0;
	margin: 0;
	display: inline-block;
    height: 85px;
}
	.homelink a {
	color: black;
	background-color: transparent;
	text-decoration: none;
	}
	.homelink a:hover {
	color: black;
	background-color: #ddd;
	border-bottom: none;
	text-decoration: none;
	}

nav #menu {
	    padding: 12px 0; 
        margin: 0 auto; 
        list-style: none; 
        line-height: 21px; 
        text-align: left;
        width: 630px;
	    float: right;
    }

	nav #menu a {
		color: #ddd;
		text-transform: uppercase;
		background-color: #222;
		padding: 0 5px;
		text-decoration: none;
	}
	nav #menu a:hover {
		color: black;
		text-transform: uppercase;
		background-color: #ddd;
		padding: 0 5px;
		border-bottom: none;
		text-decoration: none;
	}

	/* Plugin Multiling */
	
    nav #multilangue {
        float: right;   
        height: 85px; 
        padding: 15px 0;
    }
	
    nav #langs {
		/*position: relative;
		top: 30px;
		height: 20px;
		margin: 0 auto;*/
		/*display: block;*/
		/*width: 150px;*/
		/*text-align: center;*/
	}

	nav #langs ul {
		/*margin: 0 0;
		padding: 0 45px;*/
		/*width: 155px;*/
	}

	nav #langs li {
		/*margin: 0 0;*/
		padding: 0 5px;
		/*float: left;/*/
	}

	nav #langs a {
		background-color: white;
	}

	nav #langs a:hover {
		background-color: transparent;
		border: none;
	}


/* ---------- SECTION ---------- */

section {
	background-color: white;
	color: #444;
	/*padding: 50px 0 0;*/
	/*min-height: calc(100vh - 50px - 50px); /* pour coller le footer en pied de page cf. : https://www.emmanuelbeziat.com/blog/un-site-qui-prend-toute-la-hauteur-disponible/*/
	/*margin-bottom: 100px;*/
}

section .content {
	padding-bottom: 50px;
}

section .erreur {
	margin-top: 150px;
	height: 300px;
}


section article {
		padding-bottom: 50px;
	}

	 .prod_all {
                width: 80%;
       }

	.prod_title {
		font-size:1em;
		margin-bottom:5px;
		display: block;
	}

	.prod_details {
		color: gray;
		font-size:0.85em;
		margin: 0 0 5px 0;
		text-indent: 0em;
		text-align: justify;
                display: block;       /* nécessaire pour les descriptions des coms (mais pas des papers) */
	}

	.prod_couv {
		float: right;
		margin-right: 15px;
		/*margin-top: 5px;*/
		width: 100px;
		margin-left: 20px;
		margin-bottom: 5px;
		/*border: 1px solid #ddd;*/
        position: relative;
        top: -5px;
	}

	.prod_link {
		display: block;
		margin: 10px 0 10px 0;
		font-size: 0.85em;
		color: gray;
	}

	.prod_link img {			
		position: relative;
		top: 3px;
		margin-right: 5px;
                width:20px;
	}
	
	.prod_abstract {

		color: gray;
		font-size:0.85em;
		margin: 0 0 0 0;
		text-indent: 0em;
		display: block;
		text-align: justify;
	}
	
	.prod_bookmarks {
		color: gray;
		margin: 5px 0 0 0;
		font-size:0.85em;
		font-style: italic;
	}
	
	.prod_bookmarks img {
		position: relative;
		top: 3px;
		margin-left: 0;
	}

/* la gestion des listes dans les pages */ 


	section article li {  			/* on retablit les puces uniquement pour les blocs articles */             
		/*overflow: visible;*/
		list-style: square;
		margin: 5px 0 0 25px;
	}

	.listcom li {			/* liste de papiers */
		padding: 5px 10px 0px 20px;
	}

	.listpaper li {			/* liste de papiers */
		padding: 10px 10px 20px 20px;
		margin-bottom: 10px;
	}
	
	.list_press {			/* liste de liens media */
		margin-left: 10px;
	}
		
	.list_press img {
		position:relative;
		top: 2px;
		margin-right: 10px;
	}
	


	/* ----- Catégorie Forge ----- */

	.item li { 
		margin-bottom: 10px;
		list-style: square;
		overflow: visible;
	}

	.categorie .item-name {
		font-size: 1.3em;
		font-weight: bold;
	}

	.categorie .item-description {
		font-size: 1em;
		color: gray;
		display: block;
		margin: 10px 0 10px 20px;
	}

	.categorie .item-description a, .categorie .item-archive a {
		/*color: gray;*/
		border-bottom: silver dashed 1px;
	}

	.categorie .item-description a:hover, .categorie .item-archive a:hover {
		color: #ddd;
		border-bottom: none ;
		background-color: gray;
	}

	.categorie .item-archive, .categorie .item-archive a, .categorie .item-archive div {
		color: #aaa;		
	}

	.categorie ul { /* liste des projet */
		margin-bottom: 10px; 
		list-style-type: square;
		overflow: visible;
	}


	.categorie ul ul { /* liste interne chaque projet */
		font-size: 1em;
		margin-left: 40px;
		list-style-type: square;
		overflow: visible;
	}



/* ---------- HOME ---------- */

section .homecontent {
	/*clear: both;*/
	width: 80%;
	max-width: 1025px;
	margin: 0 auto 0;
	padding: 0 0;
	overflow: hidden; /* pour éviter que les blocs contenus ne sortent du cadre cf. : https://www.alsacreations.com/astuce/lire/7-depassement-flottants-css.html */
	/*border: red 1px solid;*/
}

section .homecontent .width-sidebar {
	float: left;
	width: 60%;
}

section .homecontent img {
	margin: 0;
}


	#section1-1
	{
		margin: 20px auto;
		display: block;
	}

	#section1-2
	{
		clear: both;
		float: left;
		width: 100%;
		min-width: 210px;
		margin-top: 0px;
		margin-bottom: 0px;
	}

	#section1-3 
	{
		float: right;    	
		width: 10%;
		margin-top: 20px;
		border: none;
		text-align: right;
	}

		#section1-3 a {
			background-color: transparent;
			border-bottom: none;
		}

	
	/* Blocs de contenus de Home */
	
	.full-width {
		/*margin-bottom: 50px;*/
		width: 100%
		
	}

	.contentbloc {		
		padding: 0 50px 0 50px;
		float:left;
	}

	#contentbloc1 { 
		width: 580px;
		padding: 0 80px 20px 0;
	}

	#contentbloc1 img { 
		position:relative;
		top:-20px;
	}

	#contentbloc2 {
		width: 380px;
		padding: 0 0 20px 0;
	}

	.contentbloc ul {
		list-style-type: square;
	}

	.contentbloc li {
		margin-top: 4px;
	}

	/* Image en background de Home */

	.home-bg {
		opacity: 0.4;
	}



/* ---------- ARTICLE / PAGE ---------- */

.width-sidebar {
	float: left;
	width: 70%;
}

.full-width {
	float: left;
	width:100%;
}

article h1,
article h1 a {
	color: #444;
	font-family: "Courrier New", monospace;
	font-weight: bold;
	line-height: 1.1;
	margin: 0;
	font-size: 2em;
}

article header {
	font-size: 0.9em;
	padding: 0;
	margin-bottom: 20px;
}

article header p {
	margin-bottom: 0;
}

article section {
	padding: 0;
}

article section ul ul {
	margin-left: 30px;
}

article img {
	margin: 0 5px;
}

article footer {
	background-color: inherit;
	color: inherit;
	font-size: 0.9em;
	margin-bottom: 50px;
	padding: 0;
	text-align: inherit;
}

article footer a {
	color: silver;
	background-color:#222;
}

article footer a:hover {
	color: #222;
	background-color:silver;
}



/* ---------- COMMENT ---------- */

#box-comments {
	clear: both;
	background-color: silver;
	padding: 10px 0;
}

#box-form {
	background-color: #444;
	padding: 30px 0;
}

#comments {
	margin: 0px auto;
	padding: 0px 20px;
	max-width: 1000px;
}

#form {
	margin: 0px auto;
	padding: 0px 20px;
	max-width: 1000px;
	color: #ddd;
}

.info_comment {
	font-size: 0.9em;
	color: #444;
}

.num-com {
	font-size: 1.2em;
	font-weight: bold;
}

.com-alert {
	color: #db2020;
	font-weight: bold;
}

.comment img {
	float:left;
	margin-bottom: 30px;
	padding-right: 0px;
	box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
}

.comment blockquote {
	width: 550px;
	margin-left: 80px;
}

/* à activer en cas de non-utilisation du plugin hamGravatar */
/*.comment { 
	background-image: url(img/user.png);
	background-repeat: no-repeat;
	margin-bottom: 30px;
	padding-left: 60px;
}*/



/* ---------- PAGINATION ---------- */

#pagination {
	margin-bottom: 50px;
	text-align: center;
}

#pagination span,
#pagination a {
	display: inline-block;
	margin: 0;
}

#pagination span:first-letter,
#pagination a:first-letter {
	text-transform: uppercase;
}

/* ---------- SIDEBAR ---------- */

aside {
	float: right;
	width: 25%;
	/*border: 1px dotted red;*/
}

aside ul {
	margin: 0 0 50px 0;
}

aside li {
	list-style-type: none;
	margin-left: 0;
}

aside .bloc-sidebar {
	/*border: 1px silver solid;*/
	padding: 0px;
	margin: 0 0 20px 0px;
}

	/* Sidebar de Home */

	#sidebar-home {	/* la barre latérale de la page d'accueil différente de celle des articles */
		width: 40%;
		text-align: left;
		padding: 20px 0 0 50px;
	}

	#myname {
		margin-top: 10px;
		color: #444;
		/*font-family: "Courrier New", monospace;*/
		font-weight: bold;
		font-size: 150%;
		text-align: left;
		
	}

	#myfunction {
		margin-top: 25px;
		/*width: 300px;*/
		color: #444;
		/*font-family: "Courrier New", monospace;*/
		font-size: 130%;
		text-align: left;
		
	}

	#container_box {
		margin: 30px 0 0 30px;
		font-size: 1.1em;
		text-align: left;
	}
	

	/* Sidebar Recherche */

	#sidebar-recherche {
		width: 30%;
		margin: 30px 0 0 30px ;
		color: gray;
		font-size: 0.9em;
	}
	
	#sidebar-recherche .linkout {
		margin: 10px 0 0 80px;
	}

	#sidebar-recherche .linkout img {
		position: relative;
		top: 10px;
		right: -7px;
	}

	#sidebar-recherche .linklist {
		margin: 10px 0 0 40px;
	}

	#sidebar-recherche ul {
		text-align: right;
	}


	/* Sidebar des article Forge */

	aside h2 {
		margin:0;
		padding:0;
	}
	
	aside .infos-art {
		font-size: 0.9em;
		color: gray;
	}
	
	aside .info-licence {
		font-size: 1.1em;	
		font-weight: bold;
	}



/* ---------- TAG ---------- */

.tag {
	display: inline-block;
	margin-bottom: 0;
	padding-right: 10px;
}

.tag-size-1 {
	font-size: 1em;
}

.tag-size-2 {
	font-size: 1.1em;
}

.tag-size-3 {
	font-size: 1.2em;
}

.tag-size-4 {
	font-size: 1.3em;
}

.tag-size-5 {
	font-size: 1.4em;
}

.tag-size-6 {
	font-size: 1.5em;
}

.tag-size-7 {
	font-size: 1.6em;
}

.tag-size-8 {
	font-size: 1.7em;
}

.tag-size-9 {
	font-size: 1.8em
}

.tag-size-10 {
	font-size: 1.9em;
}

.tag-size-max {
	font-size: 2em;
}

/* ---------- FOOTER ---------- */

footer {
	background-color: #222;
	clear: both;
	color: silver;
	padding: 15px 0;
	text-align: right;
	font-size: 0.8em;
	height: 50px;
	margin-top: 50px;
}

footer p {
	margin: 0;
}

footer a {
	color: #ddd;
	background-color:#222;
}

footer a:hover {
	color: black;
	background-color: #ddd;
}

footer .linkadmin a {
	color: #222;
	background-color: transparent;
}

footer .linkadmin a:hover {
	color: silver;
}

footer .last_maj {
	float:left;
}







/* ---------- FORM ---------- */

#form h2 {
	margin: 0;
}

input,
select,
textarea {
	background-color: #ddd;
	border: 1px solid #bbb;
}

input:hover,
select:hover,
textarea:hover {
	background-color: #ddf0f8;
}

input:focus,
select:focus,
textarea:focus {
	border: 1px solid #77bace;
}

button,
input[type=submit],
input[type=reset] {
	background-color: #dedede;
	border: 1px solid #bbb;
	width: auto;
}

button:hover,
input[type=submit]:hover,
input[type=reset]:hover {
	background-color: #bbb;
	border: 1px solid #bbb;
}

.capcha-letter,
.capcha-word {
	font-weight: bold;
}

#id_rep {
	width: auto;
}

/* ---------- RESPONSIVE DESIGN ---------- */

@media screen and (max-width:1000px) {

	header {
		text-align: center;
	}

	nav #menu, nav ul {
		display: block;
		margin: 10px auto;
		width: 100%;
	}
	
	nav li {
		display: block;
		margin: 10px auto;
		/*width: 250px;*/
		text-align: center;
		float: none;
		padding: 0 ;
	}

	nav .homelink {
		display: block;
		margin: 10px auto;	
		/*width: 150px;*/
		text-align: center;
	}

	.width-sidebar,
	aside {
		width: 100%;
	}

	article > header {
		text-align: left;
	}

	button,
	input,
	select,
	textarea {
		max-width: 100%;
}

	aside {
		margin-top: 50px;
	}
	
	section {
		 /*margin: 140px 0 100px 0;*/
	}
}

/* ---------- COLLAPSIBLE BOX ---------- */

.fold {
	background: #e5e5e5;
        margin-left: 10px;
	padding: 10px;
	width: 100%;
	color: #999;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	transition: all 0.3s linear;
}

.fold-title {
	
}

.unfolder { display: none; }

.toggle-label {
	display: inline-block;
	cursor: pointer;
	font-size: 0.85em;
        color: gray;
	border-radius: 5px;
}
.unfold-icon, .fold-icon {
  color: #999;
  // fixed width to stop the icon from wiggling
  width: 10px;
  display: inline-block;
}
.unfolder ~ .fold {
  display: none;
}
.unfolder ~ label .fold-icon {
  display: none;
}

.unfolder:checked ~ .fold {
  display: block;
}
.unfolder:checked ~ label .fold-icon {
  display: inline-block;
}
.unfolder:checked ~ label .unfold-icon {
  display: none;
}