/* Web Fonts ----------------------- */

@font-face {
    font-family: 'Montserrat';
    font-family: 'Nunito Sans';
}

/* Base Styles --------------------- */
html {
  font-size: 1.2em; 
}

* {
  box-sizing: border-box;
}
html {
  font-size: 1.2em;  
}
body {
   color: #454959;
   font: 500 90%/1.5 'Montserrat', Impact, Charcoal, sans-serif; 
   background: #e7e9fd; 
   text-align:center; 
}

h1, h2 {
   font: 600 50%/1.5 'Montserrat', Impact, Charcoal, sans-serif; 
}

h1 {
  font-size: 2rem;   
}
h2 {
  font-size: 1rem; 
  display: block;   
}
h3 {
  font: 500 100%/1.5 'Montserrat', Impact, Charcoal, sans-serif;  
}

blockquote { 
    font-family: 'Montserrat', Impact, Charcoal, sans-serif;
    font-size: 21px; 
    font-style: normal; 
    font-variant: normal; 
    font-weight: 400; 
    line-height: 30px; 
} 
  
a {
  text-decoration: none;
  color:inherit;  
}

ul{
  padding: 0;  
}

li{
  list-style-type:none;
  padding-bottom:10px;  
}

img {
  border-radius: 5px;
  max-height:30vh;  
  margin: 0.2rem;  
}

footer {
  border-top: 1px dotted #454959;
  margin: 1rem -8px -8px;
  background-color: white; 
  padding-bottom: 1rem;  
}

/* Main Styles --------------------- */

/*mise en forme logo retour a l'accueil*/

#home{
  margin: 1rem 0 1rem 2rem; 
  position: relative;  
}
#home:hover{
  cursor: pointer;
  border: 3px solid #9ba1fd;  
}
#logo{
  width:40px;
  max-width:none;
  max-height:none;  
}

/*Mise en forme titre dans le header*/

#home-title h1{
    color: white;
    font-size: 1.5rem;
    margin: 30px auto;
}
/*mise en forme menu unique deroulant pour petit ecran*/

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

    .menu-unique{
        color: white;
        padding: 30px 0 20px;
        font-size: 1.2rem;
        margin:0;
        max-height:50vh;
        overflow-y:scroll;
        justify-content: flex-start;
    }
    .menus{ 
        display: none;
    }
    .menu-unique li:hover,
    .menu-unique li:focus-within,
    .sous-menus a:hover,
    .sous-menus a:focus-within {
       cursor:pointer;
       color: #454959; 
    }
    .menu-unique li:hover > ul {
        display: block;
        color: white;
        position: relative;  
        font-size: 1rem;
        font-weight: 500;
        text-align:left;
        padding-bottom:0;
    }

    .sous-menus{
        text-align:left;
        padding-left:10%;
    }

    .menu-unique a{ 
      color:white;  
    }
    .menu-unique li{
        padding-bottom:0;
        transition-duration: 0.2s;
    }
    
    header {
        display: flex;
        justify-content:space-around;
        align-items:flex-start;
        position: sticky;
        position: -webkit-sticky;

        top: 0;
        width:calc(100% + 16px);
        background-color: #5863fb;
        margin: -8px -8px 30px;
        list-style-type: none;
        box-shadow:0 5px 5px #454959; 
        z-index:2;
    }
    #home{
        padding: 5px;
        margin:5px;
    }
    html{
        font-size: 0.9em;
        }
    .titre-page{
        display: none;
    }
}

/*mise en forme header des menus pour grand ecran */

@media screen and (min-width: 680px){
    header {
        display:inline-flex;
        flex-direction: row;
        position: sticky;
        top: 0;
        width:calc(100% + 16px);
        background-color: #5863fb;
        justify-content: space-around;
        margin: -8px -8px 0px;
        list-style-type: none;
        box-shadow:0 5px 5px #454959; 
        z-index:2;
    }
    #bouton-menu{
        color:#5863fb;
    }
    #home-title{
        display:none;
    }
    .menus {
      padding-left: 0px;  
    }
    .menus li {
      color: white;
      display: inline-block;
      padding: 0.5rem 1rem;
      position: relative;
      transition-duration: 0.2s;
      text-transform: uppercase;   
      font-size: 0.8rem;
      font-weight: 600;  
    }
    
    
    /*mise en forme menus deroulants*/
    
    .menus li ul {
      background: #5863fb;
      visibility: visible;
      opacity: 0;
      min-width: 5rem;
      position: absolute;
      transition: all 0.5s ease;
      margin-top: 0.5rem;
      padding: 0rem;  
      display: none; 
    }
    
    .menus li:hover > ul,
    .menus li:focus-within > ul,
    .menus li ul:hover,
    .menus li ul:focus {
      visibility: visible;
      opacity: 1;
      display:block;  
      z-index:3;      
    }
    
    .menus li ul li {
      width: 100%;
    }
    
    /*Mise en forme des boutons liens*/
    
    .main-nav li a {
      color: #fff; 
      text-decoration: none;  
    }
    .menus li:hover,
    .menus li:focus-within {
      background: #9ba1fd;
      cursor: pointer;
    }
    
    .main-nav li:focus-within a {
      outline: none;
    }
    .titre-page{
        display: block;  
        font-size:1.3rem;  
        margin-top: 30px;  
    }
}

.main-nav li:focus-within a {
  outline: none;
}
.lien-visible{
  text-decoration:underline;
  color: blue;  
}
/*Mise en forme banner*/

.banner {
   background: url("http://assomption-fleurdesneiges.org/FDN/img/g-vue-chaine-coucher2-nobg.png") center/cover no-repeat #e7e9fd;
/*   background-blend-mode: multiply;*/
   color: white;
   padding: 7vh 1rem; 
   margin: 0 -8px 10px;
   overflow: hidden; 
}
.banner h1{
    margin: 15vh 3rem;
}
.bandeau-page{
    width:calc(100% + 16px);
    align-self:center;
    margin: 0 -8px 10px;
    border-radius: 0;
}
/*Mise en forme des cartes*/

.card {
  display: block;
  margin: 1rem auto;
  padding: 20px 40px;
  background: white;  
  border-bottom: 4px solid #ccc;
  border-radius: 6px; 
  max-width:90%;  
}

#small-card{
  display: inline-table;
  padding: 1rem;
  width: 45%;
  max-width:400px;  
  height: 30vh; 
  max-height:30vh; 
  margin: 0.5rem 0.3rem;  
}

.galerie{
    margin:0.5rem -1rem; 
}
.card ul{
    list-style-type:none; 
    padding:0px 0.5rem;
}
.card img{
  height:30vh;
  max-width:100%;  
  object-fit:cover;
  margin-bottom:10px;  
}
#small-card img{
  width:100%;
}

/*Mise en forme long cadre*/

#longcadre{
  width:95%;
  max-width:95%; 
  padding: 0;  
  margin: 2rem auto; 
  background-color:white;
  color: #454959;  
}
#longcadre h2{
   margin: 0.3rem auto;
   font-size: 0.8rem;
   padding: 5px;
   text-transform:uppercase; 
}

/*Mise en forme encadres avec image */

figure{
  margin: 0px;
}

figcaption{
  font: 400 80%/1.2 'Montserrat', Impact, Charcoal, sans-serif; 
  margin: 0.5rem;  
}

/*Mise en forme offres index*/

#offres #small-card:hover {
    cursor:pointer;
    border: 3px solid #5863fb;
}

/*Mise en forme accroches*/

.accroches {
 display: block; 
 width: 100%;   
 margin: 10px auto 30px;      
}

.accroches div {
   display: inline-block;
   width: 27%;
   margin: 1rem auto; 
}

/*Mise en forme medaillons*/

.medaillon {
  margin: auto;  
  position:relative;  
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 3px solid white;
  transition: all .5s;
  z-index: 1;  
}
.medaillon:hover{
  transform: scale(1.1) rotate(0deg);
}
/*mise en forme image qui s'agrandit dans body*/

.zoom{ 
  max-height:70vh; 
  max-width:70%;      
}
.zoom:hover{
  transform: scale(2);
  z-index:2;   
}
/*mise en forme aside*/

aside {
  margin-top: 40px;  
}

/*mise en forme galerie photos*/

.galerie-photo {
   max-width: 25%;
   max-height:28vh; 
   border-radius: 6px;
   display: inline-block;
   margin: 0.3rem; 
}

/*Menus contacts et FAQ*/

.bottom-menu {
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 600; 
    margin-top:10px;
}
.bottom-menu ul {
  padding-left: 0;
  margin:0;  
}

.bottom-menu li {
    display: inline-block;
    list-style-type: none; 
    padding: 1rem 1rem 0.5rem;
}
.bottom-menu a:hover,
.bottom-menu a:focus-within,
.bottom-accueil a:hover,
.bottom-accueil a:focus-within {
   cursor: pointer;
   color: #5863fb;  
}
    
.bottom-menu li:focus-within a,
.bottom-accueil :focus-within a {
  outline: none;
  color: #5863fb;  
}
/*mise en forme footer */
footer p {
   margin: 0;
}

/*Mise en forme texte hors cadres*/

.page{
  max-width: 90%;
  margin: 0.5rem auto;  
}

.gras{
   font-weight:600;
}

/*Mise en forme flip-cards*/

.small-flip-card{
  display: inline-table;
  width: 45%;
  max-width:400px;  
  margin: 0.5rem 0.3rem;  
}
.flip-card {
  background-color: white;
  border-radius:6px;  
  perspective: 1000px;   
}
.flip-card img {
  height:30vh;
  width:100%;  
  max-width:100%;  
  object-fit:cover;
  margin-bottom:10px;
}

/* This container is needed to position the front and back side */
.flip-card-inner {
  position: relative;
  width: 100%;
  height:100%;  
  padding: 1rem;  
  border-radius:6px;   
  transition: transform 0.8s;
  transform-style: preserve-3d; 
}
.flip-card-inner img{
  max-height:100%;  
  max-width:100%;  
  margin:0 auto 10px;  
}
/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover >.flip-card-inner,
.flip-card:focus-within >.flip-card-inner{
  transform: rotateY(180deg);
  cursor: pointer;
  border: 3px solid #9ba1fd;    
}

/* Position the front and back side */
.flip-card-front, 
.flip-card-back {
  width: 100%;
  height: 100%;  
 -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
  border-radius:6px;   
  background-color:white;  
}

/* Style the back side */
.flip-card-back { 
  position:absolute;   
  top: 0; 
  right: 0;   
  transform: rotateY(180deg);
  overflow:scroll; 
  padding: 1rem;  
}

.bouton {
  text-align:center;
  padding: 1rem;
  margin: 1rem auto;
  max-width: 20%;
  background: #5863fb;
  color: white;
  border-radius: 5%;   
}