* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #f0f0f0;
  justify-content: space-between;
}

.navbar_sticky {
  position: sticky!important;
  top: 0;
  z-index: 999;
}

footer {
  width: 100%;
  background: #202020;
  color: white;   
  
}

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

.siccadd {
  font-family: 'Gayathri', sans-serif;
}

#course_detail .text-white {
  margin-bottom: 0;
}

.form-container-professor {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-content: center;
}

.form_container_flex_elements {
  display: flex;
  flex-direction: column;
}

.form_container_flex_elements p {
  display: flex;
  flex-direction: column;
}

.form_container_flex_elements p > select {
  padding: 5px 2px;
}

.form_container_flex_elements > button {
  align-self: flex-end;
  margin-top: 1rem;
}

.professors_home_group_details_buttonscontainer {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  justify-content: center;
  min-width: 300px;
}

.professors_home_group_details_buttonscontainer a {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  gap: 7px;
  border-radius: 0.5rem;
  height: 3rem;
}

.professors_home_group_details_buttonscontainer a span {
  display: flex;
  align-content: center;
  flex-wrap: wrap;
}

.form-container-professor form p {
  display: flex;
  flex-direction: column;
}

.form-container-professor > form p > select {
  padding: 5px 5px 5px 2px;
}

#group_restrict_1st_input {
  margin-top: 10px;
}

.professors_home_group_details_container {
  margin-top: 2.5rem;
}

.selected_assignament {
  margin-top: 1.5rem;
  display: flex;
}

#id_group_number, #id_class_schedule, #id_classroom {
  padding: 2px 4px;
}

#group_restrict {
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.assignments_overflown {
  overflow: auto;
}

.assignments_overflown thead {
  text-align: center;
}

.container_m5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem!important;
}

.container_m3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem!important;
}

.wrapper_grade_update {
  min-width: 400px;
  max-width: 700px;
}

.h2_grade_update {
  max-width: 500px;
  font-weight: bold;
  font-size: 3.5rem;
  margin-bottom: 0.5rem;
}

.h2_grade_description {
  font-weight: bold;
  font-size: 1.5rem;
}

.h4_grade_value{
  font-weight: bold;
  font-size: 3rem;
}

.h5_description {
  color: #0f0c0c;
  text-align: justify;
  margin-bottom: 2.5rem;
  max-width: 500px;
}

.h6_date_update {
  color: #545a5f!important;
  margin-bottom: 2.5rem;
}

.profesor_comment_container {
  margin-top: 1rem;
  margin-bottom: 3rem;
}

#professor_comment_q {
  quotes: "\201C" "\201D";
}

.professor_comment {
  font-size: 12pt;
}

.attached_files_container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.attached_files_container > p {
  margin: 0;
}

.sent_file_p {
  margin: 0;
}

#hint_id_new_password1 > ul li{
  list-style-position: inside;
}

#hint_id_new_password1 > ul {
  margin-top: 1rem;
}

.asteriskField {
  margin-left: 3px;
}

.show_all_material {
  margin-top: 0.3rem;
}

.profile_picture {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  width: 100%;
  height: auto;
  max-width: 296px;
  max-height: 346px;
  object-fit: cover;
}

.profile_picture_selected_at_home {
  position: absolute;
  transform: translate(134px, -174px);
}

#professor_profile_picture_home {
  max-width: 10rem;
  height: 10rem;
}

#tbody_nopreline {
  white-space: normal;
}

/* #tr-0,   {
  background-color: initial;
} */

#tr-0 > td, #tr-1 > td, #tr-2 > td, #tr-3 > td, #tr-4 > td {
  padding: 0.3rem 0px;
}

#tr-0 > .rubrics_concept_input,
#tr-1 > .rubrics_concept_input,
#tr-2 > .rubrics_concept_input,
#tr-3 > .rubrics_concept_input,
#tr-4 > .rubrics_concept_input {
  padding-right: 0.5rem;
}

.btns_rubric_display {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}

#btns_rubric_ml3 {
  margin-left: 0.5rem;
}

.student_list_td {
  text-align: center;
  vertical-align: middle!important;
}

.weight_ask_asistencia_btn {
  display: flex;
  justify-content: space-between;
}

.weight_container {
  border: 2px #0D7691 solid;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  background-color: #e6e6e631;
}

.weight_container:hover {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}

.weight_container_upper {
  border-bottom: 2px #0D7691 solid;
  padding: 10px 30px;
}

.weight_concept input, .weight_percentage input {
  color: #495057;
}

.weight_concept label {
  font-family: 'Rubik', sans-serif;
  font-size: 14pt;
  font-weight: 500!important;
}

.weight_update_button {
  display: flex;
  margin-bottom: 5rem;
}

.weight_description label, .weight_percentage label {
  font-family: 'Rubik', sans-serif;
  font-size: 12pt;
  font-weight: 300!important;
}

.weight_flex_container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  margin-bottom: 3rem;
}

.weight_delete {
  flex-direction: row!important;
  justify-content: center;
  gap: 15px;
}

.weight_flex_rows {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.weight_flex_rows > label {
  margin-top: 10px;
  font-weight: bold;
}

.weight_flex_rows > input {
  width: 150px;
  padding: 2px 5px;
  text-align: center;
  border: 1px solid #ced4da;
  border-radius: 15px;
  transition: border-color 0.2s ease-in-out;
  margin-bottom: 1rem;
}

.weight_delete > label {
  font-weight: 300!important;
  font-size: 12pt;
}

.weight_delete > input {
  margin: 0;
  width: auto;
}

.weight_flex_rows > input:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
}

.weight_flex_rows:nth-child(3) > input {
  width: 60px;
}

.weight_flex_rows:last-child > label {
  font-weight: normal;
}

.criterio_container {
  display: grid ;
  padding: 2rem 2rem;
  background-color: initial;
  border: 1px #2020202a solid;
  /* rgb(228, 228, 228) */
  border-radius: 10px;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

#tr_criteriosrubric td {
  padding-bottom: 1.5rem!important; 
}

#div-cr tbody {
  display: table;
}

#div-cr tbody tr:nth-child(1) td {
  padding-top: 1.5rem;
  text-align: center;
  font-weight: bold;
}

#div-cr thead {
  border-bottom: 0.8px rgb(187, 187, 187) solid;
}

#div-cr tbody tr:nth-child(2) td {
  padding: 0.2rem 0.5rem;
}

#div-cr tbody tr:nth-child(2) td:last-child {
  padding-right: 0;
}

#div-cr tbody tr:nth-child(2) td:first-child {
  padding-left: 0;
}

#div-cr tbody tr:nth-child(2) td input {
  float: right;
  margin-top: -0.5rem;
}

#div-rubric {
  padding: 0 15px;
}

.criterio_container:hover {
  box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px;
}

.rubric_evaluation_element {
  display: flex;
  flex-direction: column;
  font-size: 1.2rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.8px rgb(187, 187, 187) solid;
}

.rubrics_input_criterio {
  width: 20rem;
}

tr .rubrics_column_concept {
  padding: 0;
}

.rubrics_column_concept > label {
  margin: 0;
}

tr .rubrics_column_criterio_description {
  padding: 0.2rem 0.5rem;
}

tr .rubrics_column_criterio_description:last-child {
  padding-right: 0;
}

tr .rubrics_column_criterio_description:first-child {
  padding-left: 0;
}

.rubrics_criteria_table {
  margin-top: 1.5rem;
  margin-bottom: 0!important;
}

.rubrics_criteria_table > tr th {
  border-top: none;
}

.rubrics_criteria_table > tr:nth-child(2) {
  margin-top: 1rem;
}

.rubrics_row_input_points {
  padding: 0;
  /* display: flex; */
  text-align: end;
  align-items: end;
  /* justify-content: flex-end; */
}

.rubrics_row_input_points th {
  padding: 0.75rem 0;
  padding-right: 0.5rem;
}

.rubrics_row_input_points th:last-child {
  padding-right: 0;
}

.rubrics_row_input_points th > input, #div-cr tbody tr:nth-child(2) td input {
  padding: 0.2rem 0.4rem;
  border: 1px solid #ced4da;
  border-radius: 3px;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  float: right;
}

#div-cr tbody tr:nth-child(2) td input {
  margin: 0.75rem 0;
}

.rubrics_row_input_points th > input:focus, #div-cr tbody tr:nth-child(2) td input:focus {
  color: #495057;
  background-color: #fff;
  outline: 0;
  outline: none !important;
  outline-width: 0 !important;
  border: 1px #80bdff solid;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}

#div-rubric-name {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#div-rubric-name > strong > label {
  font-weight: bolder;
  margin: 0;
  font-size: 1.35rem;
}

#div-rubric-name > input {
  width: 16rem;
  margin-top: 0.5rem;
}

#div-rubric > label {
  display: none;
}

#div-cr td {
  border: none;
  padding: 0;
}

#div-rubric > .table.mb-5 {
  margin-top: 1rem;
}

.evaluation_scheme_table th {
  border: none;
}

#evaluation_scheme_container_new {
  margin-top: 1rem;
}

#table-rubric tr th, #table-rubric {
  border: none;
}

#table-rubric tr td {
  border: none;
  border-top: 1px solid #dee2e6;
}

.form_rubric_name > label {
  font-weight: bolder;
  font-size: 1.35rem;
}

.form_rubric_name {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#rubric_levels_help_btn {
  cursor: pointer;
}

#rubric_levels_help_btn:hover + #rubric_levels_help_info {
  display: block!important;
}

#rubric_levels_help_info:hover {
  display: block!important;
}

#rubric_levels_help_info {
  position: absolute;
  background-color: #292961;
  color: #f0f0f0;
  border-radius: 5px;
  padding: 0.8rem 1.5rem;
  width: 95%;
  z-index: 10;
  top: 1.3rem;
  right: calc(5%/2);
}

.tr_hover_attendance:hover {
  background-color: initial!important;
}

.table.table-striped.table-borderless.table-hover.table-responsive {
  overflow: auto;
  width: inherit;
}

#attendance_list_tr_head {
  text-align: center;
}

#attendance_list_tr_head th {
  vertical-align: middle;
  /* min-width: 120px; */
}

#attendance_list_tbody {
  width: 100%;
}

#attendance_list_tbody tr {
  text-align: center;
}

/* #attendance_list_tbody tr td:nth-child(3) {
  font-size: 0.9rem;
  position: sticky;
  left: 125px;
  z-index: 2;
} */
/* 
#attendance_list_tbody tr td:nth-child(2) {
  position: sticky;
  left: 0;
  z-index: 2;
}

#attendance_list_tbody tr td:nth-child(4) {
  position: relative;
  z-index: 0;
}

#attendance_list_tbody th, #attendance_list_tbody td   {
  vertical-align: middle;
} */

.modal_aclass_create p > input {
  margin-left: 0.2rem;
  padding: 0.1rem 0.5rem;
  border: 1px #6d6d6d85 solid;
  border-radius: 3px;
}

.modal_aclass_create p {
  margin: 0;
}

.message_info {
  background-color: white;
  border: 1px #19191938 solid;
  padding: 0.5rem 0.2rem;
  display: flex;
  flex-direction: column;
}

.message_info hr {
  background-color: #19191938;
  width: calc(100% - 2rem);
  align-self: center;
}

.small_text_messages {
  gap: 7rem;
}

.small_text_messages_group {
  gap: 1rem;
}

.small_text_messages_group svg {
  margin-top: -1rem;
}

.assignment_grading_text_area {
  transition: height 0.7s ease-in-out;
  overflow-y: hidden;
  resize: none;
  height: 75px!important;
}

.assignment_grading_text_area:focus {
  height: 135px!important;
  overflow-y: auto;
}

#form_professor_update {
  display: flex;
  flex-direction: column;
}

.professor_update_div_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  height: 350px;
  margin-top: 2rem;
}

#form_professor_update .form-group {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

#form_professor_update .form-group:nth-child(7) {
  display: inline-block;
}

#form_professor_update .form-group:nth-child(7) input {
  width: auto;
  margin-left: 1.2rem;
  transform: translateY(2px);
}

#form_professor_update .form-group:last-child input {
  border: none;
}

#form_professor_update .form-group input {
  text-align: left;
  width: 250px;
  padding: 2px 10px;
  color: #495057;
  border: 1px solid #ced4da;
  border-radius: 5px;
  transition: border-color 0.2s ease-in-out;
}

.form-container p input, .form-container p select, .form-container p textarea {
  text-align: left;
  width: 500px;
  padding: 2px 10px;
  color: #495057;
  border: 1px solid #ced4da;
  border-radius: 5px;
  transition: border-color 0.2s ease-in-out;
}

.form-container p input:focus, .form-container p select:focus, .form-container p textarea:focus {
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
}

.form_material_create p:nth-child(9) {
  display: block!important;
}

.form_material_create p:nth-child(9) input {
  width: 30px;
}

#form_professor_update .form-group input:focus {
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
}

/* texto de fecha limite */
.fecha_limite{
  display: flex;
  align-items: center;
  margin-bottom: 0;
  gap: 3px;
}
/* Boton de warning */
.warningDiv{
  min-width: 30px !important;
  height: 30px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}


.attached_file_td {
  display: flex;
  justify-content: center;
  gap: 0.2rem;
}

.attached_file_btn {
  position: relative;
  display: inline-block;
}

.hidden_filename {
  visibility: hidden;
  width: 150px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -75px;
  opacity: 0;
  transition: opacity 0.3s;
  overflow: hidden;
}

.hidden_filename::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.attached_file_btn:hover .hidden_filename {
  visibility: visible;
  opacity: 1;
}

p:has(#my_student_comment) {
  display: flex;
  flex-direction: column;
}

p:has(#my_student_comment) textarea {
  display: block;
  width: 100%;
  height: calc(7rem);
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

p:has(#my_student_comment) textarea:focus {
  outline-width: 0 !important;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
}

#my_upload_date {
  display: block;
  width: 100%;
  height: calc(1.5em + .75rem + 2px);
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  background-color: #e9ecef;
  opacity: 1;
}

p:has(input[type="file"]) input {
  display: none;
}

p:has(input[type="file"]) label {
  border: 1px solid #ccc;
  border-radius: 5px;
  display: inline-block;
  padding: 6px 12px;
  cursor: pointer;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

p:has(input[type="file"]) label:hover {
  border: 1px solid #80bdff;
}

p:has(label[for="id_gradefile"]) div {
  margin-top: 1rem;
}

p:has(label[for="id_gradefile"]) div li {
  margin-top: 0.5rem;
  margin-bottom: 0;
  list-style-type: disc;
  padding-left: 20px;
}

#selected-files li:last-child {
  margin-bottom: 1.5rem;
}

#selected-files li {
  font-size: 14px;
}

#team_create_info {
  margin-bottom: 1.5rem;
}

#team_create_info div {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5rem;
}

#team_create_info div input {
  text-align: left;
  width: 250px;
  padding: 2px 10px;
  color: #495057;
  border: 1px solid #ced4da;
  border-radius: 5px;
  transition: border-color 0.2s ease-in-out;
}

#team_create_info div input[type="number"] {
  width: 60px;
}

#team_create_info div input:focus {
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
}

#id_students {
  list-style-type: none;
  background-color: #20202010;
  border-radius: 10px;
  padding: 0.5rem 1rem;
}

#team_create_students > label {
  margin-bottom: 0.5rem;
}

#id_students label {
  font-size: 14px;
  color: #1a1919;
  display: flex;
}

#id_students li:hover label {
  color: #555;
  cursor: pointer;
}

#id_students label input {
  margin-right: 0.5rem;
}

#id_students label input:hover {
  cursor: pointer;
}

#team_create_warnings li {
  list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1em' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cstyle%3Esvg%7Bfill:%23c42727%7D%3C/style%3E%3Cpath d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E");
}

#team_create_warnings div {
  transform: translateY(-2px);
}

#form-container-team-list {
  padding: 0 1.7rem;
}

.btns-row {
  display: flex;
  gap: 0.4rem;
  justify-content: end;
}

.successlist {
  --icon-size: 1rem;
  --gutter: .5em;
  padding: 0 0 0 var(--icon-size);
  margin-top: 1rem;
  visibility: hidden;
  display: flex;
  justify-content: end;
}

.successlist li {
  padding-left: var(--gutter);
  font-family: 'Rubik', sans-serif;
  font-size: 18px;
}

.successlist li::marker {
  content: "\f00c"; /* FontAwesome Unicode */
  color: #292961;
  font-family: FontAwesome;
  font-size: var(--icon-size);
}

.turn_on {
  visibility: visible!important;
}

.loading_icon {
  width: 30px;
  margin-right: 1rem;
}

.hidden {
  opacity: 0;
  visibility: hidden;
}

#grades_content input.item {
  text-align: left;
  width: 65px;
  padding: 2px 10px;
  color: #495057;
  border: 1px solid #ced4da;
  border-radius: 5px;
  transition: border-color 0.2s ease-in-out;
}

#grades_content input.item:focus {
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
}

#grades_content td, #grades_head th {
  max-width: 100px;
}

.teams_grades_btns {
  display: flex;
  gap: 0.2rem;
  max-height: fit-content;
}

.form_container_titles {
  margin-bottom: 2rem;
}

.form_container_titles h2.h2_grade_update {  
  margin-bottom: 0.5rem;
}

select {
  background-color: field;
}

#modal_grades p {
  display: flex;
  flex-direction: column;
}

#modal_grades input, #modal_grades textarea, #modal_grades select {
  display: block;
  height: calc(1.5em + .75rem + 2px);
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

#modal_grades input:focus, #modal_grades textarea:focus, #modal_grades select:focus {
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
}

#modal_grades textarea {
  height: 100%;
}

#modal_grades select {
  padding: 5px 10px;
}

.errorlist {
  --icon-size: 1rem;
  --gutter: .5em;
  padding: 0 0 0 var(--icon-size);
}

.errorlist li {
  padding-left: var(--gutter);
}

.errorlist li::marker {
  content: "\f071"; /* FontAwesome Unicode */
  color: #d22d2d;
  font-family: FontAwesome;
  font-size: var(--icon-size);
}

.weight_description textarea {
  overflow-y: auto;
  resize: none;
  height: 75px!important;
  display: block;
  width: 200px;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, height 0.7s ease-in-out;
}

.weight_description textarea:focus {
  transition: height 0.7s ease-in-out;
  border-color: #80bdff;
  outline: 0;
  height: 135px!important;
  overflow-y: auto;
}

.student_list_buttons {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.grade_update_disclaimers {
  margin-top: -15px;
  margin-bottom: 2rem;
}

.grade_update_disclaimers p {
  margin: 0;
  font-size: 11pt;
}

.gradeValueMain {
  display: flex;
  justify-content: space-between;
}

#tbody_nopreline td > div.row {
  flex-wrap: nowrap;
  margin-right: 0px;
  margin-left: 0px;
}

#exams-actions {
  padding: 20px 10px!important;
}

#exams-list {
  overflow-x: scroll;
}

.form-container .weight_container {
  position: relative;
}

.form-container .weight_container:last-child:hover {
  cursor: pointer;
}

.last_weight_container_clickable {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #0D7691;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  user-select: none;
  font-family: 'Rubik', sans-serif;
  transition: transform 0.1s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.last_weight_container_clickable:hover {
  transform: translate(5px, 5px);
}

.last_weight_container_clickable svg {
  width: 30%;
}

.last_weight_container_clickable svg path {
  fill: white;
}

.visibility0 {
  visibility: hidden;
}

.weight_success_message {
  margin-left: 1rem!important;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  color: #202020;
  font-family: 'Rubik', sans-serif;
  transition: opacity 1s ease, visibility 1s ease;
}

.weight_success_message span {
  margin-left: 0.5rem;
}

.success_message_invisible {
  visibility: hidden;
  opacity: 0;
}

.weights_sum_container {
  position: absolute;
  top: 26.65rem;
  right: 1cm;
  height: 100%;
}

.weights_sum_container_sticky {
  position: sticky;
  top: 12rem;
  padding: 2rem 3rem;
  border: 1px #49505738 solid;
  background-color: white;
  color: #555;
  display: flex;
  flex-direction: column;
  font-family: 'Rubik', sans-serif;
}

.weights_sum_container_sticky header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px #49505738 solid;
  font-weight: 600;
}

#weight_sum_name, #weight_sum_percent {
  display: flex;
  flex-direction: column;
}

.weights_sum_container_sticky > section {
  padding-top: 1rem;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}

#weight_sum_percent {
  text-align: end;
}

#weight_sum_variable {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-left: 1.5rem;
}

#weight_create_id {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 680px) and (max-width: 829px) {
  #group-detail-container {
    gap: 1rem;
  }
}

@media screen and (max-width: 330px) {
  .messages_flex .comentario {
    max-width: 280px!important;
  }

  .professors_home_group_details_buttonscontainer a {
    width: 200px;
  }

  .professors_home_group_details_buttonscontainer {
    justify-content: center;
    align-items: center;
  }
}

@media screen and (max-width: 400px) {
  .wrapper_grade_update {
    padding: 0px 20px;
    min-width: auto;
    max-width: 320px!important;
  }

  .messages_flex .comentario {
    max-width: 340px;
  }

  .messages_flex .nombre {
    max-width: 220px!important;
  }
}

@media screen and (max-width: 600px){
  .gradeValueMain{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  .gradeValueMain > .row {
    display: block !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .gradeValueMain .wrapper_grade_update {
    width: 100% !important;
    min-width: 0px !important;
  }
  
}


@media screen and (max-width: 520px) {
  #grades_content td, #grades_head th {
    padding: 10px 20px;
  }

  .professor_update_div_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: nowrap;
    height: auto;
    margin: 2rem 0rem;
  }

  .messages_flex {
    flex-wrap: wrap;
    flex-direction: column;
  }

  .messages_flex .nombre {
    position: relative;
    bottom: 45px;
    left: 60px;
    display: flex;
    flex-direction: column;
    max-width: 300px;
  }

  .messages_flex span {
    max-width: 200px;
    margin: 0!important;
  }

  .messages_flex .comentario {
    margin-top: -20px!important;
    width: 380px;
    word-wrap: break-word;
  }

  .professors_home_group_details_buttonscontainer {
    justify-content: center;
  }

  .professors_home_group_details_buttonscontainer {
    margin-top: 1rem;
  }

  .assignment_grading_text_area {
    height: 75px!important;
    width: 150px!important;
  }

  .assignment_grading_text_area:focus {
    height: 175px!important;
  }

  .div_form_and_picture{
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .form-container-professor div h2{
    text-align: center;
    margin-bottom: 1rem;
  }
  .fotografia{
    width: 90% !important;
    flex-direction: column;
    align-self: center;

  }
  .update_form{
    align-self: center;
    width: 90% !important;
  }
  #textPhoto{
    text-align: start;
    
  }
}

@media screen and (max-width: 560px) {
  .form-container p input, .form-container p select, .form-container p textarea {
    width: 100%;
  }

  .form_container_flex_elements {
    width: calc(95%);
  }
}

@media screen and (max-width: 700px) {
  .assignment_grading_text_area {
    overflow-y: scroll;
  }

  .wrapper_grade_update {
    padding: 0px 20px;
    min-width: auto;
    width: 300px;
  }

  .attached_files_container {
    gap: 3rem;
  }

  .form_material_create {
    padding: 0 1.7rem;
  }
}

@media screen and (max-width: 767px) {
  #attendance_list_tbody tr td:nth-child(2) {
    position: static;
  }

  #attendance_list_tbody tr td:nth-child(3) {
    position: static;
  }

  #attendance_list_tr_head th {
    top: 0;
    left: unset!important;
  }

  .tr_hover_attendance th {
    position: static!important;
    left: 0;
  }

  #team_list {
    margin-top: 0.5rem;
  }
}

@media screen and (max-width: 1000px) {
  .show_all_material {
    margin-top: 0.3rem;
    margin-bottom: 2rem;
  }

  #courseGroup {
    margin-top: 1rem;
  }

  .teams_grades_btns {
    flex-direction: column;
    gap: 0.5rem;
    margin: auto;
    margin-top: 1rem;
    max-width: 320px;
  }

  .team_btns {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  #team_list_btns {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 320px;
    margin: auto;
    margin-top: 1rem;
  }
}

@media screen and (max-width: 1200px) {
  .small_text_messages {
    gap: 0rem;
  }
  .div-row-1{
    width: 99% !important;
  }
  .div-row-2{
    width: 99% !important;
  }
  
}
@media (min-width: 1400px) {
    .custom-container {
        display: flex;
        justify-content: center;
    }
}

@media screen and (max-width: 800px) {
  #form-container-team-list {
    display: block;
  }
}

@media screen and (max-width: 1366px) {
  .weights_sum_container {
    position: static;
    margin-bottom: 2rem;
  }
  
  .weights_sum_container_sticky {
    position: static;
  }
}

  




.rubrics_criteria_table tr, .criterio_container, #table-rubric-container, #evaluation_scheme_container_new {
  overflow-x: scroll;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    display: none;
}
input[type=number]{
    appearance: textfield;
}


.form-group button{
  display: flex;
	border: none !important;
  background-color: transparent;
  flex-direction: column;
  justify-content: end;
  align-items: center;
}
.form-group button i{
  cursor: pointer;
  font-size: 40px; 
  color: rgb(0, 145, 255);
}
.form-group button label h5{
  margin: 0px !important;
  font-size: 1em
}
.div-row-1{
  margin-left: 15px;
  width: 40%;
}
.div-row-2{
  width: 15%;
  display: flex;
  justify-content: center;
  align-items: end;
  margin-left: 10px;
}


.sticky-responded{
  white-space: pre-wrap;
}
.table-exam-question{
  table-layout: fixed;
}


.drop-area {
    border: 2px dashed #ccc;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
    margin-top: 15px;
}
.drop-area:hover,
.drop-area.highlight {
    background-color: #f7f7f7;
    border-color: #007bff; 
}
.file-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    margin-top: 10px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s;
}
.file-card-info {
    display: flex;
    align-items: center;
    flex-grow: 1;
}
.file-icon {
    font-size: 24px;
    margin-right: 15px;
    color: #28a745; 
}
.file-name {
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 70%;
}
.file-actions button {
    margin-left: 10px;
}
.loading-bar {
    height: 8px;
    background-color: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
    margin-top: 5px;
}
.loading-progress {
    width: 0%;
    height: 100%;
    background-color: #007bff;
    transition: width 0.4s ease-in-out;
}
.mt-4 {
    margin-top: 1.5rem !important;
}