body {
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0;
    padding: 0;
}

    body.dark{
        background-color: #333;
    }

/* Container will be centered */
.container{
    margin:auto;
    position: relative;
}

h1, h2, h3, h4, h5, h6{
    font-weight: 500;
}

/* <h1>Title<span class="subtext">Subtext will be on next line</span></h1>*/
h1 .subtext, h2 .subtext, h3 .subtext, h4 .subtext, h5 .subtext, h6 .subtext{
    display:block;
    font-size: 0.7em;
    font-weight: 300;
}

p, h1, h2, h3, h4, h5, h6, li{
    margin: 0px;
    color:rgba(0, 0, 0, 0.6);
}

p a, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, li a{
    color:rgba(0, 0, 0, 0.6);
}

    .dark p, .dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6, .dark li{
        color:rgba(255, 255, 255, 0.8);
    }


    .dark p a, .dark h1 a, .dark h2 a, .dark h3 a, .dark h4 a, .dark h5 a, .dark h6 a, .dark li a{
        color:rgba(255, 255, 255, 0.8);
    }

a{
    text-decoration: none;
}

/* TODO: leave as it is or use a class ? */
ul{
    margin: 0px;
    list-style-type: none;
    padding:0px;
    overflow: hidden;
}

img{
    vertical-align: top;
    margin: 0px;
    width: 100%;
}

hr{
    border:none;
    border-top: 1px solid rgba(0, 0, 0, 0.8);
    /*margin: 0px*/
}

    .dark hr{
        border-top: 1px solid rgba(255, 255, 255, 0.8);
    }

/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 17px;
    margin-right: 5px;
    margin-left: 5px;
  }
  
  /* Hide default HTML checkbox */
  .switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
  }
  
  .slider:before {
    position: absolute;
    content: "";
    height: 13px;
    width: 13px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
  }
  
  input:checked + .slider {
    background-color: #2196F3;
  }
  
  input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
  }
  
  input:checked + .slider:before {
    -webkit-transform: translateX(13px);
    -ms-transform: translateX(13px);
    transform: translateX(13px);
  }
  
  .slider.round {
    border-radius: 17px;
  }
  
  .slider.round:before {
    border-radius: 50%;
  }

/* NAV TO BE DISPLAYED ON THE TOP */
.top-nav{
    width: 100%;
    /*box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.42);*/
    position: -webkit-sticky;/*Safari*/
    position: sticky;
    top: 0;
    padding: 0;
    margin: 0;
    z-index: 100;
}

.top-nav h1{
    font-size: 1.2em;
    font-weight: normal;
    margin: 12px;
}

.top-nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.top-nav li {
    display: inline-block;
}

.top-nav li p{
    margin: 0px 16px;
}
  
.top-nav li a {
    display: block;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

/* NAV DISPLAYED ON A SIDE <ul class="nav"><li><a></a></li></ul> */
.nav{
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

/* Use <li><p>Some texte</p></li> when wanting to add text without <a> */
.nav li a, .nav li p {
    display: block;
    padding: 14px 20px;
}

.nav li a:hover{
    background-color: rgba(170, 170, 170, .2);
}

/* HORIZONTAL TABS (ul) */
.horizontal-tabs{
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    z-index:98;
}

.horizontal-tabs li {
    display: inline-block;
    color:#888;
    padding:10px;
    position: relative;
}

.horizontal-tabs li.active{
    border-bottom:2px solid #339;
    color: #339;
}

/* DISPLAY A LOADING ELEMENT  */
#div-loading{
    background-color: rgba(255, 255, 255, 0.9);
    height: 100%;
    width: 100%;
    position:absolute;
    top: 0;
    left: 0;
    z-index: 1000;
  }

  #div-loading:after{
      content: "LOADING 🗘";
      color: #888;
      font-weight: bold;
      margin: 0;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
  }

  /* SKELETONS OF THE PAGE */
  .width-10-pc, .width-20-pc, .width-30-pc, .width-40-pc, .width-50-pc, .width-60-pc, .width-70-pc, .width-80-pc, .width-90-pc, .width-10-pc-fix, .width-20-pc-fix, .width-30-pc-fix, .width-40-pc-fix, .width-50-pc-fix, .width-60-pc-fix, .width-70-pc-fix, .width-80-pc-fix, .width-90-pc-fix{
      display: inline-block;
      vertical-align: top;
      padding: 0px;
  }
  .width-10-pc, .width-10-pc-fix{
      width:10%;
  }
  .width-20-pc, .width-20-pc-fix{
      width:20%;
  }
  .width-30-pc, .width-30-pc-fix{
      width:30%;
  }
  .width-40-pc, .width-40-pc-fix{
      width:40%;
  }
  .width-50-pc, .width-50-pc-fix{
      width:50%;
  }
  .width-60-pc, .width-60-pc-fix{
      width:60%;
  }
  .width-70-pc, .width-70-pc-fix{
      width:70%;
  }
  .width-80-pc, .width-80-pc-fix{
      width:80%;
  }
  .width-90-pc, .width-90-pc-fix{
      width:90%;
  }

/* DISPLAY ELEMENTS OF A LIST */
.tile, .tile-20, .tile-25, .tile-33, .tile-50{
    display: inline-block;
    vertical-align: top;
}
.tile-20{
    width: 20%;
}
.tile, .tile-25{
    width: 25%;
}
.tile-33{
    width: 33%;
}
.tile-50{
    width: 50%;
}

/* CARD */
.card-group{
    padding-top: 20px;
    padding-left: 20px;
}

.card{
    margin: 0px 20px 20px 0px;
    position: relative;
    background-color: white;
}

/* card inside another card */
.card .card{
    background-color: #eee;
}

.card .card .card{
    background-color: #fff;
}

.dark .card{
    margin: 0px 20px 20px 0px;
    position: relative;
    background-color: #555;
}

.dark .card .card{
    background-color: #888;
}

.dark .card .card .card{
    background-color: #555;
}

.card img{
    width: 100%;
    height: 100%;
}

.radius{
    border-radius: 10px;
}

.radius-top{
    border-radius: 10px 10px 0px 0px;
}

.radius-bottom{
    border-radius: 0px 0px 10px 10px;
}

.shadow{
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.2);
}

.shadow:hover{
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}

    .dark .shadow{
        box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.5);
    }

    .dark .shadow:hover{
        box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    }

.uppercase{
    text-transform: uppercase;
}

p.black{
    color: black;
}

/* To display options on top right ? */
.close-card{
    position: absolute;
    right:0;
    top:0;
    margin:5px;
    font-size: 24px;
}

/* BUTTONS */

button, .button, input[type="submit"]{
    transition: all .5s;
    border:0px;
    color:white;
    font-size: 0.8em;
    text-transform: uppercase;
    background-color: #6868d1;
    padding: 10px;
    border-radius: 2px;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, .1);
    cursor: pointer;
}

p a.button{
    color: white;
}

button:hover, .button:hover, input[type="submit"]:hover{
    transition: all .5s;
    background-color: #4646cc;
}

button.orange, .button.orange, input[type="submit"].orange{
    background-color: #ff8855;
}

button.orange:hover, .button.orange:hover, input[type="submit"].orange:hover{
    background-color: #fc6c2f;
}

button.loading{
    background-color: #ccc;
}
button.loading:hover{
    background-color: #ccc;
}
button.loading span{
    display: none;
}
button.loading:after{
    content: 'LOADING 🗘'
}

button.added{
    background-color: green;
}
button.added:hover{
    background-color: green;
}
button.added span{
    display:none;
}
button.added:after{
    content:'ADDED ✔';
}

.inline-btn button, .inline-btn p{
    display: inline-block;
    box-shadow: none;
}

/* TODO: improve this */
.inline-btn p{
    background-color: rgba(0, 0, 0, 0.1);
    padding: 9px 5px 8px 5px;
    height:18px;
    margin: 0px 3px 0px 3px;
    vertical-align: bottom;
    color: #6868d1;
}

.card .card .inline-btn p{
    background-color: rgba(255, 255, 255, 0.4);
}

/* Form */
input[type=text], input[type=email], input[type=password], textarea{
    background-color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0px;
    /*width: 98%;*/
    margin: 0;
    margin-bottom: 20px;
    padding: 10px;
    color: rgba(0, 0, 0, 0.7);
}

input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, textarea:focus{
    outline:none;
    background-color: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}

textarea{
    height: 100px;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #000;
    opacity: 0.2; /* Firefox */
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: #000;
}

/*for ro.*/
.bender {
    display:none;
}

/*EFFECT - ON HOVER, BACKGROUND IMAGE WILL APPEAR TO THE RIGHT*/
.background-img{
    transition: all .6s;
}

.background-img:hover{
    transition: all .3s;
    background: no-repeat center right;
    background-size: auto 140%;
}

/*TOGGLE CONTENT*/
.js-hide-trigger{
    cursor: pointer;
}

.js-hide-trigger::after{
    content: attr(data-after);
    color: #888;
    margin:10px;
    padding:5px;
}

.js-hide-content {
    opacity: 0;
    font-size: 0px;
    transition: opacity 500ms, font-size 300ms;
  }
  
.js-do-show {
    margin-top:15px;
    color:#444;
    opacity: 1;
    font-size: 13px;
    transition: opacity 500ms, font-size 100ms;
}

/*TEST !! TOGGLE CONTENT*/
.js-hide2-trigger{
    cursor: pointer;
}

.js-hide2-trigger::after{
    content: attr(data-after);
    color: #888;
    margin:10px;
    padding:5px;
}

.js-hide2-content {
    display: none;
    opacity: 0;
    transition: all 1s;
    /*transition: opacity 500ms, font-size 300ms;*/
  }
  
.js-do2-show {
    display: initial;
    opacity: 1;
    transition: all 1s;
    /*transition: opacity 500ms, font-size 100ms;*/
}

/* TABS */
.js-tabs-content{
    display: none;
}

.js-tabs-content.show{
    display: initial;
}

/* ALTER - TO ALTERNATE BETWEEN ONE SECTION TO ANOTHER */
.js-alter-content{
    display: none;
}

.js-alter-content.show{
    display: initial;
}

.js-alter-trigger{
    cursor: pointer;
}

/* JS HOVER CONTENT */
span.js-hover-content{
    display: none;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.5);
}

span.js-hover-content.show{
    display: initial;
}

/* Special */
.float-info{
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: yellow;
    padding:10px;
    z-index: 2000;
    border-radius: 2px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: bold;
}

/* Basics */
.margin, .margin-20{
    margin:20px;
}

.margin-sides{
    margin: 0px 20px 0px 20px;
}

.small{
    font-size:0.8em;
}

/* TODO: élargir à d'autres éléments */
.children-margin-bottom > li{
    margin-bottom: 20px;
}

.margin-bottom{
    margin-bottom:20px;
}

.padding, .padding-20{
    padding: 20px;
}

.padding-10{
    padding: 10px;
}

.padding-15{
    padding: 15px;
}

.padding-but-bottom{
    padding: 20px 20px 0px 20px;
}

.center{
    text-align: center;
}

.right{
    text-align: right;
}

.error{
    color:rgb(255, 115, 115);
}

.hide{
    display:none;
}

.delete{
    position: absolute;
    top: 5px;
    right: 5px;
}

div.inline-block{
    display: inline-block;
}

div.red{
    background-color: red;
}
div.green{
    background-color: green;
}
div.blue{
    /*background-color: blue;*/
    background-image: linear-gradient(90deg, rgb(96, 96, 209), rgb(50, 50, 172));
}
div.yellow{
    background-color: yellow;
}
div.pink{
    background-color: pink;
}
div.orange{
    background-color: orange;
}
div.dark{
    background-color:#333
}

.dark div.red{
    background-color: red;
}
.dark div.green{
    background-color: green;
}
.dark div.blue{
    /*background-color: rgb(100, 95, 204);*/
    background-image: linear-gradient(90deg, rgb(96, 96, 209), rgb(50, 50, 172));
}
.dark div.yellow{
    background-color: yellow;
}
.dark div.pink{
    background-color: pink;
}
.dark div.orange{
    background-color: orange;
}
.dark div.dark{
    background-color:#333
}

@media screen and (max-width: 1250px){
    .tile-20{
        width: 25%;
    }
}

@media screen and (max-width: 1000px) {
    .tile, .tile-25, .tile-20{
        width: 33%;
    }
}

@media screen and (max-width: 750px) {
    .width-10-pc.optional, .width-20-pc.optional, .width-30-pc.optional, .width-40-pc.optional, .width-60-pc.optional, .width-70-pc.optional, .width-80-pc.optional, .width-90-pc.optional{
        display: none;
    }

    .width-10-pc, .width-20-pc, .width-30-pc, .width-40-pc, .width-60-pc, .width-70-pc, .width-80-pc, .width-90-pc{
        width: 100%;
    }

    .width-60-pc ul{
        text-align: center;
    }

    .tile, .tile-25, .tile-33, .tile-20{
        width: 50%;
    }

    .nav li{
        display: inline-block;
    }
}

@media screen and (max-width: 500px) {    
    .width-50-pc.optional{
        display: none;
    }

    .width-50-pc{
        width: 100%;
    }

    .width-50-pc ul{
        text-align: center;
    }

    .tile, .tile-20, .tile-25, .tile-33, .tile-50{
        width: 100%;
    }
}