@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* for ng-show/hide */
.fadein,
.fadeout {
  transition: all cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.15s;
}

/* 隱藏時的樣式 */
.fadein.ng-hide-remove,
.fadeout.ng-hide-add.ng-hide-add-active {
  opacity: 0;
}

/* 顯示時的樣式 */
.fadeout.ng-hide-add,
.fadein.ng-hide-remove.ng-hide-remove-active {
  opacity: 1;
}

/*
   ng-enter is for ng-repeat, ng-if
   ng-hide is for ng-show, ng-hide
*/
.fadeinfrombottom {
  /* 隱藏時的樣式 */
  /* 顯示時的樣式 */
}
.fadeinfrombottom.ng-enter, .fadeinfrombottom.ng-hide {
  transition: all cubic-bezier(0.25, 0.81, 0.73, 0.99) 0.5s;
  top: 200px;
  opacity: 0;
}
.fadeinfrombottom.ng-enter-active, .fadeinfrombottom.ng-hide-remove.ng-hide-remove-active {
  top: 0;
  opacity: 1;
}

.slideinfromright.ng-enter, .ng-enter.uiview, .slideinfromright.ng-hide, .ng-hide.uiview {
  will-change: transform;
  transform: translateX(90%);
  transition: -webkit-transform cubic-bezier(0.38, 0.64, 0.64, 0.98) 0.3s;
}
.slideinfromright.ng-enter-active, .ng-enter-active.uiview, .slideinfromright.ng-hide-remove.ng-hide-remove-active, .ng-hide-remove.ng-hide-remove-active.uiview {
  transform: translateX(0);
}

html {
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  height: 100%;
  background-color: #fff;
  font-family: "Open Sans", "Heiti TC", "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", "標楷體", "DFKai-SB", "sans-serif";
}

* {
  padding: 0;
  margin: 0;
  list-style: none;
  box-sizing: border-box;
}

p {
  color: #535252;
  font-size: 1rem;
  line-height: 1.3;
}

a {
  color: #EF86A1;
  cursor: pointer;
  border-bottom: 1px solid;
}

h1 {
  font-size: 2rem;
  color: #535252;
  line-height: 1.5;
}

h2 {
  font-size: 1.75rem;
  color: #535252;
  line-height: 1.5;
}

h3 {
  font-size: 1.5rem;
  color: #535252;
  line-height: 1.5;
}

h4 {
  font-size: 1.25rem;
  color: #535252;
  line-height: 1.5;
}

h5 {
  font-size: 1rem;
  color: #535252;
  line-height: 1.5;
}

h6 {
  font-size: 0.75rem;
  color: #535252;
  line-height: 1.5;
}

label {
  position: relative;
  display: inline-block;
  margin: 5px 16px;
}
label > span {
  color: #535252;
}

input {
  font-family: "Open Sans", "Heiti TC", "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", "標楷體", "DFKai-SB", "sans-serif";
  color: #535252;
}
input[type=text], input[type=password], input[type=number] {
  padding: 5px 5px 5px 8px;
  line-height: 1.1;
  font-size: 1rem;
  border: 1px solid #8b9191;
  max-width: 100%;
}

button {
  font-family: "Open Sans", "Heiti TC", "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", "標楷體", "DFKai-SB", "sans-serif";
}

select {
  font-family: "Open Sans", "Heiti TC", "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", "標楷體", "DFKai-SB", "sans-serif";
  font-size: 1rem;
  color: #535252;
  border: 1px solid #8b9191;
  padding: 2px 3px 5px;
  max-width: 100%;
}

textarea {
  font-family: "Open Sans", "Heiti TC", "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", "標楷體", "DFKai-SB", "sans-serif";
  font-size: 1rem;
  color: #535252;
  border: 1px solid #8b9191;
  padding: 5px 8px;
  display: inline-block;
  vertical-align: top;
}

img {
  max-width: 100%;
}

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714em;
}

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left {
  margin-right: .3em;
}
.fa.fa-pull-right {
  margin-left: .3em;
}

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "";
}

.fa-music:before {
  content: "";
}

.fa-search:before {
  content: "";
}

.fa-envelope-o:before {
  content: "";
}

.fa-heart:before {
  content: "";
}

.fa-star:before {
  content: "";
}

.fa-star-o:before {
  content: "";
}

.fa-user:before {
  content: "";
}

.fa-film:before {
  content: "";
}

.fa-th-large:before {
  content: "";
}

.fa-th:before {
  content: "";
}

.fa-th-list:before {
  content: "";
}

.fa-check:before {
  content: "";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "";
}

.fa-search-plus:before {
  content: "";
}

.fa-search-minus:before {
  content: "";
}

.fa-power-off:before {
  content: "";
}

.fa-signal:before {
  content: "";
}

.fa-gear:before,
.fa-cog:before {
  content: "";
}

.fa-trash-o:before {
  content: "";
}

.fa-home:before {
  content: "";
}

.fa-file-o:before {
  content: "";
}

.fa-clock-o:before {
  content: "";
}

.fa-road:before {
  content: "";
}

.fa-download:before {
  content: "";
}

.fa-arrow-circle-o-down:before {
  content: "";
}

.fa-arrow-circle-o-up:before {
  content: "";
}

.fa-inbox:before {
  content: "";
}

.fa-play-circle-o:before {
  content: "";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "";
}

.fa-refresh:before {
  content: "";
}

.fa-list-alt:before {
  content: "";
}

.fa-lock:before {
  content: "";
}

.fa-flag:before {
  content: "";
}

.fa-headphones:before {
  content: "";
}

.fa-volume-off:before {
  content: "";
}

.fa-volume-down:before {
  content: "";
}

.fa-volume-up:before {
  content: "";
}

.fa-qrcode:before {
  content: "";
}

.fa-barcode:before {
  content: "";
}

.fa-tag:before {
  content: "";
}

.fa-tags:before {
  content: "";
}

.fa-book:before {
  content: "";
}

.fa-bookmark:before {
  content: "";
}

.fa-print:before {
  content: "";
}

.fa-camera:before {
  content: "";
}

.fa-font:before {
  content: "";
}

.fa-bold:before {
  content: "";
}

.fa-italic:before {
  content: "";
}

.fa-text-height:before {
  content: "";
}

.fa-text-width:before {
  content: "";
}

.fa-align-left:before {
  content: "";
}

.fa-align-center:before {
  content: "";
}

.fa-align-right:before {
  content: "";
}

.fa-align-justify:before {
  content: "";
}

.fa-list:before {
  content: "";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "";
}

.fa-indent:before {
  content: "";
}

.fa-video-camera:before {
  content: "";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "";
}

.fa-pencil:before {
  content: "";
}

.fa-map-marker:before {
  content: "";
}

.fa-adjust:before {
  content: "";
}

.fa-tint:before {
  content: "";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "";
}

.fa-share-square-o:before {
  content: "";
}

.fa-check-square-o:before {
  content: "";
}

.fa-arrows:before {
  content: "";
}

.fa-step-backward:before {
  content: "";
}

.fa-fast-backward:before {
  content: "";
}

.fa-backward:before {
  content: "";
}

.fa-play:before {
  content: "";
}

.fa-pause:before {
  content: "";
}

.fa-stop:before {
  content: "";
}

.fa-forward:before {
  content: "";
}

.fa-fast-forward:before {
  content: "";
}

.fa-step-forward:before {
  content: "";
}

.fa-eject:before {
  content: "";
}

.fa-chevron-left:before {
  content: "";
}

.fa-chevron-right:before {
  content: "";
}

.fa-plus-circle:before {
  content: "";
}

.fa-minus-circle:before {
  content: "";
}

.fa-times-circle:before {
  content: "";
}

.fa-check-circle:before {
  content: "";
}

.fa-question-circle:before {
  content: "";
}

.fa-info-circle:before {
  content: "";
}

.fa-crosshairs:before {
  content: "";
}

.fa-times-circle-o:before {
  content: "";
}

.fa-check-circle-o:before {
  content: "";
}

.fa-ban:before {
  content: "";
}

.fa-arrow-left:before {
  content: "";
}

.fa-arrow-right:before {
  content: "";
}

.fa-arrow-up:before {
  content: "";
}

.fa-arrow-down:before {
  content: "";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "";
}

.fa-expand:before {
  content: "";
}

.fa-compress:before {
  content: "";
}

.fa-plus:before {
  content: "";
}

.fa-minus:before {
  content: "";
}

.fa-asterisk:before {
  content: "";
}

.fa-exclamation-circle:before {
  content: "";
}

.fa-gift:before {
  content: "";
}

.fa-leaf:before {
  content: "";
}

.fa-fire:before {
  content: "";
}

.fa-eye:before {
  content: "";
}

.fa-eye-slash:before {
  content: "";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "";
}

.fa-plane:before {
  content: "";
}

.fa-calendar:before {
  content: "";
}

.fa-random:before {
  content: "";
}

.fa-comment:before {
  content: "";
}

.fa-magnet:before {
  content: "";
}

.fa-chevron-up:before {
  content: "";
}

.fa-chevron-down:before {
  content: "";
}

.fa-retweet:before {
  content: "";
}

.fa-shopping-cart:before {
  content: "";
}

.fa-folder:before {
  content: "";
}

.fa-folder-open:before {
  content: "";
}

.fa-arrows-v:before {
  content: "";
}

.fa-arrows-h:before {
  content: "";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "";
}

.fa-twitter-square:before {
  content: "";
}

.fa-facebook-square:before {
  content: "";
}

.fa-camera-retro:before {
  content: "";
}

.fa-key:before {
  content: "";
}

.fa-gears:before,
.fa-cogs:before {
  content: "";
}

.fa-comments:before {
  content: "";
}

.fa-thumbs-o-up:before {
  content: "";
}

.fa-thumbs-o-down:before {
  content: "";
}

.fa-star-half:before {
  content: "";
}

.fa-heart-o:before {
  content: "";
}

.fa-sign-out:before {
  content: "";
}

.fa-linkedin-square:before {
  content: "";
}

.fa-thumb-tack:before {
  content: "";
}

.fa-external-link:before {
  content: "";
}

.fa-sign-in:before {
  content: "";
}

.fa-trophy:before {
  content: "";
}

.fa-github-square:before {
  content: "";
}

.fa-upload:before {
  content: "";
}

.fa-lemon-o:before {
  content: "";
}

.fa-phone:before {
  content: "";
}

.fa-square-o:before {
  content: "";
}

.fa-bookmark-o:before {
  content: "";
}

.fa-phone-square:before {
  content: "";
}

.fa-twitter:before {
  content: "";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "";
}

.fa-github:before {
  content: "";
}

.fa-unlock:before {
  content: "";
}

.fa-credit-card:before {
  content: "";
}

.fa-feed:before,
.fa-rss:before {
  content: "";
}

.fa-hdd-o:before {
  content: "";
}

.fa-bullhorn:before {
  content: "";
}

.fa-bell:before {
  content: "";
}

.fa-certificate:before {
  content: "";
}

.fa-hand-o-right:before {
  content: "";
}

.fa-hand-o-left:before {
  content: "";
}

.fa-hand-o-up:before {
  content: "";
}

.fa-hand-o-down:before {
  content: "";
}

.fa-arrow-circle-left:before {
  content: "";
}

.fa-arrow-circle-right:before {
  content: "";
}

.fa-arrow-circle-up:before {
  content: "";
}

.fa-arrow-circle-down:before {
  content: "";
}

.fa-globe:before {
  content: "";
}

.fa-wrench:before {
  content: "";
}

.fa-tasks:before {
  content: "";
}

.fa-filter:before {
  content: "";
}

.fa-briefcase:before {
  content: "";
}

.fa-arrows-alt:before {
  content: "";
}

.fa-group:before,
.fa-users:before {
  content: "";
}

.fa-chain:before,
.fa-link:before {
  content: "";
}

.fa-cloud:before {
  content: "";
}

.fa-flask:before {
  content: "";
}

.fa-cut:before,
.fa-scissors:before {
  content: "";
}

.fa-copy:before,
.fa-files-o:before {
  content: "";
}

.fa-paperclip:before {
  content: "";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "";
}

.fa-square:before {
  content: "";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "";
}

.fa-list-ul:before {
  content: "";
}

.fa-list-ol:before {
  content: "";
}

.fa-strikethrough:before {
  content: "";
}

.fa-underline:before {
  content: "";
}

.fa-table:before {
  content: "";
}

.fa-magic:before {
  content: "";
}

.fa-truck:before {
  content: "";
}

.fa-pinterest:before {
  content: "";
}

.fa-pinterest-square:before {
  content: "";
}

.fa-google-plus-square:before {
  content: "";
}

.fa-google-plus:before {
  content: "";
}

.fa-money:before {
  content: "";
}

.fa-caret-down:before {
  content: "";
}

.fa-caret-up:before {
  content: "";
}

.fa-caret-left:before {
  content: "";
}

.fa-caret-right:before {
  content: "";
}

.fa-columns:before {
  content: "";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "";
}

.fa-envelope:before {
  content: "";
}

.fa-linkedin:before {
  content: "";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "";
}

.fa-legal:before,
.fa-gavel:before {
  content: "";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "";
}

.fa-comment-o:before {
  content: "";
}

.fa-comments-o:before {
  content: "";
}

.fa-flash:before,
.fa-bolt:before {
  content: "";
}

.fa-sitemap:before {
  content: "";
}

.fa-umbrella:before {
  content: "";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "";
}

.fa-lightbulb-o:before {
  content: "";
}

.fa-exchange:before {
  content: "";
}

.fa-cloud-download:before {
  content: "";
}

.fa-cloud-upload:before {
  content: "";
}

.fa-user-md:before {
  content: "";
}

.fa-stethoscope:before {
  content: "";
}

.fa-suitcase:before {
  content: "";
}

.fa-bell-o:before {
  content: "";
}

.fa-coffee:before {
  content: "";
}

.fa-cutlery:before {
  content: "";
}

.fa-file-text-o:before {
  content: "";
}

.fa-building-o:before {
  content: "";
}

.fa-hospital-o:before {
  content: "";
}

.fa-ambulance:before {
  content: "";
}

.fa-medkit:before {
  content: "";
}

.fa-fighter-jet:before {
  content: "";
}

.fa-beer:before {
  content: "";
}

.fa-h-square:before {
  content: "";
}

.fa-plus-square:before {
  content: "";
}

.fa-angle-double-left:before {
  content: "";
}

.fa-angle-double-right:before {
  content: "";
}

.fa-angle-double-up:before {
  content: "";
}

.fa-angle-double-down:before {
  content: "";
}

.fa-angle-left:before {
  content: "";
}

.fa-angle-right:before {
  content: "";
}

.fa-angle-up:before {
  content: "";
}

.fa-angle-down:before {
  content: "";
}

.fa-desktop:before {
  content: "";
}

.fa-laptop:before {
  content: "";
}

.fa-tablet:before {
  content: "";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "";
}

.fa-circle-o:before {
  content: "";
}

.fa-quote-left:before {
  content: "";
}

.fa-quote-right:before {
  content: "";
}

.fa-spinner:before {
  content: "";
}

.fa-circle:before {
  content: "";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "";
}

.fa-github-alt:before {
  content: "";
}

.fa-folder-o:before {
  content: "";
}

.fa-folder-open-o:before {
  content: "";
}

.fa-smile-o:before {
  content: "";
}

.fa-frown-o:before {
  content: "";
}

.fa-meh-o:before {
  content: "";
}

.fa-gamepad:before {
  content: "";
}

.fa-keyboard-o:before {
  content: "";
}

.fa-flag-o:before {
  content: "";
}

.fa-flag-checkered:before {
  content: "";
}

.fa-terminal:before {
  content: "";
}

.fa-code:before {
  content: "";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "";
}

.fa-location-arrow:before {
  content: "";
}

.fa-crop:before {
  content: "";
}

.fa-code-fork:before {
  content: "";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "";
}

.fa-question:before {
  content: "";
}

.fa-info:before {
  content: "";
}

.fa-exclamation:before {
  content: "";
}

.fa-superscript:before {
  content: "";
}

.fa-subscript:before {
  content: "";
}

.fa-eraser:before {
  content: "";
}

.fa-puzzle-piece:before {
  content: "";
}

.fa-microphone:before {
  content: "";
}

.fa-microphone-slash:before {
  content: "";
}

.fa-shield:before {
  content: "";
}

.fa-calendar-o:before {
  content: "";
}

.fa-fire-extinguisher:before {
  content: "";
}

.fa-rocket:before {
  content: "";
}

.fa-maxcdn:before {
  content: "";
}

.fa-chevron-circle-left:before {
  content: "";
}

.fa-chevron-circle-right:before {
  content: "";
}

.fa-chevron-circle-up:before {
  content: "";
}

.fa-chevron-circle-down:before {
  content: "";
}

.fa-html5:before {
  content: "";
}

.fa-css3:before {
  content: "";
}

.fa-anchor:before {
  content: "";
}

.fa-unlock-alt:before {
  content: "";
}

.fa-bullseye:before {
  content: "";
}

.fa-ellipsis-h:before {
  content: "";
}

.fa-ellipsis-v:before {
  content: "";
}

.fa-rss-square:before {
  content: "";
}

.fa-play-circle:before {
  content: "";
}

.fa-ticket:before {
  content: "";
}

.fa-minus-square:before {
  content: "";
}

.fa-minus-square-o:before {
  content: "";
}

.fa-level-up:before {
  content: "";
}

.fa-level-down:before {
  content: "";
}

.fa-check-square:before {
  content: "";
}

.fa-pencil-square:before {
  content: "";
}

.fa-external-link-square:before {
  content: "";
}

.fa-share-square:before {
  content: "";
}

.fa-compass:before {
  content: "";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "";
}

.fa-euro:before,
.fa-eur:before {
  content: "";
}

.fa-gbp:before {
  content: "";
}

.fa-dollar:before,
.fa-usd:before {
  content: "";
}

.fa-rupee:before,
.fa-inr:before {
  content: "";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "";
}

.fa-won:before,
.fa-krw:before {
  content: "";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "";
}

.fa-file:before {
  content: "";
}

.fa-file-text:before {
  content: "";
}

.fa-sort-alpha-asc:before {
  content: "";
}

.fa-sort-alpha-desc:before {
  content: "";
}

.fa-sort-amount-asc:before {
  content: "";
}

.fa-sort-amount-desc:before {
  content: "";
}

.fa-sort-numeric-asc:before {
  content: "";
}

.fa-sort-numeric-desc:before {
  content: "";
}

.fa-thumbs-up:before {
  content: "";
}

.fa-thumbs-down:before {
  content: "";
}

.fa-youtube-square:before {
  content: "";
}

.fa-youtube:before {
  content: "";
}

.fa-xing:before {
  content: "";
}

.fa-xing-square:before {
  content: "";
}

.fa-youtube-play:before {
  content: "";
}

.fa-dropbox:before {
  content: "";
}

.fa-stack-overflow:before {
  content: "";
}

.fa-instagram:before {
  content: "";
}

.fa-flickr:before {
  content: "";
}

.fa-adn:before {
  content: "";
}

.fa-bitbucket:before {
  content: "";
}

.fa-bitbucket-square:before {
  content: "";
}

.fa-tumblr:before {
  content: "";
}

.fa-tumblr-square:before {
  content: "";
}

.fa-long-arrow-down:before {
  content: "";
}

.fa-long-arrow-up:before {
  content: "";
}

.fa-long-arrow-left:before {
  content: "";
}

.fa-long-arrow-right:before {
  content: "";
}

.fa-apple:before {
  content: "";
}

.fa-windows:before {
  content: "";
}

.fa-android:before {
  content: "";
}

.fa-linux:before {
  content: "";
}

.fa-dribbble:before {
  content: "";
}

.fa-skype:before {
  content: "";
}

.fa-foursquare:before {
  content: "";
}

.fa-trello:before {
  content: "";
}

.fa-female:before {
  content: "";
}

.fa-male:before {
  content: "";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "";
}

.fa-sun-o:before {
  content: "";
}

.fa-moon-o:before {
  content: "";
}

.fa-archive:before {
  content: "";
}

.fa-bug:before {
  content: "";
}

.fa-vk:before {
  content: "";
}

.fa-weibo:before {
  content: "";
}

.fa-renren:before {
  content: "";
}

.fa-pagelines:before {
  content: "";
}

.fa-stack-exchange:before {
  content: "";
}

.fa-arrow-circle-o-right:before {
  content: "";
}

.fa-arrow-circle-o-left:before {
  content: "";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "";
}

.fa-dot-circle-o:before {
  content: "";
}

.fa-wheelchair:before {
  content: "";
}

.fa-vimeo-square:before {
  content: "";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "";
}

.fa-plus-square-o:before {
  content: "";
}

.fa-space-shuttle:before {
  content: "";
}

.fa-slack:before {
  content: "";
}

.fa-envelope-square:before {
  content: "";
}

.fa-wordpress:before {
  content: "";
}

.fa-openid:before {
  content: "";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "";
}

.fa-yahoo:before {
  content: "";
}

.fa-google:before {
  content: "";
}

.fa-reddit:before {
  content: "";
}

.fa-reddit-square:before {
  content: "";
}

.fa-stumbleupon-circle:before {
  content: "";
}

.fa-stumbleupon:before {
  content: "";
}

.fa-delicious:before {
  content: "";
}

.fa-digg:before {
  content: "";
}

.fa-pied-piper-pp:before {
  content: "";
}

.fa-pied-piper-alt:before {
  content: "";
}

.fa-drupal:before {
  content: "";
}

.fa-joomla:before {
  content: "";
}

.fa-language:before {
  content: "";
}

.fa-fax:before {
  content: "";
}

.fa-building:before {
  content: "";
}

.fa-child:before {
  content: "";
}

.fa-paw:before {
  content: "";
}

.fa-spoon:before {
  content: "";
}

.fa-cube:before {
  content: "";
}

.fa-cubes:before {
  content: "";
}

.fa-behance:before {
  content: "";
}

.fa-behance-square:before {
  content: "";
}

.fa-steam:before {
  content: "";
}

.fa-steam-square:before {
  content: "";
}

.fa-recycle:before {
  content: "";
}

.fa-automobile:before,
.fa-car:before {
  content: "";
}

.fa-cab:before,
.fa-taxi:before {
  content: "";
}

.fa-tree:before {
  content: "";
}

.fa-spotify:before {
  content: "";
}

.fa-deviantart:before {
  content: "";
}

.fa-soundcloud:before {
  content: "";
}

.fa-database:before {
  content: "";
}

.fa-file-pdf-o:before {
  content: "";
}

.fa-file-word-o:before {
  content: "";
}

.fa-file-excel-o:before {
  content: "";
}

.fa-file-powerpoint-o:before {
  content: "";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "";
}

.fa-file-code-o:before {
  content: "";
}

.fa-vine:before {
  content: "";
}

.fa-codepen:before {
  content: "";
}

.fa-jsfiddle:before {
  content: "";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "";
}

.fa-circle-o-notch:before {
  content: "";
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "";
}

.fa-ge:before,
.fa-empire:before {
  content: "";
}

.fa-git-square:before {
  content: "";
}

.fa-git:before {
  content: "";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "";
}

.fa-tencent-weibo:before {
  content: "";
}

.fa-qq:before {
  content: "";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "";
}

.fa-history:before {
  content: "";
}

.fa-circle-thin:before {
  content: "";
}

.fa-header:before {
  content: "";
}

.fa-paragraph:before {
  content: "";
}

.fa-sliders:before {
  content: "";
}

.fa-share-alt:before {
  content: "";
}

.fa-share-alt-square:before {
  content: "";
}

.fa-bomb:before {
  content: "";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "";
}

.fa-tty:before {
  content: "";
}

.fa-binoculars:before {
  content: "";
}

.fa-plug:before {
  content: "";
}

.fa-slideshare:before {
  content: "";
}

.fa-twitch:before {
  content: "";
}

.fa-yelp:before {
  content: "";
}

.fa-newspaper-o:before {
  content: "";
}

.fa-wifi:before {
  content: "";
}

.fa-calculator:before {
  content: "";
}

.fa-paypal:before {
  content: "";
}

.fa-google-wallet:before {
  content: "";
}

.fa-cc-visa:before {
  content: "";
}

.fa-cc-mastercard:before {
  content: "";
}

.fa-cc-discover:before {
  content: "";
}

.fa-cc-amex:before {
  content: "";
}

.fa-cc-paypal:before {
  content: "";
}

.fa-cc-stripe:before {
  content: "";
}

.fa-bell-slash:before {
  content: "";
}

.fa-bell-slash-o:before {
  content: "";
}

.fa-trash:before {
  content: "";
}

.fa-copyright:before {
  content: "";
}

.fa-at:before {
  content: "";
}

.fa-eyedropper:before {
  content: "";
}

.fa-paint-brush:before {
  content: "";
}

.fa-birthday-cake:before {
  content: "";
}

.fa-area-chart:before {
  content: "";
}

.fa-pie-chart:before {
  content: "";
}

.fa-line-chart:before {
  content: "";
}

.fa-lastfm:before {
  content: "";
}

.fa-lastfm-square:before {
  content: "";
}

.fa-toggle-off:before {
  content: "";
}

.fa-toggle-on:before {
  content: "";
}

.fa-bicycle:before {
  content: "";
}

.fa-bus:before {
  content: "";
}

.fa-ioxhost:before {
  content: "";
}

.fa-angellist:before {
  content: "";
}

.fa-cc:before {
  content: "";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "";
}

.fa-meanpath:before {
  content: "";
}

.fa-buysellads:before {
  content: "";
}

.fa-connectdevelop:before {
  content: "";
}

.fa-dashcube:before {
  content: "";
}

.fa-forumbee:before {
  content: "";
}

.fa-leanpub:before {
  content: "";
}

.fa-sellsy:before {
  content: "";
}

.fa-shirtsinbulk:before {
  content: "";
}

.fa-simplybuilt:before {
  content: "";
}

.fa-skyatlas:before {
  content: "";
}

.fa-cart-plus:before {
  content: "";
}

.fa-cart-arrow-down:before {
  content: "";
}

.fa-diamond:before {
  content: "";
}

.fa-ship:before {
  content: "";
}

.fa-user-secret:before {
  content: "";
}

.fa-motorcycle:before {
  content: "";
}

.fa-street-view:before {
  content: "";
}

.fa-heartbeat:before {
  content: "";
}

.fa-venus:before {
  content: "";
}

.fa-mars:before {
  content: "";
}

.fa-mercury:before {
  content: "";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "";
}

.fa-transgender-alt:before {
  content: "";
}

.fa-venus-double:before {
  content: "";
}

.fa-mars-double:before {
  content: "";
}

.fa-venus-mars:before {
  content: "";
}

.fa-mars-stroke:before {
  content: "";
}

.fa-mars-stroke-v:before {
  content: "";
}

.fa-mars-stroke-h:before {
  content: "";
}

.fa-neuter:before {
  content: "";
}

.fa-genderless:before {
  content: "";
}

.fa-facebook-official:before {
  content: "";
}

.fa-pinterest-p:before {
  content: "";
}

.fa-whatsapp:before {
  content: "";
}

.fa-server:before {
  content: "";
}

.fa-user-plus:before {
  content: "";
}

.fa-user-times:before {
  content: "";
}

.fa-hotel:before,
.fa-bed:before {
  content: "";
}

.fa-viacoin:before {
  content: "";
}

.fa-train:before {
  content: "";
}

.fa-subway:before {
  content: "";
}

.fa-medium:before {
  content: "";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "";
}

.fa-optin-monster:before {
  content: "";
}

.fa-opencart:before {
  content: "";
}

.fa-expeditedssl:before {
  content: "";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "";
}

.fa-mouse-pointer:before {
  content: "";
}

.fa-i-cursor:before {
  content: "";
}

.fa-object-group:before {
  content: "";
}

.fa-object-ungroup:before {
  content: "";
}

.fa-sticky-note:before {
  content: "";
}

.fa-sticky-note-o:before {
  content: "";
}

.fa-cc-jcb:before {
  content: "";
}

.fa-cc-diners-club:before {
  content: "";
}

.fa-clone:before {
  content: "";
}

.fa-balance-scale:before {
  content: "";
}

.fa-hourglass-o:before {
  content: "";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "";
}

.fa-hourglass:before {
  content: "";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "";
}

.fa-hand-scissors-o:before {
  content: "";
}

.fa-hand-lizard-o:before {
  content: "";
}

.fa-hand-spock-o:before {
  content: "";
}

.fa-hand-pointer-o:before {
  content: "";
}

.fa-hand-peace-o:before {
  content: "";
}

.fa-trademark:before {
  content: "";
}

.fa-registered:before {
  content: "";
}

.fa-creative-commons:before {
  content: "";
}

.fa-gg:before {
  content: "";
}

.fa-gg-circle:before {
  content: "";
}

.fa-tripadvisor:before {
  content: "";
}

.fa-odnoklassniki:before {
  content: "";
}

.fa-odnoklassniki-square:before {
  content: "";
}

.fa-get-pocket:before {
  content: "";
}

.fa-wikipedia-w:before {
  content: "";
}

.fa-safari:before {
  content: "";
}

.fa-chrome:before {
  content: "";
}

.fa-firefox:before {
  content: "";
}

.fa-opera:before {
  content: "";
}

.fa-internet-explorer:before {
  content: "";
}

.fa-tv:before,
.fa-television:before {
  content: "";
}

.fa-contao:before {
  content: "";
}

.fa-500px:before {
  content: "";
}

.fa-amazon:before {
  content: "";
}

.fa-calendar-plus-o:before {
  content: "";
}

.fa-calendar-minus-o:before {
  content: "";
}

.fa-calendar-times-o:before {
  content: "";
}

.fa-calendar-check-o:before {
  content: "";
}

.fa-industry:before {
  content: "";
}

.fa-map-pin:before {
  content: "";
}

.fa-map-signs:before {
  content: "";
}

.fa-map-o:before {
  content: "";
}

.fa-map:before {
  content: "";
}

.fa-commenting:before {
  content: "";
}

.fa-commenting-o:before {
  content: "";
}

.fa-houzz:before {
  content: "";
}

.fa-vimeo:before {
  content: "";
}

.fa-black-tie:before {
  content: "";
}

.fa-fonticons:before {
  content: "";
}

.fa-reddit-alien:before {
  content: "";
}

.fa-edge:before {
  content: "";
}

.fa-credit-card-alt:before {
  content: "";
}

.fa-codiepie:before {
  content: "";
}

.fa-modx:before {
  content: "";
}

.fa-fort-awesome:before {
  content: "";
}

.fa-usb:before {
  content: "";
}

.fa-product-hunt:before {
  content: "";
}

.fa-mixcloud:before {
  content: "";
}

.fa-scribd:before {
  content: "";
}

.fa-pause-circle:before {
  content: "";
}

.fa-pause-circle-o:before {
  content: "";
}

.fa-stop-circle:before {
  content: "";
}

.fa-stop-circle-o:before {
  content: "";
}

.fa-shopping-bag:before {
  content: "";
}

.fa-shopping-basket:before {
  content: "";
}

.fa-hashtag:before {
  content: "";
}

.fa-bluetooth:before {
  content: "";
}

.fa-bluetooth-b:before {
  content: "";
}

.fa-percent:before {
  content: "";
}

.fa-gitlab:before {
  content: "";
}

.fa-wpbeginner:before {
  content: "";
}

.fa-wpforms:before {
  content: "";
}

.fa-envira:before {
  content: "";
}

.fa-universal-access:before {
  content: "";
}

.fa-wheelchair-alt:before {
  content: "";
}

.fa-question-circle-o:before {
  content: "";
}

.fa-blind:before {
  content: "";
}

.fa-audio-description:before {
  content: "";
}

.fa-volume-control-phone:before {
  content: "";
}

.fa-braille:before {
  content: "";
}

.fa-assistive-listening-systems:before {
  content: "";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "";
}

.fa-glide:before {
  content: "";
}

.fa-glide-g:before {
  content: "";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "";
}

.fa-low-vision:before {
  content: "";
}

.fa-viadeo:before {
  content: "";
}

.fa-viadeo-square:before {
  content: "";
}

.fa-snapchat:before {
  content: "";
}

.fa-snapchat-ghost:before {
  content: "";
}

.fa-snapchat-square:before {
  content: "";
}

.fa-pied-piper:before {
  content: "";
}

.fa-first-order:before {
  content: "";
}

.fa-yoast:before {
  content: "";
}

.fa-themeisle:before {
  content: "";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "";
}

.fa-handshake-o:before {
  content: "";
}

.fa-envelope-open:before {
  content: "";
}

.fa-envelope-open-o:before {
  content: "";
}

.fa-linode:before {
  content: "";
}

.fa-address-book:before {
  content: "";
}

.fa-address-book-o:before {
  content: "";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "";
}

.fa-user-circle:before {
  content: "";
}

.fa-user-circle-o:before {
  content: "";
}

.fa-user-o:before {
  content: "";
}

.fa-id-badge:before {
  content: "";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "";
}

.fa-quora:before {
  content: "";
}

.fa-free-code-camp:before {
  content: "";
}

.fa-telegram:before {
  content: "";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "";
}

.fa-shower:before {
  content: "";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "";
}

.fa-podcast:before {
  content: "";
}

.fa-window-maximize:before {
  content: "";
}

.fa-window-minimize:before {
  content: "";
}

.fa-window-restore:before {
  content: "";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "";
}

.fa-bandcamp:before {
  content: "";
}

.fa-grav:before {
  content: "";
}

.fa-etsy:before {
  content: "";
}

.fa-imdb:before {
  content: "";
}

.fa-ravelry:before {
  content: "";
}

.fa-eercast:before {
  content: "";
}

.fa-microchip:before {
  content: "";
}

.fa-snowflake-o:before {
  content: "";
}

.fa-superpowers:before {
  content: "";
}

.fa-wpexplorer:before {
  content: "";
}

.fa-meetup:before {
  content: "";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

.wrapper {
  min-height: 100vh;
}

.main {
  padding: 3rem 5rem;
}
.main:not(.main-login) {
  min-height: calc(100vh - 5rem - 3rem*2);
}

/* 若瀏覽器支援flexbox，則使用flexbox*/
@supports (display: flex) {
  .wrapper {
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
  }
}
.header {
  width: 100%;
  padding: 0.8rem 6% 1rem;
  background-color: #FFD7E0;
  box-shadow: 0 5px #BABABA;
}
.header::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
}
.header .header-logo {
  width: 33%;
  min-height: 60px;
  background-image: url("../images/logo.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  float: left;
  margin-right: auto;
  cursor: pointer;
}
.header .header-info {
  float: right;
}
.header .header-info .countdown {
  text-align: right;
}
.header .header-info .header-membinfo {
  position: relative;
  display: inline-block;
}
.header .header-info .header-membinfo .header-membinfo-mask {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
.header .header-info .header-membinfo .header-membinfo-mask.header-membinfo-mask--on {
  z-index: 0;
}
.header .header-info .header-membinfo .btn-pinksub {
  position: relative;
  z-index: 2;
}
.header .header-info .header-membinfo .btn-pinksub .fa-angle-up {
  transition: all 0.3s;
  transform-origin: center center;
}
.header .header-info .header-membinfo .btn-pinksub .fa-angle-up.rotate {
  transform: rotate(180deg);
}
.header .header-info .header-membinfo .header-membinfo-tooltip {
  position: absolute;
  background-color: #E9FBFF;
  border: 2px solid #66D7FF;
  border-radius: 1.3rem 0 1.3rem 1.3rem;
  top: 3rem;
  right: 30px;
  white-space: nowrap;
  z-index: 2;
  box-shadow: #e0e0e0 0px -1px 0px, rgba(0, 0, 0, 0.12) 0px 0px 2px, rgba(0, 0, 0, 0.24) 0px 2px 4px;
}
.header .header-info .header-membinfo .header-membinfo-tooltip > table {
  margin: 0.9rem auto 0.7rem;
  width: auto;
}
.header .header-info .header-membinfo .header-membinfo-tooltip > table th {
  color: #66D7FF;
  font-weight: bold;
  padding: 0.5rem 0.25rem 0.5rem 0.5rem;
}
.header .header-info .header-staffinfo {
  color: #ED517D;
  display: inline-block;
  vertical-align: middle;
  margin: auto 0.5rem auto auto;
}

/* 若瀏覽器支援flexbox，則使用flexbox*/
@supports (display: flex) {
  .header {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
  }
  .header .header-logo {
    flex: 0 1 auto;
    order: 1;
  }
  .header .header-info {
    order: 2;
  }
}
.footer {
  min-height: 5rem;
  width: 100%;
  background-color: #EF86A1;
  text-align: center;
  padding-top: 1rem;
}
.footer > .footer-sitecredit {
  font-size: 1rem;
  color: #fff;
  letter-spacing: 0.05rem;
  margin-bottom: 0.2rem;
}
.footer > .footer-iconcredit {
  font-size: 0.675rem;
  color: #FFD7E0;
}
.footer > .footer-iconcredit a {
  color: #FFD7E0;
  border-bottom: none;
}

/* 若瀏覽器支援flexbox，則使用flexbox*/
@supports (display: flex) {
  .footer {
    padding-top: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
  }
  .footer > .footer-sitecredit {
    align-self: center;
  }
  .footer > .footer-iconcredit {
    align-self: center;
  }
}
.btn-red, .btn-redborder, .btn-orange, .btn-orangeshadow, .btn-orangesmall, .btn-whitepink, .btn-whiteorange, .btn-pink, .btn-bignum, .btn-pinksub, .btn-pinkthird, .btn-blue, .btn-cherry, .btn-orangelong {
  display: inline-block;
  vertical-align: middle;
  border: 1px solid transparent;
  font-size: 1rem;
  font-family: "Open Sans", "Heiti TC", "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", "標楷體", "DFKai-SB", "sans-serif";
  cursor: pointer;
  padding: 0.5em 0.8em;
  border-radius: 1.5rem;
  font-weight: 500;
}

.btn-red {
  background-color: #ED517D;
  border-color: #ED517D;
  color: #fff;
  box-shadow: 4px 4px #d9d9d9;
}
.btn-red:hover {
  transform: translate(4px, 4px);
  box-shadow: none;
}

.btn-redborder {
  background-color: #fff;
  border: 2px solid #ED517D;
  color: #ED517D;
  box-shadow: 4px 4px #d9d9d9;
}
.btn-redborder:hover {
  transform: translate(4px, 4px);
  box-shadow: none;
}

.btn-orange {
  background-color: #f5ab54;
  color: #fff;
}
.btn-orange:hover {
  border: 1px solid #f5ab54;
  background-color: #fff;
  color: #f5ab54;
}

.btn-orangeshadow {
  background-color: #f5ab54;
  color: #fff;
  box-shadow: 3px 3px #BABABA;
}
.btn-orangeshadow:hover {
  transform: translate(3px, 3px);
  box-shadow: none;
}

.btn-orangesmall {
  border-radius: 0.6rem;
  border-color: #f5ab54;
  color: #f5ab54;
  background-color: #fff;
}
.btn-orangesmall.btn-orangesmall--on, .btn-orangesmall:hover, .btn-orangesmall:focus, .btn-orangesmall:active {
  color: #fff;
  background-color: #f5ab54;
  border-color: #f5ab54;
}

.btn-whitepink {
  border: 1px solid #949494;
  color: #ff6994;
  background-color: #fff;
  box-shadow: 4px 4px #ff96b1;
  border-radius: 100rem;
}
.btn-whitepink:hover {
  transform: translate(4px, 4px);
  box-shadow: none;
}

.btn-whiteorange {
  border: 1px solid #949494;
  color: #fca917;
  box-shadow: 4px 4px #fca917;
  background-color: #fff;
  border-radius: 100rem;
}
.btn-whiteorange:hover {
  transform: translate(4px, 4px);
  box-shadow: none;
}

.btn-pink, .btn-bignum {
  background-color: #ff6994;
  color: #fff;
  box-shadow: 3px 4px #d9d9d9;
}
.btn-pink.btn-pink--on, .btn-pink:hover, .btn-bignum:hover, .btn-pink:active, .btn-bignum:active, .btn-pink:focus, .btn-bignum:focus, .btn-pink--on.btn-bignum {
  transform: translate(3px, 4px);
  box-shadow: none;
}
.btn-pink:disabled, .btn-bignum:disabled {
  background-color: #dbdbdb;
  box-shadow: none;
  color: #949494;
  cursor: default;
}
.btn-pink:disabled:hover, .btn-bignum:disabled:hover {
  transform: none;
}

.btn-pinksub {
  background-color: #ffe9ef;
  color: #ED517D;
}
.btn-pinksub.btn-pinksub--on, .btn-pinksub:hover, .btn-pinksub:focus, .btn-pinksub:active {
  background-color: #fff;
}

.btn-pinkthird {
  background-color: #ffe9ef;
  color: #ff96b1;
}
.btn-pinkthird:hover, .btn-pinkthird:focus, .btn-pinkthird:active {
  background-color: #fff;
}

.btn-blue {
  background-color: #60c2e6;
  color: #fff;
  box-shadow: 3px 4px #dbdbdb;
}
.btn-blue:hover {
  transform: translate(3px, 4px);
  box-shadow: none;
}
.btn-blue:disabled {
  background-color: #dbdbdb;
  box-shadow: none;
  color: #949494;
  cursor: default;
}
.btn-blue:disabled:hover {
  transform: none;
}

.btn-cherry {
  color: #ff6994;
  background-color: #fff;
}
.btn-cherry.btn-cherry--on, .btn-cherry:hover, .btn-cherry:active, .btn-cherry:focus {
  background-color: #ff6994;
  color: #fff;
}

.btn-orangelong {
  width: 100%;
  font-size: 1.5rem;
  border-radius: 99rem;
  margin-bottom: 0.6rem;
  border: 2px solid #ea9a3c;
  color: #ea9a3c;
  background-color: #fff;
}
.btn-orangelong.btn-orangelong--on, .btn-orangelong:hover, .btn-orangelong:active, .btn-orangelong:focus {
  background-color: #ea9a3c;
  color: #fff;
}

.btn-area, .btn-area--flex {
  text-align: center;
  padding: 1.5rem;
  overflow: auto;
}
.btn-area button, .btn-area--flex button {
  min-width: 10rem;
}
.btn-area button:not(:first-of-type), .btn-area--flex button:not(:first-of-type) {
  margin-left: 0.75rem;
}

.btn-area--right {
  text-align: right;
  padding: 2rem 1rem 0 0;
}

.btn-area--flex {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center;
}
.btn-area--flex button {
  flex: 0 1 auto;
}
.btn-area--flex .on-left {
  margin-right: auto;
}
.btn-area--flex button:first-of-type {
  order: 1;
}
.btn-area--flex button:nth-of-type(2) {
  order: 2;
}
.btn-area--flex button:nth-of-type(3) {
  order: 3;
}

.btn-bignum {
  width: 7rem;
  height: 7rem;
  font-size: 3rem;
  margin: 3px;
  padding: 0;
  transition: all .1s;
}
.btn-bignum.btn-bignum--functionkey {
  background-color: #f5ab54;
}

.btn-mainmenu {
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 0.8rem auto;
  padding: 1rem 2rem;
  box-shadow: 0 3px;
  display: block;
  width: 80%;
}
.btn-mainmenu:hover {
  transform: translate(0px, 3px);
  box-shadow: none;
}

.btn-large {
  font-size: 1.5rem;
  padding: 1rem 6rem;
}

.btn-medium {
  font-size: 1.125rem;
  padding: 0.7rem 1.3rem;
  max-height: 3.14rem;
}

.btn-big {
  font-size: 1.25rem;
  padding: 1rem 1.3rem;
  min-width: 10rem;
}

.btn-long {
  width: 100%;
  font-size: 1.5rem;
  border-radius: 0 99rem 99rem;
  margin-bottom: 0.6rem;
  border: 2px solid #ff6994;
}

/*表單元件*/
/* Checkbox & Radio Button */
input[type="checkbox"],
input[type="radio"] {
  display: block;
  float: left;
  margin-right: -2rem;
  opacity: 0;
  width: 1rem;
  z-index: -1;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  cursor: pointer;
  padding-left: 2.8rem;
  padding-right: 1rem;
  position: relative;
  text-transform: none;
  text-decoration: none;
  color: #535252;
  margin: 0.75rem 1rem;
}
input[type="checkbox"] + label::before,
input[type="radio"] + label::before {
  border: 2px solid #d9d9d9;
  content: '';
  display: inline-block;
  height: 1.8rem;
  width: 1.8rem;
  left: 0;
  line-height: 1.725rem;
  position: absolute;
  text-align: center;
  top: -0.325rem;
  font-style: normal;
  font-weight: normal;
  text-transform: none;
  font-family: FontAwesome, sans-serif;
}

input[type="radio"] + label::before {
  border-radius: 50%;
}

input[type="checkbox"]:checked + label::before {
  background-color: #ff6994;
  border-color: #ff6994;
  content: '\f00c';
  color: #ffffff;
}

input[type="radio"]:checked + label::before {
  background-color: #ff6994;
  border-color: #ff6994;
}

input[type="checkbox"]:disabled + label::before,
input[type="radio"]:disabled + label::before {
  background-color: #d9d9d9;
}

.form-extra {
  padding: 1rem;
  width: 90%;
  margin: 2rem auto 0.6rem;
  border: 2px dashed #ff96b1;
  font-size: 1.25rem;
}

/* 為了解決IE吃不到自訂checkbox樣式的問題 (IE9, IE10, IE11)*/
@media screen and (min-width: 0\0) {
  .checkbox-item input[type=checkbox] {
    visibility: visible;
  }
}
.dialog-wrapper.zoom .dialog {
  position: fixed;
  left: 0;
  bottom: 0;
  top: auto;
  right: auto;
  height: 32px;
  min-height: 32px;
  width: 100px;
  min-width: 32px;
  border: 1px solid #dddddd;
}
.dialog-wrapper.zoom .dialog .dialog-transclude {
  display: none;
}
.dialog-wrapper.zoom .dialog-mask {
  display: none;
}

.dialog-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  z-index: 5;
}

/*
	Dialog區塊相關元件
*/
.dialog {
  display: block;
  position: fixed;
  background-color: #fff;
  z-index: 5;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 50px;
  border: 1px solid #dddddd;
  transition: 0.4s;
  border-radius: 23px;
  border: 2px solid #ff96b1;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.dialog.dialog-s {
  width: 27%;
  min-width: 411px;
  min-height: 269px;
}
.dialog.dialog-m {
  width: 40%;
  min-width: 609px;
  min-height: 280px;
}
.dialog.dialog-l {
  width: 60%;
  min-width: 609px;
  min-height: 350px;
}
.dialog.dialog-xl {
  width: 80%;
  min-width: 800px;
  min-height: 400px;
}
.dialog .dialog-btnarea-upper {
  text-align: right;
  font-size: 28px;
  padding: 16px 20px 0;
}
.dialog .dialog-btnarea-upper .dialog-close {
  cursor: pointer;
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-image: url("../images/icon-close.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transition: all 0.3s ease-out;
}
.dialog .dialog-btnarea-upper .dialog-close:hover {
  transform: rotate(180deg);
}
.dialog .dialog-body-s, .dialog .dialog-body-m, .dialog .dialog-body-l, .dialog .dialog-body-xl {
  position: relative;
  min-height: 55%;
  text-align: center;
  overflow-y: auto;
  max-height: 74vh;
}
.dialog .dialog-body-s {
  padding: 2rem 2rem 3rem;
}
.dialog .dialog-body-m {
  padding: 27px 30px;
  width: 80%;
  margin: 0 auto;
}
.dialog .dialog-body-l {
  padding: 0 0 27px;
  width: 86%;
  margin: 0 auto;
}
.dialog .dialog-body-xl {
  width: 90%;
  margin: 0 auto;
  padding: 10px 20px 27px;
}
.dialog .dialog-btnarea {
  margin: 10px 0 20px;
  text-align: center;
}
.dialog .dialog-btnarea button:not(:last-of-type) {
  margin-right: 0.5rem;
}

/*
	Dialog文字相關元件
*/
.dialog-fillhint {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  color: #ED517D;
}

.dialog-msgtitle {
  margin-bottom: 10px;
  font-size: 1.5rem;
  font-weight: bold;
}
.dialog-msgtitle.dialog-msgtitle-success {
  color: #32ba7c;
}
.dialog-msgtitle.dialog-msgtitle-fail {
  color: #f15249;
}

.dialog-msgnote {
  font-size: 1.125rem;
  white-space: pre-line;
}

.dialog-icon-area {
  margin-bottom: 1rem;
}
.dialog-icon-area > img {
  width: 2.5rem;
}

.recipe-title {
  background-color: #ff6994;
  color: #fff;
  border-radius: 0 2.2rem 2.2rem 2.2rem;
  margin-bottom: 20px;
  line-height: 1.4;
  padding: 14px;
  letter-spacing: 1px;
}

.recipe-img {
  display: inline-block;
  width: 40%;
}

.recipe-info {
  width: 48%;
  display: inline-block;
  vertical-align: top;
  padding: 1rem 1.5rem;
  text-align: left;
}

.recipe-infoitem {
  padding: 5px 0;
  font-size: 1.125rem;
  display: inline-block;
  margin: auto 11px;
  min-width: 30%;
}
.recipe-infoitem.recipe-infoitem--last {
  border-top: 1px dashed #fb9012;
  padding-top: 17px;
  display: block;
}
.recipe-infoitem.recipe-infoitem--last .recipe-infoitem-label {
  margin-bottom: 6px;
}
.recipe-infoitem .recipe-infoitem-label {
  color: #fca917;
  font-size: 1.125rem;
  border-radius: 9999px;
  font-weight: bold;
}
.recipe-infoitem .recipe-infoitem-content {
  line-height: 2.1;
  font-size: 1.125rem;
}
.recipe-infoitem .recipe-intro {
  font-size: 1.125rem;
  line-height: 1.5;
  white-space: pre-line;
  text-align: left;
}

.recipe-btnarea {
  margin-top: 1rem;
}

.pagination {
  list-style-type: none;
  margin: 20px 0;
  display: inline-block;
  padding: 20px;
  box-sizing: initial;
}
.pagination > li {
  min-width: 1.5rem;
  color: #9dd6ea;
  display: inline-block;
  vertical-align: middle;
  padding: 5px;
  margin: 0 2px;
  line-height: 1rem;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
}
.pagination > li.page-start:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #085899;
}
.pagination > li.page-start::before {
  content: '\|\f0d9';
  font-family: "FontAwesome";
  display: block;
  margin: 0 0 0 -2px;
}
.pagination > li.page-prev:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #085899;
}
.pagination > li.page-prev::before {
  content: '\f0d9';
  font-family: "FontAwesome";
  display: block;
  margin: 0 0 0 -2px;
}
.pagination > li.page {
  border-color: #085899;
  color: #9dd6ea;
}
.pagination > li.page::before {
  vertical-align: middle;
}
.pagination > li.page.page--on, .pagination > li.page:hover {
  background-color: #9dd6ea;
  border-color: #9dd6ea;
  color: #fff;
}
.pagination > li.page-next:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #085899;
}
.pagination > li.page-next::before {
  content: '\f0da';
  font-family: "FontAwesome";
  display: block;
  margin: 0 -2px 0 0;
}
.pagination > li.page-end:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #085899;
}
.pagination > li.page-end::before {
  content: '\f0da\|';
  font-family: "FontAwesome";
  display: block;
  margin: 0 -2px 0 0;
}
.pagination > li.page--disabled {
  background-color: #fff;
  cursor: not-allowed;
  opacity: .45;
}
.pagination.pagination--blue > li.page {
  border-color: #144c72;
  color: #144c72;
}
.pagination.pagination--blue > li.page--on, .pagination.pagination--blue > li.page:hover {
  background-color: #144c72;
  border-color: #144c72;
  color: #fff;
}
.pagination.pagination--blue > li.page-start:not(.page--disabled) {
  color: #144c72;
  border-color: #144c72;
}
.pagination.pagination--blue > li.page-prev:not(.page--disabled) {
  color: #144c72;
  border-color: #144c72;
}
.pagination.pagination--blue > li.page-next:not(.page--disabled) {
  color: #144c72;
  border-color: #144c72;
}
.pagination.pagination--blue > li.page-end:not(.page--disabled) {
  color: #144c72;
  border-color: #144c72;
}
.pagination.pagination--gray > li.page {
  border-color: #9dd6ea;
  color: #9dd6ea;
}
.pagination.pagination--gray > li.page--on, .pagination.pagination--gray > li.page:hover {
  background-color: #9dd6ea;
  border-color: #9dd6ea;
  color: #fff;
}
.pagination.pagination--gray > li.page-start:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #9dd6ea;
}
.pagination.pagination--gray > li.page-prev:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #9dd6ea;
}
.pagination.pagination--gray > li.page-next:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #9dd6ea;
}
.pagination.pagination--gray > li.page-end:not(.page--disabled) {
  color: #9dd6ea;
  border-color: #9dd6ea;
}
.pagination.pagination--block {
  display: block;
}
.pagination.pagination--dialog {
  margin: 10px 0;
  padding: 10px;
}
.pagination.pagination--pink > li {
  font-size: 1.125rem;
  padding: 0.4rem 0.5rem;
}
.pagination.pagination--pink > li.page {
  border-color: #ff96b1;
  color: #ff96b1;
}
.pagination.pagination--pink > li.page--on, .pagination.pagination--pink > li.page:hover {
  background-color: #f5ab54;
  border-color: #f5ab54;
  color: #fff;
  border-radius: 1rem;
}
.pagination.pagination--pink > li.page-start:not(.page--disabled) {
  color: #ff96b1;
  border-color: #ff96b1;
}
.pagination.pagination--pink > li.page-prev:not(.page--disabled) {
  color: #ff96b1;
  border-color: #ff96b1;
}
.pagination.pagination--pink > li.page-next:not(.page--disabled) {
  color: #ff96b1;
  border-color: #ff96b1;
}
.pagination.pagination--pink > li.page-end:not(.page--disabled) {
  color: #ff96b1;
  border-color: #ff96b1;
}
.pagination.pagination--pink > li.page--disabled {
  color: #ff96b1;
}

.table {
  width: 100%;
  color: #535252;
  table-layout: fixed;
}
.table th, .table td {
  word-wrap: break-word;
  word-break: break-all;
}
.table th {
  text-align: center;
  padding: 10px;
}
.table td {
  padding: 5px;
  line-height: 1.3;
}

.table-search {
  width: 100%;
  color: #535252;
}
.table-search th {
  width: 30%;
  text-align: right;
  padding: 1.5rem 1.75rem 1.5rem 1.5rem;
  background-color: #ffe9ef;
  border-bottom: 1px solid #ff96b1;
  border-top: 1px solid #ff96b1;
  line-height: 1.3;
  vertical-align: top;
  font-size: 1.25rem;
}
.table-search td {
  border-bottom: 1px solid #ff96b1;
  border-top: 1px solid #ff96b1;
  padding: 1.5rem;
  line-height: 1.5;
}
.table-search td.padding-top-zero {
  padding-top: 0;
}
.table-search .btn-pink, .table-search .btn-bignum {
  padding: 0.75rem 1.5rem;
  min-width: 9.99rem;
  letter-spacing: 0.1rem;
  font-size: 1.125rem;
}
.table-search .search-hint {
  display: block;
  font-size: 1rem;
  color: #949494;
}

.table-smalldashed {
  font-size: 1.125rem;
  width: 90%;
  margin: 0 auto 2rem;
  border-top: 2px solid #ED517D;
}
.table-smalldashed th {
  color: #ff96b1;
  border-bottom: 1px dashed #ff96b1;
  width: 35%;
}
.table-smalldashed td {
  border-bottom: 1px dashed #ff96b1;
}

.table-mediumdashed, .table-mediumdashed--vertical {
  font-size: 1.25rem;
  color: #535252;
  width: 85%;
  margin: 1.8rem auto 0;
}
.table-mediumdashed tr:first-of-type, .table-mediumdashed--vertical tr:first-of-type {
  border-top: 2px solid #ff96b1;
}
.table-mediumdashed tr:last-of-type, .table-mediumdashed--vertical tr:last-of-type {
  border-bottom: 1px solid #ff96b1;
}
.table-mediumdashed tr, .table-mediumdashed--vertical tr {
  border-bottom: 1px dashed #ff96b1;
}
.table-mediumdashed th, .table-mediumdashed--vertical th {
  color: #ff96b1;
  background-color: #ffe9ef;
  text-align: center;
  padding: 1.2rem 1.5rem;
  width: 30%;
}
.table-mediumdashed td, .table-mediumdashed--vertical td {
  padding: 1.2rem 1.5rem;
}

.table-mediumdashed--vertical {
  width: 100%;
  table-layout: fixed;
}
.table-mediumdashed--vertical th {
  padding: 1.2rem 1.5rem;
  text-align: left;
}
.table-mediumdashed--vertical td {
  line-height: 1.3;
}
.table-mediumdashed--vertical .stretch {
  white-space: nowrap;
}

.table-print {
  margin: 0.2rem auto 1rem;
  color: black;
}
.table-print.table-print-border {
  border-top: 2px solid;
  border-bottom: 2px solid;
}
.table-print th {
  padding: 0;
  font-weight: bold;
}
.table-print td {
  padding: 0.1rem 0;
}
.table-print .tr-pdtop th {
  padding-top: 0.4rem;
}
.table-print .tr-pdbottom td {
  padding-bottom: 0.6rem;
}
.table-print .th-small {
  line-height: 1.3;
  width: 15%;
}
.table-print .th-mini {
  width: 10%;
}
.table-print .td-number {
  text-align: right;
  padding-right: 0.8rem;
}

/* 文字訊息 */
.text-hint {
  font-size: 1rem;
  color: #949494;
  display: block;
}

.text-must {
  color: #f72461;
}

.text-musthint {
  color: #ED517D;
  font-size: 1.25rem;
  margin-top: 1rem;
  text-indent: 1rem;
}

.text-red-large {
  color: #ed517d;
  font-size: 2rem;
  text-align: center;
  margin: 4rem auto 1rem;
}

.text-grey-small {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 3rem;
}

.text-alert {
  color: #f72461;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  padding: 1rem;
}

.text-large-msg {
  font-size: 1.5rem;
  text-align: center;
  line-height: 2;
  color: #ED517D;
  background: #FFD7E0;
  width: 92%;
  margin: 0 auto;
}

.text-danger {
  color: #f15249;
}

.text-success {
  color: #32ba7c;
}

.calendar {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
}

.calendar * {
  box-sizing: content-box;
}

.calendar-input {
  position: relative;
}

.calendar-mask {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.calendar-calendar {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 13px;
  margin: 15px 10px;
  padding: 15px 15px;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 17px;
  z-index: 2;
  border: 1px solid #949494;
  box-shadow: 4px 4px 10px 2px rgba(0, 0, 0, 0.175);
  min-width: 240px;
}
.calendar-calendar.right {
  left: 180px;
  top: -122px;
}
.calendar-calendar .calendar-title {
  text-align: center;
  margin: auto auto 10px auto;
}
.calendar-calendar .calendar-title .calendar-arrow {
  padding: 0 7px;
  line-height: 30px;
  min-width: 1rem;
  cursor: pointer;
}
.calendar-calendar .calendar-title .calendar-arrow:hover {
  background-color: #9cb8d3;
  color: #fff;
}
.calendar-calendar .calendar-title .calendar-year {
  line-height: 1rem;
}
.calendar-calendar .calendar-title .calendar-month {
  line-height: 1rem;
}
.calendar-calendar .calendar-week {
  display: block;
  width: 100%;
}
.calendar-calendar .calendar-week .calendar-item {
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  padding: 5px;
  color: #085899;
  border: 1px solid transparent;
  margin: 0 2px;
}
.calendar-calendar .calendar-week .calendar-weekday {
  text-align: center;
  font-weight: bold;
  color: #a1a5ab;
}
.calendar-calendar .calendar-week .calendar-date {
  text-align: right;
  line-height: 1rem;
  cursor: pointer;
}
.calendar-calendar .calendar-week .calendar-date.day--on {
  background-color: #085899;
  border: 1px solid #085899;
  color: #fff;
}
.calendar-calendar .calendar-week .calendar-date.day--on:hover {
  background-color: #3073bb;
}
.calendar-calendar .calendar-week .calendar-date.day--today {
  border: 1px dashed #8b9191;
}
.calendar-calendar .calendar-week .calendar-date.day--othermth {
  color: #c2c9cf;
}
.calendar-calendar .calendar-week .calendar-date:hover {
  background-color: #9cb8d3;
  color: #fff;
  border-color: #c2c9cf;
}
.calendar-calendar .calendar-week .calendar-date.day--disabled {
  cursor: not-allowed;
  border: 1px solid transparent;
  color: #a1a5ab;
}
.calendar-calendar .calendar-week .calendar-date.day--disabled:hover {
  background-color: #fff;
}

.calendar-pink .calendar-calendar .calendar-title .calendar-arrow {
  color: #535252;
}
.calendar-pink .calendar-calendar .calendar-title .calendar-arrow:hover {
  background-color: #EF86A1;
  color: #fff;
}
.calendar-pink .calendar-calendar .calendar-week {
  background-color: #fff;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-item:not(:last-of-type) {
  margin-right: -3px;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-weekday {
  color: #ef86a1;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-date {
  color: #949494;
  border: 1px solid #dbdbdb;
  border-radius: 2px;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-date:hover {
  background-color: #FFD7E0;
  border-color: #FFD7E0;
  color: #ff6994;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-date.day--on {
  background-color: #ff6994;
  border-color: #ff6994;
  color: #fff;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-date.day--on:hover {
  background-color: #f5ab54;
  border-color: #f5ab54;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-date.day--othermth {
  color: #dbdbdb;
}
.calendar-pink .calendar-calendar .calendar-week .calendar-date.day--othermth:hover {
  color: #ff6994;
}

.calendar--in-button .calendar-input {
  background: transparent;
  border: none;
  color: white;
  font-size: 1.125rem;
  text-align: center;
  cursor: pointer;
  outline: none;
}

.calendar-large .calendar-input {
  margin: 10px auto;
}
.calendar-large .calendar-calendar {
  white-space: nowrap;
}
.calendar-large .calendar-calendar .calendar-title .calendar-arrow {
  font-size: 1.5rem;
}
.calendar-large .calendar-calendar .calendar-week .calendar-item {
  min-width: 2.2rem;
  font-size: 1.5rem;
  line-height: 1.5;
}

.ccalendar {
  color: #535252;
  font-size: 1.25rem;
}

.ccalendar-header {
  position: relative;
  padding: 2rem 0 1rem;
}
.ccalendar-header .ccalendar-month-txt {
  font-size: 1.5rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 600;
  background-color: rgba(255, 153, 153, 0.69);
  color: #fff;
  line-height: 1.8;
  margin-bottom: 2rem;
}
.ccalendar-header .ccalendar-btnarea {
  text-align: center;
}
.ccalendar-header .ccalendar-btn {
  padding: 0.5rem 2rem 0.5rem 1.7rem;
  font-size: 1.125rem;
  border: none;
  cursor: pointer;
}
.ccalendar-header .ccalendar-btn-solid {
  background-color: #ff9999;
  color: #fff;
}
.ccalendar-header .ccalendar-btn-solid:hover, .ccalendar-header .ccalendar-btn-solid:focus {
  background-color: #ff6666;
}
.ccalendar-header .ccalendar-btn-solid:active {
  background-color: #ff3333;
}
.ccalendar-header .ccalendar-btn-border {
  background-color: #fff;
  border: 1px solid #949494;
  color: #ff9999;
  box-shadow: 4px 4px rgba(255, 153, 153, 0.69);
  vertical-align: middle;
  font-size: 1.25rem;
  font-family: "Open Sans";
}
.ccalendar-header .ccalendar-btn-border:hover, .ccalendar-header .ccalendar-btn-border:focus {
  transform: translate(3px, 4px);
  box-shadow: none;
}
.ccalendar-header .ccalendar-btn-border:first-of-type {
  float: left;
}
.ccalendar-header .ccalendar-btn-border:last-of-type {
  float: right;
}
.ccalendar-header .ccalendar-legend {
  display: inline-block;
  position: absolute;
  right: 0;
}
.ccalendar-header .ccalendar-legend > li {
  display: inline-block;
}

.circle-red, .circle-green, .circle-blue {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  vertical-align: middle;
  border-radius: 50%;
}

.circle-red {
  background-color: #ED517D;
}

.circle-green {
  background-color: #6cd102;
}

.circle-blue {
  background-color: #66D7FF;
}

.table-ccalendar th {
  color: #805c29;
  border-bottom: 3px solid #c1b8a6;
}
.table-ccalendar td {
  height: 7rem;
  border: 1px solid #c1c1c1;
  vertical-align: top;
  cursor: pointer;
}
.table-ccalendar td.ccalendar-day-today {
  background-color: rgba(255, 185, 185, 0.42);
}
.table-ccalendar td.ccalendar-day-today > span:first-of-type {
  color: white;
  text-indent: 10px;
  background-color: #8e3d52;
}
.table-ccalendar td.ccalendar-day-on, .table-ccalendar td:not(.ccalendar-day-othermonth):hover {
  box-shadow: 0 0 13px 1px #b5b5b5;
}
.table-ccalendar td.ccalendar-day-othermonth {
  color: #BABABA;
}
.table-ccalendar td > span {
  display: block;
}
.table-ccalendar td > span.text-event {
  color: #fff;
  font-size: 1rem;
  padding: 2px 12px;
  margin: 3px 2px;
  border-radius: 21px;
  text-align: center;
  background: #ff96b1;
}
.table-ccalendar td > span.text-rose {
  background: #ED517D;
}
.table-ccalendar td > span.text-blue {
  background: #45bee9;
}
.table-ccalendar td > span.text-green {
  background: #6cd102;
}
.table-ccalendar td > span.text-deepblue {
  background: #0280d1;
}
.table-ccalendar td > span.text-purple {
  background: #9f02cf;
}
.table-ccalendar td > span.text-orange {
  background: #f5a300;
}
.table-ccalendar td > span.text-redpurple {
  background: #d102aa;
}
.table-ccalendar td > span.text-bluegreen {
  background: #1cd0cb;
}
.table-ccalendar td > span.text-sandbrown {
  background: #af7414;
}
.table-ccalendar td > span.text-spurple {
  background: #9c77ff;
}
.table-ccalendar td > span.text-brown {
  background: #e08449;
}
.table-ccalendar td > span.text-red {
  background: #e02727;
}

.timepicker {
  margin: 20px auto;
}
.timepicker .timepicker-item {
  display: inline-block;
  vertical-align: middle;
}
.timepicker .timepicker-item:before {
  content: '';
  width: 0;
  height: 100%;
  display: inline-block;
  position: relative;
  vertical-align: middle;
}
.timepicker .timepicker-item .timepicker-btn-arrow {
  display: block;
  width: 100%;
  line-height: 3;
  border: none;
  cursor: pointer;
  background-color: #ff6994;
  color: #fff;
}
.timepicker .timepicker-item .timepicker-btn-arrow:hover, .timepicker .timepicker-item .timepicker-btn-arrow:focus {
  background-color: #ff9cb8;
}
.timepicker .timepicker-item .timepicker-btn-arrow:active {
  background-color: #ff3670;
}
.timepicker .timepicker-item .timepicker-btn-arrow:nth-of-type(1), .timepicker .timepicker-item .timepicker-btn-arrow:nth-of-type(3) {
  border-radius: 1.8rem 1.8rem 0 0;
}
.timepicker .timepicker-item .timepicker-btn-arrow:nth-of-type(2), .timepicker .timepicker-item .timepicker-btn-arrow:nth-of-type(4) {
  border-radius: 0 0 1.8rem 1.8rem;
}
.timepicker .timepicker-item > input {
  line-height: 2;
  text-align: center;
  font-size: 1.25rem;
  width: 6rem;
  border-radius: 7px;
}
.timepicker .timepicker-footer {
  margin-top: 20px;
  padding-left: 20px;
}
.timepicker .timepicker-btn-period, .timepicker .timepicker-btn-blue, .timepicker .timepicker-btn-brown {
  padding: 0.6rem 1.1rem;
  vertical-align: middle;
  border-radius: 1.5rem;
  cursor: pointer;
  font-size: 1.125rem;
  border: none;
  font-family: "Open Sans", "Heiti TC", "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", "標楷體", "DFKai-SB", "sans-serif";
}
.timepicker .timepicker-btn-period {
  display: inline-block;
  vertical-align: middle;
  font-weight: 500;
  background-color: #ED517D;
  color: #fff;
}
.timepicker .timepicker-btn-period:hover {
  background-color: #ff96b1;
}
.timepicker .timepicker-btn-period:active {
  background-color: #f72461;
}
.timepicker .timepicker-btn-blue {
  background: #75d3f5;
  color: white;
}
.timepicker .timepicker-btn-blue:hover, .timepicker .timepicker-btn-blue:focus {
  background: #2cadf1;
}
.timepicker .timepicker-btn-blue:active {
  background: #0f6b9b;
}
.timepicker .timepicker-btn-brown {
  background-color: #2cb143;
  color: white;
}
.timepicker .timepicker-btn-brown:hover, .timepicker .timepicker-btn-brown:focus {
  background-color: #0cc62b;
}
.timepicker .timepicker-btn-brown:active {
  background: #0f9b27;
}

.timepicker-abcclass {
  margin-top: 0;
}

.loading {
  position: fixed;
  height: 5rem;
  bottom: 5rem;
  left: 0;
  right: 0;
  z-index: 20;
  text-align: center;
}
.loading .loading-spinner {
  line-height: 5rem;
  z-index: 20;
  color: #fca917;
  font-size: 2.5rem;
}
.loading svg path,
.loading svg rect {
  fill: #F54C04;
}

.title-page {
  background-color: #ff6994;
  color: #fff;
  text-align: center;
  line-height: 2.2;
  margin-bottom: 2.6rem;
}

.courselist-toparea {
  margin: 2rem auto 1rem;
  padding: 0 20px;
  overflow: auto;
}
.courselist-toparea > .courselist-footnote {
  float: right;
}

.courselist-footnote {
  color: #535252;
  display: inline-block;
}
.courselist-footnote > li:not(:last-of-type) {
  margin-bottom: 5px;
}
.courselist-footnote > li > span {
  line-height: 1.3;
}

.courselist-mainarea {
  position: relative;
}

.courselist-total {
  width: 92%;
  margin: 0 auto 0.5rem;
  font-size: 1.125rem;
  color: #fca917;
}
.courselist-total.courselist-total--pink {
  color: #ff96b1;
}

.courselist-msg {
  width: 92%;
  margin: 1rem auto;
}

.courselist-msg--info {
  line-height: 2.5;
  padding: 0 1rem;
  border-radius: 0.5rem;
  background-color: #d5ecff;
  color: #2a76b5;
}

.courselist-ul {
  width: 92%;
  margin: 0 auto;
}
.courselist-ul > li {
  padding: 0.625rem 1.25rem;
  border-bottom: 1px dashed #fca917;
  position: relative;
}
.courselist-ul > li:first-of-type {
  border-top: 2px solid #fca917;
}
.courselist-ul > li:hover {
  background-color: #fff36a;
  /* Fallback for web browsers that don't support RGBa */
  background-color: rgba(255, 243, 106, 0.42);
}
.courselist-ul.courselist-ul--pink > li {
  border-color: #ff96b1;
}
.courselist-ul.courselist-ul--pink > li:first-of-type {
  border-color: #ff96b1;
}
.courselist-ul.courselist-ul--pink > li:hover {
  background-color: transparent;
}
.courselist-ul.courselist-ul--pink > li .course-info-title {
  color: #ED517D;
}
.courselist-ul .course-img {
  width: 20%;
  display: inline-block;
  vertical-align: middle;
  margin: 5px;
}
.courselist-ul .course-img > img {
  width: 100%;
}
.courselist-ul .course-right {
  width: 76%;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 2%;
}
.courselist-ul .course-info {
  display: inline-block;
  position: relative;
  padding-top: 10px;
  float: right;
  width: 100%;
}
.courselist-ul .course-info p {
  font-size: 1.125rem;
  margin-bottom: 0.1rem;
}
.courselist-ul .course-info .course-info-title {
  font-size: 1.25rem;
  margin-bottom: 0.3rem;
  color: #f69e03;
  max-width: 67%;
}
.courselist-ul .course-info .course-info-teacher {
  font-weight: 500;
  margin-top: 0.7rem;
}
.courselist-ul .course-info .course-info-reservestatus {
  color: #ff9494;
}
.courselist-ul .course-info .course-categorylabel {
  color: #ff9494;
  font-size: 1.125rem;
  position: absolute;
  right: 0;
  top: 0;
  max-width: 32%;
  border: 1px solid;
  border-radius: 5px;
  padding: 0.2rem 0.4rem;
}
.courselist-ul .course-more {
  width: 7%;
  height: 100%;
  font-size: 1.5rem;
  position: absolute;
  right: 0;
  top: 0;
  text-align: center;
  color: #fca917;
}
.courselist-ul .course-more:before {
  content: '';
  width: 0;
  height: 100%;
  display: inline-block;
  position: relative;
  vertical-align: middle;
}
.courselist-ul .course-btnarea {
  text-align: right;
}
.courselist-ul .course-btnarea button {
  min-width: 7rem;
  margin: 10px 5px;
  display: inline-block;
  vertical-align: middle;
}
.courselist-ul .course-btnarea button:disabled {
  opacity: 0.4;
}
.courselist-ul .course-btnarea p {
  display: inline-block;
  vertical-align: middle;
  margin: auto 10px;
  font-weight: bold;
}
.courselist-ul .course-btnarea .course-info-noreserve {
  color: #66D7FF;
  border-bottom: 1px solid;
  cursor: pointer;
  margin: 12px auto;
}
.courselist-ul .course-btnarea .course-info-status {
  background-color: #fca917;
  color: white;
  font-size: 1.25rem;
  font-weight: normal;
  padding: 0.7rem 1.3rem;
  border: 1px solid;
}
.courselist-ul .course-btnarea .course-info-status.course-info-status--success {
  background-color: #32ba7c;
}
.courselist-ul .course-btnarea .course-info-status.course-info-status--info {
  background-color: #1272b2;
}
.courselist-ul .course-btnarea .course-info-status.course-info-status--danger {
  background-color: #ED517D;
}
.courselist-ul .course-btnarea .course-info-status.course-info-status--another {
  background-color: #aa50ef;
}
.courselist-ul .course-btnarea .noChoiceRecipeId {
  color: #ff9494;
}

.courselist-pagebtn {
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-6rem);
}
.courselist-pagebtn:first-of-type {
  left: -4.5rem;
}
.courselist-pagebtn:nth-of-type(2) {
  right: -4.5rem;
}
.courselist-pagebtn > button {
  font-size: 1.5rem;
  padding: 0;
  height: auto;
  line-height: 3;
  min-width: 4.5rem;
}

.courselist-bottomarea {
  margin: 35px auto;
  padding: 0 20px;
}
.courselist-bottomarea .courselist-bottomarea-page {
  font-size: 1.5rem;
  text-align: center;
}

.course-noreserve-list {
  width: 80%;
  margin: 0 auto;
  font-size: 1.125rem;
}
.course-noreserve-list > li {
  list-style-type: decimal;
  text-align: left;
  color: #535252;
  line-height: 1.3;
  margin-bottom: 1.1rem;
}

/* 若瀏覽器支援flexbox，則使用flexbox*/
@supports (display: flex) {
  .courselist-toparea {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    overflow: initial;
  }
  .courselist-toparea > button {
    flex-grow: 0;
    flex-shrink: 1;
  }
  .courselist-toparea > .courselist-footnote {
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: 35%;
  }
}
.print-area {
  border: 1px solid #8b9191;
  line-height: 1.5;
  width: 80mm;
  font-size: 12pt;
  padding: 10mm 6mm 4mm;
  color: black;
}
.print-area h3 {
  font-size: 16pt;
  font-weight: bold;
  text-align: center;
  color: black;
  margin-bottom: 3mm;
}
.print-area h3.print-title-nomg {
  margin-bottom: 0;
}
.print-area h4 {
  font-size: 14pt;
  font-weight: bold;
  color: black;
}
.print-area h4.print-subtitle {
  text-align: center;
  font-weight: normal;
  margin-bottom: 3pt;
}
.print-area .print-halfarea {
  display: inline-block;
  width: 49%;
  vertical-align: top;
  line-height: 1.3;
}
.print-area .print-halfarea > li {
  margin-bottom: 5pt;
}
.print-area .print-halfarea > li > span:first-of-type {
  font-weight: bold;
}
.print-area .print-item {
  margin-bottom: 6mm;
}
.print-area .print-item-s {
  margin: 4mm 0;
}
.print-area .print-item-content {
  border-bottom: 1px solid;
  padding-bottom: 6mm;
}
.print-area .print-item-content .print-halfwidth {
  display: inline-block;
  width: 49%;
  margin-bottom: 6mm;
}
.print-area .print-item-content .print-mgbottom {
  margin-bottom: 4mm;
}
.print-area .print-item-content .print-fontbold {
  font-weight: bold;
}
.print-area .print-item-content .print-inline {
  display: inline-block;
}
.print-area .print-footnote {
  display: none;
  margin-top: 3mm;
  color: black;
  font-size: 10pt;
}
.print-area .print-logo {
  margin-top: 3mm;
}
.print-area.personalSale h3 {
  font-size: 20pt;
}
.print-area.personalSale ul li {
  font-size: 0.875rem;
  text-indent: -8px;
  margin-left: 4px;
}
.print-area.personalSale ul li:before {
  content: '*';
  width: 0.4375rem;
}
.print-area.personalSale .sign {
  font-size: 16pt;
  margin: 3mm 0 0 1mm;
  width: 100%;
}
.print-area.personalSale .sign:after {
  content: '';
  width: 60%;
  display: inline-block;
  border-bottom: 2px solid #000;
  vertical-align: text-bottom;
}
.print-area.birthGift h3 {
  font-size: 40pt;
  text-align: center;
  margin-bottom: 0;
  line-height: 40pt;
}
.print-area.birthGift h4 {
  text-align: center;
}
.print-area.birthGift ul li {
  font-size: 0.875rem;
  text-indent: -8px;
  margin-left: 4px;
}
.print-area.birthGift ul li:before {
  content: '*';
  width: 0.4375rem;
}

@media print {
  .print-footnote {
    display: block;
  }
}
@media screen {
  .print-area {
    margin: 3rem auto auto;
  }
}
.countdown {
  font-size: 1rem;
  line-height: 1.3;
  margin-bottom: 3px;
  color: #949494;
}
.countdown .countdown-time {
  color: #ED517D;
  font-weight: 600;
}

.daterangepicker {
  background-color: #fff;
  margin: 15px 10px;
}
.daterangepicker .dp-header {
  text-align: center;
  margin: auto auto 10px auto;
  position: relative;
}
.daterangepicker .dp-header button {
  font-size: 1.2rem;
  border: none;
  padding: 0.3rem 1rem;
  cursor: pointer;
  background-color: #fab6b6;
  color: #fff;
  position: absolute;
}
.daterangepicker .dp-header button:hover {
  background-color: #f78686;
}
.daterangepicker .dp-header button:first-of-type {
  left: 0;
  transform: translateX(-70%);
}
.daterangepicker .dp-header button:last-of-type {
  right: 0;
  transform: translateX(70%);
}
.daterangepicker .dp-header .dp-currmonth {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.7;
  color: #ed517d;
}
.daterangepicker .dp-weekday, .daterangepicker .dp-day {
  display: inline-block;
  vertical-align: middle;
  color: #303030;
  border: 1px solid transparent;
  font-size: 1.25rem;
  width: 13%;
  line-height: 2;
}
.daterangepicker .dp-weekday {
  font-weight: bold;
}
.daterangepicker .dp-day {
  cursor: pointer;
  font-weight: 400;
}
.daterangepicker .dp-day:hover, .daterangepicker .dp-day:focus {
  background-color: #FCD0D0;
  color: #fff;
  border-color: #FCD0D0;
  border-radius: 4px;
}
.daterangepicker .dp-day.day--today {
  border: 1px solid #F5A300;
  color: #F5A300;
}
.daterangepicker .dp-day.day--othermth {
  color: #b2b2b2;
}
.daterangepicker .dp-day.day--on {
  background-color: #ed517d;
  border: 1px solid #ed517d;
  border-radius: 4px;
  color: #fff;
}
.daterangepicker .dp-day.day--on-between {
  background-color: #FFD7E0;
  border: 1px solid #FFD7E0;
  color: #303030;
}
.daterangepicker .dp-day.day--disabled {
  cursor: not-allowed;
  border: 1px solid transparent;
  color: #dbdbdb;
}
.daterangepicker .dp-day.day--disabled:hover {
  background-color: #fff;
}
.daterangepicker .dp-footer {
  margin-top: 2rem;
}
.daterangepicker .dp-footer button {
  font-size: 1.25rem;
  border-radius: initial;
  box-shadow: none;
  color: white;
}
.daterangepicker .dp-footer .btn-cherry {
  background-color: #ff6994;
  width: 78%;
  border: 2px solid #ff6994;
}
.daterangepicker .dp-footer .btn-cherry:hover {
  background-color: #ff9cb8;
  border-color: #ff9cb8;
}
.daterangepicker .dp-footer .btn-cherry:focus, .daterangepicker .dp-footer .btn-cherry:active {
  background-color: #ff3670;
  border-color: #ff3670;
}
.daterangepicker .dp-footer .btn-blue {
  width: 20%;
  background-color: #52b3fa;
}
.daterangepicker .dp-footer .btn-blue:hover {
  background-color: #84c9fb;
  border-color: #84c9fb;
  transform: none;
}
.daterangepicker .dp-footer .btn-blue:focus, .daterangepicker .dp-footer .btn-blue:active {
  background-color: #209df9;
  border-color: #209df9;
  transform: none;
}

.stepper {
  font-size: 1.125rem;
  margin-bottom: 1rem;
}
.stepper > li {
  display: inline-block;
  padding: 1rem;
  color: #535252;
}
.stepper > li.stepper--on {
  color: #ED517D;
  font-size: 1.4rem;
}

.main-login::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
}

.login-keyboard {
  float: left;
  width: 50%;
  text-align: center;
}

.login-inputarea {
  float: right;
  width: 50%;
}
.login-inputarea .login-inputarea-inner {
  padding: 3rem 0 2rem;
}
.login-inputarea .login-identitynav {
  color: #ff6994;
  margin-bottom: 30px;
}
.login-inputarea .login-identitynav li {
  display: inline-block;
}
.login-inputarea .login-identitynav-btn {
  display: inline-block;
  font-size: 1.5rem;
  padding: 1.2rem 1.5rem;
  cursor: pointer;
  background: transparent;
  border: none;
  color: #ff6894;
}
.login-inputarea .login-identitynav-btn.login-identitynav-btn--on, .login-inputarea .login-identitynav-btn:hover, .login-inputarea .login-identitynav-btn:focus, .login-inputarea .login-identitynav-btn:active {
  background-color: #fde1e9;
  border-radius: 0.3rem;
}
.login-inputarea .hint-swipecard {
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}
.login-inputarea .login-input {
  line-height: 1.5;
  padding-left: 1rem;
  border-radius: 1.5rem;
  border: 2px solid #ff96b1;
  margin-bottom: 1rem;
  width: 90%;
  font-weight: bold;
  font-size: 1.75rem;
  letter-spacing: 1px;
}
.login-inputarea .login-input:focus {
  box-shadow: 1px 2px 3px 3px #fffc88;
  outline: 0;
}
.login-inputarea .login-input.mgbottom {
  margin-bottom: 5rem;
}
.login-inputarea .hint-keycount {
  font-size: 1.3rem;
  margin-bottom: 2.5rem;
}
.login-inputarea .hint-uncorrect {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: #f72461;
}
.login-inputarea .login-staffcheck {
  font-size: 1.25rem;
  margin-bottom: 2.5rem;
}
.login-inputarea .login-staffcheck .checkbox-item {
  width: 85%;
  font-size: 1.5rem;
}
.login-inputarea .btn-red {
  width: 88%;
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
}
.login-inputarea .btn-whitepink {
  font-size: 1.5rem;
}

/* 若瀏覽器支援flexbox，則使用flexbox*/
@supports (display: flex) {
  .main-login {
    display: flex;
    flex-flow: row nowrap;
  }

  .login-keyboard {
    flex: 1 1 auto;
  }

  .login-inputarea {
    flex: 1 1 auto;
  }
}
.ui-section {
  margin: 20px;
  padding: 1rem;
}
.ui-section > h3 {
  color: #ED517D;
  margin-bottom: 1.3rem;
}
.ui-section > div:not([class^='ui-color-']) {
  margin-bottom: 1rem;
}
.ui-section > div:not([class^='ui-color-']) > h4:not([class='nostyle']) {
  color: #ff96b1;
  margin-bottom: 1rem;
}
.ui-section > button {
  margin: 10px;
}

.text-medium {
  font-size: 1rem;
}

.text-small {
  font-size: 0.875rem;
}

.text-big {
  font-size: 1.125rem;
}

.text-bigger {
  font-size: 1.25rem;
}

.text-large {
  font-size: 1.5rem;
}

.ui-color-red, .ui-color-pink1, .ui-color-pink2, .ui-color-pink3, .ui-color-pink4, .ui-color-pink5, .ui-color-pink6, .ui-color-pink7, .ui-color-grey1, .ui-color-grey2, .ui-color-grey3, .ui-color-grey4, .ui-color-grey5, .ui-color-grey6, .ui-color-orange1, .ui-color-orange2, .ui-color-orange3, .ui-color-yellow1, .ui-color-yellow2, .ui-color-blue1, .ui-color-blue2, .ui-color-blue3, .ui-color-blue4, .ui-color-blue5, .ui-color-white {
  display: inline-block;
  height: 80px;
  width: 80px;
  margin: 4px;
}

.ui-color-red {
  background-color: #f72461;
}

.ui-color-pink1 {
  background-color: #FFD7E0;
}

.ui-color-pink2 {
  background-color: #EF86A1;
}

.ui-color-pink3 {
  background-color: #ED517D;
}

.ui-color-pink4 {
  background-color: #ff96b1;
}

.ui-color-pink5 {
  background-color: #ff6994;
}

.ui-color-pink6 {
  background-color: #ffe9ef;
}

.ui-color-pink7 {
  background-color: #ff9494;
}

.ui-color-grey1 {
  background-color: #949494;
}

.ui-color-grey2 {
  background-color: #535252;
}

.ui-color-grey3 {
  background-color: #BABABA;
}

.ui-color-grey4 {
  background-color: #dbdbdb;
}

.ui-color-grey5 {
  background-color: #8b9191;
}

.ui-color-grey6 {
  background-color: #d9d9d9;
}

.ui-color-orange1 {
  background-color: #f5ab54;
}

.ui-color-orange2 {
  background-color: #fca917;
}

.ui-color-orange3 {
  background-color: #ffc269;
}

.ui-color-yellow1 {
  background-color: rgba(255, 243, 106, 0.42);
}

.ui-color-yellow2 {
  background-color: #ffcc00;
}

.ui-color-blue1 {
  background-color: #E9FBFF;
}

.ui-color-blue2 {
  background-color: #66D7FF;
}

.ui-color-blue3 {
  background-color: #1272b2;
}

.ui-color-blue4 {
  background-color: #9dd6ea;
}

.ui-color-blue5 {
  background-color: #60c2e6;
}

.ui-color-white {
  background-color: #fff;
  border: 1px solid grey;
}

.ui-section .fa-angle-up.rotate-add, .ui-section .fa-angle-up.rotate-remove {
  transition: all 2s;
  color: blue;
}
.ui-section .fa-angle-up.rotate {
  transform: rotate(180deg);
  color: green;
}

.align-right {
  text-align: right !important;
}

.align-left {
  text-align: left !important;
}

.align-center {
  text-align: center !important;
}

.float-right {
  float: right !important;
}

.float-left {
  float: left !important;
}

.hide {
  display: none !important;
}

.no-opacity {
  opacity: 0 !important;
}

.noscroll {
  overflow: hidden !important;
  width: calc(100% - 16px);
}

.width-full {
  width: 100% !important;
}

.display-block {
  display: block !important;
}

.mgbottom-auto, .uiview {
  margin-bottom: auto !important;
}

.dev-border {
  border: 1px solid !important;
}

.text-preline {
  white-space: pre-line !important;
}

.no-letterspacing {
  letter-spacing: 0 !important;
}

@media only screen and (max-width: 768px) {
  .wrapper {
    width: 768px;
  }
  .wrapper .main-login {
    flex-flow: column nowrap;
    width: 100%;
  }
  .wrapper .main-login .login-keyboard {
    order: 2;
    width: auto;
  }
  .wrapper .main-login .login-inputarea {
    order: 1;
    width: auto;
  }
}
@media only screen and (max-width: 1024px) {
  .recipe-img {
    width: 65%;
  }

  .recipe-info {
    width: 65%;
    padding: 1rem 0;
  }

  .main-login {
    padding: 3rem 0.5rem;
    width: 100%;
  }
  .main-login .login-keyboard {
    width: 45%;
    order: 1;
  }
  .main-login .login-keyboard .login-keyboard-row {
    width: 100%;
    margin: 0 auto;
  }
  .main-login .login-inputarea {
    width: 50%;
    order: 2;
    text-align: center;
  }
  .main-login .login-inputarea .login-inputarea-inner {
    width: 80%;
    margin: 0 auto;
    padding-top: 1rem;
  }
}
/* For general iPad layouts */
/* iPad in Portrait */
/* iPad in Landscape */
/* Desktops and laptops : 1025~1300px----------- */
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  .main {
    width: 80%;
    margin: 0 auto;
  }

  .btn-bignum {
    padding: 0;
    width: 6.5rem;
    height: 6.5rem;
    font-size: 3.5rem;
  }
}
/* Desktops and laptops : 1301px以上----------- */
@media only screen and (min-width: 1301px) {
  .main {
    width: 80%;
    margin: 0 auto;
  }

  .btn-bignum {
    width: 8.5rem;
    height: 8.5rem;
    font-size: 4rem;
    padding: 0;
  }
}
/* Large screens : 1650px以上----------- */
@media only screen and (min-width: 1650px) {
  /* Styles */
  .main {
    width: 65%;
    margin: 0 auto;
  }

  .login-inputarea {
    margin-left: 5%;
  }
}
/* Print */
