/**
 * This file is part of ZwiiCMS.
 *
 * For full copyright and license information, please see the LICENSE
 * file that was distributed with this source code.
 *
 * @author Rémi Jean <moi@remijean.fr>
 * @copyright Copyright (C) 2008-2016, Rémi Jean
 * @license GNU General Public License, version 3
 * @link http://zwiicms.com/
 */

/**
 * Éléments génériques
 */

body {
	color: #555;
	margin: 0 10px;
	font-size: 16px;
}
body.editor {
	font-size: 15px !important;
	background: #FFF !important;
}

/* Liens */
a {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

/* Titres */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
	/*text-transform: uppercase;  */
}
h1 {
	font-size: 2em;
}
h2 {
	font-size: 1.5em;
}
h3 {
	font-size: 1em;
	color: #1A5599;
	font-weight: bold;
}
h4 {
	font-size: 1em;
}
h5 {
	font-size: .8em;
}
h6 {
	font-size: .7em;
}

/* Listes */
ul {
	list-style: square;
}
li ul {
	margin: 0;
}

/* Séparateur */
hr {
	border: 0;
	border-top: 1px solid #C5D1D4;
}

/* Égalisation des margins */
h1,
h2,
h3,
h4,
h5,
h6,
p,
hr,
ul,
ol {
	margin: 15px 0;
}

/* Image */
img {
	max-width: 100%;
	height: auto;
}
img[align='left'] {
	margin-right: 10px;
}
img[align='right'] {
	margin-left: 10px;
}

/* Tableau */
table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
tr {
	background: #F5F5F5;
}
tr:nth-child(2n + 2) {
	background: #E9E9E9;
}
td {
	padding: 10px;
}
/* Supprime le padding des cols dans les cellules des tableaux */
td > .col1,
td > .col2,
td > .col3,
td > .col4,
td > .col5,
td > .col6,
td > .col7,
td > .col8,
td > .col9,
td > .col10,
td > .col11,
td > .col12 {
	padding: 0 !important;
}

/**
 * Éléments spécifiques
 */

/* Notifications */
#notification {
	text-align: center;
	padding: 15px;
	color: #FFF;
	margin: 0 -10px;
}
#notification.success {
	background: #67C672;
}
#notification.error {
	background: #F3674A;
}

/* Notice */
.notice {
	margin-bottom: 2px;
	color: #F3674A;
}

/* Container */
.container {
	margin: auto;
}

/* Panneau */
#panel {
	background: #3C3C3C;
	padding-left: 5px; /* Pour éviter que le select touche le bord lorsque la fenêtre est redimensionnée */
	margin: 0 -10px;
}
#panel:after {
	content: " ";
	clear: both;
	display: table;
}
#panel ul {
	padding: 0;
	margin: 0;
	list-style: none;
	height: 45px;
	line-height: 45px;
}
#panel ul.left {
	float: left;
}
#panel ul.right {
	float: right;
}
#panel li {
	display: inline;
}
#panel a {
	display: inline-block;
	padding: 0 14px;
	color: #E1E1E1;
}
#panel a:hover {
	background: #343434;
	text-decoration: none;
}
#panel a:active {
	background: #2B2B2B;
}
#panel a.edit {
	background: #F3674A;
	color: #FFF;
}
#panel a.edit:hover {
	background: #F25A3A;
}
#panel a.edit:active {
	background: #F14C2A;
}
#panel select {
	width: 250px;
	border: 0;
	padding: 5px;
}
@media (max-width: 768px)
{
	#panel {
		text-align: center;
		padding: 0;
	}
	#panel ul.left {
		height: auto;
		line-height: normal;
		padding: 5px;
	}
	#panel ul {
		float: none !important;
		height: 40px;
		line-height: 40px;
	}
	#panel select {
		width: 100%;
		display: block;
	}
}

/* Container du site */
body > .container {
	margin: 20px auto;
	background: #FFF;
	overflow: hidden;
}

/* Bannière */
body > header {
	margin: 0 -10px;
}
header {
	padding: 20px;
	position: relative;
}
header h1 {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	font-size: 1.8em;
	line-height: 1.2;
}
header .inner {
	overflow: hidden;
	height: 100%;
}

/* Menu */
body > nav {
	margin: 0 -10px;
}
nav .toggle {
	cursor: pointer;
	text-align: right;
	display: none;
	font-weight: bold;
}
nav .menu {
	display: block;
}
nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
nav li {
	display: inline-block;
	position: relative;
}
nav li ul {
	display: none;
	position: absolute;
	width: 250px;
	z-index: 20;
}
nav li ul li {
	display: block;
	text-align: left;
}
nav li:hover ul {
	display: block;
}
nav a {
	display: inherit;
	color: #555;
}
nav a:hover {
	text-decoration: none;
}
header nav {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	font-size: 16px !important; /* Pour contrer la suppression du titre du site */
	line-height: initial;
}
@media (max-width: 768px) {
	nav .toggle {
		display: block;
	}
	nav .menu {
		display: none;
		text-align: left !important;
	}
	nav li {
		display: block;
	}
	nav li ul {
		display: block;
		position: static;
		min-width: inherit;
		width: auto;
	}
	nav a {
		padding: 15px !important;
	}
	nav li ul a {
		padding-left: 40px !important;
	}
}

/* Corps */
section {
	margin: 20px;
}

/* Bas du site */
footer {
	text-align: center;
	font-size: 0.8em;
	padding: 20px;
}
footer #text {
	padding-bottom: 10px;
}
footer #socials {
	font-size: 1.6em;
	padding-bottom: 10px;
}
footer #socials span {
	color: #FFF;
	padding: .1em 0;
	margin: 0 5px;
}
footer #socials .zwiico-facebook {
	background: #5D82D2;
}
footer #socials .zwiico-facebook:hover {
	background: #3764C5;
}
footer #socials .zwiico-googleplus {
	background: #E46049;
}
footer #socials .zwiico-googleplus:hover {
	background: #DA3C20;
}
footer #socials .zwiico-instagram {
	background: #558BB7;
}
footer #socials .zwiico-instagram:hover {
	background: #417198;
}
footer #socials .zwiico-pinterest {
	background: #E23139;
}
footer #socials .zwiico-pinterest:hover {
	background: #C41C23;
}
footer #socials .zwiico-twitter {
	background: #40BFF6;
}
footer #socials .zwiico-twitter:hover {
	background: #0FAFF4;
}
footer #socials .zwiico-youtube {
	background: #EF4E43;
}
footer #socials .zwiico-youtube:hover {
	background: #EB2214;
}

/* Remonter en haut */
#backToTop {
	opacity: .7;
	position: fixed;
	z-index: 30;
	right: 20px;
	bottom: 20px;
	padding: 15px;
	background: #3C3C3C;
	color: #FFF;
	cursor: pointer;
	display: none;
}
#backToTop:hover {
	opacity: .8;
}
#backToTop:active {
	opacity: .9;
}

/* Zone de remplacement */
.placeholder {
	background: #EEE;
}

/* Onglet */
.tabTitles {
	margin: 15px 0;
	text-transform: uppercase;
	font-size: 1.2em;
	color: #555;
}
.tabTitle {
	display: inline-block;
	margin-right: 20px;
	cursor: pointer;
}
.tabTitle:hover {
	text-decoration: underline;
}
.tabTitle.current {
	cursor: auto;
	text-decoration: none;
}

/* Message sur les cookies */
#cookieConsentMessage {
	font-size: .9em;
	opacity: .7;
	background: #3C3C3C;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	color: #FFF;
	text-align: center;
	padding: 10px;
}
#cookieConsentConfirm {
	cursor: pointer;
	margin-left: 10px;
	background: #666;
	padding: 5px 10px;
	display: inline-block;
}
#cookieConsentConfirm:hover {
	background: #777;
}

/**
 * Inputs génériques
 */

input[type='text'],
input[type='password'],
.inputFile,
select,
textarea {
	padding: 9px; /* -1px à cause des bordures */
	background: #FFF;
	border: 1px solid #DDD;
	width: 100%;
}
input[type='text'].notice,
input[type='password'].notice,
.inputFile.notice,
select.notice,
textarea.notice {
	border: 1px solid #F3674A;
}
input:disabled,
select:disabled,
textarea:disabled {
	background: #EEE !important;
	color: #CCC !important;
}
input[type='submit'] {
	width: 100%;
	padding: 10px;
	border: 0;
	cursor: pointer;
}
textarea {
	height: 100px;
	resize: none;
}
label {
	display: block;
	margin-bottom: 2px;
}
.inputFile {
	cursor: pointer;
	margin: 0;
}
.inputFile input[type='file'] {
	display: none;
}

/**
 * Inputs spécifiques
 */

/* Bouton */
.button {
	width: 100%;
	display: inline-block;
	padding: 10px;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.button:hover {
	text-decoration: none;
}
.button.disabled {
	pointer-events: none;
	cursor: default;
	background: #EEE !important;
	color: #CCC !important;
}
.button#newVersion {
	background: #F3674A;
	color: #FFF;
}
.button#newVersion:hover {
	background: #F25A3A;
}
.button#newVersion:active {
	background: #F14C2A;
}

/* Pagination */
.pagination {
	padding: 10px 0;
}
.pagination a {
	display: inline-block;
	padding: 10px;
	margin: 5px;
	text-align: center;
}
.pagination a:hover {
	text-decoration: none;
}
.pagination a.disabled {
	pointer-events: none;
	cursor: default;
	background: #EEE !important;
	color: #CCC !important;
}
.pagination a:first-child {
	margin-left: 0;
}
.pagination a:last-child {
	margin-right: 0;
}

/* Cases à cocher (pas de display none sinon le hover ne fonctionne pas sous Chrome) */
input[type='checkbox'],
input[type='radio'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	opacity: 0;
	height: 0;
	width: 0;
}
input[type='checkbox'] + label,
input[type='radio'] + label {
	display: inline-block;
	margin-right: 10px;
	cursor: pointer;
}
input[type='checkbox'] + label:before,
input[type='radio'] + label:before {
	content: '\2713';
	display: inline-block;
	text-align: center;
	color: transparent;
	margin-right: 5px;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 10px;
	font-weight: bold;
	background: #DDD;
	vertical-align: top;
}
input[type='checkbox'].notice + label:before,
input[type='radio'].notice + label:before {
	background: #F3674A;
}
input[type='radio'] + label:before {
	border-radius: 50%;
}
input[type='checkbox']:hover + label:before,
input[type='checkbox']:checked:active + label:before,
input[type='radio']:hover + label:before {
	background: #CCC;
}
input[type='checkbox']:disabled + label:before,
input[type='radio']:disabled + label:before {
	background: #EEE !important;
}

/* Aides */
.helpButton {
	cursor: help;
	margin: 0 5px;
}
.helpButton:hover .helpContent {
	display: inline;
}
.helpContent {
	display: none;
	position: absolute;
	margin: 30px 0 0 -30px;
	text-align: left;
	padding: 10px;
	z-index: 10;
	max-width: 600px;
}
.helpButton,
.helpContent {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/**
 * Grille
 */

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.row {
	margin: 0 -10px;
}
.col1,
.col2,
.col3,
.col4,
.col5,
.col6,
.col7,
.col8,
.col9,
.col10,
.col11,
.col12 {
	vertical-align: bottom;
	padding: 10px;
	width: 100%;
	min-height: 1px;
	display: inline-block;
}
@media (min-width: 992px) {
	.col1 {
		width: 8.33333333%;
	}
	.col2 {
		width: 16.66666667%;
	}
	.col3 {
		width: 25%;
	}
	.col4 {
		width: 33.33333333%;
	}
	.col5 {
		width: 41.66666667%;
	}
	.col6 {
		width: 50%;
	}
	.col7 {
		width: 58.33333333%;
	}
	.col8 {
		width: 66.66666667%;
	}
	.col9 {
		width: 75%;
	}
	.col10 {
		width: 83.33333333%;
	}
	.col11 {
		width: 91.66666667%;
	}
	.col12 {
		width: 100%;
	}
	.offset1 {
		margin-left: 8.33333333%;
	}
	.offset2 {
		margin-left: 16.66666667%;
	}
	.offset3 {
		margin-left: 25%;
	}
	.offset4 {
		margin-left: 33.33333333%;
	}
	.offset5 {
		margin-left: 41.66666667%;
	}
	.offset6 {
		margin-left: 50%;
	}
	.offset7 {
		margin-left: 58.33333333%;
	}
	.offset8 {
		margin-left: 66.66666667%;
	}
	.offset9 {
		margin-left: 75%;
	}
	.offset10 {
		margin-left: 83.33333333%;
	}
	.offset11 {
		margin-left: 91.66666667%;
	}
}

/**
 * Grille pour tableau
 */

td.col1,
td.col2,
td.col3,
td.col4,
td.col5,
td.col6,
td.col7,
td.col8,
td.col9,
td.col10,
td.col11,
td.col12 {
	vertical-align: inherit;
	width: 100%;
	min-height: 1px;
	display: table-cell;
}
td.col1 {
	width: 8.33333333%;
}
td.col2 {
	width: 16.66666667%;
}
td.col3 {
	width: 25%;
}
td.col4 {
	width: 33.33333333%;
}
td.col5 {
	width: 41.66666667%;
}
td.col6 {
	width: 50%;
}
td.col7 {
	width: 58.33333333%;
}
td.col8 {
	width: 66.66666667%;
}
td.col9 {
	width: 75%;
}
td.col10 {
	width: 83.33333333%;
}
td.col11 {
	width: 91.66666667%;
}
td.col12 {
	width: 100%;
}

/**
 * Classes rapides
 */

.displayNone {
	display: none;
}
.backgroundWhite {
	background: #FFF;
}
.clearBoth {
	clear: both;
}

/**
 * Thème
 */

/* Alignement du contenu de la bannière */
.themeHeaderTextAlignLeft header {
	text-align: left;
}
.themeHeaderTextAlignCenter header {
	text-align: center;
}
.themeHeaderTextAlignRight header {
	text-align: right;
}

/* Alignement du contenu du menu */
.themeMenuTextAlignLeft nav .menu {
	text-align: left;
}
.themeMenuTextAlignCenter nav .menu {
	text-align: center;
}
.themeMenuTextAlignRight nav .menu {
	text-align: right;
}

/* Hauteur de la bannière */
.themeHeaderHeightSmall header {
	height: 80px;
	line-height: 40px; /* -40px à cause du padding de la bannière */
}
.themeHeaderHeightMedium header {
	height: 160px;
	line-height: 120px; /* -40px à cause du padding de la bannière */
}
.themeHeaderHeightLarge header {
	height: 320px;
	line-height: 280px; /* -40px à cause du padding de la bannière */
}
.themeHeaderHeightAuto header {
	height: auto;
}

/* Hauteur du menu */
.themeMenuHeightSmall nav a,
.themeMenuHeightSmall nav .toggle {
	padding: 10px;
}
.themeMenuHeightMedium nav a,
.themeMenuHeightMedium nav .toggle {
	padding: 15px 10px;
}
.themeMenuHeightLarge nav a,
.themeMenuHeightLarge nav .toggle {
	padding: 20px 15px;
}

/* Position de la bannière */
.themeHeaderPositionHide header {
	display: none;
}
.themeHeaderPositionTop .container header {
	display: none;
}
.themeHeaderPositionSite > header {
	display: none;
}

/* Position du menu */
.themeMenuPositionTop .container > nav,
.themeMenuPositionTop header nav {
	display: none !important; /* Important pour contrer le slideDown du JS */
}
.themeMenuPositionSite > nav,
.themeMenuPositionSite header nav {
	display: none !important; /* Important pour contrer le slideDown du JS */
}
.themeMenuPositionHeader .container > nav,
.themeMenuPositionHeader > nav {
	display: none !important; /* Important pour contrer le slideDown du JS */
}

/* Largeur du site */
.themeSiteWidthLarge .container {
	max-width: 1170px;
}
.themeSiteWidthMedium .container {
	max-width: 970px;
}
.themeSiteWidthSmall .container {
	max-width: 750px;
}

/* Marge autour de la bannière */
.themeHeaderMargin.themeHeaderPositionSite .container header {
	margin: 20px 20px 0;
}

/* Marge autour du menu */
.themeMenuMargin.themeMenuPositionSite .container nav {
	margin: 0 20px
}
/* Cas spécial si la bannière n'est pas dans le site */
.themeMenuMargin.themeMenuPositionSite.themeHeaderPositionTop .container nav,
.themeMenuMargin.themeMenuPositionSite.themeHeaderPositionHide .container nav {
	margin-top: 20px;
}

/* Coins arrondis */
.themeSiteRadius > .container {
	border-radius: 15px;
}

/* Ombre autour du site */
.themeSiteShadow > .container {
	box-shadow: 1px 1px 10px #3C3C3C;
}

/* Cache le titre de la bannière après l'ajout d'une image */
.themeHeaderImage header {
	font-size: 0; /* Fix le bug de whitespace */
	padding: 0;
}
.themeHeaderImage header h1 {
	display: none;
}

/* Répétition de l'image de fond */
.themeBackgroundImageRepeatNo {
	background-repeat: no-repeat;
}
.themeBackgroundImageRepeatX {
	background-repeat: repeat-x;
}
.themeBackgroundImageRepeatY {
	background-repeat: repeat-y;
}
.themeBackgroundImageRepeatAll {
	background-repeat: repeat;
}

/* Allignement de l'image de fond */
.themeBackgroundImagePositionCover {
	background-size: cover;
}
.themeBackgroundImagePositionTopLeft {
	background-position: left top;
}
.themeBackgroundImagePositionTopCenter {
	background-position: center top;
}
.themeBackgroundImagePositionTopRight {
	background-position: right top;
}
.themeBackgroundImagePositionCenterLeft {
	background-position: left center;
}
.themeBackgroundImagePositionCenterCenter {
	background-position: center center;
}
.themeBackgroundImagePositionCenterRight {
	background-position: right center;
}
.themeBackgroundImagePositionBottomLeft {
	background-position: left bottom;
}
.themeBackgroundImagePositionBottomCenter {
	background-position: center bottom;
}
.themeBackgroundImagePositionBottomRight {
	background-position: right bottom;
}

/* Position de l'image de fond */
.themeBackgroundImageAttachmentScroll {
	background-attachment: scroll;
}
.themeBackgroundImageAttachmentFixed {
	background-attachment: fixed;
}