@font-face {
    font-family: "Uniform";
    src: url("../police/Uniform.woff2") format("woff2"),
         url("../police/Uniform.otf") format("otf"),
         url("../police/Uniform.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
html {
    font-family: "Uniform"!important;
    letter-spacing: 4px;
}
/*responsive*/
/* Responsive mobile */
@media screen and (max-width: 800px) {
    header {
        height: calc(100vh + 80px); /* navbar mobile */
    }
    .video-bg,
    .bas {
        top: 80px;
    }
}
@media screen and (max-width: 450px)
{
    html {
        letter-spacing: 4px;
    }
    main{
        width: 100% !important;
    }
    br{
        display: block !important;
    }
    h1{
        padding: 10% 5% !important;
        font-size: 20px !important;
    }
    h2{
        text-align: center !important;
        padding: auto !important;
    }
    h3{
        font-size: 25px !important;
        margin-top: 5px !important;
    }
    figure{
        float: none !important;
        margin:auto !important;
    }
    .navbar{
        display: block !important;
    }
    .navbar>div, .navbar>ul{
        width: 100% !important;
    }
    div>a{
        margin-top: 1px !important;
    }
    .logo{
        margin-top: 5px !important;
    }
    .icon>a{
        margin-top: 5px !important;
    }
    .contenu{
        line-height: 50px;
        font-size: 60px !important;
        font-weight: 30 !important;
        padding: 20px 0px 20px 0px !important;
    }
    ul{
        display: flex;
        justify-content: center !important;
    }
    .profil{
        font-size: 60px !important;
        padding: 50px 0px 200px 0px !important;
    }
    .contact{
        font-size: 60px !important;
        padding: 50px 0px 200px 0px !important;
    }
    li{
        display: block !important;
    }
    video, iframe{
        width: 100% !important;
        margin: 50px 0px !important;
    }
    section{
        width: 100% !important;
        text-align: center !important;
    }
    .logo2{
        width: 70% !important;
        margin: auto;
        margin-top: 10px;
    }
    h4, p{
        margin: 60px 15px 0px 15px!important;
    }
    h4>span>span{
        animation: none !important;
    }
    .f{
        max-width: 50% !important;
    }
    input{
        width: 70% !important;
    }
    .carrousel.sf>.carrouselconteneur{
        max-width: 250px !important;
        height: 902px !important;
    }

    .pro>figure{
        float: right;
        width: 200px;
        margin-right: 10vw;
    }
    .pro>p{
        text-align: left;
        margin: 2vw 15vw;
        text-align : justify;
        font-size:7vw !important;
    }
    .pro{
        width: 100%;
    }
    .h2{
        margin: 2vw 15vw;
        text-align: left;
    }
}

@media screen and (max-width: 630px)
{
    figure>.carrouselconteneur{
        max-width: 271.5px !important;
        height: 384px !important;
    }
    .logo2{
        width: 70% !important;
        margin: auto;
        margin-top: 10px;
    }

    .pro>figure{
        float: right;
        width: 200px;
        margin-right: 25vw;
    }
    .pro>p{
        text-align: left;
        margin: 2vw 25vw;
        text-align : justify;
        font-size:3vw;
    }
    .h2{
        margin: 2vw 25vw;
        text-align: left;
    }

    .pro>figure{
        float: right;
        width: 200px;
        margin-right: 10vw;
    }
    .pro>p{
        text-align: left;
        margin: 2vw 15vw;
        text-align : justify;
        font-size:3vw;
    }
    .h2{
        margin: 2vw 15vw;
        text-align: left;
    }

    figure>Iframe{
        width:439px !important;
        height:247px !important;
        margin: auto;
    }
}

@media screen and (max-width: 835px)
{
    html {
        letter-spacing: 4px;
    }
    .contenu{
        line-height: 80px !important;
    }
    h1{
        font-size: 100px;
        padding: 100px;
    }
    .footer{
        width: 90% !important;
    }
    h3{
        font-size: 25px !important;
    }
    .logo{
        width: 80px !important;
    }
    .pro>p{
        font-size: 3vw !important;
    }
    body>main>.pro{
        padding: 2vw !important;
    }
    .logo2{
        width: 70% !important;
        margin: auto;
        margin-top: 10px;
    }

    .pro>figure{
        float: right;
        width: 200px;
        margin-right: 10vw;
    }
    .pro>p{
        text-align: left;
        margin: 2vw 15vw;
        text-align : justify;
        font-size:3vw;
    }
    .h2{
        margin: 2vw 15vw;
        text-align: left;
    }
}

@media screen and (max-width: 1177px)
{
    h1{
        line-height: 50px;
        font-size: 30px !important;
        padding: 100px;
    }
    h2{
        font-size: 25px !important;
    }
    h3{
        font-size: 20px !important;
    }
    .footer{
        width: 80% !important;
    }
    body{
        width: 100%;
        background-image: url(../images/fondportfolio2.svg);
        background-size: cover;
        background-repeat: space;
        background-attachment: fixed;
        background-position: center;
    }

    .burger{
        position: absolute;
        top: 10px;
        align-items: center;
    }
    .carrouselconteneur{
        width: 543px !important;
        height: 256px !important;
    }
    .carrousel>.sf:hover{
        transition: 1s !important;
        transform: scale(1) !important;
    }
    .sf>.carrouselconteneur{
        max-width: 250px !important;
        height: 902px !important;
    }
    Iframe{
        width:614.6px !important;
        height:345.8px !important;
        margin: auto;
    }

    .pro>figure{
        float: right;
        width: 200px;
        margin-right: 25vw;
    }
    .pro>p{
        text-align: left;
        margin: 2vw 25vw;
        text-align : justify;
    }
    .h2{
        margin: 2vw 25vw;
        text-align: left;
    }
}

/******html*******/
header{
    width: 100%;
    height: 500px;
}

/****************HEADER****************/
/****************NAV****************/

.navbar{
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content:space-between;
    letter-spacing: 6px;
}

.navbar.fixed{
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content:space-between;
    letter-spacing: 6px;
    position:fixed;
    top:0;
    z-index:1000;
    transition: 1s !important;
    background-color: black;
    padding: 10px 0px;
}

.icon{
    color: white;
    display: flex;
    justify-content:space-between;
    width: 33% !important;
    margin-top: 10px !important;
}

.navbar>ul{
    text-transform: uppercase;
    display: flex;
    width: 33%;
    justify-content: space-between;
}

.navbar>ul>li{
    list-style-type: none;
    display: flex;
    width: 50% !important;
    justify-content: space-between;
    margin-top: 10px !important;
}

.icon>a,
.navbar>ul>li>a{
    position: relative;
    text-decoration: none !important;
    color: #fffc;
    margin: auto;
    width: auto !important;
    margin-top: 50px;
    padding: 5px;
    font-weight: 600;
}

.icon>a:hover{
    color: #ffff !important;
}

.navbar>ul>li>a:hover{
    color: #ffff !important;
}

.navbar>ul>li>a:after{
    content: "";
    position: absolute;
    background-color: #ffff;
    height: 3px;
    width: 0%;
    left: 0px;
    bottom: -1px;
    transition: 1s;
}

.icon>a:after{
    content: "";
    position: absolute;
    background-color: #ffff;
    height: 3px;
    width: 0%;
    left: 0px;
    bottom: -1px;
    transition: 1s;
}

.icon>a:hover:after{
    width: 100%;
}
.navbar>ul>li>a:hover:after{
    width: 100%;
}

.logo{
    margin-top: 30px;
    width: 18%;
}

.logo:hover{
    transform: scale(1.2) translateY(0px);
    transition-duration: 1s !important;
}
/* Vidéo responsive largeur + hauteur */
.video-bg {
    position: absolute;
    top: 110px;
    left: 0;
    width: 100%;      /* ✔ remplace 100vw */
    height: 100vh;
    object-fit: content;
    object-position: center;
    z-index: -1;
}
/* HEADER = vidéo plein écran + navbar */
header {
    position: relative;
    width: 100%;
    height: calc(100vh + 110px);
    overflow: hidden;
}
/* Centrage parfait de h1/h2/h3 sur la vidéo */
.bas {
    position: absolute;
    top: 110px;
    left: 0;
    width: 100%;
    height: 100vh;  /* même hauteur que la vidéo */

    display: flex;
    flex-direction: column;
    justify-content: center; /* centre vertical */
    align-items: center;     /* centre horizontal */
    text-align: center;
}
span{
    display: inline-block;
    margin-right: 7px;
}

h1>span{
    display: inline-block;
    overflow: hidden;
}
h1>span>span{
    animation: reveletitre 1s both;
}

@keyframes reveletitre{
    from{
        opacity: 0;
        letter-spacing: 25px;
    }
    to{
        opacity: 1;
        letter-spacing: 7px;
    }
}

h2>span{
    display: inline-block;
    overflow: hidden;
}
h2>span>span{
    animation: reveletitre2 2s both;
}

@keyframes reveletitre2{
    from{
        opacity: 0;
        transform: translateY(100%);
    }
    to{
        opacity: 1;
        transform: translateY(0%);
    }
}

h3>span{
    display: inline-block;
    overflow: hidden;
}

h3>span>span{
    animation: reveletitre3 4s both;
}

@keyframes reveletitre3{
    from{
        opacity: 0;
        transform: translateY(-100%);
    }
    to{
        opacity: 1;
        transform: translateY(0%);
    }
}

.flipH {
    transform: scale(-1, 1);
    -moz-transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
}

h1{
    font-size: 40px;
    font-weight: 30;
    text-transform: uppercase !important;
    text-align: center;
    color:white;
    letter-spacing: 7px;
    padding:100px 100px 20px 100px;
}

h2{
    font-size: 45px;
    color:#F0BFB0;
    letter-spacing: 9.2px;
    text-transform: uppercase;
    text-align: center;
    padding: 80px;
}

.bas>h3{
    color:white;
    text-align: center;
    font-size: 25px;
    font-weight: 500;
    margin-top:0px;
    text-transform: uppercase;
    letter-spacing: 19px;
}

h4{
    font-size: 30px;
    color: white;
    text-transform: uppercase;
    margin: 20px 50px;
}

h4>span>span{
    animation: reveletitre4 2s both;
}

@keyframes reveletitre4{
    from{
        opacity: 0;
        letter-spacing: 30px;
    }
    to{
        opacity: 1;
        letter-spacing: 20px;
    }
}

/****************MAIN****************/
/****************Portfolio****************/

body{
    box-sizing: border-box;
    width: 100%;
    background: linear-gradient(90deg, #000d25 0%,#003e6a 100%);
    background-size: cover;
    background-repeat: space;
    background-attachment: fixed;
    background-position: center;
}

section{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 20px 0px;
    min-height: 500px;
}

section>ul{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
    color: #ffff;
}

section>ul>li{
    background: #00000087;
    padding: 12px 20px;
    margin: 5px;
    border-radius: 5px;
    cursor: pointer;
}

section>ul>li:hover{
    background: #00000036;
    transition: 1s !important;
    box-shadow: .5rem .5rem .5rem -.7rem #0ff;
}

section>ul>li.active{
    background: #00000036;
}

.produit{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.element{
    position: relative;
    width: 200px;
    height: 200px;
    margin: 0px;
}

.produit>div>img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

p{
    text-align: left;
}

.couvrimage{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    transition: opacity 1s;
}

.couvrimage:hover{
    opacity: 1;
    box-shadow: 1rem #0ff;
}

.couvrimage>*{
    transform: translateY(20px);
    transition: transform 1s;
}

.couvrimage:hover>*{
    transform: translateY(0px);
}

.flou{
    backdrop-filter: blur(20px);
}

.titre{
    font-size: 1em;
    text-transform: uppercase;
}

hr{
    color: #ffff;
    width: 80%;
}

.description{
    font-size: 0.75em;
    margin-top: 0.25em;
    text-align: center;
}

h3{
    color:white;
    text-align: center;
    font-size: 25px;
    font-weight: 500;
    margin-top: 150px;
    text-transform: uppercase;
    letter-spacing: 19px;
}

.video{
    width: 100%;
    display: flex;
    justify-content: center;
    max-width: 800px;
}

video{
    width: 100%;
}

Iframe{
    width:878px;
    height:494px;
}

.m{
    max-width: 700px;
    margin: 10px 50px;
}

.p{
    max-width: 900px;
    margin: 10px 50px;
}

.im{
    width: 100%;
}
/****************FOOTER****************/

footer{
    background-color: black;
    color: white;
    font-size: 20px;
    text-align: center;
}

.footer{
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 75%;
    margin: auto;
}

.logo2{
    width: 18%;
    margin: auto;
    margin-top: 10px;
}

.footer>div{
    width: 30%;
}

/****************Deuxième page : page Profil****************/

.a1{
    color:#FF9D7F !important;
}

.profil{
    font-size: 60px;
    font-weight: 300 !important;
    text-align: center;
    color:#ffff;
    letter-spacing: 5px;
    padding:200px 100px 100px 100px;
}

.pro{
    display: inline-block;
    padding: 20px 0px;
}

.pro>figure{
    float: right;
    width: 200px;
    margin-right: 25vw;
}

.pro>p{
    text-align: left;
    margin: 2vw 25vw;
    text-align : justify;
}

.pres{
    margin: 2vw 25vw;
    text-align: left;
    padding:30px 0px 30px 0px;
}

.f{
    max-width: 100%;
}

.exp{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 20px;
}

ol{
    text-align: center;
}

.footer>div>p{
    margin-top:10px;
}

/****************Troisième page : page Contact****************/

div:not(div>a){
    text-align: center;
    color: #ffff;
    line-height: 200%;
}

div>a:not(.icon>a, .a2){
    color: #1bcedf !important;
    text-align: center;
    line-height: 200%;
}

.contact{
    font-size: 60px;
    font-weight: 300 !important;
    text-align: center;
    color:#ffff;
    letter-spacing: 5px;
    padding:200px 100px 100px 100px;
}

.a2{
    color: #ffff !important;
    text-align: center;
    line-height: 300%;
    font-size: 20px;
}

form{
    margin: auto;
    text-align: center;
    color: #fff !important;
}

form>p{
    color: #fff !important;
}

label{
    padding-top: 10px;
}

input, textarea{
    color: #666;
    border: none;
    padding: 15px 20px;
    width: 300px;
}

.envoi{
    margin: 30px;
    padding: 10px 30px;
    background-color:#00000036;
    border-radius: 5px;
    border: none;
    color: white;
    font-size: 20px;
}

.envoi:hover{
    margin: 30px;
    padding: 10px 30px;
    background-color:#000000d1;
    border-radius: 5px;
    border-color: #000089 !important;
    color: white;
    font-size: 20px;
    transition: 1s !important;
}

/****************erikschaix****************/
/****************carrousel****************/

.es{
    height: 200px;
}

.carrouselconteneur{
    max-width: 362px;
    height: 512px;
    margin-bottom: 50px;
    overflow: hidden;
    position: relative;
    margin: auto;
}

.carrouselconteneur img{
    margin: 0px;
    max-width: initial;
}

.carrouselslide{
    display: flex !important;
    width: 100%;
    height: 100%;
}

#prevBtn{
    position: absolute;
    left: 2%;
    top: 50%;
    z-index: 10;
    opacity: 0.5 !important;
    cursor: pointer !important;
    font-size: 40px;
}

#nextBtn{
    position: absolute;
    right: 2%;
    top: 50%;
    z-index: 10;
    opacity: 0.5 !important;
    cursor: pointer !important;
    font-size: 40px;
}

/****************cinema4d****************/
/****************carrousel****************/

.c4d>.carrouselconteneur{
    max-width: 640px;
    height: 360px;
    margin-bottom: 50px;
    overflow: hidden;
    position: relative;
}

/****************superfernand****************/
/****************carrousel****************/

.sf>.carrouselconteneur{
    max-width: 500px;
    height: 1804px;
    margin-bottom: 50px;
    overflow: hidden;
    position: relative;
}

.sf>.carrouselconteneur img{
    margin: 0px;
    max-width: initial;
}

.sf>.carrouselconteneur>.carrouselslide{
    display: flex !important;
    width: 100%;
    height: 100%;
}

.sf>.carrouselconteneur>#prevBtn{
    position: absolute;
    left: 2%;
    top: 50%;
    z-index: 10;
    opacity: 0.5 !important;
    cursor: pointer !important;
    font-size: 40px;
    color: black !important;
}

.sf>.carrouselconteneur>#nextBtn{
    position: absolute;
    right: 2%;
    top: 50%;
    z-index: 10;
    opacity: 0.5 !important;
    cursor: pointer !important;
    font-size: 40px;
    color: black !important;
}

section>p {
    color: #ffff;
    line-height: 1.6;
    margin: 20px 20px;
    text-align: left;
    font-size: 25px;
    letter-spacing: 4px;
}

.sf:hover{
    transition: 1s !important;
    transform: scale(1.4) !important;
}

/****************bfm****************/

.b{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    width: 40%;
}

.bfm{
    height: 200px;
}

.carrouselconteneur{
    max-width: 362px;
    height: 512px;
    margin-bottom: 50px;
    overflow: hidden;
    position: relative;
    margin: auto;
}

.carrouselconteneur img{
    margin: 0px;
    max-width: initial;
}

.carrouselslide{
    display: flex !important;
    width: 100%;
    height: 100%;
}

#prevBtn{
    position: absolute;
    left: 2%;
    top: 50%;
    z-index: 10;
    opacity: 0.5 !important;
    cursor: pointer !important;
    font-size: 40px;
}

#nextBtn{
    position: absolute;
    right: 2%;
    top: 50%;
    z-index: 10;
    opacity: 0.5 !important;
    cursor: pointer !important;
    font-size: 40px;
}

/****************sentinel****************/

.sentinel{
    background: linear-gradient(90deg, #2e0000 0%,#ff0000 100%) !important;
}
