/*******************************************************************************
*                                    MARK:[*]                                  *
*******************************************************************************/
:root {
   --azul-fuerte: #007bbe;
   --azul-medio: #1d98d3;
   --azul-suave: #a7c8e9;
   --rojo: #c70039;
   --negro: #1e1e1e;
   --gris-oscuro: #1d2327;
   --gris-suave-fondo: #ededed;
   --gris-texto: #f0f0f1;
   --verde: rgb(0, 170, 0);
   --amarillo-logo: #f1d478;
   --letra: Helvetica, sans-serif;
}

html {
   overflow: hidden;
}

body {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
   font-family: var(--letra);
   margin: 0;
   width: 100%;
   height: 100dvh;
   background-color: rgb(252, 252, 252);
   overflow-x: hidden;
}

abbr {
   cursor: help;
}

hr {
   width: 100%;
   border: 1px solid var(--gris-oscuro);
   margin-top: .2rem;
   margin-bottom: .2rem;
   border-radius: 100%;
}

button {
   font-family: var(--letra);
}

/*Colores*/
.rojo {
   color: var(--rojo) !important;
   fill: var(--rojo) !important;
}

.blanco {
   color: var(--gris-texto) !important;
   fill: var(--gris-suave-fondo) !important;
}

.azul {
   color: var(--azul-fuerte) !important;
   fill: var(--azul-fuerte) !important;
}

.resaltado {
   color: var(--negro);
}

.texto-gris {
   color: #4D5656;
}

svg {
   width: 1.2em;
   height: 1.2em;
}

.linea {
   display: flex;
   flex-direction: row;
   width: 100%;
}

img,
video {
   border-radius: .3rem;
}

/*******************************************************************************
 *                                  MARK:[Textos]                              *
 *******************************************************************************/
h1,
h2,
h3,
h4,
h5,
h6 {
   margin: 0;
   text-wrap: balance;
}

h1 {
   font-size: 3rem;
}

h2 {
   font-size: 1.8rem;
}

h3 {
   font-size: 1.3rem;
}

label {
   font-size: 1.2rem;
   font-weight: 500;
   cursor: pointer;
}

/*******************************************************************************
 *                                 MARK:[Flex]                                 *
 *******************************************************************************/
.flex {
   display: flex;
}

.anchocompleto {
   width: 100%;
}

.alturacompleta {
   height: 100%;
}

.caja {
   width: 80%;
}

.caja-media {
   width: 50%;
}

.caja-peque {
   width: 45%;
}

.row {
   flex-direction: row;
}

.column {
   flex-direction: column;
}

.textocentrado {
   text-align: center;
}

.justificado {
   justify-content: center;
}

.between {
   justify-content: space-between;
}

.alinear {
   align-items: center;
}

.supercentrado {
   align-items: center;
   justify-content: center;
}

.pa01 {
   padding: .1rem;
}

.pa02 {
   padding: .2rem;
}

.pa03 {
   padding: .3rem;
}

.pa04 {
   padding: .4rem;
}

.pa05 {
   padding: .5rem;
}

.pa06 {
   padding: .6rem;
}

.pa07 {
   padding: .7rem;
}

.pa08 {
   padding: .8rem;
}

.pa09 {
   padding: .9rem;
}

.pa1 {
   padding: 1rem;
}

.pa2 {
   padding: 2rem;
}

.pa3 {
   padding: 3rem;
}

.pa4 {
   padding: 4rem;
}

.pa5 {
   padding: 5rem;
}

.gap01 {
   gap: .1rem;
}

.gap02 {
   gap: .2rem;
}

.gap03 {
   gap: .3rem;
}

.gap04 {
   gap: .4rem;
}

.gap05 {
   gap: .5rem;
}

.gap1 {
   gap: 1rem;
}

.gap2 {
   gap: 2rem;
}

.gap3 {
   gap: 3rem;
}

.gap4 {
   gap: 4rem;
}

.gap5 {
   gap: 5rem;
}

.gap6 {
   gap: 6rem;
}

.gap7 {
   gap: 7rem;
}

.gap8 {
   gap: 8rem;
}

.wrap {
   flex-wrap: wrap;
}

.no-wrap {
   flex-wrap: nowrap;
}

/*******************************************************************************
 *                              MARK:[Encabezado]                              *
 *******************************************************************************/
#encabezado {
   display: flex;
   flex-direction: row;
   gap: 1rem;
   width: 100%;
   background-color: var(--gris-oscuro);
   padding: .4rem;
   box-shadow: rgb(0 0 0 / 0.1) 0px 4px 6px -1px, rgb(0 0 0 / 0.06) 0px 2px 4px -1px;
}

#enlaces {
   display: flex;
   flex-direction: row;
   width: 100%;
   justify-content: flex-end;
   gap: 1rem;
   padding-right: .5rem;
}

#enlaces a {
   text-decoration: none;
   color: white;
   font-size: 1.3rem;
   gap: .5rem;
   border-radius: .3rem;
   padding: 1rem .4rem;
   width: 10rem;
   height: 6rem;
}

#encabezado a,
#encabezado a svg {
   transition: .5s;
   color: white;
}

#encabezado a:where(:focus, :hover) {
   background-color: rgba(255, 255, 255, .9);
   color: var(--gris-oscuro);
   box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
}

#encabezado a svg {
   font-size: 1.4rem;
   fill: var(--gris-oscuro);
   background-color: white;
   padding: 1rem;
   border-radius: 20px;
   box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
   width: 2rem;
   height: 2rem;
}

:is(#inicio-logo,#encabezado a):where(:focus, :hover) svg {
   fill: var(--negro);
}

#encabezado a:active {
   border: 3px solid white;
   background-color: #c70039;
}
#inicio-logo:where(:focus, :hover){
background-color: white;
}

#inicio-logo,
#inicio-logo-empleado {
   margin-left: 1rem;
   padding: .5rem;
   border-radius: .3rem;
   transition: .3s;
   width: 2rem;
}

/*Encabezado empleado*/
#encabezado {
   justify-content: space-between;
}

#inicio-logo-empleado img {
   width: 10rem;
}

#btn-lateral {
   border: none;
   background-color: transparent;
   margin-right: .5rem;
   width: 3rem;
   height: 3rem;
   fill: var(--gris-texto);
   z-index: 22;
}

#encabezado-lateral {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   width: 16rem;
   height: 100%;
   background-color: var(--negro);
   position: fixed;
   right: -20rem;
   top: 0;
   box-shadow: rgba(60, 64, 67, 0.3) -2px 1px 2px 0px, rgba(60, 64, 67, 0.15) -3px 1px 3px 1px;
   transition: .5s;
   z-index: 20;
}

#encabezado-lateral section{
   padding-top: 3.8rem;
}

#encabezado-lateral.activo {
   right: 0;
}

#encabezado-lateral a {
   width: 100%;
   height: 3rem;
   gap: .5rem;
   background-color: var(--gris-oscuro);
   color: white;
   fill: white;
   text-decoration: none;
   transition: .4s;
   align-items: center;
   padding-left: 2rem;
}

#encabezado-lateral #cerrar_sesion {
   background-color: var(--gris-suave-fondo);
   margin-bottom: 3.8rem;
}
#encabezado-lateral section a.activo{
   background-color: var(--gris-suave-fondo);
   color: var(--negro);
   fill: var(--negro);
}

#encabezado-lateral a:where(:hover, :focus) {
   background-color: var(--negro);
}

/*******************************************************************************
 *                             MARK:[Notificación]                             *
 *******************************************************************************/
#notificacion {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
   align-items: center;
   justify-content: flex-start;
   position: fixed;
   top: -5rem;
   left: .5rem;
   opacity: 0;
   background-color: #fff8ed;
   color: #3f2c01;
   border-left: 5px solid gold;
   border-radius: .3rem;
   gap: .5rem;
   padding: .2rem .5rem;
   font-size: 1rem;
   max-width: 90%;
   animation: 8s notificacion 1 ease-in;
   z-index: 102;
}

@keyframes notificacion {
   0% {}

   10%,
   85% {
      opacity: 1;
      top: 5rem;
   }

   20%,
   80% {
      box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
   }

   100% {}
}

#noti-ico svg {
   width: 1.2rem;
   height: 1.2rem;
   border-radius: 50%;
   padding: .1rem;
}

#noti-ico {
   line-height: 1px;
}

.noti-correcto {
   fill: seagreen;
}

.noti-error {
   fill: #c70039;
}

/*******************************************************************************
 *                              MARK:[Formularios]                             *
 *******************************************************************************/
input {
    font-size: 1.4rem;
    border-radius: .3rem;
    box-shadow: rgb(0 0 0 / .05) 0px 0px 0px 1px, rgb(209 213 219) 0px 0px 0px 1px inset;
    padding: .2rem .5rem;
    border-bottom: 2px solid var(--gris-suave-fondo);

    &:where(:hover, :focus) {
        border: none;
        outline: none;
    }
}

input,
select {
   font-size: 1.4rem;
}

input:invalid {
   background-color: rgba(200, 0, 0, .2);
}

:is(input, select) {
   transition: .3s;
   outline: none;
}

textarea {
   font-family: var(--letra);
   resize: none;
   field-sizing: content;
   min-height: 5rem;
   min-width: 20rem;
   font-size: 1.4rem;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 0;
   border-radius: .3rem;
   border: none;
   background-color: #ecf0f1;
   padding: .5rem;
   box-sizing: border-box;
   transition: .3s;
   border: none;
}

textarea:where(:hover, :focus) {
   background-color: whitesmoke;
   outline: 1px solid #4D5656 !important;
   border: none !important;
}

input:where(:hover, :focus) {
   background-color: whitesmoke;
}

#formlogin button,
input,
input:valid,
select {
   font-family: var(--letra);
   font-size: 1.2rem;
   border: none;
   outline: none;
   background-color: whitesmoke;
   color: var(--gris-oscuro);
   padding: .5rem;
   border-bottom: 2px solid var(--azul-suave);
   transition: .6s;
}

select {
   background-color: var(--azul-medio);
   user-select: none;
}

input:invalid {
   background-color: white !important;
   color: var(--gris-oscuro);
   animation: invalido 0.5s ease;
}

input::placeholder {
   color: var(--gris-oscuro);
   font-style: italic;
   font-weight: 100;
}

.disabled,
input:disabled {
   background-color: #888 !important;
   border-bottom: 2px solid var(--gris);
   cursor: not-allowed !important;
}

@keyframes invalido {
   0% {
      transform: translateX(0);
   }

   20% {
      transform: translateX(-5px);
   }

   40% {
      transform: translateX(5px);
   }

   60% {
      transform: translateX(-5px);
   }

   80% {
      transform: translateX(5px);
   }

   100% {
      transform: translateX(0);
   }
}

input[type="date"]::-webkit-calendar-picker-indicator {
   filter: invert(100%);
   cursor: pointer;
}

#contraseña {
   width: 100%;
   border-radius: .3rem 0 0 .3rem;
}

#mostrarcontra {
   cursor: pointer;
   width: 3rem;
   border-radius: 0 .3rem .3rem 0;
   background-color: var(--azul-fuerte) !important;
}

#mostrarcontra svg {
   fill: white;
   width: 1rem;
   height: 1rem;
}

#mostrarcontra:where(:focus, :hover) {
   border-bottom: 2px solid var(--azul-fuerte) !important;
   background-color: var(--rojo) !important;
}

.nomostrar {
   border-bottom: 2px solid var(--azul-fuerte) !important;
   background-color: var(--rojo) !important;
}

#formulario :is(input, select) {
   width: 15.5rem !important;
}

#formulario>section {
   width: 50%;
   justify-content: center;
   align-content: space-between;
}

/**
* MARK: radios
*/

#radio-cliente,
#radio-empleado,
.radios {
   display: none;
}

#span-cliente,
#span-empleado,
.span-radio {
   transition: .3s;
   border-radius: .3rem;
   padding: .5rem;
   user-select: none;
}

#radio-cliente:checked~#span-cliente,
#radio-empleado:checked~#span-empleado,
.radios:checked~.span-radio {
   background-color: whitesmoke;
   color: var(--azul-fuerte);
   box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

/*Tickets*/
.nombre{
   width: 20rem;
}
.cantidad{
   width: 4rem;
}
.precio-unitario{
   width: 6rem;
}

span.nombre{
   display: flex;
   align-items: center;
   justify-content: flex-start;
   width: 20rem;
}
span.cantidad{
   display: flex;
   align-items: center;
   justify-content: center;
   width: 4rem;
}
span.precio-unitario{
   display: flex;
   align-items: center;
   justify-content: center;
   width: 6rem;
}
#agregar,.eliminar{
   display: flex;
   justify-content: center;
   align-items: center;
   border: 0;
   background-color: var(--verde);
   width: 2rem;
   height: 2rem;
   fill: white;
   border-radius: 50%;
   cursor: pointer;
   box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
   transition: .3s;
   &:where(:hover, :focus) {
      filter: drop-shadow(0 0 0.15rem var(--verde));
   }
}
.eliminar{
   background-color: transparent;
   box-shadow:none;
   fill: var(--rojo);
   &:where(:hover, :focus) {
      filter: none !important;
   }
}

.linea-ticket {
   overflow: hidden;
   background-color: white;
   padding: 0; /* empieza sin padding */
   border-radius: .5rem;
   box-shadow: rgb(0 0 0 / .05) 0px 0px 0px 1px, rgb(209 213 219) 0px 0px 0px 1px inset;
   animation: aparecer-linea 0.5s ease forwards;
}
.linea-ticket.desaparecer{
   animation: desaparecer-linea 0.5s ease forwards;
}

@keyframes aparecer-linea {
   0% {
      max-height: 0;
      padding: 0;
      opacity: 0;
      transform: translateZ(-50em);
   }

   100% {
      max-height: 200px; /* suficiente para que entre el contenido */
      padding: .5rem;
      opacity: 1;
      transform: translateY(0);
   }
}
@keyframes desaparecer-linea {
   0% {
      max-height: 200px; /* suficiente para que entre el contenido */
      padding: .5rem;
      opacity: 1;
      transform: translateY(0);
   }
   100% {
      max-height: 0;
      padding: 0;
      opacity: 0;
      transform: translateZ(-50em);
   }
}

#ticket{
   display: flex;
   overflow: hidden;
   flex-direction: column;
   gap: 1rem;
   background-color: lightblue;
   padding-top: 2rem;
   padding-left: 2rem;
   padding-right: 2rem;
   box-shadow: rgba(0, 0, 0, 0.4) 0px -2px 0px, rgba(0, 0, 0, 0.3) 0px -7px 5px -3px, rgba(0, 0, 0, 0.2) 0px 3px 0px inset;
   transition: height 0.5s ease;
}

#lineas_agregadas{
   transition:.5s ease-in-out;
}

#generar{
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   background-color: var(--azul-fuerte);
   color: white;
   border: none;
   font-size: 1.4rem;
   cursor: pointer;
   padding: .5rem 1rem;
   border-radius: .3rem;
   visibility: hidden;
}
#generar.visible {
   visibility: visible;
   animation: aparecer-generar 0.5s ease forwards;
}
#generar.desaparecer {
   visibility: hidden;
   animation: desaparecer-generar 0.5s ease forwards;
}
@keyframes aparecer-generar {
   0% {
      opacity: 0;
   }
   100% {
      opacity: 1;
   }
}
@keyframes desaparecer-generar {
   0% {
      visibility: visible;
      opacity: 1;
   }
   50% {
      opacity: 0;
   }
   100% {
      opacity: 0;
      visibility: hidden;
   }
}

/*******************************************************************************
 *                                MARK:[Cuerpo]                                *
*******************************************************************************/
main {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
   width: 100%;
   padding-bottom: 6rem;
   padding-top: 2rem;
}

#login {
   margin-top: 15dvh;
   width: fit-content;
   padding: 2rem 0;
   background-color: whitesmoke;
   box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
   border-radius: .3rem;
}

#login img {
   width: 10rem;
   height: fit-content;
   margin-bottom: .5rem;
}

#login h1 {
   text-align: center;
   padding-bottom: 1rem;
}

#login form {
   padding: 0 5dvw;
}

#login footer {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}

#iniciar-sesion {
   margin-top: .5rem;
   box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
   cursor: pointer;
   transition: .3s;
   border-radius: .3rem;
}

#iniciar-sesion:where(:focus, :hover) {
   box-shadow: none;
}

/*Botones*/
.btn-p,
.btn-s,
.btn-t,
.btn-d {
   border: none;
   font-size: 1.4rem;
   text-decoration: none;
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   padding: .5rem 1rem;
   min-width: 8rem;
   cursor: pointer;
   transition: .3s;
   user-select: none;
}

.btn-p {
   background-color: var(--azul-fuerte);
   color: white;
   border-radius: .3rem;
   box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
}

.btn-s {
   background-color: transparent;
   color: var(--azul-fuerte);
   outline: 1px solid #a7c8e9d0;
   border-radius: .3rem;
}

.btn-t {
   background-color: transparent;
   color: #484848;
   font-size: 1.1rem;
   font-weight: bold;
}

.btn-d {
   color: white;
   background-color: #f05a5a;
   border-radius: .3rem;
}

.btn-p:where(:hover,:focus){
   background-color: white;
   color: var(--negro) !important;
}



.btn-modificar svg {
   width: 1.5rem;
   height: 1.5rem;
}

#btn-inicio {
   left: 1rem;
   right: auto;
}

.modificar {
   border: none;
   background-color: transparent;
   fill: var(--azul-fuerte);
}

.seleccionado {
   background-color: gold;
   transition: background-color 0.5s ease;
}

.deseleccionado {
   background-color: whitesmoke;
   transition: background-color 0.5s ease;
}

/*Dialogs*/
#showdialog {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   background-color: rgb(0 0 0 / .3);
   position: fixed;
   inset: 0;
   width: 100%;
   height: 100%;
   z-index: 100;
   padding: 0;
   margin: 0;
   overflow: hidden;
   display: none;
   opacity: 1;
   animation: .2s aparecer 1 ease-in-out;
}

.desaparecer {
   opacity: 1;
   animation: .3s desaparecer 1 ease-in-out;
}

/*Animación aparecer*/
@keyframes aparecer {
   from {
      opacity: 0;
   }

   to {
      opacity: 1;
   }
}

/*Animación desaparecer*/
@keyframes desaparecer {
   from {
      opacity: 1;
   }

   to {
      opacity: 0;
   }
}

dialog {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
   width: fit-content;
   padding: 1rem 1.2rem;
   border: none;
   border-radius: .3rem;
   box-shadow: rgba(0, 0, 0, 0.2) 0px 20px 30px;
   gap: 0;
   opacity: 1;
   animation: .2s aparecer-arriba 1 ease-in-out;
   max-height: 90%;
}

.desaparecer-abajo {
   opacity: 1;
   margin-top: 0;
   animation: .3s desaparecer-abajo 1 ease-in-out;
}

/*Animación aparecer arriba*/
@keyframes aparecer-arriba {
   from {
      opacity: 0;
      margin-top: 5rem;
   }

   to {
      opacity: 1;
      margin-top: 0;
   }
}

/*Animación desaparecer abajo*/
@keyframes desaparecer-abajo {
   from {
      opacity: 1;
      margin-top: 0;
   }

   to {
      opacity: 0;
      margin-top: 5rem;
   }
}

dialog header {
   align-items: flex-end;
   justify-content: flex-end;
   margin-bottom: -2.5rem;
}

dialog b {
   color: var(--rojo);
}



#dialog form {
   display: flex;
   flex-direction: column;
   gap: 1rem;
   padding-bottom: 1rem;
}

#cancelar.cerrar {
   background-color: rgb(255 255 255 / 1);
   border: none;
   fill: var(--gris);
   width: 2rem;
   height: 2rem;
   position: relative;
   top: -1.2dvh;
   right: -.8dvw;
}


/* Acordeones */
details {
   border: 1px solid #aaa;
   border-radius: 4px;
   overflow: hidden;
   transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out;
   max-height: 2.5em;
   padding: 0.5em 0.5em 0;
   box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}

summary:where(:hover, :focus) {
   cursor: pointer;
}

details article {
   margin-top: .5rem;
   margin-bottom: .5rem;
   margin-left: -.5rem;
   width: 100%;
}

summary {
   font-weight: bold;
   margin: -0.5em -0.5em 0;
   padding: 0.5em;
   text-align: left;
   background-color: var(--gris);
   color: white;
   transition: .5s;
}

summary::marker {
   fill: var(--azul);
   color: white;
}

details[open] {
   max-height: 9999rem;
   padding: 0.5em;
   background-color: whitesmoke;
   animation: .3s desplegando 1 ease-in;
}

details[open] summary {
   border-bottom: 1px solid #aaa;
   background-color: var(--rojo);
}

@keyframes desplegando {
   from {
      max-height: 3rem;
   }

   to {
      max-height: 50rem;
   }
}

.encabezado-acordeon {
   width: 100%;
   padding: 0 1rem;
   margin-top: -1.3rem;
}

.contable {
   margin-right: 1.5rem;
   background-color: var(--rojo);
   width: 1.6rem;
   height: 1.6rem;
   text-align: center;
   border-radius: 50%;
   transition: .3s;
   box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}

details[open] .contable {
   background-color: var(--gris);
}


.no-hay {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   width: fit-content;
   font-style: italic;
   outline: thick double #282828;
   border-radius: .4rem;
   padding: .4rem;
}

.contenedor-crud {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   gap: 1rem;
   background-color: white;
   padding: .5rem;
   box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
   border-radius: .5rem;
   min-width: 20rem;
   max-width: fit-content;
}


contenedor-crud :is(a, button) {
   all: unset;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 1.5rem;
   height: 1.5rem;
   background-color: white;
   border-radius: 50%;
   padding: .4rem;
   box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
   transition: .4s;
   border: none;
   cursor: pointer;
   margin: 0;
}

.contenedor-crud :is(a, button):where(:hover, :focus) {
   box-shadow: rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px;
}

.error-message {
   font-size: 1rem;
   color: white;
   background-color: var(--rojo);
   margin-top: 0.5rem;
   animation: invalido 0.5s ease;
   width: 16rem;
   padding: .3rem;
   border-radius: .4rem;
}

.input-error {
   border: 1px solid red;
}

#tickets-creados{
   display: flex;
   align-items: center;
   justify-content: center;
   padding: .5rem;
   position: fixed;
   left: 1rem;
   top: 1rem;
   background-color: white;
   border: none;
   border-radius: .3rem;
   box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
   color: #484848;
   text-decoration: none;
   transition:.3s;
   &:where(:hover, :focus) {
      box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;

   }
}

/*******************************************************************************
 *                                  MARK:[Footer]                              *
 *******************************************************************************/
#version {
   display: flex;
   width: 100%;
   justify-content: center;
   position: fixed;
   bottom: 0;
   color: #484848;
   padding: .5rem;
   font-style: italic;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
   transition: .3s;
   z-index: 30;
}

/*******************************************************************************
 *                                MARK:[Responsive]                            *
 *******************************************************************************/

@media screen and (max-width:720px) {
   .caja {
      width: 100%;
   }

   .caja-media {
      width: 90%;
   }

   .btn-p,
   .btn-s,
   .btn-t,
   .btn-d {
      font-size: 1rem;
   }

   .gap1 {
      gap: .5rem;
   }

   #formulario .flex.row {
      flex-direction: column;
   }
   #formulario label .flex.row{
      flex-direction: row;
   }

   #formulario>section {
      width: auto;
   }

   #formulario h4 {
      text-align: center;
   }

   textarea {
      width: 100%;
      max-width: 15rem;
   }
}