/* --------------------------------------
		content.css
Contient les elements : 
 - conteneurs generaux, elements de module,
 - pagination des pages,
 - exploreur de categorie,
 - gestion des categories,
 - mini-module,
 - message postes,
 - profile user,
 - maintenance,
 - contribution,
 - erreur 403/404.
-----------------------------------------*/


/* -- Conteneurs, elements de module -- */
/* ------------------------------------ */
section,
article {
	position: relative;
	margin: 0 auto;
	width: 100%;
	vertical-align: top;
}

@media (min-width: 769px) {
	section,
	article {
		margin: 1em auto;
		width: 100%;
	}
}

/* --- articles --- */
.article-several.block,
.article-several.small-block,
.article-several.medium-block {
	clear: none!important;
}

.article-several {
	clear: both;
}

/* --- Titre d'une page ou d'un element d'un module --- */
section header h1, article header h1 {
	font-weight: 400;
}

section header h1 a:hover {
	text-decoration: none;
}

section header h2, article header h2 {
	font-weight: 400;
	margin-left: 0;
}

section header h3, article header h3 {
	font-weight: 400;
	margin-left: 0;
}

@media (min-width: 769px) {
	
	section header h1, article header h1,
	section header h2, article header h2,
	section header h3, article header h3	{
	font-size: 1.3em !important;
	font-weight: 400;
	min-height: 40px;
	padding: 4px;
	}
	
	section header,
	article header {
		margin: 0 0 1em 0;
	}	
}

/* --- Titre d'un bas de page --- */
@media (min-width: 769px) {
	section footer,
	article footer {
		margin-bottom: 1.5em;
	}
}

section footer,
article footer {
	clear: both;
}

/* --- Icones actions (edition, suppression, etc) --- */
span.actions {
	float: right;
}

header span.actions a {
	font-size: 1.2em;
}

header span.actions a {
	font-size: 1.2rem;
}

.more {
padding: 0.618em 0.618em 1.618em;
font-size: 0.809em;
}

@media (min-width: 769px) {
	.more {
		padding: 0.618em 0.618em 1.618em;
		font-size: 0.809em;
		text-align: right;
	}

}

/* --- Contenu --- */
.content {
	
	padding: 0 1em;
	text-align: justify;
}

@media (min-width: 769px) {
	div#main.main-with-left.main-with-right section .content {
		padding: 0 5px;
	}
}

@media (max-width: 768px) {
	.content {
		padding: 1em 0;
	}
}

.content + aside {
	clear: both;
}

/* --- Block --- */
.block {	
	margin: 0 0 1.618em;
	width: 100%;
}

@media (min-width: 769px) {
	.block { width: 98%; }
}

.no-style .block,
.no-style .block header {
	background-color: transparent ;
	border: none ;
}

.block h1 {
	border: none;
}

.block header {
	margin: 0 0 0.618em 0;
}

.block footer {
	margin: 0;
}


/* -- Structure des éléments -- */
/* ---------------------------- */
.elements-container {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	flex-direction: column;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	align-content: flex-start;
	-ms-flex-line-pack: start;
	-webkit-align-content: flex-start;
	justify-content: space-around;
	-ms-flex-pack: distribute;
	-webkit-justify-content: space-around;
	clear: both;
}

.elements-container > .block {
	flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	-webkit-flex: 0 1 auto;
}

/* --- Gestion en colonnes pour ecran large --- */
/* Gestion en colonnes pour ecran large*/

@media (min-width: 769px) {
	.elements-container {
		flex-direction: row;
		-ms-flex-direction: row;
		-webkit-flex-direction: row;
		margin-left: -5px; /* @{gutter} */ 
	}

	.block { 
		margin-left: 5px; /* @{gutter} */ 
		width: 100%;
	} 

	@media (min-width: 769px) {
		.columns-1 .block { width: 98%; }
		.columns-2 .block { width: calc(100% / 2.1); }
		.columns-3 .block { width: calc(100% / 3.1); }
		.columns-4 .block { width: calc(100% / 4.1); }
		.columns-5 .block { width: calc(100% / 5.1); }
		.columns-6 .block { width: calc(100% / 6.1); }
		.columns-7 .block { width: calc(100% / 7.1); }

/* --- Gestion des media --- */
.thumbnail-item {
	padding: 0.309em 0;
	display: block;
}

@media (min-width: 769px) {
	.thumbnail-item {
		max-width: 38%;
		float: left;
		padding: 0.309em 0.618em 0.309em 0;
	}

	.columns-3 .thumbnail-item,
	.columns-4 .thumbnail-item,
	.columns-5 .thumbnail-item,
	.columns-6 .thumbnail-item,
	.columns-7 .thumbnail-item {
		float: none;
		max-width: 100%;
		padding: 0.309em 0;
	}
}

@media (max-width: 768px) {
	.media-content {
		clear: both;
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
	}

	.media-content object,
	.media-content embed,
	.media-content video,
	.media-content iframe,
	.media-content .video-player {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

@media (min-width:769px) {
	.media-content embed,
	.media-content iframe {
		width: auto;
		height: auto;
	}
}

/* --- Friends content --- */
.content-friends {
	border-width: 7px 1px 1px 1px;
}

.content-privileged-friends {
	border-width: 7px 1px 1px 1px;
}

		.block-xlarge { width: 100% !important; }
	}	
}	  
	
/* -- Pagination des pages -- */
/* -------------------------- */
section footer ul.pagination {
	text-align: center;
}

ul.pagination {
	margin: 0;
}

ul.pagination .fa:before {
	font-size: 0.8em;
}

ul.pagination-block {
	margin: 5px 0;
}

ul.pagination-block li {
	padding: 2px 2px;
}

ul.pagination-block li a {
	display: inline-block;
	padding: 6px 10px;
	outline: none;
	font-weight: bold;
	font-size: 0.8em;
	text-align: center;
	text-decoration: none;
}

ul.pagination-block li a {
	border-radius: 3px;
}

ul.pagination-block li a:hover {
	transition: all 0.1s linear;
}

ul.pagination-block li a:active {}

ul.pagination-block li a.current-page {
	text-decoration: none;
}

ul.pagination-block li a.current-page:hover {

}

ul.pagination-block-bis li a.prev-page,
ul.pagination-block-bis li a.next-page {
	border: none;
	background: none;
	box-shadow: none;
	text-shadow: none;
}

ul.pagination-block-bis li a.prev-page:hover,
ul.pagination-block-bis li a.next-page:hover {
	text-decoration: underline;
}

.pages-pagination a {
	text-decoration: none;
}


/* -- Exploreur des categories -- */
/* ------------------------------ */
.explorer .cats,
.explorer .files {
	width: 100%;
	display: inline-block;
	margin: 0.309em 0;
	vertical-align: top;
}

.explorer h2 {
	font-size: 1.618em;
}

@media (min-width: 481px) {
	.explorer .cats,
	.explorer .files {
		width: calc(100% / 2.1);
	}
}

.explorer .cats {
	min-width: 200px;
}

.explorer .content {
	padding: 0;
	min-height: 120px;
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
}

.explorer .content ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.explorer .content ul ul {
	margin-left: 1em;
}

.explorer .content ul a.parent {
	float: left;
	height: 0;
}

.explorer .content ul a.parent [id^="img2_"] {
	margin-left: -1em;
	margin-right: 0.1618em;
}

.explorer .content ul a {
	display: block;
	padding: 0.228em 0.309em;
	text-decoration: none;
	text-align: left;
}

.explorer .content ul i {
	width: 1.309em;
	vertical-align: top;
	margin-right: 0.309em;
}

.explorer .content ul i:before {
	vertical-align: middle;
}

.explorer .content ul a.parent i:first-child {
	width: 0.809em;
}

.explorer .content ul a.parent i:first-child:before {
	font-size: 0.809em;
}

.options {
	margin: 0.309em 0;
	padding: 0.456em 0.809em;
	max-width: 100%;
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
	font-size: 0.809em;
}

@media (min-width: 769px) {
	.options {
		float: right;
		margin: 0.309em 0 0.309em 1em;
	}
}

.options .horizontal-fieldset,
.options .horizontal-fieldset-element,
.options .horizontal-fieldset .form-element {
	margin: 0;
}

.options h6 {
	margin: 0 auto;
	vertical-align: middle;
	font-weight: 400;
	padding: 0.228em;
}

.infos {
	width: 100%;
}

.infos img {
	padding: 0 0 0.618em 0;
	display: block;
	margin: auto;
}

@media (min-width: 769px) {
	.infos {
		max-width: 38%;
	}
}

.infos-options {
	display: block;
}


/* -- Gestion des categories -- */
/* ---------------------------- */
.cat-description {
	margin: 0.618em 0.309em;
	text-align: left;
}

.subcat-element {
	text-align: center;
	padding: 10px 0px 10px 0px !important;
}

.subcat-thumbnail,
.subcat-title,
.subcat-options {
	display: block;
}

.subcat-thumbnail {
	margin-bottom: 0.309em;
}

/* --- Systeme de drag&Drop ---
/*------------------------------ */

.sortable-block .sortable-element > .sortable-block {
	flex: 1 0 calc(100% - 0.618em);
	-ms-flex: 1 0 calc(100% - 0.618em);
	-webkit-flex: 1 0 calc(100% - 0.618em);
	margin: 0 0 0 0.618em;
}

.sortable-block {
	margin: 0;
	padding: 0;
	min-height: 24px;
	list-style-type: none;
	list-style-position: outside;
}


.sortable-block .sortable-element {
	/* modifié le 18/03/2023*/
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	flex-direction: row;
	-ms-flex-direction: row;
	-webkit-flex-direction: row;
	align-items: center;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-content: center;
	-webkit-align-content: center;
	-ms-align-content: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: center;
	-ms-flex-wrap: center;
	margin-bottom: 0.309em;
	padding: 0;
	width: 100%;
	transition: all 0.2s;
}

.sortable-block .sortable-element:hover {
	transition: all 0.2s;
}

.sortable-block .sortable-selector {
	padding: 0 0 0 0.309em;
}


@media (min-width:769px){
	.sortable-block .sortable-element .sortable-selector {
		flex: 0 0 1.309em;
		-ms-flex: 0 0 1.309em;
		-webkit-flex: 0 0 1.309em;
		opacity: 0.2;
		transition: opacity 0.3s;
		cursor: move;
	}

	.sortable-selector:after {
		content: "\f0b2";
		font-family: 'Font Awesome 5 Free';
		font-weight: 900;
	}
}

.sortable-block .sortable-element:hover .sortable-actions {
	opacity: 1;
	transition: opacity 0.3s;
}

.sortable-block .sortable-element:hover .sortable-selector {
	opacity: 1;
	transition: opacity 0.3s;
}

.sortable-block .sortable-title {
	flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	-webkit-flex: 1 1 auto;
	padding: 0.618em;
	max-width: calc(100% - 5.2em)
}

.sortable-block .sortable-title:hover {
	background-image: linear-gradient(to bottom, #FFFFFF 25%, #efefef 100%);
}

.sortable-block .sortable-title > span {
	font-size: 1.482em;
}

.sortable-block .sortable-title span.cat-desc {
	font-size: 0.8em;
	font-weight: normal;
	font-style: italic;
}

.sortable-block .sortable-title img {
	cursor: move;
}

.sortable-block fieldset {
	padding: 0 1.618em;
}

.sortable-block .sortable-actions {
	/* modifié le 18/03/2023*/
	flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	-webkit-flex: 0 1 auto;
	padding: 0.1618em;
	opacity: 0.2;
	transition: opacity 0.2s;
}

.sortable-block .sortable-element hr {
	margin-top: 5px;
}

.sortable-block .sortable-element label {
	margin-left: 14px;
}

.sortable-block .sortable-actions img,
.sortable-block .sortable-element:hover label,
.sortable-block .sortable-element .fa:hover {
	cursor: pointer;
}

.dragged {
	position: absolute;
	opacity: 0.9;
	z-index: 2000;
}

body.dragging,
body.dragging * {
	cursor: move !important;
}

.dropzone {
	margin: 0.618em 0;
	padding: 0.309em;
	opacity: 0.6;
	text-align: center;
	border-width: 1px;
	border-style: dashed;
	border-color: transparent;
}


.preview img {
	overflow: hidden;
}


/* -- Modules minis -- */
/* ------------------- */
.module-mini-container {
	margin: 0 0 10px 0;
	padding: 5px;
	border-spacing: 1px;
	clear: both;
}

.module-mini-top {
	font-weight: bold;
	padding: 0.2em 0 0.2em 0;
	min-height: 24px;
	text-align: center;
}
.module-mini-container .sub-title {
	display: block;
	margin-top: 0.309em;
	font-weight: bold;
}

.module-mini-container h5,
.module-mini-container h3 {
	color: #515C68;
}

.module-mini-contents {
	padding: 0.309em;
	text-align: center;
}

.module-mini-bottom {
	height: 15px;
}


/* -- Messages postes par les membres -- */
/*          (mp & commentaires)          */
/* ------------------------------------- */
#comments-list {
	clear: both;
}

#comments-list > header { 
	display: none;
}

#comments-list .message > header {
	display:none;
}

.message {
	width: 98%;
	margin-bottom: 20px;
	overflow: auto;
}

.message > footer {
	clear: both;
}

.view-topic {
	margin-top: 10px;
}

.view-topic i {
	margin: 0 0 1px 5px;
}

/* --- infos du message --- */
.message-date {
	margin-left: 150px;
}

.message-date i {
	vertical-align: top;
}

.message-user-infos {
	float: left;	
	width: 120px;
	text-align: center;
}

.message-message {
	position: relative;
	margin: 5px 0 0 140px;
	padding: 15px;
	min-height: 80px;
	background-color: #f8f8f8;
	border: 1px solid #D6DEE7;
	border-radius: 4px;
	color: #333333;
}

.message-message::before {
	position: absolute;
	top: 15px;
	bottom: auto;
	left: -25px;
	display: block;
	width: 0;
	border-width: 15px 25px 15px 0;
	border-color: transparent #D6DEE7;
	border-style: solid;
	content: "";
}

.message-message::after {
	position: absolute;
	content: "";
	top: 16px;
	bottom: auto;
	left: -24px;
	display: block;
	width: 0;
	border-width: 14px 24px 14px 0;
	border-color: transparent #ECEFFA;
	border-style: solid;	
}

.message-avatar {
	width: 80px;
}

.message-user-infos img.message-avatar {
	padding: 10px 0;
}

article .message-user-infos .message-user-group {
	display: none;
}

@media (max-width: 480px) {
	.message-user-infos img.message-avatar {
		float: left;
		margin: 5px 5px 0 15px;
		padding: 4px;
		max-height: 54px;
		width: auto;
	}

	.message-message {
		border-top: 1px solid #CAD1EB;
	}

	.message-pseudo {
		float: right;
		padding: 20px 10px 0 0px;
	}

	.message-level {
		display: none;
	}

	.message-date {
		float: right;
		margin: 0 15px 0 0;
		padding: 20px 0 0 0;
		max-width: 120px;
		text-align: right;
	}

}

@media (min-width: 481px) and (max-width: 768px) {
	.message-container {
		padding-left: 70px;
	}

	.message-pseudo {
		padding: 20px 10px 0 15px;
	}
	
	.message-user-infos img {
		position: absolute;
		top: 20px;
		left: 15px;
		max-width: 54px;
	}

	.message-date {
		margin: 0;
		padding: 23px 0 0 0;
		text-align: left;
	}

}

@media (max-width: 768px) {
	.message-container {
		background-color: #ECEFFA;
		border: 1px solid #D6DEE7;
		border-radius: 4px;
		color: #333333;
	}

	.message-message {
		background-color: none;
		border: none;
		border-radius: 0;
	}

	.message-message::after,
	.message-message::before {
		display: none;
	}

	.message-user-infos {
		display: inline-block;
	}

	.message-pseudo {
		text-align: left;
	}

	.message-pseudo a {
		font-size: 1.2em;
		font-weight: bold;
	}
	.message-pseudo a:hover {
		text-decoration: none;
	}
	
	.message-user-infos {
		width: auto;
	}

	.message-user-infos img {
		padding: 3px;
	}

	.message-date {
		display: inline-block;
		font-size: 0.8em;
	}

	.message-date span.actions {
		position: absolute;
		bottom: 0;
		right: 6px;
		z-index: 1;
		display: block;
		text-align: right;
		font-size: 1.2em;
	}
	.message-date span.actions a {
		display: inline-block;
		padding: 5px 2px 5px 2px;
	}

	.message-message {
		margin: 0 auto 10px auto;
		clear: both;
	}

	.message-message::before {
		top: auto;
		bottom: 100%;
		left: 204px;
	}
	
	.message-message::after {
		top: auto;
		bottom: 100%;
		left: 205px;
	}
}

/* --- Moderation des messages --- */
.message-moderate {
	margin-bottom: 0.618em;
	padding: 0.309em 0 0.309em 0;
	width: 98%;
	text-align: center;
	vertical-align: middle;
}

.message-moderate a {
	vertical-align: top;
}

i.message-announce,
i.message-announce-new,
i.message-announce-track {
	font-size: 1.618em;
}


/* -- Profile User -- */
/* ------------------ 
ul#profile-container {
	margin: 30px auto;
	width: 99%;
	list-style-type: none;
}

ul#profile-container li {
	margin-right: 2px;
	padding: 10px;
	text-align: center;
}
*/
.preview-img {
	max-height: 180px;
	vertical-align: top;
}

.user-agreement {
	width: 90%;
	max-width: none;
	max-height: 250px;
	overflow-y: auto !important;
}

/* -- Le maintenance -- */
/* -------------------- */
#maintain {
	margin: 0.618em 0;
}

div.delay {
	margin: 1.309em 0;
}

#global.global-maintain {
	flex-direction: column;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
}

div#message-maintain {
	position: absolute;
	z-index: 20;
	top: 1em;
	width: 100%;
	opacity: 0.98;
	text-align: center;
}

div#message-maintain > div {
	margin: 0 auto;
}

div#release {
	margin-top: 1.309em;
}

/* -- Elements .more d'un contenu -- */
/* --------------------------------- */

/* --- General --- */
.more {
	padding: 0.618em 0.618em 1.618em;
	font-size: 0.809em;
	font-size: 0.809em;
	font-style: italic;
}

/* --- Sharing items --- */
.more-element-sharing {
	position: relative;
	margin: 0.309em 0 0 0;
	padding: 0;
}

@media (min-width: 769px) {
	.more-element-sharing {
		margin: 1.309em 0 0.309em 0;
	}
}

.sharing-button {
	display: none;
}

.sharing-elements-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	flex-direction: row;
	-ms-flex-direction: row;
	-webkit-flex-direction: row;
	text-align: center;
	justify-content: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

@media (min-width: 769px) {
	.sharing-elements-list {
		justify-content: flex-start;
		-ms-flex-pack: flex-start;
		-webkit-justify-content: flex-start;
	}
}

.sharing-element {
	flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	-webkit-flex: 0 0 auto;
}

@media (min-width: 769px) {
	.sharing-element {
		margin: 0 0.309em 0.309em 0;
	}
}

.sharing-element a {
	display: block;
	padding: 0.618em 1.228em;
	display: block;
	margin: 0 0.1em 0.309em 0;
}

/* -- Contribution -- */ 
/* ------------------ */
#module-user-contribution-list hr {
	margin: 20px 0;
}

.module-contribution-element {
	float: left;
	margin: 20px 0;
	text-align: center;
}

.unprocessed-contribution {
	margin: auto;
	width: 300px;
	overflow: hidden;
	text-align: center;
}

.unprocessed-contribution div {
	float: left;
	width: 50%;
}

#module-user-moderation-panel .content {
	padding-bottom: 75px;
}

#module-user-moderation-panel .bt td:before {
	display: none;
}

#module-user-moderation-panel .bt-content {
	display: block;
	width: 100%;
	text-align: center;
}

.contribution-module-container {
	float: left;
	margin: 20px 0;
	text-align: center;
}

.convers-announce {
	padding-right: 0;
}

.convers-title {
	width: 50%;
	text-align: left;
}

table.announce-legend td {
	width: 33%;
}

@media (min-width: 769px) {
	.post-pm {
		margin: auto;
		width: 80%;
	}
}

.available-modules-msg {
	margin-bottom: 15px;
	text-align: center;
}

.infos-options {
  display: block;
}


/* -- Error 403/404 -- */ 
/* ------------------- */
#module-user-error-403 .content,
#module-user-error-404 .content {
	text-align: center;
	font-size: 1.5em;
}

#module-user-error-403 .fa-warning:before,
#module-user-error-404 .fa-warning:before {
	content: "\f071"; 
}

#module-user-error-403 .fa-warning,
#module-user-error-404 .fa-warning {
	display: block;
	margin: 40px auto 20px auto;
}

#module-user-error-403 .message-error,
#module-user-error-404 .message-error {
	padding: 20px 0;
}

#module-user-error-403 .type-error,
#module-user-error-404 .type-error {
	padding: 10px 0;
}
