This repository has been archived on 2024-04-03. You can view files and clone it, but cannot push or open issues or pull requests.
qdouze2-wordpress-theme/style.css
2023-11-20 10:05:50 +01:00

1532 lines
32 KiB
CSS

@charset "UTF-8";
/*
Theme Name: Quarante-Douze
Theme URI: https://git.kobold.cafe/quarante-douze/qdouze2-wordpress-theme
Author: Kazhnuz
Author URI: https://kazhnuz.space
Description: The default theme for Quarante-Douze, my tech blog.
Version: 0.1
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, two-columns, right-sidebar
Text Domain: qdouze2-wordpress-theme
This theme is licensed under the GPLv3.
*/
/* --- 00. PALETTE --- */
/*
* Les définitions globales des couleurs du theme.
*
* Elle permettent de définir rapidement à la fois les couleurs
* de base qui seront utilisée pour tout le theme, mais
* également celles spécifiques pour certains sujets (liens, texte)
*
*/
@font-face {
font-family: 'Teko';
src: url("fonts/teko-light-webfont.woff");
font-weight: 300; }
@font-face {
font-family: 'Teko';
src: url("fonts/teko-regular-webfont.woff");
font-weight: 400; }
@font-face {
font-family: 'Teko';
src: url("fonts/teko-medium-webfont.woff");
font-weight: 500; }
@font-face {
font-family: 'Teko';
src: url("fonts/teko-semibold-webfont.woff");
font-weight: 600; }
@font-face {
font-family: 'Teko';
src: url("fonts/teko-bold-webfont.woff2") format("woff2"), url("fonts/teko-bold-webfont.woff") format("woff");
font-weight: 700;
font-display: swap; }
/* --- 00. COLORS --- */
/*
* La gestion des couleurs dans le theme. Cette partie de la stylesheet est
* automatique et n'a pas besoin d'être modifiée
*/
/* 0. CORE
** All the basic functions from the stylesheet
*/
*,
*::before,
*::after {
box-sizing: inherit; }
html {
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
text-align: left;
font-size: 4.75mm;
line-height: 1.6rem;
font-weight: 400;
box-sizing: border-box;
-webkit-text-size-adjust: 100%; }
body {
margin: 0;
overflow-x: hidden;
text-rendering: optimizeLegibility;
color: var(--text-color); }
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted; }
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline; }
sub {
bottom: -0.25em; }
sup {
top: -0.5em; }
:root {
--accent-color: #e03131;
--text-color-contrast: #ffffff;
--accent-color-hover: #cc1f1f;
--text-color:#212529;
--link-color-hover:rgba(33, 37, 41, 0.15);
--link-color:#c11d1d; }
strong {
font-weight: 600; }
em {
font-style: italic;
font-weight: 400; }
mark {
padding: 0.05rem 0.25rem;
border-radius: 0.1rem; }
a {
color: var(--link-color);
outline-color: #e03131;
padding: 0.05rem;
border-radius: 0.1rem;
text-decoration: underline dashed 1px;
text-underline-offset: 0.1rem; }
a:visited {
color: var(--link-color); }
a:hover, a:active {
background-color: var(--link-color-hover);
text-decoration: none; }
a:focus-visible, input:focus-visible {
outline-style: dashed;
outline-width: 2px;
outline-offset: 1px; }
mark {
background-color: white;
color: inherit; }
p, ul, ol {
padding: 0;
padding-bottom: 1.6rem;
margin: 0; }
p:last-child, ul:last-child, ol:last-child {
padding-bottom: 0; }
ul, ol {
list-style: disc; }
ul ul, ul ol, ol ul, ol ol {
padding-bottom: 0;
margin: 0; }
ul li, ol li {
margin: 0;
margin-left: 1.6rem;
line-height: 1.6rem; }
ul.nolist, ol.nolist {
display: inline;
list-style: none;
margin: 0;
padding: 0; }
ul.nolist li, ol.nolist li {
display: inline;
margin: 0;
padding: 0; }
::selection, ::-moz-selection {
background-color: #1971c2;
color: #ffffff; }
h1, h2, h3, h4, h5, h6, h7 {
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
text-align: left;
font-size: 1em;
padding: 0;
margin: 0;
font-weight: 400;
padding-bottom: 1.6rem; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h7 a {
border: none; }
sup > a, sub > a {
color: #e03131;
background-color: transparent; }
sup > a:hover, sup > a:focus, sup > a:active, sub > a:hover, sub > a:focus, sub > a:active {
color: #c11d1d; }
.main-title {
font-family: Teko, sans-serif;
font-size: 3.815rem;
line-height: 4.8rem;
font-weight: 800; }
h1, .title-1 {
font-family: Teko, sans-serif;
font-size: 2.441rem;
line-height: 3.2rem;
font-weight: 800;
color: #e03131; }
h2, .title-2 {
font-size: 2.441rem;
line-height: 3.2rem;
font-weight: 300; }
h3, .title-3 {
font-size: 1.953rem;
line-height: 3.2rem;
font-weight: 600; }
h4, .title-4 {
font-size: 1.563rem;
line-height: 3.2rem;
font-weight: 800; }
h5, .title-5 {
font-size: 1.25rem;
line-height: 1.6rem;
font-weight: 600; }
h6, .title-6 {
font-size: 1rem;
line-height: 1.6rem;
font-weight: 800; }
hr {
border: 0px solid rgba(1, 1, 1, 0.15);
border-bottom: 1px;
margin: 1.5em;
box-sizing: content-box;
height: 0;
overflow: visible; }
pre {
font-family: monospace, monospace;
font-size: 1em; }
.small-text,
small {
font-size: 0.9em; }
.time {
font-style: italic;
text-align: right;
width: 100%;
display: block; }
#wrapper {
background-color: #ffffff; }
.container-big {
padding-left: 1.6rem;
padding-right: 1.6rem;
max-width: 1600px;
margin: auto; }
.container, .container-onecolumn {
padding-left: 1.6rem;
padding-right: 1.6rem;
max-width: 1200px;
margin: auto; }
/* --- 04. COMPOSANTS --- */
/*
* Les différents composants réutilisables de la page.
*
*/
.badge {
border: 0px solid rgba(0, 0, 0, 0.3);
border-radius: 4px 4px 4px 4px;
background-color: transparent;
line-height: 1.5em;
padding-left: 0.4em;
padding-right: 0.4em;
text-decoration: none !important;
background-color: var(--accent-color);
color: var(--text-color-contrast); }
.btn {
border: 0px solid rgba(0, 0, 0, 0.3);
border-radius: 4px 4px 4px 4px;
background-color: transparent;
text-decoration: none;
padding: 0.5333333333em 1.6em;
margin: 0.5333333333em 0.8em 1.6rem;
line-height: 1.6rem;
height: auto;
transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
outline-color: var(--accent-color);
color: var(--text-color-contrast);
background-color: var(--accent-color);
font-weight: 400; }
.btn:visited {
color: var(--text-color-contrast); }
.btn:hover, .btn:active {
background-color: var(--accent-color-hover);
outline-color: var(--accent-color-hover);
box-shadow: none; }
p .btn:last-child {
margin-bottom: 0; }
.btn .fake {
background-color: transparent !important;
color: var(--text-color); }
.btn.disabled,
.btn:disabled {
opacity: 0.8;
background-color: var(--accent-color) !important;
outline-color: var(--accent-color) !important;
color: var(--text-color-contrast) !important; }
.btn-small {
padding: 0.1333333333em 0.2em;
margin: 0.1333333333em 0.2em 1.6rem; }
.btn-small:before {
left: -0.2em;
right: -0.2em; }
.btn-readmore,
.btn-link {
color: var(--link-color);
background-color: transparent; }
.btn-readmore:visited,
.btn-link:visited {
color: var(--link-color); }
.btn-readmore:hover::before, .btn-readmore:active::before,
.btn-link:hover::before,
.btn-link:active::before {
background-color: var(--link-color-hover); }
.btn-toolbar {
padding: 0 1.6em; }
.btn-group > .btn {
border-radius: 4px 4px 4px 4px;
margin: 0 0 0 0 !important; }
.btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.btn-group:not(:first-child) > .btn:before {
content: " " !important;
border-left: 1px solid rgba(0, 0, 0, 0.2); }
.btn-group:not(:last-child) > .btn {
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
ul.breadcrumb,
ol.breadcrumb,
.breadcrumb {
border: 0px solid rgba(0, 0, 0, 0.3);
border-radius: 4px 4px 4px 4px;
background-color: transparent;
background-color: #e9ecef;
padding: 0.8em;
margin: 0 0 1.6rem;
display: flex;
flex-direction: row;
align-items: flex-start;
list-style: none; }
ul.breadcrumb::before,
ol.breadcrumb::before,
.breadcrumb::before {
background-color: #e9ecef; }
ul.breadcrumb li,
ol.breadcrumb li,
.breadcrumb li {
margin: 0; }
.breadcrumb li:not(:first-child)::before {
content: "/";
padding: 0.3rem; }
.breadcrumb .active {
font-weight: 600; }
nav.pagination {
padding-bottom: 1.6rem; }
nav.pagination .nav-links {
text-align: center;
width: 100%; }
nav.pagination .page-numbers,
nav.pagination .next,
nav.pagination .prev {
border: 0px solid rgba(0, 0, 0, 0.3);
border-radius: 4px 4px 4px 4px;
background-color: transparent;
padding: 0.2em 0.4em;
margin: 0.2em;
text-decoration: none; }
nav.pagination .page-numbers:not(.current):not(.dots),
nav.pagination .next:not(.current):not(.dots),
nav.pagination .prev:not(.current):not(.dots) {
outline-color: var(--accent-color);
color: var(--link-color); }
nav.pagination .page-numbers:not(.current):not(.dots):hover,
nav.pagination .next:not(.current):not(.dots):hover,
nav.pagination .prev:not(.current):not(.dots):hover {
background-color: var(--link-color-hover); }
nav.pagination .page-numbers.current,
nav.pagination .next.current,
nav.pagination .prev.current {
background-color: #e03131;
color: #ffffff;
background-color: #e03131; }
.card {
border-radius: 8px 8px 8px 8px;
background-color: #e9ecef;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0);
border: none;
margin: 0;
margin-bottom: 1.6rem;
display: flex;
flex-direction: column;
color: #212529; }
.card > * {
margin-left: 1em;
margin-right: 1em; }
.card > *:first-child, .card > *.sr-only:first-child ~ * {
margin-top: 2em; }
.card > *:first-child.card-header, .card > *.sr-only:first-child ~ *.card-header {
margin-top: 0px; }
.card > *:last-child {
margin-bottom: 2em; }
.card > *:last-child.card-header {
margin-bottom: 0px; }
.card-body {
padding: 0 !important; }
.card-header {
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 1em;
font-weight: 600;
padding: 1em 1.6em;
padding-bottom: 1em !important;
margin: 0.8em 0px;
line-height: 1;
position: relative;
left: 0px;
width: 100%;
border: 0px solid rgba(0, 0, 0, 0.3);
border-radius: 4px 4px 4px 4px;
background-color: transparent;
background-color: var(--accent-color);
border-radius: 0;
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: var(--text-color-contrast); }
.card-header:first-child {
border-top-left-radius: 8px;
border-top-right-radius: 8px; }
.card-header:last-child {
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px; }
.card-header .icon {
margin-right: 0.25em; }
.card-header::before {
background-color: var(--accent-color); }
ul.card-list,
.card > ul {
padding: 0;
margin: 0; }
ul.card-list li.list-element,
.card > ul li.list-element {
line-height: 0.8em;
padding: 0.4em, 0.4em, 0.4em, 0.8em;
margin: 0; }
.menu {
display: flex;
flex-direction: column; }
.menu ul,
.menu li {
list-style: none;
padding: 0;
margin: 0; }
.menu a,
.menu a:visited {
display: flex;
line-height: 1.6em;
padding: 0.4em;
margin: 0;
justify-content: space-between;
align-items: center;
text-decoration: none;
word-wrap: none;
text-overflow: ellipsis;
overflow: hidden; }
.menu a .badge,
.menu a:visited .badge {
margin: 0; }
.menu a {
color: var(--text-color);
outline-color: var(--text-color); }
.menu a:hover, .menu a:active, .menu a.submenu:focus {
background-color: var(--link-color-hover); }
.submenu .fa-caret-down {
position: relative;
top: 2px;
font-size: 0.8em; }
.toolbar {
flex-direction: row;
padding: 0.4em; }
.toolbar ul {
display: flex;
flex-direction: row;
flex-grow: 1; }
.toolbar li {
text-align: center;
position: relative; }
.toolbar li a,
.toolbar li span,
.toolbar li em,
.toolbar li strong, .toolbar li.toolbar-element {
display: block;
padding: 0.5333333333em 0.8em; }
.toolbar li ul {
visibility: hidden;
opacity: 0;
position: absolute;
transition: all 0.5s ease;
margin-top: 0rem;
left: 0;
display: none;
padding: 0.33rem;
z-index: 2;
background-color: #e9ecef; }
.toolbar li:hover ul,
.toolbar li ul:hover, .toolbar li:focus-within ul {
visibility: visible;
opacity: 1;
display: flex;
flex-direction: column;
border-radius: 8px;
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);
width: max-content; }
.toolbar li:hover ul li,
.toolbar li ul:hover li, .toolbar li:focus-within ul li {
text-align: left; }
.menu-divider,
.menu ul h1,
ul.menu h1,
.menu h2,
ul.menu h2 {
position: relative;
left: -0.4em;
font-weight: 800;
padding-top: 0.4em;
padding-bottom: 0.4em;
font-size: 1em;
line-height: 1.6em; }
.menu-label {
transition: background-color .2s, border .2s, box-shadow .2s, color .2s;
padding-left: 0.4em;
padding-right: 0.4em; }
.menu-label:hover, .menu-label:active {
background-color: transparent; }
blockquote,
.quote,
.well,
pre,
.pre,
.well-pre,
.toast,
.code {
border: 0;
border-radius: 4px;
margin: 0 0 1.6rem 0;
padding: 1.6rem 1rem 1.6rem 1rem;
max-width: 100%;
font-style: italic;
background-color: #e9ecef;
color: #212529;
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); }
.toast {
font-size: 0.8rem;
line-height: 1.5em;
padding: 0.8em; }
code {
font-family: monospace, monospace; }
table {
border-collapse: collapse; }
table, th, td {
border: 0;
padding: 0;
margin: 0; }
th, td {
vertical-align: center;
padding-top: 0.325em;
padding-bottom: 0.325em; }
th {
font-weight: 800; }
.sidebar-container {
width: 100%;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
row-gap: 1.6rem;
column-gap: 3.2rem;
grid-template-areas: "side" "main"; }
@media (min-width: 992px) {
.sidebar-container {
grid-template-columns: 360px auto;
grid-template-areas: "side main"; } }
.sidebar-container .sidebar {
padding: 1rem; }
input,
textarea {
width: 100%;
background-color: #ffffff;
border-radius: 4px;
border: 0px solid rgba(0, 0, 0, 0);
padding: 0.4em;
line-height: 1.6em; }
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
font-size: 100%;
line-height: inherit;
margin: 0; }
button,
select {
text-transform: none; }
button,
[type="button"],
[type="reset"],
[type="submit"] {
appearance: button;
-webkit-appearance: button; }
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0; }
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 2px dotted var(--accent-color); }
fieldset {
padding: 0.35em 0.75em 0.625em; }
legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal; }
progress {
vertical-align: baseline; }
textarea {
overflow: auto; }
[type="checkbox"],
[type="radio"] {
box-sizing: border-box;
padding: 0; }
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto; }
[type="search"] {
appearance: textfield;
-webkit-appearance: textfield;
outline-offset: -2px; }
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none; }
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit; }
/* 1. Utils
** All the utilities class of the stylesheet
*/
/* 1.0 - Accessibility classes
* Some classes to help accessibility
**/
.sr-only, .screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto; }
.skip {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden; }
.skip:focus-within {
position: static;
width: auto;
height: auto; }
/* 1.1 - Alignement classes
* Handle easily alignement and flexboxes
**/
.flex-that {
display: flex;
justify-content: space-between; }
.align-center {
text-align: center;
text-indent: 0 !important; }
.align-left {
text-align: left; }
.align-right {
text-align: right; }
.round, .pill {
border-radius: 9999px; }
.no-borders {
border-width: 0px;
border-style: none; }
/* 1.2 - Colorization classes
* Colorize some aspect of a class
**/
.c-primary {
--accent-color: #e03131;
--text-color-contrast: #ffffff;
--accent-color-hover: #cc1f1f; }
.c-secondary {
--accent-color: #343a40;
--text-color-contrast: #ffffff;
--accent-color-hover: #3d444b; }
.c-warning {
--accent-color: #e8590c;
--text-color-contrast: #ffffff;
--accent-color-hover: #c44b0a; }
.c-danger {
--accent-color: #e03131;
--text-color-contrast: #ffffff;
--accent-color-hover: #cc1f1f; }
.c-info {
--accent-color: #1971c2;
--text-color-contrast: #ffffff;
--accent-color-hover: #155da0; }
.c-success {
--accent-color: #2f9e44;
--text-color-contrast: #ffffff;
--accent-color-hover: #268137; }
.c-muted {
--accent-color: #adb5bd;
--text-color-contrast: #ffffff;
--accent-color-hover: #98a2ac; }
.c-light {
--accent-color: #ffffff;
--text-color-contrast: #212529;
--accent-color-hover: #ececec; }
.c-dark {
--accent-color: #343a40;
--text-color-contrast: #ffffff;
--accent-color-hover: #3d444b; }
.bg-accent {
background-color: var(--accent-color); }
.bg-dark {
background-color: #343a40; }
.bg {
background-color: #ffffff; }
.bg-alt {
background-color: #e9ecef; }
.bg-soft-primary {
background-color: #ffc9c9;
color: #212529; }
.bg-soft-primary a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-primary:hover {
background-color: #ffc9c9;
color: #212529; }
.bg-soft-primary:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-secondary {
background-color: #adb5bd;
color: #ffffff; }
.bg-soft-secondary a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-secondary:hover {
background-color: #adb5bd;
color: #ffffff; }
.bg-soft-secondary:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-warning {
background-color: #ffd8a8;
color: #212529; }
.bg-soft-warning a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-warning:hover {
background-color: #ffd8a8;
color: #212529; }
.bg-soft-warning:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-danger {
background-color: #ffc9c9;
color: #212529; }
.bg-soft-danger a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-danger:hover {
background-color: #ffc9c9;
color: #212529; }
.bg-soft-danger:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-info {
background-color: #a5d8ff;
color: #212529; }
.bg-soft-info a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-info:hover {
background-color: #a5d8ff;
color: #212529; }
.bg-soft-info:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-success {
background-color: #b2f2bb;
color: #212529; }
.bg-soft-success a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-success:hover {
background-color: #b2f2bb;
color: #212529; }
.bg-soft-success:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-muted {
background-color: #e9ecef;
color: #212529; }
.bg-soft-muted a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-muted:hover {
background-color: #e9ecef;
color: #212529; }
.bg-soft-muted:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-light {
background-color: #ffffff;
color: #212529; }
.bg-soft-light a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-light:hover {
background-color: #ffffff;
color: #212529; }
.bg-soft-light:hover a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-dark {
background-color: #adb5bd;
color: #ffffff; }
.bg-soft-dark a {
color: currentColor;
outline-color: currentColor; }
.bg-soft-dark:hover {
background-color: #adb5bd;
color: #ffffff; }
.bg-soft-dark:hover a {
color: currentColor;
outline-color: currentColor; }
.fg-light {
--text-color:#ffffff;
--link-color-hover:rgba(255, 255, 255, 0.3); }
.fg-dark {
color: #212529;
--text-color:#212529;
--link-color-hover:rgba(33, 37, 41, 0.15); }
/* 1.3 - List classes
* Handle more easily list
**/
.no-pills {
list-style: none; }
/* 1.3 - Sizing classes
* Handle sizing and margin
**/
.m-half {
margin: 0.8rem; }
.mb-half {
margin-bottom: 0.8rem; }
.mr-half {
margin-right: 0.8rem; }
.ml-half {
margin-left: 0.8rem; }
.mt-half {
margin-top: 0.8rem; }
.m-0 {
margin: 0rem; }
.mb-0 {
margin-bottom: 0rem; }
.mr-0 {
margin-right: 0rem; }
.ml-0 {
margin-left: 0rem; }
.mt-0 {
margin-top: 0rem; }
.m-1 {
margin: 1.6rem; }
.mb-1 {
margin-bottom: 1.6rem; }
.mr-1 {
margin-right: 1.6rem; }
.ml-1 {
margin-left: 1.6rem; }
.mt-1 {
margin-top: 1.6rem; }
.m-2 {
margin: 3.2rem; }
.mb-2 {
margin-bottom: 3.2rem; }
.mr-2 {
margin-right: 3.2rem; }
.ml-2 {
margin-left: 3.2rem; }
.mt-2 {
margin-top: 3.2rem; }
.m-3 {
margin: 4.8rem; }
.mb-3 {
margin-bottom: 4.8rem; }
.mr-3 {
margin-right: 4.8rem; }
.ml-3 {
margin-left: 4.8rem; }
.mt-3 {
margin-top: 4.8rem; }
.m-4 {
margin: 6.4rem; }
.mb-4 {
margin-bottom: 6.4rem; }
.mr-4 {
margin-right: 6.4rem; }
.ml-4 {
margin-left: 6.4rem; }
.mt-4 {
margin-top: 6.4rem; }
.p-half {
padding: 0.8rem; }
.pb-half {
padding-bottom: 0.8rem; }
.pr-half {
padding-right: 0.8rem; }
.pl-half {
padding-left: 0.8rem; }
.pt-half {
padding-top: 0.8rem; }
.p-0 {
padding: 0rem; }
.pb-0 {
padding-bottom: 0rem; }
.pr-0 {
padding-right: 0rem; }
.pl-0 {
padding-left: 0rem; }
.pt-0 {
padding-top: 0rem; }
.p-1 {
padding: 1.6rem; }
.pb-1 {
padding-bottom: 1.6rem; }
.pr-1 {
padding-right: 1.6rem; }
.pl-1 {
padding-left: 1.6rem; }
.pt-1 {
padding-top: 1.6rem; }
.p-2 {
padding: 3.2rem; }
.pb-2 {
padding-bottom: 3.2rem; }
.pr-2 {
padding-right: 3.2rem; }
.pl-2 {
padding-left: 3.2rem; }
.pt-2 {
padding-top: 3.2rem; }
.p-3 {
padding: 4.8rem; }
.pb-3 {
padding-bottom: 4.8rem; }
.pr-3 {
padding-right: 4.8rem; }
.pl-3 {
padding-left: 4.8rem; }
.pt-3 {
padding-top: 4.8rem; }
.p-4 {
padding: 6.4rem; }
.pb-4 {
padding-bottom: 6.4rem; }
.pr-4 {
padding-right: 6.4rem; }
.pl-4 {
padding-left: 6.4rem; }
.pt-4 {
padding-top: 6.4rem; }
.f-column {
display: flex;
flex-direction: column; }
.f-column.reverse {
flex-direction: column-reverse; }
.f-row {
display: flex;
flex-direction: row; }
.f-row.reverse {
flex-direction: row-reverse; }
.f-start {
justify-content: flex-start; }
.f-end {
justify-content: flex-end; }
.f-center {
justify-content: center; }
.f-around {
justify-content: space-around; }
.f-between {
justify-content: space-between; }
.d-none {
display: none !important; }
@media (min-width: 576px) {
.d-none-sm {
display: none !important; } }
@media (min-width: 768px) {
.d-none-md {
display: none !important; } }
@media (min-width: 992px) {
.d-none-lg {
display: none !important; } }
@media (min-width: 1200px) {
.d-none-xl {
display: none !important; } }
@media (min-width: 1600px) {
.d-none-xxl {
display: none !important; } }
.d-block {
display: block !important; }
@media (min-width: 576px) {
.d-block-sm {
display: block !important; } }
@media (min-width: 768px) {
.d-block-md {
display: block !important; } }
@media (min-width: 992px) {
.d-block-lg {
display: block !important; } }
@media (min-width: 1200px) {
.d-block-xl {
display: block !important; } }
@media (min-width: 1600px) {
.d-block-xxl {
display: block !important; } }
.d-flex {
display: flex !important; }
@media (min-width: 576px) {
.d-flex-sm {
display: flex !important; } }
@media (min-width: 768px) {
.d-flex-md {
display: flex !important; } }
@media (min-width: 992px) {
.d-flex-lg {
display: flex !important; } }
@media (min-width: 1200px) {
.d-flex-xl {
display: flex !important; } }
@media (min-width: 1600px) {
.d-flex-xxl {
display: flex !important; } }
/* 4 - Custom styling
* Styles that are custom to this particular theme
**/
/* --- 03. GLOBAL STYLING --- */
/*
* Les styles "globaux" touchant toute la page.
*
*/
.no-pills {
list-style: none; }
.align-center {
text-align: center; }
.align-left {
text-align: left; }
.align-right {
text-align: right; }
/* ------------------ HEADERS ------------------- */
#page-header {
background: #e03131 url("img/background.png");
margin-bottom: 1.5rem;
font-size: 0.8rem; }
#page-header .fa {
font-size: 1rem; }
header h1 {
border-style: none !important;
font-weight: 800;
font-size: 5.4em;
font-style: oblique;
padding: 1.5rem;
line-height: 1rem;
max-width: 1200px;
margin: auto;
text-align: center; }
header h1 img {
max-width: 800px;
height: auto;
margin-top: 0rem;
width: 100%; }
header h1 a, header h1 a:visited, header h1 a:hover {
background-color: transparent;
outline-color: white;
display: block; }
.osd {
background-color: rgba(0, 0, 0, 0.3); }
.navbar {
border-left: 0;
border-right: 0;
padding: 0.75rem;
color: #ffffff; }
.navbar a {
color: #ffffff; }
.navbar li {
margin: 0; }
.categories {
font-weight: 800;
font-size: 0.8rem; }
.dropdown-menu {
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0), inset 0px -2px 0px rgba(0, 0, 0, 0); }
/* ------------------ CONTAINERS ------------------- */
.container-big {
padding-left: 1.6rem;
padding-right: 1.6rem;
max-width: 1200px;
margin: auto; }
.container-blog {
padding-left: 1.6rem;
padding-right: 1.6rem;
max-width: 1200px;
margin: auto;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
row-gap: 1.6rem;
column-gap: 1.5rem;
grid-template-areas: "main" "side"; }
@media (min-width: 992px) {
.container-blog {
grid-template-columns: auto 300px;
grid-template-areas: "main side"; } }
.fullwidth {
grid-column: span 2; }
.sidebar {
grid-area: side;
font-size: 0.8rem; }
ul.tag-list {
display: flex;
padding-bottom: 0;
overflow: hidden;
height: auto;
flex-wrap: wrap; }
ul.tag-list li {
list-style: none;
margin: 3px; }
.container-preview {
padding-left: 1.6rem;
padding-right: 1.6rem;
max-width: 1200px;
margin: auto;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
row-gap: 1.6rem;
column-gap: 3rem;
grid-template-areas: "main" "side"; }
@media (min-width: 992px) {
.container-preview {
grid-template-columns: 360px auto;
grid-template-areas: "side main"; } }
.container-onecolumn {
max-width: 1280px;
margin: auto;
padding-bottom: 1.6rem; }
/* ------------------ PAGE ------------------- */
#wrapper {
background-color: #ffffff; }
/* ------------------ FOOTER ------------------- */
body {
background-color: #343a40; }
footer {
color: #ffffff;
--link-color: $color-footer-text;
padding-bottom: 1.5rem; }
footer .columns {
font-size: 0.8rem;
margin-top: 1.5rem; }
@media (min-width: 768px) {
footer .columns {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 1.6rem; } }
footer .columns .col {
margin-bottom: 1.6rem; }
.home-toast {
max-width: 800px;
width: 100%;
margin: auto; }
#featured-articles, .preview-grid {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
grid-gap: 0.5333333333rem;
margin: -0.5333333333rem;
padding-bottom: 1.6rem; }
@media (min-width: 576px) {
#featured-articles, .preview-grid {
grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) {
#featured-articles, .preview-grid {
grid-template-columns: 1fr 1fr 1fr; } }
@media (min-width: 1200px) {
.preview-grid {
grid-template-columns: 1fr 1fr 1fr 1fr; } }
.preview-list .preview {
display: block; }
@media (min-width: 576px) {
.preview-list .preview-thumbnail {
width: min-content; }
.preview-list .preview-thumbnail img {
width: 240px;
margin-right: 0.8rem; }
.preview-list .preview {
display: flex;
align-items: start;
margin-bottom: 1.6rem; } }
@media (min-width: 1200px) {
.preview-list .preview-thumbnail img {
width: 320px; } }
.preview {
font-size: 0.8rem;
text-decoration: none;
padding: 0.5333333333rem;
border-radius: 8px; }
.preview-thumbnail {
display: block;
width: 100%;
background-color: transparent;
object-fit: cover;
padding: 0;
line-height: 0; }
.preview-thumbnail img {
width: 100%;
object-fit: cover;
height: auto;
aspect-ratio: 16/9;
border-radius: 8px; }
.preview h2, .preview-featured h2 {
font-size: 1.25rem;
line-height: 1.5rem;
font-family: Teko, sans-serif;
font-weight: 800;
height: 3rem;
color: #212529; }
.preview h2 a, .preview-featured h2 a {
background-color: transparent !important;
color: #212529; }
.preview-featured h2 {
color: #ffffff; }
.preview-excerpt {
margin-top: 0.8rem;
font-size: 0.8rem;
line-height: 1.25rem;
color: rgba(33, 37, 41, 0.8); }
.preview-featured {
font-size: 0.8rem;
padding: 0.5333333333rem; }
.preview-featured .preview-link {
display: block;
padding: 0;
border-radius: 8px;
overflow: hidden;
text-decoration: none; }
.preview-featured .preview-link .preview-item {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
background-size: 100% auto;
background-position: center center;
transition: background-size .5s; }
.preview-featured .preview-link .preview-item:hover {
background-size: 120% auto; }
.preview-featured .preview-overlay {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
height: 100%;
color: white !important;
background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 60%);
padding: 0.2rem; }
.preview-featured .preview-overlay h2 {
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); }
.article img {
max-width: 100%;
height: auto;
margin: auto; }
.article .thumbnail img {
width: 100%;
aspect-ratio: 16 / 9;
border-radius: 8px;
object-fit: cover; }
.article-meta .author-area {
display: flex;
align-items: center;
margin-bottom: 0.8rem; }
.article-meta .author-area img {
border-radius: 9999px;
width: 4.8rem;
height: auto;
margin: 0;
margin-right: 0.8rem; }
.article-meta .article-category .badge {
display: inline-block;
margin-bottom: 0.4rem; }
#mobile-sidebar {
position: fixed;
top: 0;
left: -100vw;
width: 100vw;
height: 100vh;
transition: left 0.2s;
padding: 1rem;
overflow: scroll; }
#mobile-sidebar.shown {
left: 0; }
@media (min-width: 576px) {
#mobile-sidebar {
display: none; } }
.menu-button {
position: fixed;
bottom: 24px;
right: 24px;
background-color: rgba(0, 0, 0, 0.2);
color: #ffffff;
padding: 0.75em;
border: none;
font-size: 1.2rem;
display: flex;
align-content: center;
justify-content: center;
aspect-ratio: 1;
border-radius: 999px; }
.menu-button:hover {
background-color: #e03131; }
@media (min-width: 576px) {
.menu-button {
display: none; } }