@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');

:root{
--color-primary: #8F3985; /* Plum*/
--color-text: #011627; /* Rich black*/
--color-white: #FFF8E7; /* Cosmic latte */
--color-background: #FFEDC2; /* Cosmic latte oscuro (Peach) */
--color-border: #F3E2F1; /* Plum claro (Pale purple)*/

/* Fonts */
--font-family: 'Open Sans', sans-serif;
--font-family-t: 'Playfair Display', serif; 
--fs: 22px;
  
--width: 100%;  
--height: 100%; 
  
  --timing: ease;
}

/* Prevent scrollbars while loader is visible */
body:not(.loaded) {
    overflow: hidden; /* Hides both horizontal and vertical scrollbars */
}

/* Loader styling */
.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-white); /* Full-screen white background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* Ensure it's on top of all other content */
}

/* Style for the loading gif */
.loader img {
    max-width: 200px;
    max-height: 200px;
    object-fit: contain; /* Ensures proper resizing */
}

/* Once loaded, the loader will be hidden */
body.loaded .loader {
    display: none;
}

html, body {
  font-family: var(--font-family);
  font-size:  var(--fs);
  overflow-x: hidden; 
}

body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none; 
  box-sizing: border-box;
  touch-action: manipulation;
}

a {
  text-decoration: none;
}

p {
  max-width: 600px;  /* Limita el ancho máximo a 500px */
  margin: 0 auto;    /* Centra el párrafo */
  line-height: 1.6; /* Espaciado recomendado entre líneas */ 
  /*margin-bottom: 1.5em; /* Distancia entre párrafos */
  /*background-color: #f0f0f0;  Color de fondo para visualizar el límite */
}

hr {
  border: 2px solid var(--color-border); /* Color definido en tu CSS */
  background-color: var(--color-text); /* Si deseas un color de fondo */
  margin: 0; /* Ajuste opcional de margen */
}

/* General rule for images */
img {
  width: auto; /* Se ajusta automáticamente al tamaño de la imagen original */
  height: auto; /* Mantiene la proporción original de las imágenes */
  display: block; /* Elimina el espacio en blanco alrededor de las imágenes en algunos navegadores */
  max-width: 100%; /* Limita el ancho al 100% del contenedor */
}

/* Specific rule for images inside .img-container */
.img-container img {
  max-width: 600px; /* Establece un ancho máximo de 600px */
  width: 100%; /* Hace que las imágenes ocupen todo el ancho del contenedor si es menor a 600px */
  height: auto; /* Mantiene la proporción original de las imágenes */
  margin-top: 10px;
  margin-bottom: 12px;
}

/* Centered images with a specific width of 50% */
.centered-image {
  max-width: 600px; /* Limita el ancho máximo a 600px */
  width: 50%; /* Ajusta el tamaño al 50% del contenedor padre */
  height: auto; /* Mantiene la proporción de la imagen */
  display: block; /* Asegura que se comporte como un bloque */
  margin: 0 auto; /* Centra la imagen horizontalmente */
}

/* Ensure images inside .fixed-img-container are unaffected */
.fixed-img-container img {
  max-width: none; /* Las imágenes en este contenedor no tienen límite de ancho */
  width: auto; /* Mantiene su tamaño original */
}

.et-hero-tabs,
.et-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: var(--height);
  position: relative;
  background: var(--color-white);
  text-align: center;
  padding: 0 5vw; 
}

.et-hero-tabs h1,
.et-slide h1 {
  font-family: var(--font-family-t);
  font-size:  calc(var(--fs) * 1.8);
  margin: 0;
  letter-spacing: 0.1em;
  
   padding: 0.5em;     /* Agrega algo de espacio alrededor del texto */
}

.et-hero-tabs h3,
.et-slide h3 {
  font-family: var(--font-family-t);
  font-size:  calc(var(--fs) * 1);
  opacity: 0.6;
  letter-spacing: 0.05em;
}

.et-slide:not(#tab-100) {
  padding-top:75px; /* Applies padding only to .et-slide, excluding #tab-100 */
}

.et-hero-tabs-container {
  display: flex;
  flex-direction: row;
  position: absolute;
  bottom: 0.5vh;
  width: 100%;
  height: 70px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  background: var(--color-background);
  z-index: 10;
}

.et-hero-tabs-container--top {
  position: fixed;
  top: 0;
}

.et-hero-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  color: var(--color-text);
  transition: all 0.5s ease;
  font-size:  calc(var(--fs) * .85);
  padding: 0.2em;     /* Agrega algo de espacio alrededor del texto */
}

.et-hero-tab:hover {
  color: var(--color-white);
  background: var(--color-primary);
  transition: all 0.5s ease;
}

.et-hero-tab.active {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.et-hero-tab-slider {
  position: absolute;
  bottom: 0;
  width: 0;
  height: 6px;
  background: var(--color-primary);
  transition: left 0.3s ease;
}

@media print {
  body {
    display: none;
  }
}

.scrollBar2 {
  position: fixed;
  top: 0;
  right: 0.1vw;
  height: 0%;
  width: 4px;
  background: var(--color-border);
  transition: height 200ms var(--timing);
  text-align: right;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  border-radius: 1em;
}
.scrollBar2 span {
  position: absolute;
  bottom: 1vh;
  left: -1px;
  font-size: 0.75em;
  display: inline-block;
  text-align: left;
  transform: rotate(-90deg);
  transform-origin: bottom left;
  opacity: 0.75;
}
.scrollBar2 span::after {
  content: "%";
  position: absolute;
  right: -13px;
  opacity: 0.75;
}