@charset "utf-8";

/*------------------------------------------------------------------------------------------- #reset */
/*----- #reset */
*,
*::before,
*::after{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box
}

html, body, div, ul, ol, li, 
form, input, button,textarea, blockquote,p{
  margin:0;
  padding:0;
}

ol, ul, li{list-style:none;}

h6, h5, h4, h3, h2, h1{
  margin-top:0;
  margin-bottom:0.5rem;
  font-weight:500;
  line-height:1.2;
}

p{
  margin-top:0;
  margin-bottom:0.5rem;
}

a{
    text-decoration:none;
}
a:hover{
  outline:none;
}


button{
  border-radius:0;
}

button:focus:not(:focus-visible){
  outline:0;
}

input, button, select, optgroup, textarea{
	margin:0;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;
	
	outline:none;
}

button, select{
  text-transform:none;
}

[role=button]{
  cursor:pointer;
}

select{
  word-wrap:normal;
}
select:disabled{
  opacity:1;
}

[list]::-webkit-calendar-picker-indicator{
  display:none;
}

button,
[type=button],
[type=reset],
[type=submit]{
  -webkit-appearance:button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled){
  cursor:pointer;
}

::-moz-focus-inner{
  padding:0;
  border-style:none;
}

textarea{
  resize:vertical;
}

fieldset{
  min-width:0;
  padding:0;
  margin:0;
  border:0;
}

legend{
  float:left;
  width:100%;
  padding:0;
  margin-bottom:0.5rem;
  font-size:calc(1.275rem + 0.3vw);
  line-height:inherit;
}
@media (min-width:1200px){
  legend{
    font-size:1.5rem;
  }
}
legend + *{
  clear:left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field{
  padding:0;
}

::-webkit-inner-spin-button{
  height:auto;
}

[type=search]{
  outline-offset:-2px;
  -webkit-appearance:textfield;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"]{
  direction:ltr;
}
*/
::-webkit-search-decoration{
  -webkit-appearance:none;
}

::-webkit-color-swatch-wrapper{
  padding:0;
}

::file-selector-button{
  font:inherit;
}

::-webkit-file-upload-button{
  font:inherit;
  -webkit-appearance:button;
}

iframe{
  border:0;
}



/* HTML5 display-role reset for older browsers */
article, aside, details,
figcaption, figure,
footer,
header,
hgroup,
menu, nav,
section,
main{ 
	display:block;
}










/*------------------------------------------------------------------------------------------- #base */
/*----- #base */


/* 修正粗體 (碧筵綰在粗體時會隔很遠) */
@font-face{
    font-family:'微軟正黑體修正';
    unicode-range:U+7db0, U+78A7, U+7B75; /* ASCII (碧筵綰) */
    font-style:normal;
    font-weight:bold;
    src:local(Yu Gothic), local(MS Gothic);
}
/* 一般粗細的時候改回微軟正黑 */
@font-face{
    font-family:'微軟正黑體修正';
    unicode-range:U+7db0, U+78A7, U+7B75; /* ASCII (碧筵綰) */
    font-style:normal;
    font-weight:normal;
    src:local(微軟正黑體);
}



body{
	background:#fff;
	font-family:"Microsoft JhengHei","微軟正黑體修正","微軟正黑體",sans-serif;
	
	/*font-family: Noto Sans TC,黑體-繁,Apple LiGothic Medium,PingFang,微軟正黑體,Microsoft JhengHei,WenQuanYi Zen Hei,helvetica,Arial,sans-serif;*/
	
	font-size:16px;
	line-height:1.5;
	/*letter-spacing:1px;*/
	color:#333;
}

.wrapper{
	/* position:relative;*/
	overflow: hidden; 
}





/* 後台編輯器 */
.editor{
	/*word-break:break-all;
	word-wrap:break-word;*/ /*only英文，以單詞作為換行依據*/
	
	overflow-wrap: break-word;
}
.editor a{
    text-decoration:underline;
}
.editor img{
	max-width:100%;
	height:auto;
}
.editor iframe{
	max-width:100%;
}
.editor ul , .editor ol{
	display:block;
	/*list-style-position:inside;*/ 
	margin:1em 0;
	padding-left:1rem;
}
.editor ul { list-style-type:disc; }
.editor ol { list-style-type:decimal; }

.editor ul ul, .editor ol ul,
.editor ol ol, .editor ul ol{
	list-style-position:inside; 
	margin-left:15px; 
}
.editor ul ul, .editor ol ul{
	list-style-type:circle;
}
.editor ol ol, .editor ul ol{
	list-style-type:lower-latin;
}

.editor li { display:list-item; list-style:inherit; }





/*------------------------------------------------------------------------------------------- */
/*----- #page-overlay 跳出隱藏區塊時 內容區覆蓋變暗 */
.page-overlay{ 
	position:fixed; z-index:1000; top:0; left:0; 
	width:100%; height:100vh;
	overflow:hidden;

	opacity:0;
	pointer-events:none;
	visibility:hidden;
}
.page-overlay.is-open{
	display:block;
	background:rgba(0,0,0,0.7);
    
    opacity:1;
    pointer-events:auto;
    visibility:visible;
}



/*===== 跳出隱藏區塊時 內容區卷軸*/
body.overflow-hidden{ overflow:hidden; }

@media (min-width:992px){
	.page-overlay.is-open{
        opacity:0;
        pointer-events:auto;
        visibility:hidden;
    }
    
    body.overflow-hidden{
        overflow:auto;
    }
}






/*------------------------------------------------------------------------------------------- */
/*----- #grid system */
.container,
.container-fluid{
	width:100%;
	padding:0 5px;
	margin:0 auto;
}

@media (min-width:576px){
	.container,
	.container-fluid{
		padding:0 20px;
	}
}
@media (min-width:768px){
}
@media (min-width:992px){
}
@media (min-width:1200px){
    .container{ width:90%; }
}
@media (min-width:1400px){
    .container{ /*max-width:1000px;*/ width:80%; }
}
@media (min-width:1920px){
    .container{ /*max-width:1200px;*/ width:75%; }
}




/*grid 有邊距*/
.row{
	display:flex; flex-wrap:wrap;

	margin-top:-20px;
	margin-right:-5px;
	margin-left:-5px;
}
.row > *{
	flex-shrink:0;
	width:100%; max-width:100%;
	
	margin-top:20px;
	padding-right:5px;
	padding-left:5px;
}
@media (min-width:576px){
	.row{
		margin-top:-30px;
		margin-right:-15px;
		margin-left:-15px;
	}
	.row > *{
		margin-top:30px;
		padding-right:15px;
		padding-left:15px;
	}
}



.rowsub{
	display:flex; flex-wrap:wrap;

	margin-top:-10px;
	margin-right:-5px;
	margin-left:-5px;
}
.rowsub > *{
	flex-shrink:0;
	width:100%; max-width:100%;
	
	margin-top:10px;
	padding-right:5px;
	padding-left:5px;
}
@media (min-width:576px){
	.rowsub{
		margin-top:-15px;
		margin-right:-10px;
		margin-left:-10px;
	}
	.rowsub > *{
		margin-top:15px;
		padding-right:10px;
		padding-left:10px;
	}
}




.row-cols-1 > *{ flex:0 0 auto; width:100%; }

.row-cols-2 > *{ flex:0 0 auto; width:50%; }

.row-cols-3 > *{ flex:0 0 auto; width:33.3333333333%; }

.row-cols-4 > *{ flex:0 0 auto; width:25%; }

.row-cols-5 > *{ flex:0 0 auto; width:20%; }

.row-cols-6 > *{ flex:0 0 auto; width:16.6666666667%; }

.row-cols-8 > *{ flex:0 0 auto; width:12.5%; }

.row-cols-9 > *{ flex:0 0 auto; width:11.1111111111%; }


.align-items-start {
	align-items: flex-start;
}
.align-items-end {
	align-items: flex-end;
}
.align-items-center {
	align-items: center;
}
.align-items-stretch {
	align-items:stretch;
}

.justify-content-start {
	justify-content: flex-start;
}
.justify-content-end {
	justify-content: flex-end;
}
.justify-content-center {
	justify-content: center;
}


.col {
	flex: 1 0 0%;
}
.col-full {
	flex:1 1 auto;
    width:1%; min-width:0;
}


.col-auto { flex: 0 0 auto; width: auto; }

.col-1 { flex: 0 0 auto; width: 8.33333333%; }

.col-2 {flex: 0 0 auto; width: 16.66666667%; }

.col-3 {flex: 0 0 auto; width: 25%; }

.col-4 {flex: 0 0 auto; width: 33.33333333%; }

.col-5 {flex: 0 0 auto; width: 41.66666667%; }

.col-6 {flex: 0 0 auto; width: 50%; }

.col-7 { flex: 0 0 auto; width: 58.33333333%; }

.col-8 { flex: 0 0 auto; width: 66.66666667%; }

.col-9 { flex: 0 0 auto; width: 75%; }

.col-10 { flex: 0 0 auto; width: 83.33333333%; }

.col-11 { flex: 0 0 auto; width: 91.66666667%; }

.col-12 { flex: 0 0 auto; width: 100%; }


.card-hide{
	display:none;
}

@media (min-width:576px){

    .row-cols-sm-1 > *{ width:100%; }

    .row-cols-sm-2 > *{ width:50%; }

    .row-cols-sm-3 > *{ width:33.3333333333%; }

    .row-cols-sm-4 > *{ width:25%; }

    .row-cols-sm-5 > *{ width:20%; }

    .row-cols-sm-6 > *{ width:16.6666666667%; } 

	.row-cols-sm-8 > *{ width:12.5%; }
	
	.row-cols-sm-9 > *{ width:11.1111111111%; }
	

	.align-items-sm-start {
		align-items: flex-start;
	}
	.align-items-sm-end {
		align-items: flex-end;
	}
	.align-items-sm-center {
		align-items: center;
	}
  
	.justify-content-sm-start {
		justify-content: flex-start;
	}
	.justify-content-sm-end {
		justify-content: flex-end;
	}
	.justify-content-sm-center {
		justify-content: center;
	}
	
	
	.col-sm-auto { flex: 0 0 auto; width: auto; }
	
	.col-sm-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-sm-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-sm-3 { flex: 0 0 auto; width: 25%; }
	
	.col-sm-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-sm-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-sm-6 { flex: 0 0 auto; width: 50%; }
	
	.col-sm-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-sm-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-sm-9 { flex: 0 0 auto; width: 75%; }
	
	.col-sm-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-sm-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-sm-12 { flex: 0 0 auto; width: 100%; }
	
	
	.card-sm-hide{
		display:none;
	}
}
@media (min-width:768px){

    .row-cols-md-1 > *{ width:100%; }

    .row-cols-md-2 > *{ width:50%; }

    .row-cols-md-3 > *{ width:33.3333333333%; }

    .row-cols-md-4 > *{ width:25%; }

    .row-cols-md-5 > *{ width:20%; }

    .row-cols-md-6 > *{ width:16.6666666667%; } 

	.row-cols-md-8 > *{ width:12.5%; }
	
	.row-cols-md-9 > *{ width:11.1111111111%; }

	.align-items-md-start {
		align-items: flex-start;
	}
	.align-items-md-end {
		align-items: flex-end;
	}
	.align-items-md-center {
		align-items: center;
	}
  
	.justify-content-md-start {
		justify-content: flex-start;
	}
	.justify-content-md-end {
		justify-content: flex-end;
	}
	.justify-content-md-center {
		justify-content: center;
	}
	
	
	.col-md-auto { flex: 0 0 auto; width: auto; }
	
	.col-md-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-md-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-md-3 { flex: 0 0 auto; width: 25%; }
	
	.col-md-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-md-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-md-6 { flex: 0 0 auto; width: 50%; }
	
	.col-md-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-md-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-md-9 { flex: 0 0 auto; width: 75%; }
	
	.col-md-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-md-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-md-12 { flex: 0 0 auto; width: 100%; } 
	
	
	.card-md-hide{
		display:none;
	}
}
@media (min-width:992px){

    .row-cols-lg-1 > *{ width:100%; }

    .row-cols-lg-2 > *{ width:50%; }

    .row-cols-lg-3 > *{ width:33.3333333333%; }

    .row-cols-lg-4 > *{ width:25%; }

    .row-cols-lg-5 > *{ width:20%; }

    .row-cols-lg-6 > *{ width:16.6666666667%; } 
	
	.row-cols-lg-8 > *{ width:12.5%; }

	.row-cols-lg-9 > *{ width:11.1111111111%; }
	
	
	.align-items-lg-start {
		align-items: flex-start;
	}
	.align-items-lg-end {
		align-items: flex-end;
	}
	.align-items-lg-center {
		align-items: center;
	}
  
	.justify-content-lg-start {
		justify-content: flex-start;
	}
	.justify-content-lg-end {
		justify-content: flex-end;
	}
	.justify-content-lg-center {
		justify-content: center;
	}
	
	
	.col-lg-auto { flex: 0 0 auto; width: auto; }
	
	.col-lg-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-lg-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-lg-3 { flex: 0 0 auto; width: 25%; }
	
	.col-lg-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-lg-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-lg-6 { flex: 0 0 auto; width: 50%; }
	
	.col-lg-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-lg-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-lg-9 { flex: 0 0 auto; width: 75%; }
	
	.col-lg-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-lg-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-lg-12 { flex: 0 0 auto; width: 100%; } 
	
	
	.card-lg-hide{
		display:none;
	}
}
@media (min-width:1200px){

    .row-cols-xl-1 > *{ width:100%; }

    .row-cols-xl-2 > *{ width:50%; }

    .row-cols-xl-3 > *{ width:33.3333333333%; }

    .row-cols-xl-4 > *{ width:25%; }

    .row-cols-xl-5 > *{ width:20%; }

    .row-cols-xl-6 > *{ width:16.6666666667%; } 

	.row-cols-xl-8 > *{ width:12.5%; }

	.row-cols-xl-9 > *{ width:11.1111111111%; }
	
	
	.align-items-xl-start {
		align-items: flex-start;
	}
	.align-items-xl-end {
		align-items: flex-end;
	}
	.align-items-xl-center {
		align-items: center;
	}
  
	.justify-content-xl-start {
		justify-content: flex-start;
	}
	.justify-content-xl-end {
		justify-content: flex-end;
	}
	.justify-content-xl-center {
		justify-content: center;
	}
	
	
	.col-xl-auto { flex: 0 0 auto; width: auto; }
	
	.col-xl-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-xl-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-xl-3 { flex: 0 0 auto; width: 25%; }
	
	.col-xl-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-xl-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-xl-6 { flex: 0 0 auto; width: 50%; }
	
	.col-xl-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-xl-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-xl-9 { flex: 0 0 auto; width: 75%; }
	
	.col-xl-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-xl-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-xl-12 { flex: 0 0 auto; width: 100%; }
	
	
	.card-xl-hide{
		display:none;
	}
}
@media (min-width:1600px){
 
    .row-cols-xxl-1 > *{ width:100%; }

    .row-cols-xxl-2 > *{ width:50%; }

    .row-cols-xxl-3 > *{ width:33.3333333333%; }

    .row-cols-xxl-4 > *{ width:25%; }

    .row-cols-xxl-5 > *{ width:20%; }

    .row-cols-xxl-6 > *{ width:16.6666666667%; } 

	.row-cols-xxl-8 > *{ width:12.5%; }

	.row-cols-xzl-9 > *{ width:11.1111111111%; }
	
	
	.align-items-xxl-start {
		align-items: flex-start;
	}
	.align-items-xxl-end {
		align-items: flex-end;
	}
	.align-items-xxl-center {
		align-items: center;
	}
  
	.justify-content-xxl-start {
		justify-content: flex-start;
	}
	.justify-content-xxl-end {
		justify-content: flex-end;
	}
	.justify-content-xxl-center {
		justify-content: center;
	}
	
	
	.col-xxl-auto { flex: 0 0 auto; width: auto; }
	
	.col-xxl-1 { flex: 0 0 auto; width: 8.33333333%; }
	
	.col-xxl-2 { flex: 0 0 auto; width: 16.66666667%; }
	
	.col-xxl-3 { flex: 0 0 auto; width: 25%; }
	
	.col-xxl-4 { flex: 0 0 auto; width: 33.33333333%; }
	
	.col-xxl-5 { flex: 0 0 auto; width: 41.66666667%; }
	
	.col-xxl-6 { flex: 0 0 auto; width: 50%; }
	
	.col-xxl-7 { flex: 0 0 auto; width: 58.33333333%; }
	
	.col-xxl-8 { flex: 0 0 auto; width: 66.66666667%; }
	
	.col-xxl-9 { flex: 0 0 auto; width: 75%; }
	
	.col-xxl-10 { flex: 0 0 auto; width: 83.33333333%; }
	
	.col-xxl-11 { flex: 0 0 auto; width: 91.66666667%; }
	
	.col-xxl-12 { flex: 0 0 auto; width: 100%; }
	
	
	.card-xxl-hide{
		display:none;
	}
}










/*------------------------------------------------------------------------------------------- */
/*----- #header */
.header{
	position:relative;
}
.header_row{
	display:flex; flex-wrap:wrap;
	align-items:center;
}
.header-left,
.header-center,
.header-right{
	width:100%;
}





/*------------------------------------------------------------------------------------------- */
/*----- #logo */
.logo{
}
.logo a{ display:block; }
.logo img{
	display:block;
	max-width:100%; height:auto;
}





/*------------------------------------------------------------------------------------------- */
/*----- #navbar */
.navbar{
	display:flex; flex-wrap:wrap;
	align-items:center;
}
.navbar a{
	display:block;
}





/*------------------------------------------------------------------------------------------- */
/*----- #sign_hamburger：【三】圖樣 */
.sign_hamburger{
	position:relative;
	display:block;
	width:100%; height:100%;
}
.sign_hamburger:before,
.sign_hamburger:after,
.sign_hamburger-line{
	position:absolute; left:0; top:0; content:"";
	width:100%; height:2px;
	margin-top:-1px;
	background:#333;
	border-radius:2px;
	transition: top 0.3s ease-in-out ,
                transform 0.3s ease-in-out;
}
.sign_hamburger:before{ top:20%; }
.sign_hamburger:after{ top:80%; }
.sign_hamburger-line{ top:50%; }

.sign_hamburger.is-open:before{
	top:50%;
	-webkit-transform:rotate(45deg);
    transform:rotate(45deg);
}
.sign_hamburger.is-open:after{
	top:50%;
	-webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
}
.sign_hamburger.is-open .sign_hamburger-line{
	opacity:0;
}





/*------------------------------------------------------------------------------------------- */
/*----- #sign_close：【X】圖樣 */
.sign_close{
	position:relative;
	display:block;
	width:30px; height:30px;
}
.sign_close:before,
.sign_close:after{
	position:absolute; left:50%; top:0; content:"";
	width:4px; height:100%;
	background:#fff;
	border-radius:2px;
	margin-left:-1px;
}
.sign_close:before{ transform:rotate(45deg); }
.sign_close:after{ transform:rotate(-45deg); }










/*------------------------------------------------------------------------------------------- #form */
/*----- #form */

.form-label{
  margin-bottom:0.5rem;
}

.col-form-label{
  padding-top:calc(0.375rem + 1px);
  padding-bottom:calc(0.375rem + 1px);
  margin-bottom:0;
  font-size:inherit;
  line-height:1.5;
}

.form-text{
  margin-top:0.25rem;
  font-size:0.875em;
  color:#6c757d;
}

.form-control{
	display:block;
	width:100%;
	
	background-color:#fff;
	background-clip:padding-box;
	
	border:1px solid #ced4da;
	border-radius:0.25rem;
	
	font-size:1rem; font-weight:400; line-height:1.5;
	color:#212529;
	
	padding:0.375rem 0.75rem;

	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;

	transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion:reduce){
  .form-control{
    transition:none;
  }
}
.form-control[type=file]{
  overflow:hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]){
  cursor:pointer;
}
.form-control:focus{
  color:#212529;
  background-color:#fff;
  border-color:#86b7fe;
  outline:0;
  box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value{
  height:1.5em;
}

.form-control::-moz-placeholder{
	color:#6c757d;
	font-size:0.875rem;
	opacity:1;
}
.form-control::placeholder{
	color:#6c757d;
	font-size:0.875rem;
	opacity:1;
}

.form-control:disabled, .form-control[readonly]{
  background-color:#e9ecef;
  opacity:1;
}
.form-control::file-selector-button{
  padding:0.375rem 0.75rem;
  margin:-0.375rem -0.75rem;
  -webkit-margin-end:0.75rem;
  margin-inline-end:0.75rem;
  color:#212529;
  background-color:#e9ecef;
  pointer-events:none;
  border-color:inherit;
  border-style:solid;
  border-width:0;
  border-inline-end-width:1px;
  border-radius:0;
  transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion:reduce){
  .form-control::file-selector-button{
    transition:none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button{
  background-color:#dde0e3;
}
.form-control::-webkit-file-upload-button{
  padding:0.375rem 0.75rem;
  margin:-0.375rem -0.75rem;
  -webkit-margin-end:0.75rem;
  margin-inline-end:0.75rem;
  color:#212529;
  background-color:#e9ecef;
  pointer-events:none;
  border-color:inherit;
  border-style:solid;
  border-width:0;
  border-inline-end-width:1px;
  border-radius:0;
  -webkit-transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion:reduce){
  .form-control::-webkit-file-upload-button{
    -webkit-transition:none;
    transition:none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{
  background-color:#dde0e3;
}

.form-control-plaintext{
  display:block;
  width:100%;
  padding:0.375rem 0;
  margin-bottom:0;
  line-height:1.5;
  color:#212529;
  background-color:transparent;
  border:solid transparent;
  border-width:1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg{
  padding-right:0;
  padding-left:0;
}


textarea.form-control{
  min-height:calc(1.5em + 0.75rem + 2px);
}
textarea.form-control-sm{
  min-height:calc(1.5em + 0.5rem + 2px);
}
textarea.form-control-lg{
  min-height:calc(1.5em + 1rem + 2px);
}



.form-select{
  display:block;
  width:100%;
  padding:0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start:calc(0.75rem - 3px);
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  color:#212529;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right 0.75rem center;
  background-size:16px 12px;
  border:1px solid #ced4da;
  border-radius:0.25rem;
  transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}
@media (prefers-reduced-motion:reduce){
  .form-select{
    transition:none;
  }
}
.form-select:focus{
  border-color:#86b7fe;
  outline:0;
  box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]){
  padding-right:0.75rem;
  background-image:none;
}
.form-select:disabled{
  background-color:#e9ecef;
}
.form-select:-moz-focusring{
  color:transparent;
  text-shadow:0 0 0 #212529;
}


.form-check{
  display:block;
  min-height:1.5rem;
  padding-left:1.5em;
  margin-bottom:0.125rem;
}
.form-check .form-check-input{
  float:left;
  margin-left:-1.5em;
}

.form-check-input{
  width:1em;
  height:1em;
  margin-top:0.25em;
  vertical-align:top;
  background-color:#fff;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  border:1px solid rgba(0, 0, 0, 0.25);
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  -webkit-print-color-adjust:exact;
  color-adjust:exact;
}
.form-check-input[type=checkbox]{
  border-radius:0.25em;
}
.form-check-input[type=radio]{
  border-radius:50%;
}
.form-check-input:active{
  filter:brightness(90%);
}
.form-check-input:focus{
  border-color:#86b7fe;
  outline:0;
  box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked{
  background-color:#0d6efd;
  border-color:#0d6efd;
}
.form-check-input:checked[type=checkbox]{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio]{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate{
  background-color:#0d6efd;
  border-color:#0d6efd;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled{

  pointer-events:none;
  filter:none;
  opacity:0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label{
  opacity:0.5;
}

.form-check-inline{
  display:inline-block;
  margin-right:1rem;
}










/*------------------------------------------------------------------------------------------- */
/*----- #card */
.card{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	min-width:0;
	word-wrap:break-word;
}



/* ====== #item-fitimg：方形圖img(限定大小) */
.item-fitimg{
	position: relative;
	text-align:left;
}
.item-fitimg:before{
	content: "";
    display:block;
    padding-bottom: 100%;
}
.fitimg{
	position: absolute; top:0; left:0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	
	-webkit-object-fit: contain;
	   -moz-object-fit: contain;
		    object-fit: contain;
}



/* ====== #card-row */
.card-row{
	display:flex; flex-wrap:wrap;
}
.card-row > .card-left,
.card-row > .card-center,
.card-row > .card-right,
.card-row > .card-one,
.card-row > .card-two,
.card-row > .card-three,
.card-row > .card-four{ width:100%; }



/* ====== #card-tr：仿表格 */
.card-tr{
    display:flex; flex-wrap:wrap;
    align-items:center;
}
.card-td{
	padding:5px;
}



/* ====== #card-photo：圖片 */
.card-photo, 
.card-iframe{
	position:relative;
	background:#fff;
}
.card-photo{ min-height:10px; }
.card-photo a{ display:block; }



.card-freeframe iframe{
	width:100%; height:auto;
	min-height:300px;
}



/* ====== #card-iframe：影片 */
.card-iframe{
	position:relative;
    width:100%; height:0;
    padding-bottom:100%;
}
.card-iframe iframe,
.card-iframe blockquote{
	position:absolute; z-index:2; top:0; left:0;
	width:100%; height:100%;
}
.card-iframe.map{
	position:relative;
	
	background:#F1F3F4;
}
.card-iframe.map:before{
	position:absolute; z-index:1;
	bottom:2px; right:2px;
	content:"MAP";
	font-family:Helvetica, sans-serif;
	font-weight:600; line-height:1;
	color:#BDD4F8;
}



/* ====== #card-name ===== */
.card-name{
	/*font-weight:600;*/
	padding:3px 0;
	margin:0.5rem 0;
}
.card-name a{ display:block; }




/* ===== #card-info */
.card-infolist{
	margin-top:0.5rem;
}

.card-info{
    position:relative;
    display:flex; flex-wrap:wrap;
	align-items:center; /*justify-content:flex-end;*/
	
    /*font-size:0.875rem;*/ line-height:1.1;
    margin-top:5px;
}

.card-info .iconsvg,
.card-info .card-info-icon,
.card-info .card-info-title,
.card-info .card-info-text{
    display:block;
    line-height:1.5;
	margin:0 2px;
}

.card-info .iconsvg{
    width:16px; height:16px;
}
.card-info .iconsvg:before{ 
    background-color:#777;
}

.card-info .card-info-icon{
    width:20px; height:20px;
}
.card-info .card-info-icon img{
	display:block; max-width:100%; height:auto;
}

.card-info .card-info-text{
	word-break:break-all;
	word-wrap:break-word;
}







/*------------------------------------------------------------------------------------------- */
/*----- #btn &  #card-btn */
.btnbar{
    margin:5px 0;
	text-align:center;
}

.card-btnbar{
	margin-top:0.5rem;
}

.btn, 
.card-btn{
	position:relative;
	display:inline-block; vertical-align:middle;
	background-color:transparent;
	border:1px solid transparent;
	border-radius:0.25rem;
	font-size:0.875rem; font-weight:600; line-height:1;
	color:#212529;
	padding:0.375rem 0.75rem;
	margin:0.5rem 0.2rem;
	text-align:center;
	cursor:pointer;
	
	-webkit-user-select:none;
	-moz-user-select:none;
	user-select:none;
}
@media (prefers-reduced-motion:reduce){
	.btn, 
	.card-btn{
		transition:none;
	}
}

.btn .iconsvg,
.btn-text,
.card-btn .iconsvg,
.card-btn-text{
	position:relative; z-index:2;
	display:inline-block; vertical-align:middle;
	line-height:1;
	margin:0 1px;
}

.btn .iconsvg,
.card-btn .iconsvg{
	width:20px; height:20px;
}

.btn .iconsvg:before,
.card-btn .iconsvg:before{
	background-color:#ccc;
}

.btn:hover{
	color:#212529;
}

.btn-check:focus + .btn,
.btn:focus{
	outline:0;
	box-shadow:0 0 0 0.15rem rgba(13, 110, 253, 0.15);
}














/*------------------------------------------------------------------------------------------- */
/*----- #iconsvg */
.iconsvg {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
} 
.iconsvg:before {
	position: absolute; top: 0; left: 0; content: "";
	width:100%; height:100%;
    background-color: #333;

    -webkit-mask-position: center;
    mask-position: center;
    
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
	
	/*-webkit-mask-size: 65% 65%;
    mask-size: 65% 65%;*/
}

.icon-fb:before {
    -webkit-mask-image: url(../images/icon/icon_fb2.svg);
    mask-image: url(../images/icon/icon_fb2.svg);
}
.icon-line:before {
    -webkit-mask-image: url(../images/icon/icon_line.svg);
    mask-image: url(../images/icon/icon_line.svg);
}
.icon-phone:before {
    -webkit-mask-image: url(../images/icon/icon_phone.svg);
    mask-image: url(../images/icon/icon_phone.svg);
}
.icon-mail:before {
    -webkit-mask-image: url(../images/icon/icon_mail.svg);
    mask-image: url(../images/icon/icon_mail.svg);
}
.icon-home:before {
    -webkit-mask-image: url(../images/icon/icon_home2.svg);
    mask-image: url(../images/icon/icon_home2.svg);
}
.icon-address:before {
    -webkit-mask-image: url(../images/icon/icon_address.svg);
    mask-image: url(../images/icon/icon_address.svg);
}

.icon-report:before {
    -webkit-mask-image: url(../images/icon/icon_report.svg);
    mask-image: url(../images/icon/icon_report.svg);
}
.icon-writting:before {
    -webkit-mask-image: url(../images/icon/icon_writting.svg);
    mask-image: url(../images/icon/icon_writting.svg);
}
.icon-record:before {
    -webkit-mask-image: url(../images/icon/icon_record.svg);
    mask-image: url(../images/icon/icon_record.svg);
}
.icon-search:before {
    -webkit-mask-image: url(../images/icon/icon_search.svg);
    mask-image: url(../images/icon/icon_search.svg);
}

.icon_marquee:before{
    -webkit-mask-image: url(../images/icon/icon_marquee.svg);
    mask-image: url(../images/icon/icon_marquee.svg);
}

.icon-triangle-right:before {
    -webkit-mask-image: url(../images/icon/icon_triangle_right.svg);
    mask-image: url(../images/icon/icon_triangle_righte.svg);
}

.icon-clock:before{
    -webkit-mask-image: url(../images/icon/icon_clock.svg);
    mask-image: url(../images/icon/icon_clock.svg);
}

.icon-calendar:before{
    -webkit-mask-image: url(../images/icon/icon_calendar.svg);
    mask-image: url(../images/icon/icon_calendar.svg);
}

.icon-outlink:before{
    -webkit-mask-image: url(../images/icon/icon_outlink.svg);
    mask-image: url(../images/icon/icon_outlink.svg);
}




