﻿/*General*/


* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
    outline: none;
    /*font-family: 'Roboto', sans-serif;*/
    font-family: 'Montserrat', sans-serif;
    line-height: 100%;
}

html {
    scroll-behavior: smooth;
}

.main {
    /*position: relative;*/
    width: 100%;
    /*min-height: 100vh;*/
    /*min-height: calc(var(--vh, 1vh) * 100);*/
    /*height: calc(var(--vh, 1vh) * 100);*/
    background-color: #fff;
    /**/
    display: flex;
    justify-content: center;
}

.main--blue {
    background-color: #EA0029;
}

.main--gray {
    background-color: #DADAD8;
}

.swal2-container {
    z-index: 999999 !important; /*6*/
}

.Section {
    /*height: calc(100vh - 130px);*/
    height: 100vh;
    background-color: #eff0f6;
    padding: 15px;
    position: relative;
}

/*//Scrollbars*/
@media only screen and (min-width: 600px) {
    /* Scrollbars */
    /* Tamaño del scroll */
    *::-webkit-scrollbar {
        width: 5px;
        height: 5px;
    }

    /* Estilos barra (thumb) de scroll */
    *::-webkit-scrollbar-thumb {
        background: #e1e1e1;
        border-radius: 5px;
    }

        *::-webkit-scrollbar-thumb:active {
            background-color: rgba(255, 255, 255, 0.5);
        }

        *::-webkit-scrollbar-thumb:hover {
            background: #d4d4d4;
            /* box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2); */
        }

    /* Estilos track de scroll */
    *::-webkit-scrollbar-track {
        background: #3A3A3A;
        border-radius: 4px;
    }

    /*// *::-webkit-scrollbar-track:hover,
    // *::-webkit-scrollbar-track:active {
    // background: #6e6e6e;
    //}*/
}
/*-----end Scrollbars-----*/

/*-----Loading-----*/
.pl {
    display: block;
    /*width: 6.25em;
    height: 6.25em;*/
    width: 100px;
    height: 100px;
}

.pl__ring, .pl__ball {
    animation: ring 2s ease-out infinite;
}

.pl__ball {
    animation-name: ball;
}


/* Animation */
@keyframes ring {
    from {
        stroke-dasharray: 0 257 0 0 1 0 0 258;
    }

    25% {
        stroke-dasharray: 0 0 0 0 257 0 258 0;
    }

    50%, to {
        stroke-dasharray: 0 0 0 0 0 515 0 0;
    }
}

@keyframes ball {
    from, 50% {
        animation-timing-function: ease-in;
        stroke-dashoffset: 1;
    }

    64% {
        animation-timing-function: ease-in;
        stroke-dashoffset: -109;
    }

    78% {
        animation-timing-function: ease-in;
        stroke-dashoffset: -145;
    }

    92% {
        animation-timing-function: ease-in;
        stroke-dashoffset: -157;
    }

    57%, 71%, 85%, 99%, to {
        animation-timing-function: ease-out;
        stroke-dashoffset: -163;
    }
}

/*-----end Loading-----*/


/*Input controls*/
.Input__container {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.Input__container {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.Input__container--row {
    flex-direction: row;
    align-items: center;
    /*padding: 20px 0;*/
}


.Input__container label,
.Input__container .Input__label {
    color: #FFFFFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    /*line-height: normal;*/
    margin: 0px 0 10px;
}

.Input__container .Input__label--desc {
    color: #2D2A26;
    font-size: 20px;
    font-style: italic;
    font-weight: 500;
}

.Input__container--row label {
    margin: 0 10px 0 10px;
}

.tooltip,
.tooltip--left {
    flex-shrink: 0;
    color: #9CABAF;
    font-size: 16px;
    font-weight: 500;
    width: 25px;
    height: 25px;
    background-color: #E5EBED;
    border: 1px solid #BEC9CC;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
}

    .tooltip > div,
    .tooltip--left > div,
    .tooltip > img {
        display: none;
        transition: height 0.3s;
        z-index: 999; /*3*/
    }

    .tooltip:hover > div,
    .tooltip--hovered > div,
    .tooltip--left:hover > div,
    .tooltip--left--hovered > div {
        position: absolute;
        top: -45px;
        display: block;
        /*width: 250px;*/
        min-width: 65px;
        white-space: nowrap;
        /**/
        font-size: 12px;
        background-color: #F4F8F9;
        color: #9CABAF;
        text-align: center;
        padding: 10px;
        border-radius: 0 0 5px 5px;
        /**/
        border: 2px solid #BEC9CC;
    }

    .tooltip:hover > div,
    .tooltip--hovered > div {
        left: -22px;
    }

    .tooltip--left:hover > div,
    .tooltip--left--hovered > div {
        right: -22px;
    }

    .tooltip:hover div::before,
    .tooltip--hovered div::before,
    .tooltip--left:hover div::before,
    .tooltip--left--hovered div::before {
        position: absolute;
        content: "";
        left: -2px;
        top: -10px;
        /*width: 250px;*/
        width: 100%;
        height: 10px;
        background-color: #F4F8F9;
        border-radius: 5px 5px 0 0;
        /**/
        /*border: 2px solid #BEC9CC;*/
    }

    .tooltip:hover div::after,
    .tooltip--hovered div::after,
    .tooltip--left:hover div::after,
    .tooltip--left--hovered div::after {
        position: absolute;
        content: "";
        height: 8px;
        width: 8px;
        background: #F4F8F9;
        bottom: -6px;
        transform: translate(-50%) rotate(45deg);
        transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        /**/
        border: 2px solid #BEC9CC;
        border-top: none;
        border-left: none;
    }

    .tooltip:hover div::after,
    .tooltip--hovered div::after {
        left: 30px;
    }

    .tooltip--left:hover div::after,
    .tooltip--left--hovered div::after {
        right: 19px;
    }

    .tooltip:hover img,
    .tooltip--hovered img {
        position: absolute;
        left: -305px;
        top: 30px;
        display: block;
        width: 350px;
    }

.tooltip-contenido {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    background-color: #F4F8F9;
    color: #9CABAF;
    text-align: left;
    padding: 12px 16px;
    border-radius: 8px;
    z-index: 1000;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    width: max-content;
    max-width: 320px;
    white-space: normal;
    word-wrap: break-word;
    transition: opacity 0.3s ease, visibility 0.3s ease, bottom 0.3s ease;
    font-size: 12px;
}

    .tooltip-contenido::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -6px;
        border-width: 6px;
        border-style: solid;
        border-color: #F4F8F9 transparent transparent transparent;
    }

    .tooltip-disparador:hover + .tooltip-contenido,
    .tooltip-disparador:focus + .tooltip-contenido,
    .tooltip-contenido:hover {
        visibility: visible;
        opacity: 1;
        bottom: 140%;
        z-index: 999;
    }

.tooltip-disparador i {
    color: #9CABAF;
    font-size: 16px;
    font-weight: 500;
    background-color: #E5EBED;
    border: 1px solid #BEC9CC;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.tooltip-contenedor {
    position: relative;
    display: inline-block;
    cursor: pointer;
    color: #FFFFFF;
    font-size: 16px;
}

.form__item.sndFolioContainer {
    display: flex;
    flex-wrap: wrap-reverse
}

.sndFolioContainer .Input__container {
    width: 50%
}

@media (max-width: 768px) {
    .tooltip-contenido {
        max-width: 65vw;
    }

    .sndFolioContainer .Input__container {
        width: 100%
    }
}

@media only screen and (min-width: 1400px) {
    .tooltip-contenedor {
        font-size: 20px;
    }
}

/*Imagen inicio*/
/*.imgInicio > img {
    height: 95%;
    width: 95%;
}*/

.Input__container input[type=text],
.Input__container input[type=tel],
.Input__container input[type=email],
.Input__container input[type=password],
.Input__container input[type=number],
.Input__container select {
    border: none;
    border-radius: 19px;
    background: #FFF;
    font-size: 18px;
    padding: 10px 30px;
    color: #0D2E55;
    font-weight: 500;
    width: 100%;
}

.Input__container input[type=date] {
    border: none;
    border-radius: 19px;
    background: #FFF;
    font-size: 18px;
    padding: 10px 30px;
    color: #EA0029;
    font-weight: 500;
    width: 100%;
}

    .Input__container input[type=text]::placeholder,
    .Input__container input[type=tel]::placeholder,
    .Input__container input[type=email]::placeholder,
    .Input__container input[type=password]::placeholder,
    .Input__container input[type=date]::placeholder,
    .Input__container input[type=number]::placeholder,
    .Input__container select::placeholder,
    .Input__container select option[disabled] {
        font-weight: 300;
        color: #BEC9CC;
        /*font-style: italic;*/
    }

    /*.Input__container input[type=date]::placeholder {
        font-weight: 300;
        color: #EA0029;*/
    /*font-style: italic;*/
    /*}*/

    .Input__container input[type=text]:disabled,
    .Input__container input[type=tel]:disabled,
    .Input__container input[type=email]:disabled,
    .Input__container input[type=password]:disabled,
    .Input__container input[type=date]:disabled,
    .Input__container input[type=number]:disabled,
    .Input__container select:disabled {
        border: 1px solid #6F8094;
        background: #F2F6FB;
        color: #6F8094;
        font-weight: 400;
    }



.Input__container input[type=submit],
.Input__container input[type=button],
.Input__container .ButtonCall {
    border-radius: 19px;
    color: #EA0029;
    padding: 10px;
    border: none;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    background: #FFFFFF;
}

.Input__container .button--cancel,
.Input__container .button--info,
.Input__container .button {
    border-radius: 19px;
    color: #EA0029;
    padding: 10px;
    border: none;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    background: #FFFFFF;
}

.Input__container .button {
    /* border: 1px solid #0AD1AB;
    background: #0AD1AB;
    box-shadow: 0px 0px 10px 0px rgba(10, 209, 171, 0.61);*/
}

.Input__container .button--cancel {
    border: 1px solid #E83434;
    background: #E83434;
    box-shadow: 0px 0px 10px 0px rgba(232, 52, 52, 0.61);
}

.Input__container .button--info {
    border: 1px solid #0D4492;
    background: #0D4492;
    box-shadow: 0px 0px 10px 0px rgba(13, 68, 146, 0.61);
}



    .Input__container input[type=submit]:disabled,
    .Input__container input[type=button]:disabled,
    .Input__container .button:disabled,
    .Input__container .button--cancel:disabled,
    .Input__container .button--info:disabled {
        background-color: white;
        /*border: 1px solid white;*/
        box-shadow: none;
    }

.Input__hidden {
    display: none;
}

.Input__radio {
    color: #9CA3A5;
    font-size: 20px;
    font-weight: 400;
    /**/
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 16px;
}

    .Input__radio .Input__radio__input {
        display: none;
    }

    .Input__radio .Input__radio__fake {
        align-self: end;
        width: 24px;
        height: 24px;
        background-color: white;
        border: 1px solid #BEC9CC;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .Input__radio .Input__radio__input:checked ~ .Input__radio__fake {
        background-color: #0AD1AB;
    }

.Input__list {
    /*width: 100%;*/
    /*max-width: 300px;*/
    max-height: 200px;
    /*padding: 15px;*/
    background-color: white;
    border: 1px solid #DCDCDC;
    /*border-radius: 5px;*/
    border-radius: 0 0 5px 5px;
    overflow-x: auto;
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    z-index: 99; /*2*/
    /* left: 0;
    top: 55px;*/
    /*bottom: 0;*/
}

    .Input__list > p {
        width: 100%;
        padding: 18px;
        font-weight: 500;
        border-bottom: 1px solid rgb(187, 187, 187);
        cursor: pointer;
        color: #EA0029;
    }

        .Input__list > p:hover {
            background-color: #FFFFFF;
            /*color: white;*/
        }

            .Input__list > p:hover::after {
                content: "✓";
                font-size: 20px;
                position: absolute;
                right: 18px;
            }


/*end input controls*/
/*Modal*/
.Modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    /*display: flex;*/
    justify-content: center;
    align-items: center;
    /*background-color: rgba(0,0,0,0.8);*/
    background-color: rgba(13, 13, 30, 0.59);
    z-index: 99999; /*5*/
}

.Modal__show {
    display: flex;
}

.Modal__card {
    position: relative;
    width: 100%;
    max-height: 100%;
    max-width: 800px;
    background-color: white;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.Modal__header {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    /*border-bottom: 1px solid rgb(187, 187, 187);*/
}

.Modal__footer {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border-top: 1px solid rgb(187, 187, 187);
}

.Modal__close {
    color: rgba(0, 45, 116, 0.9);
    font-size: 40px;
    font-weight: 400;
    cursor: pointer;
    line-height: 1;
}

.Modal__title {
    font-size: 20px;
    font-weight: 500
}

.Modal__body {
    /*display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;*/
    width: 100%;
    max-height: calc(100% - 130px);
    overflow-y: auto;
}

.Modal__container {
    display: flex;
    width: 100%;
    padding: 15px;
    flex-direction: column;
}
/*-----end Modal-----*/


/*-----Nav bar-----*/
.navbar {
    background-color: white;
    height: 80px;
    width: 100%;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navbar__group-container {
    height: 100%;
    align-items: center;
    display: flex;
}

.navbar__logo {
    height: 100%;
}

.navbar__userName {
    display: none;
    color: #0AD1AB;
    font-size: 16px;
    font-weight: 700;
    margin-right: 20px;
}

.navbar__links-container {
    display: none;
    /*width: 100%;*/
}

@media only screen and (min-width: 800px) {
    .navbar__links-container {
        display: flex;
    }

    .navbar__userName {
        display: block;
    }
}

.form__container,
.form__container--nowrap,
.form__container--nowrap-responsive {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    position: relative;
    gap: 10px;
    gap: 24px;
}

.form__container--nowrap {
    flex-direction: row;
    flex-wrap: nowrap;
}

.form__item,
.form__item--20,
.form__item--25,
.form__item--30,
.form__item--40,
.form__item--50,
.form__item--60,
.form__item--70,
.form__item--80 {
    flex-grow: 1;
    width: 100%;
    display: flex;
    /*flex: 100%;*/
    /*flex-direction: column;*/
    /*padding-bottom: 10px;*/
    align-items: center;
}

.form__item_r {
    flex-grow: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
}


@media only screen and (min-width: 700px) {
    .form__container {
        flex-direction: row;
    }

    .form__container--nowrap-responsive {
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .form__item {
        /*padding-right: 10px;*/
    }

    .form__item--10 {
        /*padding-right: 10px;*/
        flex: 5%;
    }

    .form__item--20 {
        /*padding-right: 10px;*/
        flex: 15%;
    }

    .form__item--25 {
        /*padding-right: 10px;*/
        flex: 22%;
    }

    .form__item--30 {
        /*padding-right: 10px;*/
        flex: 25%;
    }

    .form__item--40 {
        /*padding-right: 10px;*/
        flex: 35%;
    }

    .form__item--50 {
        /*padding-right: 10px;*/
        flex: 45%;
    }

    .form__item--60 {
        /*padding-right: 10px;*/
        flex: 53%;
    }

    .form__item--70 {
        /*padding-right: 10px;*/
        flex: 63%;
    }

    .form__item--80 {
        /*padding-right: 10px;*/
        flex: 73%;
    }
}

.form__container--hidde {
    display: none;
}

/*Loading*/
.Loading {
    display: none;
    position: fixed;
    top: 0;
    z-index: 9999999; /*7*/
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.7);
    /*background-color: rgba(13, 13, 30, 0.60);*/
    opacity: 0;
    transition: opacity 300ms
}


.Loading__show {
    opacity: 1;
    display: flex;
}
/*-----end Loading-----*/

.Card {
    flex: 48;
    margin: 0 10px 20px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
    border: 1px solid rgba(0,0,0,.125);
    transition: box-shadow 300ms;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    /*max-height: 165px;*/
}

    .Card > img {
        min-height: 50px;
        max-height: 90px;
        height: 100%;
    }

    .Card > p {
        color: #002D74;
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        line-height: 1;
        flex: 99%;
    }

.Card__data {
    width: 100%;
    margin-bottom: 20px;
}

    .Card__data div {
        display: flex;
        padding-bottom: 5px;
        flex-wrap: wrap;
    }

    .Card__data p {
        font-weight: 700;
        text-align: center;
        white-space: nowrap;
        margin-right: 10px;
    }

    .Card__data span {
        font-weight: 500;
        color: #002D74;
    }

.Card__actions {
    width: 100%;
    display: flex;
    justify-content: space-around;
}

    .Card__actions img {
        width: 40px;
        cursor: pointer;
        margin: 0 10px;
    }
