/* Loogox campus. Brand reference: loogox.com, September 2026. */
:root {
  --lx-ink: #041427;
  --lx-blue: #176be0;
  --lx-blue-hover: #1056b9;
  --lx-paper: #fafaff;
  --lx-surface: #ffffff;
  --lx-muted: #526170;
  --lx-line: #d6dbe1;
  --lx-soft: #eef3fb;
  --lx-radius: 20px;
  --bs-body-color: #041427;
  --bs-body-bg: #fafaff;
  --bs-border-color: #d6dbe1;
  --bs-link-color: #176be0;
  --bs-link-hover-color: #1056b9;
}
body {
  font-family: 'Poppins', Arial, sans-serif;
  color: var(--lx-ink);
  background: var(--lx-paper);
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: 0;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
  font-family: 'DM Sans', Arial, sans-serif;
  /* Respect authored light text on dark module panels. */
  color: inherit;
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
h1,.h1 { font-size: 34px; }
h2,.h2 { font-size: 27px; }
h3,.h3 { font-size: 23px; }
h4,.h4 { font-size: 20px; }
h5,.h5 { font-size: 18px; }
a { color: var(--lx-blue); text-underline-offset: 3px; }
a:hover { color: var(--lx-blue-hover); }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline: 3px solid var(--lx-blue); outline-offset: 3px;
}
::selection { background: #cfe1fc; color: var(--lx-ink); }
.text-muted { color: var(--lx-muted) !important; }
.btn,input,select,textarea { font-family: inherit; letter-spacing: 0; }
.btn {
  --bs-btn-border-radius: 8px;
  border-radius: 8px;
  font-family: 'DM Sans', Arial, sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.5;
  padding: 10px 18px;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
  white-space: normal;
}
.btn-primary {
  --bs-btn-bg: #176be0; --bs-btn-border-color: #176be0;
  --bs-btn-hover-bg: #1056b9; --bs-btn-hover-border-color: #1056b9;
  --bs-btn-active-bg: #1056b9; --bs-btn-active-border-color: #1056b9;
  background: var(--lx-blue); border-color: var(--lx-blue); color: #fff;
}
.btn-secondary,.btn-outline-secondary {
  background: #fff; color: var(--lx-ink); border: 1px solid #bfc8d2;
}
.btn-secondary:hover,.btn-outline-secondary:hover { background: var(--lx-soft); color: var(--lx-ink); border-color: var(--lx-blue); }
.btn-link { color: var(--lx-blue); }
.btn-sm { padding: 6px 11px; font-size: 13px; }
.btn-icon,.drawer-toggles .btn,.btn-close { flex-shrink: 0; }
.form-control,.form-select,select.custom-select {
  min-height: 44px; border: 1px solid #bdc7d3; border-radius: 8px;
  background-color: #fff; color: var(--lx-ink); font-size: 14px;
}
.form-control:focus,.form-select:focus {
  border-color: var(--lx-blue); box-shadow: 0 0 0 3px rgb(23 107 224 / 13%);
}
.form-check-input:checked { background-color: var(--lx-blue); border-color: var(--lx-blue); }
.form-label,.col-form-label { font-weight: 500; }
.input-group .btn { min-height: 44px; }
.badge { border-radius: 6px; font-weight: 500; line-height: 1.4; }
.progress { height: 8px; background: #e6ecf4; border-radius: 8px; }
.progress-bar { background-color: var(--lx-blue); }
.alert { border-radius: 10px; border-width: 1px; box-shadow: none; }
.alert-info { background: #eef5ff; border-color: #bfd6f6; color: #154575; }
.alert-success { background: #edf8f2; border-color: #b9dfca; color: #18573d; }
.alert-warning { background: #fff9e9; border-color: #e4cf98; color: #6c5112; }
.alert-danger { background: #fff0f1; border-color: #ebbec5; color: #8d2636; }

/* Keep Moove's navigation heights, drawer state and overflow behavior. */
.navbar.fixed-top { background: #fff !important; border-bottom: 1px solid var(--lx-line) !important; box-shadow: none; padding: 0 24px !important; }
.navbar .navbar-brand { padding-right: 24px !important; margin-right: 16px !important; border-right: 1px solid var(--lx-line); }
.navbar .navbar-brand .logo { width: 142px; height: 44px; max-height: 44px; object-fit: contain; }
.navbar .primary-navigation .navigation .nav-link { color: var(--lx-ink); font-size: 14px; font-weight: 500; padding: 0 13px; }
.navbar .primary-navigation .navigation .nav-link.active { color: var(--lx-blue); border-bottom: 3px solid var(--lx-blue); background: transparent; font-weight: 600; }
.navbar .primary-navigation .navigation .nav-link:hover { background: var(--lx-paper); color: var(--lx-blue); }
.navbar #usernavigation { gap: 3px; }
.navbar #usernavigation .userinitials { background: var(--lx-soft); color: var(--lx-ink); border: 1px solid var(--lx-line); }
.navbar .editmode-switch-form { font-size: 12px; }
.secondary-navigation.moove { background: #fff; border-bottom: 1px solid var(--lx-line); filter: none; }
.secondary-navigation .moremenu .nav-tabs .nav-link { color: var(--lx-muted); font-size: 13px; padding-left: 19px; padding-right: 19px; }
.secondary-navigation .moremenu .nav-tabs .nav-link.active { background: transparent; color: var(--lx-blue); border-bottom: 3px solid var(--lx-blue); font-weight: 600; }
.secondary-navigation .moremenu .nav-tabs .nav-link:hover,.secondary-navigation .moremenu .nav-tabs .nav-link:focus { background: var(--lx-soft); color: var(--lx-blue); }
.secondary-navigation .moove-container-fluid { padding: 0 24px; }
.dropdown-menu,.popover,.modal-content { border: 1px solid var(--lx-line); border-radius: 12px; box-shadow: 0 12px 34px rgb(4 20 39 / 10%); }
.dropdown-item { padding-top: 9px; padding-bottom: 9px; }
.dropdown-item:hover,.dropdown-item:focus { background: var(--lx-soft); color: var(--lx-ink); }
.dropdown-item.active,.dropdown-item:active { background: var(--lx-blue); color: #fff; }
.drawer { background: var(--lx-paper); border-color: var(--lx-line); }
.drawer .drawerheader { border-bottom: 1px solid var(--lx-line); background: #fff; }
.drawer .drawercontent { padding: 12px; }
.courseindex .courseindex-item { border-radius: 8px; margin: 3px 0; padding: 9px 10px; }
.courseindex .courseindex-item.pageitem { background: var(--lx-blue); color: #fff; }
.courseindex .courseindex-item.pageitem a { color: #fff; }
.courseindex .courseindex-section .courseindex-section-title { font-family: 'DM Sans',sans-serif; font-size: 15px; font-weight: 600; }
.courseindex .courseindex-section { border-bottom: 1px solid #e1e5eb; padding-bottom: 9px; margin-bottom: 9px; }
.drawer-toggles .drawer-toggler .btn { border-radius: 0 8px 8px 0; background: var(--lx-blue); box-shadow: none; }
.drawer-toggles .drawer-right-toggle .btn { border-radius: 8px 0 0 8px; }

/* Open, quiet work surfaces. Only repeated items are framed. */
#page.drawers { background: var(--lx-paper) !important; padding: 0 24px; }
body:not(.pagelayout-login) #page-wrapper { height: auto; min-height: 100vh; }
body.limitedwidth #page.drawers .main-inner,#page.drawers .main-inner {
  max-width: 1240px; padding: 28px 32px; border: 0; border-radius: 0; box-shadow: none; background: transparent;
}
#page.drawers #topofscroll { background: transparent; }
#region-main { background: transparent; border: 0; min-width: 0; }
#page-header { margin-bottom: 8px; padding-top: 28px !important; padding-bottom: 8px !important; }
#page-header h1 { max-width: 1000px; margin-bottom: 14px; }
#page-header .page-header-headings { min-width: 0; }
.path-mod #page-header > .w-100 > .d-flex.align-items-center { flex-wrap: wrap; gap: 10px; }
.path-mod #page-header .page-header-headings h1 { font-weight: 500; }
.path-mod #page-header .header-actions-container { flex-basis: 100%; margin-left: 0 !important; }
.path-mod #page-header .page-context-header { gap: 12px; flex-wrap: nowrap !important; align-items: flex-start !important; }
.path-mod #page-header .page-header-image { flex-shrink: 0; }
.courseindex .courseindex-section .courseindex-item.pageitem .courseindex-link { color: #fff !important; }
#page-mod-page-view .activity-header:has(.activity-information):not(:has(.activity-information > *)) { display: none; }
#page-mod-quiz-attempt .activity-header:has(.activity-information):not(:has(.activity-information > *)):not(:has(#intro)) { display: none; }
.breadcrumb { font-size: 12px; margin-top: 10px; }
.breadcrumb a { color: var(--lx-muted); }
.block.card { border: 1px solid var(--lx-line); border-radius: 14px; box-shadow: none; background: #fff; }
.block .card-title { font-size: 20px; }
.block_myoverview.card { border: 0; border-radius: 0; background: transparent; }
.block_myoverview > .card-body { padding: 0 !important; }
.block_myoverview .container-fluid { max-width: 100%; padding: 0; }
.nav-tabs { border-color: var(--lx-line); }
.nav-tabs .nav-link { color: var(--lx-muted); }
.nav-tabs .nav-link.active { color: var(--lx-blue); }

/* Public and signed-in catalogue. */
#page-site-index #page.drawers { padding: 0; }
#page-site-index #topofscroll { margin: 0 !important; background: var(--lx-paper) !important; }
#page-site-index #page-content.main-inner { padding: 32px; max-width: 1240px; margin: 0 auto; background: transparent !important; }
#page-site-index #region-main { background: transparent !important; }
#page-site-index .simplesearchform { margin: 0; max-width: 100%; width: 100%; padding: 0; }
#page-site-index #region-main [role="main"] > .box:has(.simplesearchform) { padding: 0 !important; margin: 0 0 28px; }
#page-site-index #region-main [role="main"] > br { display: none; }
#page-site-index .simplesearchform .input-group { width: 100%; max-width: 100%; }
#page-site-index .simplesearchform input { min-height: 50px; background: #fff; }
#page-site-index .simplesearchform .btn { min-width: 50px; }
#page-site-index #mooveslideshow { padding: 0; margin: 0 !important; width: 100%; max-width: 100%; }
#page-site-index #moove-carousel .carousel-inner { border-radius: 0; }
#page-site-index #moove-carousel .carousel-item { height: 300px; background: var(--lx-ink); }
#page-site-index #moove-carousel .carousel-item > img { height: 100%; max-height: none; object-fit: cover; object-position: center 43%; }
#page-site-index #moove-carousel .carousel-item::after { content: ''; position: absolute; inset: 0; background: rgb(4 20 39 / 65%); pointer-events: none; }
#page-site-index #moove-carousel .carousel-caption {
  display: flex !important; flex-direction: column; justify-content: center; z-index: 2;
  position: absolute; inset: 0; max-width: 1176px; width: auto; height: auto;
  padding: 28px 32px; margin: 0 auto; background: transparent; border-radius: 0; text-align: left;
}
#page-site-index #moove-carousel .caption { text-align: left; }
#page-site-index.notloggedin #mooveslideshow #moove-carousel .carousel-inner { border-radius: 0; }
#page-site-index.notloggedin #mooveslideshow #moove-carousel .carousel-caption {
  display: flex !important; flex-direction: column; justify-content: center;
  inset: 0; max-width: 1176px; width: auto; height: auto;
  margin: 0 auto; padding: 28px 32px; background: transparent; border-radius: 0; text-align: left;
}
#page-site-index.notloggedin #mooveslideshow #moove-carousel .caption { text-align: left; }
#page-site-index.notloggedin #topofscroll #page-content.main-inner {
  max-width: 1240px; padding: 32px; margin: 0 auto; background: transparent;
}
#page-site-index.notloggedin #topofscroll #frontpage-available-course-list h2 { text-align: left; }
.lx-campus-intro h1 { font-size: 44px; color: #fff; margin: 0 0 12px; font-weight: 400; }
.lx-campus-intro .lx-kicker { color: #d4e4fb; font-size: 12px; font-weight: 500; margin: 0 0 12px; }
.lx-campus-intro p { color: #f3f6fc; max-width: 640px; font-size: 16px; margin: 0 0 20px; }
.lx-campus-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lx-campus-actions a { text-decoration: none; }
.lx-campus-actions .btn-secondary { border-color: #fff; }
#page-site-index:not(.notloggedin) #moove-carousel .carousel-item { height: 260px; }
#page-site-index #frontpage-course-list > h2,#page-site-index #frontpage-available-course-list > h2,#page-site-index #frontpage-category-names > h2 { font-size: 28px; text-align: left; display: block; margin: 0 0 24px; }
#frontpage-course-list,#frontpage-available-course-list,#frontpage-category-names { margin-bottom: 44px; }
.dashboard-card { background: #fff; border: 1px solid #c7ced8; border-radius: var(--lx-radius); box-shadow: none; transition: border-color .18s, box-shadow .18s; }
.dashboard-card:hover { border-color: var(--lx-blue); box-shadow: 0 8px 24px rgb(4 20 39 / 7%); }
.dashboard-card .dashboard-card-img { border-radius: 19px 19px 0 0; height: 176px; background-size: cover; background-position: center; }
.dashboard-card[data-course-id="9"] .dashboard-card-img { background-image: url('/pix/loogox-control-horario/revision-datos-portatil.jpg') !important; }
.dashboard-card[data-course-id="17"] .dashboard-card-img { background-image: url('/pix/loogox-control-horario/oficina-marco-normativo.jpg') !important; }
.dashboard-card .card-body { padding: 22px !important; }
.dashboard-card .coursename { font-family: 'DM Sans',sans-serif; font-size: 21px; line-height: 1.28; font-weight: 600; color: var(--lx-ink); overflow-wrap: anywhere; display: block; }
.dashboard-card .coursename:hover { color: var(--lx-blue); text-decoration: none; }
.dashboard-card .course-summary { font-size: 13px; line-height: 1.65; color: var(--lx-muted); margin-top: 12px; }
.dashboard-card .course-summary .no-overflow { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-height: 65px; }
.dashboard-card .course-summary p { margin: 0; }
.dashboard-card .dashboard-card-footer { background: transparent; padding: 0 22px 18px !important; }
/* Moodle 5 uses a separate card component for the AJAX-loaded personal catalogue. */
.course-card.card { background: #fff; border: 1px solid #c7ced8; border-radius: 20px; box-shadow: none; margin: 0 !important; }
.course-card.card:hover { border-color: var(--lx-blue); box-shadow: 0 8px 24px rgb(4 20 39 / 7%); }
.course-card .card-img-top { border-radius: 19px 19px 0 0; height: 176px; background-position: center; background-size: cover; }
.course-card[data-course-id="9"] .card-img-top { background-image: url('/pix/loogox-control-horario/revision-datos-portatil.jpg') !important; }
.course-card[data-course-id="17"] .card-img-top { background-image: url('/pix/loogox-control-horario/oficina-marco-normativo.jpg') !important; }
.course-card .course-info-container { padding: 22px !important; }
.course-card .coursename { display: block; font-family: 'DM Sans',Arial,sans-serif; font-size: 21px; font-weight: 600; line-height: 1.28; color: var(--lx-ink); margin-bottom: 12px !important; }
.course-card .course-info-container .text-truncate { white-space: normal !important; }
.course-card .coursename .multiline { display: block; max-height: none; overflow: visible; -webkit-line-clamp: unset; }
.course-card .multiline > .visually-hidden { position: static !important; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; white-space: normal !important; margin: 0 !important; overflow: visible !important; }
.course-card .multiline > [aria-hidden="true"] { display: none; }
.course-card .categoryname { font-size: 12px; color: var(--lx-muted); }
.course-card .dashboard-card-footer { background: transparent !important; padding: 0 16px 14px; }
.block_myoverview .col:has(> .course-card) { padding: 0 10px !important; margin-bottom: 20px !important; }
.dashboard-card .course-category { background: #fff; color: var(--lx-ink); border-radius: 6px; font-size: 11px; border: 1px solid var(--lx-line); }
.pagelayout-frontpage .courses,.pagelayout-coursecategory .courses { gap: 24px; margin: 0; }
.pagelayout-frontpage .dashboard-card,.pagelayout-coursecategory .dashboard-card { width: calc((100% - 48px)/3) !important; max-width: calc((100% - 48px)/3) !important; margin: 0; padding: 0; }
.frontpage-category-names .subcategories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.frontpage-category-names .category.loaded { padding: 22px; background: #fff; border: 1px solid #c7ced8; border-radius: 16px; }
.frontpage-category-names .category.loaded .categoryname { font-size: 19px; margin: 0; background: none; padding: 0; }
.frontpage-category-names .category.loaded .categoryname a { color: var(--lx-ink); }
.frontpage-category-names .numberofcourse { color: var(--lx-muted); font-size: 13px; }

/* Courses, activities, assessment and administrative screens. */
.course-content ul.topics,.course-content ul.weeks { padding: 0; }
.course-content .course-section { border: 0; border-bottom: 1px solid #cbd3de; border-radius: 0; background: transparent; padding: 24px 0; }
.course-content .course-section .sectionname { font-size: 24px; font-weight: 500; line-height: 1.3; }
.course-content .sectionname a { color: var(--lx-ink); }
.course-content .activity-item { background: #fff; border: 1px solid var(--lx-line); border-radius: 12px; padding: 18px; }
.course-content .activity-item:hover { border-color: #a9bfdd; }
.course-content .activity { margin: 10px 0; }
.activityname { font-family: 'DM Sans',sans-serif; font-size: 17px; line-height: 1.4; font-weight: 500; }
.activityname a { color: var(--lx-ink); }
.activityiconcontainer { border-radius: 12px; }
.activityiconcontainer.content { background-color: #e4efff; }
.activityiconcontainer.assessment { background-color: #e3f2ed; }
.activityiconcontainer .activityicon { filter: none; }
.activity-completion { font-size: 12px; }
.activity-header { background: #eef3fb; border-radius: 12px; border: 1px solid #d1deee; padding: 18px; }
.activity-navigation { border-top: 1px solid var(--lx-line); padding-top: 24px; margin-top: 36px; }
.que { margin: 24px 0; }
.que .info { background: var(--lx-paper); border: 1px solid var(--lx-line); border-radius: 10px; padding: 14px; }
.que .formulation { background: #fff; color: var(--lx-ink); border: 1px solid #c7ced8; border-radius: 16px; padding: 26px; }
.que .qtext { font-size: 16px; line-height: 1.7; }
.que .answer > div { padding: 10px 8px; border-radius: 6px; }
.que .answer > div:hover { background: var(--lx-soft); }
.que .outcome { border-radius: 10px; }
#quiz-timer-wrapper { z-index: 10; }
.generaltable,.table { --bs-table-bg: #fff; --bs-table-border-color: #dce1e8; font-size: 13px; }
.generaltable th,.table thead th { background: var(--lx-soft); color: var(--lx-ink); font-weight: 600; padding: 14px; }
.generaltable td,.table td { padding: 13px 14px; vertical-align: middle; }
.path-admin .main-inner,.path-grade .main-inner { max-width: 1440px !important; }
.path-admin .form-description { font-size: 13px; color: var(--lx-muted); }
.path-admin .settingsform fieldset { margin-bottom: 24px; }
.path-calendar .maincalendar { background: #fff; border: 1px solid var(--lx-line); border-radius: 16px; padding: 20px; }

/* Existing authored modules inherit the brand without editing learning content. */
.loogox-control-horario { font-family: 'Poppins',Arial,sans-serif !important; color: var(--lx-ink) !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
.loogox-control-horario h1,.loogox-control-horario h2,.loogox-control-horario h3,.loogox-visual-asset h2 { font-family: 'DM Sans',Arial,sans-serif !important; letter-spacing: 0 !important; }
.loogox-control-horario > div:first-child { background: var(--lx-ink) !important; border-radius: 16px !important; }
.loogox-control-horario > div:first-child h1 { color: #fff !important; font-weight: 500 !important; }
.loogox-visual-asset { border: 1px solid #c7ced8 !important; border-radius: 20px !important; box-shadow: none !important; background: #fff !important; }
.loogox-visual-asset figure { border-radius: 14px !important; box-shadow: none !important; min-height: 0 !important; }
.loogox-photo-asset figure img { aspect-ratio: 4/3; height: auto !important; min-height: 0 !important; object-fit: cover; }
.loogox-photo-asset figcaption { position: static !important; border: 0 !important; border-radius: 0 !important; background: var(--lx-ink) !important; padding: 14px 18px !important; }
.loogox-visual-asset [style*="letter-spacing"] { letter-spacing: 0 !important; }
#page-mod-page-view .no-overflow { max-width: 100%; }
#page-mod-page-view .no-overflow img,#page-mod-page-view .no-overflow svg { max-width: 100%; }

/* Access and account forms: the same restrained brand, with readable controls. */
body.pagelayout-login #page {
  background-color: var(--lx-paper) !important;
  background-image: linear-gradient(rgb(4 20 39 / 3%) 1px, transparent 1px),linear-gradient(90deg,rgb(4 20 39 / 3%) 1px,transparent 1px) !important;
  background-size: 100px 100px !important; background-attachment: scroll; min-height: 100vh;
}
#page-login-index .login-container .loginform { width: 490px; max-width: 100%; margin: 24px auto; padding: 36px; border: 1px solid #bfc8d2; border-radius: 20px; background: #fff; box-shadow: 0 16px 48px rgb(4 20 39 / 5%); }
#page-login-index .login-container .loginform.hastwocolumns { width: 880px; }
.login-logo { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--lx-line); }
#loginlogo { display: block !important; text-align: center; }
.pagelayout-login #page-content.row { margin-left: 0; margin-right: 0; width: 100%; }
.pagelayout-login .login-wrapper { min-width: 0; max-width: 100%; }
#logoimage { width: 190px; max-height: 70px; object-fit: contain; }
#loginlogo .login-heading.visually-hidden { position: static !important; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; white-space: normal !important; margin: 18px 0 0 !important; overflow: visible !important; font-size: 21px; }
.login-form label { font-size: 13px; font-weight: 500; color: var(--lx-ink); }
.login-form .form-control { min-height: 48px; }
.login-form .login-form-submit .btn { width: 100%; }
.login-form .login-signup .btn { background: #fff; color: var(--lx-ink) !important; border: 1px solid #bfc8d2; }
.login-form-forgotpassword { font-size: 13px; }
.loginform .login-divider { margin: 22px 0; }
.loginform .d-flex { flex-wrap: wrap; row-gap: 10px; }
.loginform .g-recaptcha { margin-bottom: 18px; }
#page-login-signup .login-container { background: #fff; border: 1px solid var(--lx-line); border-radius: 20px; padding: 30px; }

/* Footer retains support, session and Moodle controls. */
#page-footer { background: var(--lx-ink); color: #c8d2df; border: 0; margin-top: 32px; }
#page-footer .footer-columns { max-width: 1240px; padding: 36px 32px; }
#page-footer .footer-title { font-family: 'DM Sans',sans-serif; color: #fff; font-size: 21px; }
#page-footer a:not(.dropdown-item) { color: #e2ebfa; }
#page-footer .copyright .madeby { display: none !important; }
#page-footer .footer-content-popover { background: #fff; color: var(--lx-ink); }
#page-footer .footer-content-popover a { color: var(--lx-blue); }
#page-footer .footer-content-popover .footer-section { border-color: var(--lx-line); }

@media (min-width: 768px) and (max-width: 1100px) {
  .navbar .navbar-brand { padding-right: 14px !important; margin-right: 5px !important; }
  .navbar .navbar-brand .logo { width: 112px; }
  .navbar .primary-navigation .navigation .nav-link { padding: 0 9px; font-size: 13px; }
  .pagelayout-frontpage .dashboard-card,.pagelayout-coursecategory .dashboard-card { width: calc((100% - 24px)/2) !important; max-width: calc((100% - 24px)/2) !important; }
  .loogox-visual-asset > div[style*="grid-template-columns"] { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 767px) {
  body { font-size: 14px; }
  h1,.h1,#page-header h1 { font-size: 27px; }
  h2,.h2 { font-size: 24px; }
  .navbar.fixed-top { padding: 0 12px !important; }
  .navbar .navbar-brand { display: flex !important; border: 0; padding: 0 !important; margin: 0 6px !important; }
  .navbar .navbar-brand .logo { width: 76px; height: 30px; }
  .navbar #usernavigation { min-width: 0; gap: 0; }
  .navbar .editmode-switch-form { font-size: 11px; }
  .navbar .divider { margin: 0 4px !important; }
  .secondary-navigation .moove-container-fluid { padding: 0 8px; }
  .secondary-navigation .moremenu .nav-tabs .nav-link { padding: 0 12px; font-size: 12px; }
  #page.drawers { padding: 0 12px; }
  body.limitedwidth #page.drawers .main-inner,#page.drawers .main-inner { max-width: 100%; padding: 22px 4px; }
  #page-site-index #page-content.main-inner { padding: 24px 16px; }
  #page-site-index #moove-carousel .carousel-item,#page-site-index:not(.notloggedin) #moove-carousel .carousel-item { height: 280px; }
  #page-site-index #moove-carousel .carousel-caption { padding: 24px; }
  #page-site-index.notloggedin #mooveslideshow #moove-carousel .carousel-caption { padding: 24px; }
  #page-site-index.notloggedin #topofscroll #page-content.main-inner { padding: 24px 16px; }
  .lx-campus-intro h1 { font-size: 34px; }
  .lx-campus-intro p { font-size: 14px; }
  .lx-campus-actions .btn { font-size: 14px; padding: 9px 14px; }
  .pagelayout-frontpage .dashboard-card,.pagelayout-coursecategory .dashboard-card { width: 100% !important; max-width: 100% !important; margin: 0; }
  .frontpage-category-names .subcategories { grid-template-columns: minmax(0,1fr); }
  .dashboard-card .coursename { font-size: 20px; }
  .course-content .course-section .sectionname { font-size: 21px; }
  .course-content .activity-item { padding: 14px; }
  .activityname { font-size: 16px; }
  .loogox-visual-asset { padding: 18px !important; }
  .loogox-visual-asset > div[style*="grid-template-columns"] { grid-template-columns: minmax(0,1fr) !important; gap: 22px !important; }
  .loogox-control-horario div[style*="grid-template-columns: repeat(3"],.loogox-control-horario div[style*="grid-template-columns: repeat(auto-fit"],#page-mod-page-view div[style*="grid-template-columns:repeat(3"],#page-mod-page-view div[style*="grid-template-columns: repeat(3"] { grid-template-columns: minmax(0,1fr) !important; }
  .loogox-control-horario h1 { font-size: 27px !important; }
  .loogox-control-horario h2,.loogox-visual-asset h2 { font-size: 23px !important; }
  .loogox-control-horario > div:first-child { padding: 24px !important; }
  .que .formulation { padding: 18px; }
  .que .info { width: 100%; float: none; margin-bottom: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 10px; }
  .que .info h3,.que .info .state,.que .info .questionflag,.que .info .editquestion { margin: 0; }
  .que .content { margin-left: 0; }
  #page-login-index .login-container .loginform { padding: 26px 16px; margin: 12px auto; width: 100%; }
  #page-login-index #page { padding: 12px; }
  #page-login-index .login-wrapper { padding: 0; }
  #page-login-index .loginform > .col { padding: 0; }
  #page-login-index .login-container { padding: 0; }
  #logoimage { width: 160px; }
  .loginform .g-recaptcha { max-width: 100%; }
  #page-footer .footer-columns { padding: 28px 20px; }
}
@media (max-width: 380px) {
  #page-login-index #page { padding: 8px; }
  #page-login-index .login-container .loginform { padding: 24px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .btn,.dashboard-card { transition: none; }
}
@media print {
  body,#page,#page.drawers,#region-main { background: #fff !important; }
  .navbar,.secondary-navigation,.drawer,#page-footer { display: none !important; }
  #page.drawers { margin: 0 !important; width: 100% !important; }
}
