hr {
    width: 90%;
    margin: auto;
    border: 1px solid var(--colortexto);
    border-radius: 50px;
}

.contenedor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 90%;
    margin: auto;
}

.contenedor .contenido1 {
    position: relative;
    padding: 0 20px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 350px;
    max-width: 100%;
    height: 100%;
    justify-content: space-around;
    border-radius: 20px;
    -webkit-box-shadow: 0 4px 10px #3388c4;
    box-shadow: 0 4px 10px #3388c4;
    margin: 20px;
    padding-top: 10px;
    /* Glassmorphims */
    background: rgba(255, 255, 255, 0.02);
    border-radius: 16px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /* ---------------- */
}

/* Modal */
/* The Modal (background) */
.modal {
    display: none;
    position: fixed;
    z-index: 3;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

/* Modal Content */
.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 300px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

/* The Close Button */
.close {
    color: #aaaaaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

.modalcheck i {
    color: #008000;
    font-size: 3em;
    cursor: pointer;
    display: flex;
    justify-content: center;
}

/* -------------- */
.visorfoto {
    height: 150px;
    width: 150px;
    margin: 10px auto;
    z-index: 1;
    position: relative;
    border-radius: 50%;
    overflow: hidden;
}

.visorfotoarticulo {
    width: 300px;
    height: 200px;
    margin: 10px auto;
    z-index: 1;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

.visorfoto .visorimagen {
    display: block;
    margin: auto;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
    object-position: center center;
}

.noligth {
    width: 130px;
    height: 130px;
    border: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: all .5s ease;
}

.visorfotoarticulo .noligth {
    width: 270px;
    height: 170px;
    border: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: all .5s ease;
}

.light {
    opacity: 1;
    filter: blur(6px);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: -1;
    transition: all .5s ease;
}

.noligth:hover {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) scale(2);
}

.burbuja:hover~.noligth {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) scale(2);
}

.burbuja {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0.8;
    filter: contrast(1.1);
}

/*--------------------*/
.formulario {
    width: 100%;
    margin: 5px auto;
    max-height: 360px;
    overflow-y: auto;
    padding-top: 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-around;
}

#Formulario {
    width: 100%;
    margin: 5px auto;
    overflow: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-around;
}

.maininicio .form-group {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    max-width: 300px;
    margin: 2rem auto;
}

.maininicio .form-control {
    display: block;
    width: 90%;
    padding: 0.3rem 1rem;
    font-size: 1rem;
    line-height: 1;
    color: var(--colortexto);
    border: none;
    border-bottom: 2px solid var(--colortexto);
    border-radius: 10px;
    transition: all 0.2s ease;
    background-color: transparent;
}

.maininicio .form-group select option {
    color: #000;
}

.maininicio .form-label {
    position: absolute;
    top: 0.2rem;
    left: 0.3rem;
    width: 100%;
    padding: 0 0.25rem;
    transition: all 0.2s ease;
    color: var(--colortexto);
    text-align: left;
    pointer-events: none;
}

.maininicio .btnolvidolaContrasena {
    font-weight: bold;
    cursor: pointer;
    text-decoration: underline;
    text-align: center;
    width: 100%;
}

.maininicio .btnolvidolaContrasena label {
    cursor: pointer;
}

.form-group {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 90%;
    max-width: 300px;
    margin: 1.2rem auto;
}

.form-groupselect2 {
    position: relative;
    display: flex;
    width: 90%;
    max-width: 300px;
    flex-direction: column;
    flex-wrap: wrap;
    margin: 1.2rem auto;
}

.form-label {
    position: absolute;
    top: 0.5rem;
    left: 0.3rem;
    width: 100%;
    padding: 0 0.25rem;
    transition: all 0.2s ease;
    color: var(--colortexto);
    text-align: left;
    pointer-events: none;
    font-size: 1rem;
}

.form-groupselect2 .form-labelselect2 {
    position: absolute;
    top: -1.5rem;
    left: 0.3rem;
    width: 100%;
    padding: 0 0.25rem;
    transition: all 0.2s ease;
    color: var(--colortexto);
    text-align: left;
    pointer-events: none;
    font-size: 1rem;
    font-weight: bold;
}

.form-group select option {
    color: #000;
}

.form-control {
    display: block;
    width: 240px;
    max-width: 90% !important;
    padding: 0.3rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--colortexto);
    border: none;
    border-bottom: 2px solid var(--colortexto);
    border-radius: 20px;
    transition: all 0.2s ease;
    background-color: transparent;
}

.mainrecuperar .form-control {
    width: 100%;
}

body.dark input[type="date"]::-webkit-calendar-picker-indicator,
body.dark input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

.form-group input,
.form-group select,
.form-group textarea {
    background: transparent;
}

.form-control:focus {
    border-bottom-color: var(--colortexto);
    outline: 0;
}

.form-control:focus+.form-label,
.form-control:not(:placeholder-shown)+.form-label {
    top: -1.2rem;
    left: 0.3rem;
    font-size: 1rem;
    color: var(--colortexto);
    font-weight: bold;
}

select.form-control:not([value=""])+.form-label {
    top: -1.2rem;
    font-size: 1rem;
    color: var(--colortexto);
    font-weight: bold;
}

select.form-control {
    width: 90%;
    padding-right: 1.5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M16.939 7.939 12 12.879l-4.939-4.94-2.122 2.122L12 17.121l7.061-7.06z"></path></svg>') no-repeat right 0rem center;
    background-size: 1.5rem;
    border-radius: 10px;
}

select.form-control:focus {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="transform: rotate(180deg);"><path fill="currentColor" d="M16.939 7.939 12 12.879l-4.939-4.94-2.122 2.122L12 17.121l7.061-7.06z"></path></svg>') no-repeat right 0rem center;
}

body.dark select.form-control {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="filter: invert(1);"><path fill="currentColor" d="M16.939 7.939 12 12.879l-4.939-4.94-2.122 2.122L12 17.121l7.061-7.06z"></path></svg>') no-repeat right 0rem center;
}

body.dark select.form-control:focus {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="filter: invert(1); transform: rotate(180deg);"><path fill="currentColor" d="M16.939 7.939 12 12.879l-4.939-4.94-2.122 2.122L12 17.121l7.061-7.06z"></path></svg>') no-repeat right 0rem center;
}

/* Estilo base para el checkbox */
.checkboxcontratoindefinido {
    display: flex;
    align-items: center;
}

.checkbox-estilo {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #f0f0f0;
    border: 2px solid #cacece;
    border-radius: 3px;
    cursor: pointer;
    height: 20px !important;
    width: 20px !important;
    margin: 5px;
    transition: background-color 0.3s, border-color 0.3s;
}

/* Estilo cuando el checkbox está marcado */
.checkbox-estilo:checked {
    background-color: var(--colorprimary);
    border-color: var(--colorprimary);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

/* Estilo para el checkbox cuando se pasa el mouse por encima */
.checkbox-estilo:hover {
    border-color: var(--colorprimary);
}

/* Estilo para el label del checkbox */
.label-estilo {
    display: inline-block;
    margin-left: 10px;
    font-size: 16px;
    color: var(--colortexto);
    cursor: pointer;
    margin: 5px;
    transition: color 0.3s;
}

/* Cambia el color del texto cuando se pasa el mouse por encima */
.label-estilo:hover {
    color: var(--colortexto);
    font-weight: bold;
}

/* Estilo cuando el checkbox está marcado */
.checkbox-estilo:checked+.label-estilo {
    color: var(--colortexto);
    font-weight: bold;
}

/* ------------------------------------------------ */

.form-group .mostrarocultar {
    position: absolute;
    right: 10px;
    bottom: 5px;
    font-family: "boxicons";
    cursor: pointer;
    border: none;
    color: var(--colortexto);
    width: 25px;
    height: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 0 20px 20px 0;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    z-index: 2;
}

.form-group .mostrarocultar::after {
    font-size: 1.5em;
    content: "\eeaa";
    text-shadow: 0 1px 1px #000;
}

.form-group .mostrarocultar.hide::after {
    font-size: 1.5em;
    content: "\ede6";
    text-shadow: 0 1px 1px #000;
}

.form-group .mostrarocultar:hover {
    text-shadow: 1px 1px 1px #000;
}

.btnCheck {
    position: absolute;
    right: -5px;
    bottom: 2px;
    font-family: "boxicons";
    cursor: pointer;
    border: none;
    background-color: var(--colorprimary);
    color: var(--colortexto);
    width: 35px;
    height: 25px;
    padding-left: 10px;
    padding-right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 0 20px 20px 0;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    z-index: 2;
}

.btnCheck::after {
    font-size: 2em;
    content: "\ea41";
    text-shadow: 0 1px 1px #000;
}

.btnCheck:hover {
    background-color: var(--colorsecundary);
    color: #000;
}

.btnBuscar {
    position: absolute;
    right: -10px;
    top: 5px;
    font-family: "boxicons";
    cursor: pointer;
    border: none;
    background-color: var(--colortexto);
    color: var(--colortextoinvertido);
    box-shadow: 0 2px 2px #000;
    width: 35px;
    height: 25px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 0 20px 20px 0;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    z-index: 2;
}

.btnBuscar::after {
    font-size: 1.5em;
    content: "\ebf9";
}

.btnBuscar:hover {
    background-color: #ffff00;
    color: #000;
    transform: scale(1.1);
}

/*Switche Tabla*/
.switchtabla {
    position: relative;
    display: inline-block;
    width: 80px;
    height: 44px;
    box-sizing: border-box;
}

.switchtabla input {
    display: none;
}

.slidertabla {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ff0000;
    -webkit-transition: .4s;
    transition: .4s;
}

.slidertabla:before {
    position: absolute;
    content: "\ec8d";
    font-family: 'boxicons';
    color: #ff0000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    height: 32px;
    width: 32px;
    left: 3px;
    bottom: 5px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

.slidertabla:after {
    position: absolute;
    content: "No";
    font-family: 'Arial';
    color: #fff;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
}

input:checked+.slidertabla {
    background-color: var(--guardar);
}

input:focus+.slidertabla {
    box-shadow: 0 0 1px var(--guardar);
}

input:checked+.slidertabla:after {
    content: "Si";
    font-family: 'Arial';
    color: #fff;
    top: 50%;
    transform: translateY(-50%);
    left: -30px;
}

input:checked+.slidertabla:before {
    content: "\ea41";
    font-family: 'boxicons';
    color: var(--guardar);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    -webkit-transform: translateX(39px);
    -ms-transform: translateX(39px);
    transform: translateX(39px);
}

/* Rounded sliders */
.slidertabla.round {
    border-radius: 34px;
}

.slidertabla.round:before {
    border-radius: 50%;
}

/*Switche Normal*/
.formulario .switche {
    width: 100%;
    max-width: 300px;
    height: 80px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: auto;
}

.switche .form-groupcheckbox {
    position: relative;
    width: 90%;
    margin: auto;
    margin-bottom: 1.5rem;
}

.switche .form-groupcheckbox .form-label {
    position: absolute;
    top: -20px;
    text-align: center;
    transition: all 0.2s ease;
    color: var(--colortexto);
    font-weight: bold;
    pointer-events: none;
}

.switche .form-groupcheckbox .switch {
    /* switch */
    --switch-width: 80px;
    --switch-height: 40px;
    --switch-bg: red;
    --switch-checked-bg: green;
    --switch-offset: calc((var(--switch-height) - var(--circle-diameter)) / 2);
    --switch-transition: all .5s ease-in-out;
    /* circle */
    --circle-diameter: 30px;
    --circle-bg: #fff;
    --circle-shadow: 1px 1px 2px rgba(146, 146, 146, 0.45);
    --circle-checked-shadow: -1px 1px 2px rgba(163, 163, 163, 0.45);
    --circle-transition: var(--switch-transition);
    /* icon */
    --icon-transition: all .2s cubic-bezier(0.27, 0.2, 0.25, 1.51);
    --icon-cross-color: var(--switch-bg);
    --icon-cross-size: 15px;
    --icon-checkmark-color: var(--switch-checked-bg);
    --icon-checkmark-size: 20px;
    /* effect line */
    --effect-width: calc(var(--circle-diameter) / 2);
    --effect-height: calc(var(--effect-width) / 2 - 1px);
    --effect-bg: var(--circle-bg);
    --effect-border-radius: 1px;
    --effect-transition: all .2s ease-in-out;
}

.switche .form-groupcheckbox input {
    display: none;
}

.switche .form-groupcheckbox .switch {
    display: flex;
}

.switche .form-groupcheckbox .switch i {
    -webkit-transition: var(--icon-transition);
    transition: var(--icon-transition);
    position: absolute;
    height: auto;
    font-size: 2em;
}

.switche .form-groupcheckbox .switch i.bx-check {
    color: var(--icon-checkmark-color);
    -webkit-transform: scale(0);
    transform: scale(0);
}

.switche .form-groupcheckbox .switch i.bx-x {
    color: var(--icon-cross-color);
}

.switche .form-groupcheckbox .slider {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: var(--switch-width);
    height: var(--switch-height);
    background: var(--switch-bg);
    border-radius: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    position: relative;
    -webkit-transition: var(--switch-transition);
    transition: var(--switch-transition);
    cursor: pointer;
}

.switche .form-groupcheckbox .circle {
    width: var(--circle-diameter);
    height: var(--circle-diameter);
    background: var(--circle-bg);
    border-radius: 50%;
    -webkit-box-shadow: var(--circle-shadow);
    box-shadow: var(--circle-shadow);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: var(--circle-transition);
    transition: var(--circle-transition);
    z-index: 1;
    position: absolute;
    left: var(--switch-offset);
}

/* actions */

.switche .form-groupcheckbox input:checked+.switch .slider {
    background: var(--switch-checked-bg);
}

.switche .form-groupcheckbox input:checked+.switch .slider .bx-check {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.switche .form-groupcheckbox input:checked+.switch .slider .bx-x {
    -webkit-transform: scale(0);
    transform: scale(0);
}

.switche .form-groupcheckbox input:checked+.switch .slider::before {
    content: "Si";
    position: absolute;
    left: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 1px 2px #000;
}

.switche .form-groupcheckbox input+.switch .slider::before {
    content: "No";
    position: absolute;
    right: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 1px 2px #000;
}

.switche .form-groupcheckbox input:checked+.switch .slider .circle {
    left: calc(100% - var(--circle-diameter) - var(--switch-offset));
    -webkit-box-shadow: var(--circle-checked-shadow);
    box-shadow: var(--circle-checked-shadow);
    border-radius: 50%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

/*-------------------------------------------*/

.grupofile {
    margin: 20px 10px 20px 12px;
    width: 300px;
    height: 30px;
    position: relative;
}

.inputfile {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.inputfile+label {
    max-width: 80%;
    font-size: 1.25rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    padding: 0.625rem 1.25rem;
}

.inputfile+label svg {
    width: 1em;
    height: 1em;
    vertical-align: middle;
    fill: currentColor;
    margin-top: -0.25em;
    margin-right: 0.25em;
}

.iborrainputfile {
    font-size: 16px;
    font-weight: normal;
}

.inputfile-1+label {
    color: #fff;
    background-color: var(--colorprimary);
    border-radius: 20px;
}

.inputfile-1:focus+label,
.inputfile-1.has-focus+label,
.inputfile-1+label:hover {
    background-color: #ffff00;
    color: #000;
}

.contenedorimagenyeliminar {
    position: relative;
}

.contenedorimagenyeliminar .EliminarImagen {
    background-color: #ff0000;
    border-radius: 50%;
    padding: 5px;
    width: 30px;
    height: 30px;
    border: none;
    position: absolute;
    right: 20px;
    top: -60px;
    z-index: 2;
}

.contenedorimagenyeliminar .EliminarImagen::after {
    font-family: "boxicons";
    content: "\eed4";
    font-size: 1.2em;
    color: #fff;
}

.botonsubirarchivos {
    text-decoration: none;
    color: #000;
    width: 150px;
    background-color: var(--colorprimary);
    text-align: center;
    padding: 10px 0;
    font-weight: bold;
    font-size: 1em;
    border-radius: 20px;
    border: none;
    -webkit-box-shadow: 2px 2px 5px #000;
    box-shadow: 2px 2px 5px #000;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.botonsubirarchivos:hover {
    background-color: var(--colorsecundary);
    color: #fff;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

/*Botones*/
.botones {
    text-align: center;
    width: 100%;
    margin: 10px auto 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    bottom: 0;
    z-index: 8;
    /* Glassmorphims */
    background: var(--botones);
    /* ---------------- */
    padding: 10px;
    border-radius: 20px;
}

.botones button {
    margin: 5px;
    border: none;
    -webkit-box-shadow: 0 4px 5px var(--colorprimary);
    box-shadow: 0 4px 5px var(--colorprimary);
}

.botones button:first-child {
    margin-left: 0;
}

.botones button:last-child {
    margin-right: 0;
}

#FormInicioSesion .botones,
#FormOlvidoContrasena .botones {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.Inicio {
    width: 180px;
    height: 40px;
    overflow: hidden;
    background-color: var(--guardar);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.Inicio:after {
    font-family: "boxicons";
    content: "\eb4e";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Inicio:hover:after {
    top: -50%;
}

.Inicio:before {
    content: "Iniciar Sesión";
    font-size: 18px;
    font-weight: bold;
    width: 100%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Inicio:hover:before {
    top: 50%;
}

.botoncontra {
    width: 200px;
    height: 40px;
    overflow: hidden;
    background-color: var(--guardar);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.botoncontra:after {
    font-family: "boxicons";
    content: "\ee0c";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.botoncontra:hover:after {
    top: -50%;
}

.botoncontra:before {
    content: "Recuperar Contraseña";
    font-size: 18px;
    font-weight: bold;
    width: 100%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.botoncontra:hover:before {
    top: 50%;
}

.DivSubConcepto {
    display: flex;
    justify-content: center;
}

.SubConcepto {
    margin: 5px auto;
    padding: 10px;
    overflow: hidden;
    background-color: var(--colorprimary);
    cursor: pointer;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    border-radius: 50px;
    border: 4px solid #fff;
    box-shadow: 0 2px 4px #000;
    transition: all 0.5s ease;
}

.SubConcepto:hover {
    background-color: var(--colorsecundary);
    color: #000;
}

.Guardar {
    width: 90px;
    height: 40px;
    overflow: hidden;
    background-color: var(--guardar);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.Guardar:after {
    font-family: "boxicons";
    content: "\ee98";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Guardar:hover:after {
    top: -50%;
}

.Guardar:before {
    content: "Guardar";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Guardar:hover:before {
    top: 50%;
}

.botonrecuperar {
    width: 120px;
    height: 50px;
    overflow: hidden;
    background-color: var(--guardar);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.botonrecuperar:after {
    font-family: "boxicons";
    content: "\ee0e";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.botonrecuperar:hover:after {
    top: -50%;
}

.botonrecuperar:before {
    content: "Recuperar Inicio";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.botonrecuperar:hover:before {
    top: 50%;
}

.Subir {
    width: 130px;
    height: 40px;
    overflow: hidden;
    background-color: var(--colorprimary);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 3px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
    border: none;
    -webkit-box-shadow: 0 4px 10px var(--colorprimary);
    box-shadow: 0 4px 10px var(--colorprimary);
}

.Subir:after {
    font-family: "boxicons";
    content: "\ed4e";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Subir:hover:after {
    top: -50%;
}

.Subir:before {
    content: "Subir";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Subir:hover:before {
    top: 50%;
}

.Editar {
    width: 90px;
    height: 40px;
    overflow: hidden;
    background-color: var(--editar);
    cursor: pointer;
    color: #000;
    font-size: 20px;
    position: relative;
    border-radius: 50px;
    margin-left: 5px;
    margin-right: 5px;
}

.Editar:after {
    font-family: "boxicons";
    content: "\ee65";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Editar:hover:after {
    top: -50%;
}

.Editar:before {
    content: "Editar";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Editar:hover:before {
    top: 50%;
}

.Eliminar {
    width: 90px;
    height: 40px;
    overflow: hidden;
    background-color: var(--eliminar);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.Eliminar:after {
    font-family: "boxicons";
    content: "\eed4";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Eliminar:hover:after {
    top: -50%;
}

.Eliminar:before {
    content: "Eliminar";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Eliminar:hover:before {
    top: 50%;
}

.EliminarTodo {
    width: 100px;
    height: 50px;
    overflow: hidden;
    background-color: var(--colorsecundary);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.EliminarTodo:after {
    font-family: "boxicons";
    content: "\eed4";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.EliminarTodo:hover:after {
    top: -50%;
}

.EliminarTodo:before {
    content: "Eliminar Todo";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.EliminarTodo:hover:before {
    top: 50%;
}

.Imprimir,
.Imprimir2 {
    width: 90px;
    height: 40px;
    overflow: hidden;
    background-color: var(--imprimir);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.Imprimir:after,
.Imprimir2:after {
    font-family: "boxicons";
    content: "\ee7d";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Imprimir:hover:after,
.Imprimir2:hover:after {
    top: -50%;
}

.Imprimir:before {
    content: "Imprimir";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Imprimir2:before {
    content: "Imprimir Todos";
    font-size: 16px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Imprimir:hover:before,
.Imprimir2:hover:before {
    top: 50%;
}

.ImprimirResumen {
    width: 90px;
    height: 40px;
    overflow: hidden;
    background-color: var(--pdf);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.ImprimirResumen:after {
    font-family: "boxicons";
    content: "\edbc";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.ImprimirResumen:hover:after {
    top: -50%;
}

.ImprimirResumen:before {
    content: "Resumen Comprobante";
    font-size: 12px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.ImprimirResumen:hover:before {
    top: 50%;
}

.grupo span button {
    background-color: transparent;
    border: none;
    margin-top: -10px;
}

.aumento {
    position: relative;
}

.aumento>.tooltip::before {
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #777;
    top: -5px;
    content: "";
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    height: 0;
    left: 50%;
    margin-left: -6px;
    position: absolute;
    width: 0;
    z-index: 6;
}

.aumento>.tooltip {
    background-color: #777;
    color: #ffffff;
    display: none;
    left: -50px;
    top: 38px;
    padding: 10px;
    border-radius: 20px;
    width: 110px;
    position: absolute;
}

.aumento:hover>.tooltip {
    display: block;
    z-index: 6;
}

.btnAgregar {
    width: 180px;
    border-radius: 30px;
    background-color: var(--guardar);
    color: #fff;
    border: none;
    padding: 2px;
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.btnAgregar:hover {
    background-color: var(--colorsecundary);
    color: #fff;
    -webkit-box-shadow: 1px 1px 0 var(--colorprimary);
    box-shadow: 1px 1px 0 var(--colorprimary);
    text-shadow: 1px 1px #000;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.bx.bx-search {
    font-size: 20px;
}

.VerPDF {
    width: 120px;
    height: 50px;
    overflow: hidden;
    background-color: var(--pdf);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.VerPDF:after {
    font-family: "boxicons";
    content: "\edbc";
    font-size: 35px;
    left: 50%;
    top: 50%;
    position: absolute;
    text-shadow: -1px 1px 2px #000;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.VerPDF:hover:after {
    top: -50%;
}

.VerPDF:before {
    content: "Ver PDF";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.VerPDF:hover:before {
    top: 50%;
}

.archivo {
    display: none;
}

.Enviar {
    width: 90px;
    height: 40px;
    overflow: hidden;
    background-color: var(--colorprimary);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.Enviar:after {
    font-family: "boxicons";
    content: "\ee61";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Enviar:hover:after {
    top: -50%;
}

.Enviar:before {
    content: "Enviar";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Enviar:hover:before {
    top: 50%;
}

.EnviarCorreo {
    width: 150px;
    height: 50px;
    overflow: hidden;
    background-color: var(--colorsecundary);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
    margin-bottom: 10px;
}

.EnviarCorreo:after {
    font-family: "boxicons";
    content: "\ee61";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.EnviarCorreo:hover:after {
    top: -50%;
}

.EnviarCorreo:before {
    content: "Enviar Correo Administrador";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.EnviarCorreo:hover:before {
    top: 50%;
}

.Confirmar {
    width: 120px;
    height: 40px;
    overflow: hidden;
    background-color: var(--guardar);
    cursor: pointer;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font-size: 18px;
    position: relative;
    border-radius: 50px;
}

.Confirmar:after {
    font-family: "boxicons";
    content: "\ea41";
    font-size: 2.2em;
    left: 50%;
    top: 50%;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -47%);
}

.Confirmar:hover:after {
    top: -50%;
}

.Confirmar:before {
    content: "Confirmar";
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 160%;
}

.Confirmar:hover:before {
    top: 50%;
}

/*-------------------------------*/

.tabla2 {
    display: block;
    color: var(--colortexto);
    max-width: 800px;
    height: 100%;
    overflow: auto;
    padding: 5px;
    gap: 20px;
    margin: 20px auto;
    border-radius: 20px;
    /* Glassmorphims */
    background: rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    /* ---------------- */
    -webkit-box-shadow: 0 4px 10px #3388c4;
    box-shadow: 0 4px 10px #3388c4;
}

/*Estilo Tabla Responsive*/

table {
    font-family: "Arial", sans-serif;
    border-collapse: collapse;
    color: var(--colortexto);
    background-color: transparent;
    margin: auto;
    padding-top: 10px;
    font-size: 1em;
    width: 90% !important;
    overflow: auto !important;
}

table td input {
    width: 80% !important;
}

.dt-container {
    color: var(--colortexto);
}

.dt-input {
    color: var(--colortexto);
}

.dt-input option {
    background-color: var(--fondoqleditor);
}

.editor {
    border-radius: 0 0 10px 10px;
    max-height: 120px !important;
    overflow: auto !important;
    box-shadow: 0 4px 10px #3388c4 !important;
    border: none !important;
}

.editor2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0 0 10px 10px;
    max-height: 120px !important;
    width: 100% !important;
    overflow: auto !important;
    box-shadow: 0 4px 10px #3388c4;
    border: none !important;
}

.ql-editor {
    border: none !important;
    color: var(--colortexto);
    border-radius: 0 0 10px 10px;
    width: 100% !important;
    font-size: 1.2em !important;
    font-family: Arial, Helvetica, sans-serif !important;
    background: var(--fondoqleditor) !important;
}

body.dark .ql-toolbar svg {
    fill: #fff !important;
}

.ql-toolbar {
    border: none !important;
    background-color: var(--fondotablaeven) !important;
    color: #fff !important;
    border-radius: 10px 10px 0 0 !important;
    width: 100% !important;
    box-shadow: 0 4px 10px #3388c4 !important;
}

table .ql-editor {
    border: none !important;
    border-radius: 10px;
    color: var(--colortexto);
    box-shadow: 0 4px 10px #3388c4 !important;
    background: var(--fondoqleditor) !important;
}

.ql-editor[data-placeholder]::before {
    color: #aaa !important;
}

th {
    border: none !important;
    background-color: var(--colorprimaryheader);
    color: #fff;
    font-weight: bold;
    text-align: center !important;
    padding: 5px;
}

tr {
    background-color: var(--fondotabla) !important;
}

td {
    text-align: center;
    padding: 5px;
    border: 1.5px solid var(--colortexto);
    margin: auto;
    color: var(--colortexto);
}

tr:nth-child(even) {
    background-color: var(--fondotablaeven) !important;
}

tbody tr:nth-child(even) {
    background-color: var(--fondotablaeven) !important;
}

td img {
    height: 45px;
    width: 45px;
    border-radius: 50%;
    overflow: hidden;
    -o-object-fit: cover;
    object-fit: cover;
    border: 4px solid #fff;
    -webkit-box-shadow: 0 0 5px #000;
    box-shadow: 0 0 5px #000;
    margin-left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #fff;
}

.inputdatatable {
    background-color: #fff;
    width: 100%;
}

.btnBuscarEnTabla {
    border: none;
    -webkit-box-shadow: 0 2px 4px #000;
    box-shadow: 0 2px 2px #000;
    background-color: var(--colorprimary);
    color: #fff;
    border-radius: 50%;
    font-size: 1.2em;
    padding: 2px;
    margin: 0 5px;
    cursor: pointer;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.btnBuscarEnTabla:hover {
    background-color: #ffff00;
    color: #000;
}

.btnEliminarEnTabla {
    border: none;
    -webkit-box-shadow: 0 2px 4px #000;
    box-shadow: 0 2px 4px #000;
    background-color: var(--eliminar);
    color: #fff;
    border-radius: 50%;
    font-size: 1.2em;
    padding: 2px;
    margin: 0 5px;
    cursor: pointer;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.btnEliminarEnTabla:hover {
    background-color: #ffff00;
    color: #000;
}

/*---------------------------------*/
/*Estilo control de pagos*/

.controlpagos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90%;
    margin: auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-around;
    margin-top: 10px;
    border: 1px solid var(--colorsecundary);
    border-radius: 20px;
    padding: 5px;
    margin-bottom: 5px;
    margin-top: 5px;
    -webkit-box-shadow: 2px 2px #000;
    box-shadow: 1px 1px #000, -1px 0 #000;
}

.controlpagos h2 {
    font-size: 1.5em;
    text-transform: uppercase;
    text-align: center;
    color: var(--colortexto);
}

.controlpagos .controlpagos2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    width: 90%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding: 5px;
}

.pago {
    position: relative;
    text-align: center;
    margin: 5px;
}

.pago label:nth-child(1) {
    text-align: center;
}

.pago label {
    color: var(--colortexto);
}

.lbl {
    display: inline-block;
    width: 65px;
    height: 33px;
    background: #979797;
    border-radius: 100px;
    cursor: pointer;
    position: relative;
    -webkit-transition: .2s;
    transition: .2s;
}

.lbl::before {
    content: 'No';
    color: #fff;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-shadow: 1px 1px 1px #000;
}

.lbl::after {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background: #eee;
    border-radius: 100px;
    position: absolute;
    top: 4px;
    left: 4px;
    -webkit-transition: .2s;
    transition: .2s;
}

.switch:checked+.lbl::after {
    left: 36px;
}

.switch:checked+.lbl::before {
    content: 'Si';
    position: absolute;
    left: 10px;
}

.switch:checked+.lbl {
    background: #008f39;
}

.switch {
    display: none;
}

/*-------------------------------------------*/
.ulModalImprimir {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    border: none;
    list-style: none;
}

.ulModalImprimir li {
    padding: 10px;
    cursor: pointer;
    margin: 5px auto;
    border-radius: 50px;
    color: #fff;
    background-color: var(--pdf);
    max-width: 200px;
    box-shadow: 0 4px 4px var(--colorprimary);
    font-weight: bold;
}

.ulModalImprimir li a {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.ulModalImprimir li i {
    font-size: 2em;
    padding: 5px;
}

.ulModalImprimir li span {
    font-weight: bold;
}

/* Estilo personalizado del recorte para simular un círculo */
.cropper-view-box,
.cropper-face {
    border-radius: 50%;
}

.modal-content {
    background-color: var(--fondo);
    border-radius: 16px;
}

/*Switch Género*/
.form-groupcheckbox {
    position: relative;
    width: 90%;
    margin: auto;
    margin-bottom: 1.5rem;
    margin-top: 1rem;
    margin-left: 20px;
}

.form-groupcheckbox .form-label {
    position: absolute;
    top: -20px;
    left: 0;
    transition: all 0.2s ease;
    color: var(--colortexto);
    font-weight: bold;
    pointer-events: none;
}

.form-groupcheckbox .switch {
    /* switch */
    --switch-width: 80px;
    --switch-height: 40px;
    --switch-bg: rgb(255, 0, 128);
    --switch-checked-bg: var(--colorprimary);
    --switch-offset: calc((var(--switch-height) - var(--circle-diameter)) / 2);
    --switch-transition: all .5s ease-in-out;
    /* circle */
    --circle-diameter: 30px;
    --circle-bg: #fff;
    --circle-shadow: 1px 1px 2px rgba(146, 146, 146, 0.45);
    --circle-checked-shadow: -1px 1px 2px rgba(163, 163, 163, 0.45);
    --circle-transition: var(--switch-transition);
    /* icon */
    --icon-transition: all .2s cubic-bezier(0.27, 0.2, 0.25, 1.51);
    --icon-cross-color: var(--switch-bg);
    --icon-cross-size: 15px;
    --icon-checkmark-color: var(--switch-checked-bg);
    --icon-checkmark-size: 20px;
    /* effect line */
    --effect-width: calc(var(--circle-diameter) / 2);
    --effect-height: calc(var(--effect-width) / 2 - 1px);
    --effect-bg: var(--circle-bg);
    --effect-border-radius: 1px;
    --effect-transition: all .2s ease-in-out;
}

.form-groupcheckbox input {
    display: none;
}

.form-groupcheckbox .switch {
    display: flex;
}

.form-groupcheckbox .switch i {
    -webkit-transition: var(--icon-transition);
    transition: var(--icon-transition);
    position: absolute;
    height: auto;
    font-size: 2em;
}

.form-groupcheckbox .switch i.bx-body {
    color: #3388c4;
    -webkit-transform: scale(0);
    transform: scale(0);
}

.form-groupcheckbox .switch i.bx-female {
    color: var(--icon-cross-color);
}

.form-groupcheckbox .slider {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: var(--switch-width);
    height: var(--switch-height);
    background: var(--switch-bg);
    border-radius: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    -webkit-transition: var(--switch-transition);
    transition: var(--switch-transition);
    cursor: pointer;
}

.form-groupcheckbox .circle {
    width: var(--circle-diameter);
    height: var(--circle-diameter);
    background: var(--circle-bg);
    border-radius: 50%;
    -webkit-box-shadow: var(--circle-shadow);
    box-shadow: var(--circle-shadow);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: var(--circle-transition);
    transition: var(--circle-transition);
    z-index: 1;
    position: absolute;
    left: var(--switch-offset);
}

/* actions */

.form-groupcheckbox input:checked+.switch .slider {
    background: var(--switch-checked-bg);
}

.form-groupcheckbox input:checked+.switch .slider .bx-body {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.form-groupcheckbox input:checked+.switch .slider .bx-female {
    -webkit-transform: scale(0);
    transform: scale(0);
}

.form-groupcheckbox input:checked+.switch .slider::before {
    content: "Niño";
    position: absolute;
    left: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 1px 2px #000;
}

.form-groupcheckbox input+.switch .slider::before {
    content: "Niña";
    position: absolute;
    right: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 1px 2px #000;
}

.form-groupcheckbox input:checked+.switch .slider .circle {
    left: calc(100% - var(--circle-diameter) - var(--switch-offset));
    -webkit-box-shadow: var(--circle-checked-shadow);
    box-shadow: var(--circle-checked-shadow);
    border-radius: 50%;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

/*-------------------------------------------*/

.grupofile {
    margin: 20px 10px 20px 12px;
    width: 300px;
    height: 30px;
    position: relative;
}

.grupofile label:nth-child(1) {
    position: absolute;
    color: #000;
    width: 300px;
    top: -18px;
    margin-bottom: 5px;
    padding: 0 0.125rem;
    font-weight: bold;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

.grupofile input[type="file"]::file-selector-button {
    border: 2px solid #6c5ce7;
    padding: 0.2em 0.4em;
    border-radius: 0.2em;
    background-color: var(--colorprimary);
    color: #fff;
    transition: 1s;
}

.grupofile input[type="file"]::-ms-browse:hover {
    background-color: #81ecec;
    border: 2px solid #00cec9;
    color: #000;
}

.grupofile input[type="file"]::-webkit-file-upload-button:hover {
    background-color: #81ecec;
    border: 2px solid #00cec9;
    color: #000;
}

.grupofile input[type="file"]::file-selector-button:hover {
    background-color: #81ecec;
    border: 2px solid #00cec9;
    color: #000;
}

@media screen and (max-width: 1135px) {
    .tabla2 {
        max-width: 100%;
        margin: 10px auto;
    }
}

@media screen and (max-width: 768px) {
    .tabla .form-control {
        width: 100px;
    }

    .contenedor .contenido1 {
        width: 90%;
        margin: auto;
        margin-bottom: 20px;
    }

    .maininicio .form-control {
        width: 90%;
    }

    .grupofile {
        font-size: 90%;
    }

    .contenedorimagenyeliminar .EliminarImagen {
        right: 20px;
    }
}

@media screen and (max-width: 320px) {
    .grupofile {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        position: relative;
        width: 90%;
        margin: auto;
    }

    .grupofile .form-label {
        top: 50px;
    }
}

/*---------------------------------*/