:root {
    --mainPadding: 300px;
    /* Colores */
    --principal: #5B1466;
    --secundario: #EB4856;
    --acento: #3b3b3b;
    --base: rgba(220, 220, 220, 0.93);
    --backgroundLoginColor: #BF0E48;
    --loginColor: white;
}

.custom-mouse-position {
    color: rgba(0,0,0,0);
}

.loginColorBG {
    //background-color: var(--loginColor);
    background-color: rgba(255, 255, 255, 0.7);
}

.backgroundLoginColor {
    background-color: var(--backgroundLoginColor);
}

.principalBG {
    background-color: var(--principal);
}

.text-principal {
    color: var(--principal);
    font-weight: bold;
}

button.secundarioBG:hover, button.principalBG:hover {
    background-color: var(--secundario) !important;
}

a.secundarioBG:hover, a.principalBG:hover {
    background-color: var(--secundario) !important;
}

.secundarioBG {
    background-color: var(--secundario);
}
.acentoBG {
    background-color: var(--acento);
}
.baseBG {
    background-color: var(--base);
}

header, main, footer {
    padding-left: var(--mainPadding);
}

html, body {
    background-color: var(--base);
}

@media only screen and (max-width : 992px) {
    header, main, footer {
        padding-left: 0;
    }
}

.card-action > button {
    margin-left: 5px;
    margin-bottom: 5px;
}

.valign-wrapper {flex-wrap: wrap;}

.noMarginBottom {
    margin-bottom: 0;
}

.noPaddingCard {
    padding: 0!important;
}

.sidenav .user-view {
    /*height: 176px;*/
}

.sidenav[state="expanded"] {
    width: 300px !important;
}
.sidenav[state="expanded"] li a span, .sidenav[state="expanded"] .user-view span {
    display: block;
}

.sidenav[state="contracted"] {
    width: 90px !important;
}
.sidenav[state="contracted"] li a span, .sidenav[state="contracted"] .user-view span {
    display: none;
}
.sidenav[state="contracted"] .user-view {
    padding: 58px 13px;
}

.sidenav li {
    white-space: nowrap;
}

.fullH {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    margin: 0px;
}

.fullW {
    width: 100% !important;
    margin-bottom: 10px;
}

.background img {
    height: 100%;
    width: 100%;
}

.brand-logo > img {
    height: 64px;
    margin-left: 10px;
}

.MaterialTableAXS  tfoot tr {
    border: none;
}

.MaterialTableAXS  th {
    cursor: pointer;
    white-space: nowrap;
}

.MaterialTableAXS th .material-icons {
    color: var(--secundario);
    margin-left: 5px;
}

.MaterialTableAXS th .material-icons {
    display: inline-flex;
    vertical-align: middle;
}

.modal.bottom-sheet {
    max-height: 80%;
}

.modal-footer button{
    margin-left: 5px !important;
}

.noBottomMargin {
    margin-bottom: 0;
}

/* Formularios en tema claro */
.input-field label {
    color: var(--principal);
}

/* Formularios en tema oscuro */
.input-field.obscuro label {
    color: var(--acento);
}
.input-field.obscuro input[type=text], .input-field.obscuro input[type=email], .input-field.obscuro input[type=password] {
    color: var(--acento);
}
/* label focus color */
.input-field.obscuro input[type=text]:focus + label, .input-field.obscuro input[type=email]:focus + label, .input-field.obscuro input[type=password]:focus + label {
    color: var(--acento);
}
/* label underline focus color */
.input-field.obscuro input[type=text]:focus, .input-field.obscuro input[type=email]:focus, .input-field.obscuro input[type=password]:focus {
    border-bottom: 1px solid var(--acento);
    box-shadow: 0 1px 0 0 var(--acento);
}
/* valid color */
.input-field.obscuro input[type=text].valid {
    border-bottom: 1px solid var(--acento);
    box-shadow: 0 1px 0 0 var(--acento);
}
/* invalid color */
.input-field.obscuro input[type=text].invalid {
    border-bottom: 1px solid var(--acento);
    box-shadow: 0 1px 0 0 var(--acento);
}
/* icon prefix focus color */
.input-field.obscuro .prefix.active {
    color: var(--acento);    
}

.modal#newUserModal {
    max-height: 69%;
}
.animate {
    opacity: 1;
    transition: opacity 1s;
}
.animate.hide {
    opacity: 0;
}

.formHeader {
    font-size: large;
    margin-bottom: 8px;
    border-bottom: 2px solid #aaa;
    position: relative;
}

.formHeader .material-icons {
    position: absolute;
    right: 20px;
    top: 3px;
    cursor: pointer;
    color: var(--secundario);
}

.formHeader .material-icons:hover {
    background-color: var(--secundario);
    color: white;
}
label:not([for=username]).required::after {
    color: red !important;
    content: "*" !important;
    position: absolute !important;
    top: -3px !important;
    left: auto !important;
    right: -10px !important;
    opacity: 1 !important;
}

* {
    text-transform: uppercase; 
}
input#username, input[type=email], input[name*=username], input[type="password"], .nomayus, .noMayus * {
    text-transform: none;
}

.card-content {
    overflow-x: auto;
}

select[required] {
    display: inline;
    position: absolute;
    float: left;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(255,255,255,0);
    height: 0;
    width: 0;
    top: 0;
    left: 3em;
    opacity: 0;
}

.card-image > .card-title {
    font-size:medium;
}

.nav-wrapper .tipoUsuario {
    margin-left: 10px;
    font-size: small;
}

/* arrayAdd */

.arrayAdd > input[name*=texto] {
    width: 80%;
}
.arrayAdd > .btn[name*=agregar] {
    width: 20%;
    float: right;
    height: 46px !important;
    background-color: var(--secundario);
}
.arrayAdd > .btn[name*=guardar] {
    width: 100%;
    background-color: var(--principal);
}

.arrayAdd > .elementos {
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 8px;
    margin-bottom: 5px;
    background-color: #eee;
}

.arrayAdd table td {
    padding: 0;
}

/* arrayAdd */


/* datosConsecutivos */

.datos-consecutivos {
    margin-bottom: 5px;
    border-left: 2px solid var(--principal);
    padding-left: 5px;
}

.datos-consecutivos .input-field {
    margin-left: 10px;
}

.datos-consecutivos > .titulo {
    border-bottom: 1px solid #eee;
    padding-left: 5px;
    background-color: var(--acento);
}

/* datosConsecutivos */

/* prioridadSelect */

.prioridadSelectContent #titulo{
    background-color: var(--principal);
    color: white;
    padding-left: 15px;
    position: relative;
}
.prioridadSelectContent .block {
    height: 200px;
    border: 1px solid var(--base);
    position: relative;
    padding-top: 30px;
    overflow-y: auto;
}

.prioridadSelectContent input {
    opacity: 0;
    position: absolute;
    left: 0;
}

.prioridadSelectContent .block .header{
    background-color: var(--acento);
    color: var(--principal);
    border: 1px solid var(--base);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-left: 10px;
}

.prioridadSelectContent #disponibles-content li{
    position: relative;
} 

.prioridadSelectContent #disponibles-content li a{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
} 
.prioridadSelectContent #seleccionados-content li{
    position: relative;
}
.prioridadSelectContent #seleccionados-content li a.quit{
    position: absolute;
    bottom: 5px;
    right: 0;
}
.prioridadSelectContent #seleccionados-content li{
    position: relative;
    padding-right: 30px;
}
.prioridadSelectContent #seleccionados-content li a.up{
    position: absolute;
    bottom: 5px;
    right: 20px;
}
.prioridadSelectContent #seleccionados-content li{
    position: relative;
    padding-right: 30px;
}
.prioridadSelectContent #seleccionados-content li a.down{
    position: absolute;
    bottom: 5px;
    right: 20px;
}

.prioridadSelectContent .secondary-content i {
    height: 29.25px !important;
}

/* -- */


/* spinner */

.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
  }
  .lds-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
  }
  .lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
  }
  @keyframes lds-ellipsis1 {
    0% {
      transform: scale(0);
    }
    100% {
      transform: scale(1);
    }
  }
  @keyframes lds-ellipsis3 {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(0);
    }
  }
  @keyframes lds-ellipsis2 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(24px, 0);
    }
  }

/* -- */

/* loader */
.loader {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100vw;
    background-color: #000000bb;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
    color: white;
}
.loader * {
    color: white;
}
.break {
    flex-basis: 100%;
    height: 0;
}
/* -- */


/* georeferenciacion */
.geoPosContent .titulo {
    background-color: var(--acento);
    color: var(--principal);
    padding: 5px;
}
/* -- */

.soporte {
    font-size: 12px;
}

.soporte-card {
    margin-left: 20px;
    bottom: 70px;
    position: fixed;
}

input:not([type]):disabled, input:not([type])[readonly="readonly"], input[type=text]:not(.browser-default):disabled, input[type=text]:not(.browser-default)[readonly="readonly"], input[type=password]:not(.browser-default):disabled, input[type=password]:not(.browser-default)[readonly="readonly"], input[type=email]:not(.browser-default):disabled, input[type=email]:not(.browser-default)[readonly="readonly"], input[type=url]:not(.browser-default):disabled, input[type=url]:not(.browser-default)[readonly="readonly"], input[type=time]:not(.browser-default):disabled, input[type=time]:not(.browser-default)[readonly="readonly"], input[type=date]:not(.browser-default):disabled, input[type=date]:not(.browser-default)[readonly="readonly"], input[type=datetime]:not(.browser-default):disabled, input[type=datetime]:not(.browser-default)[readonly="readonly"], input[type=datetime-local]:not(.browser-default):disabled, input[type=datetime-local]:not(.browser-default)[readonly="readonly"], input[type=tel]:not(.browser-default):disabled, input[type=tel]:not(.browser-default)[readonly="readonly"], input[type=number]:not(.browser-default):disabled, input[type=number]:not(.browser-default)[readonly="readonly"], input[type=search]:not(.browser-default):disabled, input[type=search]:not(.browser-default)[readonly="readonly"], textarea.materialize-textarea:disabled, textarea.materialize-textarea[readonly="readonly"] {
    color: #444;
}

.input-field input[type=search]:focus:not(.browser-default) {
    background-color: #fff;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #444;
}

.input-field input[type=search]:not(.browser-default) {
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #ffffff;
}

.input-field input[type=search] ~ .mdi-navigation-close, .input-field input[type=search] ~ .material-icons {
    color: #ffffffaa;
}

.dougnut {
    position: relative;
}
.label.solxtipo{
    font-weight: bold;
}
#soporte.modal {
    min-height: 260px !important;
    height: 25% !important;
}
.switch {
    white-space: nowrap;
    min-width: 140px;
}

.fotin {
    max-height: 80%;
}

.canvas-image {
    width: 100%;
}

table.completitud tr > th:nth-child(2), table.completitud tr > th:nth-child(3), table.completitud tr > td:nth-child(2), table.completitud tr > td:nth-child(3){
    border-left: #ccc 1px solid;
}

table.completitud td, table.completitud tr, table.completitud th, table.completitud .select-dropdown{
    font-size: 0.8rem;
}

table.especificos tbody td, table.especificos tbody th {
    padding: 0 5px !important;
}

table.especificos .input-field {
    margin: 0 !important;
}

.noOverflow {
    overflow-y: hidden;
}

strong {
    font-weight: 600 !important;
}
#dictamen-container {
    margin-top: 40px;
}
#dictamen {
    font-size: 2.5rem;
}
#mood {
    font-size: 3rem;
}
#calificacion-container {
    line-height: 1;
    margin-bottom: 77px;
}
#calificacion {
    font-size: 11rem;
}
#titulo-dictamen {
    font-weight: bold;
    font-size: 2rem;
}

@font-face {
    font-family: alarmClock;
    src: url("../fonts/alarm_clock.ttf");
}
#cronometro {
    font-family: alarmClock;
    color: var(--acento);
    line-height: 1.5rem;
    font-size: 1.5rem;
    position: fixed;
    top: 72px;
    right: 10px;
    background-color: #111;
    padding: 3px 5px;
}

#cronometro span:not(:last-child) {
    margin-right: -10px;
}

#cronometro span:not(:last-child)::after {
    content: ":";
    margin-left: 2px;
    font-family: alarmClock;
}

table#t01 tr:nth-child(even) {
    background-color: #eee;
  }
table#t01 tr:nth-child(odd) {
  background-color: #fff;
}
table#t01 th {
  color: white;
  background-color: green;
  text-align: center;
}
table#t01 td{
    text-align: center;
}
.required::after{
    content: "*";
    color: red;
}

nav.encabezadoa{
    height: 130px;
    line-height: 130px;
    z-index: 100;
}

.paddingLogo{
    margin: 3%;
}


div#menu_derecho ul{
    list-style: none;
    list-style-type: none;
    list-style-position: outside;
}

div#menu_derecho li a:hover{
    box-shadow: 250px 0 0 0 #70ad47 inset;
}

div#menu_derecho li a{
    line-height: 30px;
    font-size: 16px;
    cursor:pointer;
    padding: 10px;
    color: #FFF;
    display: block;
    text-decoration: none;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

div#menu_derecho li a span{
    float: right;
    padding-top: 7px;
}

div#menu_derecho{
    width:170px;
    position:absolute;
    background: #038c50;
    z-index: 999999;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}


.ejericicioSwap, .componenteSwap {
    display: inline-block;
}
.ejericicioSwap {
    margin: 0 5px 0 0 !important;
}

.componenteSwap {
    margin: 0 2px 0 5px !important;
}

.ejericicioSwap input, .componenteSwap input{
    color: white !important;
}
.ejericicioSwap label, .componenteSwap label{
    color: white !important;
    font-weight: bold;
    top: -32px !important;
}
.tipoUsuario {
    display: inline-block;
}
.nav-wrapper .tipoUsuario {
    margin-left: 10px;
    font-size: small;
}
.browser-default {
    height: 25px;
    padding: 0;
    background-color: var(--backgroundLoginColor);
    color: white;
    border-color: #ffffff44;
}