/* **************************************************************** *
 *                      Course Management styles                    *
 * **************************************************************** */

/* General */
a {
    color: #329cc4;
}

a
a:focus, a:hover {
    color: #2d8db1;
}

.pagination > li > a, .pagination > li > span {
    color: #329cc4;
}

.table-bordered > tfoot > tr > td {
    border: 0px;
}

html {
    font-size: 100%;
}

body {
    font-family: "LatoWeb", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    color: var(--ic-brand-font-color-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: normal
}

h1, h2, .h1, .h2 {
    font-size: 1.8em;
    line-height: 1.5
}

h3, .h3 {
    font-size: 1.5em
}

.table-sm {
    font-size: 0.85rem;
}

.table th {
    border-top: 0px;
}

.table-align-middle > tbody > tr > td {
    vertical-align: middle;
}

.page-header {
    margin: 0px;
}

.um-body {
    padding-top: 15px;
}


/* Tabs */
.tab-pane .row {
    margin: 0px;
}

.tab-pane .row .row {
    margin-left: -15px;
    margin-right: -15px;
}

.tab-pane {
    padding-top: 20px;
}

.tab-content {
    padding-left: 0px !important;
    border-left: 0px !important;
}

.nav-tabs {
    padding: 10px 130px 0 1em;
}

.nav > li > a {
    padding: 8px 14px;
}

.nav > li > a:focus, .nav > li > a:hover {
    background-color: #f5f5f5;
    color: #333;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
    color: #333;
}

/* Buttons */
.btn-primary {
    background: #f5f5f5;
    color: #329cc4;
    border: 1px solid;
    border-color: #C7CDD1;
    border-radius: 3px;
    transition: background-color 0.2s ease-in-out;
    position: relative;
    line-height: 20px;
    text-decoration: none;
    overflow: hidden;
    text-shadow: none;
    font-size: 0.85rem;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle {
    background-color: #80c6df;
    border-color: #C7CDD1;
}

.btn:hover, .btn-primary:hover,
.btn:focus, .btn-primary:focus,
.btn.active, .btn-primary.active,
.btn:active, .btn-primary:active {
    background: #e8e8e8;
    color: #2D3B45;
    border: 1px solid;
    border-color: #C7CDD1;
}

.btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {
    background-color: inherit;
}

.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open > .dropdown-toggle.btn-primary.focus, .open > .dropdown-toggle.btn-primary:focus, .open > .dropdown-toggle.btn-primary:hover {
    background: #f5f5f5;
    color: #329cc4;
    border: 1px solid;
    border-color: #C7CDD1;
}

.btn-primary.disabled, .btn-primary:disabled {
    color: #C7CDD1;
    border-color: #C7CDD1;
}

/* Forms */
label {
    font-weight: bold;
    margin-bottom: 0px;
}

.wicket-modal .form-buttons {
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -20px;
    padding: 20px;
    text-align: right;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #f5f5f5;
    border-top: 1px solid #C7CDD1;
}

.wicket-modal select {
    width: 100%;
}

.instruction {
    color: #707070;
    font-size: 0.875rem;
}

.form-datepart {
    width: auto;
    display: inline;
    margin-left: 10px;
}

.input-group.date {
    padding-top: 5px;
    padding-bottom: 5px;
}

/* jQuery UI */
.form-group .ui-widget input {
    font-family: "LatoWeb", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #555;
}

.form-group .ui-widget .ui-spinner-input {
    margin: 0px;
    font-size: 14px;
    padding: 6px 12px;
}

.form-group .ui-widget.ui-widget-content {
    width: 100%;
}


#infoCertsContainer .popover, .gb-popover-notifications {
    max-width: 450px !important;
}

#infoOverride .popover, .gb-popover-notifications {
    max-width: 100% !important;
}

/* Specific */
h4.totalPoints {
    margin-top: 30px;
    text-align: center;
}

.progress {
    height: 40px;
}

.progress .progress-bar {
    line-height: 40px;
    font-size: 13px;
    font-weight: 600;
    min-width: 15px;
}

.errorsessionbutton {
    margin-left: 40px;
}

.has-error {
    color: red;
    background-color: inherit;
}

.tooltip-info-container {
    font-size: small;
}


div.ui-tooltip {
    z-index: 70003 !important;

}

div.tooltip-student-info-container {
    font-size: small;
    background-color: white;
}

div.tooltip-task-info-container {
    font-size: small;
    background-color: white;
}

div.tooltip-course-info-container {
    font-size: small;
    background-color: white;
}

div.tooltip-title-info-task {
    background-color: #EAEDED;
    font-size: small;
}

div.tooltip-title-info-course {
    background-color: #EAEDED;
    font-size: small;
}

div.tooltip-title-info-student {
    background-color: #EAEDED;
    font-size: small;
}


/* .student_info, .course_info, .task_info{
	font-size: small;
}
 */


.periods-list-container {
    display: block;
}

.periods-list {
    list-style-type: none;
}

/* Panels */
.card {
    width: 100%;
}

.card-header {
    background-color: #80c6df;
}

.card-header h2 {
    color: #ffffff;
    font-size: 18px;
}

.list-group {
    width: 100%;
}

.list-group-item.node-tree-account-courses {
    line-height: 34px;
    padding: .25rem 1.25rem;
}

.list-group-item > .badge {
    float: right;
}

li.list-group-item.node-tree-account-courses span {
    display: inline-block;
}

.text-sis-id {
    font-size: 10px;
}

/* Wicket modal Overrides */
div.wicket-modal div.w_content_3 {
    border: none !important; /** don't want border wrapping content inside the modal **/
    border-top: 1px solid #bbb !important;
}

div.wicket-modal h3.w_captionText {
    padding: 20px;
    font-size: 1.5em !important;
    position: relative !important;
    height: auto !important;
    margin-left: 0px !important;
}

div.wicket-modal div.w_caption {
    min-height: 60px;
    height: auto;
}

div.wicket-mask-dark {
    background-color: #FFF;
    opacity: 0.6;
    filter: alpha(opacity=6);
}

.gb-blur {
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='4');
    filter: url(blur.svg#blur);
    -webkit-filter: blur(4px);
    filter: blur(4px);
}

div.wicket-mask-transparent {
    opacity: 0.5;
    background-color: black;
    filter: alpha(opacity=50);
}

div.wicket-modal h3.w_captionText {
    font-weight: normal !important;
}

/* IE9-11 does not support a blur filter. As such, we fallback to an opaque mask */
/* Note: IE8 and below are not supported as Bootstrap does not support IE8 */
/* IE9 blur fallback */
body:nth-child(n) div.wicket-mask-dark {
    filter: alpha(opacity=\95);
    background-color: #000;
}

/* IE10+ blur fallback */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    div.wicket-mask-dark {
        opacity: 0.95;
        background-color: #000;
    }
}

div.wicket-modal div.w_content_container {
    /* give wicket model content some padding */
    padding: 20px 20px 20px;
}

div.wicket-modal div.w_content_container > div > h2:first-child,
div.wicket-modal div.w_content_container > div > form > h2:first-child {
    /* remove the large morpheus top padding and margin from the first header element */
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid #EEE;
}

div.wicket-modal .w_topLeft,
div.wicket-modal .w_top,
div.wicket-modal .w_topRight,
div.wicket-modal .w_bottomLeft,
div.wicket-modal .w_bottom,
div.wicket-modal .w_bottomRight {
    background-image: none !important;
}

div.wicket-modal div.w_left,
div.wicket-modal div.w_right {
    background-image: none !important;
}

div.wicket-modal a.w_close {
    margin: 6px !important;
}

div.wicket-modal div.w_caption {
    cursor: move;
}

div.wicket-modal div.w_right > div {
    box-shadow: 0 1px 4px 1px rgba(45, 59, 69, 0.95);
}

.wicket-modal .form-buttons {
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -20px;
    padding: 20px;
    text-align: right;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #f5f5f5;
    border-top: 1px solid #C7CDD1;
}

.wicket-modal select {
    width: 100%;
}


/* Feedback panel */
ul.feedbackPanel {
    list-style: none;
    padding: 0px;
}

.tabpanel {
    display: block;
    margin-top: 10px;
}

.account-periods-table {
    padding: 5px;
}

.non-teaching-actions {
    padding: 5px;
}

.non-teaching-actions i {
    padding: 5px;
}

/* Select 2 */

.select2-container {
    z-index: 1040 !important; /* menor o igual al del modal */
}

.select2-container--open {
    z-index: 1051 !important; /* menos que el backdrop (normalmente 1055), pero más que el modal base (1050) */
}

/*
.select2-container {
    z-index: 20002;
}
*/
.select2.select2-container {
    z-index: 20002;
    width: 100% !important;
    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;
}

.select2.select2-container--default .select2-selection--single {
    margin: .375rem .75rem;
    height: auto;
    min-height: 24px;
}

.select2.select2-container--default .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-selection--multiple {
    border: 0px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0px;
}

.select2.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: unset;
    padding-left: 0px;
}

.select2.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #495057 transparent;
}

.select2.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #495057 transparent transparent transparent;
}

.select2.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 5px;
}

.select2.select2-container--default .select2-selection--single .select2-selection__clear {
    line-height: 20px;
}

.tooltip-period-field-label {
    font-weight: bold;
}

.navtab-table tr td {
    padding-top: 5px;
    padding-bottom: 5px;
}


ul.list-periodos-activos, ul.list-asignaturas {
    max-height: 200px;
    overflow-y: auto;
}

.progressBar {
    position: fixed;
    z-index: 70000;
    top: 150px;
    left: 350px;
    width: 50%;
}

.progressTitle {
    position: fixed;
    z-index: 70000;
    top: 115px;
    left: 350px;
    width: 50%;
    color: black;
    font-weight: bold;
    font-size: x-large;
}

.progressMessage {
    position: fixed;
    z-index: 70000;
    top: 185px;
    left: 350px;
    width: 50%;
    color: black;
    font-style: italic;
    font-weight: normal;
}

.progressMessageRight {
    position: fixed;
    z-index: 70000;
    top: 185px;
    left: 350px;
    width: 50%;
    color: black;
    font-style: italic;
    font-weight: normal;
    text-align: right;
}

.progressImg {
    position: fixed;
    z-index: 70000;
    top: 130px;
    left: 270px;
    max-width: 5%;
    height: auto;
}

.progressDiv {
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .8);
    position: fixed;
    z-index: 60000;
    top: 0;
    left: 0;
}

/* Loading spinner */
.modalLoading {
    display: none;
    position: fixed;
    z-index: 70000;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-attachment: fixed;
    background-color: rgba(255, 255, 255, .8);
    background-repeat: no-repeat;
    background-image: url('images/loading.gif');
    background-position: center 30%;
    opacity: 0.80;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    filter: alpha(opacity=80)
}

body.loading .modalLoading {
    overflow: hidden;
}

body.loading .modalLoading {
    display: block;
}

.generate-period label {
    font-weight: bold;
    margin-bottom: 10px;
}

.italic-text {
    font-style: italic;
    font-size: 14px;
    font-weight: normal !important;
}

.action-pointer {
    cursor: pointer;
}

.wicket-modal.custom-1 {
    width: 700px;
}

.spanDbItalic {
    font-style: italic;
    color: darkslategray;
}

.spanDbBold {
    font-weight: bold;
}

/* Dashboard & Historic */

.accent-color {
    color: #0A5CF5;
}

.text-color {
    color: black;
}

.content-margin {
    margin-inline: 50px;
}

.mb-6 {
    margin-bottom: 4rem;
}

.mb-7 {
    margin-bottom: 6rem;
}

.avatar-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    font-weight: bold;
    border-radius: 50%;
    background-color: #329cc4;
    color: #fff;
    margin-right: 0.5rem;
}

.select2.select2-container.select2-container--default.select2-container--disabled {
    background-color: #eeeeee !important;
}

.rotate-up {
    transition: transform 0.2s ease;
    transform: rotate(0deg);
}

.rotate-down {
    transition: transform 0.2s ease;
    transform: rotate(90deg);
}

.item-bg:hover {
    background-color: #f8f8f8;
    border-radius: 5px;
}

/* PAGINATION */

.paging-wrapper {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    padding: 18px 0;
    background-color: white;
    z-index: 1000;
    border-top: 1px solid #ebebeb;
}

.ajax-navigator,
.paging-wrapper > div {
    display: flex;
    gap: 10px; /* espacio entre botones */
    flex-wrap: wrap;
    align-items: center;
}

/* Botones generales */
.paging-wrapper a,
.paging-wrapper span.goto > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    text-decoration: none;
    border: none;
    color: #0A5CF5;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.2s ease-in-out;
}

/* Página actual: detectada por estar en .goto y tener disabled */
.paging-wrapper span.goto > a[disabled] {
    background-color: #e0f2ff;
    color: #0A5CF5;
}

/* Hover en botones interactivos */
.paging-wrapper a:hover:not([disabled]),
.paging-wrapper span.goto > a:hover:not([disabled]),
.paging-wrapper .first:hover:not([disabled]),
.paging-wrapper .prev:hover:not([disabled]),
.paging-wrapper .next:hover:not([disabled]),
.paging-wrapper .last:hover:not([disabled]) {
    background-color: #f3f4f6;
}

/* Deshabilitados generales (no página actual) */
.paging-wrapper a[disabled]:not(span.goto > a[disabled]),
.paging-wrapper .first[disabled],
.paging-wrapper .prev[disabled],
.paging-wrapper .next[disabled],
.paging-wrapper .last[disabled] {
    pointer-events: none;
    color: #bbb;
}

/* Pagination icons */
.paging-wrapper .first::before {
    content: "\f100"; /* fa-angle-double-left */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.paging-wrapper .prev::before {
    content: "\f104"; /* fa-angle-left */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.paging-wrapper .next::before {
    content: "\f105"; /* fa-angle-right */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}
.paging-wrapper .last::before {
    content: "\f101"; /* fa-angle-double-right */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.paging-wrapper .first,
.paging-wrapper .prev,
.paging-wrapper .next,
.paging-wrapper .last {
    color: #3b82f6;
    width: 36px;
    height: 36px;
    text-indent: -9999px;
    overflow: hidden;
    position: relative;
}
.paging-wrapper .first::before,
.paging-wrapper .prev::before,
.paging-wrapper .next::before,
.paging-wrapper .last::before {
    text-indent: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* PAGINATION: END */

/* DASHBOARD */
.confirm-btn {
  display: block;
  width: 100%;
  background-color: #0366fd;
  color: white;
  border: none;
  padding: 0.75rem;
  font-size: 0.95rem;
  font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.confirm-btn:hover {
  background-color: #0356d6;
}
