@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,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;}
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: #7367f0;
  --bs-secondary: #64748B;
  --bs-success: #00AC97;
  --bs-info: #418AF0;
  --bs-warning: #ff9f43;
  --bs-danger: #ED1E25;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 115, 103, 240;
  --bs-secondary-rgb: 100, 116, 139;
  --bs-success-rgb: 0, 172, 151;
  --bs-info-rgb: 65, 138, 240;
  --bs-warning-rgb: 255, 159, 67;
  --bs-danger-rgb: 237, 30, 37;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 52, 58, 64;
  --bs-primary-text: #7367f0;
  --bs-secondary-text: #64748B;
  --bs-success-text: #018a7a;
  --bs-info-text: #2e78e0;
  --bs-warning-text: #ec8a2c;
  --bs-danger-text: #d64142;
  --bs-light-text: #6c757d;
  --bs-dark-text: #495057;
  --bs-primary-bg-subtle: #cfe2ff;
  --bs-secondary-bg-subtle: #f8f9fa;
  --bs-success-bg-subtle: #e5f6f3;
  --bs-info-bg-subtle: #ebf2fd;
  --bs-warning-bg-subtle: #fff4eb;
  --bs-danger-bg-subtle: #fdeded;
  --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-style: solid;
  --bs-border-color: #dee2e6;
  --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: #333;
  font-family: 'Josefin Sans','Noto Sans TC','Microsoft JhengHei',-apple-system ,'Playfair Display',sans-serif;
}

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{
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  text-decoration: none;
  color: var(--bs-dark);
}

a:hover{
  color: var(--bs-danger);
}

/* bootstrap font size
---------------------------------------------------------*/

.fs-lg{
  font-size: 3.125rem;
}

.fs-5-1{
  font-size: 1.2rem;
}

.fs-7{
  font-size: 0.9rem;
}

.fs-8{
  font-size: 0.85rem;
}

.text-eng{
  font-family: "Libre Baskerville", serif;
}

.rounded-4{
  border-radius: 0.55rem;
}

.cursor{
  cursor: pointer;
}

.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.ls-1{
  letter-spacing: 0.1rem;
}

.bg-transparent{
  background: transparent;
}

.bg-light-1{
  background: #EFECE7;
}

.table.bg-transparent > :not(caption) > * > *{
  background: transparent;
}

.box-shadow-a{
  box-shadow: 2px 3px 3px 0 rgb(0,0,0,0.15);
}

.hover-decoration-underline{
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -ms-transition:all .3s;
  transition:all .3s;
}

.hover-decoration-underline:hover{
  text-decoration: underline;
}

.container-fluid{
  padding-left: 2rem;
  padding-right: 2rem;
}

@media (max-width: 550px) {

  .container,.container-fluid{
    padding-left: 20px;
    padding-right: 20px;
  }

}


/* bootstrap button
---------------------------------------------------------*/

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #7367f0;
  --bs-btn-border-color: #7367f0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6b60df;
  --bs-btn-hover-border-color: #6d55f9;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6b60df;
  --bs-btn-active-border-color: #6d55f9;
  --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: #64748B;
  --bs-btn-border-color: #64748B;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5a6c86;
  --bs-btn-hover-border-color: #5a6c86;
  --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: #00AC97;
  --bs-btn-border-color: #00AC97;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #009f8c;
  --bs-btn-hover-border-color: #009f8c;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #009f8c;
  --bs-btn-active-border-color: #009f8c;
  --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: #418AF0;
  --bs-btn-border-color: #418AF0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #307de9;
  --bs-btn-hover-border-color: #307de9;
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #307de9;
  --bs-btn-active-border-color: #307de9;
  --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: #ff9f43;
  --bs-btn-border-color: #ff9f43;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e38022;
  --bs-btn-hover-border-color: #e38022;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e38022;
  --bs-btn-active-border-color: #e38022;
  --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: #ED1E25;
  --bs-btn-border-color: #ED1E25;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e11019;
  --bs-btn-hover-border-color: #e11019;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e11019;
  --bs-btn-active-border-color: #e11019;
  --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: #e8e8e8;
  --bs-btn-border-color: #e8e8e8;
  --bs-btn-hover-color: #343a40;
  --bs-btn-hover-bg: #d9dadc;
  --bs-btn-hover-border-color: #d9dadc;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #d9dadc;
  --bs-btn-active-border-color: #d9dadc;
  --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: #7367f0;
  --bs-btn-border-color: #7367f0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #7367f0;
  --bs-btn-hover-border-color: #816BFF;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #7367f0;
  --bs-btn-active-border-color: #7367f0;
  --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: #64748B;
  --bs-btn-border-color: #64748B;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #64748B;
  --bs-btn-hover-border-color: #64748B;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #64748B;
  --bs-btn-active-border-color: #64748B;
  --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: #00AC97;
  --bs-btn-border-color: #00AC97;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #00AC97;
  --bs-btn-hover-border-color: #00AC97;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00AC97;
  --bs-btn-active-border-color: #00AC97;
  --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:#418AF0;
  --bs-btn-border-color: #418AF0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #418AF0;
  --bs-btn-hover-border-color: #418AF0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #418AF0;
  --bs-btn-active-border-color: #418AF0;
  --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: #f9902b;
  --bs-btn-border-color: #ff9f43;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ff9f43;
  --bs-btn-hover-border-color: #ff9f43;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ff9f43;
  --bs-btn-active-border-color: #ff9f43;
  --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: #ED1E25;
  --bs-btn-border-color: #ED1E25;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ED1E25;
  --bs-btn-hover-border-color: #ED1E25;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ED1E25;
  --bs-btn-active-border-color: #ED1E25;
  --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: #fff;
  --bs-btn-border-color: #fff;
  --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{
  border-radius: 0.625rem;
  padding: 0.45rem 1rem;
  font-size: 1rem;
}

.btn.min-w{
  width: 300px!important;
}

.btn-sm,.form-control-sm,.form-select-sm{
  padding: 0.25rem 0.5rem;
}

.btn-lg,.form-control-lg,.form-select-lg{
  padding: 0.8rem 1.2rem;
  font-size: 1.625rem;
}

.btn-xs{
  padding: 0.175rem 0.6rem;
  font-size: 0.69rem;
  border-radius: 0.3rem;
}

.form-select,.form-select-sm{
  padding-right: 2.25rem;
}

.form-select:focus {
  border-color: rgba(0, 0, 0, 0.2);
  outline: 0;
  box-shadow: 0 0 .15rem 0 rgba(0, 0, 0, 0.1);
}

.form-control.no-border,.form-select.no-border{
  background-color: #F2F2F2;
  border: none;
}

.form-control.no-border:focus{
  border-color: rgba(0, 0, 0, 0.2);
  outline: 0;
  box-shadow: 0 0 .15rem 0 rgba(0, 0, 0, 0.1);
  background-color: rgba(0, 0, 0, 0.08);
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -ms-transition:all .3s;
  transition:all .3s;
  box-shadow: none;
}


/* bootstrap button btn-dim
---------------------------------------------------------*/

.btn-dim:disabled{
  background: #e1e1e1!important;
  border-color: #e1e1e1!important;
  color: #999!important;
}

.btn-dim-primary{
  --bs-btn-color: #7367f0;
  --bs-btn-bg: #e9e7fd ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #7367f0;
  --bs-btn-hover-border-color: #7367f0;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #816BFF;
}

.btn-dim-secondary{
  --bs-btn-color: #64748B;
  --bs-btn-bg: #eff1f3 ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #64748B;
  --bs-btn-hover-border-color: #64748B;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6571ff;
}

.btn-dim-success{
  --bs-btn-color: #00AC97;
  --bs-btn-bg: #e2f4f1;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #00AC97;
  --bs-btn-hover-border-color: #00AC97;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00AC97;
}

.btn-dim-danger{
  --bs-btn-color: #ED1E25;
  --bs-btn-bg: #fce4e4 ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ED1E25;
  --bs-btn-hover-border-color: #EA5455;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ED1E25;
}

.btn-dim-warning{
  --bs-btn-color: #ff9f43;
  --bs-btn-bg: #fff0e1 ;
  --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: #418AF0;
  --bs-btn-bg: rgba(65, 138, 240, 0.1) ;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #418AF0;
  --bs-btn-hover-border-color: #418AF0;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #418AF0;
}

.btn-dim-dark{
  --bs-btn-color: #343a40;
  --bs-btn-bg: #e2e2e2 ;
  --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;
}


/* 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;
}


/* bootstrap form check
---------------------------------------------------------*/

.form-check{
  padding-left: 1.7em;
}

.form-check-label{
  padding-top: .125rem;
}

.form-check-input{
  width: 21px;
  height: 21px;
}

.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.3);
  font-size: 1rem;
}

.form-check-input:focus {
  border-color: rgba(0, 0, 0, 0.4);
  outline: 0;
  box-shadow:none;
}

.form-check-input:checked {
  background-color: #00AC97;
  border-color: #00AC97;
  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{
  content: "\eb7c";
  color: #fff;
  font-size: 0.8rem;
  position: absolute;
  left: 0.2rem;
  top: 0.25rem;
  line-height: 1;
}

.form-check-input:checked[type=checkbox] {
 --bs-form-check-bg-image:none
}

.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image:none;
}


/* 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;
}


/* breadcrumb
---------------------------------------------------------*/

.breadcrumb a,.breadcrumb{
  color: var(--bs-gray-600);
}

.breadcrumb a:hover{
  color: var(--bs-gray-800);
}

/* pagination
---------------------------------------------------------*/

.pagination {
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
}

.pagination a {
  border-radius: 0.625rem;
  width: 42px;
  height: 42px;
  font-size: 1.1rem;
  margin: 0 2px;
  display: flex;
  color: var(--bs-gray-700);
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  -ms-transition: all .3s;
  transition: all .3s;
}

.pagination a.active {
  background-color: var(--bs-success-text);
  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: 995;
  background: var(--bs-gray-500);
  width: 40px;
  height: 40px;
  transition: all 0.4s;
  text-align: center;
  line-height: 40px;
}

.scroll-top i {
  color: #fff;
  font-size: 1.8rem;
}


/* 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{
  min-height: 2rem;
  background: #bed3e7;
}

.fixed-top {
  top: -40px;
  transform: translateY(40px);
  transition: transform .3s;
  z-index: 3;
}

.site-header.fixed-top{
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
}


/* 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-1
---------------------------------------------------------*/

.vertical-layout-1{
  display: flex;
  background-image: url(../img/sideBg-1.svg);
  background-repeat: no-repeat;
  background-position: -20px top;
  min-height: 100vh;
  background-size: contain;
  position: relative;
}

.vertical-layout-1 .side{
  width: 700px;
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vertical-layout-1 .side .entry-cover{
  width: 90%;
  margin: 0 auto;
}

.vertical-layout-1 .main{
  width: calc(100% - 700px);
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vertical-layout-1 .side .title-1,.vertical-layout-1 .side .title-2{
  text-shadow: 4px 4px 2px rgba(0, 0, 0, 0.2);
  font-weight: bold;
}

.top-links{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-right: 1rem;
  margin-top: 1rem;
  display: flex;
  justify-content: end;
}

.vertical-layout-1 .dropDown-wrap{
  position: absolute;
  right: 2rem;
  top: 1rem;
}

.vertical-layout-1 .signinForm{
  width: 50%;
}

@media (max-width: 1400px) {

  .vertical-layout-1 .signinForm{
    width: 60%;
  }

}

@media (max-width: 1200px) {

  .vertical-layout-1{
    display: flex;
    background-image: url(../img/sideBg-2.svg);
  }

  .vertical-layout-1 .signinForm{
    width: 70%;
  }

  .vertical-layout-1 .side{
    width: 450px;
  }

  .vertical-layout-1 .main{
    width: calc(100% - 450px);
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .vertical-layout-1 .dropDown-wrap{
    right: -2rem;
    top: 1rem;
  }

}


@media (max-width: 1024px) {

  .vertical-layout-1{
    background-image: none;
  }

  .vertical-layout-1 .side{
    display: none;
  }

  .vertical-layout-1 .main{
    width: 100%;
  }

  .vertical-layout-1 .signinForm{
    width: 50%;
  }

}

@media (max-width: 550px) {

  .vertical-layout-1 .signinForm{
    width: 90%;
  }

}

@media (max-height: 800px) {

  .vertical-layout-1 .dropDown-wrap{
    right: 4rem;
  }

}

@media (max-height: 700px) {

  .vertical-layout-1 .dropDown-wrap{
    right: 5rem;
  }

}


/* dropDown
---------------------------------------------------------*/

.dropDown{
  position: relative;
}

.dropDown .dropDown-box{
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
  position: absolute;
  left: 0;
  top: 100%;
  width: 110%;
}

.dropDown:hover .dropDown-box{
  visibility: visible;
  opacity: 1;
  z-index: 2;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0.3s;
  pointer-events:auto;

}

.select-drop{
  box-shadow: 1px 0 1px 0 rgba(0, 0, 0, 0.1);
}

/* vertical-layout-2
---------------------------------------------------------*/

.vertical-layout-2{
  display: flex;
  background-image: url(../img/sideBg-3.svg);
  background-repeat: no-repeat;
  background-position: 0 top;
  min-height: 100vh;
  background-size: contain;
}

.vertical-layout-2 .side{
  width: 400px;
  min-height: 100vh;
  position: relative;
}

.vertical-layout-2 .main{
  width: calc(100% - 400px);
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vertical-layout-2 .entry-icon{
  position: absolute;
  bottom: 3rem;
  left: 55%;
  transform:translate(-50%, 0)!important ;
}

@media (max-width: 1200px) {

  .vertical-layout-2{
   background-position: -60px top;
  }

  .vertical-layout-2 .side{
    width: 25%;
  }

  .vertical-layout-2 .main{
    width: calc(100% - 25%);
  }

}

@media (max-width: 1200px) {

  .vertical-layout-2{
    background-image: none;
  }

  .vertical-layout-2 .side{
    display: none;
  }

  .vertical-layout-2 .main{
    width: 100%;
  }

}



/* page-header
---------------------------------------------------------*/

.page-header{
  padding-right: 1rem;
  padding-left: 1rem;
  background-color: var(--bs-danger);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-header .header-logo{
  height: 68px;
}

.bg-texture{
  background-image: url(../img/bg-texture.jpg);
  background-repeat: repeat;
  background-attachment: fixed;
}

@media (max-width: 550px) {

  .page-header{
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

}

/* main-nav
---------------------------------------------------------*/

.main-nav{
  display: flex;
  margin-right: 10px;
}

.main-nav .nav-item a{
  padding-left: 1rem;
  padding-right: 1rem;
  color: var(--bs-white);
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
}

.main-nav .nav-item a:hover,.main-nav .nav-item a.current{
  background-color: rgba(0, 0, 0, 0.12);
}

.header-nav{
  display: flex;
  align-items: center;
}


/* pill-link
---------------------------------------------------------*/

.pill-link-area{
  display: flex;
  align-items: center;
}

.pill-link{
  border-radius: 30px;
  background-color: rgba(0, 0, 0, 0.16);
  margin-left: 0.8rem;
  line-height: 1;
}

.pill-link .circle{
  height: 42px;
  border-radius: 40px;
  width: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pill-link .circle.big{
  height: 50px;
  border-radius: 70px;
  width: 50px;
}

.toggleNavi{
  display: none;
}

@media (max-width: 1100px) {

  .header-nav{
    display: none;
  }

  .toggleNavi{
    display: flex;
  }

}

/* m-menu-wrap
---------------------------------------------------------*/

.m-menu-wrap {
  position: fixed;
  transform: translateX(100%);
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
  background: #EFECE7;
  pointer-events: none;
  transition: all 0.6s;
  z-index: 22;
  display: flex;
  align-items: center;
  justify-content: center;
}

.m-menu-wrap .m-closeBtn{
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  position: fixed;
  right: 1rem;
  top: 1rem;
  background: #fff;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--bs-dark);
  cursor: pointer;
  box-shadow: 1px 1px 0 1px rgba(0, 0, 0, 0.1);
}

.m-menu-wrap .m-closeBtn:hover{
  color: var(--bs-dark);
}

.m-menu-wrap.show {
  top: 0;
  pointer-events: auto;
  transform: translateX(0);
  opacity: 1;
  z-index: 12;
  overflow-y: auto;
}


/* section-title
---------------------------------------------------------*/

.section-title{
  position: relative;
  padding-right: 80px;
  display: inline-block;
  color: var(--bs-dark);
  font-size: 2.65rem;
}

.section-title:after{
  content: '';
  position: absolute;
  width: 135px;
  height: 1px;
  background-color: #000;
  top: 25px;
  right: -80px;
}

@media (max-width: 768px) {

  .section-title{
    font-size: 2.4rem;
  }

  .section-title:after{
    width: 90px;
    right: -30px;
    top: 15px;
  }

}

/* post-item
---------------------------------------------------------*/

.tag-circle{
  width: 25px;
  height: 25px;
  background: linear-gradient(180deg, rgba(237,30,37,1) 0%, rgba(210,14,21,1) 93%);
  box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  border-radius: 25px;
  position: absolute;
  z-index: 3;
}

.icon-tool{
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 3;
}

.icon-tool:hover{
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
}

.post-item{
  border-radius: 10px;
  background-color: #EFECE7;
  padding: 15px;
  display: flex;
  position: relative;
  margin-bottom: 15px;
}

.post-item .icon-tool{
  right: 10px;
  bottom: 10px;
}

.post-item .tag-circle{
  left: 10px;
  top: 10px;
}

.post-item .entry-cover{
  width: 250px;
  height: 250px;
  text-align: center;
  margin: 0 auto;
}

.post-item .entry-cover img{
  max-height: 100%;
  max-width: 100%;
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -ms-transition:all .3s;
  transition:all .3s;
}

.post-item .entry-cover img:hover{
  opacity: 0.9;
  margin-top: -5px;
}

.post-item + .entry-title{
  font-size: 1rem;
}

@media (max-width: 768px) {

  .post-item .entry-cover{
    width: 250px;
    height: 180px;
  }

  .post-item{
    margin-bottom: 10px;
  }

  .post-item .tag-circle{
    width: 20px;
    height: 20px;
  }

  .post-item .icon-tool{
    width: 30px;
    height: 30px;
  }


}


/* free-edit
---------------------------------------------------------*/

.free-edit{
  
}

.free-edit ul,.free-edit ol{
  margin-left: 20px;
}

.free-edit img{
  max-width: 100%;
}

.free-edit a{
  text-decoration: underline;
  color: var(--bs-danger);
}

/* list-1
---------------------------------------------------------*/

.list-1 li{
  list-style: none;
  padding: 0 0 0 30px;
  display: block;
  margin-bottom: 1.5rem;
  position: relative;
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -ms-transition:all .3s;
  transition:all .3s;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}


.list-1 li:before{
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  background: #FFC434;
  border-radius: 20px;
  left: 0;
  top: 3px;
}

.list-1 li a{
  display: block;
}

/* pc-ctg
---------------------------------------------------------*/

.mobile-ctg{
  display: none;
}

@media (max-width: 700px) {

  .pc-ctg{
    display: none;
  }

  .mobile-ctg{
    display: block;
  }

}