/**
 * @description Estilos globales de la aplicación
 * @author Carlos Vázquez Ordóñez
 */

/* Elementos CSS Base */
body {
    margin: 0px;
    background-color: #f4f4f4;
}
span, p, b, h1, h2, h3, h4, h5, h6, a, label, .tab button {
    font-family: 'Roboto', sans-serif;
}
input, .chosen-single span {
    font-size: 1.1rem;
    border-radius: 5px;
}
input[type=checkbox] {
    vertical-align: top;
}
input[type=radio] {
    display: inline-block;
    vertical-align: top;
    margin-right: 1rem;
    margin-bottom: 0.8rem;
}
input[type=number] {
    width: 8rem;
}
textarea {
    resize: none;
}
.fLeft {
    float: left;
}
.fRight {
    float: right;
}
.leftSpace {
    padding-left: 0.2rem;
}
.rightSpace {
    padding-right: 0.2rem;
}
input[type="file"] {
    display: none;
}
.custom-file-upload {
    font-family: 'Roboto', sans-serif;
    border: 1px solid #ccc;
    display: inline-block;
    padding: 6px 12px;
    cursor: pointer;
}

/* Contenedores */
.columnsContainer {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.columnBlock {
    flex-grow: 1;
    text-align: center;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Quitar recuadro de los botones al hace click */
input, button {
    outline: none;
}

/* botones icono */
.icoBtn {
    cursor: pointer;
}

/* Desactivar Scroll */
.disableScroll {
    overflow: hidden !important;
    height: hidden !important;
}

/* Vistas */
.viewContent {
    margin-bottom: 2rem;
    margin-left: 4rem;
    margin-right: 4rem;
    margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
    .viewContent {
        margin-bottom: 1.5rem;
        margin-left: 1rem;
        margin-right: 1rem;
        margin-top: 4rem;
    }
}

/* logout */
#logoutModal {
    z-index: 1000;
}

/* Validaciones */
.validate:invalid, .stars .validate:invalid+label, 
    select.validate:invalid+.chosen-container, .invalid {
    box-shadow: 0px 3px 0px -1px red;
    background-color: #fdf0f0;
}

/* Degradado decorativo */
#decorativeBackPoll {
    width: 100%;
    height: 30%;
    position: fixed;
    z-index: -10;
    bottom: 0rem;
    background: rgba(244,244,244,1);
    background: -moz-linear-gradient(top, rgba(244,244,244,1) 32%, rgba(244,244,244,1) 35%, rgba(216,208,239,1) 75%, rgba(206,199,236,1) 88%, rgba(193,191,234,1) 100%);
    background: -webkit-gradient(left top, left bottom, color-stop(32%, rgba(244,244,244,1)), color-stop(35%, rgba(244,244,244,1)), color-stop(75%, rgba(216,208,239,1)), color-stop(88%, rgba(206,199,236,1)), color-stop(100%, rgba(193,191,234,1)));
    background: -webkit-linear-gradient(top, rgba(244,244,244,1) 32%, rgba(244,244,244,1) 35%, rgba(216,208,239,1) 75%, rgba(206,199,236,1) 88%, rgba(193,191,234,1) 100%);
    background: -o-linear-gradient(top, rgba(244,244,244,1) 32%, rgba(244,244,244,1) 35%, rgba(216,208,239,1) 75%, rgba(206,199,236,1) 88%, rgba(193,191,234,1) 100%);
    background: -ms-linear-gradient(top, rgba(244,244,244,1) 32%, rgba(244,244,244,1) 35%, rgba(216,208,239,1) 75%, rgba(206,199,236,1) 88%, rgba(193,191,234,1) 100%);
    background: linear-gradient(to bottom, rgba(244,244,244,1) 32%, rgba(244,244,244,1) 35%, rgba(216,208,239,1) 75%, rgba(206,199,236,1) 88%, rgba(193,191,234,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#c1bfea', GradientType=0 );
}

/* Cabeceras de componente */
.componentSection {
    font-family: 'Roboto', sans-serif;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    background-color: #ffffff;
    color: #414142;
    border-top: 2px solid #8f8f8f;
    border-bottom: 2px solid #8f8f8f;
    margin-bottom: 1.5rem;
    border-top-left-radius: 45px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 45px;
}
@media only screen and (max-width: 767px) {
    .componentSection {
        margin-bottom: 0.1rem;
    }
}
@media only screen and (max-width: 767px) and (orientation: landscape) {
    .componentSection {
        margin-bottom: 0.5rem;
    }
}

/* Header Nav */
header {
    z-index: 100;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    color: white;
    text-align: right;
    background: rgba(76, 76, 76, 1);
        background: -moz-linear-gradient(top, rgba(76, 76, 76, 1) 0%, rgba(44, 44, 44, 1) 0%, rgba(0, 0, 0, 1) 0%, rgba(102, 102, 102, 1) 0%, rgba(89, 89, 89, 1) 0%, rgba(38, 38, 38, 1) 51%, rgba(19, 19, 19, 1) 97%, rgba(71, 71, 71, 1) 100%);
        background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(76, 76, 76, 1)), color-stop(0%, rgba(44, 44, 44, 1)), color-stop(0%, rgba(0, 0, 0, 1)), color-stop(0%, rgba(102, 102, 102, 1)), color-stop(0%, rgba(89, 89, 89, 1)), color-stop(51%, rgba(38, 38, 38, 1)), color-stop(97%, rgba(19, 19, 19, 1)), color-stop(100%, rgba(71, 71, 71, 1)));
        background: -webkit-linear-gradient(top, rgba(76, 76, 76, 1) 0%, rgba(44, 44, 44, 1) 0%, rgba(0, 0, 0, 1) 0%, rgba(102, 102, 102, 1) 0%, rgba(89, 89, 89, 1) 0%, rgba(38, 38, 38, 1) 51%, rgba(19, 19, 19, 1) 97%, rgba(71, 71, 71, 1) 100%);
        background: -o-linear-gradient(top, rgba(76, 76, 76, 1) 0%, rgba(44, 44, 44, 1) 0%, rgba(0, 0, 0, 1) 0%, rgba(102, 102, 102, 1) 0%, rgba(89, 89, 89, 1) 0%, rgba(38, 38, 38, 1) 51%, rgba(19, 19, 19, 1) 97%, rgba(71, 71, 71, 1) 100%);
        background: -ms-linear-gradient(top, rgba(76, 76, 76, 1) 0%, rgba(44, 44, 44, 1) 0%, rgba(0, 0, 0, 1) 0%, rgba(102, 102, 102, 1) 0%, rgba(89, 89, 89, 1) 0%, rgba(38, 38, 38, 1) 51%, rgba(19, 19, 19, 1) 97%, rgba(71, 71, 71, 1) 100%);
        background: linear-gradient(to bottom, rgba(76, 76, 76, 1) 0%, rgba(44, 44, 44, 1) 0%, rgba(0, 0, 0, 1) 0%, rgba(102, 102, 102, 1) 0%, rgba(89, 89, 89, 1) 0%, rgba(38, 38, 38, 1) 51%, rgba(19, 19, 19, 1) 97%, rgba(71, 71, 71, 1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4c4c4c', endColorstr='#474747', GradientType=0);
}
.headerLogo {
    width: 14rem;
    height: auto;
    float: left;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
}
#nav {
    margin-bottom: 2rem;
}
.navLink, .adminLinks.active {
    position: relative;
    display: inline-block;
    top: 1rem;
    color: #a89e94;
    text-decoration: none;
    margin-right: 1.2rem;
    font-size: 1.2rem;
    -webkit-tap-highlight-color: transparent;
}
.navLink:hover, .adminLinks.active:hover {
    color: white;
}
.navLink:active, .adminLinks.active:active {
    color: rgb(83, 83, 83);
    outline: none;
}
#mobileMenu {
    color: #a9a098;
    float: right;
    margin-right: 1rem;
    display: none;
    font-size: 2.5rem;
    margin-top: 0.45rem;
}
#mobileMenu:active {
    color: rgb(82, 82, 82);
}
@media only screen and (min-width: 1024px) {
    #nav {
        display: block;
    }
}
@media only screen and (max-width: 1023px) {
    .navLink, .adminLinks.active {
        margin-right: 1rem;
    }
}
.contractedNavMenu #navLinks {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.contractedNavMenu .navLink {
    display: block;
    margin-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    margin-right: 0rem;
    top: 36%;
    transform: translateY(-36%);
    background-color: #030303;
    border-radius: 45px;
    border: solid 1px;
    font-size: 1rem;
    margin-left: 0.2rem;
    margin-right: 0.2rem;
    border-color: #141313;
    -webkit-tap-highlight-color: transparent;
}
.contractedNavMenu #nav {
    display: none;
    position: fixed;
    right: 0px;
    background-color: black;
    opacity: 0.88;
    height: 100%;
    margin: 0rem;
    top: 3.5rem;
    width: 50%;
}
header.contractedNavMenu {
    text-align: center;
}
.contractedNavMenu #mobileMenu {
    display: block;
    
}
.contractedNavMenu #navOutside {
    width: 50%;
    height: 100%;
    position: fixed;
    left: 0px;
    background-color: black;
    opacity: 0.5;
    top: 3.5rem;
}

/* Admin */
.adminLinks.inactive {
    display: none;
}
.activeLink {
    color: #008cba !important;
}

/* Botones */
.cButton {
    display: inline-block;
    padding: 0.4em 1.2em;
    border: 0.1em solid #c9c9c9;
    margin: 0 0 0.3em 0;
    box-sizing: border-box;
    text-decoration: none;
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    font-weight: 300;
    background-color: #c9c9c9;
    color: black;
    text-align: center;
    transition: all 0.2s;
    border-radius: 5px;
    cursor: pointer;
}
.cButton:active {
    opacity: 0.5;
}
.cButton.blue {
    border: 0.1em solid #008CBA;
    background-color: #008CBA;
    color: #FFFFFF;
}
.cButton.green {
    border: 0.1em solid #4CAF50;
    background-color: #4CAF50;
    color: #FFFFFF;
}
.cButton.red {
    border: 0.1em solid #f44336;
    background-color: #f44336;
    color: #FFFFFF;
}
.cButton.black {
    border: 0.1em solid #555555;
    background-color: #555555;
    color: #FFFFFF;
}
@media only screen and (min-width: 768px) {
    .cButton:hover {
        color: black;
        background-color: #FFFFFF;
    }
    .cButton.blue:hover {
        color: #008CBA;
        background-color: #FFFFFF;
    }
    .cButton.green:hover {
        color: #4CAF50;
        background-color: #FFFFFF;
    }
    .cButton.red:hover {
        color: #f44336;
        background-color: #FFFFFF;
    }
    .cButton.black:hover {
        color: #555555;
        background-color: #FFFFFF;
    }
}
.cButton:disabled, .cButton:disabled:hover {
    cursor: not-allowed;
    opacity: 0.5;
    color: #FFFFFF !important;
    border: 0.1em solid #555555 !important;
    background-color: #555555 !important;
}
@media only screen and (max-width: 500px) {
    .cButton.large {
        display: block;
        margin: 0.4em auto;
        width: 100%;
    }
}

/* State Colors */
.ok {
    color: #4CAF50;
}
.done {
    color: #008CBA;
}
.normal {
    color: #555555;
}
.danger {
    color: #f44336;
}
.warning {
    color: #ffc714;
}

/* Spinner de carga */
#mainLoaderContainer {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.4);
}
.mainLoader {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Datatables */
.dataTables_paginate {
    margin-top: 0em !important;
}
.dataTable th {
    text-align: left;
}
@media only screen and (max-width: 767px) {
    div#idTabla_length {
        float: left;
    }
    div#idTabla_filter {
        float: right;
    }
    .dataTables_info {
        float: left !important;
    }
    .dataTables_paginate {
        float: right !important;
    }
    .dataTables_wrapper .dataTables_filter {
        margin-top: 0em !important;
    }
}
@media only screen and (max-width: 410px) {
    .dataTables_filter input[type="search"] {
        width: 8rem;
    }
    .paginate_button {
        width: 2rem;
    }  
}
@media only screen and (max-width: 360px) {
    .dataTables_filter input[type="search"] {
        width: 5rem;
    }
}
.icoBtn:active{
    opacity: 0.5;
}
@media only screen and (min-width: 768px) {
    .icoBtn.hoverEffect:hover{
        transform: scale(1.2);
    }
}
.dtOptBtn, .icoBtn {
    font-size: 1.5rem;
}
.dtOptBtn:active{
    opacity: 0.5;
}
i.far.fa-plus-square.normal.icoBtn.dtOptBtn {
    color: #31b131;
    margin-right: 1rem;
}
i.far.fa-minus-square.normal.icoBtn.dtOptBtn {
    color: #d33333;
    margin-right: 0.5rem;
}
i.icoBtn.dtOptBtn {
    display: inline-block !important;
}
.dt-button {
    border-radius: 6px !important;
}
.dt-button i{
    font-size: 1.1rem;
    color: #525252;
}
div#tasksTable_filter {
    margin-top: 0.5rem;
}
.dt-button-info h2 {
    padding: 0rem !important;
}
@media only screen and (max-width: 767px) {
    .dt-button, .dataTables_length {
        margin-bottom: 1rem !important;
    }
}
.dataTables_length {
    margin-right: 2rem;
    margin-top: 1rem;
}
.dataTables_wrapper {
    border: 1.5px solid #8f8f8f;
    border-radius: 15px;
    padding: 0.5rem;
}
table.dataTable {
    border-spacing: 1px !important;
}

/* Modales */
.modal {
    display: none;
    position: fixed;
    z-index: 101;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
    display: table;
    background-color: #fefefe;
    padding: 2rem;
    border: 1px solid #888;
    margin: auto;
    height: auto;
    border-radius: 15px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media only screen and (max-width: 520px) {
    .modal-content {
        max-width: 19rem;
    }
}
@media only screen and (max-width: 400px) {
    .modal-content {
        max-width: 17rem;
    }
}
@media only screen and (max-width: 370px) {
    .modal-content {
        padding: 1rem;
        max-width: 15rem;
    }
}
.closeModal {
    color: #aaa;
    float: right;
    font-size: 2rem;
    font-weight: bold;
    margin-top: -1.2rem;
}
.closeModal:hover,
.closeModal:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
.modal-content h1, h2, h3 {
    width: 100%;
    text-align: center;
}
.modal-content i.big {
    font-size: 5rem;
    width: 100%;
    text-align: center;
}

/* Modales de creacción|edición */
.dataBlock {
    width: 14rem;
    margin: auto;
    margin-bottom: 0.3rem;
}
.dataBlock input,
.dataBlock select {
    width: 100%;
}
.dataBlock span {
    padding-top: 0.3rem;
}
.dataBlock .chosen-single span {
    position: relative;
    top: -0.3rem;
}
.dataBlock input[type="radio"] {
    width: 1rem !important;
}
.modal-content .chosen-container-single {
    width: 15.2rem !important;
}

/* Tooltips */
.tooltipIcon {
	display: inline;
    color: #555;
    font-size: 1rem;
    position: relative;
}
#tooltip {
    text-align: left;
    color: #fff;
    background: #555;
    position: absolute;
    border-radius: 6px;
    z-index: 100000000;
    padding: 15px;
    border: 0.1em solid black;
}
#tooltip:after {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #555;
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin-left: -0.6rem;
}
#tooltip.top:after {
    border-top-color: transparent;
    border-bottom: 10px solid #555;
    top: -20px;
    bottom: auto;
}
#tooltip.left:after {
    left: 10px;
    margin: 0;
}
#tooltip.right:after {
    right: 10px;
    left: auto;
    margin: 0;
}
abbr[rel~="tooltip"] {
    text-decoration: none !important;
}

/* Calificaciones */
.stars {
    text-align: center;
    direction: rtl;
    unicode-bidi: bidi-override;
}
.stars label {
    color: grey;
    font-size: 3rem;
    margin-left: -0.5rem;
    display: inline-block;
}
.stars input[type="radio"] {
    display: none;
}
.stars label:hover,
.stars label:hover~label {
    color: orange;
}
.stars input[type="radio"]:checked~label {
    color: orange;
}

/* Estados de tareas */
.pendiente {
    color: #4CAF50;
    border: solid 1px #4CAF50;
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
    display: table;
    margin: auto;
    border-radius: 45px;
    text-align: center;
}
.iniciada {
    color: #008CBA;
    border: solid 1px #008CBA;
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
    display: table;
    margin: auto;
    border-radius: 45px;
    text-align: center;
}
.parada {
    color: #ffc714;
    border: solid 1px #ffc714;
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
    display: table;
    margin: auto;
    border-radius: 45px;
    text-align: center;
}
.finalizada {
    color: #555555;
    border: solid 1px #555555;
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
    display: table;
    margin: auto;
    border-radius: 45px;
    text-align: center;
}

/* Tabs */
.tab {
    overflow: hidden;
    border: 1px solid #ccc;
    background-color: #f1f1f1;
}
.tab button {
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
    border-left: 1px solid #8f8f8f;
}
.tab button:hover {
    background-color: #ddd;
}
.tab button.active {
    background-color: #ccc;
}
.tabcontent {
    visibility: collapse;
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-top: none;
}
.tabcontent {
    animation: fadeEffect 1s;
}
@keyframes fadeEffect {
    from {opacity: 0;}
    to {opacity: 1;}
}

/* Daterange picker */
.lightpick__inner header {
    background: #c4c4c4;
    position: relative;
}

/* Chosen múltiple con botonera */
.chosenMultiBtns .chosen-choices {
    height: 4rem !important;
    overflow-y: auto !important;
}
.cton1 {
    float: left;
}
.cton2 {
    float: right;
}
.chosenton {
    width: 7rem;
    background-color: #ffffff;
}

/* Common Colors */
.green {
    color: #4CAF50;
}
.blue {
    color: #008CBA;
}
.orange {
    color: #ffc714;
}
.red {
    color: #f44336;
}
.gray{
    color: #8d8d8d;
}
.darkGray {
    color: #555555;
}

/* Mensajes permanentes */
.tip {
    border: 2px solid #71b371;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-radius: 15px;
    color: #5d5b5b;
    background-color: #eaf8ed;
    text-align: center;
    padding-left: 2rem;
    padding-right: 2rem;
}
@media only screen and (max-width: 600px) {
    #adminLink{
        display: none;
    }
}
