* {
    margin: 0;
    padding: 0;
    font-family: 'NunitoSans';
    pointer-events: all;
    -webkit-tap-highlight-color: transparent;

}

@font-face {
    font-family: 'NunitoSans';
    src: url('../assets/fonts/NunitoSans.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

:focus {
    outline: none;
}

/* Var für die Farben Dark und Light*/
:root {
    --main-color: #4694d6;
    --bg-color: #F2F2F3;
    --card-color: #ffffff;
    --extra-bg: #d9d9d9;
    --border-color: #1a1a1a;
    --font-color-l: #d9d9d9;
    --font-color-d: #1a1a1a;
    --box-shadow: #2B323D33;
}

body.dark-mode {
    --main-color: #4694d6;
    --bg-color: #121212;
    --card-color: #1e1e1e;
    --extra-bg: #2a2a2a;
    --border-color: #444444;
    --font-color-l: #cccccc;
    --font-color-d: #f0f0f0;
    --box-shadow: #00000055;
}

#homeAverage {
    color: var(--font-color-d);
}

.loadScreen {
    z-index: 99999;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100vw;
    background: linear-gradient(180deg, #335979, #4694d6);
    opacity: 1;
    transition: opacity 1s ease;
    flex-direction: column;
    font-size: 2.5rem;
    color: #1a1a1a;
    font-weight: bolder;
}

.loadScreenIcon {
    width: 50%;
    height: auto;
    aspect-ratio: 1 / 1;
}


.app-body {
    height: auto;
    min-height: 100vh;
    flex-direction: column;
    align-items: center;
    background: var(--bg-color);
    width: 100%;
}

/* Allgemeine Style Einstellungen */
main {
    padding: 15vh 0% 17.5vh 0%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--bg-color);
    height: auto;
    min-height: 100vh;
    width: 100%;
}

header {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 95%;
    height: 10vh;
    padding: 2.5%;
    background-color: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 8px 24px var(--main-color);
}

.headerList {
    display: flex;
    width: 100%;
    height: 100%;
    list-style: none;
}

.headerLi {
    width: 30%;
    height: auto;
    padding: 1.5%;
    text-align: center;
    font-size: 1.25rem;
    color: var(--font-color-l);
    font-weight: bolder;
    display: flex;
    align-items: end;
    justify-content: center;
}

.profilMenuCon {
    background-color: var(--bg-color);
    z-index: 10000;
    width: 95%;
    height: 100%;
    padding: 5%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: fixed;
    top: 0;
    color: var(--font-color-d);
}

.profilMenuHead {
    width: 100%;
    height: 10%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 2.5%;
    font-size: 1.5rem;
    font-weight: bold;
}

.profilMenuMainCon {
    width: 100%;
    height: 75%;
    display: flex;
    overflow: scroll;
}

.profilMenuMain {
    width: 100%;
    height: auto;
}

.profilOptHead {
    width: 90%;
    height: 5%;
    display: flex;
    flex-direction: row;
    margin: 7.5% 2.5% 2.5% 2.5%;
    justify-content: start;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    font-weight: bold;
    font-size: 1.125rem;
    padding: 1.125%;
}

.profilMenuIcon {
    width: 7.5%;
    height: auto;
    aspect-ratio: 1 / 1;
    fill: currentColor;
    margin-right: 2.5%;
}

.profilOptBody {
    width: 90%;
    height: 100%;
    padding: 1.125%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 5%;
}

.profilOptBody.input {
    flex-direction: column;
    align-items: baseline;
}

.profilOptInput {
    width: 75%;
    height: 5vh;
    border-radius: 10px;
    padding: 0 2.5%;
    background: var(--bg-color);
    border: 0.5px solid var(--border-color);
    font-weight: bold;
    font-size: 1.1rem;
    color: var(--font-color-d);
}

.profilOptBtn {
    width: 95%;
    height: auto;
    background: var(--extra-bg);
    padding: 2.5%;
    color: var(--bg-color);
    border: 1px solid var(--border-color);
    font-weight: bold;
    text-align: center;
    border-radius: 25px;
    font-size: 1.125rem
}

.toogleBody {
    width: auto;
    height: 100%;
    aspect-ratio: 1 / 2;
    background: var(--box-shadow);
    border: 0.5px solid var(--border-color);
    padding: 4.5% 9%;
    border-radius: 25px;
    position: relative;
}

.toogle {
    background: var(--bg-color);
    padding: 25%;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    border-radius: 100px;
    transition: all 0.3s ease;
}

.toogleBody.active {
    background: var(--main-color);
}

.toogleBody.active .toogle {
    right: 0;
    left: auto;
}

.profilMenuFooter {
    width: 100%;
    height: 10%;
    display: flex;
    justify-content: center;
}

.profilMenuBtn {
    width: 80%;
    height: 50%;
    background: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    font-weight: bold;
    color: var(--bg-color);
}


nav {
    position: fixed;
    z-index: 9999;
    bottom: 2.5%;
    width: 100%;
    height: auto;
    display: flex;
    justify-self: center;
    align-items: center;
    justify-content: center;
}

.selectedPage {
    background: var(--main-color);
    position: absolute;
    width: 16%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 100px;
    transition: left 0.3s ease;
    z-index: 9997;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    left: 50%;
}

.navList {
    width: 80%;
    height: auto;
    padding: 2.5% 2.5%;
    background-color: var(--card-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    list-style: none;
    display: flex;
    border-radius: 100px;
    justify-content: center;
    align-items: center;
    position: relative;
}

.barIcon {
    width: auto;
    height: 70%;
    aspect-ratio: 1 / 1;
    fill: currentColor;
}

.navLi {
    color: var(--font-color-d);
    width: 15%;
    height: auto;
    aspect-ratio: 1 / 1;
    padding: 1.25%;
    margin: 1.25%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9998;
}

.navLi.active {
    color: var(--card-color);
}

.cDate {
    position: absolute;
    bottom: 30%;
    font-weight: bold;
}

.timetableCon {
    width: 100%;
    display: flex;
    flex-direction: column;
    color: var(--font-color-d);
}

.timetableHead {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    font-weight: bold;
    font-size: 1.25rem;
    margin: 0 0 2.5vh 0;
}

.timetableIcon {
    width: 7.5%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.timetableHoursCon {
    display: flex;
    flex-direction: row;
    margin: 0.5vh 0;
}

.timetableHour {
    width: 17.5%;
    background: var(--main-color);
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5vh 0;
    font-weight: bold;
    color: var(--font-color-l);
}

.timetableHour p {
    margin: 0.25vh 0;
}

.timetableLessonCon {
    width: 77.5%;
    padding: 2.5%;
    background: var(--card-color);
    height: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    font-weight: bold;
}

.timetableAdd {
    width: 90%;
    background: var(--bg-color);
    padding: 2.5%;
    border-radius: 10px;
}

.timetableSubject {
    font-size: 1.5rem;
}

.timetableLessonInfoCon {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.timetableLessonInfo {
    width: 75%;
}

.timetableLessonInfoBtnCon {
    width: 25%;
    display: flex;
    align-items: baseline;
    justify-content: space-evenly;
}

.timetableLessonInfoBtn {
    width: 35%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.timetableInputsCon {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.timetableInput {
    width: 80%;
    height: 4vh;
    padding: 1% 2.5%;
    background: var(--card-color);
    margin: 1vh 0;
    border-radius: 10px;
    font-weight: bold;
    font-size: 1.05rem;
}

.timetableBtnCon {
    width: 80%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.timetableBtn {
    width: 45%;
    height: 3vh;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    padding: 1.5%;
    border-radius: 25px;
    font-size: 0.8rem;
    background: var(--extra-bg);
}

.timetableBtnIcon {
    width: 25%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.breakCon {
    width: 100%;
    height: 1.5vh;
}

.classesCon,
.classesHeadCon {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    color: var(--font-color-d);
}

.classesHeadBtnCon {
    display: flex;
    width: 100%;
    height: 7.5vh;
    margin: 1vh 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
}

.classesEditBtn {
    width: auto;
    height: 7.5vh;
    aspect-ratio: 1 / 1;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    color: var(--font-color-l);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.classesEditBtnIcon {
    width: 75%;
    aspect-ratio: 1 / 1;
    height: auto;
}

.classesAddBtn {
    width: auto;
    height: 7.5vh;
    aspect-ratio: 2 / 1;
    display: flex;
    padding: 0 5%;
    flex-direction: row;
    justify-content: space-between;
    text-align: center;
    align-items: center;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    color: var(--font-color-l);
    border-radius: 15px;
    font-weight: bold;
}

.classesHeadInfoCon {
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    color: var(--font-color-l);
    border-radius: 15px;
    width: 70%;
    padding: 0 5%;
    margin: 2vh 10%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 10vh;
}

.classesHeadBtnIcon {
    width: 20%;
    padding: 2.5%;
    border-radius: 15px;
    aspect-ratio: 1 / 1;
    height: auto;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
}

.classesHeadInfo {
    width: 60%;
    font-weight: bold;
}

.classesHeadAverageCon {
    display: flex;
    flex-direction: column;
    width: 80%;
    height: 20vh;
    padding: 2.5vh 0;
    margin: 2vh 10%;
    background: var(--card-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 15px;
    justify-content: space-around;
    align-items: center;
}

.classesHeadAverageHalf {
    width: 80%;
    background: var(--extra-bg);
    height: 3vh;
    border-radius: 10px;
    position: relative;
    display: flex;
    align-items: center;
    justify-self: center;
}

.classesHeadAverageHalfChoose {
    height: 100%;
    width: 50%;
    position: absolute;
    left: 0;
    background: var(--main-color);
    border-radius: 10px;
    z-index: 8000;
}

.classesHeadAverageHalfText {
    width: 50%;
    text-align: center;
    z-index: 8001;
    font-weight: bold;
    font-size: 1.15rem;
}

.classesHeadAverage {
    height: 12.5vh;
    background: var(--extra-bg);
    aspect-ratio: 1/ 1;
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    font-size: 1.75rem;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.classesSubjectCon {
    width: 80%;
    height: auto;
    display: flex;
    flex-direction: column;
    margin: 5vh 10%;
}

.classesSubject {
    width: 95%;
    display: flex;
    height: auto;
    background: var(--card-color);
    border-radius: 15px;
    align-items: center;
    justify-content: space-around;
    padding: 2.5%;
    z-index: 9250;
}

.footSubjectCon {
    width: 80%;
    text-align: center;
    margin: 0 10%;
    font-weight: bold;
}

.classesSubject.blue {
    box-shadow: 0 8px 24px #1F4FD8;
}

.classesSubject.red {
    box-shadow: 0 8px 24px #C62828;
}

.classesSubject.green {
    box-shadow: 0 8px 24px #2E7D32;
}

.classesSubject.yellow {
    box-shadow: 0 8px 24px #F9A825;
}

.classesSubject.orange {
    box-shadow: 0 8px 24px #EF6C00;
}

.classesSubject.purple {
    box-shadow: 0 8px 24px #6A1B9A;
}

.classesSubject.brown {
    box-shadow: 0 8px 24px #6D4C41;
}

.classesSubject.turquoise {
    box-shadow: 0 8px 24px #00838F;
}

.classesSubject.lightblue {
    box-shadow: 0 8px 24px #4FC3F7;
}

.classesSubject.darkgreen {
    box-shadow: 0 8px 24px #1B5E20;
}

.classesSubject.pink {
    box-shadow: 0 8px 24px #D81B60;
}

.classesSubject.gray {
    box-shadow: 0 8px 24px #616161;
}

.classesSubject.olive {
    box-shadow: 0 8px 24px #827717;
}

.classesSubject.navy {
    box-shadow: 0 8px 24px #0D1B2A;
}

.classesSubjectIconCon {
    width: 20%;
    height: auto;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--extra-bg);
    color: var(--card-color);
    border-radius: 15px;
}

.classesSubjectIcon {
    width: 75%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.classesSubjectBodyCon {
    width: 75%;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.classesSubjectInfosCon {
    width: 70%;
    height: auto;
    display: flex;
    flex-direction: column;
}

.classesBubjectName {
    font-size: 1.5rem;
    font-weight: bold;
}

.classesSubjectInfosMarkCon {
    display: flex;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;
    font-size: 0.8rem;
    font-weight: bold;
}

.classesSubjectWrittenMark {
    width: auto;
    height: 2.5vh;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1%;
    margin: 2%;
    background: #234521;
    border-radius: 5px;
    color: var(--font-color-d);
    box-shadow: 0 8px 24px var(--box-shadow);
    text-align: center;
}

.classesSubjectInfosOralMark {
    color: var(--font-color-d);
    width: auto;
    height: 2.5vh;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1%;
    margin: 2%;
    text-align: center;
}

.classesSubjectAverageCon {
    width: 30%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.classesSubjectAverage {
    width: auto;
    height: 4vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    aspect-ratio: 1 / 1;
    background: var(--extra-bg);
    color: var(--font-color-d);
    box-shadow: 0 8px 24px var(--box-shadow);
    font-size: 1.25rem;
    padding: 20%;
    border-radius: 100px;
}

.classesSubjectAddMarkMainCon {
    width: 100%;
    height: auto;
    background: var(--card-color);
    z-index: 9249;
    margin-top: -2.5vh;
    padding-top: 2.5vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 15px;
}

.classesSubjectAddMarkCon {
    width: 80%;
    height: auto;
    background: var(--extra-bg);
    margin: 7.5% 0;
    border-radius: 10px;
    box-shadow: 0 8px 24px var(--box-shadow);
    padding: 2.5%;
}

.classesSubjectAddMarkHeading {
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-weight: bold;
}

.classesSubjectAddMarkMarks {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    margin: 2.5% 0;
    flex-wrap: wrap;
}

.classesSubjectAddMark {
    width: 20%;
    height: auto;
    aspect-ratio: 2 / 1;
    margin: 2.5%;
    padding: 1.5% 0%;
    background: #234521;
    border-radius: 7.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--font-color-d);
    font-weight: bold;
    font-size: 0.8rem;
}

.classesSubjectAddMarkBtn {
    width: 12.5%;
    aspect-ratio: 1 / 1;
    background: var(--card-color);
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 1.25rem;
}

.classesSubjectOptCon {
    width: 100%;
    height: 7.5vh;
    margin: 2.5vh 0;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.classesSubjectOpt {
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.classesSubjectOptIcon {
    width: 50%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.markAddBackground,
.addNewSubjectBackground,
.editAllSubjectBackground,
.scaleSubjectBackground,
.subjectDeleteBackground,
.newDeadlineBackground,
.deleteDeadlineBackground,
.taskAddBackground {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    background: color-mix(in srgb, var(--border-color) 75%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.markAddCon,
.addNewSubjectCon,
.editAllSubjectCon,
.scaleSubjectCon,
.subjectDeleteCon,
.newDeadlineCon,
.deleteDeadlineCon,
.taskAddCon {
    background: var(--card-color);
    width: 70%;
    padding: 5%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 15px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.markHeadCon,
.addNewSubjectHeadline,
.editAllSubjectHead,
.scaleSubjectHead,
.subjectDeleteHead,
.newDeadlineHead,
.deleteDeadlineHead,
.tasksBodyHeading,
.taskAddHeading {
    font-size: 1.25rem;
    color: var(--font-color-d);
}

.markChooseCon {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    height: auto;
    align-items: center;
    justify-content: center;
}

.markChoose {
    width: 28%;
    height: auto;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2.5%;
    background-color: #234521;
    border-radius: 10px;
    font-size: 1.25rem;
    font-weight: bold;
    color: var(--font-color-l);
    box-shadow: 0 8px 24px var(--box-shadow);
}

.addNewSubjectInfo {
    display: flex;
    flex-direction: column;
    width: 80%;
    margin: 5%;
    height: auto;
    color: var(--font-color-d);
}

.newSubjectLabel,
.newDeadlineLabel,
.taskBodyLabel {
    width: 100%;
    font-size: 0.8rem;
    font-weight: bold;
}

.newSubjectInput {
    width: 90%;
    height: 3.5vh;
    font-weight: bold;
    font-size: 1.25rem;
    padding: 2.5% 5%;
    border: 1px solid var(--border-color);
    border-radius: 15px;
}

.addNewSubjectColorCon,
.addNewSubjectIconCon {
    width: 100%;
    margin: 5% 0;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.addNewSubjectColor {
    width: 15%;
    margin: 1.5%;
    background-color: #121212;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 5px;
    border: 1px solid var(--border-color);
    box-shadow: 0 8px 24px var(--box-shadow);
}

.addNewSubjectColor.check,
.newSubjectIcon.check {
    box-shadow: 0 8px 24px var(--main-color);
    border: 2.5px solid #00FFFF;
}

.addNewSubjectColor.main {
    background: var(--card-color);
}

.addNewSubjectColor.blue {
    background: #1F4FD8;
}

.addNewSubjectColor.red {
    background: #C62828;
}

.addNewSubjectColor.green {
    background: #2E7D32;
}

.addNewSubjectColor.yellow {
    background: #F9A825;
}

.addNewSubjectColor.orange {
    background: #EF6C00;
}

.addNewSubjectColor.purple {
    background: #6A1B9A;
}

.addNewSubjectColor.brown {
    background: #6D4C41;
}

.addNewSubjectColor.turquoise {
    background: #00838F;
}

.addNewSubjectColor.lightblue {
    background: #4FC3F7;
}

.addNewSubjectColor.darkgreen {
    background: #1B5E20;
}

.addNewSubjectColor.pink {
    background: #D81B60;
}

.addNewSubjectColor.gray {
    background: #616161;
}

.addNewSubjectColor.olive {
    background: #827717;
}

.addNewSubjectColor.navy {
    background: #0D1B2A;
}

.addNewSubjectButton {
    height: 3.5vh;
    padding: 5%;
    width: auto;
    aspect-ratio: 1 / 1;
    border-radius: 15px;
    color: var(--card-color);
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--main-color);
    border: 1px solid var(--border-color);
}

.addNewSubjectButtonIcon {
    width: auto;
    height: 100%;
    aspect-ratio: 1 / 1;
}

.newSubjectIcon {
    width: 20%;
    height: auto;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--border-color);
    border-radius: 5px;
    margin: 2.5%;
    padding: 2.5%;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.editAllSubjectScrollCon {
    overflow-y: scroll;
    height: 20vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 5% 0;
}

.editAllSubjectSubject {
    width: 80%;
    margin: 2.5% 0;
    height: 5vh;
    padding: 2.5%;
    box-shadow: 0 8px 24px var(--box-shadow);
    background: var(--card-color);
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 15px;
    display: flex;
    align-items: center;
}

.scaleSubjectInfoCon {
    width: 90%;
    height: 12.5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.scaleSubjectScales {
    width: 90%;
    display: flex;
    justify-content: space-between;
    font-weight: bold;
}

.scaleSubjectToogle {
    width: 90%;
    height: 2vh;
}

.subjectDeleteSelectionCon {
    display: flex;
    width: 100%;
    height: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.subjectDeleteSelection {
    width: 80%;
    height: 5vh;
    background: var(--card-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    margin: 1vh;
    display: flex;
    align-items: center;
    padding: 0 5%;
    border: 1px solid var(--border-color);
    border-radius: 15px;
}

.subjectDeleteSelection.check {
    border: 2.5px solid var(--main-color);
    box-shadow: 0 8px 24px var(--main-color);
}

.subjectDeleteButtonCon {
    width: 100%;
    display: flex;
    justify-content: center;
    height: 5vh;
    align-items: center;
}

.subjectDeleteButton {
    width: 50%;
    height: 90%;
    background: var(--main-color);
    color: var(--font-color-l);
    font-weight: bold;
    font-size: 1.25rem;
    border: 1px solid var(--border-color);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.calendarHeadCon {
    width: 90%;
    margin: 0 5%;
    height: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    color: var(--font-color-d);
    margin-bottom: 2.5vh;
}

.calenderHeader {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.calendarHeadIcon {
    width: 20%;
    height: auto;
    aspect-ratio: 1 / 1;
    padding: 2.5%;
    background: var(--main-color);
    border-radius: 15px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.calendarHead {
    width: 75%;
    margin-left: 5%;
}

.calendarHeadDate {
    font-size: 1.8rem;
    font-weight: bold;
}

.calendarOptCon {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 2.5vh 0;
}

.calendarOptAddBtn {
    width: 45%;
    height: 5vh;
    padding: 2%;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-weight: bold;
}

.calendarDateChange {
    width: 50%;
    height: 5vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
}

.calendarDateChangeIcon {
    width: 25%;
    height: auto;
    aspect-ratio: 1 / 1;
    padding: 2.5%;
}

.calendarGlossaryCon {
    width: 90%;
    height: 12.5vh;
    padding: 5%;
    border-radius: 15px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background: var(--card-color);
    box-shadow: 0 8px 24px var(--box-shadow);
}

.calendarGlossaryOpt {
    width: auto;
    margin: 0 2.5%;
    height: 3vh;
    font-weight: bold;
    display: flex;
    align-items: center;
}

.calendarGlossaryColor {
    width: auto;
    height: 90%;
    border: 1px solid var(--border-color);
    aspect-ratio: 1 / 1;
    margin-right: 2.5%;
    border-radius: 5px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.calendarGlossaryColor.red {
    background: #C62828;
}

.calendarGlossaryColor.blue {
    background: #1F4FD8;
}

.calendarGlossaryColor.orange {
    background: #FFA000;
}

.calendarGlossaryColor.grey {
    background: #616161;
}

.calendarCon {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 10vh;
}

.calendarDays {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 5vh;
    background: var(--card-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-bottom: 1px solid var(--border-color);
}

.calendarDays p {
    width: 13.9%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: var(--font-color-d);
    border-right: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
}

.calendarDays p:last-child {
    border-right: none;
}

.calendarBody {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    background: var(--card-color);
}

.calendarDay {
    width: 12.75%;
    min-height: 15vh;
    height: auto;
    padding: 0.5%;
    border: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.calendarDayNumber {
    padding: 5%;
    height: auto;
    width: auto;
    aspect-ratio: 1 / 1;
    text-align: center;
}


.calendarDayNumber.current {
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 15px;
}

.calendarDayBody {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.calendarDayDeadline {
    width: 90%;
    height: auto;
    font-size: 0.75rem;
    font-weight: bold;
    padding: 7.5% 2.5%;
    border-radius: 5px;
    border: 1px solid var(--border-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 2.5% 0;
}

.calendarDayDeadline.red {
    background: #C62828;
}

.calendarDayDeadline.blue {
    background: #1F4FD8;
}

.calendarDayDeadline.orange {
    background: #FFA000;
}

.calendarDayDeadline.grey {
    background: #616161;
}

.calendarDayDeadlineTitle {
    margin-bottom: 10%;
}

.deadlineOverviewCon {
    width: 80%;
    margin: 0 5%;
    padding: 5%;
    border-radius: 15px;
    height: auto;
    max-height: 40vh;
    display: flex;
    flex-direction: column;
    background: var(--card-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    color: var(--font-color-d);
}

.deadlineOverviewHead {
    width: 100%;
    height: 5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.25rem;
    font-weight: bold;
}

.deadlineOverviewBody {
    width: 100%;
    height: auto;
    max-height: 35vh;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.deadlineCon {
    width: 90%;
    height: auto;
    background: var(--card-color);
    margin: 2.5% 0;
    padding: 2.5%;
    border-radius: 10px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.deadlineTitleCon {
    width: 105%;
    margin: -2.5% -2.5% 5% -2.5%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    min-height: 7.5vh;
    height: auto;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
}

.deadlineTitleCon.red {
    background: #C62828;
}

.deadlineTitleCon.blue {
    background: #1F4FD8;
}

.deadlineTitleCon.orange {
    background: #FFA000;
}

.deadlineTitleCon.grey {
    background: #616161;
}


.calendarTitleIcon {
    width: 25%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.deadlineTitle {
    width: 70%;
    font-size: 1.25rem;
    font-weight: bold;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.deadlineTitleDaysLeftCon {
    width: 25%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    padding: 2.5% 0;
    font-weight: bold;
    font-size: 0.75rem;
}

.deadlineTitleDaysLeft {
    font-size: 1.5rem;
    margin: 2.5% 0;
}

.deadlineCategory {
    width: 90%;
    height: auto;
    margin: 2.5% 5%;
    font-weight: bold;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 0.875rem;
    justify-content: space-between;
}

.deadlineType {
    width: 45%;
    height: auto;
}

.deadlineSubject {
    width: 45%;
    height: auto;
    text-align: right;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.deadlineDescription {
    width: 80%;
    height: auto;
    margin: 2.5% 5%;
    padding: 5%;
    font-size: 0.9rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    background: var(--card-color);
    border-radius: 15px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.deadlineDateCon {
    width: 90%;
    height: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 5% 5%;
    font-weight: bold;
    font-size: 0.75rem;
}

.deadlineDate,
.deadlineTime {
    max-width: 40%;
    width: auto;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--card-color);
    border-radius: 10px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.calendarDateIcon {
    width: 15%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-right: 2.5%;
}

.deadlineEditBtn {
    width: 80%;
    height: 4vh;
    background: var(--main-color);
    display: flex;
    font-size: 0.875rem;
    justify-content: center;
    align-items: center;
    margin: 5% 10%;
    border-radius: 15px;
    font-weight: bold;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.newDeadlineBody {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.newDeadlineInputCon {
    width: 80%;
    height: auto;
    display: flex;
    flex-direction: column;
    margin: 3% 0;
}

.newDeadlineInputCon.dt {
    flex-direction: row;
    justify-content: space-between;
}

.newDeadlineInput,
.newDeadlineDescriptionInput {
    width: 90%;
    min-height: 2vh;
    padding: 2.5% 5%;
    border-radius: 15px;
    box-shadow: 0 8px 24px var(--box-shadow);
    border: 1px solid var(--border-color);
    font-weight: bold;
    font-size: 1rem;
}

.newDeadlineDescriptionInput {
    height: 15vh;
    resize: none;
}

.deadlineTypeOptCon {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 2.5% 0;
}

.deadlineTypeOpt {
    font-weight: bold;
    width: 40%;
    height: 5vh;
    font-size: 0.875rem;
    padding: 2.5%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    margin: 2%;
    background: var(--card-color);
    border-radius: 20px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

#deadlineOptExam.selected {
    box-shadow: 0 8px 24px #C62828;
}

#deadlineOptProject.selected {
    box-shadow: 0 8px 24px #1F4FD8;
}

#deadlineOptTest.selected {
    box-shadow: 0 8px 24px #FFA000;
}

#deadlineOptOther.selected {
    box-shadow: 0 8px 24px #616161;
}

.deadlineDateInputCon {
    width: 45%;
    height: auto;
    margin: 2.5% 0;
    display: flex;
    flex-direction: column;
}

.deadlineDateInput,
.taskBodyInput,
.taskBodySubtaskInput {
    width: 100%;
    height: 3vh;
    border-radius: 15px;
    box-shadow: 0 8px 24px var(--box-shadow);
    border: 1px solid var(--border-color);
    font-weight: bold;
    font-size: 1rem;
    text-align: center;
}

.newDeadlineBtnCon {
    width: 100%;
    height: 4vh;
    display: flex;
    font-size: 0.875rem;
    justify-content: space-evenly;
    align-items: center;
    margin: 5% 10%;
    margin-top: 7.5%;
    border-radius: 15px;
    font-weight: bold;
}

.newDeadlineBtn {
    width: 45%;
    height: 100%;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    border: 1px solid var(--border-color);
    color: var(--font-color-l);
}

.deleteDeadlineBody {
    width: 100%;
    height: auto;
    margin: 15% 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.deleteDeadlineBtnCon {
    width: 100%;
    height: 4vh;
    display: flex;
    font-size: 0.875rem;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-weight: bold;
}

.deleteDeadlineBtn {
    width: 50%;
    height: 100%;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    border: 1px solid var(--border-color);
    color: var(--font-color-l);
}

.tasksHeadCon {
    width: 90%;
    margin: 0 5%;
    display: flex;
    flex-direction: column;
    height: 17.5vh;
    align-items: center;
    color: var(--font-color-d);
}

.tasksHead {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    height: 5vh;
    align-items: center;
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 2.5%;
}

.tasksHeadBtn {
    display: flex;
    width: 25%;
    height: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.tasksFilterHead,
.tasksAddHead {
    height: 100%;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tasksAddHead {
    background: var(--main-color);
    height: 80%;
    width: auto;
    aspect-ratio: 1 / 1;
    border-radius: 25px;
    box-shadow: 0 8px 24px var(--box-shadow);
}

.tasksHeadIcon {
    width: auto;
    height: 75%;
    aspect-ratio: 1 / 1;
}

.tasksProgressCon {
    width: 100%;
    height: 3.5vh;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    font-size: 0.8rem;
    font-weight: bold;
    margin-bottom: 5%;
}

.tasksProgressBarCon {
    display: flex;
    align-self: center;
    width: 100%;
    background: var(--extra-bg);
    height: 1vh;
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 15px;
    border: 1px solid var(--border-color);
}

.tasksProgressBar {
    width: auto;
    background: var(--main-color);
    height: 1vh;
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 15px;
}

.tasksHeadShortFilterCon {
    width: 100%;
    display: flex;
    height: 2.5vh;
    align-items: center;
    flex-direction: row;
}

.tasksHeadShortFilter {
    width: auto;
    padding: 1.5%;
    font-size: 0.6rem;
    margin: 0 2.5%;
    font-weight: bold;
    background: var(--bg-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 15px;
    border: 1px solid var(--border-color);
    height: auto;
}

.tasksHeadShortFilter.selected {
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--main-color);
}

.tasksBodyCon {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    min-height: 100vh;
}

.tasksBodyList {
    display: flex;
    height: auto;
    min-height: 100vh;
    width: 90%;
    padding: 5%;
    flex-direction: column;
    align-items: center;
}

.taskCon {
    background: var(--card-color);
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    border-radius: 15px;
    box-shadow: 0 8px 24px var(--box-shadow);
    padding: 5% 0;
    margin: 5% 0;
}

.taskMainCon {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.taskCheckConCon {
    display: flex;
    align-items: start;
    justify-content: center;
    width: 15%;
    height: auto;
}

.taskCheckCon {
    background: var(--bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40%;
    height: auto;
    aspect-ratio: 1 / 1;
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
}

.taskCheck {
    width: 90%;
    height: 90%;
    background: var(--main-color);
    border-radius: 5px;
}

.taskBodyCon {
    width: 65%;
    display: flex;
    flex-direction: column;
    height: auto;
    font-weight: bold;
}

.taskMainCon.checked .taskBodyTitle {
    text-decoration: line-through;
    color: var(--extra-bg);
}

.taskBodyTitle {
    font-size: 0.875rem;
    width: 100%;
    height: auto;
    margin-bottom: 5%;
}

.taskBodyInfoCon {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    margin: 2.5% 0;
    font-size: 0.5rem;
}

.taskBodyInfo {
    width: auto;
    height: 2.5vh;
    background: var(--extra-bg);
    margin: 2.5%;
    padding: 1% 2.5%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    flex-direction: row;
}

.taskBodyInfoIcon {
    width: auto;
    height: 75%;
    aspect-ratio: 1 / 1;
}

.taskBtnCon {
    width: 20%;
    height: auto;
    display: flex;
    justify-content: space-evenly;
    align-items: start;
    flex-direction: row;
}

.taskBtn {
    width: 33%;
    height: auto;
    aspect-ratio: 1 / 1;
    transform: rotate(0deg);
    transition: transform ease 0.3s;
}

.taskBtn.active {
    transform: rotate(180deg);
}

.taskSubtasksCon {
    width: 70%;
    height: auto;
    border-left: 2.5px solid var(--extra-bg);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.taskSubtasksCon.active {
    display: none;
}

.subtaskBody {
    margin: 2.5%;
    width: 97.5%;
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    font-size: 0.875rem;
}

.subtaskBody.checked {
    text-decoration: line-through;
    color: var(--extra-bg);
}

.subtaskCheckCon {
    background: var(--bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7.5%;
    height: auto;
    aspect-ratio: 1 / 1;
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
    margin-right: 2.5%;
}

.subtaskCheck {
    width: 90%;
    height: 90%;
    background: var(--main-color);
    border-radius: 5px;
}

.taskAddBody {
    display: flex;
    width: 100%;
    height: auto;
    flex-direction: column;
    margin: 2.5% 0;
    justify-content: center;
    align-items: center;
}

.taskBodyEditField {
    display: flex;
    width: 100%;
    margin: 3.5% 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 0.75rem;
}

.taskBodyChooseCon {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    ;
}

.taskChooseOptType {
    width: auto;
    height: auto;
    padding: 1.5% 2.5%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--bg-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
    margin: 0 2%;
}

.taskChooseOptType.selected,
.taskChooseOptSubject.selected,
.taskChooseOptTime.selected,
.taskChooseOptPriority.selected {
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--main-color);
}

.taskBodyScrollCon {
    width: 100%;
    overflow-y: scroll;
    height: 10vh;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: start;
    background: var(--bg-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
}

.taskChooseOptSubject {
    width: 40%;
    height: auto;
    padding: 1.5% 2.5%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--bg-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
    margin: 2%;
}

.taskChooseOptTime {
    width: 15%;
    height: auto;
    padding: 1.5% 2.5%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--bg-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
}

.taskChooseOptPriority {
    width: 33%;
    height: auto;
    padding: 1.5% 2.5%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--bg-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
}

.taskBodySubtaskHead {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: auto;
}

.taskBodySubtaskInput {
    width: 90%;
    border-radius: 2.5px;
    text-align: start;
}

.taskBodyInput {
    text-align: start;
}

.taskBodySubtaskAdd {
    width: 10%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--main-color);
    border-radius: 5px;
    border: 1px solid var(--border-color);
}

.taskBodySubtaskCon {
    width: 100%;
    margin-top: 5%;
}

.taskBodySubtask {
    width: 80%;
    margin: 1% 5%;
    padding: 2.5% 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--card-color);
    box-shadow: 0 8px 24px var(--box-shadow);
    border-radius: 5px;
    border: 1px solid var(--border-color);
}

.taskAddBtnCon {
    width: 80%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    justify-content: center;
}

.taskAddBtn {
    width: 45%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--main-color);
    box-shadow: 0 8px 24px var(--main-color);
    border-radius: 5px;
    border: 1px solid var(--border-color);
    margin: 0 5%;
}

.halfyearHome {
    font-size: 1.5rem;
    font-weight: bold;
}

/*Style Einstellungen für Bildschirme mit größerer breite als 550px */
@media (min-width: 550px) {
    body {
        background-color: black;
        display: flex;
        justify-content: center;
        height: 100vh;
        margin: 0;
    }

    main {
        width: 540px;
    }

    .markAddBackground,
    .addNewSubjectBackground,
    .editAllSubjectBackground,
    .scaleSubjectBackground,
    .subjectDeleteBackground,
    .newDeadlineBackground,
    .deleteDeadlineBackground,
    .taskAddBackground,
    .loadScreen {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 540px;
        padding: 0 auto;
    }

    
    .profilMenuCon {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 520px;
        padding: 0 10px;
    }


    nav,
    header {
        width: 540px;
        height: 10vh;
        padding: 10px 0;
    }

    .app-body {
        width: 540px;
        height: 100vh;
        background: #234521;
        position: relative;
        margin: auto;
    }
}