body {
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
    color:#339;
}

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);
}

a {
    text-decoration: none;
}

ul {
    margin: 0px;
    list-style-type: none;
    overflow: hidden;
    padding:0px;
}

img {
    margin: 0px;
    height: 100%;
    width: 100%;
    vertical-align: top;
}

hr {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    /*margin: 0px*/
}

.container {
    margin: auto;
    position: relative;
    max-width:1100px;
}

/* NAV TO BE DISPLAYED ON THE TOP */
.top-nav {
    background-color: white;
    width: 100%;
    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 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%;
}

.tile, .tile-50 {
    display: inline-block;
    vertical-align: top;
}
.tile {
    width: 25%;
}
.tile-50 {
    width: 50%;
}

.card-group {
    padding-top: 20px;
    padding-left: 20px;
}

.card {
    background-color: white;
    border-radius: 0px;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.2);
    margin: 0px 20px 20px 0px;
    position: relative;
}

.card:hover {
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}

.card img {
    object-fit: cover;
    object-position: center;
}

/* 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;
}

/* 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;
}

/*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;
}

.float-info {
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: yellow;
    padding:10px;
    z-index: 99;
    border-radius: 2px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: bold;
}

.margin, .margin-20 {
    margin:20px;
}

.margin-bottom {
    margin-bottom:20px;
}

.padding, .padding-20 {
    padding: 20px;
}

.small {
    font-size:0.8em;
}

.right {
    text-align: right;
}

.error {
    color:rgb(255, 115, 115);
}

.hide {
    display:none;
}

/* TODO: peut poser des pbs: il faut parfois laisser delete juste à coté, et pas au dessus à droite */ 
.delete {
    position: absolute;
    top: 5px;
    right: 5px;
}

div.blue {
    /*background-color: blue;*/
    background-image: linear-gradient(90deg, rgb(96, 96, 209), rgb(50, 50, 172));
}

@media screen and (max-width: 1250px) {
    .tile-20{
        width: 25%;
    }
}

@media screen and (max-width: 1000px) {
    .tile {
        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{
        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-50{
        width: 100%;
    }
}
