*{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}
html{
    scroll-behavior: smooth;
}
.flex{
    display: flex;
}
body{
    background-color: #FFFFF4;
    font-family: 'Roboto', sans-serif;
    color: #0A0402;
    font-style: regular;
    font-size: clamp(13px, 10vw, 18px);
    line-height: 1.3;
    /* convention du web : séparer paragraphes de 1.3 */
}
img{
    /* garder ratio d'une image  */
    object-fit: cover;
    display: block;
    max-width: 100%;
}
div{
    height: auto;
}
button{
    border-radius: 5px;
    border: 1px solid #fcbc25;
    background-color: #FFEEC6;
    padding: .4% 3% .4% 3%;
    /* padding: top right bottom left*/
    transition: background-color .5s;
    font-family: 'Roboto', sans-serif;
    color: #0A0402;
    font-size: clamp(13px, 10vw, 18px);
    line-height: 30px;
    font-weight: 500;
    justify-content: center;
    align-items: center;
}
button:hover {
    color: #fcbc25;
    background-color: #0F414F;
    border: 1px solid #0F414F;
}
button a:hover{
    color: #fcbc25 !important;
}
p{
    font-size: clamp(13px, 10vw, 18px);
}
h1, h2, h3, h4, h5{
    /* font-family: 'Libre Baskerville', serif; */
    font-family: 'Italiana', serif;
    font-weight: 700;
}
h1{
    font-size: clamp(40px, 10vw, 50px);
}
h2{
    font-size: clamp(32px, 10vw, 42px);
}
h3{
    font-size: clamp(26px, 10vw, 36px);
}
h4{
    font-size: clamp(20px, 10vw, 30px);
}
h5{
    font-size: clamp(15px, 10vw, 21px);
}
a{
    font-size: clamp(11px, 10vw, 16px);
}
.yellow{
    color: #fcbc25;
}
/* HEADER */
nav{
    min-width: 100vw;
    min-height: 10vh;
    background-color: #0F414F;
    justify-content: space-between;
}
nav .logo{
    margin-left: 10%;
}
.menulinks{
    justify-content: space-around;
    align-items: center;
    gap: 40%;
    margin-right: 15%;
}
nav a{
    text-decoration: none;
    color: cornsilk;
    margin-left: 5%;
    transition: color .5s;
}
a:hover {
    color: #fcbc25;
  }
#title{
    min-height: 16vh;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    margin-top: 10vh;
    margin-bottom: 7vh;
}

/* CONTACT */
#contactsection{
    max-width:100%;
    justify-content: center;
    align-items: center;
    margin: 5% 25% 0% 25%;
    /* padding: top right bottom left */
}
#contactform{
    width: 100%;
    border: 1px solid #0A0402;
    flex-direction: column;
    justify-content: flex-start;
    align-items: space-between;
}
.contacttitle{
    margin: 3%;
} 
/* > * = applies to all direct children */
form > *{
    flex-direction: column;
    margin: 2%;
}
input, textarea{
    /* resize: vertical; */
    color: grey;
    /* border-color: 1px solid #0F414F; */
    border: none;
    border-radius: 3px;
    font-family: 'Roboto', sans-serif;
    background-color: #F0F0ED;
    font-size: clamp(11px, 10vw, 16px);
    line-height: 40px;
    padding-left: 2%;
    padding-right: 2%;
    margin-top: 2%;
    /* padding: top right bottom left */
}
textarea{
    width: 100%;
}
.center{
    justify-content: center;
    align-items: space-around;
}
.names{
    margin-bottom: 2%;
    justify-content: space-between;
    flex-wrap: wrap;
}
#contactsection button{
    margin-top: 4%;
}

/*  LOCATIONS */
#locations{
    display: grid;
    grid-gap: 4%;
    padding: 10% 5% 10% 5%;
    /* padding: top right bottom left */
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: .2fr 1fr;
    grid-template-areas:    
    "locationlinks locationlinks locationlinks"
    "location1 location2 location3";
}
.locationlinks{
    grid-area: locationlinks;
    flex-direction: column;
    justify-content: flex-start;
    /* margin-bottom: 8%; */
    text-align: left;
    flex-wrap: wrap;
}
.location1{
    grid-area: location1;
    border: 1px solid #0A0402;
    padding-bottom: 10%;
    /* flex-direction: column;
    justify-content: center;  */
}
.location2{
    grid-area: location2;
    border: 1px solid #0A0402;
    padding-bottom: 10%;
}
.location3{
    grid-area: location3;
    border: 1px solid #0A0402;
    padding-bottom: 10%;
}
#locations img{
    min-width: 100%;
}
#locations p{
    color: gray;
    margin-left: 4%;
}
#locations h5{
    margin: 4%;
    /* padding: top right bottom left */
}
main a{
    font-size: clamp(12px, 10vw, 17px);
    text-decoration: none;
    color: gray;
    transition: color .5s;
}
main a:hover {
    color: #fcbc25;
  }
.links{
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    margin-top: 4%;
    margin-bottom: 4%;
}
.map-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}
span{
    font-family: 'Roboto', sans-serif;
}

/* TEAM */
#team{
    background-color: #F0F0ED;
    height: 90vh;    
    display: grid;
    grid-gap: 10%;
    padding: 0% 5% 12% 5%;
    /* padding: top right bottom left*/
    margin-bottom: 10%;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr 1fr;
    grid-template-areas:
    "team team team"
    ". coffee .";
}
.team{
    grid-area: team;
    text-align: center;
    flex-wrap: wrap;
    align-items: flex-end;
}
.coffee{
    grid-area: coffee;
}

/* FOOTER */
footer{
    padding-left: 5%;
    padding-right: 5%;
}
button a{
    color: #0A0402 !important;
}
footer a{
    text-decoration: none;
    color: #0F414F;
    margin-top: 8%;
    transition: color .5s;
}
footer p{
    font-size: clamp(11px, 10vw, 16px);
}
.linkedin{
    max-width: 20%;
}
.twitter{
    max-width: 20%;
}
footer{
    display: grid;
    grid-gap: 1%;
    min-width: 100vw;
	min-height: 40vh;
    grid-row-gap: 2px #0A0402;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: 1fr 1% 1fr;
    grid-template-areas:    
    "logo logo . collections bakery button"
    "line line line line line line"
    "copyright copyright copyright . . socialmedia";
}
.logo{
	grid-area: logo;
    align-self: flex-start;
}
.collections{
	grid-area: collections;
    display: flex;
    flex-direction: column;
}
.bakery{
    grid-area: bakery;
    display: flex;
    flex-direction: column;
}
.button{
    grid-area: button;
    align-self: flex-start;
}
.copyright{
    grid-area: copyright;
    align-self: center;
}
.socialmedia{
    grid-area: socialmedia;
    align-self: center;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.line{
    grid-area: line;
    background-color: grey;
}

/* MEDIA QUERIES */
@media (max-width: 500px){
	/*  HEADER */
    header{
        height: auto;
    }
    nav .logo{
        margin-left: 5%;
    }
    #title{
        text-align: center;
        padding: 0 12% 0 12%;
        /* padding: top right bottom left*/
    }
    h1{
        margin-bottom: 5%;
        line-height: 1;
    }
    #title p{
        line-height: 1.5;
    }

    /* FORM */
    #contactsection{
        margin: 5% 5% 0% 5%;
        /* padding: top right bottom left */
    }

    /*  LOCATIONS */
    #locations{
        grid-gap: 2%;
        padding: 10% 5% 25% 5%;
        /* padding: top right bottom left */
    	grid-template-columns: 1fr;
    	grid-template-rows: .1fr 1fr 1fr 1fr;
        grid-template-areas:    
        "locationlinks"
        "location1"
        "location2"
        "location3";
    }
    .locationlinks{
        text-align: center;
        height: fit-content;
    }

    /* TEAM */
    #team{
        grid-template-columns: 1fr 3fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-template-areas:
        "team team team"
        ". coffee .";
    }

    /* FOOTER */
    footer{
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 1fr 1fr 10% 1% 1fr;
        grid-template-areas:    
        "logo logo . ."
        "collections bakery button button"
        ". . . ."
        "line line line line"
        "copyright copyright socialmedia socialmedia";
    }
}
@media (min-width: 500px) and (max-width: 750px){
	/*  HEADER */
    header{
        height: auto;
    }
    nav .logo{
        margin-left: 5%;
    }
    #title{
        text-align: center;
        padding: 0 12% 0 12%;
        /* padding: top right bottom left*/
    }
    h1{
        margin-bottom: 5%;
        line-height: 1;
    }
    #title p{
        line-height: 1.5;
    }

    /* FORM */
    #contactsection{
    margin: 5% 10% 0% 10%;
    /* padding: top right bottom left */    
    }

    /*  LOCATIONS */
    #locations{
        grid-gap: 2%;
        padding: 10% 5% 30% 5%;
        /* padding: top right bottom left */
    	grid-template-columns: 1fr;
    	grid-template-rows: .1fr 1fr 1fr 1fr;
        grid-template-areas:    
        "locationlinks"
        "location1"
        "location2"
        "location3";
    }
    .locationlinks{
        text-align: center;
        height: fit-content;
    }

    /* TEAM */
    #team{
        grid-template-columns: 1fr 2fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-template-areas:
        "team team team"
        ". coffee .";
    }

    /* FOOTER */    
    footer{
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: 1fr 1% 1fr;
        grid-template-areas:    
        "logo logo collections bakery button button"
        "line line line line line line"
        "copyright copyright copyright . socialmedia socialmedia";
    }
}
