:root{
	--border: rgba(0,0,0,0.2);
	--header: #272727;
	--white: #fafafa;
	--primary: #2c5aa0;
	--primary-hover: #113870;
}

html, body{
	margin: 0;
	padding: 0;
	font-family: Georgia,"Times New Roman","DejaVu Serif",serif;
	font-size: 14px;
	background: #f7fafb;
	line-height: 24px;
	/*overflow-x: hidden;*/
}

a{
	text-decoration: none;
	color: blue;
}

.link{
	color: blue;
}

.link:hover{
	text-decoration: underline;
}

header{
	background: var(--header);
	color: var(--white);
	display: flex;
	align-items: center;
	padding: 4px 16px;
}

header a{
	color: var(--white);
}

header h1{
	font-size: 24px;
}

header p{
	color: var(--primary);
}

header img{
	height: 122px;
	margin-right: 32px;
}




nav{
	background: var(--primary);
	padding: 8px 32px;
	color: #FFF;
	font-size: 16px;
}

nav a, nav span{
	margin: 0 20px;
	color: var(--white);
}





.container{
	padding: 32px;
	min-height: 500px;
}

.container h2{
	margin-top: 0;
}





.card{
	border: 1px solid;
	border-radius: 10px;
	margin: 16px 0;
	padding: 8px;
	background: #e6e6e6;
}

.card h3{
	background: var(--primary);
	color: var(--white);
	margin: -8px;
	padding: 8px;
	margin-bottom: 8px;
	border-radius: 9px 9px 0 0;
}



.author{
	background: #9bc387!important;
}


.latex{
	font-family: 'Times Roman';
	line-height: 24px;
}



.align_icons li, .align_icons li a{
	display: flex;
	align-items: center;
}

.align_icons li a, .align_icons li span{
	margin-left: 8px;
}

.align_icons li::before{
	content: '•';
	font-size: 20px;
}



.btn{
	border: 1px solid #000;
	padding: 8px;
	border-radius: 10px;
	background: var(--primary);
	color: #FFF;
	cursor: pointer;
	transition: .3s;
	display: inline-flex;
	align-items: center;
	-webkit-appearance: none;
}

.btn:hover{
	background: var(--primary-hover);
}

.btn-small{
	padding: 2px 8px;
}

.btn-error{
	background: #ff6060;
}

.btn-error:hover{
	background: #ff606099;
}

.btn-secondary{
	background: #FFF;
	color: #000;
}

.btn-secondary:hover{
	background: #dfdddd;
}

.btn .icon{
	padding: 0 8px;
}




.border{
	border: 1px solid;
	border-radius: 10px;
	padding: 10px;
	margin: 20px auto;
}

.inline{
	display: inline-block;
}

.flex{
	display: flex;
	justify-content: center;
	align-items: center;
}

.center{
	text-align: center;
}

.hidden{
	display: none!important;
}

.mt{
	margin-top: 16px;
}

.ml{
	margin-left: 16px;
}





input, select, textarea{
	border: 1px solid var(--border);
	font-size: 16px;
	border-radius: 6px;
	padding: 4px;
	box-sizing: border-box;
	font-family: sans-serif;
}

select[data-ssid] {
	pointer-events: none;
	opacity: 0;
	display: flex!important;
	position: absolute;
	margin-left: -100px;
}




.grille{
	border-collapse: collapse;
	margin: 32px 0;
}

.grille a{
	color: inherit;
}

.grille th, .grille td{
	border: 1px solid #9a9898;
	padding: 8px;
}

.grille tr:nth-child(2n){
	background: #e4e4e4;
}

.grille__link tr:not(.tr_header):hover{
	cursor: pointer;
	background: var(--primary);
	color: #FFF;
}



.commentaire{
	display: grid;
	grid-template-columns: 150px 1fr 90px;
	border-bottom: 1px dashed #000;
	padding: 8px 0;
}

.commentaire p{
	margin-top: 0;
}

.commentaire .admin{
	text-align: right;
}

.commentaire .admin a{
	padding: 0 4px;
}

.commentaire:last-child{
	border-bottom: 0;
}



.green{
	color: #00b44b;
}

.error{
	color: #ff6060;
}





.inputFile{
	display: none;
}

.file-select-button{
	border: 1px solid;
	border-radius: 10px;
	padding: 4px 14px;
	cursor: pointer;
}

.file-select-button:hover{
	background: #dadada;
}

.file-select-name{
	margin-left: 14px;
}




footer{
	background: var(--header);
	color: var(--white);
	display: flex;
	align-items: center;
	padding: 4px 16px;
}

footer a{
	color: var(--primary);
	display: block;
}

footer img{
	height: 60px;
	margin-right: 32px;
}






.menu-mobile, .menu .close{
	display: none!important;
}


@media only screen and (max-width: 1500px){
	
	.login-form .grid{
		flex-direction: column;
	}
	
}

@media only screen and (max-width: 600px){

	header{
		flex-direction: column;
	}
	
	.container{
		padding: 16px;
		box-sizing: border-box;
	}
	
	.login-form{
		margin: 16px 0!important;
		padding: 16px 8px!important;
		width: 100%;
		box-sizing: border-box;
	}
	
	.login-container{
		box-sizing: border-box;
	}
	
	.login-container .grid .bloc{
		margin: 0!important;
	}
	
	
	
	.menu{
		display: none;
	}
	
	.menu-open{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		background: #FFF;
		z-index: 1000;
		display: flex!important;
		flex-direction: column;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
	}
	
	.menu .close, .menu-mobile{
		display: block!important;
		position: absolute;
		top: 8px;
		left: 0px;
		padding: 8px;
		cursor: pointer;
		color: #000;
		font-size: 40px;
		font-weight: bold;
		font-family: sans-serif;
	}
	
	.menu-mobile{
		color: #FFF;
	}
	
	.menu-open a{
		display: block;
		padding: 16px;
		color: #000;
	}
	
}

