/* =========================
   BASE
========================= */

body {
    margin: 0;
    background-color: black;
    background-image: url(images/rayures.png);
    font-family: 'Syncopate', sans-serif;
}


/* =========================
   NAVIGATION
========================= */

.screen,
.mobile {
    height: 152px;
}

.screen {
    position: fixed;
    top: 0;
    width: 100%;
    display: none;
    z-index: 100;
}

.screen ul,
.mobile ul {
    margin: 0;
    padding: 0;
}

.screen ul li,
.mobile ul li {
    width: 100%;
    margin-bottom: 2px;
    padding: 10px 0;
    list-style: none;
    background-color: #111;
}

.screen ul li:hover,
.mobile ul li:hover {
    background-color: black;
}

.screen a,
.mobile a {
    display: block;
    color: gray;
    text-align: center;
    text-decoration: none;
}

.screen a:hover,
.mobile a:hover {
    color: darkgreen;
}

.mobile {
    margin-top: 0;
}

/* =========================
   NAVIGATION INTERNE
========================= */

.music-nav,
.dates-nav,
.mix-nav {
    width: 90%;
    margin: 0 auto 20px;
    text-align: center;
    font-family: 'Syncopate', sans-serif;
}

.music-nav a,
.dates-nav a,
.mix-nav a {
    display: block;
    width: fit-content;
    margin: 8px auto;
    color: gray;
    text-decoration: none;
    font-size: 0.65em;
}

.ep-nav {
    width: 90%;
    margin: 0 auto 25px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    text-align: center;
    font-family: 'Syncopate', sans-serif;
}

.ep-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100px;
    margin: 0;
    color: gray;
    text-decoration: none;
    font-size: 0.65em;
}

.ep-nav img {
    display: block;
    width: 100px;
    height: 100px;
    margin-bottom: 8px;
    object-fit: cover;
}

.music-nav a:hover,
.dates-nav a:hover,
.ep-nav a:hover,
.mix-nav a:hover {
    color: darkgreen;
}

/* =========================
   HEADER
========================= */

header {
    position: relative;
    max-width: 1600px;
    margin: 0 auto;
}

.triangle {
    position: relative;
    margin: 10% 15% 0;
    opacity: 0.55;
    z-index: 0;
}

.gazmask {
    position: relative;
    max-width: 100%;
    margin-top: -60%;
    padding: 0;
    z-index: 1;
}


/* =========================
   BIO
========================= */

.about-photo {
    display: block;
    width: 90%;
    max-width: 1200px;
    height: auto;
    margin: 0 auto 25px;
}

article {
    width: 76%;
    margin: 2% 0 2% 10%;
    padding: 2%;
    background-color: black;
    opacity: 0.8;
    color: white;
    text-align: left;
    font-family: 'Montserrat Alternates', sans-serif;
    font-size: 0.65em;
    line-height: 2;
}

article p {
    margin: 0 0 10px;
}

article p:last-child {
    margin-bottom: 0;
}

/* =========================
   LIVE / PERFORMANCES
========================= */

.live-videos {
    width: 94%;
    margin: 0 auto 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.live-video {
    width: 100%;
    text-align: center;
}

.live-video video {
    display: block;
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: 0 auto;
}

.live-video p {
    margin: 8px 0 0;
    color: white;
    text-align: center;
    font-size: 0.8em;
}

/* =========================
   BOOKING
========================= */

article h2 {
    margin: 25px 0 10px;
    padding: 0;
    background: none;
}

/* =========================
   SECTIONS
========================= */

#bio,
#music,
#mix,
#dates {
    display: none;
}

#music,
#mix,
#dates {
    overflow: auto;
}

/* =========================
   TITRES
========================= */

h1 {
    margin: -5px 0 0;
    padding: 15px 0 8px;
    color: white;
    background-color: black;
    text-align: center;
    font-family: 'Syncopate', sans-serif;
    font-size: 1em;
    font-weight: 700;
}

h2 {
    margin: 20px 0 15px;
    padding: 10px 0;
    color: white;
    background-color: black;
    text-align: center;
    font-family: 'Syncopate', sans-serif;
    font-size: 0.9em;
    font-weight: 700;
}


/* =========================
   MUSIC
========================= */

#music > h1,
#mix > h1,
#dates > h1 {
    margin-top: 0;
}

/* =========================
   LECTEURS
========================= */

.lecteurs {
    width: 94%;
    height: auto;
    margin: 0 0 2% 3%;
    background: linear-gradient(
        to right,
        transparent 0%,
        transparent 1%,
        black 11%,
        black 89%,
        transparent 99%,
        transparent 100%
    );
}

.lecteurs img,
.lecteurs iframe {
    width: 60%;
    padding-top: 10px;
    transform: translateX(33.333%);
}

.lecteurs p {
    margin: 0;
    color: white;
    text-align: center;
    font-size: 0.8em;
}

.lecteurs a {
    color: darkcyan;
}

/* =========================
   EPs
========================= */

#eps,
#archives,
#selected,
#selected-mixes,
#mix-archives,
#upcoming,
#past-events {
    display: block;
}

.ep {
    display: block;
}

#eps > h2,
#archives > h2,
#selected > h2,
#selected-mixes > h2,
#mix-archives > h2 {
    padding: 10px 0;
    background-color: black;
}


/* =========================
   DATES
========================= */

#dates .lecteurs {
    text-align: center;
}

#dates .lecteurs img {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
    margin: 0 auto;
    padding-top: 10px;
    transform: none;
}

/* =========================
   DATES : SOUS-SECTIONS
========================= */

#upcoming > h2,
#past-events > h2 {
    padding: 10px 0;
    background-color: black;
}

/* =========================
   FOOTER
========================= */

footer {
    position: relative;
    width: 100%;
    margin-top: 0;
    padding-bottom: 10px;
    background-color: black;
    color: white;
    text-align: center;
    font-size: 0.5em;
}

ul#reseauxSociaux {
    width: 100%;
    margin: 0 auto 5px;
    padding: 10px 0;
}

ul#reseauxSociaux li {
    display: inline-block;
    width: 55px;
    margin: 0 1.5%;
    list-style: none;
}

ul#reseauxSociaux li:first-child {
    width: 25px;
}

ul#reseauxSociaux li:nth-child(2) {
    width: 35px;
}

ul#reseauxSociaux li:nth-child(3) {
    width: 45px;
}

ul#reseauxSociaux li:nth-child(4) {
    width: 30px;
}

ul#reseauxSociaux li:nth-child(5) {
    width: 33px;
}

ul#reseauxSociaux li:nth-child(6),
ul#reseauxSociaux li:last-child {
    width: 25px;
}

footer nav {
    width: 80%;
    margin-left: 10%;
    overflow: auto;
    font-size: 1.2em;
}

footer nav ul {
    margin: 0;
    padding: 0;
}

footer nav ul li {
    float: left;
    width: 25%;
    padding: 25px 0;
    list-style: none;
}

footer nav a {
    display: block;
    color: gray;
    text-align: center;
    text-decoration: none;
}

footer nav ul li a:hover {
    color: darkgreen;
}


/* =========================
   DESKTOP
========================= */

@media screen and (min-width: 758px) {

    .screen {
        display: block;
        height: 27px;
    }

    .screen ul li {
        float: left;
        width: 25%;
        padding-top: 15px;
    }

    .mobile {
        display: none;
    }

    footer nav {
        display: none;
    }
}

@media screen and (min-width: 758px) {

    h2 {
        font-size: 1em;
    }

    .music-nav a,
    .ep-nav a,
    .mix-nav a {
        font-size: 0.7em;
    }
}

@media screen and (min-width: 758px) {

    .dates-nav a {
        font-size: 0.7em;
    }
}

/* =========================
   DESKTOP : 2 COLONNES
========================= */

@media screen and (min-width: 900px) {

    .lecteurs {
        float: left;
        width: 45%;
        margin: 0 0 2% 3.333%;
    }

    #dates .lecteurs img {
        width: 100%;
        max-width: none;
        transform: none;
    }
    
    .live-videos {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }

    .live-video {
        width: 45%;
    }
}


/* =========================
   GLITCH
========================= */

body.glitch {
    animation: rgbJump 0.35s steps(1, end);
}

@keyframes rgbJump {

    0% {
        filter: none;
    }

    15% {
        transform: translateX(-5px);
        filter:
            drop-shadow(-8px 0 red)
            drop-shadow(8px 0 cyan);
    }

    30% {
        transform: translateX(4px);
        filter:
            drop-shadow(10px 0 red)
            drop-shadow(-10px 0 cyan);
    }

    45% {
        transform: translateX(-3px);
        filter:
            drop-shadow(-12px 0 lime)
            drop-shadow(12px 0 magenta);
    }

    100% {
        transform: none;
        filter: none;
    }
}