@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;500;900&family=Noto+Serif+TC:wght@200;400;600&family=Roboto:wght@100;300;400&display=swap');


/* reset
---------------------------------------------------------*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fiel.accordion-set,input,textarea,p,blockquote,th,td {margin:0; padding:0;}
table {border-collapse:collapse;border-spacing:0;}
fiel.accordion-set,img,iframe {border:0;}
address,caption,cite,code,dfn,em,th,var {font-style:normal;font-weight:normal;}
caption,th {text-align:left;}
q:before,q:after {content:'';}
abbr,acronym {border:0;}
select:focus,textarea:focus,input[type="text"]:focus,input[type="password"]:focus,button:focus{
  outline: 0;
}

a:active,a:focus,select:focus,button:focus {
  outline-width: 1px;
  outline-color: rgba(0, 0, 0, 0.2);
  outline-style: dotted;
}

*:focus {
  outline: 1px;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

/* color
---------------------------------------------------------*/

:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #e85347;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #6571ff;
  --bs-secondary: #7987a1;
  --bs-success: #34c38f;
  --bs-info: #4cacff;
  --bs-warning: #ff9f43;
  --bs-danger: #d33f33;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 101, 113, 255;
  --bs-secondary-rgb: 121, 135, 161;
  --bs-success-rgb: 52, 195, 143;
  --bs-info-rgb: 76, 172, 255;
  --bs-warning-rgb: 255, 159, 67;
  --bs-danger-rgb: 232, 83, 71;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 52, 58, 64;
  --bs-primary-text: #2e39c2;
  --bs-secondary-text: #7987a1;
  --bs-success-text: #2ca67a;
  --bs-info-text: #2684d5;
  --bs-warning-text: #e38022;
  --bs-danger-text: #b02a37;
  --bs-light-text: #6c757d;
  --bs-dark-text: #495057;
  --bs-primary-bg-subtle: #cfe2ff;
  --bs-secondary-bg-subtle: #f8f9fa;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ec5fe;
  --bs-secondary-border-subtle: #e9ecef;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-width-2: 2px;
  --bs-border-style: solid;
  --bs-border-color: #d0d5d9;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075);
  --bs-emphasis-color: #000;
  --bs-form-control-bg: var(--bs-body-bg);
  --bs-form-control-disabled-bg: var(--bs-secondary-bg);
  --bs-highlight-bg: #fff3cd;
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}


/* common
---------------------------------------------------------*/

*,
:before,
:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  word-wrap: break-word;
  font-size: 1rem;
  color: #666;
  overflow-x: hidden;
  font-family: 'Noto Sans TC','Roboto',-apple-system,sans-serif;
  background: url(../img/bg.png) repeat;
}

html,
body {
  scroll-behavior: auto !important;
  position: relative;
  width: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

a{
  color: #333;
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  text-decoration: none;
}


/* bootstrap font size
---------------------------------------------------------*/

.fs-5-1{
  font-size: 1.1rem;
}

.fs-7{
  font-size: 0.9rem;
}

.fs-8{
  font-size: 0.85rem;
}

.rounded-4{
  border-radius: 0.55rem;
}

.cursor{
  cursor: pointer;
}

.text-zn{
  font-family: 'Noto Serif TC', serif;
}

.text-serif{
  font-family: 'Frank Ruhl Libre', serif;
}

.letter-spacing-1{
  letter-spacing: 0.1rem;
}

.box-shadow-1{
  box-shadow: 1px 2px 6px 0 rgba(0, 0, 0, 0.15);
}

/* bootstrap button
---------------------------------------------------------*/

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6571ff;
  --bs-btn-border-color: #6571ff;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5660d9;
  --bs-btn-hover-border-color: #5660d9;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #5660d9;
  --bs-btn-active-border-color: #5660d9;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #7987a1;
  --bs-btn-border-color: #7987a1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #677389;
  --bs-btn-hover-border-color: #677389;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #34c38f;
  --bs-btn-border-color: #34c38f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2ca67a;
  --bs-btn-hover-border-color: #2ca67a;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2ca67a;
  --bs-btn-active-border-color: #2ca67a;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #00C3F5;
  --bs-btn-border-color: #00C3F5;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #03b2df;
  --bs-btn-hover-border-color: #03b2df;
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #03b2df;
  --bs-btn-active-border-color: #03b2df;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: #FD9C68;
  --bs-btn-border-color: #FD9C68;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #fb8f55;
  --bs-btn-hover-border-color: #fb8f55;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fb8f55;
  --bs-btn-active-border-color: #fb8f55;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #e85347;
  --bs-btn-border-color: #e85347;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #d33f33;
  --bs-btn-hover-border-color: #d33f33;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #d33f33;
  --bs-btn-active-border-color: #d33f33;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #343a40;
  --bs-btn-border-color: #343a40;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #52585d;
  --bs-btn-hover-border-color: #52585d;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #343a40;
  --bs-btn-active-border-color: #343a40;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-light {
  --bs-btn-color: #343a40;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #343a40;
  --bs-btn-hover-bg: #ededed;
  --bs-btn-hover-border-color: #ededed;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e0e0e0;
  --bs-btn-active-border-color: #e0e0e0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}


.btn-outline-primary {
  --bs-btn-color: #4c78dd;
  --bs-btn-border-color: #4c78dd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4c78dd;
  --bs-btn-hover-border-color: #4c78dd;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4c78dd;
  --bs-btn-active-border-color: #4c78dd;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0d6efd;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0d6efd;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c7d9c;
  --bs-btn-border-color: #7987a1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #7987a1;
  --bs-btn-hover-border-color: #7987a1;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #7987a1;
  --bs-btn-active-border-color: #7987a1;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #27b682;
  --bs-btn-border-color: #34c38f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #34c38f;
  --bs-btn-hover-border-color: #34c38f;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #34c38f;
  --bs-btn-active-border-color: #34c38f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color:#00C3F5;
  --bs-btn-border-color: #00C3F5;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #00C3F5;
  --bs-btn-hover-border-color: #00C3F5;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00C3F5;
  --bs-btn-active-border-color: #00C3F5;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #50a5f1;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #FD9C68;
  --bs-btn-border-color: #FD9C68;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #FD9C68;
  --bs-btn-hover-border-color: #FD9C68;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #FD9C68;
  --bs-btn-active-border-color: #FD9C68;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #e85347;
  --bs-btn-border-color: #e85347;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e85347;
  --bs-btn-hover-border-color: #e85347;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e85347;
  --bs-btn-active-border-color: #e85347;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #343a40;
  --bs-btn-border-color: #d6d2d2;
  --bs-btn-hover-color: #6c7176;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #f8f9fa;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #d6d2d2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn:disabled, .btn.disabled{
  color: #888;
  background-color: #dfdfdf;
  border-color: #dfdfdf;
}

.btn,.form-control,.form-select{
  padding: 0.4rem 0.75rem;
}

.btn{
  border-radius: 2rem;
  padding: 0.4rem 1.5rem;
}

/* bootstrap button btn-dim
---------------------------------------------------------*/

.btn-dim:disabled{
  background: #e1e1e1!important;
  border-color: #e1e1e1!important;
  color: #999!important;
}

.btn-dim-primary{
  --bs-btn-color: #6571ff;
  --bs-btn-bg: rgba(101, 113, 255, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6571ff;
  --bs-btn-hover-border-color: #6571ff;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-dim-secondary{
  --bs-btn-color: #7987a1;
  --bs-btn-bg: rgba(121, 135, 161, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #7987a1;
  --bs-btn-hover-border-color: #7987a1;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-dim-success{
  --bs-btn-color: #34c38f;
  --bs-btn-bg: rgba(52, 195, 143, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #34c38f;
  --bs-btn-hover-border-color: #34c38f;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-dim-danger{
  --bs-btn-color: #e85347;
  --bs-btn-bg: rgba(232, 83, 71, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e85347;
  --bs-btn-hover-border-color: #e85347;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-dim-warning{
  --bs-btn-color: #ff9f43;
  --bs-btn-bg: rgba(255, 159, 67, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ff9f43;
  --bs-btn-hover-border-color: #ff9f43;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-dim-info{
  --bs-btn-color: #4cacff;
  --bs-btn-bg: rgba(76, 172, 255, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4cacff;
  --bs-btn-hover-border-color: #4cacff;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-dim-dark{
  --bs-btn-color: #343a40;
  --bs-btn-bg: rgba(52, 58, 64, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #343a40;
  --bs-btn-hover-border-color: #343a40;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-sm{
  padding: 0.2rem 0.55rem;
  --bs-btn-border-radius: 0.25rem;
  font-size: 0.85rem;
  line-height: 1.3;
}

/* bootstrap form
---------------------------------------------------------*/

.form-control.is-invalid,.form-control.input-validation-error {
  border-color: #e85347;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:invalid:focus, .form-control.input-validation-error:focus {
  border-color: #e85347;
  box-shadow: 0 0 0.3rem 0 rgba(220, 53, 69, 0.25);
}

.input-validation-error ~ .invalid-feedback{
  display: block;
  font-weight: 300;
}

.overflow-hidden{
  overflow: hidden;
}

/* bootstrap form check
---------------------------------------------------------*/

.form-check{
  padding-left: 1.7em;
}

.form-check-label{
  padding-top: .125rem;
}

.form-check-input{
  width: 20px;
  height: 20px;
}

.form-check .form-check-input{
  margin-left: -1.7em;
}

.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-form-control-bg);
  border-color: rgba(0, 0, 0, 0.2);
  outline: 0;
  box-shadow: 0 0 0.3rem 0 rgba(0, 0, 0, 0.2);
}

.form-control::placeholder {
  color: rgba(0, 0, 0, 0.8);
  font-size: 0.9rem;
}

.form-check-input:focus {
  border-color: rgba(0, 0, 0, 0.4);
  outline: 0;
  box-shadow:none;
}

.form-check-input:checked {
  background-color: #00C3F5;
  border-color: #00C3F5;
  font-family: 'remixicon' !important;
  position: relative;
}

.form-check-input:checked[type=checkbox]:after{
  content: "\eb7b";
  color: #fff;
  position: absolute;
  left: 0.1rem;
  top: 0.1rem;
  line-height: 1;
}

.form-check-input:checked[type=radio]:after
{
  width: 10px;
  height: 10px;
  border-radius: 10px;
  position: absolute;
  background: #fff;
  display: block;
  left: 50%;
  margin-left: -5px;
  top: 50%;
  margin-top: -5px;
  line-height: 1;
  content: '';
}


.form-check-input:checked[type=checkbox] {
 --bs-form-check-bg-image:none
}

.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image:none;
}

.form-control::placeholder {
  color: rgba(0, 0, 0, 0.35);
}


/* bootstrap accordion-item
---------------------------------------------------------*/

.accordion-item{
  border-radius: 0.7rem;
  border: none;
  margin-bottom: 10px;
  background: transparent;
}

.accordion-button{
  background: #F7F7F7;
  color: #02054C;
  border-radius: 0.5rem;
}

.accordion-button:not(.collapsed){
  background: #EAEBF5;
  color: #000;
  box-shadow: none;
}

.accordion-body{
  padding: 0;
}

.accordion-button:focus {
  border-color: var(--bs-accordion-btn-focus-border-color);
  outline: 0;
  box-shadow: none;
}


/* pagination
---------------------------------------------------------*/

.pagination {
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
}

.pagination a {
  border-radius: 2em;
  width: 42px;
  height: 42px;
  font-size: 1.1rem;
  margin: 0 2px;
  display: flex;
  color: #222;
  align-items: center;
  justify-content: center;
  background-color: var(--bs-gray-200);
  vertical-align: middle;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  -ms-transition: all .3s;
  transition: all .3s;
}

.pagination a.active {
  background-color: #00C3F5;
  color: #fff;
  pointer-events: none;
}

.pagination a:hover:not(.active) {
  background-color: var(--bs-gray-300);
  color: #222;
}

.pagination i {
  font-size: 1.1em;
}

.pagination .no-click {
  border-radius: 6px;
  transition: background-color .3s;
  background: #fff;
  margin-bottom: 5px;
}

@media (max-width: 800px) {

  .pagination .page-numbers,
  .pagination .no-click {
    display: none;
  }

}


/* searchbar
---------------------------------------------------------*/

.searchbar{
  display: flex;
}

.searchbar input[type="text"]{
  border: 0;
  flex: 1 1 auto;
  padding-left: 10px;
  height: 40px;
  border-radius: 0;
  border:var(--bs-border-width) solid var(--bs-border-color);
}

.searchbar input[type="text"]::placeholder {
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.9rem;
}

.searchbar .search-btn{
  border: 0;
  width: 70px;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #222;
  background: var(--bs-gray-200);
  text-align: center;
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -ms-transition:all .3s;
  transition:all .3s;
}

.searchbar .search-btn:hover{
  background: var(--bs-gray-300);
}

/* scroll-top
---------------------------------------------------------*/

.scroll-top {
  position: fixed;
  right: 0;
  bottom: 40px;
  z-index: 21;
  background: #FD9C68;
  width: 40px;
  height: 40px;
  transition: all 0.4s;
  text-align: center;
  line-height: 40px;
}

.scroll-top i {
  color: #fff;
  font-size: 1.8rem;
}

/* header-nav
---------------------------------------------------------*/

.header-nav-wrap ul,
.header-nav-wrap ul li {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.header-nav-wrap > ul{
   box-shadow: inset -1px 0 0 0px rgba(0, 0, 0, 0.1);
   display: flex;
}

.header-nav-wrap > ul > li {
  display: inline-block;
  position: relative;
}

.header-nav-wrap > ul > li > a {
  position: relative;
  z-index: 0;
  padding: 2rem 1rem;
  display: block;
  color: #222;
  box-shadow: inset 1px 0 0 0px rgba(0, 0, 0, 0.1);
}

.header-nav-wrap > ul > li > a.current{
  background-color: #fcf5dd;
}

.header-nav-wrap > ul > li > a:hover{
  color: #fff;
}

.header-nav-wrap > ul > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 0;
  background: rgb(57,180,232);
  background: linear-gradient(0deg, rgba(57,180,232,1) 0%, rgba(77,192,240,1) 100%);
  transition: all 0.5s;
}

.header-nav-wrap > ul > li > a:hover::after {
  height: 100%;
}

.header-nav-wrap > ul > li > a i{
  line-height: 1;
}

.header-nav-wrap > ul > li:first-child {
  border-left: none;
}

.header-nav .sub-menu,.header-nav .mega-menu  {
  background: #fff;
  box-shadow:inset 0 0 0 1px #ddd;
  padding: 10px 15px;
  visibility: hidden;
  pointer-events:none;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: -10px;
  width: 120px;
  transform: translateY(-1em);
  z-index: 2;
  pointer-events:none;
  transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
}

.header-nav .mega-menu-parent{
 position: static;
}

.header-nav .mega-menu {
  max-height: 450px;
  overflow-y: auto;
}

.header-nav .sub-menu-parent:focus .sub-menu,
.header-nav .sub-menu-parent:focus-within .sub-menu,
.header-nav .sub-menu-parent:hover .sub-menu ,
.header-nav .mega-menu-parent:hover .mega-menu
{
  visibility: visible;
  opacity: 1;
  z-index: 2;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0.3s;
  pointer-events:auto;
  background: #fff;
}

.header-nav .sub-menu-parent {
  position: relative;
}

.header-nav .sub-menu > li{
  position: relative;
}

.header-nav .sub-menu a{
  padding: 5px 0;
  display: block;
  color: #5F5D59;
  font-size: 0.9rem;
  line-height: 1.3;
}

.header-nav .sub-menu a:hover{
  color: #F05E24;
}

.header-nav .sub-sub-menu{
  background-color: #fff;
  box-shadow:inset 0 0 0 1px #ddd;
  padding: 10px 0 15px;
  position: absolute;
  top: 0;
  width: 130px;
  right: -144px;
  list-style: none;
  margin-left: 0;
  margin-top: 20px;
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  opacity: 0;
  visibility: hidden;
  z-index: -99;
  margin-left: -20px;
}

.header-nav .sub-menu-parent li:hover .sub-sub-menu,
.header-nav .sub-menu-parent li:focus-within .sub-sub-menu
{
  margin-top: 0;
  opacity: 1;
  visibility: visible;
}

.header-nav .sub-sub-menu li{
  padding: 0 10px;
}

/* menu-accordion
---------------------------------------------------------*/

ul.menu-accordion {
  list-style: none;
  padding: 0;
  -webkit-overflow-scrolling: touch
}

ul.menu-accordion .inner {
  padding-left: 1em;
  overflow: hidden;
  display: none;
}

ul.menu-accordion > li {
}

ul.menu-accordion > li > a{
  width: 100%;
  display: block;
  padding: 0.9em;
  display: flex;
  justify-content: space-between;
  transition: background 0.3s ease;
  box-shadow: inset 0 1px 0 #eaeaea;
}

ul.menu-accordion li > a  i{
  transition:all 0.4s ease;
  font-size: 1.3em;
  line-height: 1;
}

ul.menu-accordion li > a.open{
  color: #B23C34;
}

ul.menu-accordion li > a.open i{
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

ul.menu-accordion li a.toggle:hover {
  background: rgba(0, 0, 0, 0.9);
  color: #B23C34;
}

ul.menu-accordion .inner li{
  list-style: none;
  padding-top: 2px;
}

ul.menu-accordion .inner > li > a{
  padding: 10px;
  display: flex;
  justify-content: space-between;
}

ul.menu-accordion .inner > li a i{
  color: #777;
  font-size: 0.95em;
  margin-right: 5px;
}

ul.menu-accordion .inner.show {
  /*display: block;*/
}

ul.menu-accordion .inner .inner li{
  font-size: 0.95em;
}

ul.menu-accordion .inner .inner li a{
  padding: 5px;
}

ul.menu-accordion .inner .inner li a:hover{
  text-decoration: underline;
}


/* site-header
---------------------------------------------------------*/

.site-header-wrap{
  height: 5.5rem;
}

.fixed-top {
  top: -40px;
  transform: translateY(40px);
  transition: transform .3s;
  z-index: 5;
}

.site-header.fixed-top{
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
}

.site-header .brand-logo{
  height: 52px;
}

@media (max-width: 992px) {

  .site-header .brand-logo{
    height: 40px;
  }

  .site-header-wrap{
    height: 4.18rem;
  }

}


/* top-nav-wrap
---------------------------------------------------------*/

.top-nav-wrap{
  position: absolute;
  width: 100%;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 3px 3px 0 rgb(0,0,0,0.15);
  z-index: 4;
  display: none;
}

.top-nav-wrap .menu-accordion{
  -webkit-overflow-scrolling: touch;
  max-height: 400px;
  overflow-y: auto;
}


/* mobile-navi
---------------------------------------------------------*/

.mobile-search,.top-nav-wrap{
  top: 56px;
}

.mobile-navi{
  display: flex;
}

.mobile-search-icon{
  position: relative;
}

.mobile-search{
  position: absolute;
  padding: 8px 10px;
  right: 0;
  display: none;
  width: 100%;
  box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.mobile-navi .navi-icon{
  cursor: pointer;
  margin: 0 8px;
}

.mobile-navi i{
  color: #222;
  line-height: 1;
}

/* vertical-layout
---------------------------------------------------------*/

.vertical-layout{
  min-height: 100vh;
  display: flex;
  align-items:center;
  justify-content:center;
}

.vertical-layout .panel{
  padding: 30px;
}


/* mobile-navi-wrap
---------------------------------------------------------*/

.mobile-navi-btn{
  display: none;
}

@media (max-width: 992px) {

  .mobile-navi-btn{
    display: block;
    z-index: 23;
  }

  .pc-navi-wrap{
    display: none;
  }

}

.menu-toggle {
  width: 45px;
  height: 45px;
  background: #00C3F5;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  cursor: pointer;
  z-index: 999;
}

.menu-toggle:hover .menu-icon .bar {
  width: 25px;
}

.menu-icon .bar {
  width: 25px;
  height: 2px;
  background: #fff;
  transition: 0.3s ease-in-out;
}

.menu-icon .bar:nth-child(2) {
  width: 20px;
  margin: 5px 0;
}

.menu-icon .bar:last-child {
  width: 15px;
}

.m-menu-wrap {
  position: fixed;
  top: -100vh;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 95;
  border: 8px solid #00C3F5;
  background: url("../images/texture/menuBg.jpg") 0 0;
  pointer-events: none;
  visibility: hidden;
  transition: all 0.5s;
}

.m-menu-wrap.show {
  top: 0;
  pointer-events: auto;
  visibility: visible;
}

.m-menu-wrap .entry-content {
  position: relative;
  z-index: 22;
  height: calc( 100vh - 16px );
  background: url(../img/menuBg.jpg) repeat center top #ededed;
  overflow: hidden;
}

.m-menu-wrap .mobile-menu,
.m-menu-wrap .mobile-bottom,.m-menu-wrap .brand-logo{
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s;
}

.m-menu-wrap.show .mobile-menu,
.m-menu-wrap.show .mobile-bottom,
.m-menu-wrap.show .brand-logo{
  opacity: 1;
  transform: translateY(0);
}

.m-menu-wrap.show .brand-logo {
  transition: all 1s;
  transition-delay: 0.6s;
}

.m-menu-wrap.show .mobile-menu{
  transition: all 1s;
  transition-delay: 1s;
}

.m-menu-wrap.show .mobile-bottom {
  transition: all 1s;
  transition-delay: 1.5s;
}

.mobile-menu .mobile-menu-item{
  color: #333;
  letter-spacing: 0.1rem;
}

.mobile-menu .mobile-menu-item:hover{
  color: #15b0d8;
}

.m-menu-wrap .entry-content .brand-logo img{
  width: 300px;
}

/* mobile-navi-close
---------------------------------------------------------*/

.mobile-navi-close{
  position: fixed;
  right: 1.6rem;
  top: 1.6rem;
  width: 50px;
  height: 50px;
  border-radius: 30px;
  border: 1px solid #00C3F5;
  color: #00C3F5;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 23;
  
}

.mobile-navi-close i{
  transition: transform .5s ease-in-out;
}

.mobile-navi-close:hover i{
  transform: rotate(-60deg);
}


/* site-footer
---------------------------------------------------------*/

.site-footer{
  background: rgb(57,180,232);
  background: linear-gradient(0deg, rgba(57,180,232,1) 0%, rgba(77,192,240,1) 100%);
}

.site-footer .brand-logo img{
  height: 50px;
}

.site-footer .copyright{
  text-align: right;
  opacity: 0.7;
  margin-left: auto;
}

.site-footer .entry-info{
  display: flex;
  align-items: center;
}

@media (max-width: 1400px) {

  .site-footer .copyright{
    text-align: left;
    margin-left: inherit;
    display: flex;
    justify-content: center;
  }

}

@media (max-width: 992px) {

  .site-footer .entry-info{
    display: block;
    text-align: center;
  }

  .site-footer .brand-logo{
    text-align: center;
  }

  .site-footer .copyright{
    text-align: center;
  }

}


/* index-banner
---------------------------------------------------------*/

.index-banner{
  height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
  /*animation: move 4s ease-in-out alternate;*/
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}

.index-banner .entry-title{
  color: #fff;
  font-size: 1.8rem;
  font-family: 'Noto Sans TC', sans-serif;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0 0.2em rgba(0, 0, 0, 0.36);
}

.index-banner .entry-text{
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.1rem;
  text-shadow: 0 0 0.2em rgba(0, 0, 0, 0.35);
}

@keyframes move {
  0% {
    opacity: 0;
    background-size: 130%;
  }

  100% {
    background-size: 150%;
    opacity: 1;
  }
}

@media (max-width: 992px) {

  .index-banner .entry-title{
    font-size: 1.4rem;
  }

  .index-banner .entry-text{
    font-size: 0.95rem;
  }

  .index-banner{
    height: 400px;
  }

}

/* animation
---------------------------------------------------------*/

.shape-one {
  position: absolute;
  left: 3%;
  animation: animationFramesOne 12s infinite linear;
}

.shape-two {
  position: absolute;
  right: 3%;
  bottom: 8%;
  animation: animationFramesTwo 12s infinite linear;
}

.shape-three {
  position: absolute;
  right: 15%;
  top: 18%;
  animation: animationFramesTwo 8s infinite linear;
}

.shape img{
  width: 80px;
}

.shape-three img{
  width: 60px;
}

@keyframes animationFramesTwo{
  0% {
    transform:  translate(0px,0px)  rotate(0deg) ;
  }
  20% {
    transform:  translate(-73px,1px)  rotate(36deg) ;
  }
  40% {
    transform:  translate(-141px,-72px)  rotate(72deg) ;
  }
  60% {
    transform:  translate(-83px,-122px)  rotate(108deg) ;
  }
  80% {
    transform:  translate(40px,-72px)  rotate(144deg) ;
  }
  100% {
    transform:  translate(0px,0px)  rotate(0deg) ;
  }
}

@keyframes animationFramesOne{
  0% {
    transform:  translate(0px,0px)  rotate(0deg) ;
  }
  20% {
    transform:  translate(73px,-1px)  rotate(36deg) ;
  }
  40% {
    transform:  translate(141px,72px)  rotate(72deg) ;
  }
  60% {
    transform:  translate(83px,122px)  rotate(108deg) ;
  }
  80% {
    transform:  translate(-40px,72px)  rotate(144deg) ;
  }
  100% {
    transform:  translate(0px,0px)  rotate(0deg) ;
  }
}

@keyframes animationFramesTwo{
  0% {
    transform:  translate(0px,0px)  rotate(0deg) ;
  }
  20% {
    transform:  translate(-73px,1px)  rotate(36deg) ;
  }
  40% {
    transform:  translate(-141px,-72px)  rotate(72deg) ;
  }
  60% {
    transform:  translate(-83px,-122px)  rotate(108deg) ;
  }
  80% {
    transform:  translate(40px,-72px)  rotate(144deg) ;
  }
  100% {
    transform:  translate(0px,0px)  rotate(0deg) ;
  }
}


/* index-section-a
---------------------------------------------------------*/

.index-section-a{
  background-image:url(../img/section-cover-1-2.jpg),url(../img/section-cover-1.jpg) ;
  background-repeat: no-repeat,no-repeat;
  background-color: #EDEDED;
  background-position:right center,30px center;
  display: flex;
  height: 360px;
  background-size: contain;
  justify-content: flex-end;
  align-items: center;
  padding-right: 200px;
}


.index-section-a .section-content{
  width: calc( 100% - 45% );
}

@media (max-width: 1320px) {

  .index-section-a{
    background-position:right center,left center;
    padding-right: 80px;
  }

 .index-section-a .section-content{
    width: calc( 100% - 50% );
  } 

}

@media (max-width: 992px) {

  .index-section-a{
    background-position:right center,-170px center;
    padding-right: 80px;
  }


  .index-section-a .section-content{
    width: calc( 100% - 35% );
  }

}

@media (max-width: 768px) {

  .index-section-a{
    padding-right: 0;
    display: block;
    background-image:url(../img/section-cover-1.jpg) ;
    background-size: 450px auto;
    background-position: top center;
    padding-top: 300px;
    padding-bottom: 70px;
    height: auto;
  }

  .index-section-a .entry-title{
    line-height: 1.6;
  }

  .index-section-a .entry-title,.index-section-a .entry-text{
    text-align: center;
  }

  .index-section-a .section-content{
    width: 80%;
    margin: 0 auto;
  }

  .index-section-a .btns{
    text-align: center;
  }

}


/* index-section-b
---------------------------------------------------------*/

.index-section-b .section-cover{
  width: 33%;
}

.index-section-b .section-cover img{
  width: 100%;
}

.index-section-b .section-content{
  width: calc( 100% - 35% );
}

.index-section-b .container{
  padding-top: 4rem;
  padding-bottom: 4rem;
  display: flex;
  justify-content: space-between;
}

.index-section-b .entry-text{
  line-height: 1.8;
}

@media (max-width: 992px) {

  .index-section-b .section-cover{
    padding-top: 50px;
  }

}

@media (max-width: 768px) {

  .index-section-b .container{
    display: block;
  }

  .index-section-b .section-cover{
    width: 80%;
    margin: 0 auto;
  }

  .index-section-b .section-content{
    width: 100%;
    margin: 0 auto;
  }

}


/* page-head
---------------------------------------------------------*/

.page-head{
  background: url(../img/page-header.jpg) no-repeat center center;
  background-size: cover;
}

.page-head .entry-title{
  font-size: 2rem;
  letter-spacing: 0.2rem;
  color: #fff;
  text-shadow: 0 0 0.15em rgba(0, 0, 0, 0.36);
}

.page-head .container{
  position: relative;
  display: flex;
  align-items: center;
  height: 215px;
}

@media (max-width: 768px) {

  .page-head{
    background: url(../img/page-header.jpg) no-repeat -420px center;
    background-size: cover;
  }

  .page-head .container{
    height: 180px;
  }

  .page-head .entry-title{
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
    color: #fff;
    font-weight: bold;
    text-shadow: 0 0 0.15em rgba(0, 0, 0, 0.36);
    margin-left: 10px;
  }

}


/* breadcrumb
---------------------------------------------------------*/

.breadcrumb-item + .breadcrumb-item::before{
  font-family: remixicon!important;
  content: "\EA6E";
  display: flex;
  align-items: center;
  font-size: 1.1rem;
  line-height: 1.3;
}


/* page-main
---------------------------------------------------------*/

.page-main{
  min-height: 400px;
}


/* page-section-a
---------------------------------------------------------*/

.page-section-a{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-section-a .section-cover{
  width: 55%;
}

.page-section-a .section-cover img{
  width: 100%;
}

.page-section-a .section-content{
  width: 42%;
}



@media (max-width: 992px) {

  .page-section-a{
    display: block;
  }

  .page-section-a .section-cover{
    width: 95%;
    margin: 0 auto;
  }

  .page-section-a .section-content{
    width: 100%;
    margin-bottom: 20px;
  }

  .page-section-a .btns{
    text-align: center;
  }


}


/* page-section-c
---------------------------------------------------------*/

.page-section-c .section-content{
  display: flex;
  justify-content: space-between;
  align-items: center;
}


/* section-title-a
---------------------------------------------------------*/

.section-title-a{
  padding-bottom: 20px;
  position: relative;
  letter-spacing: 0.1rem;
}

.section-title-a:after{
  position: absolute;
  bottom: 0;
  content: '';
  width: 70px;
  height: 5px;
  left: 50%;
  margin-left: -35px;
  background-color: #00C3F5;
}


/* class-title
---------------------------------------------------------*/

.class-title{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -ms-transition:all .3s;
  transition:all .3s;
}

.class-title .entry-title{
  padding-right: 10px;
  font-size: 1.05rem;
  max-width: 80%;
  overflow: hidden;
  height: 26px;
}

.class-title .chapter{
  padding-left: 10px;
}

.class-title .entry-title,.class-title .chapter{
  position: relative;
  z-index: 3;
}

.class-title:hover{
  background: #FFF5D3;
}

.class-title .sp{
  position: relative;
}

.class-title .sp:before{
  width: 100%;
  border-top:1px dashed rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 49%;
  content: '';
  z-index: 2;
}


/* card-a
---------------------------------------------------------*/

.card-a{
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-right: 3rem;
  padding-left: 3rem;
}

.card-a.min-height-1{
  min-height: 400px;
}

@media (max-width: 768px) {

  .card-a{
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }

}


/* page
---------------------------------------------------------*/

.page{
  display: flex;
  justify-content: space-between;
}

.page .page-sidebar{
  width: 205px;
}

.page .page-content{
  width: calc(100% - 220px);
}

.select-chapter{
  display: none;
}

@media (max-width: 992px) {

  .page-sidebar{
    display: none;
  }

  .page .page-content{
    width: 100%;
  }

  .select-chapter{
    display: block;
  }


}


/* list-a
---------------------------------------------------------*/

.list-a a{
  margin-bottom: 5px;
  display: block;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  padding-left: 0.5rem;
}

.list-a a:hover{
  background: rgba(0, 0, 0, 0.05);
}

.list-a a.active{
  background-color: #46C2EF;
  color: #fff;
  font-weight: bold;
}


/* free-text
---------------------------------------------------------*/

.free-text{
  line-height: 1.8;
  color: var(--bs-gray-800);
}

.free-text a{
  text-decoration: underline;
}

.free-text ul,.free-text ol{
  margin-left: 30px;
}

.free-text img{
  max-width: 100%;
}


/* icon-square
---------------------------------------------------------*/

.icon-square{
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* icon-square
---------------------------------------------------------*/

.swal2-title{
  font-weight: 400!important;
}

/* page-section-apply
---------------------------------------------------------*/

@media (max-width: 768px) {

  .page-section-apply .section-cover{
    height: 200px;
    overflow: hidden;
  }

  .page-section-apply .section-cover img{
    object-fit: cover;
    width: 100%;
  }

}


/* thumb-cover
---------------------------------------------------------*/

.thumb-cover {
  position: relative;
}

.thumb-cover .entry-icon{
  position: absolute;
  top: -5px;
  right: -5px;
  width: 20px;
  height: 20px;
  background: #555;
  border-radius: 15px;
  color: #fff;
  line-height: 20px;
  text-align: center;
  cursor: pointer;
}

