/* Definition de nouvelles polices : Permanent Marker et Oswald */

@font-face {
    font-family: 'Permanent Marker';
    src: url('font/PermanentMarker.ttf') format('truetype');
}

@font-face {
    font-family: 'Oswald';
    src: url('font/Oswald-Regular.ttf') format('truetype');
}

/* Variables */

:root {
    --main-font: Helvetica, "Oswald", "Trebuchet MS", serif;
    --blue-color: rgb(20, 20, 120);
    --color-txt:  rgb(20, 20, 180, 1);
    --color-bg:   rgb(20, 20, 180, 0.65);
    --col-bg:     #d6cdb6;
    --col-bg:     #FFF0BF;
    --col-bg:     #FFFFFF;
    --col-border: #8c7c6e;
}

/* HTML */

html {
    margin:  0;
    padding: 0;
}

/* Corps de la page */

body {
    margin: 0px;
    background-color: white;
    color: #2F2F2F;
}

/* Barre de navigation */

nav {
    font-family: Helvetica;
    font-weight: bold;
    box-sizing: border-box;
    box-sizing: inherit;
    atext-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;
    atext-shadow: 0 0 1em white;
    position: relative;
    margin: 0 0 0em 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 8vh;
    width: 100%;
    top: 0;
    color: black;
    abackground-color: transparent;
    background-color: white;
    opacity: 1;
    border-top: 4px solid black;
    border-bottom: 4px solid black;
}

nav > img {
    display: none;
}

#image_menu {
    display: hidden;
}

nav ul {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    list-style-type: none;
    padding: 0 0.5em;
}

nav ul li.deroulant {
    text-align: center;
    width: 18%;
    aborder: 2px solid black;
}

nav > ul > li:first-child {
    width: 10%;
}

nav > ul > li:first-child {
    display: flex;
    align-content: center;
    justify-content: center;
}

nav ul a {
    width: 100%;
}

nav ul img {
    width: 1.4rem;
}

nav .tiret {
    display: block;
    font-size: calc(0.5rem + 1vw);
    padding: 0.3em 0;
}

nav a, nav .titre {
    display: block;
    text-decoration: none;
    font-size: calc(0.4rem + 1vw);
    font-size: calc(0.5rem + 1vw);
    color: black;
    padding: 0.8em 0;
}

nav a:hover, nav .titre:hover{
    background-color: var(--color-bg);
    color: white;
    transition: 0.5s;
}

nav ul.sous {
    display: none;
    background-color: white;
    position: absolute;
    z-index: 10;
    width: 17%;
    padding: 0;
    padding-top: 0.5em;
}

nav ul li:last-child .sous {
    awidth: 10%;
}

nav ul li.deroulant:hover .sous {
    display: block;
}

nav .sous li {
    width: 100%;
    text-align: center;
}

nav .sous a:hover {
    background-color: var(--color-bg);
    color: white;
}


@media screen and (max-width:600px) {
    nav > ul {
    }

    nav .tiret {
	display: none;
    }
    
    nav {
	margin:0;
	padding:0;
	display: block;
	position: fixed;
	top: 3vw;
	left: 3vw;
	width: 10vw;
	height: 10vw;
	border-radius: 0px;
	border: none;
    }
    
    nav > img {
	display: block;
	width: 10vw;
	height: 10vw;
	margin: 0;
	padding: 0;
	border: 2px solid black;
    }

    nav > ul {
	display: none;
	flex-direction: column;
	width: 70vw;
	height: 80vh;
	background-color: white;
	padding: 0;
	margin: 0;
	margin-top: 1em;
	border-radius: 1em;
	overflow: scroll;
	border: 3px solid black;
    }

    nav > ul > li.deroulant {
	width: 100%;
    }
    
    nav ul li.deroulant img {
	width: 2rem;
	padding-top: 1em;
    }
    
    nav ul li.deroulant .titre {
	margin: 0;
    	padding: 0.5em 0;
	font-size: calc(1em + 1vw);
	color: var(--color-txt);
    }

    nav li.deroulant .sous, nav li.deroulant .sous:last-child {
	display: block;
	position: relative;
	width: 100%;
    }

    nav a {
	margin: 0;
	padding: 0.5em 0;
	font-size: calc(0.8em + 1vw);
    }

}

/* Titre */

.main_titre {
    box-sizing: border-box;
    margin: 0 0 0 0;
    padding: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 50vh;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
}

h1 {
    display: block;
    margin: -1em 0 0 0;
    color: var(--color-txt);
    font-size: calc(3*(0.6rem + 1vw));
    text-shadow: -2px 0 white, 0 2px white, 2px 0 white, 0 -2px white;
    text-align: center;
    font-family: "Permanent Marker", var(--main-font);
    font-variant: small-caps;
    
}

@media screen and (max-width:600px) {
    h1 {
	dborder-radius: 1em;
    }

}

/* Section */

section {
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    font-family: var(--main-font);
    font-size: calc(0.45rem + 1vw);
    background-color: white;
    background-color: #EBE3CF;
    background-color: #FFF0BF;
    background-color: #EBE3496E;
    background-color: rgb(0, 00, 255, 0.8);
    margin: 0em;
    padding: 1em 1em;
    padding-bottom: 5em;
    border-top: 4px solid var(--col-border);
    aborder-radius: 2em;
    color: white;
}

section:last-of-type {
    padding-bottom: 1em;
}

section h2 {
    background-color: white;
    background-color: #FFF0BF;
    background-color: rgb(255, 255, 255);
    color: var(--color-txt);
    color: black;
    acolor:red;
    afont-family: "Permanent Marker", Helvetica, "Lucida Console", "Times New Roman", Times, serif;
    font-family: Helvetica, "Lucida Console", "Times New Roman", Times, serif;
    font-size: calc(1.4rem + 1vw);
    width: 70%;
    max-width: 700px;
    text-align: center;
    padding: 0.5em;
    margin: auto;
    margin-top: 1.5em;
    margin-top: -1.8em;
    margin-bottom: 1.5em;
    border: 3px solid black;
    border-radius: 0.5em;
    abox-shadow: 0em 0em 0.5em 0.3em grey;
}

section h3, section legend {
    color: var(--color-txt);
    color: #36a577;
    color: rgb(0, 200, 0);
    color: rgb(255, 134, 40);
    color: black;
    afont-family: "Permanent Marker", Helvetica, "Lucida Console", "Times New Roman", Times, serif;
    font-family: Helvetica, "Lucida Console", "Times New Roman", Times, serif;
    font-size: calc(1rem + 1vw);
    text-align: center;
    border-bottom: 5px solid var(--color-txt);
    border-bottom: 2px solid var(--col-border);
    margin-top: 2em;
    margin-left: 1em;
    width: 40%;
}

section a {
    color: rgb(255, 162, 49);
}

@media screen and (max-width:600px) {

    section h2, section h3, section legend {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
    }
}

section p {
    margin-top: 3em;
    margin-left: 3em;
    margin-right: 3em;
    margin: 1em;
    line-height: 1.5;
    text-align: justify;
}

section .photo {
    margin-top: 2em;
    display: flex;
    justify-content: space-around;
}

section .photo figure {
    width: 33.35%;
    margin: 0;
    padding: 0em;
    overflow: hidden;
}

@media screen and (min-width:600px) {
    section .photo .zoom {
	width: 100%;
	height: 100%;
    }

    section .photo .zoom img:hover {
	transform: scale(1.2, 1.2);
	transition: transform 1s;
    }
}

section .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s;
}

section figcaption {
    text-align: center;
    apadding: 0.3em 0;
}

@media screen and (max-width:600px) {
    section .photo figure {
	width: 100%;
	padding:0.5em;
    }

}

/* Pour les tableaux */

section .device_tel {
    display: none;
}

section table {
    margin: auto;
    width: 95%;

    margin-top: 1em;
    font-size: calc(0.45rem + 1vw);
    line-height: 1.5;
    border-collapse: collapse;
}

@media screen and (max-width:600px) {
    section .ordinateur {
	display: none;
    }

    section .device_tel {
	display: table;
    }
}

section td {
    text-align: center;
    padding: 0.6em;
    margin: 0;
    border: 2px solid black;
}

section li {
    font-size: calc(0.6rem + 1vw);
    line-height: 1.5;
}

section .telephone {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin: 0.5em;
    padding: 0;
    font-size: calc(0.6rem + 1vw);
    align-items: center;
    width: calc(250px + 15%);
}

section .telephone div {
    text-align: right;
}

section .telephone div.titre {
    text-align: left;
    margin: 0;
    padding: 0.5em;
}


/* Pour les listes */

section ul {
    margin-left: 6%;
    padding: 1em;
}

/* Pour les formulaires */

section fieldset {
    border: 0px;
    padding: 0px
}

section fieldset h3 {
    margin-bottom: 2em;
}

section label, section button {
    margin-left: 2rem;
}

section input, section textarea {
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 2rem;
}

@media screen and (max-width:600px) {
    section, section .telephone, section li, section table {
	font-size: calc(0.7em + 1vw);
    }
}

/* Pour les pieds-de-pages */

footer {
    font-family: var(--main-font);
    font-size: calc(0.6em + 1vw);
    
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    background-color: black;
    color: white;
    width: 100%;
    padding: 1em 1.5em;
    margin: 0px;
    border-bottom: 2px solid black;
    border-top-radius: 1.5rem;
}

footer p {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

footer h3 {
    font-family: "Permanent Marker", Helvetica, serif;
    width: 90%;
    margin: 0em auto;    
    padding: 1em 0;
}

footer .row {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: 95%;
    margin: auto;
}

footer .tel {
    display: flex;
    flex-flow: row nowrap;
    margin: 0.5em;
    align-items: center;
}

footer .tel img {
    margin-right: 1em;
}

footer p {
    font-family: var(--main-font), serif;
    apadding-left: 1em;
}

@media screen and (max-width:600px) {
    footer h3 {
	text-align: center;
    }

    footer .row {
	flex-flow: column nowrap;
    }

    footer .row .tel {
	justify-content: center;
    }
    
    footer p {
	padding-left: 0em;
	text-align: center;
    }

    footer table {
	margin: auto;
    }
    
}

/* Etoiles */

footer .etoile, h1 .etoile {
    font-size: calc(0.5*(0.6em + 1vw));
    color: yellow;
    text-shadow: -2px 0 black, 0 2px black, 2px 0 black, 0 -2px black;
    font-family: var(--main-font);
}
