@charset "UTF-8";
/*
* Updated: 2022-07
* Author: Linda Lu
* 
--------------------------------
  mixin
  responsive design
--------------------------------
*/
/*=====================================
mixin
===================================== */
/*=====================================
responsive design
===================================== */
/*
* Updated: 2022-12
* Author: Linda Lu
* 
--------------------------------
body
header
footer
Android
--------------------------------
*/
/*=====================================
	body
===================================== */
html,
body {
  height: 100%;
  width: 100%;
  margin: 0; }

body {
  word-wrap: break-word;
  -webkit-text-size-adjust: none; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }


/*=====================================
	header
===================================== */
.header {
  position: relative;
  top: 0;
  z-index: 10;
  width: 100%;
  max-width: 100%;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }
  .header .header-main {
    max-width: calc(100% - 304px);
    width: 100%;
    margin: 0 auto;
    padding-top: 20px; }
    @media all and (max-width: 1024px) {
      .header .header-main {
        max-width: calc(100vw - 32px); } }
    @media all and (max-width: calc(100% - 304px)) {
      .header .header-main {
        padding: 20px 16px; } }
    .header .header-main .icon-cathaysec {
      width: 142px;
      height: 19.97px;
      background: url(../images/common/logo@2x.png);
      background-size: 142px 19.97px;
      background-repeat: no-repeat;
      -webkit-transition: 0.2s ease;
      -moz-transition: 0.2s ease;
      -o-transition: 0.2s ease;
      transition: 0.2s ease; }

/*=====================================
	footer
===================================== */
.footer .footer-main {
  padding: 22px 0; }

.footer.pos-bottom {
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 16px;
  -webkit-box-sizing: box-sizing;
  -moz-box-sizing: box-sizing;
  box-sizing: box-sizing; }

/*=====================================
	Android: footer is pushed up when keyboard is open
===================================== */
html,
body {
  height: 100%; }

.wrapper {
  min-height: 100%;
  position: relative; }
  .wrapper main .content {
    width: 100%;
    -webkit-box-sizing: box-sizing;
    -moz-box-sizing: box-sizing;
    box-sizing: box-sizing; }
    @media screen and (min-width: 1025px) {
      .wrapper main .content {
        width: auto; } }
  .wrapper .footer {
    position: absolute;
    z-index: 99;
    width: 100%;
    left: 0px;
    bottom: 0px;
    text-align: center; }

/*=====================================
	windows fixed
===================================== */
body.fixed {
  position: fixed;
  left: 0;
  right: 0; }

/*
* Updated: 2022-07
* Author: Linda Lu
* 
--------------------------------
	typography, text-align
	html, body
	Spacing
	display, flex, grid
	form, validator
	link, button
	input
	Hide Scrollbars
--------------------------------
*/
/*=====================================
	typography, text-align
===================================== */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
.subtitme1,
.subtitme2,
.subtitme3,
.subtitme4,
.body1,
.body2,
.body3,
.caption1,
.caption2,
span,
p,
.l-btn {
  font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", sans-serif; }

.subtitle1,
.subtitle2,
.subtitle3,
.subtitle4,
.body1,
.body2,
.body3,
.caption1,
.caption2,
.button1,
.button2,
.form-control {
  font-weight: 350; }

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
.body1.highlight,
.body2.highlight,
.highlight {
  font-weight: 500; }

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  margin: 0;
  padding: 0; }

h1,
.h1 {
  font-size: 24px; }

.subtitle1 {
  font-size: 18px;
  display: inline-block; }

h2,
.h2 {
  font-size: 18px; }
  @media all and (max-width: 1024px) {
    h2,
    .h2 {
      font-size: 16px; } }

h3,
.h3 {
  font-size: 18px; }
  @media all and (max-width: 1024px) {
    h3,
    .h3 {
      font-size: 16px; } }

h4,
.h4 {
  font-size: 16px; }
  @media all and (max-width: 1024px) {
    h4,
    .h4 {
      font-size: 14px; } }

.subtitle2,
.body1,
.button1,
.form-control,
.subtitle3,
.body2,
.button2,
.caption1 {
  font-size: 16px;
  display: inline-block; }
  @media all and (max-width: 1024px) {
    .subtitle2,
    .body1,
    .button1,
    .form-control,
    .subtitle3,
    .body2,
    .button2,
    .caption1 {
      font-size: 14px; } }

.subtitle4,
.body3,
.caption2 {
  font-size: 14px;
  display: inline-block;
  line-height: 14px; }
  @media all and (max-width: 1024px) {
    .subtitle4,
    .body3,
    .caption2 {
      font-size: 12px;
      line-height: 12px; } }

body {
  line-height: normal; }

.subtitme1,
.subtitme2,
.subtitme3,
.subtitme4,
.body1,
.body2,
.body3,
.button1,
.button2,
.caption1,
.caption2,
span,
p {
  line-height: 160%; }

.caption1.warning {
  color: #E00B00; }

.text-left {
  text-align: left; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.list-none {
  margin: 0;
  padding: 0;
  list-style-type: none; }

.list-disc {
  margin: 0 0 0 20px;
  padding: 0;
  list-style-type: disc; }

.list-decimal {
  margin: 0 0 0 20px;
  padding: 0;
  list-style-type: decimal; }

/*=====================================
	html, body
===================================== */
html,
body,
div,
span,
p,
ul,
li,
input,
table,
thead,
tr,
th,
td,
fieldset {
  margin: 0;
  padding: 0; }

.l-w100pct {
  max-width: calc(100% - 304px);
  width: 100%;
  margin: 0 auto; }

fieldset {
  border: none; }

/*=====================================
	Spacing
===================================== */
.mt-4 {
  margin-top: 4px; }

.mt-6 {
  margin-top: 6px; }

.mt-8 {
  margin-top: 8px; }

.mt-10 {
  margin-top: 10px; }

.mt-12 {
  margin-top: 12px; }

.mt-16 {
  margin-top: 16px; }

.mt-20 {
  margin-top: 20px; }

.mt-24 {
  margin-top: 24px; }

.mt-28 {
  margin-top: 28px; }

.mt-32 {
  margin-top: 32px; }

.ml-4 {
  width: calc(100% - 4);
  margin-left: 4px; }

.ml-8 {
  width: calc(100% - 8);
  margin-left: 8px; }

.ml-20 {
  width: calc(100% - 20);
  margin-left: 20px; }

.ml-40 {
  width: calc(100% - 40);
  margin-left: 40px; }

.mx-auto {
  margin-left: auto;
  margin-right: auto; }

/*=====================================
	display, flex, grid
===================================== */
.float-left {
  float: left; }

.float-right {
  float: right; }

.float-none {
  float: none; }

.clearfix:after {
  display: block;
  content: ".";
  height: 0;
  clear: both;
  visibility: hidden; }

.block {
  display: block; }

.hidden {
  display: none; }

.inline-block {
  display: inline-block; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.grow {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1; }

.justify-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.grid {
  margin: 0; }
  .grid:after {
    content: "";
    display: table;
    clear: both; }
  .grid [class*='col-'] {
    float: left; }
    .grid .grid [class*='col-']:last-of-type {
      padding-right: 0; }
  .grid .col-2-3 {
    width: 66.66667%; }
  .grid .col-1-3 {
    width: 33.33333%; }
  .grid .col-1-2 {
    width: 50%; }
  .grid .col-1-4 {
    width: 25%; }
  .grid .col-1-8 {
    width: 12.5%; }

/*=====================================
	link, button
===================================== */
a,
.l-text-btn {
  color: #26A889;
  word-wrap: break-word;
  word-break: break-all;
  cursor: pointer; }
  a:hover,
  .l-text-btn:hover {
    color: #26A889;
    cursor: pointer; }

a {
  display: inline;
  text-decoration: none;
  font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", sans-serif; }
  a.l-text-btn:active, a.l-text-btn:focus {
    outline: 0;
    hlbr: expression(this.onFocus=this.blur());
    -moz-outline-style: none; }
  a img {
    max-width: 100%;
    height: auto; }

/*=====================================
	Hide Scrollbars
===================================== */
html {
  overflow: -moz-hidden-unscrollable;
  height: 100%; }


body {
  -ms-overflow-style: none;
  height: 100%;
  overflow: auto; }

/*
* Updated: 2022-12
* Author: Linda Lu
* 
--------------------------------
img
wrapper, section
mbsc
--------------------------------
*/
/*=====================================
    img
===================================== */
img {
  max-width: 100%;
  height: auto; }

[class*='icon-'] {
  cursor: pointer; }

/*=====================================
    wrapper, section
===================================== */
.display-pc {
  display: block; }
  @media all and (max-width: 1024px) {
    .display-pc {
      display: none; } }

.display-table {
  display: none; }
  @media all and (max-width: 1024px) {
    .display-table {
      display: block; } }

.wrapper {
  color: #333333; }
  .wrapper .l-w100pct {
    max-width: calc(100% - 304px);
    width: 100%;
    margin: 0 auto;
    padding: 0; }
    @media all and (max-width: 1024px) {
      .wrapper .l-w100pct {
        max-width: calc(100vw - 32px); } }
    .wrapper .l-w100pct h2 {
      margin: 0 auto;
      height: 45px; }
      @media all and (max-width: 1024px) {
        .wrapper .l-w100pct h2 {
          text-align: center; } }
  .wrapper .card-content {
    background: #FAFAFA;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
    padding: 20px 16px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media all and (max-width: 1024px) {
      .wrapper .card-content {
        padding: 12px; } }
    .wrapper .card-content h3 {
      color: #26A889; }
    .wrapper .card-content .caption2 {
      color: #999999; }
    .wrapper .card-content hr {
      border-top: 1px solid #E5E5E5; }
    .wrapper .card-content a {
      text-decoration: none;
      color: #26A889; }
  .wrapper section.subject .body1 {
    color: #666666; }
