@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');

@font-face {
    font-family: sufrimeda;
    src: url(../fonts/sufrimeda.ttf);
}

body, html {
    height: 100%;
    width: 100%;
    margin: 0px;
    padding: 0;
}

p,
h3,
span,
h1,
h2 {
    margin: 0;
}

body {
    background: #fff;
    font-family: "Manrope", sans-serif;
    font-style: normal;
}

#dashboard {
    width: 100%;
    height: 100vh;
    display: flex;
    gap: 30px;
    overflow: hidden;
}

#side-nav {
    width: 300px;
    padding: 20px 20px 20px 30px;
    border-right: 1px solid #ebebeb;
    height: 100%;
    position: sticky;
}

#main-body {
    width: 100%;
    height: 100%;
    padding: 20px 50px 20px 20px;
    overflow-y: auto;
}

/** Logo Section **/

#logo-section a {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 50px;
    text-decoration: none;
    color: #000;
}

#menu-section {
    margin-bottom: 130px;
}

.logo {
    width: auto;
    height: 30px;
}

.site-title {
    font-size: 20px;
    font-style: italic;
    font-weight: 800;
}


/** Main Menu Sidebar Section **/

ul.side-menu {
    list-style: none;
    padding-left: 0px;
}

ul.side-menu li {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.menu-items a {
    line-height: 20px;
    color: #7a86a1;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none;
}

.menu-items.active {
    border-radius: 20px;
    background-image: linear-gradient(180deg, #255ca5, #15427e);
    padding: 10px 20px;
    margin-left: -20px;
}

.menu-items.active svg path {
    fill: #fff;
}

.menu-items.active a {
    color: #fff;
}

.menu-items.active svg {
    fill: #fff;
}

.menu-items.active:hover a {
    color: #fff;
    font-weight: 500;
}

.menu-items.active:hover svg path {
    fill: #fff;
}

.menu-items:hover a {
    color: #15427e;
    font-weight: 700;
    cursor: pointer;
}

.menu-items:hover svg path {
    fill: #15427e;
}

/** Account Sidebar Section **/

.user-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.user-control p {
    color: #c0bdcc;
    font-size: 14px;
}

.user-control .logout:hover path {
    fill: #15427e;
}

.user-control .user-icon {
    width: auto;
    height: 50px;
    box-shadow: 2px 3px 8px #eee;
    border-radius: 20px;
}

ul.account-menu {
    list-style: none;
    padding-left: 0px;
}

ul.account-menu li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    margin-bottom: 20px;
}

ul.account-menu li div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.inbox-count,
.notif-count,
.chat-count {
    color: #fff;
    font-size: 14px;
}

.inbox-count {
    background: #ca4b5d;
    border-radius: 10px;
    padding: 3px;
    width: 20px;
    justify-content: center;
}

.notif-count {
    background: #c0bdcc;
    border-radius: 10px;
    padding: 3px;
    width: 20px;
    justify-content: center;
}

.chat-count {
    background: #d77885;
    border-radius: 10px;
    padding: 3px;
    width: 20px;
    justify-content: center;
}

/** Main Content **/

#main-contents {
    margin-top: 50px;
    padding-bottom: 50px;
}

/** Header **/

#header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

#header h1 {
    font-weight: 800;
    font-size: 40px;
    margin: 0;
}

#header p {
    color: #7a86a1;
    font-weight: 400;
    font-size: 16px;
    margin: 0;
}

#search-bar {
    display: flex;
    align-items: center;
    gap: 15px;
}

#search {
    border: transparent;
    height: 20px;
    padding: 5px 10px;
}

/* Edge 12-18 */
#search::-ms-input-placeholder,
#search::placeholder {
    color: #7a86a1;
    font-size: 12px;
}

#search:focus-visible {
    outline: 1px solid #15427e;
    border-radius: 5px;
}

/** Test Section **/

#summary-container {
    display: flex;
    gap: 30px;
}

#test-results {
    background: #fff;
    border-radius: 20px;
    box-shadow: 2px 3px 8px #eee;
    padding: 20px 30px;
    width: 70%;
}

#test-ranking {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 2px 3px 8px #eee;
    width: 30%;
}

#test-results .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#test-results .dropdown {
    display: flex;
    gap: 10px;
    align-items: center;
}

#test-results .title h3 {
    font-weight: 700;
    font-size: 25px;
}

#test-results .dropdown label {
    font-weight: 800;
    font-size: 13px;
    color: #7a86a1;
}

#test-results .dropdown select,
#test-results .dropdown option {
    font-weight: 500;
    font-size: 13px;
}

#test-results .dropdown select {
    border-radius: 10px;
    padding: 2px 5px;
    border: 1px solid #ebebeb;
    color: #7a86a1;
    background-image: linear-gradient(180deg, #fff, #ececec);
}

#test-results .dropdown select:focus-visible {
    outline: transparent;
}

#test-results .details {
    margin-top: 20px;
}

#test-results .details p {
    font-weight: 400;
    font-size: 13px;
    color: #7a86a1;
    margin: 0;
    line-height: 20px;
}

#test-results .points {
    font-weight: 800;
    font-size: 50px;
    margin: 0;
}

#test-results .points span {
    font-size: 30px;
}

#test-results .details .ranking-label {
    margin-top: 15px;
}

#test-results .details .ranking {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: #fff;
    border-radius: 20px;
    background-image: linear-gradient(180deg, #255ca5, #15427e);
    width: 80px;
    padding: 3px 8px 3px 5px;
    margin-top: 10px;
}

#test-results .details .ranking svg {
    width: 15px;
    height: 15px;
}

#test-results .details .ranking span {
    font-size: 12px;
}

#divider {
    border-bottom: 1px solid #ececec;
    margin: 30px 0px;
}

#results-breakdown {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 50%;
}

#results-breakdown .breakdown-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

#results-breakdown .breakdown-item div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

#results-breakdown .breakdown-item div p {
    color: #7a86a1;
    font-size: 12px;
    font-weight: 400;
}


#results-breakdown .breakdown-item div .amount {
    font-size: 20px;
    font-weight: 700;
}

#results-breakdown .breakdown-item .icon {
    padding: 10px;
}

#results-breakdown .breakdown-item:nth-child(1) .icon {
    background: #ffebf6;
    width: 30px;
    text-align: center;
    display: flex;
    justify-content: center;
    border-radius: 15px;
    align-items: center;
    height: 30px;
}


#results-breakdown .breakdown-item:nth-child(2) .icon {
    background: #fff4f2;
    width: 30px;
    height: 30px;
    text-align: center;
    display: flex;
    justify-content: center;
    border-radius: 15px;
    font-weight: 700;
    font-size: 20px;
    color: #f96767;
}


#results-breakdown .breakdown-item:nth-child(3) .icon {
    background: #fff8eb;
    width: 30px;
    height: 30px;
    text-align: center;
    display: flex;
    justify-content: center;
    border-radius: 15px;
    font-weight: 700;
    font-size: 20px;
    color: #f9b035;
}

/** Test Ranking **/

#test-ranking {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    background-image: linear-gradient(50deg, #33106b, #324687, #30c3ca);
    z-index: 0;
}

#test-ranking::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    height: 60%;
    background-image: url('../img/dots.png');
    background-size: cover;
    background-position: center;
    opacity: 0.5;
    z-index: -1;
}

#test-ranking #ranking-img {
    width: auto;
    height: 180px;
}

#test-ranking #ranking-details {
    color: #fff;
    text-align: center;
}

#test-ranking #ranking-details h3 {
    font-weight: 700;
    font-size: 22px;
}

#test-ranking #ranking-details p {
    font-weight: 400;
    font-size: 14px;
    color: #f6efff;
}

#test-ranking #ranking-details div {
    background: #fff;
    font-weight: 800;
    font-size: 25px;
    border-radius: 20px;
    color: #324687;
    margin-top: 20px;
    padding: 5px 20px;
    width: 150px;
}

/** Charts **/


#charts-container {
    display: flex;
    gap: 30px;
    margin-top: 30px;
}

#charts-container #doughnut-chart {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 2px 3px 8px #eee;
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#charts-container #bar-chart {
    background: #fff;
    border-radius: 20px;
    box-shadow: 2px 3px 8px #eee;
    padding: 20px 30px;
    width: 70%;
}

#charts-container #bar-chart .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}


#charts-container #doughnut-chart h3 {
    margin-bottom: 40px;
}

#charts-container #bar-chart .title h3,
#charts-container #doughnut-chart h3 {
    font-size: 25px;
}

#charts-container .dropdown {
    display: flex;
    gap: 10px;
    align-items: center;
}

#charts-container .dropdown select,
#charts-container .dropdown option {
    font-weight: 500;
    font-size: 13px;
}

#charts-container .dropdown select {
    border-radius: 10px;
    padding: 2px 5px;
    border: 1px solid transparent;
    color: #6149cd;
    background: #f6efff;
}

#charts-container .dropdown select:focus-visible {
    outline: transparent;
}

#doughnut-chart {
    position: relative;
}

#doughnut-charts-container {
    position: relative;
    margin-bottom: 20px;
}

canvas#doughnutChart {
    display: block;
    width: 100%;
    height: auto;
}

.chart-center-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 80px;
    font-weight: 700;
    color: #bd1e34;
}

#exam-difficulty {
    display: flex;
    justify-content: end;
    width: 100%;
    margin-top: 20px;
}

#exam-difficulty p {
    color: #777777;
    font-weight: 400;
    font-size: 18px;
    padding-right: 15px;
}

#exam-classifications {
    display: flex;
    justify-content: space-around;
    width: 100%;
    margin-top: 20px;
    border-top: 1px solid #ececec;
    padding-top: 20px;
}

.classifications p {
    color: #777777;
    font-weight: 400;
    font-size: 18px;
    padding-right: 15px;
}

.classifications {
    display: flex;
    align-items: center;
    gap: 10px;
}

.classifications div {
    width: 12px;
    height: 12px;
    border-radius: 25px;
}

.classifications .color1 {
    background: linear-gradient(180deg, #15427e, #255ca5);
}

.classifications .color2 {
    background: linear-gradient(180deg, #c63334, #f3a336);

}

.classifications .color3 {
    background: linear-gradient(180deg, #31db4e, #d9ed48);
}

/** Complaints Page **/

#complaint {
    width: 100%;
}

.complaint-button {
    border-radius: 10px;
    background-image: linear-gradient(180deg, #255ca5, #15427e);
    padding: 10px 20px;
    margin-left: -20px;
    border: none;
    color: #fff;
}

.complaint-title {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.complaint-title h3 {
    font-size: 25px;
    font-weight: 700;
}

.complaint-details {
    background: #fff;
    border-radius: 20px;
    padding: 35px 20px;
    box-shadow: 2px 3px 8px #eee;
    width: auto;
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

div#complaint-table-container {
    width: 100%;
}

#complaint-table th,
#complaint-table td {
    text-align: center;
}

#complaint-table tr {
    height: 50px;
}

#complaint-table td {
    height: 50px;
    font-weight: 500;
}

#complaint-table span.dt-column-order {
    display: none !important;
}

#complaint-table th {
    padding-right: 0px !important;
}

#complaint-table .data {
    color: #7a86a1;
}

#complaint-table td {
    border: none !important;
}

#complaint-table tbody tr {
    background-color: transparent !important;
}

.urgent {
    color: #f96767;
}

.normal {
    color: #626262;
}

.solved {
    color: #275fa9;
    background: #ebf3fd;
    padding: 5px 25px;
    border-radius: 5px;
}

.pending {
    color: #f9b035;
    background: #fff8eb;
    padding: 5px 25px;
    border-radius: 5px;
}

/** Homeworks **/

#home-work-items-container {
    width: 25%;
}

#home-questionaires {
    width: 75%;
}

#home-work-items-container h3 {
    font-size: 15px;
    padding: 0px 20px;
    color: #275fa9;
}

#home-work-items {
    background: #fff;
    border-radius: 20px;
    padding: 35px 20px;
    box-shadow: 2px 3px 8px #eee;
    width: auto;
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

#home-work-items .items {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    list-style: none;
}

#home-questionaires .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 20px;
}

#home-questionaires h3 {
    font-weight: 800;
}

#home-questionaires span {
    font-weight: 700;
    color: #ca4b5d;
}

#home-work-items li {
    color: #5c87be;
    border: 2px solid #5c87be;
    padding: 5px;
    border-radius: 50px;
    background: #ecf7fc;
    font-weight: 600;
    font-size: 18px;
    width: 25px;
    text-align: center;
    cursor: pointer;
}

li.question.answered {
    background: #527fba !important;
    color: #fff !important;
}

#home-questionaires-questions {
    background: #fff;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 2px 3px 8px #eee;
    width: auto;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.questions-heading {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    color: #527fba;
}

.add-mistake {
    border-radius: 10px;
    background: #ca4b5d;
    padding: 10px 20px;
    margin-left: -20px;
    border: none;
    color: #fff;
}

.add-mistake:hover {
    background: #af4151;
}

form#answer-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

form#answer-form label {
    font-size: 18px;
    font-weight: 600;
    color: #484848;
    margin-left: 10px;
    word-spacing: 5px;
}

.questions {
    color: #484848;
}

#questions-nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

#questions-nav button {
    border-radius: 10px;
    background-image: linear-gradient(180deg, #255ca5, #15427e);
    padding: 10px 20px;
    border: none;
    color: #fff;
    width: 115px;
}

#home-questionaires #controls {
    margin-top: 30px;
    display: flex;
    justify-content: end;
    gap: 10px;
}

#home-questionaires #controls .exit {
    color: #fff;
    border-radius: 10px;
    background: #ca4b5d;
    padding: 10px 20px;
    border: none;
    width: 110px;
}

#home-questionaires #controls .save-exit {
    color: #fff;
    border-radius: 10px;
    background: #275fa9;
    padding: 10px 20px;
    border: none;
    width: 110px;
}

#home-questionaires #controls .submit {
    color: #fff;
    border-radius: 10px;
    background: #21c293;
    padding: 10px 20px;
    border: none;
    width: 110px;
}

#home-questionaires #controls .exit:hover {
    background: #9e3a49;
}

#home-questionaires #controls .save-exit:hover {
    background: #1f4c86;
}

#home-questionaires #controls .submit:hover {
    background: #1b9e77;
}

/** Profile **/

div#profile-contents {
    display: flex;
}

#profile-container {
    display: flex;
    gap: 20px;
}

#profile-details,
#chart-widget,
#calendar {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 2px 3px 8px #eee;
    width: auto;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

#profile-options {
    width: 20%;
}

#profile-details {
    width: 25%;
    height: fit-content;
}

#profile-details .details-label {
    color: #7a86a1;
    text-transform: uppercase;
    margin-top: 20px;
    font-size: 18px;
}

#profile-details .details-item {
    display: flex;
    align-items: center;
    margin: 10px;
}

#profile-details .details-item svg {
    margin-right: 10px;
}

#profile-details .details-item span {
    margin-left: 10px;
}

#profile-details .profile-divider {
    border-bottom: 1px solid #ececec;
    margin: 10px 0px 30px 0px;
}

#profile-options .edit-button {
    background: #fff;
    padding: 10px 12px;
    border-radius: 10px;
}

#profile-options img {
    border-radius: 50%;
    /* Make the image circular */
    filter: drop-shadow(10px 10px 10px #eee);
    /* Apply shadow */
    display: block;
    width: 150px;
}

#profile-options .dp-edit {
    position: relative;
    width: fit-content;
    /* Ensure the container width is based on the image size */
    display: block;
    margin: 0 auto;
}

#profile-options .dp-edit {
    position: relative;
    width: max-content;
    display: block;
}

#profile-options .dp-edit img {
    display: block;
}


#profile-options .edit-button {
    position: absolute;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
}

#profile-options .file-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

#profile-options .user-name {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#profile-options .user-name p {
    color: #7a86a1;
}

.edit-profile-container {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

#profile-options button.edit-profile {
    display: flex;
    align-items: center;
    color: #7a86a1;
    font-weight: 600;
    background: #fff;
    border: 1px solid #7a86a1;
    padding: 10px;
    border-radius: 10px;
    justify-content: center;
    font-size: 14px;
}

#profile-options button.edit-profile:hover {
    color: #fff;
    background: #275fa9;
    border: 1px solid #275fa9;
}

#profile-options button.edit-profile:hover svg path {
    fill: #fff;
}

#profile-options button.edit-profile svg {
    margin-right: 10px;
}


#widgets #chart-widget .header {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}


.categories {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.categories span {
    color: #fff;
    background: #275fa9;
    padding: 10px;
    border-radius: 15px;
    font-size: 12px;
}
.categories .one_tool {
    color: #fff;
    background: #275fa9;
    padding: 8px;
    border-radius: 15px;
    font-size: 12px;
    text-decoration: none;
    margin-left: 8px;
}

#widgets {
    width: 65%;
}

.useful-chart-legend {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}

.chart-item {
    display: flex;
    align-items: center;
    width: 50%;
    /* Two items per row */
    margin-bottom: 10px;
    /* Add some space between rows */
}


.useful-chart-legend .chart-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.useful-chart-legend .chart-item p {
    color: #7a86a1;
    font-size: 12px;
}

.useful-chart-legend .chart-item .color:nth-child(1) {
    background: #f8dbdf;
    width: 20px;
    height: 20px;
}

.useful-chart-legend .chart-item:nth-of-type(2) .color {
    background: #d0f3dc;
}

.useful-chart-legend .chart-item:nth-of-type(3) .color {
    background: #ffb4b4;
}

.useful-chart-legend .chart-item:nth-of-type(4) .color {
    background: #c5b8ff;
}

.useful-chart-legend .chart-item:nth-of-type(5) .color {
    background: #d8e5f7;
}

.useful-chart-legend .chart-item:nth-of-type(6) .color {
    background: #d6d8db;
}

.useful-chart-legend .chart-item:nth-of-type(7) .color {
    background: #ffda9b;
}

.useful-chart-legend .chart-item .color {
    width: 20px;
    height: 20px;
}

div#profile-contents #profile-container {
    width: 100%;
}

/** Calendar **/

button[data-calendar-toggle="next"] {
    order: 3;
    margin-left: 10px;
}

button[data-calendar-toggle="previous"] {
    order: 2;
    margin-right: 10px;
}

.vanilla-calendar .vanilla-calendar-header__label {
    text-align: left !important;
}

.vanilla-calendar .vanilla-calendar-week {
    background: transparent !important;
}

.vanilla-calendar-week span {
    color: #7a86a1 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

.vanilla-calendar {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.vanilla-calendar-date.vanilla-calendar-date--active.vanilla-calendar-date--today {
    background-color: #275fa9 !important;
    color: #fff !important;
}

.set-hours-time-frames {
    display: flex;
    justify-content: center;
    align-items: center;
}

.set-hours-time-frames button {
    display: flex;
    align-items: center;
    color: #7a86a1;
    font-weight: 600;
    background: #fff;
    border: 1px solid #7a86a1;
    padding: 10px;
    border-radius: 10px;
    justify-content: center;
    font-size: 14px;
}

.set-hours-time-frames button:hover {
    color: #fff;
    background: #275fa9;
    border: 1px solid #275fa9;
}

/** Subjects **/

#subject-container {
    display: flex;
    gap: 20px;
}

#subject-contents {
    width: 100%;
    display: flex;
    gap: 20px;
    flex-direction: column;
}

#subject-contents .unfinished {
    display: flex;
    gap: 20px;
}

#subject-contents .unfinished .homework {
    background: #e8f2ff;
    padding: 25px;
    height: fit-content;
    display: flex;
    gap: 15px;
    border-radius: 20px;
    height: 90px;
}

#subject-contents .unfinished .tickets {
    background: #ffebf6;
    padding: 25px;
    height: fit-content;
    display: flex;
    gap: 15px;
    border-radius: 20px;
    height: 90px;
}

#subject-contents .unfinished p.subtext {
    color: #7a86a1;
    font-weight: 500;
}

#subject-contents .unfinished .maintext {
    color: #636b7c;
    font-weight: 700;
    font-size: 18px;
}

#subject-contents .unfinished .maintext .number {
    color: #000;
    font-size: 25px;
    margin-right: 10px;
}

#subject-contents .unfinished .icon-line {
    position: relative;
    display: inline-block;
    width: 18%;
    height: auto;
}

#subject-contents .unfinished .icon-line img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-top: -2px;
}

#subject-contents .unfinished .icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

div#subject-filter {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    margin-top: 30px;
}


div#subject-bar {
    border: 1px solid #efefef;
    padding: 5px 20px;
    border-radius: 10px;
    align-items: center;
    display: flex;
    width: fit-content;
}

#subj-search {
    border: transparent;
    height: 20px;
    padding: 5px 10px;
}

/* Edge 12-18 */
#subj-search::-ms-input-placeholder,
#subj-search::placeholder {
    color: #7a86a1;
    font-size: 12px;
}

#subj-search:focus-visible {
    outline: none;
}

#subject-filter .dropdown {
    display: flex;
    gap: 20px;
}

#subject-filter .dropdown select {
    background: transparent;
    border: 1px solid #efefef;
    padding: 10px;
    border-radius: 15px;
    color: #7a86a1;
}

#subject-lists button {
    position: relative;
    width: 250px;
    height: 50px;
    background-size: cover;
    background-position: right;
    border: none;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: initial;
    text-align: left;
    padding: 16px;
    border-radius: 20px;
    box-shadow: 2px 3px 8px #eee;
    font-weight: 500;
}

#subject-lists button:hover {
    opacity: 0.9;
}

#subject-lists .subject1 {
    background-image: url(../img/subject1.png);
    color: #fff;
    opacity: 0.5;
}
#subject-lists .checkClass {
    font-size: 16px;
    color: black;
    font-weight: bolder;
    opacity: 1;
}

#subject-lists .subject2 {
    background-image: url(../img/subject2.png);
    color: #000;
}

#subject-lists .subject3 {
    background-image: url(../img/subject3.png);
    color: #000;
}

#subject-lists .subject4 {
    background-image: url(../img/subject4.png);
    color: #000;
}

div#subject-lists {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

div#subjects-details {
    margin-top: 20px;
}

#subjects-details {
    display: flex;
    gap: 40px;
}

#subjects-details #terms-lists .subject1-container,
#subjects-details #terms-lists .subject2-container,
#subjects-details #terms-lists .subject3-container,
#subjects-details #terms-lists .subject4-container {
    background: #fff;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 2px 3px 8px #eee;
    width: 100%;
}

#subjects-details div#terms-lists {
    display: flex;
    width: 100%;
}

#subjects-details .subject1-container,
#subjects-details .subject2-container,
#subjects-details .subject3-container,
#subjects-details .subject4-container {
    display: none;
}

#subjects-details .container-shown {
    display: flex;
}

#subjects-details .subject1-dropdown {
    width: 100%;
}

#subjects-details .terms {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #efefef;
    padding-bottom: 10px;
}

#subjects-details .term-item {
    margin: 20px auto;
}

#subjects-details .term-title span {
    color: #7a86a1;
    font-size: 12px;
    font-weight: 600;
}

/* Initially hide the terms-content */
#subjects-details .terms-content {
    margin-top: 20px;
}

/* Style for the dropdown icon */
#subjects-details .dropdown-icon {
    cursor: pointer;
    font-size: 30px;
    color: #275fa9;
}

#subjects-details .week-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#subjects-details .percentage span {
    font-size: 12px;
}

#subjects-details .week-name {
    display: flex;
    align-items: center;
    width: 30%;
    justify-content: space-between;
}

#subjects-details .week-name span {
    color: #7a86a1;
    font-size: 13px;
}

#subjects-details .week-item {
    cursor: pointer;
}

#subjects-details .week-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Initially hide the week-content */
#subjects-details .week-content {
}

#subjects-details .week-content.shown {
    background: #fff;
    padding: 20px;
    box-shadow: 2px 3px 8px #eee;
    width: auto;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

#subjects-details .week-header {
    padding: 0 10px;
    width: auto;
}

.week-item>.week-header.shown {
    margin: 15px 0 0 0;
}

#subjects-details .week-header.shown {
    background: #365ea4;
    color: #fff;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    width: auto;
    padding: 0 20px;
}

#subjects-details .week-header.shown .week-name span {
    color: #fff;
}

#subjects-details .week-header .percentage {
    position: relative;
    margin: 10px 0;
}

#subjects-details .week-header .progress-bar-container {
    width: 100%;
    height: 8px;
    background-color: #f6efff;
    /* Background color for the bar */
    border-radius: 4px;
    overflow: hidden;
    margin-top: 5px;
}

#subjects-details .week-header.shown .progress-bar-container {
    background-color: #fff;
}

#subjects-details .week-header .progress-bar {
    height: 100%;
    width: 0;
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #d7e4f7, #b9c4fa, #8e97ff);
    transition: width 0.3s ease-in-out;
    /* Smooth transition */
    border-radius: 4px;
}

#subjects-details .week-content .file-content-percentage {
    position: relative;
    margin: 10px 0;
}

#subjects-details .week-content .file-content-percentage .progress-bar-container {
    width: 100%;
    height: 8px;
    background-color: #f6efff;
    /* Background color for the bar */
    border-radius: 4px;
    overflow: hidden;
    margin-top: 5px;
}

#subjects-details .week-content .file-content-percentage .progress-bar {
    height: 100%;
    width: 0;
    /* Initial width will be set via JavaScript */
    background: #6149cd;
    transition: width 0.3s ease-in-out;
    /* Smooth transition */
    border-radius: 4px;
}

#subjects-details .week-content .file-content-percentage .percentage span {
    font-size: 18px;
}

#subjects-details .week-content .files-lists {
    justify-content: space-around;
}

#subjects-details .week-content .files-item {
    background: #f7f7f7;
    padding: 25px;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 15px;
    /* float: left; */
    /* margin-right: 10px; */
    /* max-width: 300px;
    margin-right: 5px; */
}

#subjects-details .week-content h3,
#subjects-details .week-content .subtitle,
#subjects-details .week-content .due-date-label {
    font-weight: 800;
    color: #333333;
}

#subjects-details .week-content .files-item .details {
    font-size: 12px;
}
#subjects-details .week-content .files-item p {
    line-height: 35px;
}

#subjects-details .week-content .date-time {
    color: #7a86a1;
}

#subjects-details .week-content .percentage span {
    font-size: 16px;
    font-weight: 800;
}

#subjects-details .week-content .files-item .date-time {
    font-size: 14px;
}

#subjects-details .week-content .files-item .title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

#subjects-details .week-content .files-item .title span.icon {
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#subjects-details .week-content .files-item button.file-item-button,a.file-item-button {
    background: #626262;
    color: #fff;
    padding: 10px;
    border: none;
    border-radius: 10px;
    width: 100%;
    margin-top: 20px;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
}

#subjects-details .week-content .files-item button.file-item-button:hover,a.file-item-button:hover{
    background: #3b3b3b;
}

/** Dashboard **/

#homework-container {
    background: #fff;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 2px 3px 8px #eee;
    width: auto;
    margin-top: 20px;
    padding-top: 0px;
}

#dashboard-container #dashboard-main-container {
    display: flex;
    gap: 20px;
}

#dashboard-container div#homework-container {
    width: 100%;
}

#dashboard-container #subjects-boxes .heading {
    margin: 50px 0px 0px 0px;
}

#dashboard-container #subjects-boxes .sub-box-container {
    display: flex;
    width: 100%;
    gap: 20px;
}

#dashboard-container #subjects-boxes .sub-box {
    background: #fff;
    border-radius: 20px;
    box-shadow: 2px 3px 8px #eee;
    width: 100%;
    margin-top: 20px;
}

#dashboard-container #subjects-boxes .title {
    color: #fff;
    padding: 21px;
    background-size: auto;
    height: 40px;
    display: flex;
    align-items: center;
    font-weight: 600;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    font-size: 20px;
    background-position: bottom right;
}

#dashboard-container #subjects-boxes .sub-box-1 .title {
    background-image: url(../img/coursebg/sub-box1.png);
}

#dashboard-container #subjects-boxes .sub-box-2 .title {
    background-image: url(../img/coursebg/sub-box2.png);
}

#dashboard-container #subjects-boxes .sub-box-3 .title {
    background-image: url(../img/coursebg/sub-box3.png);
}

#dashboard-container #subjects-boxes .sub-box-4 .title {
    background-image: url(../img/coursebg/sub-box4.png);
    align-items: center;
}

#dashboard-container #subjects-boxes .content {
    padding: 0px 20px 20px 20px;
}

#dashboard-container #subjects-boxes .content .label {
    color: #636b7c;
    text-align: center;
    font-size: 18px;
    margin: 10px 0px;
}

#dashboard-container #subjects-boxes .content #divider {
    border-bottom: 1px solid #ececec;
    margin: 10px 0px 30px 0px;
}

#dashboard-container #subjects-boxes .content .details {
    padding: 0px 25px;
    color: #7a86a1;
}

#dashboard-container #subjects-boxes .content .details div {
    margin: 5px 0px;
    display: flex;
    align-items: center;
    gap: 10px;
}

#dashboard-container #subjects-boxes .content .details .icon {
    margin-right: 10px;
}

#dashboard-container #homework-heading {
    margin: 50px 0px 20px 0px;
}

#dashboard-container #homework-table .subject-icon img {
    width: 80px;;
    height: auto;
}

#dashboard-container #homework-table .subject-td {
    display: flex;
    align-items: center;
    gap: 10px;
}

#dashboard-container #homework-table td {
    color: #7a86a1;
}

#dashboard-container #homework-table .subject-details h4 {
    margin: 0px;
    font-size: 18px;
    font-weight: 600;
    color: #000;
}

#dashboard-container #homework-table .subject-details p {
    font-size: 14px;
}

#dashboard-container #homework-table .subject-details span {
    font-size: 10px;
}

#dashboard-container #homework-table .status span {
    background-image: linear-gradient(180deg, #efefef, #e0e0e0);
    color: #6e6e6e;
    padding: 5px 10px;
    border-radius: 25px;
}

#dashboard-container #homework-table .status.done span {
    background-image: linear-gradient(180deg, #255ca5, #15427e);
    color: #fff;
}

#dashboard-container #homework-table .subject-progress span.num-of-questions {
    font-size: 14px;
}

#dashboard-container #homework-table .subject-progress span.num-of-questions {
    font-size: 14px;
}

#dashboard-container #homework-table .subject-progress .percentage-text {
    font-weight: 600;
    color: #000;
}


#dashboard-container .subject-progress .percentage .percentage span {
    font-size: 18px;
}

#dashboard-container .subject-progress .percentage {
    position: relative;
    margin: 10px 0;
}

#dashboard-container .subject-progress .percentage .progress-bar-container {
    width: 100%;
    height: 8px;
    background-color: #f6efff;
    /* Background color for the bar */
    border-radius: 4px;
    overflow: hidden;
    margin-top: 5px;
}

#dashboard-container .subject-progress .percentage .progress-bar {
    height: 100%;
    width: 0;
    transition: width 0.3s ease-in-out;
    border-radius: 4px;
}

#dashboard-container #subject1 .subject-progress .percentage .progress-bar {
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #f8dade, #ff7d95);
}

#dashboard-container #subject2 .subject-progress .percentage .progress-bar {
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #fecbb1, #f09161);
}

#dashboard-container #subject3 .subject-progress .percentage .progress-bar {
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #d7e4f7, #8f97ff);
}

#dashboard-container #subject4 .subject-progress .percentage .progress-bar {
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #fecbb1, #f09161);
}

#dashboard-container #subject5 .subject-progress .percentage .progress-bar {
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #cff2db, #799475);
}

#dashboard-container #subject6 .subject-progress .percentage .progress-bar {
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #c4b7ff, #9881ff);
}

#dashboard-container #subject7 .subject-progress .percentage .progress-bar {
    /* Initial width will be set via JavaScript */
    background: linear-gradient(to right, #d7d8db, #fcc5f5);
}

#dashboard-container table#homework-table th {
    color: #c0bdcc;
    padding: 30px 0px;
    font-weight: 600;
    border-color: #f0f0f0;
}

#dashboard-container table#homework-table tbody tr {
    padding: 30px 0px !important;
}

#dashboard-container table#homework-table {
    border-spacing: 0px 20px;
}

#dashboard-container div.dt-container.dt-empty-footer tbody>tr:last-child>* {
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 40px;
}

#dashboard-container div#table-filters {
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

#dashboard-container div#table-filters select {
    border: 1px solid #f0f0f0;
    padding: 10px; 
    border-radius: 15px;
    color: #c0bdcc;
    font-weight: 600;
}

#dashboard-container div#homework-table-container .dt-search {
    display: none !important;
}

#dashboard-container #homework-table-container #search-bar {
    border: 1px solid #f0f0f0;
    border-radius: 15px;
    padding: 0px 10px; 
    color: #c0bdcc;
}


#dashboard-container #homework-table-container #search-bar #search{
    width: 300px;
}

#dashboard-container #homework-table-container #search-bar #search:focus-visible {
    outline: none;
}


/** Mobile Responsive **/

@media only screen and (max-width: 1895px) {

    #profile-details,
    #profile-options {
        width: 35%;
    }
}

@media only screen and (max-width: 1690px) {
    #dashboard-container #homework-table-container #search-bar #search{
        width: 200px;
    }

    #dashboard-container #homework-table-container td.status {
        font-size: 12px;
    }
}

@media only screen and (max-width: 1606px) {
    #results-breakdown {
        width: 60%;
    }

    #home-work-items li {
        font-size: 14px;
        width: 18px;
    }

    #widgets {
        width: 55%;
    }

    #subject-contents .unfinished .icon-line img {
        object-fit: contain;
    }

    #subject-contents .unfinished .icon {
        width: 40px;
        height: 40px;
    }

    #subject-contents .unfinished .icon svg {
        width: 20px;
        height: 20px;
    }
}

@media only screen and (max-width: 1560px) {
    div#dashboard-main-container {
        flex-direction: column;
    }
    
    #dashboard-main-container #widgets {
        width: 100%;
    }

    #dashboard-main-container #widgets #calendar,
    #dashboard-main-container #widgets #chart-widget {
        width: 100%;
    }
}

@media only screen and (max-width: 1275px) {
    #subjects-details .week-name {
        width: 40%;
    }

    #subjects-details .week-content .files-lists {
        flex-direction: column;
        gap: 20px;
    }

    #subject-contents .unfinished {
        flex-direction: column;
    }

    #subject-contents .unfinished .icon {
        width: 50px;
        height: 50px;
    }

    #subject-contents .unfinished .homework,
    #subject-contents .unfinished .tickets {
        align-items: center;
    }

   
}
@media only screen and (max-width: 1800px) {
    #subjects-details .week-content .files-item {
        background: #f7f7f7;
        padding: 25px;
        border-radius: 25px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-top: 15px;
        /* float: left; */
        margin-right: 10px;
        /* max-width: 300px;
        margin-right: 5px; */
    }
}

@media only screen and (min-width: 1800px) {
    #subjects-details .week-content .files-item {
        background: #f7f7f7;
        padding: 25px;
        border-radius: 25px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-top: 15px;
        float: left;
        margin-right: 10px;
        width: 41%;
        margin-right: 5px; 
    }
}

@media only screen and (max-width: 1425px) {
    #profile-details {
        width: 50%;
    }

    #subjects-details {
        flex-direction: column;
    }

    #subject-lists button {
        width: 100%;
    }
}

@media only screen and (max-width: 1023px) {
    #results-breakdown {
        width: 100%;
    }

    #test-results {
        width: 70%;
    }

    #test-ranking {
        width: 30%;
    }

    /** Collapse Sidenav **/
    h2.site-title,
    .menu-items a,
    .user-control p {
        display: none;
    }

    #side-nav {
        width: 50px;
        padding: 20px;
    }

    .user-control {
        flex-direction: column;
        gap: 20px;
        justify-content: start;
    }

    ul.account-menu li {
        justify-content: start;
    }

    #menu-section {
        width: 70px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #dashboard {
        gap: 15px;
    }

    #main-body {
        padding: 20px 90px 20px 20px;
    }

    #summary-container,
    #charts-container {
        flex-direction: column;
        width: 100%;
    }

    #test-results,
    #test-ranking,
    #charts-container #bar-chart,
    #charts-container #doughnut-chart {
        width: 100%;
    }

    #home-work-items .items {
        grid-template-columns: repeat(3, 1fr);
    }

    .question-sheets {
        flex-direction: row !important;
        width: 100%;
    }

}
@media only screen and (min-width: 1200px) {
    #dashboard-container #subjects-boxes .sub-box-container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (min-width: 1500px) {
    #dashboard-container #subjects-boxes .sub-box-container {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }
}


@media only screen and (max-width: 1200px) {
    div#profile-contents,
    #subject-container {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    #widgets {
        width: 100%;
    }

    #subject-contents .unfinished .icon {
        width: 80px;
        height: 80px;
    }

    #dashboard-container #subjects-boxes .sub-box-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (max-width: 1025px) {
    .complaint-details {
        width: 100%;
    }

    #complaint-table td,
    div#complaint-table_info,
    #complaint-table th,
    .dt-length label label {
        font-size: 12px !important;
    }

}


@media only screen and (max-width: 890px) {
    div#table-filters {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
    }

    #dashboard-container #homework-table .subject-icon img {
        width: 60px;
        height: auto;
    }

    #dashboard-container #homework-table .subject-details h4 {
        font-size: 15px;
    }

    #dashboard-container #homework-table .subject-details p {
        font-size: 12px;
    }

    #dashboard-container #homework-table-container td.status {
        font-size: 10px;
    }

    #dashboard-container #homework-table .subject-progress .percentage-text {
        font-size: 12px;
    }

    #dashboard-container table#homework-table th {
        font-size: 12px;
    }
}

@media only screen and (max-width: 860px) {

    #subject-contents .unfinished .icon {
        width: 50px;
        height: 50px;
    }

}

@media only screen and (max-width: 769px) {

    #home-questionaires,
    #home-work-items-container {
        width: 110%;
    }

    #home-questionaires .header,
    .questions-heading {
        flex-direction: column;
        gap: 10px;
    }


    .question-sheets {
        flex-direction: column !important;
        width: 100%;
    }

    div#complaint-table-container {
        overflow: scroll;
    }

    div#profile-contents #profile-container {
        flex-direction: column;
    }

    #profile-details, #profile-options {
        width: 100%;
    }

    div#subject-filter {
        flex-direction: column;
        gap: 20px;
    }

    #dashboard-container #homework-table .subject-icon {
        display: none;
    }

    #dashboard-container div#homework-table-container {
        overflow: scroll;
    }

    #dashboard-container #homework-table-container td.status {
        font-size: 8px;
        line-height: 20px;
        width: 100px;
    }

    #dashboard-container #homework-table td,
    #dashboard-container #homework-table .subject-progress span.num-of-questions {
        color: #7a86a1;
        font-size: 10px;
    }

}

@media only screen and (max-width: 680px) {
    #dashboard-container #subjects-boxes .sub-box-container {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
}

@media only screen and (max-width: 650px) {

    #subject-contents .unfinished .icon-line {
        width: 35%;
    }

}

@media only screen and (max-width: 620px) {

    div#header,
    #test-results .title,
    #charts-container #bar-chart .title {
        flex-direction: column;
        align-items: start;
        gap: 15px;
    }

    #results-breakdown,
    #exam-classifications {
        flex-direction: column;
        gap: 20px;
        align-items: start;
    }
}

@media only screen and (max-width: 540px) {

    #test-results .title h3,
    #charts-container #bar-chart .title h3,
    #charts-container #doughnut-chart h3,
    #test-ranking #ranking-details div {
        font-size: 20px;
    }

    #header h1,
    #test-results .points {
        font-size: 30px;
    }

    #test-results .points span,
    #exam-difficulty p,
    .classifications p {
        font-size: 15px;
    }

    .complaint-title {
        flex-direction: column;
        gap: 10px;
    }

    
    #subject-contents .unfinished .icon {
        width: 30px;
        height: 30px;
    }
}

@media only screen and (max-width: 500px) {
    canvas#barChart {
        height: 200px !important;
    }

    canvas#doughnutChart {
        width: 200px !important;
    }

    #home-questionaires,
    #home-work-items-container {
        width: 130%;
    }

    #home-work-items li {
        padding: 2px;
        border-radius: 50px;
        font-size: 10px;
        width: 15px;
    }

    #questions-nav {
        display: flex;
        justify-content: space-between;
        width: 100%;
        align-items: center;
        flex-direction: column;
        gap: 10px;
    }

    #home-questionaires #controls {
        margin-top: 30px;
        display: flex;
        justify-content: center;
        gap: 10px;
        flex-direction: column;
        align-items: center;
    }

    #home-questionaires h3 {
        font-weight: 800;
        font-size: 15px;
        text-align: center;
    }

    form#answer-form label {
        font-size: 14px;
    }

    #home-work-items .items {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width: 480px) {
    #profile-details .details-item {
        font-size: 12px;
    }
}