/*a, button                               { cursor: pointer; }
a *, button *                           { pointer-events: none; }
.hidden, [hidden]                       { display: none !important; }
#fondo > header button:hover,
#fondo > header button:focus            { background: linear-gradient(to bottom, #4881d2 0%, #2d69c3 100%) !important; box-shadow: 0 0 0 1px #333 inset, 0 0 0 2px #fff inset !important; color: #fff !important; }
*/
.toolbar-high                           { display: flex; flex-flow: row wrap; text-align: center; justify-content: center; gap: 5px; margin: 0 auto 25px; max-width: 1280px; }
.toolbar-high button                    { border: 1px solid rgba(0, 0, 0, 0.2); background: #fff; color: #006FB6; padding: 10px; border-radius: 8px; width: auto; flex: 0 1 280px; overflow: hidden; position: relative; }
.toolbar-high.x3 button                 { flex: 0 1 32.33%; }
.toolbar-high.x4 button                 { flex: 0 1 24%; }
.toolbar-high button div                { background: #f0f0f0; padding: 4px; border: 1px solid rgba(0,0,0,0.1); border-radius: 8px; }
.toolbar-high button h2                 { padding: 6px; color: #000; margin: 0; font-size: 0.8rem; font-weight: 600; }
.toolbar-high button div i              { font-size: 48px; }
.toolbar-high button img                { height: 70px;width: auto; filter: invert(0) contrast(2.5); }
.toolbar-high button svg                { height: 70px; margin: 0 auto; width: auto; fill: #154481; }
.toolbar-high button p                  { color: #000; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 54px; margin: 5px 0; }
.toolbar-high button:hover, 
.toolbar-high button:focus              { background: linear-gradient(to bottom, #4881d2 0%, #2d69c3 100%); box-shadow: 0 0 0 1px #333 inset, 0 0 0 2px #fff inset; color: #fff }
.toolbar-high button:hover h2,
.toolbar-high button:focus h2,
.toolbar-high button:hover div,
.toolbar-high button:focus div,
.toolbar-high button:hover p,
.toolbar-high button:focus p            { background: transparent; border-color: transparent; color: #fff  !important; }
.toolbar-high button:hover svg,
.toolbar-high button:focus svg          { border-color: transparent; fill: #fff; }

@media screen and (max-width: 1023px) {
    .toolbar-high.x4 button                 { flex: 0 1 32.33%; }
    .toolbar-high button svg               { height: 40px; }
}

@media screen and (max-width: 799px) {
    .toolbar-high.x3 button,
    .toolbar-high.x4 button                 { flex: 0 1 49%; }
}

@media screen and (max-width: 639px) {
    .toolbar-high.x3 button,
    .toolbar-high.x4 button                 { flex: 0 1 100%; }
}

/*.home h1                                { text-align: center; }*/

/* landing animation */
.overlay                                { z-index: 999; position: fixed; left: 0; top: 0; width: 100%; height: 100vh; background: #154481; animation: collapse-bg 0.3s linear forwards; animation-delay: 2.4s; overflow: hidden; }
.overlay p                              { font-weight: 800; font-size: 21px !important; position: relative; text-align: center; margin: 0 !important; }
.newBt                                  { background: none; border: none; margin: 0; padding: 0; cursor: pointer; font-weight: bold; font-size: 42px; animation: colorchange 0.5s infinite alternate; }
.enterText                              { font-weight: bold; color: #006FB6; font-size: 42px; padding: 0.4em 1em; position: fixed; top: 40%; left: 46%; transform: translate(-50%, -50%); }
.enterText                              { position: fixed; white-space: nowrap; }
.enterText span                         { opacity: 0; animation: appear-text 0.0001s linear forwards; animation-delay: 1.4s; }
.enterText:after                        { content: ''; top: 0; left: 0; position: fixed; width: 0%; height: 100%; background: #006FB6; animation: enterText 1s cubic-bezier(0.19, 1, 0.22, 1) forwards; animation-delay: 0.5s; }
@keyframes enterText                    { 0% { left: 0; width: 0%; } 50% { left: 0%; width: 100%; } 100% { left: 100%; width: 0%; } }
@keyframes appear-text                  { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes colorchange                  { 0% { color: #154481; } 100% { color: #fff; } }
@keyframes collapse-bg                  { 0% { height: 100vh; width: 100vw; } 90% { height: 0; width: 100vw; opacity: 1; } 99% { height: 0; width: 100vw; opacity: 0; } 100% { height: 0; width: 0; opacity: 0; } }

#click                                  { top: 42vh; left: 50vw; }
#click span                             { animation-delay: 2s; color: #fff; }
#click.enterText:after                  { background: #fff; animation-delay: 1.4s; }

/*@media (max-width: 639px)               {
    #fondo header #cabecera p.titulo.mefp { top: 1.8em; left: 0; }
}*/

/* Correcciones base para la APP */
/*#fondo                                  { background: #fff; }
#fondo > header                         { display: inline-block; width: 100%; }
#fondo > #contenedor                    { min-height: auto; min-width: auto; height: auto !important; }
#fondo > header #cabecera               { background-color: #fff; min-height: 5.4em; margin-top: 48px; }
#fondo > header #literal p              { text-align: left; }
#fondo #contenedor #contenido           { min-height: auto; }
#fondo header #navegacion-opciones      { height: 48px !important; }*/


/* Información de perfil de usuario */
.profile                                { position: absolute; width: 48px; height: 48px; top: 0; right: 10px; display: block; color: #fff; background: transparent; padding: 0; line-height: 2.2rem; border-radius: 0; border: 0 none; text-align: right; z-index: 999;}
.profile + ul                           { display: none; background: #154481; color: #fff; border: 1px solid rgba(0,0,0,0.1); border-top: 0 none; width: auto; position: absolute; top: 34px; right: 10px; padding: 20px; border-radius: 0 0 4px 4px; list-style: none; line-height: 2.2rem; font-size: 0.9rem; }
.profile div + ul li:first-child        { padding-bottom: 20px; }
.profile + ul li p                      { text-align: center; font-weight: 600; margin: 0 -10px 0; color: #2d69c3; }
.profile + ul li a                      { width: auto; padding: 2px 5px; display: block; background: linear-gradient(to bottom, #fdfdff 0%, #d5ebff 100%); color: #fff; text-decoration: none; border-radius: 4px; text-align: center; margin-top: 10px; }
.profile + ul li a:hover,
.profile + ul li a:focus                { background: #fff; background: linear-gradient(to bottom, #fdfdff 0%, #d5ebff 100%); box-shadow: 0 0 0 1px #333 inset, 0 0 0 2px #fff inset; }
.profile.open                           { background: #fdfdff; }
.profile.open + ul                      { display: block; background: linear-gradient(to bottom, #fdfdff 0%, #d5ebff 100%); color: #000; z-index: 9; }
.profile.open svg                       { fill: #000; }

@media screen and (max-width:480px) {
    .profile > span                     { display: none; }
}


.academic-course                    { position: absolute; right: 72px; top: 0; color: #fff; font-size: 0.8rem; font-weight: 600; height: 48px; line-height: 48px; }
#navegacion-opciones form select    { min-height: 1.93em; }
#navegacion-opciones form button,
#navegacion-opciones form input     { border-width: 1px; border-radius: 3px; padding: 0.35em 0.5em; border: 1px solid #ccc; }

body > #fondo > header > div > .menu-burguer                                         { background: transparent; color: #fff; border: 0 none; padding: 5px; width: auto; height: 48px; position: absolute; top: 0; right: 5px; z-index: 9; }
body > #fondo > header > div > .menu-burguer .icon                                   { margin-left: 5px; display: inline-block; width: 28px; height: 18px; max-width: 32px; }
body > #fondo > header > div > .menu-burguer .icon .menu-line                        { height: 0; border-top: 3px solid #fff; border-radius: 3px; transition: all 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28); width: 100%; margin-bottom: 5px; }
body > #fondo > header > div > .menu-burguer span                                    { float: left; margin-top: 2px; }
body > #fondo > header > div > .menu-burguer .icon .menu-line:first-child            { animation: firstLinetoClose 240ms cubic-bezier(0.23, 0.95, 0.58, 1.37); }
body > #fondo > header > div > .menu-burguer .icon .menu-line:nth-child(2)           { width: 80%; }
body > #fondo > header > div > .menu-burguer .icon .menu-line:last-child             { width: 90%; animation: lastLinetoClose 240ms cubic-bezier(0.23, 0.95, 0.58, 1.37); }

#contenedor #contenido div.formulario-contenido form fieldset       { width: 100%; box-sizing: border-box; }
#fondo #contenedor #contenido .paginate_button.disabled,
#fondo #contenedor #contenido .paginate_button.current              { pointer-events: none; cursor: default; }
#fondo #contenedor #contenido .dataTables_wrapper label, 
#fondo #contenedor #contenido .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_info  { font-size: 0.8em; display: inline-block; line-height: 1.9em; font-weight: 700; padding-right: 0; vertical-align: top; text-align: right; }
#fondo #contenedor #contenido .dataTables_wrapper ul                { margin: 0;}
#fondo #contenedor #contenido .dataTables_wrapper fieldset          { padding: 0; border: 0 none;}
#fondo #contenedor #contenido .dataTables_wrapper table tr th,
#fondo #contenedor #contenido .dataTables_wrapper table tr td       { white-space: nowrap;}
#fondo #contenedor #contenido .dataTables_wrapper table tr th       { padding-right: 10px !important; }
#fondo #contenedor #contenido .dataTables_wrapper table tr th::before,
#fondo #contenedor #contenido .dataTables_wrapper table tr th::after{ right: 1px !important;}
#fondo #contenedor #contenido .dataTables_wrapper caption           { background: linear-gradient(to bottom, #fdfdff 0%, #ebf3fe 100%); margin: 0; padding: 5px; border: 1px solid #c6d2e2; border-bottom: 0 none; margin-top: 10px; !important;}
#fondo #contenedor #contenido table td { padding: 0 0.5em; }
@media screen and (min-width: 1280px) {
    #contenedor #contenido div.formulario-contenido form fieldset span:not([role=presentation])  { width: 100%; }
}

#contenedor #contenido div.formulario-contenido form fieldset .error { padding: 0.25em !important; background: #ffd1d1; margin-bottom: 0.25em; }
#fondo header #navegacion-opciones { min-height: 48px;}