* {
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

:root {
    --color1: #2A2A2A;
    --color2: #edf1f0;
    --color3: rgb(255, 255, 100);
}

body {
    max-width: 75em;
    margin: 0 auto;
    padding: 3em 1em 8em 1em;
}

/* ========== HEADER ==========*/

header {
    background-color: var(--color1);
    color: white;
    padding: 1em;
    position: fixed;
    top: 0;
    text-align: right;

    /* compensate for body padding */
    width: calc(100% - 2em);
    max-width: 75em;
    margin-left: -1em;
}

header>* {
    display: inline-block;
}

.brand {
    font-weight: bold;
    position: absolute;
    left: 1em;
}

nav a {
    margin-left: 0.3em;
}

/* ========== FOOTER ========== */
footer {
    margin-top: 3em;
    position: fixed;
    width: 100%;
    bottom: 2em;
    left: 0;
    text-align: center;
}
footer .bbtn {
    background-color: var(--color1);
    color: var(--color2);
}

/* ========== GLOBAL ========== */


.btn, .bbtn, .sbtn {
    border-radius: 100vh;
    text-align: center;
    vertical-align: middle;
    padding: 0.5em;
    box-shadow: 0.8em 0.8em 1em -0.7em var(--color1);
    background-color: var(--color2);
    min-width: 1em;
}

.bbtn {
    padding: 1em;
    margin: 0 0.1em 0 0.1em;
    box-shadow: 0.8em 0.8em 1em -0.5em var(--color1);
}

.bbtn img {
    display: inline-block;
    position: relative;
    bottom: -0.2em;
}

.sbtn {
    padding: 0.2em 0.4em;
    font-size: 0.5em;
    color: var(--color2);
    background-color: var(--color1);
    margin: 0 0.1em 0 0.1em;
    vertical-align: top;
}

.round_btn {
    display: inline-block;
    aspect-ratio : 1 / 1;
}

.center {
    text-align: center;
}

.italic {
    font-style: italic;
}

.object {
    display: flex;
    break-inside: avoid;
    border-radius: 1em;
    background-color: var(--color2);
    padding: 0.3em;
    margin-bottom: 0.5em;
    box-shadow: 1em 1em 2em -2em black;
}

h1 {
    width: fit-content;
    margin: 1em auto;
    border-radius: 100vh;
    display: flex;
    align-items:center;
}

h2 {
    margin: 0.6em 0 0.4em 0;
}

a {
    color: inherit;
    text-decoration: inherit;
}

.block {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    padding: 0 1em;
    min-width: 20em;
}

.b33 {
    width: 32%;
}
.b66{
    width: 65%;
}


.cat_list {
    text-align: center;
    line-height: 3em;
}

/* ========== MONTH ========== */
.day h3 {
    margin: 1em 0 0.3em 0;
    border-bottom: 1px solid var(--color2);
}

.day>div {
    column-width: 20em;
}

.object:target{
    scroll-margin-top: 10em;
    background-color: var(--color3);
}

.o_category {
    border-radius: 0.5em;
    display: flex;
    font-size: 0.8em;
    height: fit-content;
    padding: 0.2em 0 0.2em 0;
    vertical-align: top;
    writing-mode: vertical-lr;
}

.o_content {
    display: flex;
    flex-direction: column;
}
.o_content>div {
    line-height: 1em;
    font-size: 0.9em;
}

/* ========== TYPES ========== */
.t_environnement {
    background-color: lightgreen;
}

.t_culture {
    background-color: lightblue;
}

.t_concert {
    background-color: lightpink;
}

.t_politique {
    background-color: lightcoral;
}

.t_actu {
    background-color: lightyellow;
}

.t_ville {
    background-color: lightslategrey;
}

.t_projection {
    background-color: lightsteelblue;
}

.t_exposition {
    background-color: lightseagreen;
}

.t_festival {
    background-color: antiquewhite;
}

.t_spectacle {
    background-color: rgb(255, 200, 100);
}

.t_littérature {
    background-color: rgb(221, 81, 221);
}

.t_tech {
    background-color: rgb(244, 244, 101);
}

.t_science {
    background-color: greenyellow;
}

.blog_article {
    background-color: var(--color3);
}

/* ========== SOURCES ========== */
.sources tbody {
    text-align: center;
}

.sources td {
    text-align: right;
}

/* ========== BLOG ========== */
article {
    max-width: 40em;
    margin: 0 auto;
}

article h1, article h2, article h1 + p, article p:last-child {
    column-span: all;
}

article h2 {
    margin-top: 2em;
}

article h3 {
    break-after:avoid-column;
    margin-top: 1em;
}

article li, article p {
    break-inside: avoid;
}
article h2 + * {
    margin-top: 0;
}

article a {
   text-decoration: underline;
}

article img {
    float:inline-start;
    margin-bottom: 1em;
    margin-right: 1em;
    max-width: 50%;
    max-height: 20em;
}

article h2, article h3, article p {
    clear: both;
}