html, body {
    height: 100%;
    overflow: hidden;
}

body {
    display: flex;
    flex-direction: column;
    font-family: 'Roboto', sans-serif;
    font-size: 0.9em;
    color: #666666;
}

.wrapper {
    display: flex;  
    flex-direction: column;
    text-align: center;
    height: 100%;
}
  
#content {
    flex-grow: 1;   
}

#header, #content, #footer {
    flex-shrink: 0;
}

#footer {
    font-weight: bold;
}

a {color:#888888;font:bold;text-decoration:none;cursor:hand}
a:hover{color:#666666;}
.center {text-align:center}
.titre {font-size:16px; color:#056EFC;}

.fs {font-size:11px;}

#compteur {display: inline;text-align: right;font:bold 11px arial;}

#bienvenue_accueil {color:#888888; text-align:justify;}
#bienvenue {text-align:justify; overflow:auto; padding:1em 1em 0 1em; max-width:900px;}

.check2 {border:0px; background:#ffffff;	width:13px;	height:13px;}
.inputDefault {border:1px solid #000000; background:#eeeeee;font:bold 12px arial;}

.nospace {margin:0px;padding:0px;}

.sp-btn-home:hover {
    color: #000000;
    opacity: 0.8;
}

li {padding:0px;}

#menu li{
    display: inline-block;
    margin: 0px 15px;
    line-height: 2;
}

.sp-input-code {
    width: 80%;
    margin: auto;
    height: 2em;
    margin-bottom: .25em;
}

.sp-is-valid {
    border-color: #28a745;
    background-color: rgba(40,167,69,0.1);;
}

.sp-is-invalid {
    border-color: #dc3545;
    background-color: rgba(220,53,69,0.1);;
}

.sp-invalid-label {
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #dc3545;
}

.scroller {
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch;
    max-height: 100%;
}

.scroller > * { -webkit-transform: translateZ(0px); }

.modal-scroller {
    -webkit-overflow-scrolling: auto !important;
}

.invisible-scrollbar::-webkit-scrollbar {
    display: none;
}

.border {
border: 1px solid #000000;
}

.border-color {
    border-color: #000000 !important;
}

@-webkit-keyframes pulse {
    75% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    87% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes pulse {
    75% {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
    
    87% {
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }
    
    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-duration: 4s;
    animation-duration: 4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.spinner {
    position: fixed;
    display: none;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    pointer-events: none;
    z-index:2000;
}

.spinner-body {
    width: 100px;
}

.spinner-style{
    background-color: #fff8e2;
    border: 1px solid rgba(255,0,0,0.1);
    opacity: 0.95;
}

.sp-email {
    font-size: 2em;
    font-weight: bold;
}

.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 64px;
    height: 64px;
  }
  .lds-ellipsis div {
    position: absolute;
    top: 27px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #cef;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
  }
  .lds-ellipsis div:nth-child(1) {
    left: 6px;
    animation: lds-ellipsis1 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(2) {
    left: 6px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(3) {
    left: 26px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(4) {
    left: 45px;
    animation: lds-ellipsis3 0.6s infinite;
  }
  @keyframes lds-ellipsis1 {
    0% {
      transform: scale(0);
    }
    100% {
      transform: scale(1);
    }
  }
  @keyframes lds-ellipsis3 {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(0);
    }
  }
  @keyframes lds-ellipsis2 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(19px, 0);
    }
  }
  

#sidenav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 120vh;
    background-color: rgba(0,0,0,.5);
    z-index: 100;
    will-change: opacity;
}

/* The side navigation menu */
.sp-sidenav {
    height: 100%;
    width: 360px; 
    position: fixed; 
    z-index: 101;
    top: 0;
    right: 0;
    background-color: #f5f5f5; 
    overflow-x: hidden; 
    transition: 0.5s;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
}

.sp-sidenav-hide {
    right: -360px
}

.sp-sidenav ul {
    padding: 0px;
    color: #555555;
}

.sp-sidenav ul li {
    list-style: none;
    border-bottom: solid 1px #aaaaaa;
    text-align: left;
    margin-top: 0.3rem;
    padding-left: 1rem;
    opacity: 1;
}

/* The navigation menu links */
.sp-sidenav ul li a {
    display: block;
    height: 56px;
    line-height: 56px;
    color: #000;
    font-weight: 300;
    font-size: .8rem;
    height: 36px;
    line-height: 36px;
    text-decoration: none;
}

/* When you mouse over the navigation links, change their color */
.sp-sidenav ul li a:hover {
    color: #333;
}

/* Position and style the close button (top right corner) */
.sp-sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

.sp-menu-action{
    font-size: 1.5rem;
    padding: .5rem 0 .5rem 1rem;
}

.sp-menu-action a{
    text-decoration: none;
}

.sp-navbar-toggler {
    margin-left: .5em;
    padding: 0.25rem 0.75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    color: rgba(0,0,0,.5);
    border-color: rgba(0,0,0,.1);
  }
  
  .sp-navbar-toggler:hover, .sp-navbar-toggler:focus {
    text-decoration: none;
  }
  
  .sp-navbar-toggler:not(:disabled):not(.disabled) {
    cursor: pointer;
  }
  
  .sp-navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    content: "";
    background-size: 100% 100%;
  }

/* Test */

.card.card-cascade.wider {
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
}

.card {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
    box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
    border: 0;
}

.card.card-cascade.wider.reverse .card-body.card-body-cascade {
    z-index: 3;
    margin-top: -1rem;
    -webkit-border-radius: .25rem;
    border-radius: .25rem;
    -webkit-box-shadow: 0 5px 11px 0 rgba(0,0,0,.18), 0 4px 15px 0 rgba(0,0,0,.15);
    box-shadow: 0 5px 11px 0 rgba(0,0,0,.18), 0 4px 15px 0 rgba(0,0,0,.15);
}

.card.card-cascade.wider .card-body.card-body-cascade {
    box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
    margin-left: 4%;
    margin-right: 4%;
    background: #fff;
    z-index: 1;
    -webkit-border-radius: 0 0 .25rem .25rem;
    border-radius: 0 0 .25rem .25rem;
}

.card.card-cascade.wider .view.view-cascade {
    z-index: 2;
}
.card.card-cascade .view.view-cascade {
    -webkit-box-shadow: 0 5px 11px 0 rgba(0,0,0,.18), 0 4px 15px 0 rgba(0,0,0,.15);
    box-shadow: 0 5px 11px 0 rgba(0,0,0,.18), 0 4px 15px 0 rgba(0,0,0,.15);
    -webkit-border-radius: .25rem;
    border-radius: .25rem;
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}
.view {
    position: relative;
    cursor: default;
}
.view, .view .mask, .waves-effect {
    overflow: hidden;
}

.acc-btn {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
    box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
    padding: 1.5em 0 1.5em 0;
    width:45%;
    font-size: .95rem;
    font-weight: 600;
    color: #000;
}

@media only screen and (max-width: 576px) {
    .container {
        max-width: 560px;
    }
}

/* big device */
@media only screen and (max-width: 767px) {
    .logo{
        width:200px;
    }

    .sp-sidenav {
        width: 250px; 
    }
    
    .sp-sidenav-hide {
        right: -250px;
    }
    

    #unseen td:nth-child(2), 
    #unseen th:nth-child(2) {display: none;}

    #unseen td, #unseen th {padding: .5rem;}
    
    #table_societe td:nth-child(2),
    #table_societe th:nth-child(2),
    #table_societe td:nth-child(6),
    #table_societe th:nth-child(6),
    #table_societe td:nth-child(4),
    #table_societe th:nth-child(4) {display: none;}

    #table_societe td, #table_societe th {padding: .5rem;}

    #bloc_liste_societes, #bloc_input, .bloc-sm {
        padding: 0.25rem!important;
        margin-left: 0.4rem;
        margin-right: 0.4rem;
        margin-bottom: 1.5rem!important;
        width: unset;
    }

    .sm-font {font-size: 80%;}
    .sp-email {
        font-size: 1.5em;
    }

}

@media only screen and (max-width: 576px) {
    .sp-email {
        font-size: 1em;
    }
    .acc-btn {
        padding: 1em 0 1em 0;
    }    
}

@media only screen and (max-width: 360px) {
    #compteur{
        display:none;
    }
    .sp-email {
        font-size: .75em;
    }
    .acc-btn {
        font-size: .75rem;
        padding: 1em 0 1em 0;
    }    
    .d-xs-none {
        display: none !important;
    }
    .d-xs-block {
        display: block !important;
    }
    .nav-link {
        padding: .5rem .5rem;
    }
}

.cookie-alert {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0 !important;
    z-index: 999;
    opacity: 0;
    border-radius: 0;
    transform: translateY(100%);
    transition: all 500ms ease-out;
}

.cookie-content
{
    background: #212327;
    margin: 0px;
    max-width: 900px;
    transition: all 500ms ease-out;
    color: #ecf0f1;
    text-align: left;
}

.cookie-alert.show {
    opacity: 1;
    transform: translateY(0%);
    transition-delay: 1000ms;
}

.cookie-alert a {
    text-decoration: underline
}

.fs-0 {
    font-size: 0px;
}

.pl-1-8 {
    padding-left: 1.8rem;
}

.sp-color-ok {
    color: darkseagreen!important;
}