/*          Color 
    Jaune #FBC000
    Gris claire #707070#fbc000
    Noir foncé #414141
*/ 

@font-face {
    font-family: "Newake";
    src: url("font/Newake.otf") format("opentype");
}

@font-face {
    font-family: "Lodi";
    src: url("font/Lodi.otf") format("opentype");
}

@font-face {
    font-family: "Tommy";
    src: url("font/Tommy.otf") format("opentype");
}

@font-face {
    font-family: "Gothic";
    src: url("font/GOTHIC.TTF") format("truetype");
}

* {
    padding: 0;
    margin: 0;
    text-decoration: none;
    list-style: none;}

html, body {
    font-family: 'tommy';
    font-weight: 100;
}   

h1,h2,h3,h4 {
    font-family: 'newake';
    line-height: 0.8;
    font-weight: 100;
}

/* #####################################  header  ##################################### */

header {
    display: flex;
    padding: 1% 4% 1% 2.2%;
    justify-content: space-between;
    font-family: "Gothic";
}

header h1 {
    font-size: 4.5rem;
    font-weight: 100;
}

#header_containerg {
    padding-top: 2%;
    display: flex;
    flex-direction: column;
    gap: 5%;
}

#header_container2 {
    color: #fbc000;
    font-size: 1.7vw;
    display: flex;
    flex-direction: column;
    gap: 80px;
}

#header_container2 p {color: #2B2B2B;}

#header_container3 {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-weight: 800;
}

#trait {
    width: 40%;
    height: 3px;
    background-color: #fbc000;
}

#settings {
    color: #fbc000;
    display: flex;
    flex-direction: column;
    gap: 50px;
    font-size: 1.1rem;
    user-select: none;
}

#settings p {
    writing-mode:vertical-rl;
    rotate: 180deg;
}

ul {
    display: flex;
    justify-content: end;
    padding: 5.3% 0;
    gap: 0.6rem;
    font-size: 1.8rem;
    padding-top: 10px;
}

ul p {
    user-select: none;
    letter-spacing: -0.15rem;
    color: #fbc000;
}

ul span {user-select: none;}
#acceuil {color: #2B2B2B;}

li a {
    color: #fbc000;
    transition: 0.3s;
    font-family: 'Lodi';
}

li a:hover {color: #2B2B2B;transition: 0.3s;}
li a:hover #acceuil{color: #fbc000;}

.toggle {display: none;}

header .image {
    width: 98%;
}

@media screen and (max-width: 1607px) {
    header h1 {font-size: 4vw;}
    header .image {width: 67vw;}
    #settings {font-size: 1vw;}
    ul {font-size: 1.7vw;}
}

@media screen and (max-width: 991px) {
    .toggle{
        display: block;
        cursor: pointer;
        position: absolute;
        top: 30px;
        left: 30px;
        z-index: 20;
        font-size: 2rem;
        color: #FBC000;
    }

    #black {color: #2B2B2B;}

    .ouvrir {display: block;}
    .fermer {display: none;}
    .open .ouvrir {display: none;}
    .open .fermer {display: block;}

    header ul {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #FBC000;
        flex-direction: column;
        justify-content: start;
        gap: 4%;
        padding-top: 16%;
        text-align: center;
        transform: translateX(-100%);
        transition: transform .4s;
    }

    .open header ul {
        transform: translateX(0);
    }

    nav li a {
        font-size: 6vw;
        font-family: 'newake';
        color: #2B2B2B;
    }

    ul p {
        font-size: 3rem;
        letter-spacing: -0.3rem;
        color: #2B2B2B;
    }

    header h1 {
        font-size: 10vw;
    }

    #header_containerg {
        flex-direction: row;
        justify-content: end;
        padding-right: 5%;
    }
    header {
        padding: 4% 0 0;
        flex-direction: column;
    }


    #header_container2 {
        font-size: 3vw;
        text-align: center;
        margin-right: 8%;
    }
    
    #header_container3,#settings{display: none;}

    header .image {width: 100%;}  
}


/* #####################################  icon  ##################################### */

#icon  {
    padding: 6% 0 5%;
    margin: 4% 6% 0;
    border-top: solid 4px #fbc000;
    display: flex;
    gap: 20px;
}

#icon_container1 , #icon_container2 {
    display: flex;
    gap: 20px;
}

.icon_container3 {
    width: 100%;
    background-color: #f7f7f7;
    border: #b6b6b6 solid 1px;
    border-radius: 15px;
    padding: 1%;
    margin: 0 1%;
}

#icon h3 {
    text-align: center;
    font-weight: 100;
    color: #fbc000;
    font-size: 2.5rem;
    padding-bottom: 8%;
}

#icon p{
    text-align: center;
    font-size: 1em;
    color: #2B2B2B;
    line-height: 1.3em;
}

#icon .image {
    display: block;
    max-width: 35%;
    padding: 1em;
    background-color: #2B2B2B;
    border-radius: 100%;
    margin: 0 auto 8% ;
    }

#icon span {color: #FBC000;}

@media screen and (max-width: 1600px) {
    #icon {
        flex-direction: column;
        font-size: 1.2rem;
    }

    #icon .image {max-width: 25%;}

    .icon_container3 {
        background-color: #ffffff;
        border: none;
    }
}


@media screen and (max-width: 800px) {
    #icon {
        font-size: 0.8rem;
        margin: 2% 2% 0;
        padding: 0  0 5%;
        border-top: none;
    }

    #icon_container1, #icon_container2 {
        flex-direction: column;
        padding: 0 6%;
    }

    #icon h3 {
        padding-bottom: 4%;
    }

    #icon .image {
        max-width: 25%;
        margin: 0 auto;
    }
    
    #icon p {font-size: 1.3em}
}

@media screen and (max-width: 560px) {
     #icon .image {
        max-width: 35%;
    }
}


/* #####################################  iconbis  ##################################### */


#iconbis  {
    display: none;
    gap: 20px;
    font-size: 0.8rem;
    width: 100%;
    height: 100%;
    scroll-snap-type: x mandatory;
    overflow-x: scroll;
}


.iconbis_container1 {
    width: 100%;
    background-color: #ffffff;
    border-radius: 15px;
    flex: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    scroll-snap-align: start;
    padding: 7% 0 10%;
}

#iconbis h3 {
    text-align: center;
    font-weight: 100;
    color: #fbc000;
    font-size: 2.5rem;
    padding-bottom: 4%;
}

#iconbis p{
    text-align: center;
    font-size: 1.3em;
    color: #2B2B2B;
    line-height: 1.3em;
    padding: 0 8%;
}

#iconbis .image {
    display: block;
    max-width: 25%;
    border-radius: 100%;
    margin: 0 auto;
    }

#iconbis span {color: #FBC000;}

.iconbis_container2 {
    padding-top: 25px;
    display: flex;
    gap: 10px;
}

.iconbis_container3 {
    background-color: #343434;
    width: 15px;
    height: 15px;
    border-radius: 100%;
}

.iconbis_container4 {
    background-color: #c7c7c7;
    width: 15px;
    height: 15px;
    border-radius: 100%;
}

@media screen and (max-width: 800px) {
    #icon {display: none;}
    
    #iconbis {display: flex;}
}

/* #################################  presentation  ################################# */

#presentation {
    padding: 3% 10%;
    text-align: center;
    font-size: 1.4em;
    background-color: #343434;
    color: #efefef;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 30px;
}

#presentation .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 50px;
    max-width: 50%;
}

#presentation .image {
    max-height: 70vh;
    margin: auto 0
}

#presentation h2 {
    color: #fbc000;
    font-size: 3rem;
}

#presentation .image2 {display:none;}

@media screen and (max-width: 1600px) {
    #presentation {
        padding: 5% 4%;
    }
}

@media screen and (max-width: 1300px) {
    #presentation .image {
        max-height: 50vh;
    }

    #presentation h2 {
        font-size: 2.5 rem;
    }
}

@media screen and (max-width: 991px) {
    #presentation {
        padding: 8% 8% 5%;
        gap: 0;
        font-size: 0.8rem;
    }

    #presentation .container {
        max-width: 100%;
        display: flex;
        gap: 30px;
    }

    #presentation .image {display: none;}
    
    #presentation .image2 {
        display: block;
        max-width: 70%;
        margin: 0 auto;
    }

    #presentation .container p {font-size: 1.4em;}
}

@media screen and (max-width: 680px) {
    #presentation .image2 {
        max-width: 80%;
    }

    #presentation {
        padding: 8% 3% 5%;
    }
}

/* ####################################  Photo  ################################### */

#photo {
    padding: 2% 5%;
    text-align: center;
    background-color: #ffffff;
}

#photo img {
    max-width: 30%;
    min-height: auto;
}

#photo h1 {
    font-weight: 100;
    font-size: 3rem;
    margin-bottom: 30px;
    color: #2B2B2B;
    background-color: #fbc000;
    display: inline-block;
    padding: 0.7% 4%;
    
}

.photo_container1 {
    display: flex;
    justify-content: center;
    gap: 5%;
}

.photo_container2 {
    display: flex;
    justify-content: center;
    gap: 5%;
}

.P7 {display: none;}

@media screen and (max-width: 1100px) {
    .photo_container1 {flex-direction: column;}

    .photo_container2 {flex-direction: column;}

    #photo img {
        max-width: 50%;
        min-height: auto;
        margin-left: 27%;
    }

    .P1 {display: none;}
    .P6 {display: none;}
    .P7 {display: block;}
}

/* ####################################  Mariage  ################################### */

#mariage {
    padding: 2% 5%;
    text-align: center;
    background-color: #ffffff;
}

#mariage h1 {
    font-weight: 100;
    font-size: 3rem;
    margin-bottom: 30px;
    color: #2B2B2B;
    background-color: #fbc000;
    display: inline-block;
    padding: 0.7% 4%;
}

.mariage_container1 {
    display: flex;
    gap: 7%;
    padding-top: 2%;
}

.mariage_container2 {
    width: 50%;
}

.mariage_container3 {
    position: relative;
    padding-top: 50%;
    margin-bottom: 10px;
}

.mariage_container3 iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#mariage p {
    text-align: center;
    font-size: 1.3em;
    line-height: 140%;
    margin: 0 10%;
}

#mariage span {color: #fbc000;}

#spanbis {font-size: 2rem;}

#mariage a {color: #FBC000;text-decoration: underline;}

@media screen and (max-width: 1100px) {
    .mariage_container1 {display: block;}

    .mariage_container2 {
        width: 80%;
        margin: auto;
    }
}

@media screen and (max-width: 800px) {
    #mariage {padding: 8% 0;}
}

@media screen and (max-width: 680px) {
    #mariage p {margin: 0 4%;}

    .mariage_container2 {width: 100%;}

    #mariage p {font-size: 1.1rem;}
}

/* ####################################  Corporate  ################################### */

#corporate {
    padding: 2% 5%;
    text-align: center;
    background-color: #f4f4f4;
}

#corporate h1 {
    font-weight: 100;
    font-size: 3rem;
    margin-bottom: 30px;
    color: #2B2B2B;
    background-color: #fbc000;
    display: inline-block;
    padding: 0.7% 4%;
}

.corporate_container1 {
    display: flex;
    gap: 7%;
    padding-top: 2%;
}

.corporate_container2 {
    width: 50%;
}

.corporate_container3 {
    position: relative;
    padding-top: 50%;
    margin-bottom: 10px;
}

.corporate_container3 iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#corporate p {
    text-align: center;
    font-size: 1.3em;
    line-height: 140%;
    margin: 0 10%;
}

#corporate span {color: #fbc000;}

#spanbis {font-size: 2rem;}

#corporate a {color: #FBC000;text-decoration: underline;}

@media screen and (max-width: 1100px) {
    .corporate_container1 {display: block;}

    .corporate_container2 {
        width: 80%;
        margin: auto;
    }
}

@media screen and (max-width: 800px) {
    #corporate {padding: 8% 0;}
}

@media screen and (max-width: 680px) {
    #corporate p {margin: 0 4%;}

    .corporate_container2 {width: 100%;}

    #corporate p {font-size: 1.1rem;}

    #corporate h1 {font-weight: 70;}
}

/* ###################################  showreel  ################################### */

#showreel {
    padding: 3% 0;
    color: #2B2B2B;
    font-size: 1.3rem;
}

#showreel h2 {
    font-weight: 100;
    font-size: 2.5rem;
    display: inline-block;
    background-color: #fbc000;
    padding: 5px;
}

#showreel h3 {
    font-weight: 100;
    font-size: 1.8rem;
    padding-top: 0.7%;
}

#showreel span { color: #fbc000}

#showreel_container {text-align: center;}

#showreel_container2 {
    max-width: 1100px;
    padding-top: 1%;
    margin-right:auto;
    margin-left:auto;
}

#showreel_container3 {
    position: relative;
    padding-top: 56.3%;
}

#showreel_container3 iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#timecode {
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    color: #fbc000;
}

#traitshowreel {
    background-color: #fbc000;
    width: 92%;
    height: 3px;
    margin: auto 0;
}

@media screen and (max-width: 991px) {
    #showreel {padding: 2% 0 12%;}

    #showreel h2{
        margin: 4% 0 6%;
    }

    #showreel h3 {
        font-size: 1.4rem;
        padding: 0 5%;
        line-height: 120%;
    }
}

/* ###################################  Contact  ################################### */

#contact {
    color: #2B2B2B;
    background-color: #f7f7f7;
    padding: 5% 15%;
    display: flex;
    justify-content: center;
}

#contact p{font-size: 1.4rem;}

#contact h2 {
    background-color: #FBC000;
    text-align: center;
    font-size: 2.1em;
    padding-top: 1%;
}

#contact .image {
    max-width: 30%;
    border-right: solid 3px #FBC000;
    padding-right: 10%;
}

#contact_container {
    display: flex;
    flex-direction: column;
    gap: 5%;
    padding: 2% 0 0 10%;
    text-align: center;
}

.contact_container1 {
    display: flex;
    justify-content: center;
    gap: 15%;
}

.contact_container2 {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.contact_container3 a {
    display: flex;
    gap: 20px;
    color: #000000;
    justify-content: center;
}

.contact_container3 i {
    line-height: 1.4em;
}

.contact_container3 p {
    margin-top: auto;
    margin-bottom: auto;
    background-color: #FBC000;
    color: #000000;
    padding: 0.5%;
    display: inline-block;
}

#fb {padding-left: 1%;}

#conact i {font-size: 2rem;}

@media screen and (max-width: 1495px) {
    #contact .image {
        display: none;
    }

    #contact_container {
        display: block;
        padding: 2% 0;
    }

    .contact_container2 {row-gap: 0;}
    

    .contact_container3 {margin: 20px 0;}

    #contact h2 {
        display: inline-block;
        margin-bottom: 15px;
        padding: 1%;
    }

}

@media screen and (max-width: 991px) {
    #contact p {font-size: 1.2rem;}

    #contact {
        padding: 8% 15%;
        background-color: #efefef;
    }
}

@media screen and (max-width: 470px) {
    .contact_container1 {flex-direction: column;}
}

/* ####################################  footer  #################################### */

#rs {
    background-color: #2B2B2B;
    padding: 1% 0;
    display: flex;
    justify-content: center;
    font-size: 1.5em;
    text-decoration: none;
}

.rs_container {
    padding: 1%;
    text-decoration: none;
}

#rs i {
    color: white;
    transition: 0.3s;
}

#rs i:hover {
    transform: translateY(-6px);
    color: #FBC000;
}

#insta {
    font-size: 1.3em;
    line-height: 0.9em;
}


.rs_container:hover i::after{transition: 0.3s;}

#info {
    padding: 1% 0;
    background-color: #3B3B3B;
    text-align: center;
    color: #808080;
    font-size: 1em;
    font-family: "Gothic";
}

@media screen and (max-width: 991px) {
    #rs i {
        color: #FBC000;
        padding: 1% 2%;
    }

    #rs i:hover {
        transform: translateY(0px);
        color: #FBC000;
    }

    #rs {
        justify-content: space-around;
        padding: 4% 10%;
        font-size: 1.8em;
    }
}