
.nicescroll-rails > div{border:0 !important;}

.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pace-inactive {
  display: none;
}

.pace .pace-progress {
  background: linear-gradient(90deg, #06a2c8, #07d7ce);
  position: fixed;
  z-index: 2000;
  top: 0;
  right: 100%;
  width: 100%;
  height: 5px;
}

#loading{
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 99;
	background-color: rgb(0,142,195);
}

/*slideout*/

body {
  width: 100%;
  height: 100%;
}

.slideout-menu {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: 256px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: none;
  background: #171717;
}

.slideout-panel {
  position: relative;
  z-index: 1;
}

.slideout-open,
.slideout-open body,
.slideout-open .slideout-panel {
  overflow: hidden;
}

.slideout-open .slideout-menu {
  display: block;
}

.glitch{
  position: relative;
}

.glitch:hover{
  background: transparent;
}
.glitch span{
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  animation-name: glitch-animation-1;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: reverse-alternate;
}
.glitch::before, .glitch::after {
  color: white;
  content: "前往購票_";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
}
.glitch.en::before, .glitch.en::after {
  content: 'Register_';
}

.glitch::before {
  left: 1px;
  text-shadow: -2px 0 red;
  animation-name: glitch-animation-1;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: reverse-alternate;
}
.glitch::after {
  left: -1px;
  text-shadow: -2px 0 blue;
  animation-name: glitch-animation-2;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: reverse-alternate;
}

@keyframes glitch-animation-1 {
  0% {
    clip: rect(12px, 350px, 1px, 30px);
  }
  5% {
    clip: rect(23px, 350px, 37px, 30px);
  }
  10% {
    clip: rect(91px, 350px, 69px, 30px);
  }
  15% {
    clip: rect(135px, 350px, 134px, 30px);
  }
  20% {
    clip: rect(83px, 350px, 86px, 30px);
  }
  25% {
    clip: rect(117px, 350px, 87px, 30px);
  }
  30% {
    clip: rect(76px, 350px, 21px, 30px);
  }
  35% {
    clip: rect(96px, 350px, 59px, 30px);
  }
  40% {
    clip: rect(99px, 350px, 63px, 30px);
  }
  45% {
    clip: rect(126px, 350px, 61px, 30px);
  }
  50% {
    clip: rect(60px, 350px, 3px, 30px);
  }
  55% {
    clip: rect(89px, 350px, 3px, 30px);
  }
  60% {
    clip: rect(125px, 350px, 108px, 30px);
  }
  65% {
    clip: rect(6px, 350px, 9px, 30px);
  }
  70% {
    clip: rect(138px, 350px, 44px, 30px);
  }
  75% {
    clip: rect(65px, 350px, 83px, 30px);
  }
  80% {
    clip: rect(64px, 350px, 125px, 30px);
  }
  85% {
    clip: rect(32px, 350px, 10px, 30px);
  }
  90% {
    clip: rect(132px, 350px, 80px, 30px);
  }
  95% {
    clip: rect(77px, 350px, 107px, 30px);
  }
  100% {
    clip: rect(150px, 350px, 147px, 30px);
  }
}
@keyframes glitch-animation-2 {
  0% {
    clip: rect(96px, 350px, 54px, 30px);
  }
  5% {
    clip: rect(2px, 350px, 32px, 30px);
  }
  10% {
    clip: rect(84px, 350px, 72px, 30px);
  }
  15% {
    clip: rect(29px, 350px, 143px, 30px);
  }
  20% {
    clip: rect(11px, 350px, 95px, 30px);
  }
  25% {
    clip: rect(42px, 350px, 148px, 30px);
  }
  30% {
    clip: rect(117px, 350px, 48px, 30px);
  }
  35% {
    clip: rect(89px, 350px, 69px, 30px);
  }
  40% {
    clip: rect(57px, 350px, 20px, 30px);
  }
  45% {
    clip: rect(122px, 350px, 101px, 30px);
  }
  50% {
    clip: rect(98px, 350px, 128px, 30px);
  }
  55% {
    clip: rect(25px, 350px, 17px, 30px);
  }
  60% {
    clip: rect(69px, 350px, 66px, 30px);
  }
  65% {
    clip: rect(67px, 350px, 16px, 30px);
  }
  70% {
    clip: rect(26px, 350px, 86px, 30px);
  }
  75% {
    clip: rect(125px, 350px, 97px, 30px);
  }
  80% {
    clip: rect(77px, 350px, 2px, 30px);
  }
  85% {
    clip: rect(101px, 350px, 125px, 30px);
  }
  90% {
    clip: rect(89px, 350px, 133px, 30px);
  }
  95% {
    clip: rect(105px, 350px, 5px, 30px);
  }
  100% {
    clip: rect(111px, 350px, 145px, 30px);
  }
}



html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}



/* modal */

.modal {
  /* font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif; */
  font-weight: 600;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999999999;
}

.modal__container {
  padding: 30px;
  max-width: 660px;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
  width: 80%;
  position: relative;
}

/* .modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #00449e;
  box-sizing: border-box;
} */

.modal__close {
  background: transparent;
  border: 0;
  font-size: 2em;
  position: absolute;
  color: rgba(255,255,255,0.8);
  top: 0;
  right: 0;
  display: inline-block;
  height: 1.4em;
  width: 1.4em;
  z-index: 9;
  transition: all 0.3s;
  outline: none !important;
  cursor: pointer;
}
.modal__close:hover{
  filter: brightness(1.1);
}

.modal__close:before { content: "\2715"; }



/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translateY(15%); }
    to { transform: translateY(0); }
}

@keyframes mmslideOut {
    from { transform: translateY(0); }
    to { transform: translateY(-10%); }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
  z-index: 999999;
}
