@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap');

body {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
    display: flex;
    flex-direction: column;
    height: 100vh;
}

a {
    color: inherit;
}

button[type="submit"] {
    cursor: pointer;
}

#strong {
    font-weight: 700;
}

#obligatoire {
    color: red;
}

section {
    width: 77%;
    margin: auto;
    margin-bottom: 60px;
    margin-top: 40px;
    flex-grow: 1;
}

section h1 {
    margin: 6px 0;
    font-size: 3.325rem;
}

/* CSS de la page login */
.login-content {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.login-content .login-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.login-content .login-title h1 {
    margin: 0;
    text-transform: uppercase;
    font-size: 1.8rem;
}

.login-content-left {
    position: relative;
    width: 48%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-content-left-container {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.login-content-left-container #logo {
    width: 15%;
}

.login-content-left-container form {
    font-size: 1.775rem;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.login-content-left-container form input {
    height: 25px;
    background-color: #00617A;
    border-radius: 30px;
    color: #fff;
    border: none;
    padding: 7px;
    font-size: 1rem;
}

.login-content-left-container form input::placeholder {
    color: #c4c4c4;
    padding: 5px;
}

.login-content-right {
    width: 52%;
    display: flex;
    justify-content: flex-end;
}

.login-content-right img {
    width: 100%;
    height: 100vh;
}

.login-content-left-container form label {
    display: flex;
    flex-direction: column;
}

.login-input {
    gap: 5px;
    height: 25px;
    background-color: #00617A;
    border-radius: 30px;
    border: none;
    padding: 7px 7px 7px 0;
    font-size: 1rem;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.login-input input {
    width: 88%;
}

.login-input img {
    cursor: pointer;
    filter: invert(1);
    width: 6%;
}

.erreur {
    color: #B50000;
    font-size: 1.125rem;
}

.success {
    color: green;
    font-size: 1.125rem;
}

.login-content .erreur {
    text-align: center;
}

.connection {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.connection button {
    padding: 13px;
    background-color: #68B2D6;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    font-size: 1.150rem;
}

/* Responsive de la page login.php */
@media screen and (max-width: 992px) {
    .login-content {
        flex-direction: column;
        align-items: center;
    }

    .login-content-left {
        width: 100%;
        justify-content: center;
        text-align: center;

    }

    .login-content-right img {
        display: none;
    }

}

@media only screen and (max-width: 768px) {
    .login-content {
        flex-direction: column;
        align-items: center;
        margin-top: 20px;
    }

    .login-content-left {
        margin-bottom: 20px;
        width: 100%;
        justify-content: center;
        text-align: center;

    }

    .login-content-right img {
        display: none;
    }
}

@media only screen and (max-width: 450px) {
    .login-content {
        margin-top: 0px;
    }

    .login-content-left-container form, .connection button {
        font-size: 1rem;
    }

    .login-input input {
        width: 80%;
    }

    .login-content-left {
        margin-bottom: 0px;
    }

    .erreur {
        font-size: 1rem;
    }
}

/* CSS de la navbar (header et footer) */

#nav-head {
    display: block;
    background-color: #00617A;
    color: #fff;
}

nav {
    z-index: 5;
    width: 100%;
    font-size: 1.1vw;
    font-weight: 800;
    animation: fadeInDown 1.5s ease-in-out;
    transition: all .5s ease-in-out;
    backdrop-filter: blur(5px);
}

nav a {
    text-decoration: none;
}

nav ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 15px 0;
}

nav li {
    margin: 0 2.8em;
}

#nav-head nav li:last-child {
    margin: 0 2.8em 0 0;
}

nav ul, nav li {
    list-style: none;
}

nav .logo {
    width: 70px;
}

#nav-ordinateur {
    display: block;
}

#nav-mobile {
    display: none;
    cursor: pointer;
}

#nav-head-mobile {
    display: none;
    background-color: #00617A;
    color: #fff;
    position: fixed;
    height: 100vh;
}


#nav-head-mobile ul {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

#nav-head-mobile li {
    font-size: .9rem;
}

#nav-head-mobile .close-nav-mobile {
    cursor: pointer;
}

/* Responsive de la nav bar */
@media screen and (max-width: 1400px) {
    nav {
        font-size: 1.2vw;
    }

    nav li img {
        width: 40px;
    }

    nav .logo {
        width: 55px;
    }
}

@media screen and (max-width: 992px) {
    nav {
        font-size: 1.3vw;
    }

    nav li {
        margin: 0 2.1em;
    }
}

@media screen and (max-width: 768px) {
    nav {
        padding: 15px 0;
    }

    #nav-ordinateur {
        display: none;
    }

    #nav-mobile {
        display: block;
    }

    nav li img {
        width: 35px;
    }

    nav ul {
        justify-content: space-between;
    }



    nav .logo {
        width: 40px;
    }
}

@media screen and (min-width: 768px) {
    nav {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}


/* CSS de la page d'accueil */
#hero {
    display: flex;
    justify-content: center;
    margin-top: 70px;
}

.hero-title {
    background-color: #00617A;
    color: #fff;
    min-width: 38%;
    padding: 10px;
    padding: 35px 20px;
    border-radius: 30px;
    position: absolute;
    margin-top: -30px;
    margin-left: -33%;
}

.hero-title h1 {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-size: 3.2vw;
}

.hero-title p {
    font-size: 1.3vw;
}

.hero-title span {
    font-weight: 500;
    text-transform: uppercase;
    font-size: 2.9vw;
}

.hero-content {
    display: flex;
    flex-direction: column;
    gap: 200px;
    background-color: #68B2D6;
    border-radius: 30px;
    padding: 20px 60px;
    font-size: 1.1vw;
    align-items: flex-end;
    text-transform: uppercase;
    width: 80%;
}

.hero-content li {
    list-style: none;
}

.hero-content p {
    width: fit-content;
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
}

.hero-content p::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    background: #fff;
}

.hero-content ul {
    padding: 0;
    display: flex;
    flex-direction: row;
    gap: 115px;
    width: 100%;
}

.hero-content li {
    width: 100%;
}

.hero-content a {
    display: block;
    width: max-content;
    background-color: #00617A;
    padding: 8% 10%;
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    font-size: 1.5vw;
    margin: auto;
}

.emploi-du-temps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 20px;
    border-radius: 10px;
    justify-content: space-between;
    padding: 2% 3%;
    width: 92%;
    margin: auto;
    grid-row-gap: 15px;
}


.emploi-du-temps-item {
    border-radius: 10px;
    color: #fff;
    background-color: #00617A;
    padding: 4% 7%;
    font-size: 1rem;
}

.emploi-du-temps p {
    margin: 10px 0;
}

.edt-groupe p {
    margin: 0;
}

.emploi-du-temps .single-cours-8h {
    grid-column: 1;
}

.emploi-du-temps .single-cours-10h {
    grid-column: 2;
}

.emploi-du-temps .single-cours-13h {
    grid-column: 3;
}

.emploi-du-temps .single-cours-15h {
    grid-column: 4;
}

.emploi-du-temps .single-cours-8h-double-cours {
    grid-column: span 2;
}

.emploi-du-temps .single-cours-13h-double-cours {
    grid-column: span 2;
}

.emploi-du-temps .quadruple-cours {
    grid-column: span 4;
}

.stage-content {
    width: 92%;
    margin: auto;
    display: flex;
    flex-direction: row;
    background-color: #68B2D6;
    border-radius: 10px;
    padding: 15px;
    justify-content: space-between;
    padding: 2% 3%;
    font-size: 1rem;
}

.stage-content div:first-child {
    width: 45%;
}

.stage-content h3 {
    font-size: 1.25rem;
}

.stage-content .stage-link {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.stage-content a {
    display: block;
    width: 100%;
    background-color: #00617A;
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    padding: 1%;
}

@media screen and (max-width: 992px) {
    .hero-content p {
        display: none;
    }

    .hero-content {
        height: 240px;
        justify-content: flex-end;
        padding: 0;
        width: 100%;
        padding-bottom: 15px;
    }

    .hero-content ul {
        gap: 3px;
    }

    .hero-title {
        margin-left: 0;
        width: 80%;
    }

    .stage-content h3 {
        font-size: 1rem;
    }

    .stage-content p {
        font-size: .7rem;
    }
}

@media screen and (max-width: 576px) {
    .hero-title h1 {
        font-size: 5vw;
    }

    .hero-title p {
        font-size: 3vw;
    }

    .hero-content a {
        font-size: 2vw;
    }

    .hero-content {
        height: 220px;
    }

    .stage-content {

        flex-direction: column;
    }

    .stage-content div:first-child {
        width: 100%;
    }

    #nav-footer ul {
        flex-direction: column;
        gap: 30px;
        font-size: 4vw;
    }

    footer .footer-text p {
        font-size: 4vw;
    }
}

/* CSS de la page pronote.php */
.bloc-pronote {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px;
    margin-top: 30px;
}

.bloc-pronote-content a {
    display: block;
    margin-bottom: 1em;
}

.bloc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.note {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.bloc-pronote-content {
    border: 1px solid #68B2D6;
    border-radius: 10px;
    padding: 3% 5%;
}

.pronote-border {
    border-bottom: 1px solid black;
}

.pronote-border:last-child {
    border: none;
}

/* Responsive de la page pronote.php */
@media screen and (max-width: 768px) {
    .edt-content {
        width: 100%;
    }

    section {
        width: 85%;
        margin-top: 5px;
    }

    .bloc-pronote {
        grid-template-columns: repeat(1, 1fr);
    }

    .bloc-header {
        flex-wrap: wrap;
        margin-bottom: 6px;
    }
}

/* CSS du footer */
footer {
    bottom: 0;
    width: 100%;
    background-color: #00617A;
    color: #fff;
}

footer nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

footer .footer-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
}

footer .footer-text ul {
    border-bottom: 2px solid #fff;
    padding-bottom: 15px;
}

footer .footer-text p {
    margin: 5px;
}

@media screen and (max-width: 992px) {
    #footer-logo {
        display: none;
    }

    #nav-footer {
        font-size: 1.8vw;
    }
}

/* CSS de la page emploi du temps */
.emploi-du-temps-vertical {
    display: grid;
    grid-template-rows: repeat(4, 1fr);
    grid-template-columns: repeat(6, 1fr);
    grid-row-gap: 20px;
    justify-content: space-between;
    padding: 0 2% 2% 2%;
    width: 92%;
    margin: auto;
    grid-column-gap: 15px;
    grid-auto-flow: column;
    min-height: 1000px;
}

.emploi-du-temps-vertical .lundi {
    grid-column: 1;
}

.emploi-du-temps-vertical .mardi {
    grid-column: 2;
}

.emploi-du-temps-vertical .mercredi {
    grid-column: 3;
}

.emploi-du-temps-vertical .jeudi {
    grid-column: 4;
}

.emploi-du-temps-vertical .vendredi {
    grid-column: 5;
}

.emploi-du-temps-vertical .samedi {
    grid-column: 6;
}

.emploi-du-temps-vertical .single-cours-8h {
    grid-row: 1 / span 1;
}

.emploi-du-temps-vertical .single-cours-10h {
    margin-bottom: 45px;
    grid-row: 2 / span 1;
}

.emploi-du-temps-vertical .single-cours-13h {
    grid-row: 3 / span 1;
}

.emploi-du-temps-vertical .single-cours-15h {
    grid-row: 4 / span 1;
}

.emploi-du-temps-vertical .single-cours-8h-double-cours {
    grid-row: 1 / span 2;
    margin-bottom: 45px;
}

.emploi-du-temps-vertical .single-cours-13h-double-cours {
    grid-row: 3/ span 2;
}

.emploi-du-temps-vertical .quadruple-cours {
    grid-row: 1/span 4;
}

.edt-semaine-liste {
    width: fit-content;
    margin: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

.edt-semaine-liste button {
    background: url(./src/assets/arrow.svg) no-repeat center center;
    background-size: contain;
    border: none;
    padding: 0;
    width: 40px;
    height: 40px;
    filter: var(--icons);
    cursor: pointer;
}

.edt-semaine-liste #prochaine-semaine {
    transform: rotate(180deg);
}

.edt-content {
    background-color: #68B2D6;
    border-radius: 10px;
    min-height: 200px;
    text-align: center;
    padding-top: 5px;
    width: 90%;
    margin: auto;
    margin-top: 20px;
}

.edt-content-vertical {
    min-height: 900px;
    margin-top: 5px;
}

.edt-header {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-row-gap: 20px;
    justify-content: space-between;
    padding: 1% 2%;
    width: 92%;
    margin: auto;
    text-align: center;
    grid-column-gap: 15px;
}

/* Responsive de la page emploidutemps.php */

@media screen and (max-width: 1400px) {
    .edt-header {
        grid-column-gap: 5px;
        font-size: .8rem;
    }

    .emploi-du-temps-item {
        font-size: .8rem;
    }
}


@media screen and (max-width: 992px) {
    .edt-header {
        grid-column-gap: 5px;
        font-size: .8rem;
    }

    .emploi-du-temps-item {
        font-size: .6rem;
    }
}

@media screen and (max-width: 768px) {
    .edt-header {
        grid-column-gap: 5px;
        font-size: .8rem;
    }

    .emploi-du-temps-item {
        font-size: .5rem;
    }
}


@media screen and (max-width: 576px) {
    #emploi-du-temps-vertical {
        width: 95%;
    }

    .emploi-du-temps-vertical {
        grid-column-gap: 7px;
    }

    .edt-content {
        width: 100%;
    }

    .edt-header {
        grid-column-gap: 5px;
        font-size: .6rem;
    }

    .emploi-du-temps-vertical .emploi-du-temps-item {
        font-size: .38rem;
    }
}

/* CSS de la page application */
.application {
    background-color: #68B2D6;
    text-align: center;
    padding: 5px 35px 30px 35px;
    border-radius: 4px;
    min-height: 500px;
    margin-top: 20px;
}

.application h2 {
    margin: 35px;
    font-size: 1.5rem;
}

.application-content {
    min-height: 400px;
    display: flex;
    flex-direction: column;
    background-color: #00617A;
    color: #fff;
}

.searchWrapper {
    width: 70%;
    margin: 25px auto 10px auto;
    font-size: 2rem;
}

#searchBar {
    width: 100%;
    height: 32px;
    border: 2px solid #000;
    padding: 5px 10px;
    font-size: .875rem;
    border-radius: 7px;
    margin-top: 15px;
}

.item-link {
    display: block;
}

.application-item img {
    width: 60%;
}

.application-item .item {
    width: 100%;
}

.application-item .item h3 {
    margin: 0;
    padding: 25px 10px;
}

.application-item {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-row-gap: 20px;
    border-radius: 10px;
    padding: 1% 2%;
    width: 92%;
    margin: auto;
    grid-column-gap: 15px;
    justify-items: center;
    align-items: end;
}

#aucunResultat {
    display: none;
}

/* Responsive de la page application */
@media screen and (max-width: 992px) {
    .application-item {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .application-item {
        grid-template-columns: repeat(1, 1fr);
    }

    section h1 {
        font-size: 2rem;
    }
}

/* CSS de la page aides_infos.php */
#aide {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3em;
    margin-top: 30px;
}

.box-service {
    background-color: #00617A;
    border-radius: 10px;
    padding: 10px;
    color: #fff;
}

.bg-img-service {
    background-color: #68B2D6;
    padding: 10px;
    border-radius: 360px;
    max-width: fit-content;
}

.bg-img-service img {
    filter: invert(1);
}

img.icone-service {
    display: flex;
    align-items: center;
    justify-content: center;
}

.titre-service {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lieu-service {
    display: flex;
    align-items: center;
    gap: 2px;
}

img.icone-batiment {
    margin-top: 2.5px;
}

/* Responsive de la page aides_infos.php */
@media screen and (max-width: 768px) {
    #aide {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Style des pages d'ajouts */
.ajout-content {
    display: flex;
    flex-direction: column;
    background-color: #00617A;
    margin: auto;
    color: #fff;
    margin-top: 20px;
    width: 97%;
    padding: 25px 25px 25px 25px;
}

.ajout-content h2 {
    margin-top: 0;
}

.ajout-form {
    display: flex;
    flex-direction: column;
}

.ajout-form label {
    padding-bottom: 30px;
}

.ajout-form .label-column {
    display: flex;
    flex-direction: column;
}

#matiere {
    width: 30%;
}

#titre {
    width: 40%;
}

#piecejointe {
    width: fit-content;
    cursor: pointer;
}

.ajout-form button {
    width: fit-content;
    padding: 8px;
    cursor: pointer;
}

/* CSS de la page matiere.php */
.matiere-items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-row-gap: 60px;
    padding: 1% 2%;
    width: 96%;
    margin: auto;
    grid-column-gap: 25px;
}

.matiere {
    text-align: center;
}

.matiere-items .item {
    border: 1px solid #00617A;
    height: 100%;
    width: 100%;
}

.matiere-items .item h3 {
    margin: 0;
    padding: 15px;
    background-color: #00617A;
    color: #fff;
    min-height: 50px;
}

/* Responsive de la page matiere.php */
@media screen and (max-width: 992px) {
    .matiere-items {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .matiere-items {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* CSS de la page cours.php */
.cours {
    margin-top: 20px;
}

.cours-container {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}

.cours-content-header {
    background-color: #00617A;
    color: #fff;
    padding: 15px 30px;
    border-radius: 11px 11px 0 0;
}

.cours-content-header h2 {
    margin: 5px 0;
}

.cours-content {
    margin: 0;
    border: 1px solid #68B2D6;
    padding: 15px inherit;
    border-radius: 0 0 11px 11px;
}

.cours-content li {
    margin-left: 15px;
    margin-bottom: 15px;
}

/* Responsive de la page cours.php */

@media screen and (max-width: 768px) {
    .cours-content-header {
        padding: 10px 20px;
        font-size: .7rem;
    }

    .cours-content {
        font-size: .6rem;
    }

    .cours-container .cours-content {
        padding-left: 10px;
    }
}

/* CSS de la page ajoutabsences */
#eleve {
    width: 30%;
    font-size: 1rem;
}

/* CSS de la page absences */
.absences {
    margin-top: 20px;
}

.absences-content {
    display: flex;
    flex-direction: column-reverse;
}

.absence-item {
    border-left: 1px solid;
    padding: 0 0 10px 20px;
    width: 50%;
    margin-bottom: 5px;
}

.absence-item.justifiee {
    border-color: green;
}

.absence-item.non-justifiee {
    border-color: red;
}

.absence-item * {
    width: fit-content;
}

.absences #tri {
    width: 40%;
}

/* CSS de la page travail.php */

.devoir {
    display: flex;
    flex-direction: row-reverse;
    min-height: 700px;
}

.titre-devoir {
    background-color: #68B2D6;
    margin: 0;
    padding: 8px 0 8px 10px;
}

.groupe-devoirs-par-date {
    padding-left: 10px;
    margin-bottom: 10px;
}

.groupe-devoirs {
    width: 65%;
    margin-top: 30px;
}

.nb-devoirs-matiere {
    background-color: #00617A;
    color: white;
    width: 35%;
    margin-top: 30px;
}

.titre-devoir-matiere {
    margin: 10px;
}

.matieres {
    padding: 10px;
}

/* Responsive de la page travail.php */
@media screen and (max-width: 768px) {
    .groupe-devoirs {
        width: 100%;
    }

    .nb-devoirs-matiere {
        display: none;
    }
}

/* CSS de la page deposer_devoir.php */
.deposer-content {
    background-color: #00617A;
    margin-top: 30px;
    padding: 20px;
    color: #fff;
}

.extension-fichier {
    margin-top: 10px;
    margin-bottom: 0;
    font-size: .9rem;
    max-width: 60%;
    color: #333333;
}

#depot-devoir form {
    width: 75%;
    margin: 25px auto;
}

#drop-area {
    color: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: rgb(255, 255, 255);
    padding: 4% 2%;
    width: 90%;
    margin: auto;
    font-size: 1.125rem;
    cursor: pointer;
    margin-bottom: 20px;
}

#drop-area label {
    margin: .8em;
}

#depot-devoir button {
    padding: 8px;
    width: fit-content;
}

#piecejointe_eleve {
    cursor: pointer;
    margin: auto;
    font-size: 1.125rem;
}

/* Responsive ajoutdevoir.php */
@media only screen and (max-width: 992px) {
    #drop-area {
        font-size: 1.1rem;
    }		
		
}

@media only screen and (max-width: 450px) {
    #drop-area {
        font-size: 1rem;
    }

    #piecejointe_devoir {
        margin-top: 10px;
        margin-left: 10px;
    }

    #ouvrir_depot {
        margin-top: 10px;
        margin-left: 10px;
    }

    .ajout-form label {
        font-size: 0.9rem;

    }
}

/* Responsive des pages d'ajouts */
@media only screen and (max-width: 992px) {
    .ajout-content {
        width: 80%;
    }

    .ajout-content h2 {
        font-size: 1.4rem;
    }
}

@media only screen and (max-width: 450px) {
    #piecejointe {
        margin-top: 10px;
        margin-left: 10px;
    }

    .extension-fichier {
        max-width: fit-content;
    }

    .ajout-content h2 {
        font-size: 1.1rem;
    }


    #piecejointe_eleve {
        font-size: 0.8rem;
        margin-top: 10px;
    }

    .fichierdepose {
        word-wrap: break-word;
    }
}

/* Page ajoutnote.php */
table {
    border-spacing: 0;
}

table th, td {
    padding: 5px;
    border: 1px solid;
}

table th {
    background-color: #00617A;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #fff;
}

table form label {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

table form button {
    width: 100%;
}

/* Responsive page ajoutnote */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

th, td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

th {
    background-color: #f2f2f2;
}

@media only screen and (max-width: 768px) {

    /* Ajouter des styles pour les écrans plus petits */
    table {
        border: 1px solid #ddd;
    }

    th, td {
        border: none;
        border-bottom: 1px solid #ddd;
        display: block;
        padding: 8px;
        text-align: left;
    }

    td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
    }
}

/* Style de la page note.php */
#notes {
    display: flex;
    flex-direction: column-reverse;
}

#notes * {
    margin: 0;
}

#notes .notes-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 30px;
    border-radius: 10px;
    padding: 2% 0;
    grid-row-gap: 15px;
    align-items: start;
}

#notes .competence-content {
    display: flex;
    flex-direction: column-reverse;
}

#notes .note-competence {
    background-color: #00617A;
    color: #fff;
    padding: 5% 6%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-right: 5%;
    align-items: center;
}

#notes .note-content {
    display: flex;
    flex-direction: column-reverse;
}

#notes .note-matiere {
    background-color: #68B2D6;
    padding: 3% 4%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-right: 5%;
}

#notes .note-devoir {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 1% 5%;
    border: 1px solid #68B2D6;
}

.moyenne-totale {
    text-align: center;
    font-size: 1.4rem;
}

/* Responsive de la page notes.php */
@media screen and (max-width: 992px) {
    #notes .notes-content {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media screen and (max-width: 768px) {
    #notes .notes-content {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Style de la page panelprofesseur.php */
.taille-titre {
    font-size: 1.1em;
}

.recent-devoirs {
    background-color: #00617A;
    color: #fff;
    border-radius: 10px;
    padding: 20px 30px;
    margin-top: 20px;
}

.recent-devoirs p {
    line-height: 22px;
	word-wrap: anywhere;
}

.bloc-panelprof {
    display: flex;
    align-content: center;
    justify-content: space-evenly;
    gap: 6em;
    margin-top: 30px;
}

.liens-prof {
    border-radius: 10px;
    background-color: #00617A;
    color: #fff;
    padding: 20px 30px;
    margin-top: 60px;
    max-width: fit-content;
}

.lien-prof a {
    margin-bottom: 10px;

}

.bloc-liensprof a {
    padding-top: 10px;
    display: block;
}

/* Responsive de la page panelprofesseur.php */
@media only screen and (max-width: 768px) {
    .bloc-panelprof {
        display: flex;
        flex-direction: column;
    }

    .bloc-liensprof, .bloc-recent-devoirs {
        margin-left: auto;
        margin-right: auto;
    }

    .liens-prof {
        margin-top: 20px;
    }

    .bloc-panelprof {
        gap: 2em;
    }

    .bloc-liensprof h2, .bloc-header-prof h2 {
        font-size: 1.3em;
    }

    .bloc-liensprof a {
        font-size: 1em;
    }

}

@media only screen and (max-width: 450px) {
    .bloc-liensprof a {
        padding-top: 6px;
        display: block;
    }

    .bloc-panelprof {
        margin-left: 20px;
        margin-right: 20px;
    }
}


/* Style de la page travailprof.php */

.all-devoirs-prof {
    margin-top: 30px;
}

.taille-titre-prof {
    font-size: 1.1em;
    margin: 0;
    padding: 10px 10px;
}

.bloc-devoir-prof {
    margin-bottom: 30px;
    border: solid 1px #00617A;
    border-radius: 10px;
}

.bg-devoir {
    background-color: #00617A;
    color: #fff;
    margin: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 10px 10px 0px 0px;
}

.content-devoir-prof {
    padding-left: 10px;
	word-wrap: anywhere;
  	padding-right: 10px;
}

/* Responsive de la page travailprof.php */
@media only screen and (max-width: 768px) {
	  #all-devoirs {
	  display: flex;
	  align-items: center;
	  justify-content: center;
  	}
    .all-devoirs-prof {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
		width: 80%;
    }

    .bloc-devoir-prof {
        min-width: 400px;
    }
	
}

@media only screen and (max-width: 450px) {
    .bloc-devoir-prof {
        min-width: 300px;
    }

    .taille-titre-prof {
        padding-left: 0px;
    }

    .bg-devoir {
        padding-left: 10px;
        padding-right: 10px;
    }
}