main {
    min-height: 100vh;
}
section {
    padding-bottom: 8vh;
}
.k-item-mobile {
    opacity: 0;
    filter: drop-shadow(#000 2px 2px);
}
.mobile .k-item-mobile {
    opacity: 1 !important;
}
.fonds {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.fond {
    position: absolute;
    min-height: 100%;
    min-width: 100%;
}
.fond-blanc {
    opacity: .7;
    background-color: #fff;
}
.parapet {
    z-index: 1;
    position: fixed;
    bottom: 40px;
    min-height: 25vh;
    width: 100%;
    pointer-events: none;
}
.fond-ciel picture, .parapet picture, .bxl {
    position: absolute;
    height: 100%;
    width: 100%;
}
.fond-ciel img, .parapet img, .bxl img {
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    object-position: top;
}
.parapet img {
    object-position: top left;
}
.fond-ciel picture {
    position: absolute;
}
.parapet picture {
    transform: translateY(30%) scale(1);
    transform-origin: bottom center;
}

.contenu-page {
    text-align: center;
    margin: 1.5rem 0 5rem;
}
.contenu-page h1, .contenu-page p {
    display: inline;
}
h1 {
    padding: 0;
    font-size: 1rem;
    font-weight: inherit;
    color: inherit;
}
.contenu-dates a {
    max-width: 800px;
    margin: auto;
}
.dates {
    display: inline-block;
}
.voir-plus {
    display: inline-block;
    text-decoration: underline;
    transition: transform .5s;
}
.dates:hover .voir-plus {
    transform: translate(5px, 5px);
}
.info-nom {
    font-weight: 500;
}
.contenu-logo img {
    width: 250px;
}
.contenu-partenaires {
    width: 300px;
}
.contenu-liens {
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: 40vh;
    transform-origin: center 30%;
    transform: scale(.8);
}
.ville {
    position: relative;
    height: 30vh;
    width: 100%;
}
.bxl {
    position: relative;
    /*height: auto;*/
    min-height: 100%;
    width: 110%;
    left: -5%;
}
.atomnium {
    position: absolute;
    bottom: 34%;
    right: 13%;
    width: 8vh;
    animation: ato 15s linear 40;
}
.atomnium.stop {
    animation-play-state: paused;
}
@keyframes ato {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}


/* LIENS */
.liens {
    z-index: 1;
    position: absolute;
    width: 110%;
    height: 100%;
}
.lien {
    display: flex;
    align-items: center;
    position: absolute;
    transform-origin: bottom left;
}
.lien:nth-child(1) {
    left: 9%;
    bottom: 85%;
    transform: rotate(-85deg);
}
.lien:nth-child(2) {
    left: 16%;
    bottom: 42%;
    transform: rotate(-83deg);
}
.lien:nth-child(3) {
    left: 30%;
    bottom: 54%;
    transform: rotate(-85deg);
}
.lien:nth-child(4) {
    left: 41%;
    bottom: 75%;
    transform: rotate(-82deg);
}
.lien:nth-child(5) {
    left: 48%;
    bottom: 55%;
    transform: rotate(-82deg);
}
.lien:nth-child(6) {
    left: 56%;
    bottom: 54%;
    transform: rotate(-80deg);
}
.lien:nth-child(7) {
    left: 64%;
    bottom: 25%;
    transform: rotate(-82deg);
}
.lien:nth-child(8) {
    left: 76.7%;
    bottom: 49%;
    transform: rotate(-85deg);
}

.lien-trait {
    border-top: solid 1px;
}
.lien:nth-child(1) .lien-trait {
    width: 20vh;
}
.lien:nth-child(2) .lien-trait {
    width: 30vh;
}
.lien:nth-child(3) .lien-trait {
    width: 30vh;
}
.lien:nth-child(4) .lien-trait {
    width: 27vh;
}
.lien:nth-child(5) .lien-trait {
    width: 29vh;
}
.lien:nth-child(6) .lien-trait {
    width: 37vh;
}
.lien:nth-child(7) .lien-trait {
    width: 30vh;
}
.lien:nth-child(8) .lien-trait {
    width: 32vh;
}

.lien-nom {
    position: absolute;
    left: 105%;
    width: max-content;
    font-size: 140%;
}
.lien:nth-child(1) .lien-nom {
    transform: rotate(0deg);
}
.lien:nth-child(2) .lien-nom {
    transform: rotate(7deg);
}
.lien:nth-child(3) .lien-nom {
    transform: rotate(0deg);
}
.lien:nth-child(4) .lien-nom {
    transform: rotate(9deg);
}
.lien:nth-child(5) .lien-nom {
    transform: rotate(5deg);
}
.lien:nth-child(6) .lien-nom {
    transform: rotate(0deg);
}
.lien:nth-child(7) .lien-nom {
    transform: rotate(-10deg);
}
.lien:nth-child(8) .lien-nom {
    transform: rotate(0deg);
}

.lien:hover .lien-trait {
    border-color: #fff;
    border-width: 2px;
    box-shadow: #000 .5px .5px;
}
.lien:hover a {
    letter-spacing: .1rem;
    color: #fff;
    font-weight: bold;
    /*text-shadow: #000 .5px .5px;*/
}
.lien .lien-trait, .lien a {
    transition: all .5s;
}


/* Premier terme du ratio = ratio img * hauteur ville. ICI : (400/89) * .3 = 1.35 */
@media screen and (min-aspect-ratio: 1.35/1) {
    .ville {
        height: auto;
    }
    .atomnium {
        right: 14%;
        width: 5.6vw;
    }
    .lien:nth-child(1) {
        left: 9%;
        bottom: 85%;
        transform: rotate(-78deg);
    }
    .lien:nth-child(2) {
        left: 16%;
        bottom: 42%;
        transform: rotate(-80deg);
    }
    .lien:nth-child(3) {
        left: 30%;
        bottom: 54%;
        transform: rotate(-80deg);
    }
    .lien:nth-child(4) {
        left: 41%;
        bottom: 75%;
        transform: rotate(-82deg);
    }
    .lien:nth-child(5) {
        left: 48%;
        bottom: 55%;
        transform: rotate(-80deg);
    }
    .lien:nth-child(6) {
        left: 56%;
        bottom: 54%;
        transform: rotate(-73deg);
    }
    .lien:nth-child(7) {
        left: 64%;
        bottom: 68%;
        transform: rotate(-66deg);
    }
    .lien:nth-child(8) {
        left: 76.7%;
        bottom: 49%;
        transform: rotate(-68deg);
    }
    .lien:nth-child(1) .lien-nom {
        transform: rotate(0deg);
    }
    .lien:nth-child(2) .lien-nom {
        transform: rotate(7deg);
    }
    .lien:nth-child(3) .lien-nom {
        transform: rotate(20deg);
    }
    .lien:nth-child(4) .lien-nom {
        transform: rotate(12deg);
    }
    .lien:nth-child(5) .lien-nom {
        transform: rotate(23deg);
    }
    .lien:nth-child(6) .lien-nom {
        transform: rotate(0deg);
    }
    .lien:nth-child(7) .lien-nom {
        transform: rotate(-10deg);
    }
    .lien:nth-child(8) .lien-nom {
        transform: rotate(0deg);
    }
}


@media screen and (max-width : 800px) {
    section {
        padding-bottom: 0;
    }
    .contenu-page {
        margin: 1.5rem 0 2rem;
    }

    .ville {
        bottom: 40px;
    }
}