/* Generated by tools/css_bundle.php from aulacore-public-base.src.css. Edit the sources and run the tool. */
/*
 * AulaCore public website base: the structural classes (grid, utilities, navbar, forms, buttons, alerts, tables,
 * modal, carousel) that the theme views and FrontCms content use, in place of Bootstrap 3. Loaded before the theme
 * stylesheet, where Bootstrap used to be.
 */

/* aulacore-public/structure.css */
/*
 * Structural classes of the public website only (aulacore-public-base.src.css; the admin never loads this sheet): the
 * grid, fields, navigation, dropdown, modal frame and collapse under the class names the public theme views and the
 * FrontCms pages stored in each school's database are written with. Stored page content cannot be migrated by the view
 * codemods, so the public bundle keeps these names (css_bundle.php adds their AulaCore twins).
 */

@media screen {
    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    .ac-clearfix::before,
    .ac-clearfix::after,
    .container::before,
    .container::after,
    .container-fluid::before,
    .container-fluid::after,
    .row::before,
    .row::after,
    .ac-form--horizontal .form-group::before,
    .ac-form--horizontal .form-group::after,
    .nav::before,
    .nav::after,
    .ac-modal__header::before,
    .ac-modal__header::after,
    .modal-footer::before,
    .modal-footer::after,
.ac-container-fluid::before,
.ac-container-fluid::after,
.ac-row::before,
.ac-row::after,
.ac-form--horizontal .ac-field::before,
.ac-form--horizontal .ac-field::after,
.ac-nav::before,
.ac-nav::after,
.ac-modal__footer::before,
.ac-modal__footer::after {
        content: " ";
        display: table;
    }

    .ac-clearfix::after,
    .container::after,
    .container-fluid::after,
    .row::after,
    .ac-form--horizontal .form-group::after,
    .nav::after,
    .ac-modal__header::after,
    .modal-footer::after,
.ac-container-fluid::after,
.ac-row::after,
.ac-form--horizontal .ac-field::after,
.ac-nav::after,
.ac-modal__footer::after {
        clear: both;
    }

    .container,
    .container-fluid,
.ac-container-fluid {
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px;
        width: 100%;
    }

    .row,
.ac-row {
        margin-left: -15px;
        margin-right: -15px;
    }

    :is([class^="col-xs-"], [class*="ac-col-xs-"]), :is([class*=" col-xs-"], [class*="ac-col-xs-"]), :is([class^="col-sm-"], [class*="ac-col-sm-"]), :is([class*=" col-sm-"], [class*="ac-col-sm-"]), :is([class^="col-md-"], [class*="ac-col-md-"]), :is([class*=" col-md-"], [class*="ac-col-md-"]), :is([class^="col-lg-"], [class*="ac-col-lg-"]), :is([class*=" col-lg-"], [class*="ac-col-lg-"]) {
        min-height: 1px;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
    }

    @media (min-width: 768px) {
        .container { max-width: 750px; }/* Half, third and quarter columns from 768 px. */

        .ac-col-sm-6 { float: left; width: 50%; }
        .col-sm-4,
.ac-col-sm-4 { float: left; width: 33.33333333%; }
        .ac-col-sm-3 { float: left; width: 25%; }
    }

    @media (min-width: 992px) {
        .container { max-width: 970px; }/* Twelfths used by the public views from 992 px: 12, 7, 6 and 5. */

        .ac-col-md-12 { float: left; width: 100%; }
        .col-md-7,
.ac-col-md-7 { float: left; width: 58.33333333%; }
        .col-md-6,
.ac-col-md-6 { float: left; width: 50%; }
        .col-md-5,
.ac-col-md-5 { float: left; width: 41.66666667%; }
    }

    @media (min-width: 1200px) {
        .container { max-width: 1170px; }
    }/* Alignment helpers, the field group and the input group (the !important helpers live in utilities.css). */


    .ac-text-left { text-align: left; }
    .form-group,
.ac-field { margin-bottom: 15px; }
    .ac-text-right { text-align: right; }
    .ac-input-group {
        width: 100%;
        position: relative;
        display: table;
        border-collapse: separate;
    }
    .ac-text-center { text-align: center; }
    .ac-input-group .form-control,
.ac-input-group .ac-input {
        display: table-cell;
        float: left;
        position: relative;
        width: 100%;
        z-index: 2;
    }
    .ac-input-group__addon,
    .ac-input-group__btn {
        display: table-cell;
        vertical-align: middle;
        white-space: nowrap;
        width: 1%;
    }
    .ac-input-group__btn {
        position: relative;
    }
    .ac-input-group__btn > .btn,
.ac-input-group__btn > .ac-btn {
        position: relative;
    }

    .nav,
.ac-nav {
        list-style: none;
        margin-bottom: 0;
        padding-left: 0;
    }
    .nav > li,
.ac-nav > li {
        display: block;
        position: relative;
    }
    .nav > li > a,
.ac-nav > li > a {
        display: block;
        position: relative;
    }
    .ac-tabs {
        border-bottom: 1px solid var(--ac-ds-surface-border);
    }
    .ac-tab-panels > .tab-pane,
.ac-tab-panels > .ac-tab-panel { display: none; }
    .ac-tabs > li {
        margin-bottom: -1px;
        float: left;
    }
    .ac-tab-panels > .active { display: block; }

    .dropdown-menu,
.ac-dropdown__menu {
        background: var(--ac-ds-surface);
        border: 1px solid var(--ac-ds-surface-border);
        border-radius: var(--ac-ds-radius-md, 8px);
        box-shadow: var(--ac-ds-overlay-shadow, 0 16px 36px rgba(var(--ac-shadow-color-rgb), .14));
        display: none;
        float: left;
        left: 0;
        list-style: none;
        margin: 2px 0 0;
        min-width: 160px;
        padding: 5px 0;
        position: absolute;
        text-align: left;
        top: 100%;
        z-index: 1000;
    }
    .open > .dropdown-menu,
.open > .ac-dropdown__menu { display: block; }
    .dropdown-menu > li > a,
.ac-dropdown__menu > li > a {
        clear: both;
        color: var(--ac-ds-text);
        display: block;
        line-height: 1.42857143;
        padding: 6px 14px;
        white-space: nowrap;
    }

    .modal,
.ac-modal {
        bottom: 0;
        display: none;
        left: 0;
        outline: 0;
        overflow: hidden;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 1050;
    }
    .modal.fade .modal-dialog,
.ac-modal.fade .modal-dialog,
.modal.fade .ac-modal__dialog,
.ac-modal.fade .ac-modal__dialog {
        transform: translate(0, -25%);
        transition: transform .3s ease-out;
    }
    .modal.in .modal-dialog,
.ac-modal.in .modal-dialog,
.modal.in .ac-modal__dialog,
.ac-modal.in .ac-modal__dialog { transform: translate(0, 0); }
    .ac-modal-open .modal,
.ac-modal-open .ac-modal {
        overflow-x: hidden;
        overflow-y: auto;
    }
    .ac-modal-backdrop {
        background: var(--color-black);
        bottom: 0;
        left: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 1040;
    }
    .ac-modal-backdrop.fade { opacity: 0; }
    .ac-modal-backdrop.in { opacity: 0.5; }/* Collapsible blocks: hidden until "in"; while the height animates they carry "collapsing" instead. */


    .collapsing {
        transition: height 350ms ease;
        position: relative;
        overflow: hidden;
        height: 0;
    }
    .collapse { display: none; }
    .collapse.in { display: block; }
    tbody.collapse.in { display: table-row-group; }
    tr.collapse.in { display: table-row; }
}/* Screen-reader-only text: hidden visually, read by assistive technology.
   Rules that show a label on purpose (save buttons) are more specific and keep winning. */


.sr-only,
.ac-sr-only {
    border: 0;
    white-space: nowrap;
    overflow: hidden;
    clip: rect(0px, 0px, 0px, 0px);
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    position: absolute;
}

/* On a phone an open navbar dropdown flows in the menu: no float, frame or shadow. */
@media (max-width: 991px) {
  .ac-navbar__menu .open .dropdown-menu,
.ac-navbar__menu .open .ac-dropdown__menu { box-shadow: none; border: 0; margin-top: 0; width: auto; float: none; position: static; }
}/* Dropdown of the AulaCore public header: a rounded panel (moved from aulacore-public-shell). */


.ac-public-header .ac-navbar__menu .dropdown-menu,
.ac-public-header .ac-navbar__menu .ac-dropdown__menu {
  margin-top: 10px;
  border: 1px solid var(--ac-ds-surface-border-soft);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(var(--ac-shadow-navy-rgb),.17);
}
/* Dropdown of a right-aligned navbar item in the CMS content (moved from themes/default and its RTL copy, which had the
   same frame; the theme keeps only the side it opens to). */


/* aulacore-public/utilities.css */
/*
 * Sitio publico: ayudas de flotado y de visibilidad que los scripts del sitio (toggleClass('hide')) y el contenido
 * guardado del editor de paginas aun ponen. Fuertes a proposito: deben ganar a la regla del componente. Solo en pantalla.
 */
@media screen {
    .ac-float-left { float: left !important; }
    .ac-float-right { float: right !important; }
    .hide, .hidden { display: none !important; }
    .show { display: block !important; }
}/* aulacore-public/base.css *//*
 * AulaCore public website base layer, measured from the theme views (themes/views/themes/*) and the FrontCms content
 * (database/modules/011_frontcms): document defaults, forms, buttons, alerts, labels, tables, modal content, navbar
 * and carousel. The grid, floats, visibility helpers, dropdown, modal frame and collapse come from
 * aulacore-public/structure.css. Colours, radii and type come from the AulaCore Claro tokens (tokens.css + theme.css).
 *//* Document defaults */





html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  color: var(--ac-ds-text);
  background: var(--ac-ds-surface);
  font-family: var(--font-default, "Roboto"), "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
}
article, aside, figure, footer, header, main, nav, section { display: block; }
a { color: var(--ac-ds-primary); background-color: transparent; text-decoration: none; }
a:hover, a:focus { color: var(--ac-ds-primary-hover); }
img { border: 0; vertical-align: middle; }/* The staff ID card preview (print/staff-idcard.css, in print_common) keeps its header logo on top. */

.ac-staff-idcard--preview .ac-studenttop img { vertical-align: top; }
iframe { border: 0; }
.ac-img-fluid { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin-top: 20px; margin-bottom: 10px; color: inherit; font-family: inherit; font-weight: 500; line-height: 1.1; }
h4, h5, h6 { margin-top: 10px; }
h1 { font-size: 36px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }
p { margin: 0 0 10px; }
ul, ol { margin-top: 0; margin-bottom: 10px; }
ul ul, ol ol, ul ol, ol ul { margin-bottom: 0; }
hr { height: 0; margin: 20px 0; border: 0; border-top: 1px solid var(--ac-ds-surface-border); }
small { font-size: 85%; }
b, strong { font-weight: 700; }
label { display: inline-block; max-width: 100%; margin-bottom: 6px; font-weight: 700; }
.form-group label, .ac-field__label, .ac-site-form__field label,
.ac-field label { color: var(--ac-glass-ink, var(--ac-ds-text)); font-size: 14px; font-weight: 600; line-height: 1.35; }
button, input, select, textarea { margin: 0; color: inherit; font: inherit; }
textarea { padding: 10px; border-radius: 0; resize: none; }
select, button { text-transform: none; }
input[type="submit"], input[type="reset"], html input[type="button"], button { -webkit-appearance: button; appearance: button; cursor: pointer; }
input[type="checkbox"], input[type="radio"] { margin: 4px 0 0; padding: 0; line-height: normal; }
input[type="file"] { display: block; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
legend { display: block; width: 100%; margin-bottom: 20px; padding: 0; border: 0; border-bottom: 1px solid var(--ac-ds-surface-border); font-size: 21px; line-height: inherit; }
table { border-collapse: collapse; border-spacing: 0; background-color: transparent; }
td, th { padding: 0; }
th { text-align: left; }/* Text helpers */


.text-muted,
.ac-text-muted { color: var(--ac-ds-text-muted); }
.text-danger { color: var(--ac-ds-danger); }
.text-success { color: var(--ac-ds-success); }
.text-primary { color: var(--ac-ds-primary); }
.fade { transition: opacity .15s linear; opacity: 0; }
.fade.in { opacity: 1; }/* Dropdown arrow: a 4 px downward triangle drawn with borders, 2 px after the text. */

.ac-caret {
  vertical-align: middle;
  display: inline-block;
  height: 0;
  width: 0;
  border-inline: 4px solid transparent;
  border-top: 4px dashed;
  margin-left: 2px;
}/* Form fields of the public site. Each one fills its column, stands 48 px tall with 16 px text (phones do not zoom
   into it), keeps the 10 px radius of the contract and draws its edge with --pub-control-line (site-base.css), at
   3:1 or more against white. */


.form-control,
.ac-input {
  width: 100%;
  height: 48px;
  display: block;
  padding: 10px 14px;
  border: 1px solid var(--pub-control-line, var(--ac-ds-input-border));
  border-radius: 10px;
  color: var(--ac-ds-text);
  background: var(--ac-ds-field-bg);
  box-shadow: none;
  font-size: 16px;
  line-height: 1.4;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-control:focus,
.ac-input:focus { border-color: var(--ac-ds-primary); outline: 0; box-shadow: var(--ac-ds-focus-ring); }
.form-control::placeholder,
.ac-input::placeholder { opacity: 1; color: var(--ac-ds-field-placeholder); }
fieldset[disabled] .form-control, .form-control[readonly], .form-control[disabled],
fieldset[disabled] .ac-input,
.ac-input[readonly],
.ac-input[disabled] { opacity: 1; background: var(--ac-ds-surface-muted); }
.form-control[disabled],
.ac-input[disabled] { cursor: not-allowed; }
textarea.form-control, select[multiple].form-control, select[size].form-control,
textarea.ac-input,
select[multiple].ac-input,
select[size].ac-input { height: auto; }
.help-block,
.ac-field__help { display: block; margin-top: 5px; margin-bottom: 10px; color: var(--ac-ds-text-muted); }
.has-error .help-block, .has-error .ac-field__label,
.has-error .ac-field__help { color: var(--ac-ds-danger); }
.has-error .form-control,
.has-error .ac-input { border-color: var(--ac-ds-danger); }

.checkbox, .radio { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; }
.checkbox label, .radio label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: 400; cursor: pointer; }
:is(.checkbox, .checkbox-inline) input[type=checkbox],
:is(.radio, .radio-inline) input[type=radio] { position: absolute; margin-left: -20px; }
.radio + .radio, .checkbox + .checkbox { margin-top: -5px; }
.checkbox-inline, .radio-inline { display: inline-block; position: relative; vertical-align: middle; margin-bottom: 0; padding-left: 20px; font-weight: normal; cursor: pointer; }
.checkbox-inline + .checkbox-inline, .radio-inline + .radio-inline { margin-left: 10px; margin-top: 0; }
@media (min-width: 768px) {
  .ac-form--inline .form-group,
.ac-form--inline .ac-field { vertical-align: middle; margin-bottom: 0; display: inline-block; }
  .ac-form--inline .form-control,
.ac-form--inline .ac-input { vertical-align: middle; width: auto; display: inline-block; }
}/* Buttons */


.btn,
.ac-btn {
  display: inline-block;
  margin-bottom: 0;
  padding: 6px 14px;
  border: 1px solid transparent;
  border-radius: var(--ac-ds-radius-md);
  background-image: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
}
.btn:hover, .btn:focus,
.ac-btn:hover,
.ac-btn:focus { text-decoration: none; }
.btn:focus-visible,
.ac-btn:focus-visible { outline: 0; box-shadow: var(--ac-ds-focus-ring); }
.btn.disabled, .btn[disabled],
.ac-btn.disabled,
.ac-btn[disabled] { opacity: .65; box-shadow: none; cursor: not-allowed; }
.btn-default,
.ac-btn--default { border-color: var(--ac-ds-surface-border); color: var(--ac-ds-text); background: var(--ac-ds-surface); }
.btn-default:hover, .btn-default:focus,
.ac-btn--default:hover,
.ac-btn--default:focus { border-color: var(--ac-ds-surface-border-strong); color: var(--ac-ds-text); background: var(--ac-ds-surface-hover); }
.btn-primary,
.ac-btn--primary { border-color: var(--ac-ds-primary); color: var(--ac-ds-primary-contrast); background: var(--ac-ds-primary); }
.btn-primary:hover, .btn-primary:focus,
.ac-btn--primary:hover,
.ac-btn--primary:focus { border-color: var(--ac-ds-primary-hover); color: var(--ac-ds-primary-contrast); background: var(--ac-ds-primary-hover); }
.ac-btn--success { border-color: var(--ac-ds-success); color: var(--ac-ds-primary-contrast); background: var(--ac-ds-success); }
.ac-btn--success:hover, .ac-btn--success:focus { border-color: var(--ac-ds-success-hover); color: var(--ac-ds-primary-contrast); background: var(--ac-ds-success-hover); }
.ac-btn--danger { border-color: var(--ac-ds-danger); color: var(--ac-ds-primary-contrast); background: var(--ac-ds-danger); }
.ac-btn--danger:hover, .ac-btn--danger:focus { border-color: var(--ac-ds-danger-hover); color: var(--ac-ds-primary-contrast); background: var(--ac-ds-danger-hover); }
/* Printed, the buttons keep the print sheet's metrics and danger colour (dist/css/print_common.src.css). */
@media print {
  .btn,
.ac-btn { padding: 6px 12px; border-radius: 4px; font-weight: 400; }
  .ac-btn--danger { border-color: var(--ac-print-danger-border); color: var(--color-white); background-color: var(--ac-print-danger); }
}
.ac-btn--info { border-color: var(--ac-ds-info); color: var(--ac-ds-primary-contrast); background: var(--ac-ds-info); }
.ac-btn--warning { border-color: var(--ac-ds-warning); color: var(--ac-ds-text); background: var(--ac-ds-warning); }
.ac-btn--sm { padding: 5px 10px; border-radius: var(--ac-ds-radius-sm); font-size: 12px; line-height: 1.5; }
.ac-btn--lg { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; }
.ac-btn--block { display: block; width: 100%; }/* Contexts: the actions of the public exam result (navy, as the rest of that page). */

.ac-public-exam-result__actions .btn,
.ac-public-exam-result__actions .ac-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 14px; border: 0; border-radius: 11px; background: var(--ac-navy); color: var(--ac-ds-field-bg); font-weight: 850; }
.close {
  float: right;
  padding: 0;
  border: 0;
  color: var(--ac-ds-text);
  background: transparent;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  opacity: .4;
  cursor: pointer;
}
.close:hover, .close:focus { color: var(--ac-ds-text); text-decoration: none; opacity: .7; }/* Alerts and labels */


.alert,
.ac-alert { margin-bottom: 20px; padding: 12px 15px; border: 1px solid transparent; border-radius: var(--ac-ds-radius-md); }
.alert > p, .alert > ul,
.ac-alert > p,
.ac-alert > ul { margin-bottom: 0; }
.alert-success,
.ac-alert--success { border-color: var(--ac-status-success-border); color: var(--ac-status-success-text); background: var(--ac-status-success-bg); }
.ac-alert--info { border-color: var(--ac-status-info-border); color: var(--ac-status-info-text); background: var(--ac-status-info-bg); }
.ac-alert--warning { border-color: var(--ac-status-warning-border); color: var(--ac-status-warning-text); background: var(--ac-status-warning-bg); }
.alert-danger,
.ac-alert--danger { border-color: var(--ac-status-danger-border); color: var(--ac-status-danger-text); background: var(--ac-status-danger-bg); }
.label,
.ac-badge {
  display: inline;
  padding: .2em .6em .3em;
  border-radius: .35em;
  color: var(--ac-ds-primary-contrast);
  background: var(--ac-ds-text-muted);
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
}
.label:empty,
.ac-badge:empty { display: none; }
.label-default,
.ac-badge--default { background: var(--ac-ds-text-muted); }
.label-success,
.ac-badge--success { background: var(--ac-ds-success); }
.label-warning,
.ac-badge--warning { color: var(--ac-ds-text); background: var(--ac-ds-warning); }
.label-danger,
.ac-badge--danger { background: var(--ac-ds-danger); }/* Tables: every cell of the head, body and foot rows gets 8 px of padding and a top rule. */


.table,
.ac-table { margin-bottom: 20px; max-width: 100%; width: 100%; }
.table > :is(thead, tbody, tfoot) > tr > :is(th, td),
.ac-table > :is(thead, tbody, tfoot) > tr > :is(th, td) {
  vertical-align: top;
  line-height: 1.42857143;
  border-top: 1px solid var(--ac-ds-surface-border);
  padding: 8px;
}
.table > thead > tr > th,
.ac-table > thead > tr > th { border-bottom: 2px solid var(--ac-ds-surface-border); vertical-align: bottom; }
.table > thead:first-child > tr:first-child > th, .table > thead:first-child > tr:first-child > td,
.ac-table > thead:first-child > tr:first-child > th,
.ac-table > thead:first-child > tr:first-child > td { border-top: 0; }
.ac-table--bordered > :is(thead, tbody, tfoot) > tr > :is(th, td) { border: 1px solid var(--ac-ds-surface-border); }
.ac-table--bordered { border: 1px solid var(--ac-ds-surface-border); }
.ac-table--striped > tbody > tr:nth-of-type(odd) { background: var(--ac-ds-table-row-alt); }
.ac-table--hover > tbody > tr:hover { background: var(--ac-ds-surface-hover); }
.table-responsive,
.ac-table-wrap { min-height: .01%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 767px) {
  .table-responsive,
.ac-table-wrap { overflow-y: hidden; margin-bottom: 15px; width: 100%; }
  .table-responsive > .table,
.ac-table-wrap > .table,
.table-responsive > .ac-table,
.ac-table-wrap > .ac-table { margin-bottom: 0; }
}/* Modal content (frame and backdrop: structure.css; behaviour: aulacore-components.js) */


.ac-modal-open { overflow: hidden; }
@media screen {
  .modal-dialog,
.ac-modal__dialog { margin: 30px auto; position: relative; width: auto; }
}
@media screen and (min-width: 768px) {
  .modal-dialog,
.ac-modal__dialog { width: 600px; }
  .ac-modal--sm { width: 300px; }
}
@media screen and (min-width: 992px) {
  .ac-modal--lg { width: 900px; }
}
.modal,
.ac-modal { font-size: var(--ac-ds-body-size); }
.modal-content,
.ac-modal__content {
  position: relative;
  border: 1px solid var(--ac-ds-surface-border);
  border-radius: var(--ac-ds-radius-lg);
  background: var(--ac-ds-surface);
  background-clip: padding-box;
  box-shadow: var(--ac-shadow-modal, var(--ac-ds-overlay-shadow));
  outline: 0;
}
.ac-modal__header { border-bottom: 1px solid var(--ac-ds-surface-border); padding: 15px; }
.ac-modal__header .close { margin-top: -2px; }
.modal-title,
.ac-modal__title { line-height: 1.42857143; margin: 0; }
.modal-body,
.ac-modal__body { padding: 15px; position: relative; }
.modal-footer,
.ac-modal__footer { padding: 15px; border-top: 1px solid var(--ac-ds-surface-border); text-align: right; }
.modal-footer .btn + .btn,
.ac-modal__footer .btn + .btn,
.modal-footer .ac-btn + .btn,
.ac-modal__footer .ac-btn + .btn,
.modal-footer .btn + .ac-btn,
.ac-modal__footer .btn + .ac-btn,
.modal-footer .ac-btn + .ac-btn,
.ac-modal__footer .ac-btn + .ac-btn { margin-bottom: 0; margin-left: 5px; }
@media (max-width: 767px) {
  .modal-dialog,
.ac-modal__dialog { margin: 10px; }
}/* Navbar: the public header styles it (aulacore-public-shell.css); this is the collapse behaviour below 992px. */


.ac-navbar { position: relative; }

.ac-navbar__menu { margin: 0; padding-left: 0; list-style: none; }/* Carousel of the home banner (aulacore-components.js moves the slides): only the shown slide and the one
   sliding in are displayed; the incoming slide waits off to one side and both travel on "left". */


.carousel, .carousel-inner { position: relative; }
.carousel-inner { overflow: hidden; width: 100%; }
.carousel-inner > .item { display: none; position: relative; transition: left .6s ease-in-out; }
.carousel-inner > .item > img { height: auto; max-width: 100%; width: 100%; display: block; }
.carousel-inner > :is(.active, .next, .prev) { display: block; }/* Slides entering from either side sit on top of the current one; each side starts off-canvas and ends at 0. */

.carousel-inner > :is(.prev, .next) { position: absolute; top: 0; width: 100%; }
.carousel-inner > .next,
.carousel-inner > .right.active { left: 100%; }
.carousel-inner > .active,
.carousel-inner > :is(.right.prev, .left.next) { left: 0; }
.carousel-inner > .prev,
.carousel-inner > .left.active { left: -100%; }/* Gallery lightbox (aulacore-public-site.js) */


.ac-public-lightbox {
  position: fixed;
  z-index: 1060;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 56px 16px;
  background: rgba(var(--ac-black-rgb), .86);
}
.ac-public-lightbox[hidden] { display: none; }
.ac-public-lightbox-open { overflow: hidden; }
.ac-public-lightbox__stage { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 1100px; height: 100%; margin: 0; }
.ac-public-lightbox__stage img { max-width: 100%; max-height: 100%; border-radius: var(--ac-ds-radius-md); object-fit: contain; }
.ac-public-lightbox__stage iframe { width: 100%; max-height: 100%; aspect-ratio: 16 / 9; border-radius: var(--ac-ds-radius-md); }
.ac-public-lightbox__close, .ac-public-lightbox__nav {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  color: var(--ac-ds-primary-contrast);
  background: rgba(var(--ac-white-rgb), .14);
  font-size: 22px;
  cursor: pointer;
}
.ac-public-lightbox__close:hover, .ac-public-lightbox__nav:hover { background: rgba(var(--ac-white-rgb), .26); }
.ac-public-lightbox__close { top: 8px; right: 8px; }
.ac-public-lightbox__nav { top: 50%; transform: translateY(-50%); }
.ac-public-lightbox__nav--prev { left: 8px; }
.ac-public-lightbox__nav--next { right: 8px; }
.ac-public-lightbox__nav[hidden] { display: none; }/* Right-to-left sites (frontcms_settings.site_right_to_left) */

[dir="rtl"] :is([class*="col-xs-"], [class*="ac-col-xs-"]) { float: right; }
@media (min-width: 768px) { [dir="rtl"] :is([class*="col-sm-"], [class*="ac-col-sm-"]) { float: right; } }
@media (min-width: 992px) { [dir="rtl"] :is([class*="col-md-"], [class*="ac-col-md-"]) { float: right; } }
@media (min-width: 1200px) { [dir="rtl"] :is([class*="col-lg-"], [class*="ac-col-lg-"]) { float: right; } }
[dir="rtl"] .ac-float-right,
[dir="rtl"] .close { float: left !important; }
[dir="rtl"] .ac-float-left { float: right !important; }
[dir="rtl"] th { text-align: right; }
[dir="rtl"] .dropdown-menu,
[dir="rtl"] .ac-dropdown__menu { right: 0; left: auto; text-align: right; }
[dir="rtl"] .modal-footer,
[dir="rtl"] .ac-modal__footer { text-align: left; }
[dir="rtl"] .checkbox label, [dir="rtl"] .radio label, [dir="rtl"] .radio-inline, [dir="rtl"] .checkbox-inline { padding-right: 20px; padding-left: 0; }
[dir="rtl"] .checkbox input[type="checkbox"], [dir="rtl"] .radio input[type="radio"], [dir="rtl"] .radio-inline input[type="radio"], [dir="rtl"] .checkbox-inline input[type="checkbox"] { margin-right: -20px; margin-left: 0; }/* Fields: the structural parts of an input group and of a horizontal form; a textarea of the public theme is 120 px. */


.ac-form--horizontal .ac-field__label { padding-top: 7px; }
.ac-input-group .form-control,
.ac-input-group .ac-input { margin-bottom: 0; }
.ac-input-group__btn { font-size: 0; }
textarea.form-control,
textarea.ac-input { height: 120px !important; }/* Contexts of the field on the public site (its own tones and radii): CMS forms, the exam result and transfer searches,
   the course site (glass), the site contact forms and the online admission form. */

.ac-cms-form .ac-field__label { display: block; width: auto; margin: 0 0 7px; padding: 0; text-align: left; }
.ac-cms-form .form-control,
.ac-cms-form .ac-input { min-height: 48px; box-shadow: none; color: var(--ac-ink); }
.ac-cms-form textarea.form-control,
.ac-cms-form textarea.ac-input { min-height: 132px; resize: vertical; }
.ac-cms-form .help-block,
.ac-cms-form .ac-field__help { margin: 6px 0 0; color: var(--ac-muted); font-size: 12px; }
.ac-public-exam-result__search .form-control,
.ac-public-exam-result__search .ac-input { min-height: 48px; box-shadow: none; color: var(--ac-ink); }
.ac-co-filters input, .ac-co-filters select { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid rgba(var(--ac-white-rgb), .6); border-radius: 12px;
  background: var(--gl-white-88); color: var(--ac-glass-ink); font: inherit; }
.ac-co-form input, .ac-co-form select, .ac-co-form textarea { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid rgba(var(--ac-glass-ink-rgb), .22); border-radius: 12px;
  background: var(--ac-ds-field-bg); color: var(--ac-glass-ink); font: inherit; font-weight: 400; }
.ac-site-form__field input,
.ac-site-form__field textarea {
  background: var(--ac-ds-field-bg);
  border: 1px solid var(--pub-control-line, var(--ac-border));
  border-radius: 10px;
  color: var(--ac-ink);
  font: inherit;
  font-size: 16px;
  min-height: 48px;
  padding: 10px 14px;
  width: 100%;
}

.ac-site-form__field textarea {
  min-height: 140px;
  resize: vertical;
}

.ac-site-form__field input:focus,
.ac-site-form__field textarea:focus {
  border-color: var(--ac-blue);
  box-shadow: 0 0 0 3px var(--ac-primary-soft);
  outline: none;
}

.ac-site-form__field.is-invalid input,
.ac-site-form__field.is-invalid textarea {
  border-color: var(--ac-red);
}
.admission-section .form-control,
.admission-section .ac-input { box-shadow: none; }
.admission-section textarea.form-control,
.admission-section textarea.ac-input { min-height: 96px; }/* The borderless header of the gallery lightbox of the CMS pages (moved from themes/default). *//* Table contexts of the public pages (moved from aulacore-public-shell, site-blocks and site-courses): the exam result
   card, the transfer request (traslado) summary and printed sheet, and the rich text of site blocks and course lessons. */



.ac-public-exam-result__exam-card .table-responsive,
.ac-public-exam-result__exam-card .ac-table-wrap { margin: 0; border: 0; }
.ac-public-exam-result__exam-card table > thead > tr > th,
.ac-public-exam-result__exam-card table > thead > th { border-bottom: 1px solid var(--ac-border); background: var(--ac-ds-surface-muted); color: var(--ac-muted); font-size: 12px; font-weight: 850; letter-spacing: 0; text-transform: uppercase; }
.ac-public-exam-result__exam-card table > tbody > tr > td { vertical-align: middle; color: var(--ac-ink); }
.ac-public-exam-result__row--failed > td { background: var(--ac-danger-soft) !important; color: var(--ac-danger) !important; }
.ac-transfer-summary__table th { width: 22%; color: var(--ac-muted); font-size: 12px; text-transform: uppercase; }
.ac-transfer-summary__table td { width: 28%; color: var(--ac-ink); font-weight: 750; }
.ac-transfer-table th, .ac-transfer-table td { height: 24px; border: 1px solid var(--color-black); padding: 3px 5px; vertical-align: middle; }
.ac-transfer-table th { background: var(--ac-ds-surface-muted); color: var(--color-black); font-weight: 700; text-align: left; }
.ac-transfer-table td { background: var(--ac-ds-field-bg); color: var(--color-black); }
.ac-transfer-table--destination th, .ac-transfer-table--destination td { height: 27px; }
.ac-transfer-turn-row td { white-space: nowrap; }
@media (max-width: 767px) {
  .ac-transfer-summary__table th, .ac-transfer-summary__table td { display: block; width: 100%; }
  .ac-transfer-summary__table th { padding-bottom: 2px; }
  .ac-transfer-summary__table td { padding-top: 0; }
}
@media print {
  .ac-transfer-table th, .ac-transfer-table td { height: 20px; padding: 2px 5px; }
  .ac-transfer-table--destination th, .ac-transfer-table--destination td { height: 21px; }
  .ac-transfer-turn-row td { font-size: 8px; padding-left: 3px; padding-right: 3px; }
}
.ac-blk-prose :is(td, th) { padding: 8px 12px; border: 1px solid var(--ac-site-hairline); }
.ac-co-rich td, .ac-co-rich th { padding: 6px 8px; border: 1px solid rgba(var(--ac-glass-ink-rgb), .15); }/* Accordion of the CMS pages (.ac-accrodion2, moved from themes/default): heading and title of each panel. */


.ac-accrodion2 .panel-default > .ac-panel__header,
.ac-accrodion2 .ac-panel--default > .ac-panel__header { padding: 15px; transition: all .3s ease; color: rgb(var(--ac-white-rgb)); background-color: var(--ac-public-accordion-bg); }
.ac-accrodion2 .panel-default > .ac-panel__header:hover,
.ac-accrodion2 .ac-panel--default > .ac-panel__header:hover { background: var(--ac-public-accordion-hover); color: rgb(var(--ac-white-rgb)); }
.ac-accrodion2 .panel-title,
.ac-accrodion2 .ac-panel__title { color: rgb(var(--ac-white-rgb)); font-size: 16px; margin-bottom: 0; margin-top: 0; }/* aulacore-components/grid.css *//*
 * ui/grid and ui/grid-cell: equal columns that collapse on narrow screens. Kept apart from structure.css so the
 * public website base (aulacore-public-base.src.css) can take the grid without the admin page structure.
 *//* Columns (ui/grid, ui/grid-cell): one column on phones, two from 600 px, the full count from 992 px (6: 1200 px).
   Each direct child is a cell; the margins of the old form groups give way to the gap. */




.ac-grid {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}

.ac-grid[hidden] {
    display: none;
}

.ac-grid--gap-sm {
    gap: 10px 12px;
}

.ac-grid--stretch {
    align-items: stretch;
}

.content-wrapper .ac-grid > *,
.ac-grid > *,
.ac-content .ac-grid > * {
    margin-bottom: 0;
    margin-top: 0;
    min-width: 0;
}

.ac-grid > input[type="hidden"],
.ac-grid > script,
.ac-grid > template {
    display: none;
}

.ac-grid__cell--wide {
    grid-column: 1 / -1;
}

@media (min-width: 600px) {
    .ac-grid--2,
    .ac-grid--3,
    .ac-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ac-grid--6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ac-grid > [class*="ac-grid__cell--span-"] {
        grid-column: 1 / -1;
    }
}

@media (min-width: 992px) {
    .ac-grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ac-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .ac-grid--3 > .ac-grid__cell--span-2,
    .ac-grid--4 > .ac-grid__cell--span-2 {
        grid-column: span 2;
    }

    .ac-grid--4 > .ac-grid__cell--span-3 {
        grid-column: span 3;
    }
}

@media (min-width: 1200px) {
    .ac-grid--6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .ac-grid--6 > .ac-grid__cell--span-2 {
        grid-column: span 2;
    }
}/* aulacore-components/student-record.css */



.ac-student-record .ac-choice input { margin: 0; }
.ac-student-record.ac-grid > * { min-width: 0; margin-top: 0; margin-bottom: 0; }
@media (min-width: 600px) {
    .ac-student-record.ac-grid > [class*="ac-grid__cell--span-"] { grid-column: 1 / -1; }

}/* aulacore-components/file-input.css *//* ui/file-picker: Spanish file picker (button-like label + chosen names); the native input stays focusable, visually hidden.
   Shared by the admin theme and the public website (online admission). */




.ac-file {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    max-width: 100%;
    min-height: var(--ac-control-height-md);
    min-width: 0;
    position: relative;
}

.ac-file .ac-file__input {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.ac-file.ac-ui > .ac-file__button,
.content-wrapper .ac-file.ac-ui > label.ac-file__button,
.ac-content .ac-file.ac-ui > label.ac-file__button {
    align-items: center;
    background: var(--ac-ds-surface);
    border: 1px solid var(--ac-ds-surface-border);
    border-radius: var(--ac-control-radius, 8px);
    color: var(--ac-ds-heading-color);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--ac-font-size-md);
    font-weight: 500;
    gap: 6px;
    height: var(--ac-control-height-md);
    margin: 0;
    padding: 0 14px;
    white-space: nowrap;
}

.ac-file .ac-file__button:hover { border-color: var(--ac-ds-primary); color: var(--ac-ds-primary); }
.ac-file .ac-file__input:focus-visible + .ac-file__button { outline: 2px solid var(--ac-ds-primary); outline-offset: 2px; }
.ac-file .ac-file__input:disabled + .ac-file__button { cursor: not-allowed; opacity: .6; }

.ac-file .ac-file__name {
    /* In a narrow column the chosen name drops under the button instead of being cut. */
    flex: 1 1 14em;
    color: var(--ac-ds-muted-text);
    font-size: var(--ac-font-size-sm);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}/* aulacore-components/pickers.css *//* aulacore-pickers.js: the hidden native control laid over a date, time or colour field. It only anchors the browser's
   picker; clicks reach the field under it. */



.ac-picker-native {
    border: 0;
    height: 1px;
    margin: 0;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

