
ion-icon {
 pointer-events: none;
}

:root {
    --clr: #fff;
}

.navigation {
    position: relative;
    width: 100%;
    height: 70px;
    background: #890868;
    display: flex;
    justify-content: center;
    align-items: center;
}
.navigation ul {
    display: flex;
    width: 800px;
}
.navigation ul li {
    position: relative;
    list-style: none;
    width: 70px;
    height: 70px;
    z-index: 1;
}
.navigation ul li a {
    position: relative;
    display: flex;
    Justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    text-align: center;
    font-weight: 500;
}
.navigation ul li a .icon {
    position: relative;
    display: block;
    width: 100%;
    line-height: 75px;
    font-size: 1.5em;
    text-align: center;
    transition: 0.5s;
    color: var(--clr);
}
.navigation ul li.active a .icon {
    transform: translateY(-32px);
}
.navigation ul li a .text {
    position: absolute;
    color: var(--clr);
    top: 95%;
    font-weight: 500;
    font-size: 0.90em;
    letter-spacing: 0.05em;
    transition: 0.5s;
    opacity: 0;
    transform: translateY(20px);
}
.navigation ul li.active a .text {
    opacity: 1;
    transform: translateY(-25px);
}
.indicator {
    position: absolute;
    top: -50%;
    width: 70px;
    height: 70px;
    background: #BD57A2;
    border-radius: 50%;
    border: 6px solid var(--clr);
    transition: 0.5s;
}
.indicator::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -22px;
    width: 20px;
    height: 20px;
    background: transparent;
    border-top-right-radius: 20px;
    box-shadow: 1px -10px 0 0 var(--clr);
}
.indicator::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -22px;
    width: 20px;
    height: 20px;
    background: transparent;
    border-top-left-radius: 20px;
    box-shadow: -1px -10px 0 0 var(--clr);
}
.navigation ul li:nth-child(1).active ~ .indicator {
    transform: translateX(calc(70px * 0));
}
.navigation ul li:nth-child(2).active ~ .indicator {
    transform: translateX(calc(70px * 1));
}
.navigation ul li:nth-child(3).active ~ .indicator {
    transform: translateX(calc(70px * 2));
}
.navigation ul li:nth-child(4).active ~ .indicator {
    transform: translateX(calc(70px * 3));
}
.navigation ul li:nth-child(5).active ~ .indicator {
    transform: translateX(calc(70px * 4));
}
.navigation ul li:nth-child(6).active ~ .indicator {
    transform: translateX(calc(70px * 5));
}
.navigation ul li:nth-child(7).active ~ .indicator {
    transform: translateX(calc(70px * 6));
}
.navigation ul li:nth-child(8).active ~ .indicator {
    transform: translateX(calc(70px * 7));
}
.navigation ul li:nth-child(9).active ~ .indicator {
    transform: translateX(calc(70px * 8));
}
.navigation ul li:nth-child(10).active ~ .indicator {
    transform: translateX(calc(70px * 9));
}




.navigation ul li.active a span menu { /*anim-opacity-start*/
  position: relative;
  display: flex;
    width: 400px;
    height: 70px;
  justify-content: center;
    align-items: center;
    border-radius: 10px;
  background: var(--new-color); /*blue*/
    transition: 0.5s;
    opacity: 1;
    transform: translateY(-130px) translateX(calc(70px * 1));
}
.navigation ul li a span .menu { /*anim-opacity-end*/
    transition: 0.3s;
  opacity: 0;
    transform: translateY(-135px) translateX(calc(70px * 1));
}







.caja-name {
	position: relative;
	width: 350px;
	height: 50px;
}
.caja-name input{
	width: 100%;
	height: 60%;
	background: none;
	color: #000;
	padding-top: 18px;
	border: none;
	outline: 0px;
	font-size: 18px;
}

.caja-name .lbl-name{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	heigth: 100%;
	pointer-events: none;
	border-bottom: 2px solid #c7c7c7;
}

.caja-name .lbl-name:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 100%;
	border-bottom: 3px solid #172BB1;
	transition: all 0.3s ease;
}

.text-name{
	position: absolute;
	bottom: 30px;
	left: 2px;
	transition: all 0.3s ease;
	color: #605F5F;
	font-size: 16px;
}

.caja-name input:focus + .lbl-name .text-name,
.caja-name input:valid + .lbl-name .text-name {
	font-size: 16px;
	color: #172BB1;
}

.caja-name input:focus + .lbl-name:after,
.caja-name input:valid + .lbl-name:after{
	width: 100%;
	
}


.caja-pass {
	position: relative;
	width: 350px;
	height: 50px;
}
.caja-pass input{
	width: 100%;
	height: 60%;
	background: none;
	color: #000;
	padding-top: 20px;
	border: none;
	outline: 0px;
	font-size: 15px;
}

.caja-pass .lbl-pass{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	heigth: 100%;
	pointer-events: none;
	border-bottom: 2px solid #c7c7c7;
}

.caja-pass .lbl-pass:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0%;
	height: 100%;
	border-bottom: 3px solid #172BB1;
	transition: all 0.3s ease;
}

.text-pass{
	position: absolute;
	bottom: 30px;
	left: 2px;
	font-size: 16px;
	transition: all 0.3s ease;
	color: #605F5F;
}

.caja-pass input:focus + .lbl-pass .text-pass,
.caja-pass input:valid + .lbl-pass .text-pass {
	font-size: 16px;
	color: #172BB1;
}

.caja-pass input:focus + .lbl-pass:after,
.caja-pass input:valid + .lbl-pass:after{
	width: 100%;
	
}

.caja-boton {
	position: relative;
	width: 350px;
	height: 170px;
	overflow: hidden;
	border: none;
}

button{
	position: relative;
	width: 350px;
	padding: 10px 0;
	text-align: center;
	top: 20px;
	margin: 10px 0px;
	border-radius: 25px;
	font-weight: bold;
	border: 2px solid #C8C8C8;
	background: transparent;
	color: #605F5F;
	cursor: pointer;
	overflow: hidden;
}

.effect-button{
	background: #172BB1;
	height: 100%;
	width: 0;
	border-radius: 25px;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	transition: 0.5s;
}

button:hover .effect-button{
	width: 100%;
}
 
button:hover{
	border: 2px solid #172BB1;
	background: #172BB1;
	color: #FFFFFF;
}





.cont {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cont .card {
  position: relative;
  width: 400px;
  height: 250px;
  background: #E8E8E8;
  border-radius: 20px;
  backdrop-filter: blur(5);
  box-shadow: 20 20 50px #000;
  cursor: pointer;
  display: flex;
}
.cont .card2 {
  position: relative;
  width: 400px;
  height: 250px;
  background: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.2)
  );
  border-radius: 20px;
  backdrop-filter: blur(5);
  box-shadow: 20 20 50px #000;
  border-top: 2px solid rgba(150, 150, 150, 0.2);
  border-left: 2px solid rgba(150, 150, 150, 0.2);
  border-bottom: 2px solid rgba(200, 200, 200, 0.2);
  border-right: 2px solid rgba(200, 200, 200, 0.2);
  cursor: pointer;
  display: flex;
}

.cont .card .foto{
  position: absolute;
  top: 71px;
  left: 270px;
  width: 110px;
  height: 140px;
  border: 1px solid #fff;
}
.cont .card2 .foto1{
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 95%;
  height: 95%;
  transform: rotate(-3deg);
}
.cont .card2 .foto2{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 50%;
  height: auto;
  transform: rotate(-3deg);
}
.cont .card .logo{
  position: absolute;
  top: 1px;
  right: 50px;
  width: 140px;
  height: 70px;
}

.cont .card .fondo1 {
  position: absolute;
  transform: skewX(-10deg);
  top: 10px;
  left: 30px;
  border-radius: 30px 30px;
  width: 350px;
  height: 229px;
  background: #C8C8C8;
}
.cont .card .fondo2 {
  position: absolute;
  top: 25px;
  right: 0px;
  width: 100px;
  height: 200px;
  background: #C8C8C8;
}
.cont .card .fondo3 {
  position: absolute;
  transform: skewX(-10deg);
  top: 5px;
  right: 10px;
  border-radius: 0px 30px;
  width: 210px;
  height: 60px;
  background: #E8E8E8;
}
.cont .card .fondo4 {
  position: absolute;
  top: 5px;
  right: 0px;
  border-radius: 0px 20px;
  width: 100px;
  height: 60px;
  background: #E8E8E8;
}
.cont .card .fondo5 {
  position: absolute;
  transform: skewX(-10deg);
  bottom: 10px;
  right: 1px;
  border-radius: 30px 0px 0px;
  width: 145px;
  height: 20px;
  background: #E8E8E8;
}

.cont .card2 h2 {
  position: absolute;
  top: -15px;
  left: 17px;
  font-size: 2.8em;
  font-weight: 900;
  color: rgb(150, 0, 130);
  line-height: 120%;
  font-family: Arial;
}
.cont .card2 h1 {
  position: absolute;
  bottom: -15px;
  left: 17px;
  font-size: 3.1em;
  font-weight: 900;
  color: rgb(150, 0, 130);
  line-height: 120%;
  font-family: Arial;
}

.cont .card p {
  position: absolute;
  top: 80px;
  left: 60px;
  color: #626262;
  text-align: justify;
  font-size: 12px;
}


.loading--show {
  display: flex;
}

.file-select::before {
  background-color: #5678EF;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  content: 'Seleccionar'; /* testo por defecto */
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.file-select input[type="file"] {
  opacity: 0;
  width: 200px;
  height: 32px;
  display: inline-block;
}

.file-select {
  position: relative;
  display: inline-block;
}

