html, body {
    height: 100%;
    margin: 0;
    padding: 0;
  }

.main > div.container{
    margin: 0;
    padding: 0;
    max-width: 100%;
}

.upper{
    text-transform: uppercase;
}

/* Menu   */
.navbar{
    padding-bottom:5px;
}

.navbar-brand{
    margin-left:35px
}

.navbar-nav.karu{
    text-transform: uppercase;
}

.navbar-nav.karu li{
    margin: 0 10px;
    color:#1e5da9;
}

.navbar-light .navbar-nav .nav-link{
    color:#1e5da9;
}

.btn-outline-primary{
    border-color: #1e5da9;
    border: 2px solid;
}

.btn-outline-primary:hover{
    background-color: #1e5da9;
}

/**  **/

.main{
    height: 90vh;
    overflow: hidden;
}

.full-area{
    width: 100%;
    max-width: 100%;
    position: relative;
    height: 100vh;
}

.main,
.full-area {
  position: relative;
  display: flex;
  flex-direction: column;
}

/**  **/
.banner-area{
    flex:1;
    position: relative;
}


/** Banner social media  **/
.banner-social{
    position:absolute;
    z-index: 4;
    left: 0px;
    width: 60px;
    background-color: #FFF;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
}

.banner-social .links{
    text-align: center;
    width: 340px;
    margin-left: -136px;
    position: absolute;
    top:40%;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
}

.links a{
    text-decoration:none;
    text-transform: uppercase;
    display: inline-block;
    margin: 0 20px;
    color:#1e5da9;
}

/** Banner menu  **/
.banner-right{
    right: 0;
    position: absolute;
    z-index: 5;
    width: 60px;
    height: 100%;
    min-height:100%;
    background-color: #FFF;
    overflow: hidden;

}

.banner-right .links{
    text-align: center;
    width: 340px;
    margin-left: -136px;
    position: absolute;
    top:30%;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
}

.banner-right .category{
    position: absolute;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
}

/** Banner categorie **/

.banner-cat{
    display: block;
}


/** Banner  **/
.banner{
    height: 100%;
}

.banner-right .banner-social{
    flex:1;
    min-height: 0;
}

/** Slide **/
.nav-item{
    text-align: right;
    padding-right: 70px;
}

.nav-item a{
    text-decoration: none;
    color: #1e5da9;
    font-size: 18px;
}

#banner-cat.owl-carousel .owlCategory .owl-stage-outer .owl-stage{
    padding-left:60px !important;
}

.owl-nav{
    position: absolute;
    text-align: right;
    right: 70px;
    bottom:0;
}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot{
    font-size: 48px;
    color: #1e5da9;
}

.owl-dots{
    display: none;
}


/* Appliquez l'effet de flou initial à .initial-blur */
.cell.initial-blur {
  filter: blur(5px); /* Flou initial de 5px */
  transition: filter 0.3s ease-in-out; /* Animation de transition */
}

/* Supprimez l'effet de flou pour les éléments .cell visibles */
.cell:not(.initial-blur) {
  filter: none; /* Pas de flou pour les éléments visibles */
}

.bg-img{
    min-height: 818px;
    width: 100%;
    display: block;
    background-size: cover;
    background-position: center;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}


.item-cat{
    height: 680px;
    position: relative;
    overflow: hidden;
}

.item-cat a{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-position: 50%;
    text-decoration: none;
    background-size: cover;
}

.item-cat a span{
    position: absolute;
    bottom: 20px;
    left: 35px;
    right: 35px;
    display: flex;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    font-weight: 700;
    color:#fff;
    font-size: 1.50em;
    text-transform: uppercase;
}

.item-cat a:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(2 132 190 / 35%);
    z-index: 0;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;  
}


.item-cat:hover a:before{
    opacity: 1;
    visibility: visible;
}


.owlCategory{
    position: absolute !important;
    z-index: 2 !important;
    right: -100%;
    top: 0;
    bottom: 0;
    width: 100%;
    -webkit-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
    transition: all 0.9s ease;
}

.owlCategory.active {
    right: 0;
    padding: 0 60px;
}

.carousel-control-next-icon{
    background-image: url(../img/next.svg);
}

.carousel-control-prev-icon{
    background-image: url(../img/prev.svg);
}


/*** slide contact US ***/

.illu-img{
    height: 680px;
    background-position: left;
    background-size: cover;
}

.contactus{
    position: absolute !important;
    z-index: 2 !important;
    right: -100%;
    top: 0;
    bottom: 0;
    width: 100%;
    -webkit-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
    transition: all 0.9s ease;
}

.contact{
    width: 100%;
    -webkit-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
    transition: all 0.9s ease;
}

.contactus.active {
    right: 0;
}

.form-contact{
    background-color: #fff;
    padding-right: 70px;
}

.form-contact label{
    color:#1e5da9;
    font-weight: bold;
}

/** end **/ 


.banner .cell.bottom{
    vertical-align: bottom;
}

.cell{
    position: absolute;
    width: 100%;
    margin: 0 60px;
    bottom: 30px;
}

.item-title{
    color:#1e5da9;
    font-size: 20px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 600;
}

.item-info{
    color:#fff;
    font-size: 40px;
    display: block;
    margin-top: -15px;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    line-height: 90%;
}

button#goButton, button#goButton2 {
  border: 0;
  text-transform: uppercase;
  background-color: #FFF;
  color: #1e5da9; 
  padding: 0 20px; 
  height: 175px;
}

button#goButton.active, button#goButton2.active{
    background: #1e5da9;
    color: #fff; 
}


.btn-category{
    text-align: center;
    width: 100px;
    height: 175px;
    text-transform: uppercase;
    text-decoration: none;
    display: block;
}

.btn-contact{
    text-align: center;
    width: 70px;
    height: 175px;
    text-transform: uppercase;
    text-decoration: none;
    display: block;
}

.btn-primary{
    background-color: #1e5da9 !important;
    text-transform: uppercase;
}
/*** page ***/
.title-page{
    text-align: center;
    color:#1e5da9;
}

.block-txt{
    padding: 80px;
    background-color: #f0f0f0 ;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.img{
    padding-top: 250px !important;
    padding-bottom: 250px !important;
    background-size: cover;
    
}

.img-1{
    padding-top: 250px !important;
    padding-bottom: 250px !important;
    background-image:url(../img/illustration/illu-2.jpg);
    background-size: cover;
    
}

.img-2{
    height: 100%;
    background-image:url(../img/illustration/illu-usine.png);
    background-size: cover;
    background-position-x: center;
}

.img-km-1{
    padding-top: 250px !important;
    padding-bottom: 250px !important;
    background-image:url(../img/illustration/illu-km.jpg);
    background-size: cover;
    
}

.img-km-2{
    padding-top: 250px !important;
    padding-bottom: 250px !important;
    background-image:url(../img/illustration/illu-km-2.jpg);
    background-size: cover;
    background-position: center;
    
}

.img-eng-1{
    padding-top: 250px !important;
    padding-bottom: 250px !important;
    background-image:url(../img/illustration/illu-eng-1.png);
    background-size: cover;
    
}

.img-eng-2{
    padding-top: 250px !important;
    padding-bottom: 250px !important;
    background-image:url(../img/illustration/illu-eng-2.jpg);
    background-size: cover;
    
}

.img-eng-3{
    padding-top: 250px !important;
    padding-bottom: 250px !important;
    background-image:url(../img/illustration/illu-eng-3.png);
    background-size: cover;
    
}

.head-footer{
    font-size: 14px;
    text-align: center;
    background: #e8e8e8;
    padding: 17px 0;
    text-transform: lowercase;
}

.head-footer a{
    display: inline-block;
    text-decoration: none;
    margin: 0 20px;
    color:#1e5da9;
    position: relative;
}

.footer{
    background: #f0f0f0;
    position: relative;
    color:#1e5da9;
    font-size: 14px;
    padding: 20px 0;
    font-weight: 300;
}

.footer a{
    text-decoration: none;
    color:#1e5da9;
}

.scroll-top{
    position: absolute;
    bottom: 25px;
    right: 35px;
    -webkit-box-shadow: inset 0 0 0 1px;
    box-shadow: inset 0 0 0 1px;
    width: 2.5em;
    height: 2.5em;
    line-height: 2.5em;
    text-align: center;
    opacity: .8;
    cursor: pointer;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.block-txt h2{
    color: #cf7962;
}

.color-blue{
    color:#2f3767;
}

.color-karu{
    color:#1e5da9;
}

@media screen and (min-width: 320px) and (max-width: 414px) {
    .main{
        height: 90vh;
    }
    .full-area{
        height: 90vh;
    }
    .img-2{
        padding: 190px;
    }
    .owl-item [data-hash]:first-child{
            width: 414px !important;
        }
    .banner-social{
        display: none;
    }
    .banner-right{
        bottom: 0;
        width: 100%;
        height: 60px;
        min-height:50px;
    }

    .banner-right .links{
        transform:rotate(0);
        margin: 0 30px;
        top: auto;
    }

    .cell{
        left: 0;
    }

    button#goButton, button#goButton2{
        height: 60px;
    }

    .owlCategory.active {
        right: 0;
        padding: 0;
    }

    .item-info{
        font-size:30px;
    }

    .contactus {
    right: -108%;
    }

.illu-img {
    height: 100px; 
    background-position: top;
}
.mb-5{
    margin-bottom: 0 !important;
}

.mt-5{
    margin-top:0 !important;
}
.form-contact {
    padding-right: 0;

}

.item-cat{
    height: 85vh;
}

.bg-img{
    min-height: 85vh;
}

.illu-img {
    height: 85vh;
}

}

@media screen and (min-width: 780px) and (max-width: 979px){
    .main{
        height: 90vh;
    }
}

/** Tablettes **/
@media (min-width: 768px) and (max-width: 1023px) {
    .main{
        height: 90vh;
    }

    .full-area{
        position: relative;
    }

    .banner-right, .banner-social {
        min-height: 100%;
    }

    .cell{
        margin: 0 80px;
        bottom: 40px;
        left: 200px;
    }

    .owl-item [data-hash]:first-child{
        width: 1280px;
    }

    .item-cat{
        height: 85vh;
    }

    .bg-img{
        min-height: 85vh;
    }

    .illu-img {
        height: 85vh;
    }

}


/** end tablette **/
@media screen and (min-width: 1024px) and (max-width: 1278px){
    .main{
        height: 90vh;
    }

    .full-area{
        position: relative;
    }
    .banner-right, .banner-social {
        min-height: 100%;
    }

    .cell{
        margin: 0 80px;
        bottom: 40px;
        left: 120px;
    }

    .owl-item [data-hash]:first-child{
        width: 1280px;
    }

    .item-cat{
        height: 85vh;
    }

    .bg-img{
        min-height: 85vh;
    }

    .illu-img {
        height: 85vh;
    }
}

@media screen and (min-width: 1280px) and (max-width: 1365px){
    .main{
        height: 90vh;
    }

    .full-area{
        position: relative;
    }
    .banner-right, .banner-social {
        min-height: 100%;
    }

    .cell{
        margin: 0 80px;
        bottom: 40px;
        left: 60px;
    }

    .owl-item [data-hash]:first-child{
        width: 1280px;
    }

    .item-cat{
        height: 85vh;
    }

    .bg-img{
        min-height: 85vh;
    }

    .illu-img {
        height: 85vh;
    }

}
@media screen and (min-width: 1366px)and (max-width: 1439px){
    .main{
        height: 90vh;
    }

    .full-area{
        position: relative;

    }

    .banner-right, .banner-social {
        min-height: 100%;
    }

    .cell{
        margin: 0 80px;
        bottom: 40px;
        left: 49px;
    }

    .owl-item [data-hash]:first-child{
        width: 1280px;
    }

    .item-cat{
        height: 85vh;
    }

    .bg-img{
        min-height: 85vh;
    }

    .illu-img {
        height: 85vh;
    }
}

    @media screen and (min-width: 1440px){
        .main{
            height: 90vh;
        }

        .owl-item [data-hash]:first-child{
            width: 1680px;
        }
        .item-cat{
            height: 85vh;
        }
    
        .bg-img{
            min-height: 85vh;
        }
    
        .illu-img {
            height: 85vh;
        }
    }

    @media screen and (min-width: 1500px)and (max-width: 1599px){
        .main{
            height: 90vh;
        }
    
        .full-area{
            position: relative;
    
        }
        .banner{
            height: 100%;
        }

        .banner-right, .banner-social {
            min-height: 100%;
        }
    
        .cell{
            margin: 0 80px;
            bottom: 40px;
            left: 49px;
        }
    
        .owl-item [data-hash]:first-child{
            width: 1480px !important;
        }

        .item-cat{
            height: 85vh;
        }
    
        .bg-img{
            min-height: 85vh;
        }
    
        .illu-img {
            height: 85vh;
        }
    }



    @media screen and (min-width: 1600px) and (max-width: 1727px){
        .main{
            height: 90vh;
        }
    
        .full-area{
            position: relative;
    
        }
        .banner{
            height: 100%;
        }

        .banner-right, .banner-social {
            min-height: 100%;
        }
    
        .cell{
            margin: 0 80px;
            bottom: 40px;
            left: 49px;
        }
    
        .owl-item [data-hash]:first-child{
            width: 1580px !important;
        }
        .item-cat{
            height: 85vh;
        }
    
        .bg-img{
            min-height: 85vh;
        }
    
        .illu-img {
            height: 85vh;
        }
    }
    


    @media screen and (min-width: 1728px){
            .main{
                height: 810px;
            }

            .full-area{
                position: relative;
            }

    
            .owl-item [data-hash]:first-child{
                width: 1680px !important;
            }
            .item-cat{
                height: 85vh;
            }
        
            .bg-img{
                min-height: 85vh;
            }
        
            .illu-img {
                height: 85vh;
            }
}

@media screen and (min-width: 1800px){
    .main{
        height: 810px;
    }

    .full-area{
        position: relative;
    }

    .owl-item [data-hash]:first-child{
        width: 1800px !important;
    }

    .item-cat{
        height: 85vh;
    }

    .bg-img{
        min-height: 85vh;
    }

    .illu-img {
        height: 85vh;
    }
}
@media screen and (min-width: 1920px){
    .main{
        height: 880px;
    }

    .full-area{
        position: relative;
    }


    .owl-item [data-hash]:first-child{
        width: 1820px !important;
    }

    .item-cat{
        height: 85vh;
    }

    .bg-img{
        min-height: 85vh;
    }

    .illu-img {
        height: 85vh;
    }
}