* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: large;
    line-height: 1.5;
    scroll-behavior: smooth;
}

body {
    color: black;
    font-family: serif;
    text-align: justify;
}

main {
    display: block;/* Render the 'main' element consistently in IE */
}

h1, h2, h3, h4, h5, h6, p {padding: 0.5rem 0;}
h1, h2, h3, h4, h5, h6 {font-family: sans-serif;}
h1 {font-size: 2.2rem;}
h2 {font-size: 2.0rem;}
h3 {font-size: 1.8rem;}
h4 {font-size: 1.6rem;}
h5 {font-size: 1.4rem;}
h6 {font-size: 1.2rem;}


a {
    color: inherit;
    background-color: transparent; /*Remove the gray background on active links in IE 10*/
    text-decoration: none;
}
a:hover {
    color: inherit;
}

strong {
    font-weight: bolder; /*Add the correct font weight in Chrome, Edge, and Safari*/
}
small {
    font-size: 80%;/*Add the correct font size in all browsers*/
  }

img {
    border-style: none;/*Remove the border on images inside links in IE 10*/
}

.nowrap {
    white-space: nowrap; 
}


/*HEADER*/

.header {
    position: fixed;
    box-shadow: 0.0rem 0.12rem 0.5rem -0.08rem #000000;
    z-index: 4;
    font-family: sans-serif;
    padding: 0 0.5rem;
    height: 2rem;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: nowrap;
    background-color: #e3d8c4;
}
.header:hover {
    background-color: #e7ddcc;
}
.header-s {
    top: 1rem;
    left: auto;
    right: 0;
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}
.header-c {
    top: 1rem;
    left: 0;
    right: auto;
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}
.header > * {
    padding: 0 0.2rem;
}
.header img {
    height: 1.2rem;
    width: auto;
}



/*MAIN*/

body {
    background-image: url("img/bg0.svg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.main a {
    text-decoration: underline;
}
.main a:hover {
    color: #458b8b;
    text-decoration: none;
}

/*UNE*/


.flyer-title {
    color: inherit;
    position: absolute;
    top: 3rem;
    left: 0;
    right: 0;
    z-index: 3;
    text-align: center;
}
.arrow-up-l {
    position: absolute;
    top: 30vh;
    left: 8vw;
    z-index: 2;
    width: 2.5vmin;
    height: auto;
}
.arrow-up-r {
    position: absolute;
    top: 30vh;
    right: 8vw;
    z-index: 2;
    width: 2.5vmin;
    height: auto;
}
.fleux  {
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 1rem;
    right: 0;
    left: 0;
    z-index: 1;
    height: 100vh;
    width: 100%;
}
.img-europe {
    padding-top: 3rem;
    max-height: 90%;
    max-width: calc(100vw - 20vmin);
    opacity: 0.9;
}
.img-wall {
    padding-top: 3rem;
    max-height: 88%;
    max-width: calc(100vw - 40vmin);
}
.img-drone {
    position: sticky;
    top: 3rem;
    z-index: 2;
    margin: 5rem calc(90vw - 20vmin) 5rem 10vw;
    width: 20vmin;
    height: auto;
}
.img-camera {
    position: sticky;
    top: 38vh;
    z-index: 2;
    margin: 5rem 0 5rem calc(100vw - 20vmin);
    width: 20vmin;
    height: auto;
}

/*Texte*/

.flyer-texte {
    color: inherit;
    box-shadow: 0rem 0rem 0.6rem 0.01rem #8C938F;
}
.texte {
    padding: 2rem;
    max-width: 54rem;
    margin: 0 auto;
}
.img-part {
    height: 4rem;
    width: auto;
    text-align: center;
    margin-top: 3rem;
}
.img-part img {
    height: 100%;
    width: auto;
}
h3 {
    text-align: center;
    margin-bottom: 0.8rem;
}
.img-txt {
    height: 1.2rem;
    width: auto;
}

.flyer-texte hr {
    margin: 2rem auto;
}
.audio {
    text-align: center;
    font-size: 1.1rem;
}
.audio audio {
    display: block;
    border-radius: 1rem;
    width: 100%;
}

.agenda {
    margin: 2rem auto;
    font-size: 1.2rem;
    text-align: start;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
}

.agenda li {
    margin: 0.4rem 0rem;
}


/*FOOTER*/

#contact {
    margin-top: 2rem;
    padding: 2rem;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    min-height: 50vh;
    width: 100%;
    text-align: center;
}
#contact hr {
    color: #c4c8c8;
    margin: 0.8rem 0;
}
#contact a {
    color: inherit;
    opacity: 0.7;
    text-decoration: none;
}
#contact a:hover {
    opacity: 1;
    text-decoration: underline;
}
#contact p {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
#contact p > * {
    margin: 0 0.4rem;
}



/*COULISSES*/


.main-coulisses {
    min-height: 100vh;
}



.menu {
    height: calc(100vh - 1rem);
    padding: 4rem 2rem 2rem 2rem;
    display: grid;
    justify-content: center;
    grid-template-areas: 
        "a . b ."
        ". c . d";
    justify-items: center;
    align-items: center;
}

.menu a:nth-child(1){
    grid-area: a;
    align-self: end;
}
.menu a:nth-child(2){
    grid-area: b;
    align-self: end;
}
.menu a:nth-child(3){
    grid-area: c;
    align-self: start;
}
.menu a:nth-child(4){
    grid-area: d;
    align-self: start;
}
.menu a {
    border: 0.5vh solid transparent;
    border-radius: 4vh;
    max-width: 100%;
    max-height: 100%;
}
.menu a:hover {
    border-color: black;
}
.menu img {
    max-height: calc(45vh - 3rem);
    width: 100%;
}






.txt {
    display: none;
    border-top: 14vh solid transparent;
    border-bottom: 50vh solid transparent;
}
.txt:target {
    display: block;
}
.txt > div {
    padding: 2rem;
    max-width: 54rem;
    margin : 0 auto;

    background-color: #e3d8c4bb;
    color: inherit;
    box-shadow: 0rem 0rem 1rem 0.3rem #8C938F;
    border-radius: 0.5rem;
}
.txt hr {
    margin: 1rem 0;
}
#parcours .flex-txt {
    margin: 1.4rem 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}
#parcours img {
    width: 5rem;
    height: 5rem;
    margin-right: 2rem;
}

#aussi h4 {
    text-align: center;
    margin: 2rem 0;
}
#aussi img {
    width: 100%;
    height: auto;
    border: 0.1rem solid black;
    border-radius: 1rem;
}


@media screen and (max-aspect-ratio: 1 / 1) {
    .menu {
        grid-template-areas: 
            "a b "
            "c d";
    }
    .menu a:nth-child(1){
        grid-area: a;
        align-self: start;
    }
    .menu a:nth-child(2){
        grid-area: b;
        align-self: end;
    }
    .menu a:nth-child(3){
        grid-area: c;
        align-self: start;
    }
    .menu a:nth-child(4){
        grid-area: d;
        align-self: end;
    }
}