html{
    /* color variables */
    --main-color: #FF9505;
    --text-color: #393E41;
    --background-color: #fffcfa;
   
}

* {
    font-family: 'Abel', sans-serif;
    color: var(--text-color);
}

body {
    background-color: var(--background-color)
}

/* class for google icons */
.google-icons {
    font-family: 'Material Icons';
}

/* waiting overlay */
#overlay{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    width: 100%;
    height: 100%;
    overflow: auto;
    padding-top: 30%;
    background-color: rgba(0,0,0,0.5);
    justify-content: center;
    color: white;
}


.btn {
    width: 100%; 
    margin-top: 0; 
    font-size:15px; 
    color: var(--text-color);
    background-color: var(--background-color);
    border: solid 1px var(--main-color);
    border-radius: 3px;
    cursor: pointer;

    /* Using <a> as button */
    display: block;
    text-decoration: 0;

}

select.select {
    background-color: var(--background-color);
    border-radius: 7px;
    color: var(--text-color);
    border: solid 1px var(--main-color);
}

input.input {
    background-color: var(--background-color); /*white;*/
    border-radius: 7px;
    color: var(--text-color);
    border: solid 1px var(--main-color);
}

select.select:hover {
    background-color: var(--main-color); 
    color: var(--text-color); /*white;*/
}

button.btn:hover{
    background-color: var(--main-color); 
    color: var(--background-color); /*white;*/
}

section.info { /* replace by card */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    margin-left: 2%;
    margin-right: 2%;
    border-radius: 15px;
}

/* begin of header */
section.header {
    z-index: 5;
    position: fixed;
    display: flex;
    align-items: center;
    width: 97%;
    margin-right: 3%;
    border-bottom: 1px solid #e9e9e9;
    background-color: var(--background-color);
    padding: 10px;
    top: 0;
    left: 0;
}

section.logo{
    width: 100%;
    justify-content: left;
    margin-left: 1%; 
    display: flex;
    align-items: center;
    font-size: 30px;
    max-height: 70px;
    cursor: pointer;
}

.nav {
    display: flex;
    list-style: none;
    width: 100%;
    max-width: 300px;
    justify-content: space-around;
    color: var(--main-color);
    font-size: 130%;
}

.menu {
    color: var(--main-color);
    text-decoration: none;
    position: relative;
}

.menu::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    scale: 0;
    transform-origin: left;
    transition: all 0.6s;
    background-color: var(--main-color);
}

.menu:hover::after {
    scale: 1;
}


/* mobile device */
@media (max-width : 630px) {
    .nav{
        max-width: 100%;
    }
    section.header {
        padding: 0;
        width: 100%;
    }
    section.logo {
        margin: 0;
    }
}

#search-bar {
    margin-left: 2%;
    margin-right: 2%;
    height: 25px;
    width: 50%;

}
/* end of header */

/* profile-picture */
img.profile-picture {
    border-radius: 50%;  
    width: 70px;
    height: 70px;
    object-fit: cover;
}



/* begin of discover page */
/* section accueil */
.section-accueil {
    width: 100%;
    height: 80vh;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: center;
    flex-wrap: wrap;

}
.section-accueil .presentation {
    height: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 30px 50px;
    /*gap: 70px;*/
}
.section-accueil .presentation h1 {
    text-align: left;
    font-size: clamp(40px, 10vw, 100px);
}
.section-accueil .presentation h1 span {
    color: var(--main-color);
}
.section-accueil .presentation .button {
    width: 100%;
    display: flex;
    justify-content: left;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
}
.section-accueil .presentation button {
    width: 230px;
    height: 40px;
    border-radius: 20px;
    background-color: inherit;
    border: 2px solid var(--main-color);
    outline: none;
    font-size: 18px;
    color: var(--main-color);
    transition: all 0.25s ease-in-out;
    cursor: pointer;
}
.section-accueil .presentation button:hover {
    background-color: var(--main-color);
    border-color: var(--main-color);
    color: var(--background-color);
}
.section-accueil .exemples {
    flex: 1;
    height: 100%;
}
.section-accueil .exemples > div {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    height: 75%;
    display: flex;
    align-items: center;
    justify-content: center;
}
@keyframes animation-a {
    0%, 100% {
        transform: translateY(-1%);
    }
    25%, 75% {
        transform: translateY(-2%);
    }
    50% {
        transform: translateY(0%);
    }
}
@keyframes animation-b {
    0%, 100% {
        transform: translateY(-1%);
    }
    25%, 75% {
        transform: translateY(0%);
    }
    50% {
        transform: translateY(-2%);
    }
}
@keyframes animation-c {
    0%, 100% {
        transform: translateY(0%);
    }
    25%, 75% {
        transform: translateY(-1%);
    }
    50% {
        transform: translateY(-2%);
    }
}
.section-accueil .exemples .div-exemple {
    position: absolute;
    height: 350px;
    width: 300px;
    padding: 20px ;
    background-color: white;
    border-radius: 20px;
    box-shadow: 0px 0px 10px #cccccc;
    transition: all .5s ease-in-out;
    font-size: 20px;
    cursor: pointer;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
.section-accueil .exemples h3 {
    margin-bottom: 30px;
}
.section-accueil .exemples h3 span {
    color: var(--main-color);
}
.section-accueil .div-exemple > div {
    height: 50%;
    width: 60%;
    margin: 0 auto;
}
.section-accueil .div-exemple {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}
.section-accueil .exemples .div-exemple:hover ~ .div-exemple {
    opacity: 0;
}
.section-accueil .exemples .div-exemple.a {
    top: 0;
    left: 0;
    animation: animation-a 4s infinite;

}
.section-accueil .exemples .div-exemple.b {
    position: relative;
    animation: animation-b 4s infinite;
}
.section-accueil .exemples .div-exemple.c {
    bottom: 0;
    right: 0;
    animation: animation-c 4s infinite;

}
.icons-exemple {
    font-size: 800%;
}

/* begin of section stats */
.section-stats > div {
    background-color: rgb(240, 240, 240);
    padding: 30px 4%;
    padding-top: 10px;
    font-family: 'Pathway Extreme', sans-serif;
}
.section-stats .presentation p {
    font-weight: 400;
    font-size: 25px;
}
.section-stats h2 {
    font-size: 35px;
}
.section-stats .presentation span {
    color: var(--main-color);
    font-size: 26px;
    font-weight: 800;
}
.section-stats .stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, 270px);
    justify-content: center;
    gap: 20px;
    margin: 30px 0;
}
.section-stats .stats > div {
    height: auto;
    padding: 20px 0;
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
}
.section-stats .stats span {
    display: block;
    margin-bottom: 5px;
    color: var(--main-color);
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 2px;
}
.section-stats {
    margin: -10px;
}
/* end of section stats */

/* begin of section function */
.fonctionnalites-accueil {
    background-color: rgb(240, 240, 240);
    margin: -10px;
    padding: 30px 4%;
}
.fonctionnalites-accueil h2  {
    font-size: 35px;    
}
.fonctionnalites-accueil ul {
    color: #111;
    list-style: none;
    line-height: 1.5;
    font-size: 30px;
    padding: 15px;
}
.fonctionnalites-accueil ul li {
    position: relative;
    height: auto;
}
@media only screen and (max-width: 630px) {
    .fonctionnalites-accueil ul li {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .legend{
        margin-top: 30px;
        text-align: center;
    }
    .title-discover{
        font-size: 400%;
    }
    .icons-discover{
        font-size: 300%;
    }
    .presentation p{
        text-align: center;
    }
    .section-stats .stats {
        gap: 0;
    }
    .section-stats .stats > div {
        padding: 0;
    }
    .section-accueil{
        width: 50%;
    }
    .exemples {
        display: none;
    }
}

.icons-discover {
    margin-right: 30px;
    font-size: 200%;
    color: var(--main-color);
    transform: translateY(25%);
    padding-left:5%; 
}

.text-detailled {
    margin: 10px; 
    text-align: start;
}
.text-detailled p {
    font-size: large;
    text-indent: 5%;
}
.text-detailled b {
    color: black;
}
/* end of section function */

/* end of discover page */

/* begin of main page */
.title {
    font-size: 70px;
    margin-top: 0px;
    margin-bottom: 0px;
}
.infoTitle {
    font-size: 20px;
    padding-left: 5%;
    padding-top: 10px;
}

.moy {
    font-size: 10px; 
}
.on {
    color: grey; 
    font-size: 12px;
}

.caption {
    color: grey;
    margin-top: 0px;
    font-size: 30px; 
}

#chart {
    height: 100%;

}

/* begin of friends list */
section.scrollmenu {
    display: flex;
    overflow: auto;
    white-space: nowrap;
    padding-bottom: 25px;
    padding-top: 25px;
}
section.scrollmenu section {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    width: 190px;
    height: 90px;
}
/* end of friends list */

section.grade {
    /*box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);*/
    
    margin-left: 10px;
    margin-bottom: 7px;
    padding-top: 3px;
    padding-bottom: 10px; 
    border-left: 3px solid;
    border-radius: 10px;
    padding-left: 10px;
    font-size: 90%;
    
    display: flex;
    flex-direction: row;
    justify-content: left;
}

.progressBar {
    height: 10px;
    border-radius: 30px;
}
.progressBarBG {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    width: 300px;
    height: 10px;
    margin-top: 10px;
    border-radius: 30px;  
} 

/*
.line {
    display: flex;
    align-items: center;
    margin-left: 5%;
    margin-bottom: 1%;
    font-size: 30px;
    
}

.icons {
    font-family: 'Material Icons';
    font-size: 50px;
}*/

#filters{
    margin-left: 10px;
}

.filter {
    display: flex;
    align-items: center;
}

/* line to show when we are */
#current-time{
    background-color: red;
    position: absolute;
    z-index: 3;
    width: 100%;
    height: 2px;
    top: 50;
    overflow: auto;
    display: flex;
}

/* begin of timetable */
:root { --row-height:  50px;}
#timetable {
  display: grid;
  position: relative;
  /* grid-template-columns: repeat(COLUMNS, WIDTH); */
  grid-template-columns: 80px repeat(5, 1fr);
  grid-auto-rows: 50px;;
  color: var(--text-color)
}

/* (C) BLANK & HEADER CELLS */
.cell {
  display: flex;
  align-items: center;
  padding-left: 10px;
  /* height: var(--row-height); */
  border: 1px solid #efefef;
}
.head {
  font-weight: 700;
  justify-content: center;
  color: var(--text-color);
  padding: 0;
  /*background: #f9f9f9;*/
}

/* (D) ENTRY CELLS */
.entry {
    color: #fff;
    background: var(--main-color);
    position: absolute;
    right: 0; left: 0; top: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12;
    border-radius: 5px;
}
/* end of timetable */

/* end of main page */

/* begin of settings page */
.details{
    margin-left: 5%;
    margin-top: -10px;
}

section.sideMenu {
    /*position: -webkit-sticky;*/
    position: sticky;
    top: 0;
    padding: 5px;
    height: 100%;
    width: 20%;
}

.inputs{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
}
/* end of settings page */

/* begin of login/signup page */
.form {
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    width:40%; 
    box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); 
    padding: 30px; 
    border-radius: 15px;
}



/* begin of switch button */
div.btn-container{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

div.btn-container i{
    display: inline-block;
    position: relative;
    top: -9px;
}

label {
    font-size: 13px;
    color: #424242;
    font-weight: 500;
}

.btn-color-mode-switch{
    display: inline-block;
    margin: 0px;
    position: relative;
}

.btn-color-mode-switch > label.btn-color-mode-switch-inner{
    margin: 0px;
    width: 320px;
    height: 30px;
    background: #E0E0E0;
    border-radius: 26px;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    /*box-shadow: 0px 0px 8px 0px rgba(17, 17, 17, 0.34) inset;*/
    display: block;
    cursor: pointer;
}

.btn-color-mode-switch > label.btn-color-mode-switch-inner:before{
    content: attr(data-on);
    position: absolute;
    font-size: 12px;
    font-weight: 500;
    top: 7px;
    right: 20px;

}

.btn-color-mode-switch > label.btn-color-mode-switch-inner:after{
    content: attr(data-off);
    height: 16px;
    background: #fff;
    border-radius: 26px;
    position: absolute;
    left: 2px;
    top: 2px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0px 0px 6px -2px #111;
    padding: 5px 10px;

}

.btn-color-mode-switch > .alert{
    display: none;
    background: #FF9800;
    border: none;
    color: #fff;
}

.btn-color-mode-switch input[type="checkbox"]{
    cursor: pointer;
    width: 50px;
    height: 25px;
    opacity: 0;
    position: absolute;
    top: 0;
    z-index: 1;
    margin: 0px;
}

.btn-color-mode-switch input[type="checkbox"]:checked + label.btn-color-mode-switch-inner{
    background: #E0E0E0;
    color: #424242;
}

.btn-color-mode-switch input[type="checkbox"]:checked + label.btn-color-mode-switch-inner:after{
    content: attr(data-on);
    left: 203px;
    background: #fff;
}

.btn-color-mode-switch input[type="checkbox"]:checked + label.btn-color-mode-switch-inner:before{
    content: attr(data-off);
    right: auto;
    left: 20px;
}
.btn-color-mode-switch input[type="checkbox"]:checked ~ .alert{
    display: block;
}
/* end of switch button */


/* begin of loader*/
.circular {
  animation: rotate 2s linear infinite;
  transform-origin: center center;
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  animation: dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

.showbox {
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 5%;
}

/* end of loader*/