*{
    box-sizing: border-box;
    margin: 0;
    padding: 0
}
html, body{
    height: 100vh;
    font-family: 'open Sans','sans-serif';
    background-color: black;
    background-image: url('../img/background.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color:#fff;
}
.contenair{
    display: flex;
    flex-direction: column;
}

li{
    list-style: none;
}
a{
    text-decoration: none;
    color:#fff;
    font-size:1rem
}
a:hover{
    color: white
}

/* ----------  Header ------------------- */

header {
    z-index: 500;
    position: relative;
    padding: 0 1.2rem 0 0;
    /* background-color: rgba(0, 0, 0, 0.703) */

}

header nav{
    width: 100%;
    /* max-width: 1200px; */
    height: 60px;
    margin: 0 auto;
    display:flex;
    align-items: center;
    justify-content: space-between;
    
}
.logo{
    height: 100%;
    overflow: hidden;
}
.logo a{
    display: inline-block;
    height: 100%;
    width:120px;
    background-image: url('../img/charles-cantin-photographe.png');
    background-position: center;
    background-size: cover;
    
    transition: scale ease-in 0.2s;
    
}
.logo a:hover{
    scale:1.1;

}
nav .lstLink{
    display: flex;
    gap:6rem;
}

.lstLink a {
    font-size: 1.2rem;

}
nav .toggleBtn{
    color:#fff;
    font-size: 2.2rem;
    cursor: pointer;
    display: none;
}
/* ----------  main - Home ------------------- */
.titre{
    height: calc(100vh - 60px);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;


}
.titre h1 , .titre p{

    font-size: 5rem;
    font-weight: 700;

}



/* ----------  Responsive Design ------------------- */

header > .dropdownMenu{
    display: none;
}

.dropdownMenu{
    position:absolute;
    right:2rem;
    top:60px;
    width: 300px;
    height: 0;
    border-radius: 18px;
    background-color: rgba(245, 245, 245, 0.555);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    z-index: 500;
    overflow: hidden;
    transition: height ease-in-out 0.2s;
}
.dropdownMenu.open{
    height: 150px;
}
.dropdownMenu li{
    display: flex;
    padding: 0.7rem;
    align-items: center;
    justify-content: space-between;
    

}
.dropdownMenu .lstLink a{
    /* color:black; */
    font-weight: 700;
}
.titreCategorie{
    text-align: center;
    margin-top: 3rem;
    font-size: 2.5rem;
}
/* ----------- reseau social ---------------- */

    .lstLinkSocial{
        position:fixed;
        width: 28px;
        bottom: 8%;
        right: 0;
    }
    .lstLinkSocial li{
        display:flex;
        justify-content: center;
        align-items: center;
        height: 28px;
        background-color: transparent;
        transition: background 0.2s ease;
        border-radius: 50%;
    }

    .lstLinkSocial i{

        font-size: .8rem;
    }

    .lstLinkSocial .twitter:hover{

        /* border: solid 1px #eae6ea ; */
        border-radius: 50%;
        background-color: #2ea9e9;

        
    }
    .lstLinkSocial .facebook:hover{
        border-radius: 50%;
        background-color: #597ac7;
        
    }
    .lstLinkSocial .linkedin:hover{
        background-color: #1781b3;
       
    }

    .lstLinkSocial .tiktok:hover , .lstLinkSocial .tiktok:hover a{

        background-color: white;
        color:black;
    }



/* ----------  categorie  ------------------- */
.container{
    display: flex;
    background-color: rgba(245, 245, 245, 0.555);
    border-radius: 18px;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    grid-column-start: 4;
    grid-column-end: 11;
}

.mainContainer{
    
    height: calc(100vh - 155px);
    display:flex;
    align-items: center;

}

.mainCategorie{
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-template-rows: 500px;
}
.mainCategorie nav{
    grid-column-start: 1;

}
/* ------------------- Nav menu iteme ---------------- */

.mainCategorie .lstTheme{

    padding-left: 1.2rem;
    margin-left: 1.5rem;
    width: 100%;
    height: 100%;
    border-radius: 18px;
    background-color: rgba(245, 245, 245, 0.555);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    display: flex;
    flex-direction: column;
    justify-content: space-around;
}
.mainCategorie .lstTheme li a{

    font-size: 1.2rem;
}
 /* ======================  Swiper ================  */

 .swiper {
    width: 100%;
    padding-top: 25px;
    padding-bottom: 25px;
    display: grid;
    align-content: center;
  }

  .swiper-slide {
    background-position: center;
    background-size: cover;
    width: 450px;
    height: 450px;

  }

  .swiper-slide img {
    display: block;
    width: 100%;
  }

/*  -------------- Contact ------------------ */

.containerContact{
    min-height: calc(100vh - 60px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.formulair{
    position: relative;
    display: flex;
    height: auto;
    width: 500px;
    margin-top:1.2rem;
    margin-bottom: 1.2rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 18px;
    background-color: rgba(245, 245, 245, 0.555);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.formulair h2{
    font-size: 2.5rem;
    text-align: center;
}
.formulair .formBox{
    position:relative;
    width: 428px;
    margin-top: 21px;
    margin-bottom: 31px;
    border-bottom: 3px solid #fff;
}
.formBox label{
    position:absolute;
    left:0;
    top: 21px;
    font-size: 1.4rem;
    pointer-events: none;
    transition:.5s;
}
.formBox input:focus ~ label,
.formBox input:valid ~ label{

    top:-10px;
    font-size: 1.1rem;
}

.formBox input{
    width: calc(100% - 42px);
    height: 50px;
    background-color: transparent;
    color:black;
    font-weight: 300;
    font-size: 1.2rem;
    border: none;
    outline: none;

}
.formBox i{
    position:absolute;
    right:8px;
    top:20px;
    font-size: 1.4rem;

}
.formBox2{
    width: 100%;
    display: flex;
    justify-content: center;
}
.formulair button{
    width: 100%;
    height: 40px;
    border: none;
    outline: none;
    background-color: #fff;
    border-radius: 18px;
    color:black;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;

}
.formulair button:hover{

    background-color: #299595c2;
    background-image: linear-gradient(62deg, #edf2f2 50%, #eae6ea 100%);
    
}
.formulair textarea{
    outline:none;
    max-width: calc(100% - 30px);
    resize: none;
    padding:15px;
    margin-bottom: 10px;
    border-radius: 15px;
    border-color: #fff;
    font-weight: 300;
    
    
    
}

/* -------------- Tarif & Prestation ----------------- */

.TarifContenaire{
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(100vh - 60px);
    transform: translateY(-25%);
    transform-style: preserve-3d;
}
.TarifContenaire input {
    display: none;
}
.cardBox label{
    position: absolute;
    width: 300px;
    right: 0;
    left: 0;
    margin:auto;
    cursor: pointer;
    transform-style: preserve-3d;
    transition: transform 0.5s ease;
}
.cardBox{
    position: relative;
    transform-style: preserve-3d;

}
.TarifContenaire .card {

    position: relative;
    width: 100%;
    height: 450px ;
    border-radius: 18px;
    perspective: 1000px;
    transform-style: preserve-3d;
    background-color: rgba(245, 245, 245, 0.339);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

}
.card .logoCard{

    position:absolute;
    border: solid 6px #fff;
    padding: 15px;
    border-radius: 50% ;
    top:0;
    left:50%;
    transform:translate(-50%, -85%);
}
.card .logoCard i{
    font-size: 4.4rem;
}
.card h3{
    padding-top: 76px;
    font-size: 2.2rem;
    text-align: center;

}
.nbPerson{
    font-style: italic;
    text-align: center;
}
.cardPrix{
    position:absolute;
    width: 100%;
    height: 55px;
    padding: 15px 15px;
    top:50%;
    bottom: 0;
    font-size: 1.2rem;
    letter-spacing: 5px;
    border:solid 3px #fff;
    border-left: none;
    border-right: none;
}
.cardPrix span{
    font-weight: 700;
}
.cardDescrip{
    margin-top: calc(50% + 24px);
    padding-left: 24px;
    font-size: 1.1rem;

}
.cardDescrip p{
    margin-bottom: 5px;
}
.cardDescrip span{
    font-size: 1rem;
    font-style: italic;
}

#id1:checked~.cardBox #slid3,
#id2:checked~.cardBox #slid4,
#id3:checked~.cardBox #slid5,
#id4:checked~.cardBox #slid6,
#id5:checked~.cardBox #slid1,
#id6:checked~.cardBox #slid2{

    transform: translate3d(-165% , 0 , -250px);
    /* background-color: blue; */
}
#id1:checked~.cardBox #slid2,
#id2:checked~.cardBox #slid3,
#id3:checked~.cardBox #slid4,
#id4:checked~.cardBox #slid5,
#id5:checked~.cardBox #slid6,
#id6:checked~.cardBox #slid1{

    transform: translate3d(-59% , 0 , -120px);
    /* background-color: red; */
}
#id1:checked~.cardBox #slid1,
#id2:checked~.cardBox #slid2,
#id3:checked~.cardBox #slid3,
#id4:checked~.cardBox #slid4,
#id5:checked~.cardBox #slid5,
#id6:checked~.cardBox #slid6{

    transform: translate3d(0, 0 , 0);
    /* background-color:black */
}
#id1:checked~.cardBox #slid6,
#id2:checked~.cardBox #slid1,
#id3:checked~.cardBox #slid2,
#id4:checked~.cardBox #slid3,
#id5:checked~.cardBox #slid4,
#id6:checked~.cardBox #slid5{

    transform: translate3d(56% , 0 , -119px);
    /* background-color:yellow */
}
#id1:checked~.cardBox #slid5,
#id2:checked~.cardBox #slid6,
#id3:checked~.cardBox #slid1,
#id4:checked~.cardBox #slid2,
#id5:checked~.cardBox #slid3,
#id6:checked~.cardBox #slid4{

    transform: translate3d(103% , 0 , -120px);
    /* background-color:green */
}
#id1:checked~.cardBox #slid4,
#id2:checked~.cardBox #slid5,
#id3:checked~.cardBox #slid6,
#id4:checked~.cardBox #slid1,
#id5:checked~.cardBox #slid2,
#id6:checked~.cardBox #slid3{

    transform: translate3d(-113% , 0 , -249px);
    /* background-color:orange */
}
/* ----------  Responsive Design ------------------- */
@media screen and (max-width:990px) {
    nav .lstLink{
        display: none;
    }
    nav .toggleBtn {
        display: block;
    }
    header > .dropdownMenu{
        display: block;
    }
    .titre h1 , .titre p{
        font-size: 3.3rem;
    }
    /* ================= responsive Galery ======= */
    .mainContainer{
        display: block;
    }
    .titreCategorie{
        font-size: 1.8rem;
        margin-top:1.1rem;
        padding-bottom: 1.2rem;
    }
    .mainCategorie{
        grid-template-rows: 1fr 85%;
        gap:1.2rem;
    }
    .mainCategorie nav{
        grid-row-start:1;
        grid-column-start:2;
        grid-column-end:11;
    }
    .container{
        grid-column-start: 2;
        grid-row: 2;
    }
    .mainCategorie .lstTheme{
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        margin:unset;
        padding-right:1.2rem;
        padding-top:1.2rem;
        padding-bottom: 1.2rem;
    }
    .lstTheme li{
        margin-left: 0.8rem;
        margin-bottom:0.8rem;
    }
    /* ============ swiper ============= */
    .swiper{
        height: 350px;
    }
    .swiper-slide{
        
        width: 300px;
        height: 300px;
    }
}
@media screen and (max-width:580px){

    .dropdownMenu{
        left:2rem;
        width: unset;
    }
    .titre h1 , .titre p{
        font-size: 2.5rem;
    }

    /* ========= resposive tarif& Prestation ======== */

    .TarifContenaire{
        display: grid;
        transform: unset;
        justify-content: center;
    }
    .TarifContenaire .card{
        width: 100%;
        margin-top:25px;
    }

    .cardBox{
        
        width: 300px;
    }
    .cardBox label{
        position: relative;
    }
    .logoCard{
        display: none;
    }
    /* ============== resposive contact ============== */

    .formulair{
        width: 350px;
        background-color: unset;
    }
    .formBox input{
        color: white;
    }
    .formulair button{
        width:75%;
    }
    .formulair .formBox{
        width: 310px;
    }
    /* ================= responsive Galery ======= */

        /* ======== swiper ========= */

        .swiper{
            align-content: unset;
            justify-content: center;
        }

        .swiper-slide {

            width: 250px;
            height: 250px;
        }



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

    /* ========= resposive tarif& Prestation ======== */

    .cardBox label{
        width: 225px;
    }

    .card{
        font-size: 1.1rem;
    }
    .card .logoCard i{
        font-size: 2.2rem;
    }
    .cardDescrip{
        font-size: 1rem;
    }
    .cardPrix{
        top:39%;
    }
    .nbPerson{
        font-size: 1rem;
    }
    .card h3{
        font-size: 1.1rem;
    }

}



