@import "@/styles/mixins.scss";
@import "@/styles/variables.scss";

$size-height-navbar: 80px;

@mixin link() {
  color: $B3 !important;
  &:hover {
    color: #FFF !important;
  }
}

.SectionTitle {
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  margin: 60px auto;
  letter-spacing: 1em;
  @include on-mobile() {
    margin: 16px auto;
  }
}

.body {
  color: $M1;
  background-color: #0C0C54;
}

.cta_button {
  $M1: #1EA3DC;
  @include transition();
  padding: 8px 20px;
  padding-left: calc(20px + 0.5em);
  //text-indent: 0.5em;
  letter-spacing: 0.5em;
  color: #FFF;
  background-color: $M1;
  border: 1px solid $M1;
  border-radius: 4px;
  &:hover {
    color: $M1;
    background-color: transparent;
  }
}

.background_1 {
  background: url("./background_1.png") left no-repeat;
}

.background_2 {
  background: url("./background_2.png") right no-repeat;
}

.background_3 {
  background: url("./background_3.png") right no-repeat;
}

.background_4 {
  background: url("./background_4.png") left no-repeat;
}

.background_contain {
  background-size: contain;
}

.navbar {
  @include transition();
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 99999;
  background-color: #3A2DFFEA;
  &_non_transparent {
    background: transparent;
  }
  &_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: $size-height-navbar;
  }
  &_start {
    display: flex;
    align-items: center;
    &_logo {
      &_tidb {
        margin-left: 16px;
      }
    }
    //&_logo {
    //  &:hover {
    //    background-color: transparent;
    //  }
    //}
  }
  &_end {
    display: flex;
    align-items: center;
    list-style: none;
    &_link {
      @include transition();
      @include on-mobile() {
        display: none;
      }
      border-bottom: 2px solid rgba(#1F9CDB, 0);
      a {
        display: block;
        color: #FFFFFF;
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        //line-height: 24px;
        padding: 10px 24px;
      }
      &_selected, &:hover {
        border-bottom: 2px solid #FFFFFF;
        a {
          font-weight: bold;
        }
      }
    }
    &_button {
      margin-left: 24px;
      a {
        letter-spacing: 0;
        padding: 8px 20px !important;
      }
    }
  }
}

.header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 72px;
  background-image: url("./banner_background.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  @include on-mobile() {
    background-size: contain;
  }
  //background-color: #000;
  //overflow: hidden;
  //&_background {
  //  position: absolute;
  //  text-align: center;
  //  video {
  //    overflow: hidden;
  //  }
  //}
  &_content {
    padding-top: 72px + $size-height-navbar;
    z-index: 1;
    @include on-mobile() {
      padding-top: 88px + $size-height-navbar;
    }
  }
  &_primary {
    margin-top: 14px;
    font-size: 64px;
    line-height: 64px;
    letter-spacing: 0.8em;
    position: relative;
    left: 0.4em;
    text-transform: uppercase;
    @include on-mobile() {
      font-size: 36px;
      letter-spacing: 0.4em;
    }
  }
  &_english {
    margin: 42px auto;
    @include on-mobile() {
      margin: 16px auto;
    }
  }
  &_secondary {
    margin-top: 32px;
    font-size: 40px;
    line-height: 40px;
    letter-spacing: 0.1em;
    text-transform: capitalize;
    @include on-mobile() {
      font-size: 24px;
      margin-top: 14px;
    }
  }
  &_address {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 56px;
    font-size: 20px;
    letter-spacing: 0.2em;
    @include on-mobile() {
      font-size: 12px;
      margin-top: 20px;
    }
    &_extra {
      margin-top: 6px;
      font-size: 16px;
      letter-spacing: 0.2em;
      @include on-mobile() {
        font-size: 10px;
      }
    }
  }
  &_button {
    margin-top: 60px;
  }
  &_summary {
    margin-top: 40px;
    font-size: 16px;
    line-height: 32px;
    max-width: 960px;
    letter-spacing: 0.1em;
  }
}

.schedule {
  display: flex;
  flex-direction: column;
  align-items: center;
  //max-width: 1024px !important;
  //margin-top: 96px;
  //padding-top: 96px;
  &_title {
    margin: 60px auto;
  }
  table {
    border-collapse: collapse;
    border: none;
    tr {
      height: 80px;
      td {
        text-align: center;
        vertical-align: middle;
        color: #FFF;
        font-size: 16px;
        padding: 8px;
      }
    }
  }
  &_table_desktop {
    display: table;
    @include on-mobile() {
      display: none;
    }
  }
  &_table_mobile {
    display: none;
    @include on-mobile() {
      display: table;
    }
  }
}

.guest {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 96px;
  &_title {
    display: flex;
    justify-content: center;
    align-items: center;
    img {
      margin-right: -80px;
    }
    h2 {
      text-align: center;
      font-weight: 500;
      font-size: 24px;
    }
  }
  &_list {
    margin-top: 64px;
    &_item {
      $size-avatar-offset: 24px;
      @include transition();
      &:hover {
        transform: translateY(-8px);
      }
      margin: auto auto;
      width: 300px;
      height: 100%;
      text-align: center;
      border-radius: 8px;
      padding: 32px;
      padding-top: 32px + $size-avatar-offset !important;
      background-color: #1FA3DD0A;
      //background-image: url("./background_3.png");
      //background-repeat: no-repeat;
      //background-size: contain;
      //background-position: top;
      &_avatar {
        $size: 150px;
        img {
          //@include border-radius($size);
          //width: $size;
          height: $size;
        }
      }
      &_name {
        margin-top: 44px - $size-avatar-offset;
        /* H5 */
        font-style: normal;
        font-weight: 600;
        font-size: 18px;
        line-height: 27px;
        /* identical to box height, or 150% */
        text-align: center;
        /* M1 */
        color: #FFFFFF;
      }
      &_title {
        //white-space: nowrap;
        margin-top: 8px;
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 32px;
        min-height: 64px;
        /* identical to box height, or 200% */
        letter-spacing: 0.1em;
        color: #FFFFFF;
      }
    }
  }
}

.sponsors {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 48px;
  &_title {
    display: flex;
    justify-content: center;
    align-items: center;
    img {
      margin-right: -80px;
    }
    h2 {
      text-align: center;
      font-weight: 500;
      font-size: 24px;
    }
  }
  &_section {
    width: 100%;
    padding-bottom: 4rem;
    &_title {
      text-align: center;
      font-size: 20px;
      font-weight: 500;
      margin: 2rem auto;
    }
    &_list {
      width: 100%;
      img {
        //width: auto;
        //height: 150px;
      }
    }
  }
  &_content {
    margin-top: 36px;
    max-width: 988px;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    text-align: center;
    a {
      color: #48C2FF;
      &:hover {
        color: #48C2FF;
      }
    }
  }
}

.guide {
  //display: flex;
  //flex-direction: column;
  //align-items: center;
  //padding-top: 72px;
  &_map {
    display: flex;
    width: 100%;
    img {
      width: auto;
      height: 336px;
    }
    @include on-mobile() {
      flex-direction: column;
      img {
        width: 100%;
        height: auto;
      }
    }
  }
  &_address {
    margin-top: 18px;
    font-size: 18px;
  }
  &_list {
    margin-top: 54px;
    &_item {
      margin-bottom: 32px;
      &_title {
        color: #E55027;
        display: flex;
        align-items: center;
        span {
          margin-left: 4px;
        }
      }
      &_content {
        color: #FFFFFF;
        margin-top: 12px;
        font-size: 16px;
        span {
          color: #1FA3DD;
        }
      }
    }
  }
}

.cta {
  padding: 64px 16px;
  padding-top: 128px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.more {
  padding: 64px 16px;
  padding-bottom: 128px;
  display: flex;
  flex-direction: column;
  align-items: center;
  &_list {
    margin-top: 48px;
    display: flex;
    justify-content: center;
    @include on-mobile() {
      flex-direction: column;
      align-items: center;
    }
    &_item {
      text-align: center;
      @include on-desktop() {
        margin: 0 32px;
      }
      @include on-mobile() {
        margin: 32px 0;
      }
      img {
        width: 400px;
        height: 240px;
      }
      &_text {
        margin-top: 16px;
      }
    }
  }
}
