html, body {
  scroll-behavior: smooth;
}

body {
  background: #ccccff;
  background-size: 200vw 300vw;
}

.subir {
  position: fixed;
  bottom: 0;
  right: 0;
  margin-right: 15px;
  margin-bottom: 10px;
  z-index: 2;
}

#titulo {
  font-family: "Shrikhand", cursive;
  font-size: 8vw;
  text-align: center;
  color: #6666ff;
  text-shadow: 4px 1px 1px white;
}

#volver {
  font-family: Bebas Neue;
  background-color: #8080ff;
  font-size: 2.3vw;
  text-align: center;
  position: absolute;
  width: 12%;
  top: 2%;
  right: 0%;
  left: 85%;
}

#volver a {
  text-decoration: none;
  color: white;
}

.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#foto1 {
  width: 40%;
  transition: transform 1s;
  border: 0.5vw solid #6666ff;
}

#foto1:hover {
  transform: scale(1.1);
}

#mariposa {
  position: absolute;
  width: 35%;
  top: 20%;
  left: 70%;
  right: 7%;
}

#zona1 {
  background-color: #8080ff;
  color: white;
  font-size: 2.5vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
  position: absolute;
  width: 20%;
  top: 25%;
  right: 0%;
  left: 1%;
}

#zona1:hover {
  background-color: #e6e6ff;
  opacity: 0.6;
  color: white;
  font-size: 3vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
}

#zona1 a {
  text-decoration: none;
  color: blue;
}

#zona2 {
  background-color: #8080ff;
  font-size: 2.5vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
  position: absolute;
  width: 20%;
  top: 40%;
  right: 0%;
  left: 1%;
}

#zona2:hover {
  background-color: #e6e6ff;
  opacity: 0.6;
  color: white;
  font-size: 3vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
}

#zona2 a {
  text-decoration: none;
  color: blue;
}

#zona3 {
  background-color: #8080ff;
  font-size: 2.5vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
  position: absolute;
  width: 20%;
  top: 55%;
  right: 0%;
  left: 1%;
}

#zona3:hover {
  background-color: #e6e6ff;
  opacity: 0.6;
  color: white;
  font-size: 3vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
}

#zona3 a {
  text-decoration: none;
  color: blue;
}

#zona4 {
  background-color: #8080ff;
  font-size: 2.5vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
  position: absolute;
  width: 20%;
  top: 70%;
  right: 0%;
  left: 1%;
}

#zona4:hover {
  background-color: #e6e6ff;
  opacity: 0.6;
  color: white;
  font-size: 3vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
}

#zona4 a {
  text-decoration: none;
  color: blue;
}

#zona5 {
  background-color: #8080ff;
  font-size: 2.5vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
  position: absolute;
  width: 20%;
  top: 85%;
  right: 0%;
  left: 1%;
}

#zona5:hover {
  background-color: #e6e6ff;
  opacity: 0.6;
  color: white;
  font-size: 3vw;
  font-family: "Pirata One", cursive;
  border-radius: 40px;
  text-align: center;
}

#zona5 a {
  text-decoration: none;
  color: blue;
}

#perfil {
  font-family: "Vollkorn SC", serif;
  text-align: center;
  background-color: #8080ff;
  color: #ccccff;
  text-shadow: 2px 1px 1px blue;
  font-size: 5.5vw;
  position: absolute;
  top: 110%;
  width: 100%;
  left: 0%;
}

.texto1 {
  font-family: "Francois One", sans-serif;
  color: #4d4dff;
  font-size: 2vw;
  position: absolute;
  top: 125%;
  left: 2%;
  width: 1000%;
}

#foto2 {
  position: absolute;
  width: 12vw;
  top: 130%;
  left: 60%;
}

#foto2:hover {
  filter: grayscale(100%);
}

#foto3 {
  position: absolute;
  width: 13vw;
  top: 130%;
  left: 77%;
  height: 16.5vw;
}

#foto3:hover {
  filter: grayscale(100%);
}

#foto4 {
  position: absolute;
  width: 30vw;
  top: 168%;
  left: 60%;
}

#foto4:hover {
  filter: grayscale(100%);
}

#galeria {
  font-family: "Vollkorn SC", serif;
  text-align: center;
  background-color: #8080ff;
  color: #ccccff;
  text-shadow: 2px 1px 1px blue;
  font-size: 5.5vw;
  position: absolute;
  top: 210%;
  width: 100%;
  left: 0%;
}

.frame {
  position: absolute;
  top: 233%;
  left: 13%;
  width: 600px;
  height: 600px;
}

.box-galery {
  width: 100%;
  height: 100%;
  grid-gap: 30px;
  position: relative;
  z-index: 1;
}
.box-galery > [type=checkbox] {
  display: none;
}
.box-galery .imgs {
  --zi: calc(600px / 3 - 3px);
  width: var(--zi);
  height: var(--zi);
  object-fit: cover;
  transition: 0.2s;
  position: absolute;
  z-index: 1;
  background-position: center;
  background-size: cover;
  margin: auto;
  transition-timing-function: linear;
}
.box-galery .img1 {
  background-image: url("https://i.imgur.com/8AKhkxo.jpg");
}
.box-galery .img2 {
  left: var(--zi);
  background-image: url("https://i.imgur.com/Wx2bkhT.jpg");
  left: 0;
  right: 0;
}
.box-galery .img3 {
  background-image: url("https://i.imgur.com/tQJKdj4.jpg");
  right: 0;
}
.box-galery .img4 {
  background-image: url("https://i.imgur.com/eNO6qd2.jpg");
  top: 0;
  bottom: 0;
}
.box-galery .img5 {
  background-image: url("https://i.imgur.com/si7kyw1.jpg");
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.box-galery .img6 {
  background-image: url("https://i.imgur.com/P7ME175.jpg");
  right: 0;
  top: 0;
  bottom: 0;
}
.box-galery .img7 {
  background-image: url("https://i.imgur.com/wSMVymr.jpg");
  bottom: 10;
  left: 101%;
}
.box-galery .img8 {
  background-image: url("https://i.imgur.com/WP4JaNC.jpg");
  bottom: 33%;
  left: 101%;
}
.box-galery .img9 {
  background-image: url("https://i.imgur.com/Fkpw5sz.jpg");
  bottom: 67%;
  left: 135%;
}
.box-galery .img10 {
  background-image: url("https://i.imgur.com/4o19hqT.jpg");
  bottom: 33%;
  left: 135%;
}

#btn1:checked ~ .img1 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn2:checked ~ .img2 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn3:checked ~ .img3 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn4:checked ~ .img4 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn5:checked ~ .img5 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn6:checked ~ .img6 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn7:checked ~ .img7 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn8:checked ~ .img8 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn9:checked ~ .img9 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#btn10:checked ~ .img10 {
  width: 300px;
  height: 300px;
  z-index: 3;
}

#colegio {
  font-family: "Vollkorn SC", serif;
  text-align: center;
  background-color: #8080ff;
  color: #ccccff;
  text-shadow: 2px 1px 1px blue;
  font-size: 5.5vw;
  position: absolute;
  top: 310%;
  width: 100%;
  left: 0%;
}

.colegiotexto {
  text-align: justify;
  font-family: "Wellfleet", cursive;
  font-size: 1.5vw;
  position: absolute;
  top: 331%;
  margin-right: 2%;
  margin-left: 2%;
}

#galeriacolegio {
  position: absolute;
  top: 360%;
}

#futuro {
  font-family: "Vollkorn SC", serif;
  text-align: center;
  background-color: #8080ff;
  color: #ccccff;
  text-shadow: 2px 1px 1px blue;
  font-size: 5.5vw;
  position: absolute;
  top: 410%;
  width: 100%;
  left: 0%;
}

#fotofuturo1 {
  position: absolute;
  top: 464%;
  width: 30vw;
  left: 15%;
  border: solid #c2c2f0 0.7vw;
  transition: transform 1s;
}

#fotofuturo1:hover {
  transform: scale(1.1);
}

#fotofuturo2 {
  position: absolute;
  top: 433%;
  width: 20vw;
  left: 70%;
  border: solid #c2c2f0 0.7vw;
  transition: transform 1s;
}

#fotofuturo2:hover {
  transform: scale(1.1);
}

.textofuturo {
  font-family: "Wellfleet", cursive;
  text-align: justify;
  font-size: 1.7vw;
  margin-right: 40vw;
  background-color: #c2c2f0;
  position: absolute;
  top: 433%;
  left: 3%;
  padding: 1vw;
}

#random {
  font-family: "Vollkorn SC", serif;
  text-align: center;
  background-color: #8080ff;
  color: #ccccff;
  text-shadow: 2px 1px 1px blue;
  font-size: 5.5vw;
  position: absolute;
  top: 520%;
  width: 100%;
  left: 0%;
}

:root {
  font-size: 1vw;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.container2 {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0 2rem 2rem;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
  /* Compensate for excess margin on outer gallery flex items */
  margin: -1rem -1rem;
}

.gallery-item {
  /* Minimum width of 24rem and grow to fit available space */
  flex: 1 0 24rem;
  /* Margin value should be half of grid-gap value as margins on flex items don't collapse */
  margin: 1rem;
  box-shadow: 0.3rem 0.4rem 0.4rem rgba(0, 0, 0, 0.4);
  overflow: hidden;
}

.gallery-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease-out;
}

.gallery-image:hover {
  transform: scale(1.15);
}

@supports (display: grid) {
  .gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
    grid-gap: 1rem;
  }

  .gallery,
.gallery-item {
    margin: 0;
  }
}