html,
body {
  font-size: 16px;
  font-family: 'Noto Sans TC', Microsoft Jhenghei, '微軟正黑', sans-serif; }

.bgc_blue {
  background-color: #99efff; }
.bgc_dBlue {
  background-color: #2e3692; }
.bgc_purple {
  background-color: #6b3791; }
.bgc_pink {
  background-color: #db2979; }
.bgc_red {
  background-color: #e83f55; }
.bgc_orange {
  background-color: #ec7d3e; }
.bgc_grey {
  background-color: #bbb; }
.bgc_computex {
  background-color: #c11b70;
}

.bd_blue {
  border: 1px solid #99efff; }
.bd_blue:not(:disabled):not(.disabled).active {
  background-color: #99efff;
  color: #fff; }
.bd_dBlue {
  border: 1px solid #2e3692; }
.bd_purple {
  border: 1px solid #6b3791; }
.bd_pink {
  border: 1px solid #db2979; }
.bd_red {
  border: 1px solid #e83f55; }
.bd_orange {
  border: 1px solid #ec7d3e; }
.bd_grey {
  border: 1px solid #999; }
.bd_computex {
  border: 1px solid #c11b70;
}

.text_blue {
  color: #99efff; }
.text_dBlue {
  color: #2e3692; }
.text_purple {
  color: #6b3791; }
.text_pink {
  color: #db2979; }
.text_red {
  color: #e83f55; }
.text_orange {
  color: #ec7d3e; }
.text_grey {
  color: #999; }
.text_white {
  color: #fff; }
.text_computex {
  color: #c11b70;
}

.f_w_700 {
  font-weight: 700; }
.f_s_3xl {
  font-size: 1.8em; }
.f_s_xxl {
  font-size: 1.6em; }
.f_s_xl {
  font-size: 1.425em; }
.f_s_lg {
  font-size: 1.25em; }
.f_s_md {
  font-size: 1.125em; }
.f_s_sm {
  font-size: 0.875em; }
.f_s_xs {
  font-size: 0.75em; }

.fixed_header {
  background-color: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0, .19);
}
.header_title {
  position: absolute;
  left: 0;
  top: 0;
  line-height: 40px;
}
.header_function {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0;
}
.function_item {
  display: inline-block;
  vertical-align: top;
  margin: 0 5px;
  font-size: 20px;
}

.navbar-toggler {
  background: #c11b70 url('../img/UI/icon_menu.png') center/contain no-repeat;
}
.nav-item .nav-link {
  border-radius: 21px;
  color: #c11b70;
  border: 1px solid transparent;
}
.nav-item .nav-link:hover {
  color: #d87dac;
}
.nav-item .nav-link.active {
  border-color: #c11b70;
  background-color: transparent;
  color: #c11b70;
}
@media (min-width:992px) {
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.sns_share {
  position: relative;
  color: #fff;
}
.sns_share a {
  cursor: pointer;
}
.sns_share .function_btn {
  display: inline-block;
  padding: 10px 12px;
  background-color: #9a9a9a;
  border-radius: 4px;
}
.sns_share_menu {
  display: none;
  position: absolute;
  right: -8px;
  top: 100%;
  border-radius: 4px;
  border: 1px solid #e4e4e4;
  margin-top: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  background-color: #fff;
}
.sns_share_menu a {
  display: block;
  padding: 2px 8px;
}
.sns_share_menu ._FB {
  color: #0A548E;
}
.sns_share_menu ._Line {
  color: #01B13E;
} 
.sns_share_menu i {
  display: block;
  font-size: 42px;
}
download.pngdownload.png#add-to-calendar-checkbox-label {
  cursor: pointer;
  border:#333 1px solid;
  display:block;
}
.new-cal {
  border-radius:4px;
}
.new-cal div{ position:relative; }
.new-cal label{
  font-size:20px;
  cursor:pointer;
  color:#fff;
  padding:10px 12px;
  margin: 0;
}
.add-to-calendar-checkbox ~ a {
  display: none;
  border-radius:4px;
  padding:11px;
  margin-top:2px;
  font-size:20px;
  color:#fff;
}
.add-to-calendar-checkbox:checked ~ a {
  display:block;
  position:absolute;
  width:40px;
  height:40px;
  text-align:center;
}
input[type=checkbox].add-to-calendar-checkbox {
  position:absolute;
  display:block;
  width:100px;
  height:100px;
  top:-9999px;
  left:-9999px;
}
.add-to-calendar-checkbox:checked~.icon-google {
  margin-top: 10px;
  background:#4285F4;
}
.icon-yahoo {
  background:#4203B0;
  top: 90px;
}
.icon-ical {
  background:#666;
  top: 132px;
}
.icon-outlook {
  background:#0070C6;
  top: 174px;
}

.dropdown-menu a {
  cursor:pointer; }

.sec_hero {
  position: fixed;
  top: 58px;
  left: 0;
  z-index: 1;
  width: 100%;
}
.kv_desktop {
  position: relative;
  height: calc(100vh - 58px);
}
.kv_desktop .img {position: absolute;}
.kv_desktop img {width: 100%;}
.kv_desktop .bg {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  animation-name: graph;
  animation-duration: 240s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
.kv_desktop .bg img {
  width: auto;
  height: 100%;
}
@keyframes graph {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-150%);
  }
  100% {
    transform: translateX(0);
  }
}

.kv_desktop .cover {
  animation-name: cover;
  animation-duration: 8s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes cover {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.9;
  }
  75% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}
.kv_desktop .front_ground {
  width: 100%;
  height: 100%;
}
.kv_desktop .title,
.kv_desktop .name,
.kv_desktop .address {
  animation-name: move;
  animation-duration: 12s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
.kv_desktop .title {
  width: 37.6%;
  top: 50%;
  left: 50%;
  margin-left: -16%;
  margin-top: -19.75%;
}
.kv_desktop .name {
  width: 56%;
  top: 50%;
  left: 50%;
  margin-left: -15%;
  margin-top: -8%;
  animation-delay: 300ms;
}
.kv_desktop .address {
  width: 34%;
  top: 50%;
  left: 50%;
  margin-left: -17%;
  margin-top: 8%;
  animation-delay: 600ms;
}
@keyframes move {
  0% {
    transform: translate3d(0, 0, 0);
  }
  25% {
    transform: translate3d(-10px, -20px, 0);
  }
  50% {
    transform: translate3d(-2px, -5px, 0);
  }
  75% {
    transform: translate3d(8px, 16px, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.kv_desktop .logo1 {
  width: 12.5%;
  max-width: 230px;
  left: 4%;
  top: 4%;
}
.kv_desktop .logo2 {
  width: 9.5%;
  max-width: 180px;
  right: 4%;
  top: 4.5%;
}

.related {
  position: fixed;
  z-index: 21;
  bottom: 0;
  left: 0;
  transition: transform 400ms;
}
.related .area {
  display: block;
  color: #ec7d3e;
  opacity: 0.6;
  transition: opacity 300ms;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
}
.related:hover .area {
  opacity: 1;
}

.related.active {
  transform: translate3d(-100%, 0, 0); 
}
.related.active .area {
  opacity: 1;
}
.related .pic,
.related .text {
  display: inline-block;
  vertical-align: middle;
}
.related .pic {
  width: 180px;
}
.related .pic img {
  transition: transform 240ms;
}
.related .text {
  font-size: 1.4em;
}
.related:hover img {
  transform: scale(1.04);
}
.related .arrow {
  position: absolute;
  left: 100%;
  top: 50%;
  width: 50px;
  height: 50px;
  background: url("../img/UI/arrow_left.png") center/contain no-repeat;
  cursor: pointer;
  opacity: .6;
  transform: translate3d(0, -50%, 0);
  transition: opacity 300ms, transform 300ms;
}
.related.active .arrow {
  opacity: .3;
  background-image: url("../img/UI/arrow_right.png")
}
.related:hover .arrow {
  opacity: .8;
}
.related .arrow:hover {
  opacity: 1;
  transform: translate3d(-4px, -50%, 0);
}
.related.active .arrow:hover {
  opacity: 1;
  transform: translate3d(4px, -50%, 0);
}



.sec_title {
  position: relative;
  margin: 2rem auto;
  min-width: 240px;
  max-width: 28%;
  width: 100%;
  text-align: center; }
  .sec_title .tit {
    position: relative;
    z-index: 3;
    margin: 0 auto;
    width: 100%;
    font-size: 28px;
    line-height: 1;
    color: #6b3791;
    letter-spacing: .1em; }

.primary_content {
  position: relative;
  z-index: 20;
  margin: 100vh auto 4vw;
  width: 92%;
  background-color: #fff;
}
.g_intro {
  font-size: 1.2em;
  line-height: 2  ;
  background-color: 
}
.g_intro .box {
  display: inline-block;
}
.g_intro .box_btn {
  position: relative;
  cursor: pointer;
}
.g_intro .box_btn::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  background-color: #c11b70;
  transform: scaleX(0);
  transition: transform 300ms;
}
.g_intro .box_btn a,
.g_intro .box_btn:hover a {
  text-decoration: none;
}
.g_intro .box_btn a {
  position: relative;
  z-index: 32;
  transition: color 300ms;
}
.g_intro .box_btn:hover a {
  color: #fff;
}
.g_intro .box_btn:hover::before {
  transform: scaleX(1);
}
.s_agenda .table_tip {
  margin-top: 6px;
  font-size: 0.95em;
  text-align: center; }
  .s_agenda .table_tip span {
    display: inline-block;
    padding: .4em 1em;
}
.primary_btn {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 220px;
}
.primary_btn .btn_inner {
  position: relative;
  z-index: 2;
  width: 100%;
  font-size: 1.6em;
  letter-spacing: .1em;
  line-height: 60px;
  font-weight: 400;
  letter-spacing: .1em;
  text-align: center;
}
.primary_btn:hover {
  text-decoration: none;
}

.s_gift {
  position: relative;
}
.s_gift .container {
  position: relative;
  z-index: 2;
}


.s_video .video_bg {
  margin: 0 auto;
  padding: 40px 80px;
  width: 87.5%;
  background-color: #fafafa;
}
.s_video .video_wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.s_video .video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.s_agenda dl,
.s_agenda dt,
.s_agenda dd {
  margin: 0;
}

.s_agenda .bg_light {
  background-color: rgba(0,0,0, .05);
}
.s_agenda {
  font-size: 14px;
}
.agenda_sty_a .agenda_part_title {
}
.agenda_sty_a .agenda_dl_title {
}
.agenda_sty_b .agenda_part_title {
}
.agenda_sty_b .agenda_dl_title {
}

.s_speaker img {
  max-width: 100%;
}
.s_speaker .card-text {
  margin-bottom: 0;
}
.speaker_item {
  cursor: pointer;
}
.speaker_item .img_wrap {
  position: relative;
}
.speaker_item .img_wrap::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid #fff;
  opacity: 0;
  transition: transform 300ms, opacity 300ms;
}
.speaker_item:hover .img_wrap::after {
  opacity: 1;
  transform: scale(.9);
}

.sponsor_sort {
  text-align: center;
  font-size: 0;
}
.sponsor_sort .js_sort {
  display: inline-block;
  font-size: 1rem;
}
.sponsor_sort .js_sort {
  position: relative;
  font-size: 1rem;
  background-color: transparent;
  transition: color 200ms;
  cursor: pointer;
  overflow: hidden;
}
.sponsor_sort .js_sort::before,
.sponsor_sort .js_sort::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #c11b70;
  transition: top 200ms, bottom 200ms;
}
.sponsor_sort .js_sort::before {
  top: -100%;
  left: 0;
}
.sponsor_sort .js_sort::after {
  bottom: -100%;
  right: 0;
}
.sponsor_sort .js_sort:hover {
  color: #e7a5c7;
}
.sponsor_sort .js_sort.active {
  color: #c11b70;
}
.sponsor_sort .js_sort.active::before {
  top: 0;
}
.sponsor_sort .js_sort.active::after {
  bottom: 0;
}
.sponsor_sort .js_sort.active:hover {
  color: #e7a5c7;
}
.sponsor_item a {
  display: block;
  border-radius: .25em;
  box-shadow: 0 .5rem 1rem rgba(0,0,0, .15);
  transition: box-shadow 200ms, transform 200ms;
}
.sponsor_item a:hover {
  box-shadow: 0 .25rem .5rem rgba(0,0,0, .15);
  transform: translateY(.25rem);
}
.sponsor_item img {
  max-width: 100%;
}

.s_venue .map_wrap iframe {
  height: 50vh;
  min-height: 300px;
}

.fixed_coner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 21;
}

.js_backTop,
.js_register {
  border-radius: 4px;
  width: 60px;
  height: 60px;
  display: block;
  cursor: pointer;
  transition: transform 300ms;
  border: 1px solid #e4e4e4;
}
.js_register {
  padding: 7px 10px;
  text-align: center;
  margin-bottom: 10px;
  line-height: 1.4;
  color: #fff;
}
.js_register:hover {
  color: #fff;
}
.js_backTop:hover,
.js_register:hover {
  transform: translate(-6px, 0);
  text-decoration: none;
}
.js_backTop {
  text-align: center;
  padding: 25px 10px 10px;
  background: #fff url(../img/UI/uparr-48-b.png) no-repeat center center;
  font-size: 0;
}

@media (max-width: 992px) {
  .header_title {
    left: 72px;
  }
  .sec_hero {
    top: 56px;
  }
  .primary_content {
    width: 100%;
    margin-top: 100%;
    margin-bottom: 0;
  }
  .related {
    position: absolute;
    
    top: 31.25vh;
  }
}

@media (max-width: 767px) {
  .primary_content {
    margin-top: calc(100% + 56px);
  }
}