html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

* {
	box-sizing: border-box;
}


/* TYPOS */
h1 {
    font-family: 'kanitregular', sans-serif;
    font-size: 24px;
}



/* :root{
    --unite-base: 32px;
  } */

/* HEARTBEAT */
@keyframes heartbeat {
	from { background-size: auto 180% }
	50%  { background-size: auto 150% } /* ignorée */
	to   { background-size: auto 180% }
}


body, html {
    width: 100%;
    height: 100vh;
    height: -webkit-fill-available;
    list-style-type: none;
    box-sizing: border-box;
    font-family: 'kanitlight', sans-serif;
    font-weight: 300;
    height: -webkit-fill-available;
    scroll-behavior: smooth;
    color: var(--couleur-defaut-typo);;
}

.conteneur {
    width: 100%;
    height: 100vh;
    height: -webkit-fill-available;
    max-height: 100%;
    max-height: -webkit-fill-available;
	padding-left: var(--unite-base);
    padding-right: var(--unite-base);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    box-sizing: border-box;
}


menu {
    width: 100%;
    height: calc(var(--unite-base)*2);
    list-style-type: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

menu li {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


menu li:nth-child(1) {
    padding-left: calc(var(--unite-base)*2);
    cursor: pointer;
}


/* -------------------- */
/* Sous menu navigation "menu actif" */

#menu_actif {
    width: auto;
    min-width: calc(var(--unite-base)*3);
    height: 100%;
    min-height: 100%;
    margin-right: calc(var(--unite-base)*1.5);
    text-align: right;
    cursor: pointer;
    display: inline;
    overflow: hidden;
    transition: height 0.4s;
    z-index: 2000;
}

#menu_actif:hover {
    height: 500%;
}


#menu_actif div {
    width: auto;
    height: calc(var(--unite-base)*2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 18px;
    padding-left: calc(var(--unite-base)/2);
    border-bottom: 2px solid white;
    background-color: #eeeeee;
    padding-right: 10px;
}

#menu_actif div:nth-child(1) {
    font-size: 32px;
    border: none;
    background-color: transparent;
    padding-right: 0px;
}

#menu_actif div:nth-child(2):hover {
    /* border: 2px solid var(--couleur-page1);
    color: black; */
    background-color: var(--couleur-page1);
    color: white;
}

#menu_actif div:nth-child(3):hover {
    /* border: 2px solid var(--couleur-page2); */
    background-color: var(--couleur-page2);
    color: white;
}

#menu_actif div:nth-child(4):hover {
    /* border: 2px solid var(--couleur-page3); */
    background-color: var(--couleur-page3);
    color: white;
}

#menu_actif div:nth-child(5):hover {
    /* border: 2px solid var(--couleur-page3); */
    background-color: var(--couleur-page4);
    color: white;
}

/* --------------------- */




menu li img {
    width: auto;
    height: 25%;
}


main {
    width: 100%;
    height: calc(var(--unite-base)*15);
    /* display: flex;
    flex-direction: column;
    justify-content: flex-start; */
    box-sizing: border-box;
    overflow-y: scroll;
    scroll-behavior: smooth;
}



section {
    width: 100%;
    height: 100%;
    padding: var(--unite-base);

    /* Pour améliorer l'affichage entre deux pages
    et éviter l'effet filet sur certaines machines. */

    margin-bottom: 40px;
	
    position: sticky;
    top: 0px;
	
	display: flex;
    flex-direction: row;
    justify-content: space-between;
	
    background-image: url('../img/logo-2h2o.svg');
	background-repeat: no-repeat;
	background-position: center;

	animation: heartbeat 5s linear infinite;
    -webkit-animation: heartbeat 5s linear infinite;

    background-color: white;

}


/* Pour ne pas avoir de zone morte due à la compensation entre pages 
à la dernière page. */
section:last-child {
    margin-bottom: 0px;
}

/* ------------------------------ */

/* section:nth-child(2) { background-color: var(--couleur-page1); }

section:nth-child(3) { background-color: var(--couleur-page2); }

section:nth-child(4) { background-color: var(--couleur-page3); }

section:nth-child(5) { background-color: var(--couleur-page4); } */


/* ------------------------------ */

.ligne {
    width: 100%;
    padding: calc(var(--unite-base)/2);
    padding-left: calc(var(--unite-base));
}


.colonne {
    width: 50%;
    height: 100%;
    padding: calc(var(--unite-base)/2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


footer {
    width: 100%;
    height: calc(var(--unite-base)*1.5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: right;
    padding-right: calc(var(--unite-base)*1.5);
    box-sizing: border-box;
    transition: all 0.5s;
    /* background-color: brown; */
}

footer p:hover {
    cursor: pointer;
    color: var(--menubulles-text-on-color);
}



/* RESPONSIVE */
/* ------------------------------------ */

/* IPAD Paysage */
@media screen and (max-width: 1024px) and (orientation: landscape)
{

    main {
        height: calc(var(--unite-base)*19);
    }

    #menu_actif {
        margin-right: var(--unite-base);
    }

    menu li:nth-child(1) {
        padding-left: calc(var(--unite-base)*1.5);
    }

}



/* IPAD Portrait */
@media screen and (max-width: 768px) and (orientation: Portrait)
{

    menu li:nth-child(1) {
        padding-left: calc(var(--unite-base)*1);
    }

    #menu_actif {
        margin-right: var(--unite-base);
    }

    menu li img {
        width: auto;
        height: 25%;
    }

    main {
        height: calc(var(--unite-base)*24);
    }

    section {
        flex-direction: column;
        justify-content: space-between;
        padding-top: calc(var(--unite-base)*0.5);
        padding-bottom: 0px;
    }

}


/* SMARTPHONE HD portrait */

@media screen and (max-width: 480px) and (orientation: Portrait)
{

    .conteneur {
        padding-left: calc(var(--unite-base)/2);
        padding-right: calc(var(--unite-base)/2);
    }

    .ligne {
        padding: 0px;
    }

    main {
        height: calc(var(--unite-base)*23);
    }

    menu li:nth-child(1) {
        padding-left: calc(var(--unite-base)*1);
    }

}