body {
  font-family: 'Lato', sans-serif;
  font-size: 18px;
}

.page h1 {
  color: var(--h1-color);
 text-shadow: 2px 2px #fff;
}
.page h2 {
  color: var(--h2-color);
  font-size: 140%;
  text-shadow: 2px 2px #000099;
  
}
a {
  color: var(--link-text-color);
}

.note {
  border-left: 4px solid var(--note-color);
  color: var(--note-text-color);
}

.num_block {
  border-left: 4px solid #16a085;
}
.num_block[prefix="Teorema"] {
  border-left: 4px solid #2ecc71;
}
.num_block[prefix="Lema"] {
  border-left: 4px solid #f39c12;
}

.image_expand {
  -webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
  box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
}

.interactive {
  text-align: center;
  border: 1px solid var(--interactive-border-color);
  border-radius: 2px;
  background: var(--interactive-color);
}
.image_link {
  border: 2px solid var(--image-border-color);
}

li {
  padding: 0 0 0.4em 0;
}

code, code_math {
  display: inline;
}
code, pre, code_math {
  font-family: 'UbuntuMono', monospace;
  font-size: 107%;
  color: #27ae60;
}
xmp {
  font-family: 'UbuntuMono', monospace;
  font-size: 107%;
  color: #e67e22;
  border: 1px solid #e67e22;
}

.katex {
  font-size: 110% !important;
}

.cover_title {
  position: absolute;
  top: 595px;
  left: 57px;
  right: 0px;
  color: #0089cd;
  font-size: 350%;
  text-align: center;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
}
.cover_subtitle {
  position: absolute;
  left: 57px;
  right: 0px;
  bottom: 45px;
  text-align: center;
  color: #0089cd;
  font-size: 220%;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
}

.chap_text {
  position: absolute;
  right: var(--page-right-margin);
  top: 155px;
  color: #5555FF;
  font-size: 400%;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
  text-shadow: 2px 2px #ffffff;  
}
.chap_name {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  left: 45px;
  width: 582px;
  top: 595px;
  height: 170px;
  color: #FFFF00;
  font-size: 200%;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
}

.chap_name2 {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	left: 45px;
	width: 582px;
	top: 595px;
	height: 170px;
	font-size: 240%;
    padding: 10px;  
    border-radius: 5px;  
    text-shadow: 2px 2px 10px #fff;  
    animation: sparkles 3s infinite;  
}  

@keyframes sparkles {  
    0% {  
        text-shadow: 0 0 5px #fff;  
    }  
    50% {  
        text-shadow: 0 0 5px #fff;  
    }  
    100% {  
        text-shadow: 2px 2px 1px #fff;  
    }  
}  

table {
  border-collapse: collapse;
  border: 1px solid var(--text-color);
}
table td {
  border: 1px solid var(--text-color);
}

body.dark .invertcolor {
  filter: invert(1) hue-rotate(180deg);
}


#tool_calculadora {
  width: 35px;
  height: 35px;
  background-image: url("iconos/unidad.png");
}

body.dark #tool_calculadora {
  background-image: url("iconos/unidad.png");
}


.columna1 {
	width:250px;
	
	
}
.columna2 {
	position:absolute;
	top:40px;
	left:340px;
	width:250px;
	font-size:18px;	
}

.columna2a {
	position:absolute;
	top:100px;
	left:340px;
	width:250px;
	font-size:17px;
	
	
}

.columna2j {
	position:absolute;
	top:35px;
	left:340px;
	width:250px;
	font-size:17px;
	
}


.columna1_1 {
	width:265px;
	background-color: rgba(50,250,250,0.15);
    border-radius: 20px;
    padding: 20px;
	font-size: 16px;
	color:black;
	
}

.columna1_2 {
	width:255px;
	background-color: rgba(50,250,250,0.15);
    border-radius: 20px;
    padding-top:10px;
	padding-bottom:15px;
	font-size: 16px;
	color:black;
	
}

.columna2_1 {
	position:absolute;
	top:50px;
	left:330px;
	width:255px;
	background-color: rgba(0, 89, 189, 0.2);
    border-radius: 20px;
    padding: 25px;
	padding-top:20px;
	padding-bottom:50px;
	font-size: 16px;
	color:#2073d6;
    margin-left: auto;
    margin-right: auto;
	margin-top: 120px; 
}

/* Cajas de texto */
.caja_ia1 {
	width: 100%; /* ancho de la pagina */
	margin: 0 auto; /* centrado horizontal */
	padding: 20px; /* margen interna */
	padding-bottom: 1px; /* margen inferior */
	background: linear-gradient(to right, DarkSlateGray, Lavender); /* fondo */
	border-radius: 16px; /* Borde suavemente curvos */
	box-shadow: 0 0 10px #ccc; /* Brillo blanco suavemente Borde */
}

.caja_ia2 {
	width: 100%; /* ancho de la pagina */
	padding: 20px 20px; /* margen interna */
	padding-bottom: 10px; /* margen inferior */
	background-color: rgba(0, 89, 189, 0.2); /* fondo */
	border-radius: 16px; /* Borde suavemente curvos */
	box-shadow: 5px 5px 10px 8px rgba(0,0,0,0.5); /* Brillo blanco suavemente Borde */
	background: radial-gradient(circle at center, RGBA(173,216,230,0.5) 0%, RGBA(173,216,230,0) 100%); /* fondo */
	font-size: 15px;
	font-weight: 600;
}

.caja_ia3b {
	width: 100%; /* ancho de la pagina */
	padding: 10px 20px 0px 0px; /* margen superior derecho inferior izquierda */
	background-color: rgba(255, 255, 255, 0.4); /* fondo */
	border-radius: 16px; /* Borde suavemente curvos */
	box-shadow: 5px 5px 10px 8px rgba(0,0,0,0.5); /* Brillo blanco suavemente Borde */
	font-size: 14px;
	
}

.caja_ia3 {
	width: 100%; /* ancho de la pagina */
	padding: 10px; /* margen interna */
	padding-bottom: 5px; /* margen inferior */
	background-color: rgba(255, 255, 255, 0.4); /* fondo */
	border-radius: 16px; /* Borde suavemente curvos */
	box-shadow: 5px 5px 10px 8px rgba(0,0,0,0.5); /* Brillo blanco suavemente Borde */
	font-size: 14px;
	
}


.caja_ia3a {
	width: 100%; /* ancho de la pagina */
	padding: 10px 20px 0px 0px; /* margen superior derecho inferior izquierda */
	background-color: rgba(255, 255, 255, 0.4); /* fondo */
	background: linear-gradient(135deg, #74c6fc, #2dfaeb); /* Color degradado fondo titulo */
	border-radius: 16px; /* Borde suavemente curvos */
	box-shadow: 5px 5px 10px 8px rgba(0,0,0,0.5); /* Brillo blanco suavemente Borde */
	font-size: 14px;
	
}

.caja_ia4 {
	width: 100%; /* ancho de la pagina */
	padding: 20px 20px; /* margen interna */
	padding-bottom: 10px; /* margen inferior */
	background-color: rgba(0, 89, 189, 0.2); /* fondo */
	border-radius: 16px; /* Borde suavemente curvos */
	box-shadow: 5px 5px 10px 8px rgba(0,0,0,0.5); /* Brillo blanco suavemente Borde */
	background: radial-gradient(circle at center, RGBA(173,216,230,0.5) 0%, RGBA(173,216,230,0) 100%); /* fondo */
	font-size: 16px;
}

.caja_ia5 {
            width: 100%; /* ancho de la pagina */
			display: flex;
            align-items: center;
            justify-content: center;
           	padding-top: 15px;
            background: linear-gradient(135deg, #3498db, #4ecdc4); /* Color degradado fondo titulo */
            border-radius: 15px;
			box-shadow: 0 0 5px #ccc;
			font-weight: bold;
        }


/* Numeros de pagina con el circulo */
.page_number {
  position: absolute;
  bottom: 8px;
  font-weight: bold;
  font-size: 90%;
  line-height: 1.2em;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: rgb(245, 246, 199);
  text-shadow: rgba(84, 84, 10, 0.695);

  /* Estilos para el círculo */
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(2, 8, 119, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Posicionamiento basado en el número de página */
.page:nth-of-type(even) .page_number {
  right: 18px;
  left: auto;
}

.page:nth-of-type(odd) .page_number {
  left: 18px;
  right: auto;
}


/* tooltip no oficial */
/* styles.css */
.tooltip {
  position: relative;
  display: inline; /* Cambiado de inline-block a inline para evitar el salto */
  cursor: pointer; /* Cursor normal pero clickeable */
  color: var(--h1-color); /* Color normal 222 */
  transition: color 0.3s ease; /* Transición suave del color */
  font-family: "Lato" sans-serif;
  text-align: center;
  font-weight: bold;
}

/* Cambio de color al pasar el cursor */
.tooltip:hover {
  color: var(--note-color); /* Color azul estilo Wikipedia */
  text-decoration: underline;
}

/* Estilos base comunes TEXTO*/
.tooltip_top_left,
.tooltip_top_right,
.tooltip_bottom_left,
.tooltip_bottom_right {
  position: absolute;
  visibility: hidden;
  width: 250px;
  background-color: #fafafa;
  padding: 12px;
  border: 1px solid #a2a9b1;
  border-radius: 5px;
  box-shadow: 1 1px 3px rgba(0, 0, 0, 0.2);
  font-size: 90%;
  color: black; /* El texto dentro del tooltip mantiene color normal */
  z-index: 1000;
  font-weight: normal;
}

/* Variantes de posición vertical margin seapra la linea*/
.tooltip_top_left,
.tooltip_top_right {
  bottom: 100%;
  margin-bottom: 10px;
}

.tooltip_bottom_left,
.tooltip_bottom_right {
  top: 100%;
  margin-top: 10px;
}

/* Posición horizontal */
.tooltip_top_left,
.tooltip_bottom_left {
  right: 0;
}

.tooltip_top_right,
.tooltip_bottom_right {
  left: 0;
}

/* Flechas base */
.tooltip_top_left::before,
.tooltip_top_right::before,
.tooltip_bottom_left::before,
.tooltip_bottom_right::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}

/* Flechas para tooltips superiores */
.tooltip_top_left::before,
.tooltip_top_right::before {
  bottom: -12px;
  border-top-color: #a2a9b1;
}

/* Flechas para tooltips inferiores */
.tooltip_bottom_left::before,
.tooltip_bottom_right::before {
  top: -12px;
  border-bottom-color: #a2a9b1;
}

/* Posición horizontal de las flechas */
.tooltip_top_left::before,
.tooltip_bottom_left::before {
  right: 15px;
}

.tooltip_top_right::before,
.tooltip_bottom_right::before {
  left: 15px;
}

/* Mostrar el tooltip */
.tooltip:hover .tooltip_top,
.tooltip:hover .tooltip_top_left,
.tooltip:hover .tooltip_top_right,
.tooltip:hover .tooltip_bottom_left,
.tooltip:hover .tooltip_bottom_right {
  visibility: visible;
}
/* Estilos base con soporte para imagen */
.tooltip_top_left,
.tooltip_top_right,
.tooltip_bottom_left,
.tooltip_bottom_right {
  position: absolute;
  visibility: hidden;
  width: 250px;
  background-color: #ffffff;
  padding: 8px 12px;
  border: 1px solid #a2a9b1;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  font-size: 90%px;
  line-height: 1.4;
  color: (169, 204, 227);
  z-index: 1000;
}

/* Contenedor para la imagen */

/* Estilos para el contenido con imagen */
.tooltip-content {
  overflow: hidden; /* Limpia el float */
}

/* Clearfix para el contenedor */
.tooltip-content::after {
  content: "";
  display: table;
  clear: both;
}

/* Tooltip específico para imágenes */
.tooltip_image {
  position: absolute;
  visibility: hidden;
  max-width: 400px; /* Ancho del contenedor */
  max-height: 400px; /* Alto del contenedor */
  background-color: #e5eeeb;
  padding: 8px; /* Aumentado un poco el padding para dar espacio */
  border: 1px solid #a2a9b1;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  object-fit: cover;
  font-size: 14px;
}

/* Estilos de la imagen 
  */

*/ .tooltip_image img {
  max-width: 100%;
  max-height: 100%;
  width: auto; /* Ancho automático */
  height: auto; /* Alto automático */
  object-fit: contain; /* La imagen se ajusta manteniendo proporciones */
  object-fit: cover;
  display: block;
  margin: auto; /* Centra la imagen */
  border-radius: 2px;
}

/* Posicionamiento vertical */
.tooltip_image.top_left,
.tooltip_image.top_right {
  bottom: 100%;
  margin-bottom: 5px;
}

.tooltip_image.bottom_left,
.tooltip_image.bottom_right {
  top: 100%;
  margin-top: 5px;
}

/* Posicionamiento horizontal */
.tooltip_image.top_left,
.tooltip_image.bottom_left {
  right: 0;
}

.tooltip_image.top_right,
.tooltip_image.bottom_right {
  left: 0;
}

/* Flechas */
.tooltip_image::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}

/* Posiciones de flechas */
.tooltip_image.top_left::before,
.tooltip_image.top_right::before {
  bottom: -12px;
  border-top-color: #a2a9b1;
}

.tooltip_image.bottom_left::before,
.tooltip_image.bottom_right::before {
  top: -12px;
  border-bottom-color: #a2a9b1;
}

.tooltip_image.top_left::before,
.tooltip_image.bottom_left::before {
  right: 15px;
}

.tooltip_image.top_right::before,
.tooltip_image.bottom_right::before {
  left: 15px;
}

/* Mostrar tooltip */
.tooltip:hover .tooltip_image {
  visibility: visible;
}

.sin_boton {
border: 0px; 
background-color: rgba(1,1,1,0);
}

.sin_boton .btn_expand {
border: 0px solid red;
background-color: rgba(1,1,1,0);
opacity: 0.1;
}

.sin_boton2 {
border: 0px; 
background-color: rgba(1,1,1,0);
}

.sin_boton2 .btn_expand {
border: 0px solid red;
background-color: rgba(1,1,1,0);
opacity: 0;
}


/* Incorporación de imagen flotando a la izquierda o derecha, se diseñó para ocupar un ancho del 50%, con ancho de imagen del 100% (para valores menores, hay que poner un estilo que modifique las márgenes */
.flota_i {
	float: left;
	margin: 0px 20px 0px 5px;
	padding: 5px;
	border: 1px solid rgba(1, 1, 1, 0);
	width: 50%;
}

.flota_i figcaption {
	text-align: center;
	margin-bottom: 0px;
	color: var(--text-color);
}

.flota_d {
	float: right;
	margin: 0px -10px 0px 15px;
	padding: 5px;
	border: 1px solid rgba(1, 1, 1, 0);
	width: 50%;
	margin-top: 0px;
	}

.flota_d figcaption {
	text-align: center;
	color: var(--text-color);
	margin-bottom: 0;
}

/* estilo para los enlaces en la tabla de contenidos */

.toc_link::before {
  border-bottom: none;
   background-color: rgb(0, 255, 255,0);
}

.toc_link:hover, 
.toc_link:hover a, 
.toc_link:hover 
.toc_number, 
.toc_link:hover a > span:first-child {
  background-color: rgb(0, 255, 255);
}

.num_block[prefix="jercicio"] {
  padding: 1em;
  background-color: #ecf0f1;
  border: 1px solid #3498db;
  border-radius: 4px;
}

.num_block[prefix="jercicio"] .num_block_prefix {
  color: #2F4F4F;
}

body.dark .num_block {
		color: #aaa;
	}
/* estilo para estrellas */
	
.stars {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
        .star {
            position: absolute;
            background-color: white;
            border-radius: 50%;
            animation: twinkle linear infinite;
        }
        @keyframes twinkle {
            0% { opacity: 0.5; transform: scale(1); }
            50% { opacity: 1; transform: scale(1.5); }
            100% { opacity: 0.5; transform: scale(1); }
        }
	
.grupo-cometa {
    position: fixed;
    width: 200px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.8));
    filter: blur(1px);
    animation: cometa 20s linear infinite;
}

@keyframes cometa {
    0% { transform: translate(-100vw, -50vh); }
    100% { transform: translate(100vw, 150vh); }
}

.lista1 li {
	padding-top: 0px;
	padding-left: 30px;
	list-style: none;
	background-image: url("listas/1.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 20px;
}

.lista2 li {
	padding-top: 0px;
	padding-left: 30px;
	list-style: none;
	background-image: url("listas/6.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 20px;
}

.lista3 li {
	padding-top: 0px;
	padding-left: 30px;
	list-style: none;
	background-image: url("listas/3.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 20px;
}

.lista4 li {
	padding-top: 0px;
	padding-left: 30px;
	list-style: none;
	background-image: url("listas/4.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 20px;
}

.lista5 li {
	padding-top: 0px;
	padding-left: 25px;
	list-style: none;
	background-image: url("listas/5.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 20px;
}

   	
	   /* Estrellas animadas */
    .stars {
      position: absolute;
      width: 100%;
      height: 200%;
      background: transparent url('https://www.transparenttextures.com/patterns/stardust.png') repeat;
      animation: moveStars 200s linear infinite;
      opacity: 1;
      z-index: 0;
    }

    @keyframes moveStars {
      from { transform: translate(0, 0); }
      to { transform: translate(-50%, -50%); }
    }
	
	  /* Planetas flotantes */
    .planet {
      position: absolute;
      width: 100px;
      height: 100px;
      border-radius: 50%;
	  background-image: url("images/venus.png");
      background: radial-gradient(circle at 30% 30%, #6ee7b7, #047857);
      box-shadow: 0 0 20px #10b981aa;
      animation: float 8s ease-in-out infinite;
      z-index: 1;
    }

    .planet2 {
      width: 80px;
      height: 80px;
      background: radial-gradient(circle at 30% 30%, #93c5fd, #1e3a8a);
      box-shadow: 0 0 20px #3b82f6aa;
      left: 70%;
      top: 60%;
      animation-delay: 3s;
    }

    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-20px); }
    }

/* Ampliar imagen cuando se esta sobre */
	.zoom-imagen {
      transition: transform 0.3s ease;
      width: 300px; /* Puedes ajustar el tamaño inicial */
	  display: flex;
	  align-items: center;
	  
    }

    .zoom-imagen:hover {
      transform: scale(1.3); /* 130% del tamaño original */
      z-index: 10;
      position: relative;
    }

/* Diseño de ventanas emergentes */	
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  z-index: 1000;
}

.modal-content {
  position: relative;
  background: white;
  margin: 5% auto;
  padding: 5px;
  width: 80%;
  height: 80%;
  border-radius: 8px;
  box-sizing: border-box;
}

.close-btn {
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 24px;
  cursor: pointer;
  z-index: 1001;
  background: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

#modal-iframe {
  width: 100%;
  height: 100%;
  border: 2px solid white;
  border-radius: 6px;
}

/* Estilos para imágenes */
.contenedor-derecha {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 825px;
    background-image: url('../images/cap2/dalle3.jpg');
    background-size: cover; /* Ajusta la imagen para cubrir todo el contenedor */
    background-position: center; /* Centra la imagen dentro del contenedor */
    background-repeat: no-repeat; /* Evita que la imagen se repita */
}

.contenedor-izquierda {
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
    height: 825px;
    background-image: url('../images/cap2/dalle3.jpg');
    background-size: cover; /* Ajusta la imagen para cubrir todo el contenedor */
    background-position: center; /* Centra la imagen dentro del contenedor */
    background-repeat: no-repeat; /* Evita que la imagen se repita */
}

/* Estilo para contenedor */
.contenedor {
  width: 90%;
  margin: 0 auto;
  background-color: rgba(255, 0, 0, 0.7); /* Fondo semitransparente al 70% */
  background-image: conic-gradient(red, orange, yellow, green, blue, indigo, violet); /* Degradado de fondo del arco iris */
  border: 10px solid brown; /* Borde marrón de 10 px */
  border-radius: 15px; /* Esquinas redondeadas con 15px */
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5); /* Sombra hacia la derecha y hacia abajo */
  text-align: center;
  padding: 10px;
}

.soc {
	padding: 0.5rem;
}

.soc svg {
	width: 32px;
	height: 32px;
	margin-right: 16px;
}

.soc a:hover {
	text-decoration: none;
}
	  .licencia {
  border: 1px solid var(--text-color);
  padding: 1em;
  border-radius: 20px;
}