:root {
  --hue: 205;
  --saturation: 100%;
  --lightness: 50%;
  --primary-color: hsl(var(--hue), var(--saturation), var(--lightness)); /*azul claro*/
  --secondary-color: hsl(calc(var(--hue) + 180), var(--saturation), var( --lightness)); /*rojo-anaranjado*/
  --terciary-color: hsl(calc(var(--hue) - 120), var(--saturation), var(--lightness)); /*verde claro*/
  --body-bg: hsl(var(--hue), calc(var(--saturation) * 0.05), calc(var(--lightness) + 40%));
  --body-bg-pink: hsl(calc(var(--hue) * 0), calc(var(--saturation) * 0.67), calc(var(--lightness) + 30%));
  --contenido-bg: hsl(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) + 50%));
  --border-width: 1px;
  --font-family: "Source Sans Pro";
  --font-family-second: "IBM Plex Serif", serif;
  --font-family-alt: "Quattrocento";
  --font-size-sm: clamp(0.8rem, 0.17vw + 0.76rem, 0.89rem);
  --font-size-base: clamp(1rem, 0.34vw + 0.91rem, 1.19rem);
  --font-size-md: clamp(1.25rem, 0.61vw + 1.1rem, 1.58rem);
  --font-size-lg: clamp(1.56rem, 1vw + 1.31rem, 2.11rem);
  --font-size-xl: clamp(1.95rem, 1.56vw + 1.56rem, 2.81rem);
  --font-size-xxl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
  --font-size-xxxl: clamp(3.05rem, 3.54vw + 2.17rem, 5rem);
  --line-height-base: 1.5;
  --card-width: 90%;
  --card-padding: 24px 34px;
  --card-bg: hsl(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) + 50%));
  --card-border-color: hsla(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) * 1.8), 1);
  --card-font-family: var(--font-family);
  --card-font-size: 1.2rem;
  --card-text-color: hsl(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) * 0.7));
  --card-link-padding: 3px 9px;
  --card-link-bg: var(--secondary-color);
  --card-link-color: hsl(calc(var(--hue) + 180), var(--saturation), calc(var( --lightness) * 3));
  --card-link-family: var(--font-family);
  --card-link-size: 1.10rem;
  --card-link-decoration: none;
  --card-shadow: hsla(0, 0%, 0%, 0.1);
  --color-pre: hsl(calc(var(--hue) + 50), calc(var(--saturation) * 0.2), var(--lightness)); 
  --bg-color-pre: hsl(var(--hue), calc(var(--saturation) * 0.1), calc(var(--lightness) * 0.35));
  --color-code: hsl(calc(var(--hue) * 0.28), calc(var(--saturation) / 2), var(--lightness));

  /* variables para list-colapse */
  
  /* colores */
    --bg-color: #79a8a9;
    --bg-color-dark: #1f4e5f;
    --card-color: #f4f7f7;
    --text-color: #1f4e5f;

  /* medidas */
    --padding: 1em;
    --height: 4em;
    --shadow: 5px;
    --perspective: 150px;

  /* fuentes */
    --delay: 0.1s;
}

:root[data-theme=dark] {
  --hue: 120;
  --lightness: 70%;
  --body-bg: hsl(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) * 0.25));
  --body-bg-pink: hsla(calc(var(--hue) * 0), calc(var(--saturation) * 0), calc(var(--lightness) - 50%), .7);
  --contenido-bg: hsla(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) * 0.1), 0.5);
  --border-width: 3px;
  --line-height-base: 1.55;
  --card-width: 92%;
  --card-padding: 34px 42px;
  --card-bg: hsla(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) * 0.2), 0.6);
  --card-border-color: hsla(var(--hue), calc(var(--saturation) * 0), calc(var(--lightness) * 1.8), 0.05);
  --card-font-family: var(--font-family-alt);
  --card-font-size: 1.2rem;
  --card-text-color: hsl(var(--hue), calc(var(--saturation) * 0), var(--lightness));
  --card-link-padding: 0;
  --card-link-bg: null;
  --card-link-color: hsl(calc(var(--hue) + 180), var(--saturation), calc(var( --lightness) * 1.1));
  --card-link-size: 1.35rem;
  --card-link-decoration: underline;
  --card-shadow: hsla(0, 0%, 0%, 0.7);
}

*, *::after, *::before {box-sizing: border-box; scroll-behavior: smooth;}

body {
   font-family: Arial, Helvetica, sans-serif;
   font-size: var(--font-size-base);
   background-color: var(--body-bg);
   line-height: var(--line-height-base);
}

/* css subrayado animado de enlaces */

.enlace {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size .3s;
}
.enlace:hover, 
.enlace:focus,
.enlace:active {transition: all 0.5s ease 0s;display: inline-block;background-size: 100% 2px;}

/* css de background animado en :hover */

.back {
  background-image: linear-gradient(120deg, var(--body-bg-pink), var(--body-bg-pink));
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 100% 0;
  border-bottom: .125rem solid var(--body-bg-pink);
  white-space: nowrap;
  transition: all .2s cubic-bezier(0,0,.24,.9);
}

.back:hover,
.back:focus, 
.back:active {
  display: inline-block;
  transition: all .2s cubic-bezier(0,0,.24,.9);
  background-size: 100% 100%;
}

#background {position: relative;}
#background.active {transition: all 0.3s linear;height: 100px;}
#superior {height: 280px;background: lightgrey;position: relative;transition: height 0.3s ease-out 0s;}
#superior.active {transition: all 0.3s linear 0s;height: 100px; overflow: hidden;}

/* Div que tiene el nombre, el logo y los botones de play y pausa */

#logo-nombre {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  width: 95%;
  margin-left: 10px;
  height: 50px;
  z-index: 550;
}
#nombre {width: 180px;display: flex;justify-content: space-evenly;align-items: center;}
p.logo {
  display: inline-block;
  background-image: url("/assets/favicon/iconos/favicon-32x32.png");
  width: 32px
  ;height: 32px;
}
p.logo:hover {transition: .3s;transform: scale(1.5);}
a.link {display: flex; flex-direction: column; text-decoration: none;}
p.titulo {
  position: relative;
  color: #ffffff;
  word-break: break-word;
  font-weight: 400;
  display: inline-block;
  margin: 0px;
  -webkit-text-stroke: 1px #ffffff;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-fill-color: transparent;
}
p.titulo::after {
  color: #000000;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 99;
  display: inline-block;
  overflow: hidden;
  width: 0%;
  white-space: pre;
  word-break: normal;
  content: attr(data-text);
  transition-timing-function: cubic-bezier(0.39, 0.13, 0.55, 0.88);
  transition-duration: 0.7s;
  transition-property: width;
  will-change: width;
  -webkit-text-fill-color: #ffffff;
  -webkit-text-stroke: unset;
}
a.link:hover p.titulo::after {width: 100%;}

/* Estilo para contenedor y botones stop y play de animación cabecera */

.botones {display: flex;justify-content: space-between;width: 120px;}
#accion-stop, #accion-play {
  display: inline-block;
  position: relative;
  padding: 10px;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
}
#accion-play:hover, #accion-stop:hover {transition: all 0.3s linear; background: black;}
#accion-play i, #accion-stop i {font-size: 2em; color: white;}

/* CSS PARA EL AVISO DE COOKIES */

main {
	margin: 20px auto;
	max-width: 1000px;
	background: #fff;
	min-height: 80vh;
	padding: 20px;
	border-radius: 10px;
}

main p {
	margin-bottom: 20px;
	line-height: 150%;
}

.aviso-cookies {
	display: none;
	background: #fff;
	padding: 20px;
	width: calc(100% - 40px);
	max-width: 300px;
	line-height: 150%;
	border-radius: 10px;
	position: fixed;
	bottom: 20px;
	left: 20px;
	z-index: 1000;
	padding-top: 60px;
	box-shadow: 0px 2px 20px 10px rgba(222,222,222,.25);
	text-align: center;
}

.aviso-cookies.activo {
	display: block;
}

.aviso-cookies .galleta {
	max-width: 100px;
	position: absolute;
	top: -50px;
	left: calc(50% - 50px);
}

.aviso-cookies .titulo,
.aviso-cookies .parrafo {
	margin-bottom: 15px;
}

.aviso-cookies .boton {
	width: 100%;
	background: #595959;
	border: none;
	color: #fff;
	font-family: 'Roboto', sans-serif;
	text-align: center;
	padding: 15px 20px;
	font-weight: 700;
	cursor: pointer;
	transition: .3s ease all;
	border-radius: 5px;
	margin-bottom: 15px;
	font-size: 14px;
}

.aviso-cookies .boton:hover {
	background: #000;
}

.aviso-cookies .enlace {
	display: inline-block;
	color: #4DBFFF;
	text-decoration: none;
	font-size: 14px;
}

/*
  .aviso-cookies .enlace:hover {
    text-decoration: underline;
  } 
*/

.fondo-aviso-cookies {
	display: none;
	background: rgba(0,0,0,.20);
	position: fixed;
	z-index: 999;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
  backdrop-filter: blur(5px);
}

.fondo-aviso-cookies.activo {
	display: block;
}

/* ESTILOS PARA LIST-COLAPSE O MENU DE CONTENIDOS */

.container-list {
  position: absolute;
  top: 8%;
  left: 7%;
  width: 100%;
  max-width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform-style: preserve-3d;
  z-index: 2;
}

@media screen and (max-width: 995px) {
  .container-list {max-width: 50%;}
}

/* Clase que añado para el archivo de menu cambio position */

.container-list.display {display: none;}

.container-list h2 {
  padding-top: var(--padding);
  font-size: var(--font-size-md);
  margin: 0;
}

ul.list-colapse {
  position: relative;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: var(--padding);
  display: flex;
  justify-content: center;
  perspective: calc(var(--perspective) * 3); 
}

.list-colapse .lista-item {
  position: absolute; 
  width: 100%;
  background-color: var(--card-color);
  padding: calc(var(--padding) * 0.5);
  perspective: calc(var(--perspective) / 3);
  border: 1px solid transparent; 
  transition: .5s linear var(--delay);
}

.list-colapse .lista-item:nth-child(even) {
  background-image: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, transparent 100%);
  clip-path: polygon(0 0, 99% 0, 100% 100%, 1% 100%);
}

.list-colapse .lista-item:nth-child(odd) {
  background-image: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.15) 100%);
  clip-path: polygon(1% 0, 100% 0, 99% 100%, 0% 100%);
}

.list-colapse .lista-item:nth-child(even) a {
  transform: rotate3d(1,1,0, -3deg);
  text-indent: 10px; 
} 

.list-colapse .lista-item:nth-child(odd) a {
  transform: rotate3d(1,1,0, 3deg);
  text-indent: 10px; 
} 

.list-colapse .lista-item:nth-child(1) {
  transform: none;
  top: 0;
  z-index: 20;
  opacity: 1;
}
.list-colapse .lista-item:nth-child(2) {
  top: 100%;
  transform: translate3d(0%, -100%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: var(--delay);
  z-index: 19;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(3) {
  top: 200%;  
  transform: translate3d(0%, -200%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 2);
  z-index: 18;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(4) {
  top: 300%;
  transform: translate3d(0%, -300%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 3);
  z-index: 17;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(5) {
  top: 400%;
  transform: translate3d(0%, -400%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 4);
  z-index: 16;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(6) {
  top: 500%;
  transform: translate3d(0%, -500%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 5);
  z-index: 15;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(7) {
  top: 600%;
  transform: translate3d(0%, -600%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 6);
  z-index: 14;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(8) {
  top: 700%;
  transform: translate3d(0%, -700%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 7);
  z-index: 13;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(9) {
  top: 800%;
  transform: translate3d(0%, -800%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 8);
  z-index: 12;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(10) {
  top: 900%;
  transform: translate3d(0%, -900%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 9);
  z-index: 11;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(11) {
  top: 1000%;
  transform: translate3d(0%, -1000%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 10);
  z-index: 10;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(12) {
  top: 1100%;
  transform: translate3d(0%, -1100%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 11);
  z-index: 9;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(13) {
  top: 1200%;
  transform: translate3d(0%, -1200%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 12);
  z-index: 8;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(14) {
  top: 1300%;
  transform: translate3d(0%, -1300%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 13);
  z-index: 7;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(15) {
  top: 1400%;
  transform: translate3d(0%, -1400%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 14);
  z-index: 6;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(16) {
  top: 1500%;
  transform: translate3d(0%, -1500%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 15);
  z-index: 5;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(17) {
  top: 1600%;
  transform: translate3d(0%, -1600%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 16);
  z-index: 4;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(18) {
  top: 1700%;
  transform: translate3d(0%, -1700%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 17);
  z-index: 3;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(19) {
  top: 1800%;
  transform: translate3d(0%, -1800%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 18);
  z-index: 2;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(20) {
  top: 1900%;
  transform: translate3d(0%, -1900%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 19);
  z-index: 1;
  opacity: 0;
}
.list-colapse .lista-item:nth-child(21) {
  top: 2000%;
  transform: translate3d(0%, -2000%, 3px) rotate3d(0,1,1, 180deg);
  transition-delay: calc(var(--delay) * 20);
  z-index: 1;
  opacity: 0;
}

.list-colapse:hover .lista-item {
  transform: none;
  opacity: 1;
}

.list-colapse .lista-item a {
  display: inline-block;
  text-decoration: none;
  color: var(--bg-color-dark);
  font-size: var(--font-size-sm);
  text-align: center;
  white-space: nowrap;
  transition: .3s linear;
}

.list-colapse .lista-item:hover a {transform: none;}

/* estilo botón de modo oscuro */

.modoOscuro {
    position: relative;
    max-height: 36px;
    background: #3494b1;
    display: inline-block;
    margin-right: 20px;
    cursor: pointer;
    outline: none;
    border: none;
    border-radius: 1rem;
    text-align: center;
    transition: all .5s ease; 
}
.modoOscuro span {
    width: 30px;
    max-height: 30px;
    line-height: 30px;
    display: inline-block;
    color: #fff;
    background: none;    
}
.modoOscuro::after {
    content: "";
    display: block;
    background: #fffbf5;
    width: 1.8rem;
    height: 1.8rem;
    position: absolute;
    top: 2px;
    left: 5px;
    right: unset;
    border-radius: 3rem;
    transition: all 1s ease;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .5);
}
.modoOscuro.active {background: #fdd384;}
.modoOscuro.active::after{left:unset;right:5px;}

/* Estilo del Div que contiene el menu hover */

.general {
  position: sticky;
  top: 220px;
  display: flex;
  flex-direction: column;
  z-index: 500;
  transition: .4s linear;
}
.general:hover .temas {transition: 0.4s linear; background: rgba(0, 0, 0, .4);}
.temas {
  width: 100%;
  max-width: 80%;
  position: relative;
  text-align: center;
  transition: .5s linear;
}
.temas > a {
  text-decoration: none;
  width: 100%;
  text-align: center;
  font-size: 2em;
  font-weight: bold;
  display: block;
  color: white;
  padding: 10px;
  border-radius: 16px;
  box-shadow: 4px 4px 5px rgba(255, 255, 255, .4), 8px 8px 3px rgba(255, 255, 255, .6) inset;
  transition: .5s linear;
}
.menu-cabecera {
  display: flex;
  justify-content: space-evenly;
  align-items: flex-start;
  width: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: 1s linear;
}
.temas:hover .menu-cabecera {
  transition: all 1s ease 0s;
  width: 90%;
  height: auto;
  text-align: center;
  padding: 5px;
  visibility: visible;
  opacity: 1;
  position: relative;
  top: 0; 
}
.menu-cabecera div {padding-top: 5px;}
.menu-cabecera > div > a {
  display: block;
  width: 120%;
  font-size: 1.4em;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.3);  /*cornflowerblue*/
  color: aliceblue;
  padding: 0.3em;
  border-radius: 20%;
  box-shadow: 3px 3px 3px rgba(255, 255, 255, .5);
  transition: .5s linear;
}
.menu-cabecera div:hover a {transition: 0.3s linear; box-shadow: 3px 3px 3px rgba(255, 255, 255, .5) inset;} 
.pag-html, .pag-css, .pag-js, .pag-mascotas {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: .5s linear;
}
.pag-html a, .pag-css a, .pag-js a, .pag-mascotas a {
    width: 300px;
    font-size: 1em;
    text-decoration: none;
    color: black;
    display: inline-block;
    padding: 0 30px;
    transition: .5s linear;
}
.html:hover .pag-html, .css:hover .pag-css, .javascript:hover .pag-js, .mascotas:hover .pag-mascotas {
    transition: all 1s ease 0.5s;
    position: relative;
    top: 5px;
    left: 5px;
    width: auto;
    height: auto;
    visibility: visible;
    opacity: 1;
    border-bottom: 2px solid white;
}
.pag-html:hover, .pag-css:hover, .pag-js:hover, .pag-mascotas:hover {
    transition: all 0.3s linear 0s;
    border: 2px solid white;
    border-radius: 16px;
    box-shadow: 3px 3px 3px rgba(0, 0, 255, 0.6), 1px 2px 4px rgba(0, 0, 255, 0.6) inset;
}
.pag-html:hover a, .pag-css:hover a, .pag-js:hover a, .pag-mascotas:hover a {
    transition: all 0.3s linear 0s;
    letter-spacing: 1.2px;
}
.pag-html a:hover, .pag-css a:hover, .pag-js a:hover, .pag-mascotas a:hover {
    transition: all 0.3s ease;
    color: gold;
    box-shadow: 0px 0px 3px Currentcolor, 0px 0px 4px Currentcolor inset;
}

/* Div que contiene el boton svg para abrir menu e iconos sociales */

#bgin {
    display: flex;
    justify-content: space-between;
    position: fixed;
    left: 10px;
    top: 150px;
    overflow-y: visible;
    width: 95%;
    opacity: 0;
    z-index: 300;
    transition: opacity 0.5s;
}

#bgin.bgIn-visible{transition: .3s; opacity: 1;}
#bgin.active {transition: all 0.3s linear 0s;transform: translateY(-70px);}

/* CSS para el menu lateral acordeon */

#icono {overflow: hidden;max-width: 100%;cursor: pointer;}
#icono #icono1 {position: absolute;top: 0px;left: 0px;width: 30px;height: 23px;margin: 10px;}
#icono #icono1 span {
  opacity: 1;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 10px;
  color: white;
  background-color: white;
  position: absolute;
  transform: rotate(0deg);
  transition: .4s ease-in-out;
}
#icono #icono1 span:nth-child(1) {top: 1px;}
#icono #icono1 span:nth-child(2) {top: 9px;}
#icono #icono1 span:nth-child(3) {top: 17px;}
#icono #icono1.open span:nth-child(1) {transform: translateY(9px) rotate(135deg);}
#icono #icono1.open span:nth-child(2) {opacity: 0;transform: translateX(-60px);}
#icono #icono1.open span:nth-child(3) {transform: translateY(-7px) rotate(-135deg);}
.acordeon {height: 70vh;overflow-y: auto;}
.acordeon::-webkit-scrollbar {display: none;}
.acordeon a {text-decoration: none;display: block;color: black;}
#container-acordeon .acordeon .contenido-acordeon {padding-top: 10px;padding-bottom: 10px;}
#container-acordeon .acordeon {
  padding-left: 0;
  display: block;
  position: absolute;
  top: 50px;
  width: 100%;
  max-width: 400px;
  border-radius: 10px;
  background: white;
  box-shadow: rgba(100, 100, 100, 0.2) 6px 2px 10px;
  z-index: 999;
  overflow-y: auto;
  overflow-x: hidden;
  left: -110%;
  transition: left .4s linear;
}
.contenido-acordeon.open {margin-left: 20px; margin-bottom: 10px;}
.contenido-acordeon.open a {margin: 6px;}
#nav1, #nav2, #nav3, #nav4, #nav5, #nav6 {font-size: 16px;padding: 14px 0px 14px 20px; text-transform: uppercase;border-top: 1px solid #dbdcd2;}
#nav1:hover, #nav3:hover, #nav5:hover {transition: all 0.3s;background-image: linear-gradient(to right, rgba(255, 255, 255, 0.3), rgba(0, 0, 0, 0.3));line-height: 20px;letter-spacing: 5px;}
#nav2:hover, #nav4:hover, #nav6:hover {transition: all 0.3s;background-image: linear-gradient(to left, rgba(255, 255, 255, 0.3), rgba(0, 0, 0, 0.3));line-height: 20px;letter-spacing: 5px;}
.enlace-menu {padding-left: 10px;padding-bottom: 10px; }
.item {margin: 6px;padding: 2px;}
.hover-acordeon .enlace {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 2px;
  transition: background-size .3s;
}
.hover-acordeon .enlace:hover, .hover-acordeon .enlace:focus {transition: all 0.5s ease 0s;display: block;background-size: 100% 2px;font-weight: bold;}
.toggle-acordeon, .contenido-acordeon {cursor: pointer;font-size: 16px;position: relative;letter-spacing: 1.5px;}
.contenido-acordeon {display: none;}
.contenido-acordeon1 {position: absolute;top: 0;left: -100%;opacity: 0;visibility: hidden;transition: all 0.3s;}
.toggle-acordeon a::before, .toggle-acordeon a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  width: 15px;
  height: 2px;
  margin-top: -1px;
  background-color: #5a5858;
  transform-origin: 50% 50%;
  transition: all 0.3s ease-out;
}
.toggle-acordeon a::before {transform: rotate(-90deg);opacity: 1;z-index: 2;}
.toggle-acordeon.active-tab {
  transition: all 0.3s ease;
  background: yellowgreen;
  height: 2.4em;
  text-align: center;
  line-height: 0px;
  font-weight: bold;
  transform: translate(0px, 10px) scale(1.1);
}
.toggle-acordeon a.active::before {transform: rotate(0deg);background: #fff !important;}
.toggle-acordeon a.active::after {transform: rotate(180deg);background: #fff !important;opacity: 0;}

/* Css para el botón de replegar la cabecera */

#replegar-cab {cursor: pointer;position:relative; left: 50%;}
#replegar {width: 2.4em;background: black;border: 2px solid white;transform: rotate(-90deg); cursor: pointer;}
#replegar.active {transition: all 0.3s linear 0s;transform: rotate(90deg);}
#replegar i {font-size: 1.6em;padding: 5px;color: white;animation: top 0.5s linear 0s infinite alternate;}
@keyframes top {
  0%{transform: translate(0, 0);}
  100%{transform: translate(-5px, 0);}
}

/* div que incluyo para esta página con imágenes png */

#png {
  position: relative;
  left: 85%;
  display: flex;
  width: 100%; 
  height: 50px;
  z-index: 1000;
}

#png img {width: 30px; height: 30px;}
#png a {display: block; text-decoration: none; color: white;}
.facepng:hover {transition: 0.2s; background: blue; height: 40px; transform: scale(0.9) translateY(-5px);}
.twitpng:hover {transition: 0.2s; background: rgb(102, 204, 255); height: 40px; transform: scale(0.9) translateY(-5px);}
.linkpng:hover {transition: 0.2s; background: rgb(51, 153, 204); height: 40px; transform: scale(0.9) translateY(-5px);}
.whatpng:hover {transition: 0.2s; background: rgb(102, 255, 102); height: 40px; transform: scale(0.9) translateY(-5px);}
.pintpng:hover {transition: 0.2s; background: rgb(255, 0, 102); height: 40px; transform: scale(0.9) translateY(-5px);}

/* Div que contiene el background-image y el span que hace de mascara */

#bgimagen {
    position: fixed;
    top: 0;
    left: 0;
    width: 101%;
    height: 100vh;
    background-color: lightgrey;
    background-image: url("/imagenes/cuadro1.jpg");
    /* 
      background-image: url("../pagina_inicio/imagenes/amanecer1.jpg");
      background-image: url("../pagina_inicio/imagenes/palmeras.jpg");
      background-image: url("../pagina_inicio/imagenes/playa.jpg");
      background-image: url("../mascotas/imagenes/Animales/aves_palos.jpg");
    */
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    margin: -1px 0px 0px -1px;
    object-fit: cover;
    padding: 0px;
    z-index: 100;
    animation: imagenbg 60s ease infinite;
}

#bgimagen.resize {transition: all 0.3s; height: 25%; background-position: 50% 0%;}
#bgimagen.active {transition: all 0.3s linear 0s; height: 15%; opacity: 0; visibility: hidden;}

@keyframes imagenbg {
    0% {background-image: url("/imagenes/cuadro1.jpg"); opacity: 0.6;}
    5% {background-image: url("/imagenes/cuadro1.jpg"); opacity: 1;}
    10% {background-image: url("/imagenes/cuadro1.jpg"); opacity: 0.6;}
    15% {background-image: url("/imagenes/cuadro1.jpg"); opacity: 0.4;}
    18% {background-image: url("/imagenes/cuadro1.jpg"); opacity: 0.2;}
    20% {background-image: url("/imagenes/amanecer.jpg");opacity: 0.2;}
    25% {background-image: url("/imagenes/amanecer.jpg");opacity: 0.6;}
    30% {background-image: url("/imagenes/amanecer.jpg");opacity: 1;}
    35% {background-image: url("/imagenes/amanecer.jpg");opacity: 0.6;}
    38% {background-image: url("/imagenes/amanecer.jpg");opacity: 0.2;}
    40% {background-image: url("/imagenes/palmeras.jpg");opacity: 0.2;}
    45% {background-image: url("/imagenes/palmeras.jpg");opacity: 0.6;}
    50% {background-image: url("/imagenes/palmeras.jpg");opacity: 1;}
    55% {background-image: url("/imagenes/palmeras.jpg");opacity: 0.6;}
    58% {background-image: url("/imagenes/palmeras.jpg");opacity: 0.2;}
    60% {background-image: url("/imagenes/playa1.jpg");opacity: 0.2;}
    65% {background-image: url("/imagenes/playa1.jpg");opacity: 0.6;}
    70% {background-image: url("/imagenes/playa1.jpg");opacity: 1;}
    75% {background-image: url("/imagenes/playa1.jpg");opacity: 0.6;}
    78% {background-image: url("/imagenes/playa1.jpg");opacity: 0.2;}
    80% {background-image: url("/mascotas/imagenes/Animales/aves_palos.jpg");opacity: 0.2;}
    85% {background-image: url("/mascotas/imagenes/Animales/aves_palos.jpg");opacity: 0.6;}
    90% {background-image: url("/mascotas/imagenes/Animales/aves_palos.jpg");opacity: 1;}
    95% {background-image: url("/mascotas/imagenes/Animales/aves_palos.jpg");opacity: 0.6;}
    98% {background-image: url("/mascotas/imagenes/Animales/aves_palos.jpg");opacity: 0.2;}
    100% {background-image: url("/imagenes/cuadro1.jpg");opacity: 0.2;}
}

.overlay {
    background-attachment: fixed;
    background-image: radial-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%), radial-gradient(rgba(0, 0, 0, 0) 33%, rgba(0, 0, 0, 0.3) 166%);
    background-position-y: 0%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 80%;
    opacity: 1;
    position: absolute;
    top: 20px;
    transition: opacity 0.3s linear 0s;
    width: 100%;
} 

/* Estilo para la parte del contenido */

#contenido {
    display: flex;
    flex-direction: column;
    transition: margin-left .5s;
    position: relative;
    top: 66vh;
    max-width: 95%;
    margin: 20px auto;
    padding-bottom: 30px;
}

#contenido.active {transition: all 0.5s; margin-left: 420px;}

.card {
  width: var(--card-width);
  border: var(--border-width) solid var(--card-border-color);
  border-radius: 6px;
  padding: var(--card-padding);
  background-color: var(--card-bg);
  color: var(--card-text-color);
  font-family: var(--card-font-family);
  font-size: var(--card-font-size);
  box-shadow: 0 2px 15px var(--card-shadow);
  margin-bottom: 10px;
}
.card_header {
  margin-bottom: 0.8rem;
  color: var(--primary-color);
  font-family: "Alfa Slab One";
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  text-shadow: 4px 4px 5px #0005;
}
.card-title {display: inline-block;}
.card_content {margin-bottom: 32px;}
.card_content p {letter-spacing: 2px;}
.card code {font-weight:bold;}
.card code {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 2px;
  transition: background-size .3s;
}
.card code:hover, .card code:focus {transition: all 0.5s ease 0s;display:inline-block;background-size: 100% 2px;}
.card_footer {text-align: center;}
.card_accion {
  display: inline-block;
  border: 0;
  border-radius: 5px;
  padding: var(--card-link-padding);
  background-color: var(--card-link-bg);
  color: var(--card-link-color);
  font-family: var(--card-link-family);
  font-size: var(--card-link-size);
  font-weight: bold;
  text-decoration: var(--card-link-decoration);
}
.padding {padding-top: 100px;}

/* Css para todo el contenido del articulo */

.flex {display: flex;flex-direction: column;}
.flex p {display: flex; justify-content: space-around; gap: 40px;}
.flex p span:nth-child(1) {
  flex: 0;
  display: block;
  font-size: calc(var(--font-size-base) * 1.1);
  font-weight: bold;
  text-align: center;
  padding: 10px;
  background: black;
  color: var(--secondary-color);
  transform: skewX(8deg) skewY(8deg);
}
.flex p span:nth-child(2) {
  flex: 2;
}
.flex p span:nth-child(1):hover, .flex p span:nth-child(2):hover {transition: .3s; background: var(--body-bg);  box-shadow: 2px 2px 8px var(--card-shadow);}

/* Contenedor de background-repeat */

#cont-bg {
  width: 100%;
  max-width: 500px;
  height: 400px;
  border: 2px solid black;
  background-color: lightgrey;
  background-image: url("/imagenes/web.jpg");
}

#text-toggle {
  position: relative;
  top: 30%;
  display: none;  
  transition: all 0.3s ease 0s;
  opacity: 0;
  visibility: hidden;
  font-family: Roboto, sans-serif;
  font-size: calc(var(--font-size-base) * 0.8);
  font-weight: 500;
  margin-left: 10px;
}

#text-toggle.active {
  display: block;
  transition: all 0.3s ease 0s;
  width: 100%;
  max-width: 450px;
  height: auto;
  color: white;
  background: black;
  opacity: 1;
  visibility: visible;
}

#controles {display: flex; position: relative;}

#b, #b1, #b2, #b3, #b4, #b5 {
  border-radius: 30%;
  margin: 20px 0 20px 40px;
  background: green;
  color: white;
  cursor: pointer;
}

#b.active, 
#b1.active, 
#b2.active, 
#b3.active, 
#b4.active, 
#b5.active {
  transition: all 0.2s linear 0s;
  background-color: red;
  transform: scale(1.4);
  color: white;
  border-radius: 100%;
}

#cont-bg.repeat-x {background-repeat: repeat-x;}
#cont-bg.repeat-y {background-repeat: repeat-y;}
#cont-bg.space {background-repeat: space;}
#cont-bg.round {background-repeat: round;}
#cont-bg.space-round {background-repeat: space round;}
#cont-bg.no-repeat {background-repeat: no-repeat;}

#cont-bg1 {
  position: relative;
  width: 100%;
  max-width: 500px;
  height: 200px;
  overflow: auto;
  border: 2px solid black;
  background-image: url("/imagenes/web.jpg");
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: 50% 50%;  
}

#cont-bg2 {
  position: relative;
  top: 20px;
  width: 100%;
  max-width: 500px;
  height: 200px;
  overflow: auto;
  border: 2px solid black;
  background-image: url("/imagenes/web.jpg");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: 25% 50%;  
}

#cont-bg3 {
  width: 100%;
  max-width: 500px;
  height: 400px;
  border: calc(var(--border-width) * 2) solid var(--card-border-color);
  background-color: var(--body-bg);
  background-image: url("/imagenes/web.jpg");
  background-repeat: no-repeat;
  animation: posicion 20s linear 0s 1 forwards paused,
             transform 20s linear 0s 1 forwards paused;
}

#controles1 {
  display: flex;
  justify-content: space-between;
  max-width: 200px;
  margin: 10px 140px;
}

#accion-stop1, #accion-play1, #accion-reboot {
  display: inline-block;
  position: relative;
  padding: 10px;
  cursor: pointer;
  background: none;
  border: 2px solid black;
  border-radius: 50%;
  transition: all 0.3s linear;
}
#accion-stop1:hover, #accion-stop1:focus {transition: all 0.3s linear;background: red;transform: scale(1.3);}
#accion-play1:hover, #accion-play1:focus {transition: all 0.3s linear;background: green;transform: scale(1.3);}
#accion-reboot:hover {transition: all 0.2s linear;background: yellow;transform: scale(1.3);}
#accion-stop1 i, #accion-play1 i, #accion-reboot i {font-size: 2em;color: black;}

@keyframes posicion {
  0% {background-position: 0% 0%;}
  5% {background-position: 0% 0%;}
  10% {background-position: 50% 0%;}
  15% {background-position: 50% 0%;}
  20% {background-position: 100% 0%;}
  25% {background-position: 100% 0%;}
  30% {background-position: 100% 50%;}
  35% {background-position: 100% 50%;}
  40% {background-position: 50% 50%;}
  45% {background-position: 50% 50%;}
  50% {background-position: 0% 50%;}
  55% {background-position: 0% 50%; background-size: auto;}
  60% {background-position: 0% 100%; background-size: auto;}
  65% {background-position: 0% 100%; background-size: auto;}
  70% {background-position: 50% 100%; background-size: auto;}
  75% {background-position: 50% 100%; background-size: auto;}
  80% {background-position: 100% 100%; background-size: auto;}
  85% {background-position: 100% 100%; background-size: auto;}
  90% {background-position: 50% 50%; background-size: contain;}
  95% {background-position: 50% 50%;} 
 100% {background-position: center; background-size: cover;}
}

@keyframes transform {
  0% {transform: translate(0, 0);}
  100% {transform: translate(70px, 0px);}
}

#cont-bg3 span {
  display: inline-block;
  position: relative;
  font-size: calc(var(--font-size-base) * 0.8);
  padding: 10px;
  background: var(--bg-color-pre);
  color: var(--secondary-color);
  font-weight: bold;
  width: 100%;
  max-width: 200px;
}

#p1 {opacity: 1; transform: translate(0px, 120px); animation: p1 2s linear 0s 1 forwards paused;}
@keyframes p1 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p2 {opacity: 0; transform: translate(130px, 80px); animation: p2 3s linear 1.5s 1 forwards paused;}
@keyframes p2 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p3 {opacity: 0; transform: translate(250px, 30px); animation: p3 4s linear 3s 1 forwards paused;}
@keyframes p3 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p4 {opacity: 0; transform: translate(270px, 140px); animation: p4 4s linear 5s 1 forwards paused;}
@keyframes p4 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p5 {opacity: 0; transform: translate(150px, 70px); animation: p5 4s linear 7s 1 forwards paused;}
@keyframes p5 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p6 {opacity: 0; transform: translate(0px, -20px); animation: p6 4s linear 9s 1 forwards paused;}
@keyframes p6 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p7 {opacity: 0; transform: translate(0px, -50px); animation: p7 4s linear 11s 1 forwards paused;}
@keyframes p7 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p8 {opacity: 0; transform: translate(150px, -100px); animation: p8 4s linear 13s 1 forwards paused;}
@keyframes p8 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p9 {opacity: 0; transform: translate(250px, -120px); animation: p9 4s linear 15s 1 forwards paused;}
@keyframes p9 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p10 {opacity: 0; transform: translate(120px, -320px); animation: p10 4s linear 16.5s 1 forwards paused;}
@keyframes p10 {0%{opacity: 1;}75%{opacity: 0.5;}100%{opacity: 0;}}
#p11 {opacity: 0; transform: translate(120px, -520px); animation: p11 4s linear 18s 3 forwards paused;}
@keyframes p11 {
  0%{transform: translate(120px, -520px); opacity: 1;}
  25%{transform: translate(120px, -520px) scaleX(2); opacity: 0.5;}
  50%{transform: translate(120px, -520px); opacity: 1;}
  75%{transform: translate(120px, -520px) scaleX(2); opacity: 0.5;}
  100%{transform: translate(120px, -520px) scaleX(1); opacity: 1; padding: 10px;}
}

#bg-size {
  background-image: url("/mascotas/imagenes/chihuahua1.png"), url("/mascotas/imagenes/san-bernardo1.png"), url("/mascotas/imagenes/pastor-aleman1.png");
  background-repeat: no-repeat;
  background-position: 10% 50%, 30% 50%, 50% 50%;
  background-attachment: fixed;
}

#bg-size.uno {
  background-image: url("/mascotas/imagenes/chihuahua1.png"), url("/mascotas/imagenes/pastor-aleman1.png"), url("/mascotas/imagenes/san-bernardo1.png");
  background-position: 0% 50%, 25% 50%, 50% 50%;
  background-size: 400px;
}

#bg-size.dos {
  background-image: url("/mascotas/imagenes/chihuahua1.png"), url("/mascotas/imagenes/pastor-aleman1.png"), url("/mascotas/imagenes/san-bernardo1.png");
  background-position: 10% 50%, 30% 50%, 50% 50%;
  background-size: 100px 300px;
}

#bg-size.tres {
  background-image: url("/mascotas/imagenes/chihuahua1.png"), url("/mascotas/imagenes/pastor-aleman1.png"), url("/mascotas/imagenes/san-bernardo1.png");
  background-position: 10% 50%, 30% 50%, 50% 50%;
  background-size: 200px 300px;
}

#bg-size.cuatro {
  background-image: url("/mascotas/imagenes/chihuahua1.png"), url("/mascotas/imagenes/pastor-aleman1.png"), url("/mascotas/imagenes/san-bernardo1.png");
  background-position: 0% 50%, 25% 50%, 50% 50%;
  background-size: cover;
  background-clip: content-box;
}

#bg-size.cinco {
  background-image: url("/mascotas/imagenes/chihuahua1.png"), url("/mascotas/imagenes/pastor-aleman1.png"), url("/mascotas/imagenes/san-bernardo1.png");
  background-position: 0% 50%, 10% 50%, 20% 50%;
  background-size: contain;
}

.flex1 {display: flex;flex-direction: column;justify-content: space-around; align-items: flex-start;}
.flex1 .cabecera {
  width: 100%;
  max-width: 95%;
  font-size: 1.5em;
  font-weight: bold;
  padding: 0 20px;
  color: #fff;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: space-between;
}
.flex1 .cabecera span {
  flex: 1;
  display: block;
  font-size: calc(var(--font-size-base) * 1.1);
  font-weight: bold;
  text-align: center;
  padding: 10px;
  background: black;
  color: var(--secondary-color);
  transform: skewX(8deg) skewY(8deg);
}
.flex1 p {display: flex;justify-content: space-between;align-items: center;column-gap: 20px;}
.flex1 p span:nth-child(1) {
  flex: 1;
  display: block;
  font-size: calc(var(--font-size-base) * 1.1);
  font-weight: bold;
  text-align: center;
  padding: 10px;
  background: black;
  color: var(--secondary-color);
  transform: skewX(8deg) skewY(8deg);
}
.flex1 p span:nth-child(2) {flex: 2;}
.flex1 p span:nth-child(1):hover, .flex1 p span:nth-child(2):hover {transition: .3s; background: var(--body-bg);  box-shadow: 2px 2px 8px var(--card-shadow);}
.flex1 p code {flex: 1;}
#controles2 {position: relative; width: 100%;max-width: 500px;display: flex;justify-content: space-around;}
#bsz, #bsz1, #bsz2, #bsz3, #bsz4 {
  border-radius: 30%;
  background: green;
  color: white;
  cursor: pointer;
}

#bsz.active, #bsz1.active, #bsz2.active, #bsz3.active, #bsz4.active {
  transition: all 0.2s linear 0s;
  background-color: red;
  transform: scale(1.4);
  color: white;
  border-radius: 100%;
} 
#text-toggle1 {
  display: none; 
  position: relative; 
  transition: all 0.3s ease 0s;
  opacity: 0;
  visibility: hidden;
  font-family: Roboto, sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  margin-left: 10px;
  transition: all 0.3s ease 0s;
}

#text-toggle1.active {
  display: block;
  transition: all 0.3s ease 0s;
  width: 100%;
  max-width: 450px;
  height: auto;
  padding: 10px;
  background: black;
  color: white;
  opacity: 1;
  visibility: visible;
  transform: translate(100px, -150px);
}

#cont-bg4 {
  width: 100%;
  max-width: 600px;
  height: 300px;
  border: 10px navy;
  border-style: dotted double;
  background: grey;
  background-image: url("/imagenes/playa.jpg");
  background-size: 600px 300px;
  background-clip: border-box; 
  background-origin: border-box;
}
#cont-bg5 {
  margin: 20px 0px;
  width: 100%;
  max-width: 600px;
  height: 300px;
  border: 10px navy;
  border-style: dotted double;
  background: grey;
  background-image: url("/imagenes/playa.jpg");
  background-size: 600px 300px;
  background-origin: padding-box;
  background-clip: padding-box; 
  }
#cont-bg4 p {margin: 30px 50px;color: white;}
#cont-bg5 p {margin: 30px 20px 0px 150px;color: white;}

/* Estilo para el botón de subir páginas */

#boton-subir {position: fixed; top: 90vh; right: 50px; width: 40px; height: 40px; opacity: 0; transition: 0.5s linear; z-index: 2000;}
#boton-subir a {display: block; text-decoration: none; width: 40px; height: 40px;}
#boton-subir i {display: block; font-size: 30px; color: black; background:white; height: 40px; padding: 5px;}
#boton-subir.active {transition: .5s linear; opacity: 1;}

/* Estilo para boton y formulario de contacto */

#ver {
  width: 130px;
  height: 50px;
  background-color: #111;
  color: #fff;
  border: none;
  outline: none;
  text-transform: uppercase;
  cursor: pointer; 
  position: fixed;
  top: 50%;
  right: 0%;
  z-index: 1000;
  transition: all 0.3s ease-in-out;
}
#ver::before {
  content: "";
  background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
  position: absolute;
  top: -2px;
  left: -2px;
  background-size: 400%;
  z-index: -1;
  filter: blur(5px);
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  animation: borde 20s linear infinite;
  opacity: 0;
  transition: opacity .3s ease-in-out;
  border-radius: 10px;
}
#ver:active {color: #000;}
#ver:active::after {background: transparent;}
#ver:hover::before {opacity: 1;}
#ver::after {
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  background: #111;
  left: 0;
  top: 0;
  border-radius: 10px;
}
@keyframes borde {
  0% {background-position: 0 0;}
 50% {background-position: 400% 0;}
 100% {background-position: 0 0;}
}
#ver.active {
  transition: 0.3s ease-in-out;
  transform: translate(-310%, 0%);
  border-radius: 30%;
  color: #7c7fe0;
  border: 2px solid black;
  background-color: lightgrey;
  font-family: impact;
  font-weight: bold;
}
.navegacion {
  position: fixed;
  width: 100%;
  width: 400px;
  height: 100%;
  top: 0;
  overflow-y: auto;
  overflow-x: hidden;
  opacity: 0;
  visibility: hidden;
  z-index: 1010;
  transition-delay: 300ms;
  right: 0;
}
.navegacion.active {opacity: 1;visibility: visible;transition-delay: 0s;}
.navegacion.active .navegacion_1 {
  background-color: #7c7fe0;
  transform: translate(0, 0);
  transition: transform 300ms linear, background-color 0s linear 599ms;
}
.navegacion.active .navegacion_1::after {
  width: 300%;
  border-radius: 50%;
  animation: elastic 150ms ease 300.5ms both;
}
.navegacion_1 {
  position: absolute;
  width: 100%;
  max-width: 400px;
  height: 100%;
  top: 0;
  right: 0;
  overflow: hidden;
  z-index: 999999;
  transform: translate(-100%, 0);
  transition: transform 300ms linear, background-color 0s linear 300ms;
}
.navegacion_1::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  right: 0;
  background-color: #7c7fe0;
  border-radius: 50%;
  z-index: -1;
  transition: all 300ms linear;
}

@keyframes elastic {
  0% {border-radius: 50%;}
  45% {border-radius: 0;}
  65% {
    border-top-right-radius: 40px 50%;
    border-bottom-right-radius: 40px 50%;
  }
  80% {border-radius: 0;}
  90% {
    border-top-left-radius: 20px 50%;
    border-bottom-left-radius: 20px 50%;
  }
  100% {border-radius: 0;}
}

#formulario {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90vh;
  font-family: cursive;
}

#formulario input, #formulario textarea {width: 100%;padding: 5px;outline: none;resize: none;}
#formulario label {line-height: 1.9rem;} /* equivalen a 30.4px */
#formulario input[type="submit"] {
  width: 90%;
  transform: translate(6%);
  padding: 3px;
  margin-top: 0.6rem;
  font-family: cursive;
  font-weight: bold;
  cursor: pointer;
}

#formulario fieldset {padding: 20px 40px;}

/* div de iconos con imágenes png en form lateral */

#png1 {
  position: relative;
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100%; 
  height: 50px; 
  z-index: 1000;
}

#png1 img {width: 30px; height: 30px;}
#png1 i {font-size: 24px; width: 40px; height: 40px;}
#png1 i {color: #fff; padding: .3em 0 0 .3em;}
#png1 a, #png1 i {text-decoration: none; display: block;}
#png1 .facepng:hover {transition: 0.2s; background: blue; height: 40px; transform: scale(0.9) translateY(-5px);}
#png1 .linkpng:hover {transition: 0.2s; background: rgb(51, 153, 204); height: 40px; transform: scale(0.9) translateY(-5px);}
#png1 .gmailpng:hover {transition: 0.2s; background: rgb(255, 0, 0); height: 40px; transform: scale(0.9) translateY(-5px);}

/* CSS para el pie de página */

#pie {
  position: relative;
  left: 0;
  width: 100%;
  height: auto;
  /* bottom: 0; */
  bottom: -62vh;
  background: lightgrey;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#pie.active {transition: margin-left 0.5s linear; margin-left: 360px;}

/* Estilo para formemail del footer */

#formulario-email {
  --button-text-color: #fff;
  --button-front-color: #670F0F;
  --button-shadow-right-color: #3B1212;
  --button-shadow-bottom-color: #430808;
  --form-gap: 20px;
  position: relative;
}

#ver-form {
  position: absolute;
  bottom: 0;
  left: 20px;
  transition: all .4s linear;
  white-space: pre;
  word-break: normal;
}

#ver-form.active {
  position: fixed;
}

.container-form {
  position: fixed;
  bottom: 0; 
  display: flex;
  justify-content: space-between;
  padding: 0;
  width: 100%;
  max-width: 70%;
  margin: 0;
  gap: 40px;
  align-items: center;
  transition: all .4s linear;
  transform: translate(0%, 100%);
  transform-origin: 0% -50%;
  opacity: 0;
  background: transparent;
}

.container-form.active {
  transform: translate(0%, 0%) scale(0.8);
  opacity: 1;
  background: rgba(255,255,255,.8);
  padding: 20px;
  transition: all .4s linear;
}

.container-form img {
  width: 100%;
  max-width: 50%;
  border-radius: 50%;
}

#form-email {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  gap: 10px var( --form-gap ); 
}

#form-email .error {color: #FF0000;}

.exito {
  text-align: center;
  display: inline-block;
  background-color: rgba(0, 255, 0, 0.6);
  margin: 0px 15px;
  padding: 6px 15px;
}

#form-email legend {
  font-variant: small-caps;
  color: #670F0F;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#form-email > div {
  width: calc( 50% - ( var(--form-gap) / 2 ) );
}

#form-email > div.large {
  width: 100%;
}

#form-email input, #form-email select {
  display: block;
  width: 100%;
  height: 40px;
  padding-inline: 15px;
  outline: none; 
}

#form-email textarea {
  display: block;
  width: 100%;
  padding: 15px;
  outline: none; 
  resize: none;
}

#form-email button {
  background: #670F0F;
  color: #fff;
  width: 50%;
  margin: auto;
  border: none;
  outline: none;
}

.button, #form-email .button {
  margin: 10px 0 0 10px;
  display: inline-block;
  padding: 20px 10px;
  color: var(--button-text-color);
  transform: translate(-10px, -10px);
  vertical-align: middle;
  font-family: "Rubik One", sans-serif;
  text-decoration: none;
  font-size: 1em;
  transition: all 0.25s;
  background-color: var(--button-front-color);
  cursor: pointer;
}

.button::after, .button::before {
  position: absolute;
  content: "";
  transition: all 0.5s;
}

.button::before {
  bottom: -10px;
  height: 10px;
  width: 100%;
  left: 5px;
  transform: skewX(45deg);
  background-color: var(--button-shadow-bottom-color);
}

.button::after {
  right: -10px;
  height: 100%;
  width: 10px;
  bottom: -5px;
  transform: skewY(45deg);
  background-color: var(--button-shadow-right-color);
}

.button:active {
  margin-left: 20px;
  margin-top: 20px;
}

.button:active::before {
  bottom: -5px;
  height: 5px;
  left: 3px;
}

.button:active::after {
  right: -5px;
  width: 5px;
  bottom: -3px;
}

.container-datos {
  position: absolute;
  top: 120px;
  left: 10%;
}

@media screen and (max-width: 1000px) {
  .container-form {flex-direction: column;}
  .container-form.active {transform: translateY(0%) scale(.8);}
}

#circulo {
  --letra:26; /* numero de letras y espacios */
  --angulo:calc(360deg / var(--letra)); /* para calcular el angulo de rotación */
  width:50%;
  max-width:140px;
  height:100%; 
  position:relative; 
  background: radial-gradient(/*#5f80ad #800080*/ #7B68EE 50%, #0000 50.25%);
  animation: rotar 40s infinite linear; 
  aspect-ratio:1/1;
  border-radius:100%; 
  overflow: hidden; 
  margin: 20px; 
}

@keyframes rotar {
  0% {transform:rotate(0deg);}
  100% {transform:rotate(720deg);}
}

#circulo:hover {
  transition: all 1s linear 0s;
  background: radial-gradient(#999 50%, #7B68EE 50.25%);
}

#circulo:hover #letras-circ i {
  display: block;
  transition: all 1.5s linear 0s;
  background-color: white;
  color: black;
  font-size: 0.8em;
  bottom: 4px;
  text-shadow: red 0 -3px;
  /*
    transform: scale(1.2);
    animation: aparecer 1s infinite alternate;
    @keyframes aparecer {
      0% {opacity: 1;}
      50% {opacity: 0.5;}
      100% {opacity: 0;}
    }
  */
}

#circulo i {
  display:block; 
  font:600 normal 0.8em/1em arial, sans-serif; 
  color:/*#585;*/maroon; 
  width:10%; 
  height:50%; 
  position:absolute;
  top:0; 
  left:45%;
  text-align:center;
  transform-origin:50% 100%;
}

#circulo i:nth-child(2) {transform:rotate(var(--angulo));}
#circulo i:nth-child(3) {transform:rotate(calc(var(--angulo) * 2));}
#circulo i:nth-child(4) {transform:rotate(calc(var(--angulo) * 3));}
#circulo i:nth-child(5) {transform:rotate(calc(var(--angulo) * 4));}
#circulo i:nth-child(6) {transform:rotate(calc(var(--angulo) * 5));}
#circulo i:nth-child(7) {transform:rotate(calc(var(--angulo) * 6));}
#circulo i:nth-child(8) {transform:rotate(calc(var(--angulo) * 7));}
#circulo i:nth-child(9) {transform:rotate(calc(var(--angulo) * 8));}
#circulo i:nth-child(10) {transform:rotate(calc(var(--angulo) * 9));}
#circulo i:nth-child(11) {transform:rotate(calc(var(--angulo) * 10));}
#circulo i:nth-child(12) {transform:rotate(calc(var(--angulo) * 11));}
#circulo i:nth-child(13) {transform:rotate(calc(var(--angulo) * 12));}
#circulo i:nth-child(14) {transform:rotate(calc(var(--angulo) * 13));}
#circulo i:nth-child(15) {transform:rotate(calc(var(--angulo) * 14));}
#circulo i:nth-child(16) {transform:rotate(calc(var(--angulo) * 15));}
#circulo i:nth-child(17) {transform:rotate(calc(var(--angulo) * 16));}
#circulo i:nth-child(18) {transform:rotate(calc(var(--angulo) * 17));}
#circulo i:nth-child(19) {transform:rotate(calc(var(--angulo) * 18));}
#circulo i:nth-child(20) {transform:rotate(calc(var(--angulo) * 19));}
#circulo i:nth-child(21) {transform:rotate(calc(var(--angulo) * 20));}
#circulo i:nth-child(22) {transform:rotate(calc(var(--angulo) * 21));}
#circulo i:nth-child(23) {transform:rotate(calc(var(--angulo) * 22));}
#circulo i:nth-child(24) {transform:rotate(calc(var(--angulo) * 23));}
#circulo i:nth-child(25) {transform:rotate(calc(var(--angulo) * 24));}
#circulo i:nth-child(26) {transform:rotate(calc(var(--angulo) * 25));}
#circulo i:nth-child(27) {transform:rotate(calc(var(--angulo) * 26));} 

/* 
  #social {
    --icono: 4;
    --angulo: calc(360deg / var(--icono));
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    position: absolute;
    top: 3%;
    left: 47%;
    width: 0px;
    height: 0px;
    overflow: hidden;
    visibility: hidden;
    animation: girar 20s infinite linear
  }
  @keyframes girar {
    0% {transform:rotate(0deg);}
    100% {transform:rotate(-360deg);}
  }
  #social i {margin-top: 7px;margin-left: 2px;}
  #pie:hover #social {
    transition: all 1s linear 1s;
    width: auto;
    height: auto;
    overflow: visible;
    visibility: visible;
    z-index: 1000;
    transform-origin: 50% 50%;
  }
  #social:hover span {
    transition: all 1s linear;
  }
  #social:hover div:nth-child(1) {
    transition: all 1s linear;
    transform: translate(50px, 10px);
  }
  #social:hover div:nth-child(2) {
    transition: all 1s linear;
    transform: translate(90px, 20px);
  }
  #social:hover div:nth-child(3) {
    transition: all 1s linear;
    transform: translate(-20px, -20px);
  }
  #social:hover div:nth-child(4) {
    transition: all 1s linear;
    transform: translate(50px, -10px);
  }
  #social .face:hover {
    transition: all 1s linear;
    background: #000099;
    border: 2px solid white;
    border-radius: 20%;
  }
  #social .twit:hover {
    transition: all 1s linear;
    background: #0066FF;
    border: 2px solid black;
    border-radius: 20%;
  }
  #social .gmail:hover {
    transition: all 1s linear;
    background: #FF3300;
    border: 2px solid white;
    border-radius: 20%;
  }
  #social .link:hover {
    transition: all 1s linear;
    background: #006666;
    border: 2px solid black;
    border-radius: 20%;
  }
  #social a {
    display: block;
    width: auto;
    text-decoration: none;
  }
  #social i {
    position: relative;
    display: inline-block;
    font-size: 0.8em;
    background: white; 
    color: black;
    z-index: 10000;
  }

  #social span {
    color: white;
    display: inline-block;
    margin-left: 10px;
    padding-bottom: 10px;
    font-weight: bold;
  }
*/

/* Menú pagination */

#pagination {
    width: 100%;
    max-width: 30vw;
    display: flex;
    justify-content: center;
    gap: 10px;
    vertical-align: middle;
    border-radius: 4px;
    margin-left: 200px;
    padding: 1px 2px 4px 2px;
    border-top: 1px solid #AEAEAE;
    border-bottom: 1px solid #FFFFFF;
    background-color: #DADADA;
    background: linear-gradient(to top, #DBDBDB, #E2E2E2);
    transition: all .2s;
}

#pagination:hover {
    background: linear-gradient(to bottom, transparent, #DBDBDB, transparent);
}

#pagination span {
    width: 100%;
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#pagination a,
#pagination i {
    display: inline-block;
    vertical-align: middle;
    width: 22px;
    color: #7D7D7D;
    text-align: center;
    font-size: 10px;
    padding: 3px 0 2px 0;
    user-select: none;
}

#pagination a {
    margin: 0 2px 0 2px;
    border-radius: 4px;
    border: 1px solid #E3E3E3;
    cursor: pointer;
    box-shadow: inset 0 1px 0 0 #FFF, 0 1px 2px #666;
    text-shadow: 0 1px 1px #FFF;
    background-color: #E6E6E6;
    background: linear-gradient(180deg, #F3F3F3, #D7D7D7);
    padding: 5px;
}

#pagination > a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2em;
    text-align: center;
    padding: 2px 10px;
    color: black;
    transition: all .3s;
}

#pagination i {
    margin: 0 3px 0 3px;
}

#pagination a.current {
    border: 1px solid #E9E9E9;
    box-shadow: 0 1px 1px #999;
    background-color: #DFDFDF;
    background: linear-gradient(180deg, #D0D0D0, #EBEBEB);
}

@media screen and (max-width: 880px) {
    #pagination {background: transparent; border: none; align-items: center; gap: 35px;}
    #pagination a {padding: 10px;}
    #pagination > a {font-size: 0.9em;}
}

@media screen and (max-width: 850px) {
    #pagination {background: transparent; border: none; align-items: center; gap: 55px;}
    #pagination a {padding: 10px;}
    #pagination > a {padding: 7px;}
}

@media screen and (max-width: 700px) {
    #pagination {background: transparent; border: none; align-items: center; gap: 65px;}
    #pagination a {padding: 7px;}
    #pagination > a {padding: 7px;}
}

@media screen and (min-width: 1200px) {
  body {font-size: 120%;}
  #png {left: 90%;}
}
@media screen and (min-width: 801px) and (max-width: 1199px) {
  body {font-size: 100%;}
  .card_header {font-size: 95%;}
  #png {left: 80%;}
  .flex1 p {flex-direction: column;}
}
@media screen and (max-height: 750px) {
   #bgin {top: 130px;}
}
@media screen and (max-height: 650px) {
    body {font-size: 80%;}
    #bgin {top: 100px;}
    #oscuro {transform: scale(0.7);}
    #bgin.active {transform: translateY(0px);}
    #ver {transform: scale(0.7);}
    #ver.active {transition: 0.3s ease-in-out; transform: translate(-180%, 0%) scale(0.7);}
    .navegacion.active {max-width: 250px;}
    #formulario {height: 80vh;}
    #contenedor .acordeon {max-width: 300px;}
}

@media screen and (max-width: 800px) {
    body {font-size: 90%;}
    #oscuro {transform: scale(0.7);}
    .accion {transform: scale(0.7);}
    .menu-cabecera {flex-wrap: wrap;}
    .card_header {font-size: 80%;}
    .padding {padding-top: 30px;}
    #container-acordeon .acordeon {max-width: 200px;}
    #container-acordeon a {font-size: 70%;}
    #contenido.margen {margin-left: 220px;}
    #png {left: 65%;}
    #ver {transform: scale(0.7);}
    #ver.active {transition: 0.3s ease-in-out; transform: translate(-180%, 0%) scale(0.7);}
    .navegacion.active {max-width: 250px;}
    #formulario {height: 80vh;}
    #cont-bg {background-size: 160px 75px;}
    #cont-bg1, #cont-bg2 {background-size: 160px 75px;}
    #cont-bg3 {background-size: 130px 45px;}
    @keyframes transform{from{transform: translate(0, 0);}}
    #p2 {transform: translate(30px, 80px);}
    #p3 {transform: translate(150px, 0px);}
    #p4 {transform: translate(100px, 100px);}
    #p5 {transform: translate(50px, 0px);}
    #controles1 {margin: 10px 70px;}
    #controles1 button i {font-size: 1.2em;}
    #bgin.active {transform: translateY(0px);}
    #controles {max-width: 420px; display: flex;}
    #text-toggle1.active1 {transform: translateX(-70px);}
    #bg-size {background-size: 150px 100px;}
    .flex1 p {flex-direction: column;}
    .flex p {flex-direction: column;}
    #text-toggle6.active  {transform: translate(0, -50%);}
    #text-toggle7.active1 {transform: translate(0, -100%);}
    #text-toggle8.active2 {transform: translate(0, -150%);}
    #text-toggle9.active3 {transform: translate(0, -200%);}
    #text-toggle10.active4 {transform: translate(0, -250%);}
}

@media screen and (max-width: 600px) {
  #controles {left: -20%;}
} 