* {
    box-sizing: border-box;
}
body,html{
    position: relative;
    margin: 0;
    padding:0;
    scroll-behavior: smooth;
}

/*page-header*/
#page_header{
    height:400px;
    width: 100%;
    position: relative;
    margin-bottom:25px;
}
#page_header #filter{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgba(0,0,0,0.25);
    z-index: 0;
}
#page_header #title{
    padding:69px 15px 96px;
    height: 100%;
}
#page_header #page_header_title{
    text-align: center;
    position: absolute;
    width: 100%;
    top:50%;
    left:50%;
    transform: translateY(-50%) translateX(-50%);
}

/*content*/
main{
    padding:0;
    margin:0;
}
article{
    position: relative;
    width:100%;
    padding:25px 60px 50px;
}
main div.container{
    width:1134px;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding:0;
    max-width: 100%;
}
main div.flex-container{
    width:100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.flex-container.flex-centered{
    justify-content: center;
}
main div.float-content{
    width: 552px;
    margin:30px 0;
    position: relative;
}
.form-flex{
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    width: 100%;
    text-align: left;
}
form>input, form>div{
    width: 100%;
}
.input-with-icon{
    position:relative;
    width:100%;
}

div.buttons{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top:25px;
}
div.buttons>a{
    display: block;
    margin-right: auto;
    margin-left: auto;
}
#create{
    padding-top:46px;
    margin-top: 50px;
    border-top:1px solid #E5E5E5;
}
.flex-center{
    align-self: center;
    margin-top:30px;
}
button.flex-center{
    margin-top:36px;
}

/*espace client*/
#espace-nav{
    z-index: 1;
    margin-top:-62px;
    height: 75px;
    position: relative;
    margin-bottom:25px;
}
#espace-nav nav{
    height: 100%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
#espace-nav nav>a{
    padding-left:28px;
    margin-right:28px;
}

.espace .container > section {
    margin: 40px 0;
}
.espace .container > section{
    display: flex;
    flex-flow: column nowrap;
}
.espace .container > section:first-child {
    margin-top:0;
}

.espace .container h2 {
    margin: 0 0 40px 0;
}

div.resume{
    padding:0 97px;
}
div.resume>p.espace_intro{
    margin-top:0;
    padding: 0;
}
div.item-notification{
    width:100%;
    position: relative;
    padding:15px;  
    text-align:left;
    margin-bottom:10px;
}
.container-notifications{
    padding:0 25px !important;
}
.container-notifications > .item-notification:last-child{
    margin-bottom: 0;
}
.espace-card{
    padding:33px 38px 35px;
    margin:24px 0 12px;
    position: relative;
}

.title-card{
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    position: relative;
}
.title-card>*{
    margin:0;
}
.title-card .id-client{
    margin-left:31px;
}
.espace .container .see-all{
    padding-right:20px;
    padding-left:20px;
    margin:0;
}
.espace .container .flex-links{
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
    margin: 40px 0 0;
}

.flex-links .flex-link{
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    height: 358px;
    width:32%;
    transition: all 0.2s ease;
    margin-bottom:40px;
    margin-top: 0;
    text-decoration:none;
}
.flex-links .flex-link:hover{
    padding-bottom:50px;
}
.espace-delete{
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
}
.espace-edit{
    display: flex;
    flex-flow: row wrap;
}
.espace-edit .sub-edit{
    width:50%;
    text-align:center;
}
.espace-delete p{
    width:100%;
    margin-bottom:0;
}
.resume.espace-modification{
    display: flex;
    flex-flow: column nowrap;
    margin-top:0;
    text-align: left;
}
.espace-modification button{
    margin-top:0;
}
/*compteur documents*/
.global-counter{
   margin-bottom:40px;
}
.see-more{
    margin:30px 0 0;
    text-align: center;
    display:none;
}
.counter-elements .total-elements{
    width:200px;
    height: 2px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 7px;
    position: relative;
}
.counter-elements .total-elements .actual-elements{
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    width:25%;
    background:#98B535;
}
/*espace modal*/
.modal{
    display:none;
    position: fixed;
    z-index: 9999999;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding:20px;
}
.modal-container{
    position: absolute;
    top: 50%; right: 50%;
    transform: translate(50%,-50%);
    width:900px;
    height: auto;
    padding:60px;
    text-align: center;
    max-height: 100%;
}
.loader-container:after{
    content: '';
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    background: url("../img/loaders/loader.gif") #fff no-repeat center center;
    background-color:rgba(255, 255, 255, 0.5);
}
.modal-title{
   margin-bottom:30px;
}
.modal-content{
   
}
/*media queries*/
@media all and (max-width: 1024px) {
    #espace-nav{
        padding:20px;
        height: auto;
        min-height: 140px;
        margin-top:-75px;
    }
    #espace-nav nav{
        display: flex;
        flex-flow: column nowrap;
        align-items: flex-start;
    }
    #espace-nav nav>a{
        margin:6px 0;
        padding:0 !important;
        border-left:none !important;
    }
    #espace-nav nav>a.active, #espace-nav nav>a:hover{
        padding-left:15px !important;
    }
    a.espace-deconnect{
        width:53px;
        height: 45px;
        background-size: 21px 20px;
    }
    .title-card{
        flex-flow: column nowrap;
        align-items: flex-start;
    }
    .title-card .subtitle-location, .title-card .id-location, .title-card .date-location{
        padding-left:0 !important;
        margin-left:0 !important;
        border-left:none !important;
    }
    .title-materiel .id-materiel{
        padding-left:0 !important;
        margin-left:0 !important;
        border-left:none !important;
    }
    .title-card .id-client{
        margin-left:0;
    }
    .espace .container .flex-links{
        flex-flow: column nowrap;
        align-items: center;
        justify-content: flex-start;
    }
    .flex-links .flex-link{
        width:360px;
    }
}
@media all and (max-width: 768px) {
    h1{
        font-size: 42px !important;
        line-height: 42px !important;
    }
    main #page_header{
        height:250px;
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)),url("../img/content/velhop-location.jpg") no-repeat center center;
        margin-bottom:29px;
    }
    main #page_header #filter{
        opacity: 0;
    }
    .mobile-none{
        display: none;
    }
    p.espace_intro{
        padding:0 10%;
    }
    div.resume{
        padding:0;
    }
    article{
        padding:25px;
    }
    main div.float-content{
        margin:5px 0;
    }
    div.buttons{
        flex-flow: column-reverse nowrap;
        justify-content: space-around;
        align-items: center;
        height: 106px;
    }
    #espace-nav, .espace .container .resume{
        margin-left:25px;
        margin-right: 25px;
        width: auto;
    }
    section.espace-card{
        padding:20px;
    }
    .title-card, .title-card h3{
        font-size: 22px !important;
    }
    a.espace-download{
        right:0;
    }
    .espace-card li{
        font-size: 14px;
        line-height: 1.5;
    }
    .modal-container{
        padding:25px;
        max-height: 100%;
    }
    div#back_top{
        left:10px;
        bottom:10px;
    }
    div#back_top:hover{
        left:7px;
        bottom:7px;
    }
    
    .espace-edit .sub-edit{
        width:100%;
    }
}
/*quand le container n'est plus assez grand*/
@media all and (max-width: 1240px) {
    main div.flex-container{
        justify-content: center;
    }
    main div.float-content{
        padding:25px 0;
        width: 100%;
    }
    
    .modal-container{
        width: 100%;
    }
}
/*pour etre accorder avec le changement de menu*/
@media all and (min-width: 992px) {
    #header_desktop{
        display: block;
    }
    #container_header_mobile{
        display: none;
    }
}
@media all and (max-width: 992px) {
    main{
        padding-top:60px;
    }
    #header_desktop{
        display: none;
    }
    #container_header_mobile{
        display: block;
    }
    
    .modal-title{
        font-size: 20px;
    }
}
@media all and (max-width: 768px) {
    main {
        padding-top: 40px;
    }
}

/* utils */
.centered{
    margin:auto;
}
.m0{
    margin:0 !important;
}
.mb0{
    margin-bottom:0 !important;
}
.w100{
    width:100%  !important;
}
.mts{
    margin-top:15px  !important;
}
.mbs{
    margin-bottom:15px  !important;
}
.text-center{
    text-align:center !important;
}
.text-left{
    text-align:left !important;
}