* {
  margin: 0;
  padding: 0;
}

/* body*/

body {
  font-family: "Sono", sans-serif;
  width: 100%;
  justify-content: center;
  background-image: url("../img/bg.png");
  background-size: cover;
  background-color: whitesmoke;
}

.fa-instagram,
.fa-behance,
.fa-spotify {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.fa-instagram:hover,
.fa-behance:hover,
.fa-spotify:hover {
  opacity: 0.7;
}

a {
  text-decoration: none;
  color: black;
}

a.special-link {
  opacity: 1;
  transition: opacity 0.5s ease;
  text-decoration: none;
}

a.special-link:hover {
  opacity: 0.7;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
  color: black;
}

.bold {
  font-weight: bold;
}

/*navbar*/

.navbar {
  position: fixed;
  background-color: whitesmoke;
  width: 100%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  opacity: 0.3;
  transition: opacity 0.9s ease;
}

.navbar:hover {
  opacity: 0.9;
}

.navbar-collapse {
  justify-content: right;
  padding-right: 10%;
}

.navbar-expand-lg {
  padding-right: 10px;
}

.nav-item {
  padding-inline: 10%;
}

.navbar-brand {
  padding-left: 5%;
}

.navbar-toggler:focus,
.navar-toggler:active {
  outline: none;
  box-shadow: none;
}

.navlink1,
.navlink2,
.navlink3,
.navlink4,
.navlink5 {
  color: rgb(0, 0, 0);
  font-weight: normal;
  transition: font-weight 0.3s ease;
}

.navlink1:hover,
.navlink2:hover,
.navlink3:hover,
.navlink4:hover,
.navlink5:hover {
  font-weight: bolder;
}

ul {
  display: flex;
  justify-content: center;
  text-align: none;
  font-size: small;
}

ul,
ol {
  list-style-type: none;
  color: black;
}

/*Bio*/

.cv {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.cv:hover {
  opacity: 0.7;
}

.bio {
  display: flex;
  padding-top: 200px;
  margin: auto;
  justify-content: center;
}

.bio_bio {
  display: flex;
  justify-content: center;
  width: 820px;
}

.bio_text {
  font-size: small;
}

.bio_text {
  padding-top: 2em;
  padding-left: 2em;
}

.carouselPC,
.carouselMobile {
  margin: 0;
  padding: 0;
  width: 100%;
}

.carousel-inner {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.carousel-control-prev,
.carousel-control-next {
  opacity: 0;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  opacity: 1;
  transition: opacity 0.9s ease;
}

/*works*/

.works {
  display: flex;
}

.works_img {
  display: flex;
  gap: 100px;
  justify-content: center;
  padding-top: 150px;
}

.ilus,
.design {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.ilus:hover,
.design:hover {
  opacity: 0.8;
}

.link_ilus {
  padding-top: 20px;
  display: flex;
  justify-content: center;
}

.linkilus1 {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.linkilus1:hover {
  opacity: 0.7;
}

/*Contact*/

.container_contacto {
  width: 100%;
  padding-top: 120px;
}

.contacto_links,
.div_links {
  display: grid;
  justify-content: center;
  transform: scale(98%);
}

.div_link1 {
  padding-top: 50px;
}

.div_link2 {
  padding-top: 10px;
}

.div_link1,
.div_link2 {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.div_link1:hover,
.div_link2:hover {
  opacity: 0.7;
}

.contacto_links {
  justify-self: center;
}

.contact {
  font-size: small;
  width: 100%;
  padding-top: 2em;
}

.mb-4 {
  width: 500px;
}

/*ilustración*/

.ilus_titulo,
.dg_titulo {
  font-size: 90%;
  padding-left: 20px;
  padding-top: 2px;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 0px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.grid-item {
  aspect-ratio: 1;
  overflow: hidden;
}

.grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.grid-img {
  transition: filter 0.3s ease;
}

.grid-img:hover {
  filter: brightness(80%);
}

.link_dg {
  justify-content: center;
}

.linkdg1 {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.linkdg1:hover {
  opacity: 0.7;
}

/*events*/

.events {
  padding-top: 150px;
}

.div_events {
  margin: auto;
  display: grid;
  justify-items: center;
}

.a_events {
  font-weight: bold;
}

.div_events_title {
  padding-top: 10px;
  padding-bottom: 30px;
  text-align: center;
  font-size: medium;
}

.div_events_title_ig {
  font-size: small;
}

/*espacios*/

.espacio_ilus,
.espacio_textil,
.espacio_figuras {
  height: 30px;
  border-bottom: 1px dotted black;
}

/*eventos*/
.a_eventos {
  text-decoration: none;
}

.esoestodo {
  padding-top: 20px;
  padding-bottom: 10px;
  display: flex;
  justify-content: center;
}

/*Footer*/
footer {
  font-size: x-small;
  font-weight: bold;
  display: flex;
  justify-content: center;
  padding-top: 3em;
  padding-bottom: 3em;
}

.redes_icons_a {
  display: flex;
  margin: auto;
  justify-content: center;
  padding-top: 50px;
  gap: 20px;
}

.link_dg {
  padding-top: 20px;
  display: flex;
  justify-content: center;
}

/* Grid layout styles */

.grid-img {
  width: 100%;
  height: auto;
  cursor: pointer;
}

/* Lightbox styles */

.lightbox {
  padding-top: 20px;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 999;
  text-align: center;
}

.lightbox-img {
  max-width: 90%;
  max-height: 90%;
  margin-top: 50px;
  overflow: hidden;
  padding-right: 20px;
}

/*responsive*/

/* Media query for cellphones*/
@media (max-width: 600px) {
  /*navbar*/
  .navbar-toggler-icon {
    background-image: url("../img/toggler.png");
  }

  body {
    background-image: url("../img/bgcel.png");
    background-size: cover;
  }

  /*Carrusel*/

  .carouselExample {
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .carousel-inner {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  }

  .carousel-control-prev,
  .carousel-control-next {
    opacity: 0;
  }

  .carousel-control-prev:hover,
  .carousel-control-next:hover {
    opacity: 1;
    transition: opacity 0.9s ease;
  }

  /*Bio*/

  .bio {
    justify-content: center;
    padding-top: 150px;
    width: 100%;
    padding-right: 25px;
  }

  .bio_bio {
    display: grid;
    justify-content: center;
    justify-items: center;
  }

  .bio_text {
    padding-top: 20px;
    font-size: normal;
    width: 320px;
    text-align: center;
  }

  /*Work*/
  .works {
    display: grid;
  }

  .works_img {
    display: grid;
    gap: 100px;
    justify-content: center;
    padding-top: 50px;
    transform: scale(70%);
  }

  .lightbox {
    padding-top: 100px;
  }

  /*Events*/

  .events {
    padding-top: 200px;
  }

  .events,
  .div_events,
  .events_title,
  .div_events_title,
  .events_img {
    display: grid;
    justify-content: center;
  }

  .events_title {
    transform: scale(95%);
  }

  .events_img {
    padding-top: 80px;
  }

  /*Contact*/

  .container_contacto {
    padding-top: 180px;
    padding-bottom: 100px;
    grid-column-gap: 30px;
    justify-content: center;
  }

  /*works*/

  /*ilustration*/

  .ilus_titulo,
  .dg_titulo {
    font-size: smaller;
    padding-left: 50px;
    padding-top: 2px;
  }
}

/* Media query for medium screens */

@media (min-width: 600px) and (max-width: 1400px) {
.bio_img {
  padding-top: 20px;
  height: auto;
  object-fit:contain;
}
}

/* Media query for bigger screens */
@media (min-width: 1400px) {
  /*Bio*/

  .bio {
    justify-content: center;
    padding-top: 280px;
    padding-bottom: 280px;
  }

  .bio_bio {
    display: flex;
    justify-content: center;
    justify-items: center;
  }

  .bio_img {
   width: 40%;
   height: auto;
   max-width:100%;
   object-fit:contain;
   padding-top: 15px;
  }

  .bio_text {
    padding-top: 20px;
    font-size: normal;
    width: 550px;
    text-align: left;
  }

  /*Work*/
  .works {
    display: flex;
  }

  .works_img {
    display: flex;
    scale: 125%;
    gap: 100px;
    justify-content: center;
    padding-top: 280px;
    padding-bottom: 280px;
  }

  /*Events*/

  .events {
    padding-top: 200px;
  }

  .events,
  .div_events,
  .events_title,
  .div_events_title,
  .events_img {
    display: grid;
    justify-content: center;
  }

  .events_img {
    padding-top: 50px;
  }

  /*Contact*/

  .container_contacto {
    width: 100%;
    padding-top: 150px;
    padding-bottom: 80px;
  }

  .contacto_links,
  .div_links {
    display: grid;
    justify-content: center;
  }

  .div_link1 {
    padding-top: 100px;
  }

  .div_link2 {
    padding-top: 10px;
    padding-bottom: 100px; }

  .mariposa {
    scale: 150%;
  }


  /*works*/

  /*ilustration*/

  .ilus_titulo,
  .dg_titulo {
    font-size: smaller;
    padding-left: 50px;
    padding-top: 2px;
  }

  .grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
    gap: 0px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
}
