* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.contenedor {
  margin: auto;
  width: 100%;
}

.montserrat-regular {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

a {
  text-decoration: none;
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 135%;
}

.logoNOVA {
  background-image: url(../img/logo\ nova-31.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 110px;
  height: 40px;
}

.parte1 {
  background-image: url(../img/FONDOS-08.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 1000px;
  display: flex;
  align-items: center;
}

h3 {
  color: white;
  text-align: center;
  font-size: 50px;
  font-family: "Montserrat", sans-serif;
}

p {
  text-align: center;
  color: rgb(85, 37, 110);
  font-family: "Montserrat", sans-serif;
  width: 100%;
  margin: auto;
  font-weight: 500;
}

.texto1 {
  width: 80%;
  background-color: rgba(177, 177, 177, 0.733);
  border-radius: 60px;
  margin: auto;
  margin-bottom: 5%;
  padding: 2% 0;
}

.contexto1,
.contexto2 {
  margin: auto;
}

.contexto2 {
  margin: auto;
  width: 80%;
  padding: 70px 0;
}

:root {
  --color-primary: rgb(85, 37, 110);
  --color-secondary: #F0F7EE;
  --duration: 1s;
  --nav-duration: calc(var(--duration) / 4);
  --ease: cubic-bezier(0.215, 0.61, 0.355, 1);
  --space: 1rem;
  --font-primary: "Montserrat", sans-serif;
  --font-heading: "Montserrat", sans-serif;
}

body {
  font-family: var(--font-primary);
  font-size: var(--font-size);
  line-height: var(--line-height);
}

h1 {
  color: white;
  text-align: center;
  font-size: 150px;
  font-family: "Montserrat", sans-serif;
  margin-bottom: calc(var(--space) * 3);
  font-size: 480%;
  line-height: calc(var(--line-height) / 1.25);
}

.main-navigation-toggle {
  position: fixed;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.main-navigation-toggle +label {
  position: fixed;
  top: calc(var(--space) * 1.5);
  right: calc(var(--space) * 2);
  cursor: pointer;
  z-index: 2;
}

.icon--menu-toggle {
  --size: calc(1rem + 4vmin);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size);
  height: var(--size);
  stroke-width: 6;
  position: fixed;
  bottom: 8%;
  right: 5%;
  width: 90px;
  height: 90px;
  padding: 1%;
  background-color: rgb(255, 202, 28);
  border-radius: 50%;
  box-shadow: 1px 5px 8px rgba(50, 14, 68, 0.459);
}

.icon-group {
  transform: translateX(0);
  transition: transform var(--nav-duration) var(--ease);
}

.icon--menu {
  stroke: var(--color-primary);
}

.icon--close {
  stroke: var(--color-secondary);
  transform: translateX(-100%);
}

.main-navigation {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  transform: translateX(-100%);
  transition: transform var(--nav-duration);
  z-index: 15;
}

.main-navigation:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary);
  transform-origin: 0 50%;
  z-index: -1;
}

.main-navigation ul {
  font-size: 12vmin;
  font-family: var(--font-heading);
  width: 100%;
}

.main-navigation li {
  --border-size: 1vmin;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.main-navigation li:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--border-size);
  background-color: var(--color-secondary);
  transform-origin: 0 50%;
  transform: translateX(-100%) skew(15deg);
}

.main-navigation .acaja {
  display: inline-block;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1;
  user-select: none;
  padding: var(--space) calc(var(--space) * 2) calc(var(--space) + var(--border-size) / 2);
  transform: translateY(100%);
  text-decoration: none;
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 40%;
}

.zonaRedImg{
  height: 50vh; 
  width: fit-content;
}

.main-content {
  margin: 6rem auto;
  max-width: 70ch;
  padding: 0 calc(var(--space) * 2);
  transform: translateX(0);
  transition: transform calc(var(--nav-duration) * 2) var(--ease);
}

.main-content >*+* {
  margin-top: calc(var(--space) * var(--line-height));
}

.main-navigation-toggle:checked ~label .icon--menu-toggle .icon-group {
  transform: translateX(100%);
}

.main-navigation-toggle:checked ~.main-content {
  transform: translateX(10%);
}

.main-navigation-toggle:checked ~.main-navigation {
  transition-duration: 0s;
  transform: translateX(0);
}

.main-navigation-toggle:checked ~.main-navigation:after {
  animation: nav-bg var(--nav-duration) var(--ease) forwards;
}

.main-navigation-toggle:checked ~.main-navigation li:after {
  animation: nav-line var(--duration) var(--ease) forwards;
}

.main-navigation-toggle:checked ~.main-navigation .acaja {
  animation: link-appear calc(var(--duration) * 1.5) var(--ease) forwards;
}

@keyframes nav-bg {
  from {
    transform: translateX(-100%) skewX(-15deg);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes nav-line {
  0% {
    transform: scaleX(0);
    transform-origin: 0 50%;
  }
  35% {
    transform: scaleX(1.001);
    transform-origin: 0 50%;
  }
  65% {
    transform: scaleX(1.001);
    transform-origin: 100% 50%;
  }
  100% {
    transform: scaleX(0);
    transform-origin: 100% 50%;
  }
}

@keyframes link-appear {
  0%, 25% {
    transform: translateY(100%);
  }
  50%, 100% {
    transform: translateY(0);
  }
}

.titulares {
  text-align: center;
  color: rgb(85, 37, 110);
  font-size: 260%;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
}

.selecciongris {
  background-color: rgb(221, 221, 221);
}

.stage1 {
  display: flex;
  gap: 3%;
  margin: 30px 0;
}

.img1stage4-container {
  height: 480px;
  border-radius: 30px;
  box-shadow: 0 4px 6px rgba(25, 2, 54, 0.349);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.img1stage4 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cont1 {
  width: 67%;
}

.titular {
  text-align: justify;
  color: rgb(85, 37, 110);
  font-size: 260%;
  font-family: "Montserrat", sans-serif;
}

.subGo {
  text-align: left;
  color: rgb(132, 66, 168);
  font-size: 140%;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  margin: 20px 0px;
}

.colores {
  display: flex;
  gap: 1%;
  margin: 3% 0;
  align-items: center;
  justify-content: center;
}

.color1,
.color2,
.color3,
.color4,
.color5,
.color6,
.color1-2,
.color2-2,
.color3-2,
.color4-2,
.color5-2,
.color6-2 {
  width: 200px;
  height: 100px;
  border-radius: 10px;
}

.color1 {
  background-color: #7b057f;
}

.color2 {
  background-color: #D03c1a;
}

.color3 {
  background-color: #61C1DA;
}

.color4 {
  background-color: #30991C;
}

.color5 {
  background-color: #B9000A;
}

.color6 {
  background-color: #5F01AB;
}

.color1-2 {
  background-color: #ECE9DA;
}

.color2-2 {
  background-color: #BD281A;
}

.color3-2 {
  background-color: #2683DB;
}

.color4-2 {
  background-color: #FED04E;
}

.color5-2 {
  background-color: #8E08F8;
}

.color6-2 {
  background-color: #070707;
}

:root {
  --hue: 223;
  --bg: hsl(var(--hue), 10%, 90%);
  --fg: hsl(var(--hue), 10%, 10%);
  --primary: hsl(var(--hue), 90%, 50%);
  --trans-dur: 0.3s;
  --trans-timing: cubic-bezier(0.65, 0, 0.35, 1);
}

.h2-line {
  font-size: 2em;
  margin: 3rem 0;
  text-align: center;
  color: #55266E;
  font-weight: bold;
}

.btn {
  background-color: var(--fg);
  border-radius: 0.25em;
  color: var(--bg);
  cursor: pointer;
  padding: 0.375em 0.75em;
  transition:
    background-color calc(var(--trans-dur) / 2) linear,
    color var(--trans-dur);
  -webkit-tap-highlight-color: transparent;
}

.btn:hover {
  background-color: hsl(var(--hue), 10%, 50%);
}

.btn-group {
  display: flex;
  gap: 0.375em;
  margin-bottom: 1.5em;
}

.timeline {
  width: 100%;
}

.timeline__arrow {
  background-color: #FFC200;
  border: none;
  border-radius: 0.25em;
  cursor: pointer;
  flex-shrink: 0;
  margin-inline-end: 0.25em;
  outline: transparent;
  width: 2em;
  height: 2em;
  transition:
    background-color calc(var(--trans-dur) / 2) linear,
    color var(--trans-dur);
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.timeline__arrow:focus-visible,
.timeline__arrow:hover {
  background-color: #a778d6;
}

.timeline__arrow-icon {
  display: block;
  pointer-events: none;
  transform: rotate(-90deg);
  transition: transform var(--trans-dur) var(--trans-timing);
  width: 100%;
  height: auto;
}

.timeline__dot {
  background-color: #FFC200;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  margin: 0.625em 0;
  margin-inline-end: 1em;
  position: relative;
  width: 0.75em;
  height: 0.75em;
}

.timeline__item {
  position: relative;
  padding-bottom: 2.25em;
}

.timeline__item:not(:last-child):before {
  background-color: #FFC200;
  content: "";
  display: block;
  position: absolute;
  top: 1em;
  left: 2.625em;
  width: 0.125em;
  height: 100%;
  transform: translateX(-50%);
}

[dir="rtl"] .timeline__arrow-icon {
  transform: rotate(90deg);
}

[dir="rtl"] .timeline__item:not(:last-child):before {
  right: 2.625em;
  left: auto;
  transform: translateX(50%);
}

.timeline__item-header {
  display: flex;
}

.timeline__item-body {
  border-radius: 0.375em;
  overflow: hidden;
  margin-top: 0.5em;
  margin-inline-start: 4em;
  height: 0;
}

.timeline__item-body-content {
  background-color: hsl(var(--hue), 10%, 50%, 0.2);
  opacity: 0;
  padding: 0.5em 0.75em;
  visibility: hidden;
  transition:
    opacity var(--trans-dur) var(--trans-timing),
    visibility var(--trans-dur) steps(1, end);
}

.timeline__meta {
  width: 100%;
  background-color: white;
  text-align: center;
  border-radius: 50px;
}

.timeline__title {
  font-size: 1.5em;
  line-height: 1.333;
  color: #55266E;
}

.timeline__item-body--expanded {
  height: auto;
}

.timeline__item-body--expanded .timeline__item-body-content {
  opacity: 1;
  visibility: visible;
  transition-delay: var(--trans-dur), 0s;
}

.timeline__arrow[aria-expanded="true"] .timeline__arrow-icon {
  transform: rotate(0);
}

ol, ul {
    padding-left: none;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: hsl(var(--hue), 10%, 10%);
    --fg: hsl(var(--hue), 10%, 90%);
    --primary: hsl(var(--hue), 90%, 70%);
  }
}

.card-text {
  margin-bottom: 1rem !important;
}

@media (max-width: 767px) {
  h1 {
    font-size: 250%;
  }

  h3 {
    font-size: 30px;
  }

  p {
    font-size: 14px;
  }

  .texto1 {
    width: 90%;
    border-radius: 20px;
    padding: 5% 3%;
  }

  .contexto2 {
    width: 90%;
    padding: 30px 0;
  }

  .titulares,
  .titular {
    font-size: 180%;
  }

  .subGo {
    font-size: 120%;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .stage1 {
    flex-direction: column;
    gap: 20px;
    margin: 20px 0;
  }

  .cont1 {
    width: 100%;
  }

  .img1stage4-container {
    height: 300px;
  }

  .colores {
    flex-wrap: wrap;
    gap: 10px;
  }

  .color1, .color2, .color3, .color4, .color5, .color6,
  .color1-2, .color2-2, .color3-2, .color4-2, .color5-2, .color6-2 {
    width: 120px;
    height: 60px;
  }

  .icon--menu-toggle {
    width: 60px;
    height: 60px;
    bottom: 5%;
    right: 5%;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  h1 {
    font-size: 350%;
  }

  h3 {
    font-size: 40px;
  }

  .texto1 {
    width: 85%;
    border-radius: 40px;
  }

  .contexto2 {
    width: 85%;
  }

  .titulares,
  .titular {
    font-size: 220%;
  }

  .subGo {
    font-size: 130%;
  }

  .stage1 {
    gap: 2%;
  }

  .cont1 {
    width: 60%;
  }

  .img1stage4-container {
    height: 400px;
  }

  .colores {
    flex-wrap: wrap;
    gap: 15px;
  }

  .color1, .color2, .color3, .color4, .color5, .color6,
  .color1-2, .color2-2, .color3-2, .color4-2, .color5-2, .color6-2 {
    width: 150px;
    height: 80px;
  }
}
