ZwiiCMS/core/layout/common.css

1026 lines
16 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/
*/
/**
* Éléments génériques
*/
html,
body {
min-height: 100%;
}
body {
margin: 0 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.2em;
}
/* 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,
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 */
: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%;
}
/* 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;
}
#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;
}
#bar ul {
float: none !important;
height: auto;
}
#bar select {
width: 70%;
}
}
/* 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;
}
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;
}
nav li ul li {
display: block;
text-align: left;
}
nav li:hover ul {
z-index: 1;
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: 15px !important;
}
nav li ul a {
padding-left: 40px !important;
}
}
/* Corps */
section {
padding: 20px;
}
section #sectionTitle {
margin-top: 0;
}
section:after {
content: " ";
display: table;
clear: both;
}
/* Pied de page */
body > footer {
margin: 0 -10px;
}
footer {
text-align: center;
font-size: .8em;
padding: 10px 20px;
}
footer #footerSocials {
font-size: 1.6em;
}
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-googleplus {
background: #DD4B39;
}
footer #footerSocials .zwiico-googleplus:hover {
background: #D03724;
}
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;
}