/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}
body {
  font-family: "Open Sans", sans-serif;
  color: #2e2e2e;
  line-height: 1.6;
  background-color: #f9f8f6;
}

h1,
h2 {
  font-family: "Playfair Display", serif;
  color: #4b3b2a;
}
h2 {
  font-weight: bold;
  border-bottom: solid 2px rgb(15, 66, 15);
}

.hero {
  display: flex;
  flex-direction: column;
  background: url("./images/orquidea.png") center/cover no-repeat;
  height: 100dvh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  .hero-top {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    .overlay {
      display: flex;
      gap: 1.5rem;
      justify-content: center;
      align-items: center;
      background-color: rgba(255, 255, 255, 0.85);
      padding: 2rem;
      border-radius: 16px;
      max-width: 800px;
      animation: fadeIn 2s ease;
      @media (max-width: 610px) {
        flex-direction: column;
        gap: 0;
      }
    }
  }
  .mahjong_logo {
    font-size: 8rem;
    @media (max-width: 610px) {
      display: none;
    }
  }
  .saiba-mais {
    margin-bottom: 1rem;
    @media (max-width: 610px) {
      margin-bottom: 0.5rem;
    }
    a {
      text-decoration: none;
      color: inherit;
    }
    .saiba-mais__texto {
      color: antiquewhite;
    }
    .saiba-mais__seta {
      img {
        width: 3rem;
        border-radius: 50%;
        @media (max-width: 610px) {
          width: 2rem;
        }
      }
    }
  }
}
.btn {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.75rem 2rem;
  background-color: #7c9473;
  color: white;
  text-decoration: none;
  font-weight: bold;
  border-radius: 8px;
  transition: background-color 0.3s ease;
  &:hover {
    background-color: #5d7555;
  }
}

section {
  padding: 4rem 2rem 0;
  max-width: 1000px;
  margin: auto;
  p {
    margin: 1rem 0 0.75rem;
  }
  &#sobre {
    .sobre-flyer {
      position: fixed;
      top: 50%;
      left: 50%;
      translate: -50% -50%;
      max-width: 90dvw;
      max-height: 90dvh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      background-color: hsla(0,0%,100%,0.95);
      border-radius: 15px;
      box-shadow: 0 0 15px 0 black;
      z-index: 2;
      overflow: clip;
      padding: 1rem;
      gap: 1rem;
      .sobre-flyer__flyer {
        display: flex;
        flex: auto;
        justify-content: center;
        align-items: center;
        max-height: calc(90dvh - 5rem);
        max-width: calc(90dvh - 2rem);
        height: fit-content;
        width: fit-content;
        img {
          display: block;
          width: auto;
          height: auto;          
          max-height: calc(90dvh - 5rem);
          max-width: calc(90dvw - 2rem);
          object-fit: contain;
        }
      }
      .sobre-flyer__link {
        flex: none;
        text-align: center;
      }
      button {
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
        border: none;
        box-shadow: 0 0 3px 0px gray;
        background-color: hsl(326, 57%, 82%);
        font-weight: bold;
        &:hover {
          background-color: hsl(326, 57%, 87%);;
        }
      }
    }
  }
  &#programacao {
    table {
      th {
        text-align: left;
        padding-top: 1rem;
      }
      tr {
        td:first-child {
          text-align: right;
          padding-left: 1rem;
        }
      }
    }
  }
  &#expositores {
    article {
      padding: 2rem 0 0;
      .expositores__imagens {
        padding: 1rem 0 0;
        display: flex;
        gap: 1rem;
        overflow-x: auto;
        img {
          max-width: 200px;
          max-height: 300px;
          display: block;
          object-fit: cover;
          border-radius: 15px;
          box-shadow: 0 2px 6px 0 black;
        }
      }
    }
  }
  &#local {
    iframe {
      margin: 0.5rem 1rem;
      width: calc(100% - 2rem);
      height: 40dvh;
    }
  }
  &#sobre,
  &#organizadores,
  &#apoio {
    ul {
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      padding-top: 1.5rem;
      justify-content: center;
      li {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 250px;
        max-height: 150px;
        a {
          text-decoration: none;
          height: 100%;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
        }
        img {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: contain;
        }
      }
    }
  }
  &#sobre ul li {
    max-height: 300px;
  }
}

footer {
  background-color: #e7e3dc;
  text-align: center;
  padding: 1rem;
  font-size: 0.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  .mahjong {
    font-size: 3rem;
  }
  .copyright {
    font-size: 1rem;
  }
}

.social-media {
  ul {
    list-style: none;
    display: flex;
    align-items: center;
    li {
      margin: 0 .25rem;
      img {
        display: block;
        max-width: 1.5rem;
        margin: 0;
        padding: 0;
      }    
    }
  }
}

.licencas {
  position: fixed;
  bottom: 0.75rem;
  right: 1rem;
  font-size: small;
  a {
    text-decoration: none;
    font-style: italic;
  }
}

.hidden {
  display: none !important;
}

/* ############################################################### */
/* ###                      Animações                          ### */
/* ############################################################### */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s forwards;
}

.fade-in.delay-500 {
  animation-delay: 0.5s;
}

.fade-in.delay-1000 {
  animation-delay: 1s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
