@charset "UTF-8";
/* CONFIG */
/*** DEFINITION ***/
/* DEFINE CLASS NAME */
/*
$VS_CLASS_SCROLL_INIT:			$VS_CLASS_PREFIX+"initScroll";
$VS_CLASS_SCROLLED:				$VS_CLASS_PREFIX+"scrolled";
$VS_CLASS_DRAGSCROLL_INIT:		$VS_CLASS_PREFIX+"initDragScroll";
$VS_CLASS_DRAGSCROLL:			$VS_CLASS_PREFIX+"dragscroll";
*/
/* COLOR */
/* RESET */
* {
  filter: inherit;
  -webkit-text-size-adjust: none; }

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 {
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  text-decoration: none;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

html *,
html *::after,
html *::before {
  max-height: 999999px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  -webkit-box-sizing: border-box; }

body {
  line-height: 1; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

strong {
  font-weight: bold; }

em {
  font-style: italic; }

a,
input,
button,
select,
textarea {
  outline: none;
  margin: 0;
  padding: 0; }

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0; }

select::-ms-expand {
  display: none; }

input {
  display: inline-block;
  border-style: none;
  border-color: transparent;
  border-width: 0;
  cursor: pointer; }

input[type=text],
input[type=password],
input[type=tel],
input[type=email],
input[type=number],
input[type=search],
input[type=url] {
  cursor: text; }

input[type=range] {
  width: 100%; }
  input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none; }
  input[type=range]::-ms-track {
    width: 100%;
    cursor: pointer;
    background: transparent;
    border-color: transparent;
    color: transparent; }

input:disabled {
  cursor: default; }

select {
  background-color: transparent;
  background-image: url("../images/form/imgArrow.png");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 18px; }

textarea {
  resize: none; }

/* COMMON */
html, body {
  width: 100%;
  font-family: 'PingFang HK', "微軟正黑體", "Microsoft JhengHei", "Heiti TC", "LiHei Pro", Arial, Helvetica, "新細明體", PMingLiU, sans-serif;
  color: #4D4D4D;
  background-color: #f3f9fc;
  -webkit-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent; }
  html.vs-loadingOpen, html.vs-menuOpen, html.vs-popupOpen, body.vs-loadingOpen, body.vs-menuOpen, body.vs-popupOpen {
    overflow: hidden; }
  html.vs-loadingOpen.vs-devicePortable, html.vs-menuOpen.vs-devicePortable, html.vs-popupOpen.vs-devicePortable, body.vs-loadingOpen.vs-devicePortable, body.vs-menuOpen.vs-devicePortable, body.vs-popupOpen.vs-devicePortable {
    position: fixed;
    transform-style: preserve-3d; }

.block {
  display: block; }

.hide {
  display: none !important; }

.noWrap {
  white-space: nowrap; }

.clear:after {
  content: "";
  display: block;
  clear: both; }

/* CONTROL */
.vs-mobile .hide-vs-mobile {
  display: none !important; }

.vs-tablet .hide-vs-tablet {
  display: none !important; }

.vs-desktop .hide-vs-desktop {
  display: none !important; }

.vs-largeDesktop .hide-vs-largeDesktop {
  display: none !important; }

.vs-transitionFreeze * {
  transition: none !important; }

/* BLOCK WRAPPER */
.fixedWrapper {
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9; }
  .vs-popupOpen .fixedWrapper {
    min-height: 100%; }
  .vs-menuOpen .fixedWrapper {
    overflow-x: hidden;
    overflow-y: auto; }
  .fixedWrapper .fixedBg {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    cursor: default; }
    .vs-popupOpen .fixedWrapper .fixedBg {
      display: block;
      background-color: rgba(0, 0, 0, 0.5); }
  .fixedWrapper .fixedBgBtn {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    cursor: default; }
    .vs-popupOpen .fixedWrapper .fixedBgBtn {
      display: block; }

.mainWrapper {
  overflow-x: hidden;
  position: relative;
  transition: transform 0.2s ease-out;
  z-index: 2;
  /*
	.vs-loadingOpen &,
	.vs-menuOpen &,
	.vs-popupOpen &
	{
		position: relative;
	}
	*/ }
  .vs-mobile .mainWrapper,
  .vs-tablet .mainWrapper {
    min-height: calc(100vh - 140px);
    margin-top: 140px;
    margin-bottom: 52px; }
  .vs-desktop .mainWrapper,
  .vs-largeDesktop .mainWrapper {
    min-height: calc(100vh - 140px);
    margin-top: 140px;
    margin-bottom: 52px; }
  .mainWrapper:after {
    content: "";
    display: none;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.2s ease-out; }

/* TEXT_CONTENT */
b,
strong {
  font-weight: bold; }

i,
em {
  font-style: italic; }

sup {
  vertical-align: super;
  font-size: smaller; }

sub {
  vertical-align: sub;
  font-size: smaller;
  line-height: 0em; }

/* EDITOR_CONTENT */
.editorContent {
  line-height: 1.5em; }
  .editorContent p {
    margin: 1em 0; }
  .editorContent b,
  .editorContent strong {
    font-weight: bold; }
  .editorContent i,
  .editorContent em {
    font-style: italic; }
  .editorContent i,
  .editorContent em {
    font-style: italic; }
  .editorContent u {
    text-decoration: underline; }
  .editorContent s,
  .editorContent strike {
    text-decoration: line-through; }
  .editorContent ol,
  .editorContent ul {
    list-style-position: outside; }
    .editorContent ol li,
    .editorContent ul li {
      margin: 0 0 0 1.3em; }
  .editorContent ol {
    list-style-type: decimal; }
  .editorContent ul {
    list-style-type: disc; }
  .editorContent sup {
    vertical-align: super;
    font-size: smaller; }
  .editorContent sub {
    vertical-align: sub;
    font-size: smaller; }

/* BACK TO TOP*/
.backToTop {
  display: block;
  width: 40px;
  height: 40px;
  opacity: 0;
  position: fixed;
  bottom: 20px;
  right: 20px;
  transform: translate3d(0, 100%, 0);
  background-color: #f00;
  text-align: center;
  color: #fff;
  font-size: 14px;
  line-height: 40px;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 100%;
  z-index: 3;
  transition: all 0.2s ease-out; }
  .backToTop.vs-active {
    opacity: 1;
    transform: translate3d(0, 0, 0); }

/* LOADING */
.loading {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  opacity: 0;
  background-color: #fff;
  transform: translate(0, -100%);
  transition: opacity 0.2s ease-out, transform 0.01s linear 0.2s;
  z-index: 99; }
  .vs-loadingOpen .loading {
    opacity: 1;
    transform: translate(0, 0);
    transition: none; }
  .vs-ready.vs-loadingOpen .loading {
    background-color: rgba(255, 255, 255, 0.7); }
  .loading .loadingBlock {
    display: block;
    width: 200px;
    position: absolute;
    left: 50%;
    top: 50%;
    text-align: center;
    transform: translate(-50%, -50%) scale3d(0.5, 0.5, 1); }
    .loading .loadingBlock span {
      display: inline-block;
      width: 20px;
      height: 20px;
      border-radius: 100%;
      background-color: #1991D0;
      margin: 35px 5px; }
      .loading .loadingBlock span:nth-child(1) {
        animation: vsAni_loading_movingBall 1s ease-in-out infinite; }
      .loading .loadingBlock span:nth-child(2) {
        animation: vsAni_loading_movingBall 1s ease-in-out 0.2s infinite; }
      .loading .loadingBlock span:nth-child(3) {
        animation: vsAni_loading_movingBall 1s ease-in-out 0.4s infinite; }
      .loading .loadingBlock span:nth-child(4) {
        animation: vsAni_loading_movingBall 1s ease-in-out 0.6s infinite; }
      .loading .loadingBlock span:nth-child(5) {
        animation: vsAni_loading_movingBall 1s ease-in-out 0.8s infinite; }

@keyframes vsAni_loading_movingBall {
  0%, 75%, 100% {
    transform: translate3d(0, 0, 0); }
  25% {
    transform: translate3d(0, -20px, 0); } }

/* HEADER */
.header {
  position: relative;
  background-color: #1991D0;
  color: #fff;
  line-height: 60px;
  transition: all 0.2s ease-out; }
  .vs-mobile .header,
  .vs-tablet .header {
    height: 140px; }
  .vs-desktop .header,
  .vs-largeDesktop .header {
    height: 140px; }
  .vs-mobile .vs-menuOpen .header,
  .vs-tablet .vs-menuOpen .header {
    width: 100%; }
  .header .innerHeader {
    max-width: 1024px;
    height: 100%;
    margin: 0 auto;
    position: relative; }
  .header .logo {
    display: block;
    width: 57px;
    height: 35px;
    position: absolute;
    left: 20px;
    top: 20px;
    background-image: url("../images/common/logo.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 100%; }
  .header .topPanel {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    max-width: calc(100% - 120px);
    position: absolute;
    right: 20px;
    top: 30px; }
    .header .topPanel .telBtn {
      display: block;
      width: 20px;
      height: 24px;
      margin-right: 12px;
      background-image: url("../images/common/tel.svg");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain; }
    .header .topPanel .searchBtn {
      display: block;
      width: 20px;
      height: 24px;
      margin-right: 12px;
      background-image: url("../images/common/search.svg");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain; }
    .header .topPanel .userInfo {
      display: block;
      position: relative; }
      .header .topPanel .userInfo .userBtn {
        display: block;
        height: 24px;
        max-width: 100px;
        overflow: hidden;
        padding-right: 16px;
        background-image: url("../images/common/arrow.svg");
        background-repeat: no-repeat;
        background-position: right 0px center;
        background-size: 12px;
        color: #fff;
        font-size: 18px;
        line-height: 24px;
        white-space: nowrap;
        text-overflow: ellipsis; }
      .header .topPanel .userInfo .logoutBtn {
        display: none;
        padding: 0 10px 0 36px;
        position: absolute;
        right: 0;
        top: 30px;
        background-color: #fff;
        background-image: url("../images/common/logout.svg");
        background-repeat: no-repeat;
        background-position: left 10px center;
        background-size: 20px;
        color: #4D4D4D;
        line-height: 50px;
        border-radius: 6px;
        box-shadow: 0px 5px 10px rgba(20, 94, 133, 0.3);
        z-index: 2; }
      .header .topPanel .userInfo.active .logoutBtn {
        display: block; }
  .header .searchPanel {
    display: none;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: calc(100% - 40px);
    position: absolute;
    left: 20px;
    bottom: 20px; }
    .header .searchPanel.active {
      display: -ms-flexbox;
      display: flex; }
    .header .searchPanel .closeBtn {
      display: block;
      width: 12px;
      height: 40px;
      background-image: url("../images/common/close.svg");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain; }
    .header .searchPanel #input_searchText {
      width: calc(100% - 30px);
      padding: 10px 36px 10px 16px;
      border-radius: 48px; }
    .header .searchPanel .searchBtn {
      display: block;
      width: 16px;
      height: 40px;
      position: absolute;
      right: 16px;
      top: 0;
      background-image: url("../images/common/search-blue.svg");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 20px; }
  .header .selectionPanel {
    display: none;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: calc(100% - 40px);
    position: absolute;
    left: 20px;
    bottom: 20px; }
    .header .selectionPanel.active {
      display: -ms-flexbox;
      display: flex; }
    .header .selectionPanel #input_displayDate {
      width: 140px;
      padding: 10px 36px 10px 16px;
      border-radius: 48px;
      background-image: url("../images/common/datepicker.svg");
      background-repeat: no-repeat;
      background-position: right 16px center;
      background-size: 15px; }
    .header .selectionPanel #input_displayLocation {
      width: calc(100% - 140px - 20px);
      padding: 10px 36px 10px 16px;
      background-color: #fff;
      background-image: url("../images/common/pin.svg");
      background-position: right 16px center;
      background-size: 14px;
      border-radius: 48px;
      border-width: 0; }

/* FOOTER */
.footer {
  width: 100%;
  position: fixed;
  bottom: 0;
  background-color: #4D4D4D;
  color: #fff;
  line-height: 52px;
  transition: all 0.2s ease-out;
  box-shadow: 0px 2px 4px 0px rgba(89, 89, 89, 0.75); }
  .vs-mobile .footer,
  .vs-tablet .footer {
    height: 52px; }
  .vs-desktop .footer,
  .vs-largeDesktop .footer {
    height: 52px; }
  .vs-mobile .vs-menuOpen .footer,
  .vs-tablet .vs-menuOpen .footer {
    width: 100%; }
  .footer .innerFooter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    max-width: 1024px;
    height: 100%;
    margin: 0 auto;
    position: relative; }
    .footer .innerFooter .statistic {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: end;
          justify-content: flex-end;
      width: calc(100% - 40px);
      max-width: 450px;
      margin: 14px 20px;
      position: relative; }
      .footer .innerFooter .statistic .stat_item {
        display: block;
        margin-left: 12px;
        font-size: 18px;
        line-height: 24px; }
        .footer .innerFooter .statistic .stat_item:first-child {
          margin-left: 0;
          position: absolute;
          left: 0;
          top: 0; }
        .footer .innerFooter .statistic .stat_item span {
          display: inline-block;
          width: 32px;
          margin-left: 4px;
          text-align: center;
          color: #4D4D4D;
          background-color: #fff;
          border-radius: 4px; }

/* MENU */
/* MENU - DESKTOP */
.header .menu {
  position: absolute;
  right: 0;
  top: 0;
  letter-spacing: 0.2em; }
  .vs-mobile .header .menu,
  .vs-tablet .header .menu {
    display: none; }
  .header .menu ul {
    display: -ms-flexbox;
    display: flex;
    padding: 26px 220px 0 0; }
    .header .menu ul li:after {
      content: "";
      display: block;
      clear: both; }
    .header .menu ul li a {
      display: block;
      overflow: hidden;
      margin: 0 0 0 26px;
      position: relative;
      color: #000;
      font-size: 20px;
      line-height: 40px;
      cursor: pointer; }
      .header .menu ul li a:hover, .header .menu ul li a.vs-active {
        color: #abd037; }
      .header .menu ul li a.vs-active:before {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        position: absolute;
        left: calc(50% - 6px);
        top: 10px;
        background-color: #abd037;
        border-radius: 100%; }
    .header .menu ul li a {
      padding: 20px 22px 0; }

.header .menuBtn {
  display: block;
  width: 40px;
  height: 60px;
  padding: 20px 10px;
  position: absolute;
  left: 0;
  top: 0; }
  .vs-desktop .header .menuBtn,
  .vs-largeDesktop .header .menuBtn {
    display: none; }
  .header .menuBtn span {
    display: block;
    height: 3px;
    margin: 0 0 5px;
    background-color: #abd037;
    border-radius: 3px;
    transition: all 0.2s ease-out; }
    .vs-menuOpen .vs-mobile .header .menuBtn span:nth-child(1) {
      transform: translate(0, 8px) rotate(45deg); }
    .header .menuBtn span:nth-child(2) {
      margin: 0 4px 5px 0; }
      .vs-menuOpen .vs-mobile .header .menuBtn span:nth-child(2) {
        margin: 0 0px 5px 0;
        transform: scale(0); }
    .vs-menuOpen .vs-mobile .header .menuBtn span:nth-child(3) {
      transform: translate(0, -8px) rotate(-45deg); }

/* MENU - MOBILE & TABLET */
.menuWrapper {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  transform: translate3d(0, -100%, 0);
  background-color: #abd037; }
  .vs-desktop .menuWrapper,
  .vs-largeDesktop .menuWrapper {
    display: none; }
  .vs-menuOpen .menuWrapper {
    transform: translate3d(0, 0, 0);
    transition: all 0.2s ease-out;
    z-index: 8; }
  .menuWrapper .menu {
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto; }
    .vs-mobile .menuWrapper .menu,
    .vs-tablet .menuWrapper .menu {
      padding: 60px 0 0; }
    .vs-deviceDesktop .menuWrapper .menu {
      overflow-y: hidden; }
    .menuWrapper .menu ul {
      position: relative;
      overflow: hidden; }
      .menuWrapper .menu ul li {
        display: block;
        margin: 0 auto;
        position: relative;
        overflow: hidden; }
        .vs-mobile .menuWrapper .menu ul li {
          max-width: 275px; }
        .vs-tablet .menuWrapper .menu ul li {
          max-width: 550px; }
        .menuWrapper .menu ul li:after {
          content: "";
          display: block;
          width: 40px;
          height: 1px;
          position: absolute;
          top: 0;
          left: 50%;
          transform: translate3d(-50%, 0, 0);
          background-color: #fff; }
        .menuWrapper .menu ul li:first-child:after {
          display: none; }
        .menuWrapper .menu ul li a {
          display: block;
          padding: 0 10px;
          color: #fff;
          font-size: 18px;
          line-height: 1.3em; }
        .menuWrapper .menu ul li a {
          display: block;
          padding: 24px 10px;
          text-align: center;
          color: #fff;
          font-size: 20px;
          line-height: 24px;
          transition: all 0.2s ease-out; }

.vs-menuOpen .menu {
  z-index: 2; }

/* FORM */
/* BUTTON & FORM ELEMENT */
a,
input,
button,
select,
textarea {
  color: #4d4d4d; }

input:disabled,
textarea:disabled,
select:disabled {
  opacity: 1; }

button[type="submit"] {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3em;
  border-style: solid;
  border-color: transparent;
  border-width: 0; }

input[type='file'] {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  color: inherit;
  font: inherit;
  outline: none;
  text-align: inherit;
  line-height: normal;
  border-radius: 0;
  cursor: pointer;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  -webkit-appearance: none;
  opacity: 0;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

input[type='text'],
input[type='password'],
input[type='tel'],
input[type='email'],
input[type='number'],
input[type='search'],
input[type='url'] {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3em;
  border-style: solid;
  border-color: transparent;
  border-width: 0; }
  input[type='text'] + label,
  input[type='password'] + label,
  input[type='tel'] + label,
  input[type='email'] + label,
  input[type='number'] + label,
  input[type='search'] + label,
  input[type='url'] + label {
    display: inline-block;
    margin: 16px 0 0;
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: left top;
    color: #4d4d4d;
    font-size: 18px;
    line-height: 1.3em;
    font-weight: bold;
    transition: all 0.2s ease-out;
    cursor: text; }
  input[type='text']:disabled,
  input[type='password']:disabled,
  input[type='tel']:disabled,
  input[type='email']:disabled,
  input[type='number']:disabled,
  input[type='search']:disabled,
  input[type='url']:disabled {
    color: #dddddd !important;
    background-color: transparent !important;
    border-color: #dddddd; }
    input[type='text']:disabled + label,
    input[type='password']:disabled + label,
    input[type='tel']:disabled + label,
    input[type='email']:disabled + label,
    input[type='number']:disabled + label,
    input[type='search']:disabled + label,
    input[type='url']:disabled + label {
      color: #dddddd !important; }
  input[type='text']:focus + label, input[type='text'].vs-active + label,
  input[type='password']:focus + label,
  input[type='password'].vs-active + label,
  input[type='tel']:focus + label,
  input[type='tel'].vs-active + label,
  input[type='email']:focus + label,
  input[type='email'].vs-active + label,
  input[type='number']:focus + label,
  input[type='number'].vs-active + label,
  input[type='search']:focus + label,
  input[type='search'].vs-active + label,
  input[type='url']:focus + label,
  input[type='url'].vs-active + label {
    transform: translate(0, -16px) scale(0.8); }
  input[type='text']::-webkit-input-placeholder,
  input[type='password']::-webkit-input-placeholder,
  input[type='tel']::-webkit-input-placeholder,
  input[type='email']::-webkit-input-placeholder,
  input[type='number']::-webkit-input-placeholder,
  input[type='search']::-webkit-input-placeholder,
  input[type='url']::-webkit-input-placeholder {
    color: #D6E0E6; }
  input[type='text']::-moz-placeholder,
  input[type='password']::-moz-placeholder,
  input[type='tel']::-moz-placeholder,
  input[type='email']::-moz-placeholder,
  input[type='number']::-moz-placeholder,
  input[type='search']::-moz-placeholder,
  input[type='url']::-moz-placeholder {
    color: #D6E0E6; }
  input[type='text']:-ms-input-placeholder,
  input[type='password']:-ms-input-placeholder,
  input[type='tel']:-ms-input-placeholder,
  input[type='email']:-ms-input-placeholder,
  input[type='number']:-ms-input-placeholder,
  input[type='search']:-ms-input-placeholder,
  input[type='url']:-ms-input-placeholder {
    color: #D6E0E6; }
  input[type='text'] :-moz-placeholder,
  input[type='password'] :-moz-placeholder,
  input[type='tel'] :-moz-placeholder,
  input[type='email'] :-moz-placeholder,
  input[type='number'] :-moz-placeholder,
  input[type='search'] :-moz-placeholder,
  input[type='url'] :-moz-placeholder {
    color: #D6E0E6; }

input[type='checkbox'],
input[type='radio'] {
  position: absolute;
  left: -9999px; }
  input[type='checkbox'] + label,
  input[type='radio'] + label {
    display: inline-block;
    padding: 6px 6px 6px 22px;
    position: relative;
    color: #4d4d4d;
    border-style: solid;
    border-color: transparent;
    border-width: 1px;
    border-radius: 4px;
    cursor: pointer; }
    input[type='checkbox'] + label:before,
    input[type='radio'] + label:before {
      content: '';
      display: block;
      width: 16px;
      height: 16px;
      position: absolute;
      left: 0;
      top: calc(50% - 1px);
      transform: translate(0, -50%);
      background-color: #fff;
      border-style: solid;
      border-color: #4d4d4d;
      border-width: 1px;
      border-radius: 4px;
      transition: all 0.2s ease-out; }
    input[type='checkbox'] + label:after,
    input[type='radio'] + label:after {
      content: '';
      display: block;
      opacity: 0;
      width: 7px;
      height: 14px;
      position: absolute;
      left: 5px;
      top: 4px;
      transform: rotate3d(0, 0, 1, 45deg);
      border-style: solid;
      border-color: transparent #000 #000 transparent;
      border-width: 2px;
      transition: all 0.2s ease-out; }
  input[type='checkbox']:checked + label:after,
  input[type='radio']:checked + label:after {
    opacity: 1; }

input[type='radio'] + label:before {
  border-radius: 100%; }

input[type='range'] {
  margin: 12px 0; }
  input[type='range']::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    transform: translate(0, 2px) translate(0, -50%);
    border-radius: 20px;
    background-color: #4d4d4d;
    cursor: pointer; }
  input[type='range']::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 20px;
    background-color: #4d4d4d;
    cursor: pointer; }
  input[type='range']::-ms-thumb {
    width: 16px;
    height: 16px;
    transform: translate(0, 8px) translate(0, -50%);
    border-radius: 20px;
    background-color: #4d4d4d;
    cursor: pointer; }
  input[type='range']::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    background-color: #dddddd;
    cursor: pointer; }
  input[type='range']::-moz-range-track {
    width: 100%;
    height: 4px;
    background-color: #dddddd;
    cursor: pointer; }
  input[type='range']::-ms-track {
    width: 100%;
    height: 4px;
    background-color: #dddddd;
    cursor: pointer; }

select {
  padding: 6px 20px 6px 8px;
  background-color: transparent;
  font-size: 18px;
  line-height: 1.3em;
  color: #4d4d4d;
  background-image: url("../images/common/arrow.svg");
  background-repeat: no-repeat;
  background-position: right 6px center;
  background-size: 10px;
  border-style: solid;
  border-color: #CFDBE2;
  border-width: 1px;
  border-radius: 4px;
  cursor: pointer; }
  select:disabled {
    color: #dddddd !important;
    background-color: transparent !important;
    border-color: #dddddd; }
  select option:disabled {
    color: #dddddd !important;
    background-color: transparent !important;
    border-color: #dddddd; }

textarea {
  margin: 16px 0 0;
  font-size: 18px;
  line-height: 1.3em;
  background-color: transparent;
  border-style: solid;
  border-color: #4d4d4d;
  border-width: 1px; }
  textarea + label {
    display: inline-block;
    margin: 16px 0 0;
    position: absolute;
    top: 1px;
    left: 1px;
    transform-origin: left top;
    color: #4d4d4d;
    font-size: 18px;
    line-height: 1.3em;
    font-weight: bold;
    transition: all 0.2s ease-out; }
  textarea:disabled {
    color: #dddddd !important;
    background-color: transparent !important;
    border-color: #dddddd; }
    textarea:disabled + label {
      color: #dddddd !important; }
  textarea:focus + label, textarea.vs-active + label {
    transform: translate(0, -16px) scale(0.8); }

/* DATE PICKER (JQUERY-UI) */
.ui-datepicker {
  display: none;
  width: calc(100% - 60px);
  max-width: 400px;
  color: #ffffff;
  font-size: 18px;
  line-height: 1.3em;
  background-color: #ffffff;
  border-style: solid;
  border-color: #1991D0;
  border-width: 1px; }
  .ui-datepicker .ui-datepicker-header {
    position: relative;
    margin: 4px;
    text-align: center;
    background-color: #1991D0;
    font-weight: bold;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .ui-datepicker .ui-datepicker-header .ui-datepicker-title,
    .ui-datepicker .ui-datepicker-header .ui-datepicker-prev,
    .ui-datepicker .ui-datepicker-header .ui-datepicker-next {
      line-height: 30px; }
    .ui-datepicker .ui-datepicker-header .ui-datepicker-prev,
    .ui-datepicker .ui-datepicker-header .ui-datepicker-next {
      width: 1.6em;
      position: absolute;
      top: 0;
      color: #ffffff;
      cursor: pointer; }
      .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before,
      .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before {
        display: inline-block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.2s ease-out; }
      .ui-datepicker .ui-datepicker-header .ui-datepicker-prev span,
      .ui-datepicker .ui-datepicker-header .ui-datepicker-next span {
        visibility: hidden; }
      .ui-datepicker .ui-datepicker-header .ui-datepicker-prev.ui-state-disabled,
      .ui-datepicker .ui-datepicker-header .ui-datepicker-next.ui-state-disabled {
        display: none; }
    .ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
      left: 0; }
      .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before {
        content: '<'; }
      .deviceDesktop .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover:before, .deviceDesktop .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:active:before {
        transform: translate(-80%, -50%); }
    .ui-datepicker .ui-datepicker-header .ui-datepicker-next {
      right: 0; }
      .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before {
        content: '>'; }
      .deviceDesktop .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover:before, .deviceDesktop .ui-datepicker .ui-datepicker-header .ui-datepicker-next:active:before {
        transform: translate(-20%, -50%); }
  .ui-datepicker .ui-datepicker-calendar {
    width: 100%;
    margin: 4px 0; }
    .ui-datepicker .ui-datepicker-calendar th,
    .ui-datepicker .ui-datepicker-calendar td {
      width: 14.2857%;
      text-align: center;
      border-style: solid;
      border-color: transparent;
      border-width: 4px; }
      .ui-datepicker .ui-datepicker-calendar th a,
      .ui-datepicker .ui-datepicker-calendar th span,
      .ui-datepicker .ui-datepicker-calendar td a,
      .ui-datepicker .ui-datepicker-calendar td span {
        display: block; }
    .ui-datepicker .ui-datepicker-calendar th {
      font-weight: bold; }
      .ui-datepicker .ui-datepicker-calendar th span {
        color: #1991D0; }
    .ui-datepicker .ui-datepicker-calendar td a {
      line-height: 32px;
      color: #1991D0;
      border-style: solid;
      border-color: #1991D0;
      border-width: 1px;
      transition: all 0.2s ease-out; }
      .deviceDesktop .ui-datepicker .ui-datepicker-calendar td a:hover, .deviceDesktop .ui-datepicker .ui-datepicker-calendar td a:active {
        color: #ffffff;
        background-color: #1991D0; }
    .ui-datepicker .ui-datepicker-calendar td:nth-child(1) a {
      background-color: #f3f9fc; }
    .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today {
      font-weight: bold; }
    .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day {
      font-weight: bold; }
      .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a {
        color: #ffffff;
        background-color: #1991D0; }
    .ui-datepicker .ui-datepicker-calendar td.ui-state-disabled a,
    .ui-datepicker .ui-datepicker-calendar td.ui-state-disabled span {
      line-height: 32px;
      color: #CFDBE2;
      border-style: solid;
      border-color: #CFDBE2;
      border-width: 1px; }
  .ui-datepicker .ui-datepicker-buttonpane {
    margin: 4px;
    text-align: center; }
    .ui-datepicker .ui-datepicker-buttonpane button {
      height: 1.6em;
      padding: 0 4px;
      color: #ffffff;
      background-color: #4d4d4d;
      font-weight: bold;
      border-style: solid;
      border-color: transparent;
      border-width: 1px;
      cursor: pointer;
      transition: all 0.2s ease-out; }
      .deviceDesktop .ui-datepicker .ui-datepicker-buttonpane button:hover, .deviceDesktop .ui-datepicker .ui-datepicker-buttonpane button:active {
        color: #4d4d4d;
        background-color: #ffffff;
        border-color: #4d4d4d; }

/* POPUP */
/* MAGNIFIC POPUP */
.mfp-bg {
  height: 100% !important; }

.mfp-wrap {
  height: 100vh !important; }
  .vs-popupOpen .mfp-wrap {
    top: 0 !important; }

.mfp-container {
  padding: 0 20px;
  overflow-y: auto; }

.mfp-content {
  max-width: 800px; }

.mfp-close-btn-in .mfp-close {
  color: #fff; }

.popupWrapper {
  background-color: #fff;
  text-align: center;
  color: #4D4D4D;
  border-radius: 4px; }
  .vs-mobile .popupWrapper {
    padding: 40px; }
  .vs-tablet .popupWrapper,
  .vs-desktop .popupWrapper,
  .vs-largeDesktop .popupWrapper {
    padding: 40px; }
  .popupWrapper .popup .popupInnerWrapper {
    padding: 20px 0; }
    .popupWrapper .popup .popupInnerWrapper .popupContent {
      width: 80%;
      max-width: 500px;
      transform: translate(-23px, 0); }
      .vs-tablet .popupWrapper .popup .popupInnerWrapper .popupContent,
      .vs-desktop .popupWrapper .popup .popupInnerWrapper .popupContent,
      .vs-largeDesktop .popupWrapper .popup .popupInnerWrapper .popupContent {
        transform: none; }
  .popupWrapper .btnClose {
    min-width: 36px;
    background-color: #ff0;
    border-color: #f00; }
    .vs-deviceDesktop .popupWrapper .btnClose:hover, .vs-deviceDesktop .popupWrapper .btnClose:active {
      background-color: rgba(255, 255, 255, 0.8); }
    .vs-deviceDesktop .popupWrapper .btnClose:hover:before, .vs-deviceDesktop .popupWrapper .btnClose:active:before {
      background-color: rgba(255, 255, 255, 0.8); }

.popup-connectionError {
  font-size: 18px; }
  .popup-connectionError a {
    display: inline-block;
    padding: 7px 10px;
    color: #1991D0;
    background-color: #fff;
    border-style: solid;
    border-color: #1991D0;
    border-width: 1px;
    border-radius: 4px; }

/* SLIDER */
.slickSlider .slick-prev,
.slickSlider .slick-next,
.slickSlider .slick-dots {
  z-index: 2; }

/* PAGE LOGIN */
.page-login .mainWrapper {
  min-height: 100vh !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background-color: #fff !important; }
  .page-login .mainWrapper .formWrapper {
    width: 100%;
    max-width: 828px;
    margin: 0 auto;
    position: relative;
    background-image: url("../images/login/login-bg.jpg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
    border-radius: 0px 0px 50px 50px; }
  .page-login .mainWrapper form {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    overflow: hidden;
    width: 100%;
    max-width: 500px;
    min-height: calc(100vh - 50px);
    margin: 0 auto 50px;
    padding: 0 20px; }
    .page-login .mainWrapper form .logo {
      width: 131px;
      height: 131px;
      margin: 40px auto 0;
      background-image: url("../images/login/login-logo.svg");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain; }
    .page-login .mainWrapper form input[type="text"],
    .page-login .mainWrapper form input[type="password"] {
      width: 100%;
      margin: 10px 0;
      padding: 10px 36px 10px 16px;
      border-width: 1px;
      border-radius: 48px; }
      .page-login .mainWrapper form input[type="text"].error,
      .page-login .mainWrapper form input[type="password"].error {
        color: #D50000;
        border-color: #D50000;
        background-image: url("../images/common/error.svg");
        background-repeat: no-repeat;
        background-position: right 8px center;
        background-size: 24px; }
    .page-login .mainWrapper form input[type="checkbox"] + label {
      color: #fff; }
      .page-login .mainWrapper form input[type="checkbox"] + label:before {
        border-color: #CFDBE2; }
    .page-login .mainWrapper form button[type="submit"] {
      width: 100%;
      margin: 10px 0;
      background-color: #FF8544;
      color: #fff;
      border-radius: 48px; }
    .page-login .mainWrapper form .login-row {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      margin: 10px 0; }
      .page-login .mainWrapper form .login-row label {
        font-size: 18px; }
    .page-login .mainWrapper form .forget-pw {
      visibility: hidden;
      margin: 10px 0;
      font-size: 18px;
      line-height: 1.3em;
      color: #fff; }
      .page-login .mainWrapper form .forget-pw.active {
        visibility: visible; }
    .page-login .mainWrapper form .errorMsg {
      visibility: hidden;
      height: 40px;
      margin: 10px 0 50px;
      font-size: 18px;
      line-height: 1.3em;
      text-align: left;
      color: #fff; }
      .page-login .mainWrapper form .errorMsg.error {
        visibility: visible; }
    .page-login .mainWrapper form a {
      font-size: 18px;
      line-height: 30px;
      color: #fff;
      text-decoration: underline; }
      .page-login .mainWrapper form a:hover {
        text-decoration: none; }
  .page-login .mainWrapper .copyright {
    width: 100%;
    padding: 10px 0;
    position: absolute;
    bottom: -50px; }
    .page-login .mainWrapper .copyright span {
      display: block;
      width: calc(100% - 40px);
      margin: 0 auto;
      color: #ABABAB;
      text-align: center;
      font-size: 12px;
      line-height: 1.3em; }

/* PAGE LISTING */
.page-listing .listingTop {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  max-width: 1024px;
  margin: 0 auto;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 1.3em; }
  .page-listing .listingTop .totalStaff .displyNum {
    color: #1991D0;
    font-weight: 700; }

.page-listing .listingWrapper {
  max-width: 1024px;
  margin: 0 auto; }
  .page-listing .listingWrapper .noResult {
    width: calc(100% - 40px);
    margin: 12px auto;
    padding: 12px;
    text-align: center;
    font-size: 18px;
    line-height: 40px; }
  .page-listing .listingWrapper .listItem {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: calc(100% - 40px);
    margin: 12px auto;
    padding: 12px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0px 5px 10px rgba(25, 145, 208, 0.2); }
    .page-listing .listingWrapper .listItem:first-child {
      margin-top: 0; }
    .page-listing .listingWrapper .listItem .name {
      width: calc(100% - 226px);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 18px;
      line-height: 34px;
      font-weight: 700; }
    .page-listing .listingWrapper .listItem .inputPanel {
      display: -ms-flexbox;
      display: flex; }
      .page-listing .listingWrapper .listItem .inputPanel .workTime {
        display: -ms-flexbox;
        display: flex;
        margin-right: 8px; }
      .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"]:checked + label {
        background-color: #1991D0;
        border-width: 1px;
        box-shadow: inset 0px 0px 2px #1472A4; }
      .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"]:disabled + label {
        color: #CFDBE2;
        border-width: 0;
        border-radius: 0;
        cursor: default; }
        .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"]:disabled + label:nth-child(2) {
          border-width: 0;
          border-radius: 0; }
        .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"]:disabled + label:nth-child(6) {
          border-radius: 0; }
      .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"]:disabled:checked + label {
        background-color: #e6e6e6;
        color: #ABABAB;
        border-color: #ccc;
        border-width: 1px;
        border-radius: 4px;
        box-shadow: none; }
      .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"] + label {
        padding: 6px;
        color: #CFDBE2;
        font-size: 18px;
        line-height: 1.3em;
        background-color: #FFF;
        border-color: #CFDBE2;
        border-width: 0;
        border-radius: 4px; }
        .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"] + label:before, .page-listing .listingWrapper .listItem .inputPanel input[type="checkbox"] + label:after {
          display: none; }
      .page-listing .listingWrapper .listItem .inputPanel select {
        color: #CFDBE2;
        font-size: 18px;
        line-height: 1.3em;
        transition: all 0.2s ease-out; }
        .page-listing .listingWrapper .listItem .inputPanel select option {
          color: #CFDBE2; }
        .page-listing .listingWrapper .listItem .inputPanel select.active {
          color: #FF8544;
          background-color: #FFF5F0;
          background-image: url("../images/common/arrow-orange.svg");
          border-color: #FFD0B8; }
        .page-listing .listingWrapper .listItem .inputPanel select:disabled {
          color: #ABABAB;
          border-color: transparent !important;
          background-image: none !important;
          cursor: default; }
          .page-listing .listingWrapper .listItem .inputPanel select:disabled.active {
            color: #FF8544 !important; }

.page-listing .saveNotice {
  width: 100%;
  height: 40px;
  position: absolute;
  top: 100px;
  background-color: rgba(25, 145, 208, 0.9);
  color: #fff;
  transition: all 0.2s ease-out; }
  .page-listing .saveNotice.active {
    top: 140px; }
  .page-listing .saveNotice .innerWrapper {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 20px;
    line-height: 40px; }
