ZwiiCMS/core/layout/common.css
2019-05-12 23:25:59 +02:00

1178 lines
18 KiB
CSS
Executable File

/**
* This file is part of Zwii.
*
* For full copyright and license information, please see the LICENSE
* file that was distributed with this source code.
*
* @author Rémi Jean <remi.jean@outlook.com>
* @copyright Copyright (C) 2008-2018, Rémi Jean
* @license GNU General Public License, version 3
* @link http://zwiicms.com/
*/
/**
* Police des icônes
*/
@import url(https://use.fontawesome.com/releases/v5.7.2/css/all.css);
/**
* Éléments génériques
*/
html,
body {
min-height: 100%;
}
/**
* Petits écrans inférieurs à 768px de largeur, on supprime les marges
*/
@media (max-width: 768px) {
body {
margin:2px 2px !important;
}
#site {
margin:0px auto !important;
}
header {
margin:0px 0px !important;
}
}
@media (max-width: 992px) {
.siteContainer {
display: flex;
flex-direction: column;
}
.siteContainer > #contentLeft {
order: 2;
}
.siteContainer > #contentRight {
order: 3;
}
.siteContainer > #contentSite {
order: 1;
}
}
body {
margin:0px 10px;
}
/**
* Éléments spécifiques
*/
/* Liens */
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* Titres */
h1 {
font-size: 1.8em;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.4em;
}
h4 {
font-size: 1.0em;
}
/* Listes */
ul {
list-style: square;
}
li ul {
margin: 0;
}
option.inactive {
color: darkorange;
}
/* Séparateur */
hr {
border: 0;
border-top: 1px solid #C5D1D4;
}
/* Égalisation des margins */
h1,
h2,
h3,
h4,
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;
}
/*
Signature dans les articles blog et news
*/
.signature {
font-size: 0.8em;
font-style: italic;
text-align: right;
}
/* Tableau */
:not([class^="col"]) > .tableWrapper {
margin: 10px 0;
}
.table {
width: 100%;
border-spacing: 0;
border-collapse: collapse;
}
.table thead tr {
background: #212223;
color: #FFF;
text-align: left;
}
.table tbody tr {
background: #F6F7F8;
-webkit-transition: background .3s ease-out;
transition: background .3s ease-out;
}
.table tbody tr:nth-child(2n + 2) {
background: #ECEFF1;
}
.table tbody tr:hover {
background: #FCF2E8;
}
.table th {
font-weight: normal;
padding: 15px 10px !important;
}
/* 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;
}
/* Notifications */
#notification {
padding: 14px;
color: #FFF;
position: fixed;
left: 50%;
transform: translateX(-50%);
max-width: 500px;
width: 100%;
z-index: 20;
text-align: center;
animation: notificationBounce .5s;
top: 30px;
border-radius: 2px;
}
#notification.notificationSuccess {
background: #27AE60;
}
#notification.notificationError {
background: #E74C3C;
}
#notification.notificationOther {
background: #F39C12;
}
#notificationClose {
cursor: pointer;
float: right;
opacity: .8;
}
#notificationProgress {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 6px;
border-radius: 2px;
}
#notification.notificationSuccess #notificationProgress {
background: #219251;
}
#notification.notificationError #notificationProgress {
background: #D62C1A;
}
#notification.notificationOther #notificationProgress {
background: #D8890B;
}
#notificationClose:hover {
opacity: 1;
}
@keyframes notificationBounce {
0% {
transform: translateX(-50%) translateY(-30px);
}
40% {
transform: translateX(-50%) translateY(10px);
}
60% {
transform: translateX(-50%) translateY(-10px);
}
80% {
transform: translateX(-50%) translateY(5px);
}
100% {
transform: translateX(-50%) translateY(-5px);
}
}
/* Notice */
.notice {
display: inline-block;
color: #E74C3C;
}
/* Container */
.container {
margin: auto;
}
.container-large {
width: 100%;
}
.container-large-fixed {
width: 100%;
position:fixed;
z-index: 15 ;
}
/* Barre de membre */
#bar {
background: #212223;
padding-left: 5px; /* Pour éviter que le select touche le bord lorsque la fenêtre est redimensionnée */
margin: 0 -10px;
text-align: right;
position: -webkit-sticky; /* Safari */
position: sticky;
top: 0;
z-index: 19;
}
/* fin barre pour les membres */
#bar:after {
content: " ";
clear: both;
display: block;
}
#bar ul {
padding: 0;
margin: 0;
list-style: none;
height: 45px;
line-height: 45px;
}
#bar #barLeft {
float: left;
}
#bar #barRight {
float: right;
font-size: .8em;
}
#bar li {
display: inline;
}
#bar a {
display: inline-block;
padding: 0 12px;
color: #FFF;
-webkit-transition: background .3s ease-out;
transition: background .3s ease-out;
}
#bar a:hover {
background: #191A1A;
text-decoration: none;
}
#bar a:active {
background: #111112;
}
#bar select {
width: 250px;
border: 0;
}
@media (max-width: 768px) {
#bar {
text-align: center;
padding: 0;
margin: 0;
}
#bar ul {
float: none !important;
height: auto;
}
#bar #barSelectPage {
width: 70% !important;
}
#bar #barRight {
font-size: 1.2em;
}
#bar #barSelectPage {
width: 80%;
font-size: 120%;
}
}
@media (max-width: 992px) {
#bar .zwiico-user {
display: none;
}
}
/* Site */
#site {
margin: 20px auto;
overflow: hidden;
}
/* Bannière */
body > header {
margin: 0 -10px;
}
header {
position: relative;
margin:0;
padding:0;
}
header span {
display: inline-block;
vertical-align: middle;
line-height: 1.2;
margin: 0 10px;
}
header .container {
overflow: hidden;
height: 100%;
}
/* Menu */
body > nav {
margin: 0 -10px;
}
/* Items du menu */
nav a > img {
margin: -4px 0;
vertical-align: middle;
}
nav #toggle {
cursor: pointer;
text-align: right;
display: none;
font-weight: bold;
}
nav #toggle span {
display: block;
}
nav #menu {
display: block;
}
nav ul {
padding: 0;
margin: 0;
list-style: none;
}
nav li {
display: inline-block;
position: relative;
}
nav li ul {
display: block;
position: absolute;
width: 200px;
z-index: -1;
opacity: 0;
-webkit-transition: .3s ease-out;
transition: .3s ease-out;
padding-left: 10px;
}
nav li ul li {
display: block;
text-align: left;
}
nav li:hover ul {
z-index: 2;
opacity: 1;
}
nav a {
display: inherit;
-webkit-transition: background .3s ease-out;
transition: background .3s ease-out;
}
nav a:hover {
text-decoration: none;
}
@media (max-width: 768px) {
nav #toggle {
display: block;
}
nav #menu {
display: none;
text-align: left !important;
}
nav li {
display: block;
}
nav li ul {
z-index: 1;
opacity: 1;
position: static;
min-width: inherit;
width: auto;
}
nav a {
padding: 10px !important;
}
nav li ul a {
padding-left: 40px !important;
}
}
/* Barre de navigation fixe quand le menu est en-dehors du site */
#navfixedlogout {
position: -webkit-sticky; /* Safari */
position: sticky;
top:0px;
z-index:10;
}
#navfixedconnected {
top:45px;
z-index:10;
position: -webkit-sticky; /* Safari */
position: sticky;
}
/* Taille du menu hamburger */
nav .zwiico-menu {
font-size:1.5em !important;
}
/* Menu vertical */
#menuSide, #menuSideChild {
padding-left: 10px;
margin: 0px;
list-style: none;
}
ul #menuSideChild, li #menuSideChild {
padding-left:10px;
}
/* Corps */
section {
padding: 20px;
min-height: 450px;
}
section #sectionTitle {
margin-top: 0;
}
.userLogin, .updateForm {
min-height: 0px;
}
section:after {
content: " ";
display: table;
clear: both;
}
/* Version des modules*/
.moduleVersion {
font-size: 0.8em;
font-style: italic;
text-align: right;
}
/* Pied de page */
body > footer {
margin: 0 -10px;
}
footer {
text-align: center;
padding: 1px 20px;
vertical-align: middle;
}
#footerLoginLink,
#footerDisplayCopyright,
#footerDisplayVersion,
#footerDisplaySiteMap,
#footerZwiiCMS {
font-size: inherit;
}
/* Conserve le pied de page sur une ligne */
@media (max-width: 992px) {
footer .col4 {
width:100%;
}
#footerCopyright, #footerText, #footerSocials {
text-align: center !important;
}
}
footer #footerSocials span {
color: #FFF;
padding: 9px;
margin: 0 5px;
display: inline-block;
border-radius: 2px;
-webkit-transition: background .3s ease-out;
transition: background .3s ease-out;
}
footer #footerSocials .zwiico-facebook {
background: #3B5999;
}
footer #footerSocials .zwiico-facebook:hover {
background: #324B80;
}
footer #footerSocials .zwiico-linkedin {
background: #007BB6;
}
footer #footerSocials .zwiico-linkedin:hover {
background: #006881;
}
footer #footerSocials .zwiico-instagram {
background: #E4405F;
}
footer #footerSocials .zwiico-instagram:hover {
background: #E02246;
}
footer #footerSocials .zwiico-pinterest {
background: #BD081C;
}
footer #footerSocials .zwiico-pinterest:hover {
background: #9C0717;
}
footer #footerSocials .zwiico-twitter {
background: #55ACEE;
}
footer #footerSocials .zwiico-twitter:hover {
background: #369DEB;
}
footer #footerSocials .zwiico-youtube {
background: #CD201F;
}
footer #footerSocials .zwiico-youtube:hover {
background: #AF1B1B;
}
/* Bulle de dialogue */
.speech {
margin: 16px;
text-align: center;
}
.speechMimi {
display: block;
margin: auto;
}
.speechBubble {
display: block;
padding: 20px;
position: relative;
max-width: 500px;
width: 100%;
margin: 16px auto;
text-align: left;
border-radius: 2px;
-webkit-transition: background .3s ease-out;
transition: background .3s ease-out;
}
.speechBubble:before {
content: " ";
position: absolute;
left: 50%;
margin-left: -20px;
bottom: -30px;
border: 20px solid;
}
/* Remonter en haut */
#backToTop {
position: fixed;
z-index: 30;
right: 30px;
bottom: 50px;
padding: 13px 16px 16px;
background: rgba(33, 34, 35, .8);
color: #FFF;
cursor: pointer;
display: none;
border-radius: 50%;
-webkit-transition: background.3s ease-out;
transition: background .3s ease-out;
}
#backToTop:hover {
background: rgba(33, 34, 35, .9);
}
#backToTop:active {
background: rgba(33, 34, 35, 1);
}
/* Message sur les cookies */
#cookieConsent {
opacity: .9;
background: #212223;
position: fixed;
right: 0;
bottom: 0;
left: 0;
color: #FFF;
padding: 10px;
z-index: 20;
text-align: center;
font-size: .9em;
}
#cookieConsentConfirm {
cursor: pointer;
margin-left: 10px;
background: #666;
padding: 4px 8px;
display: inline-block;
-webkit-transition: background.3s ease-out;
transition: background .3s ease-out;
}
#cookieConsentConfirm:hover {
background: #777;
}
/* Bloc */
.block {
border: 1px solid #D8DFE3;
padding: 20px 20px 10px;
margin: 20px 0;
word-wrap: break-word;
border-radius: 2px;
}
.block:first-of-type {
margin-top: 0;
}
.block:last-of-type {
margin-bottom: 0;
}
.block h4 {
margin: -20px -20px 10px -20px;
padding: 10px;
background: #ECEFF1;
}
/* Aides */
.helpButton {
cursor: help;
margin: 0 5px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Lightbox */
.lightbox {
background: #FFF;
width: 100vw;
max-width: 500px;
padding: 20px;
}
.lightbox .lightboxButtons {
text-align: center;
margin-top: 30px;
}
.lightbox .lightboxButtons .button {
width: 100%;
max-width: 80px;
margin: 0 10px;
}
/**
* Inputs
*/
/* Inputs génériques */
input[type='email'],
input[type='text'],
input[type='password'],
.inputFile,
select,
textarea {
padding: 10px; /* -1px à cause des bordures */
background: #FFF;
border: 1px solid #D8DFE3;
width: 100%;
border-radius: 2px;
font-family: inherit;
-webkit-transition: border .3s ease-out;
transition: border .3s ease-out;
}
select {
padding: 7px;
}
input[type='email']:hover,
input[type='text']:hover,
input[type='password']:hover,
.inputFile:hover,
select:hover,
textarea:hover {
border: 1px solid;
}
input[type='email'].notice,
input[type='text'].notice,
input[type='password'].notice,
.inputFile.notice,
select.notice,
textarea.notice {
border: 1px solid #E74C3C;
background: #FAD7D3;
}
input[type='email'].notice:hover,
input[type='text'].notice:hover,
input[type='password'].notice:hover,
.inputFile.notice:hover,
select.notice:hover,
textarea.notice:hover {
border: 1px solid #A82315;
}
button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
background: #F6F7F8 !important;
color: #94A5B0 !important;
}
button:disabled .zwiico-spin {
color: #50616C !important /* Icône de soumission unique */
}
button {
width: 100%;
padding: 11px;
border: 0;
cursor: pointer;
font-family: inherit;
border-radius: 2px;
-webkit-transition: background .3s ease-out;
transition: background .3s ease-out;
}
textarea {
height: 100px;
resize: vertical;
}
label {
display: inline-block;
margin-bottom: 4px;
}
/* Simule le padding des cols pour les inputs en dehors des cols */
:not([class^="col"]) > .inputWrapper {
padding: 10px 0;
}
/* Supprime le padding d'une row dans un col */
[class^="col"] > .row {
margin: -10px;
}
/* Bouton */
.button {
width: 100%;
display: inline-block;
padding: 11px;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: pointer;
border-radius: 2px;
-webkit-transition: background .3s ease-out;
transition: background .3s ease-out;
}
.button:hover {
text-decoration: none;
}
.button.disabled {
pointer-events: none;
cursor: default;
background: #F6F7F8 !important;
color: #94A5B0 !important;
}
.button.buttonGrey {
background: #ECEFF1;
}
.button.buttonGrey:hover {
background: #E2E7EA;
}
.button.buttonGrey:active {
background: #D8DFE3;
}
.button.buttonRed {
background: #E74C3C;
color: #FFF;
}
.button.buttonRed:hover {
background: #E53E2D;
}
.button.buttonRed:active {
background: #E3301E;
}
/* Upload de fichiers */
.inputFile {
margin: 0;
display: inline-block;
width: 88%;
}
.inputFileDelete {
display: inline-block;
width: 10%;
padding: 10px 0;
background: #F5F5F5;
text-align: center;
/*float: right;*/
}
.inputFile:hover {
text-decoration: none;
}
/* 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: #F6F7F8 !important;
color: #94A5B0 !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'] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
opacity: 0;
height: 0;
width: 0;
}
input[type='checkbox'] + label {
display: inline-block;
margin-right: 10px;
cursor: pointer;
}
input[type='checkbox'] + label span {
vertical-align: middle;
}
input[type='checkbox'] + 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: #FDFDFD;
border: 1px solid #D8DFE3;
vertical-align: top;
border-radius: 2px;
}
input[type='checkbox'].notice + label:before {
background: #E74C3C;
}
input[type='checkbox']:hover + label:before,
input[type='checkbox']:checked:active + label:before {
background: #ECEFF1;
}
input[type='checkbox']:disabled + label:before{
background: #F6F7F8 !important;
}
/* Sélecteur de date */
.datepicker {
cursor: text;
}
.pika-select {
padding: 0; /* À cause du padding ajouté aux selects */
}
/**
* Grille
*/
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.row {
margin: 0 -10px;
font-size: 0; /* Hack whitespace */
}
/* Supprime les margins du premier et du dernier élément d'un col, utile pour les cols générés depuis l'éditeur de texte. (Ne s'applique pas aux rows pour ne pas supprimer les margins négatifs) */
.row > div > :first-child:not(.row) {
margin-top: 0;
}
.row > div > :last-child:not(.row) {
margin-bottom: 0;
}
.col1,
.col2,
.col3,
.col4,
.col5,
.col6,
.col7,
.col8,
.col9,
.col10,
.col11,
.col12 {
vertical-align: top;
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,
th.col1,
td.col2,
th.col2,
td.col3,
th.col3,
td.col4,
th.col4,
td.col5,
th.col5,
td.col6,
th.col6,
td.col7,
th.col7,
td.col8,
th.col8,
td.col9,
th.col9,
td.col10,
th.col10,
td.col11,
th.col11,
td.col12,
th.col12 {
vertical-align: inherit;
width: 100%;
min-height: 1px;
display: table-cell;
}
td.col1,
th.col1 {
width: 8.33333333%;
}
td.col2,
th.col2 {
width: 16.66666667%;
}
td.col3,
th.col3 {
width: 25%;
}
td.col4,
th.col4 {
width: 33.33333333%;
}
td.col5,
th.col5 {
width: 41.66666667%;
}
td.col6,
th.col6 {
width: 50%;
}
td.col7,
th.col7 {
width: 58.33333333%;
}
td.col8,
th.col8 {
width: 66.66666667%;
}
td.col9,
th.col9 {
width: 75%;
}
td.col10,
th.col10 {
width: 83.33333333%;
}
td.col11,
th.col11 {
width: 91.66666667%;
}
td.col12,
th.col12 {
width: 100%;
}
/**
* Classes rapides
*/
.displayNone {
display: none;
}
.textAlignCenter {
text-align: center;
}
.textAlignRight {
text-align: right;
}
.verticalAlignBottom {
vertical-align: bottom;
}
.verticalAlignMiddle {
vertical-align: middle;
}
.clearBoth {
clear: both;
}
.colorGreen {
color: #27AE60;
}
.colorRed {
color: #E74C3C;
}
.colorOrange {
color: #F39C12;
}