/* Scss Document */
* {
  margin: 0;
  padding: 0;
  font-family: Microsoft Jhenghei; }

a {
  cursor: pointer; }

/* menu */
.topnav {
  overflow: hidden;
  background-color: #57BA59; }
  .topnav a {
    float: right;
    display: block;
    color: #f2f2f2;
    text-align: center;
    padding: 20px 10px 5px 10px;
    text-decoration: none;
    font-size: 18px;
    height: 40px;
    transition: all 1s; }
    .topnav a img {
      margin: -10px 10px 0 10px;
      display: block; }
    .topnav a:hover {
      background-color: #017700;
      color: #FFE603; }
    .topnav a:nth-child(1) {
      float: left; }
  .topnav .active {
    background-color: #57BA59;
    color: white; }
  .topnav .icon {
    font-size: 36px;
    padding: 5px 10px 20px 10px;
    display: none; }

/* KV */
._wrapper h2 {
  font-size: 30px;
  text-align: center;
  color: #57BA59;
  margin-bottom: 20px;
  border-bottom: #57BA59 1px dotted; }
._wrapper #KV {
  position: relative; }
  ._wrapper #KV img {
    width: 100%; }
  ._wrapper #KV h1 {
    font-size: 56px;
    color: #fff;
    text-shadow: 2px 2px 5px #333;
    text-align: center;
    position: absolute;
    z-index: 1000;
    width: 100%;
    bottom: 20px; }
  ._wrapper #KV span {
    background-color: #57BA59;
    background-position: bottom center;
    background-size: cover;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    height: 10px; }
._wrapper #intro, ._wrapper #agenda, ._wrapper #speaker, ._wrapper #gallery, ._wrapper #company, ._wrapper #register, ._wrapper #join, ._wrapper #venue {
  padding: 30px 50px 60px 50px; }
._wrapper #agenda, ._wrapper #gallery, ._wrapper #company, ._wrapper #register, ._wrapper #venue {
  background: #F9F9F9; }
._wrapper #intro h2 {
  font-size: 40px; }
._wrapper #intro p {
  font-size: 16px;
  line-height: 1.6em; }
._wrapper #intro h4 {
  font-size: 20px;
  color: #57BA59;
  text-align: center;
  margin: 20px 0; }
._wrapper #intro a {
  display: block;
  margin: auto;
  padding: 10px 20px;
  background-color: #57BA59;
  text-align: center;
  width: 200px;
  text-decoration: none;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  border-radius: 10px;
  transition: all 1s; }
  ._wrapper #intro a:hover {
    background-color: #017700;
    color: #FFE603; }
._wrapper #intro div {
  text-align: center;
  margin-top: 30px; }
  ._wrapper #intro div h3 {
    font-size: 28px;
    border: #57BA59 1px solid;
    border-radius: 25px;
    max-width: 500px;
    margin: 0 auto; }
  ._wrapper #intro div img {
    margin: auto;
    width: 100%;
    max-width: 600px;
    margin: 20px 0; }
._wrapper #agenda div table {
  border-collapse: separate;
  border-spacing: 0;
  border: 0;
  width: 100%;
  background: #F0EFEF; }
  ._wrapper #agenda div table th, ._wrapper #agenda div table td {
    padding: 10px 5px; }
  ._wrapper #agenda div table .time {
    color: #666;
    font-size: .9em;
    text-align: center;
    width: 20vw; }
  ._wrapper #agenda div table .topic {
    width: 80vw; }
._wrapper #agenda .AM table tr:nth-child(even) {
  background: #CFCFCE; }
._wrapper #agenda .AM table th, ._wrapper #agenda .AM table th.time {
  background: #57BA59;
  color: #fff;
  font-size: 1em;
  text-align: center; }
._wrapper #agenda .AM table td {
  font-weight: bolder; }
  ._wrapper #agenda .AM table td span {
    display: block;
    font-size: .9em;
    color: #666;
    font-weight: normal;
    margin-top: .5em; }
._wrapper #agenda .PM table tr:nth-child(even) {
  background: #CFCFCE; }
._wrapper #agenda .PM table tr.break td {
  text-align: center;
  font-weight: normal;
  font-size: .9em; }
._wrapper #agenda .PM table th {
  background: #6C6C6C;
  color: #E4E4E4;
  width: 20%; }
._wrapper #agenda .PM table td {
  font-weight: bolder;
  text-align: center; }
  ._wrapper #agenda .PM table td span, ._wrapper #agenda .PM table td i {
    display: block;
    font-size: .8em;
    color: #464646;
    margin-top: 10px;
    font-weight: normal; }
  ._wrapper #agenda .PM table td.light {
    background: #C3C3C3; }
._wrapper #agenda .small {
  display: none; }
._wrapper #agenda .large {
  display: block; }
._wrapper #speaker {
  clear: both;
  display: grid;
  grid-auto-flow: row;
  grid-gap: 10px; }
  ._wrapper #speaker div {
    display: grid;
    grid-auto-flow: column;
    grid-gap: 20px;
    margin: 20px 0; }
    ._wrapper #speaker div img {
      width: 100%;
      min-width: 100px;
      max-width: 300px;
      border-radius: 10%;
      display: block;
      border: #fff 5px solid;
      box-shadow: 2px 2px 10px 5px #ccc; }
    ._wrapper #speaker div div {
      display: block; }
      ._wrapper #speaker div div h4 {
        color: #57BA59;
        font-size: 22px;
        margin-bottom: 10px; }
      ._wrapper #speaker div div p {
        line-height: 1.8em;
        table-layout: fixed;
        overflow: auto;
        word-wrap: break-word;
        word-break: normal;
        text-align: justify;
        text-justify: inter-ideograph; }
._wrapper div.gift {
  text-align: center;
  margin: 30px; }
  ._wrapper div.gift h3 {
    font-size: 28px;
    border: #57BA59 1px solid;
    border-radius: 25px;
    max-width: 500px;
    margin: 0 auto; }
  ._wrapper div.gift img {
    margin: auto;
    width: 100%;
    max-width: 600px;
    margin: 20px 0; }
._wrapper #gallery div {
  display: grid;
  grid-auto-flow: column;
  grid-gap: 10px;
  grid-template: auto auto auto/ auto auto auto auto; }
  ._wrapper #gallery div img {
    width: 100%; }
._wrapper #company div {
  display: grid;
  grid-auto-flow: column; }
  ._wrapper #company div div {
    display: block;
    text-align: center; }
    ._wrapper #company div div span {
      display: block; }
    ._wrapper #company div div img {
      width: 100%;
      min-width: 100px;
      max-width: 300px; }
._wrapper #register > div {
  display: grid;
  grid-auto-flow: column;
  grid-template: auto auto auto auto auto auto/ auto auto auto auto auto; }
  ._wrapper #register > div div {
    padding: 10px;
    border: #ccc 1px solid;
    text-align: center; }
._wrapper #join ol {
  margin-left: 2em; }
  ._wrapper #join ol li {
    line-height: 1.5em;
    margin-bottom: 1em;
    font-size: 14px; }
._wrapper #venue > div {
  display: grid;
  grid-auto-flow: column;
  grid-gap: 10px;
  grid-template: auto /1fr 1fr; }
  ._wrapper #venue > div div {
    width: 100%; }
    ._wrapper #venue > div div dl {
      margin: 0 20px; }
      ._wrapper #venue > div div dl dt {
        font-size: 18px;
        font-weight: bolder; }
      ._wrapper #venue > div div dl dd {
        margin-bottom: 10px; }
._wrapper .footer {
  height: 30px;
  background: #57BA59; }

/* media query */
@media screen and (max-width: 900px) {
  .topnav a:not(:first-child) {
    display: none; }
  .topnav a.icon {
    float: right;
    display: block; } }
@media screen and (max-width: 900px) {
  .topnav.responsive {
    position: relative; }
    .topnav.responsive .icon {
      position: absolute;
      right: 0;
      top: 0; }
    .topnav.responsive a {
      float: none;
      display: block;
      text-align: center; } }
@media screen and (max-width: 600px) {
  ._wrapper #intro, ._wrapper #agenda, ._wrapper #speaker, ._wrapper #gallery, ._wrapper #company, ._wrapper #register, ._wrapper #join, ._wrapper #venue {
    padding: 10px; }
  ._wrapper #KV {
    position: relative; }
    ._wrapper #KV img {
      width: 100%; }
    ._wrapper #KV h1 {
      font-size: 20px;
      color: #fff;
      text-shadow: 2px 2px 5px #333;
      text-align: center;
      position: absolute;
      z-index: 1000;
      width: 100%;
      bottom: 20px; }
    ._wrapper #KV span {
      background-color: #57BA59;
      background-position: bottom center;
      background-size: cover;
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 4px;
      height: 10px; }
  ._wrapper #intro h2 {
    font-size: 21px; }
  ._wrapper #intro p {
    font-size: 14px;
    line-height: 1.6em; }
  ._wrapper #intro h4 {
    font-size: 16px;
    color: #57BA59;
    text-align: center;
    margin: 20px 0; }
  ._wrapper #intro a {
    display: block;
    margin: auto;
    padding: 10px 20px;
    background-color: #57BA59;
    text-align: center;
    width: 200px;
    text-decoration: none;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    border-radius: 10px;
    transition: all 1s; }
    ._wrapper #intro a:hover {
      background-color: #017700;
      color: #FFE603; }
  ._wrapper #intro div {
    text-align: center;
    margin-top: 30px; }
    ._wrapper #intro div h3 {
      font-size: 28px;
      border: #57BA59 1px solid;
      border-radius: 25px;
      max-width: 500px;
      margin: 0 auto; }
    ._wrapper #intro div img {
      margin: auto;
      width: 100%;
      max-width: 600px;
      margin: 20px 0; }
  ._wrapper #agenda div table {
    border-collapse: separate;
    border-spacing: 0;
    border: 0;
    width: 100%;
    background: #F0EFEF; }
    ._wrapper #agenda div table th, ._wrapper #agenda div table td {
      padding: 10px 5px; }
    ._wrapper #agenda div table .time {
      color: #666;
      font-size: .9em;
      text-align: center;
      width: 20vw; }
    ._wrapper #agenda div table .topic {
      width: 80vw; }
  ._wrapper #agenda .AM table tr:nth-child(even) {
    background: #CFCFCE; }
  ._wrapper #agenda .AM table th, ._wrapper #agenda .AM table th.time {
    background: #57BA59;
    color: #fff;
    font-size: 1em;
    text-align: center; }
  ._wrapper #agenda .AM table td {
    font-weight: bolder; }
    ._wrapper #agenda .AM table td span {
      display: block;
      font-size: .9em;
      color: #666;
      font-weight: normal;
      margin-top: .5em; }
  ._wrapper #agenda .PM table tr:nth-child(even) {
    background: #CFCFCE; }
  ._wrapper #agenda .PM table tr.break td {
    text-align: center;
    font-weight: normal;
    font-size: .9em; }
  ._wrapper #agenda .PM table th {
    background: #6C6C6C;
    color: #E4E4E4; }
  ._wrapper #agenda .PM table td {
    font-weight: bolder; }
    ._wrapper #agenda .PM table td span, ._wrapper #agenda .PM table td i {
      display: block;
      font-size: .8em;
      color: #464646;
      margin-top: 10px;
      font-weight: normal; }
  ._wrapper #agenda .large {
    display: none; }
  ._wrapper #agenda .small {
    display: block; }
  ._wrapper #speaker {
    display: grid;
    grid-auto-flow: row;
    grid-gap: 10px; }
    ._wrapper #speaker div {
      display: grid;
      grid-auto-flow: row;
      grid-gap: 20px;
      margin: 20px 0; }
      ._wrapper #speaker div img {
        width: 100%;
        min-width: 100px;
        max-width: 300px;
        border-radius: 10%;
        display: block;
        border: #fff 5px solid;
        box-shadow: 2px 2px 10px 5px #ccc;
        margin: auto; }
      ._wrapper #speaker div div {
        display: block; }
        ._wrapper #speaker div div h4 {
          color: #57BA59;
          font-size: 18px;
          margin-bottom: 10px;
          text-align: center; }
        ._wrapper #speaker div div p {
          line-height: 1.8em;
          font-size: 13px; }
  ._wrapper #company div {
    display: block;
    margin: 30px 0; }
    ._wrapper #company div div {
      display: block;
      text-align: center; }
      ._wrapper #company div div span {
        display: block;
        margin-bottom: -10px; }
      ._wrapper #company div div img {
        width: 100%;
        min-width: 100px;
        max-width: 300px; }
  ._wrapper #venue div {
    display: block; } }
