@charset "utf-8";

:root {

	/* font size */
	--text-base-size: 1rem; /* body font-size */
	--text-scale-ratio: 1.2;
  
  
	/* -------------------------------- 

		Typography

	-------------------------------- */
	--font-unit: var(--text-base-size);
	
	--font-xs: calc(var(--font-sm) / var(--text-scale-ratio));
	--font-sm: calc(var(--font-unit) / var(--text-scale-ratio));
	--font-md: calc(var(--font-unit) * var(--text-scale-ratio));
	--font-lg: calc(var(--font-md) * var(--text-scale-ratio));
	--font-xl: calc(var(--font-lg) * var(--text-scale-ratio));
	--font-xxl: calc(var(--font-xl) * var(--text-scale-ratio)); /* h1 */
	--font-xxxl: calc(var(--font-xxl) * var(--text-scale-ratio));
	--font-xxxxl: calc(var(--font-xxxl) * var(--text-scale-ratio));
	

	/* line-height */
	--line-height-heading: 1.2;
	--line-height-body: 1.4;
	
	
	
	/* -------------------------------- 
	
		Space
	
	-------------------------------- */
	--space-unit: 1.2rem;
	
	--space-xxxxs: calc(0.125 * var(--space-unit));
	--space-xxxs: calc(0.25 * var(--space-unit));
	--space-xxs: calc(0.375 * var(--space-unit));
	--space-xs: calc(0.5 * var(--space-unit));
	--space-sm: calc(0.75 * var(--space-unit));
	--space-md: calc(1.25 * var(--space-unit));
	--space-lg: calc(2 * var(--space-unit));
	--space-xl: calc(3.25 * var(--space-unit));
	--space-xxl: calc(5.25 * var(--space-unit));
	--space-xxxl: calc(8.5 * var(--space-unit));
	--space-xxxxl: calc(13.75 * var(--space-unit));
	
	--component-padding: var(--space-md);
	
	
	--space-unit-fixed: 1rem;
	
	--space-xxxxs-fixed:  calc(0.125 * var(--space-unit-fixed));
	--space-xxxs-fixed:  calc(0.25 * var(--space-unit-fixed));
	--space-xxs-fixed:  calc(0.375 * var(--space-unit-fixed));
	--space-xs-fixed:   calc(0.5 * var(--space-unit-fixed));
	--space-sm-fixed:   calc(0.75 * var(--space-unit-fixed));
	--space-md-fixed:   calc(1.25 * var(--space-unit-fixed));
	--space-lg-fixed:   calc(2 * var(--space-unit-fixed));
	--space-xl-fixed:   calc(3.25 * var(--space-unit-fixed));
	--space-xxl-fixed:  calc(5.25 * var(--space-unit-fixed));
	--space-xxxl-fixed:  calc(8.5 * var(--space-unit-fixed));
	--space-xxxxl-fixed:  calc(13.75 * var(--space-unit-fixed));
}


@media (min-width:1600px){
	:root {
		--text-base-size: 1rem;
		--space-unit: 1rem;
	}
}






/*------------------------------------------------------------------------------------------- */
/* ----- #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 */

/* 修正粗體 (碧筵綰在粗體時會隔很遠) */
@font-face {
  font-family: '新微軟正黑體';
  unicode-range: U+7db0, U+78A7, U+7B75; /* ASCII (碧筵綰) */
  font-style: normal;
  font-weight: bold;
  src: local(MS Gothic), local(Yu Gothic);
}

/* 一般粗細的時候改回微軟正黑 */
@font-face {
  font-family: '新微軟正黑體';
  unicode-range: U+7db0, U+78A7, U+7B75;
  font-style: normal;
  font-weight: normal;
  src: local(微軟正黑體), local(Microsoft JhengHei);
}


.wrapper{
	position:relative;
	height:auto;
	width:100%;
	min-height:100%;
	overflow:hidden;
	margin-left:auto; 
	margin-right:auto;
}

body{
	background:#fff;
	font-family: "新微軟正黑體",'Microsoft JhengHei',"微軟正黑體", sans-serif;
	font-size:16px;
	line-height:1.5;
	color:#333;
}






/*-------------------------------------------------------------------------------------------

	#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.85);
    
    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;
    }
}





/*-------------------------------------------------------------------------------------------

	#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:3px; height:100%;
	background:#fff;
	border-radius:2px;
}
.sign_close:before{ transform:rotate(45deg); }
.sign_close:after{ transform:rotate(-45deg); }





/*-------------------------------------------------------------------------------------------

	#Typography

-------------------------------- */
.heading{}

.font--xxxxl {
	font-size: var(--font-xxxxl);
}

.font--xxxl {
	font-size: var(--font-xxxl);
}

h1, .font--xxl {
	font-size: var(--font-xxl);
}

h2, .font--xl {
	font-size: var(--font-xl);
}

h3, .font--lg {
	font-size: var(--font-lg);
}

h4, .font--md {
	font-size: var(--font-md);
}

small, .font--sm {
	font-size: var(--font-sm);
}

.font--xs {
	font-size: var(--font-xs);
}

h1, h2, h3, h4, form legend {
	/* color: var(--color-text-heading); */
	font-weight: 700;
	line-height: var(--line-height-heading);
	margin-bottom: var(--space-xxs);
}

/* p {
	line-height: var(--line-height-body);
} */




/*-------------------------------------------------------------------------------------------

	#Editor：後台編輯器

-------------------------------- */
.editor{
	overflow-wrap: break-word;
}

.editor h1 {
	margin-bottom: var(--space-md);
}

.editor h2,
.editor h3,
.editor h4 {
	margin-top: var(--space-md);
	margin-bottom: var(--space-sm);
}

.editor ul,
.editor ol,
.editor p {
	margin-bottom: var(--space-sm);
}

.editor ul,
.editor ol {
	list-style-position: outside;
	padding-left: var(--space-lg);
}

.editor ul {
	list-style-type: disc;
}

.editor ol {
	list-style-type: decimal;
}

.editor ul li,
.editor ol li {
	display:list-item;
	list-style:inherit;
	line-height: var(--line-height-body);
}

.editor em {
	font-style: italic;
}

.editor u {
	text-decoration: underline;
}

.editor a{
    text-decoration:underline;
}
.editor img{
	max-width:100%;
	height:auto;
}
.editor iframe{
	max-width:100%;
}






/*------------------------------------------------------------------------------------------- */
/* ----- #grid system */
.container{
	width:100%;
	padding:0 10px;
	margin:0 auto;
}

@media (min-width:576px){
	.container{
		padding:0 15px;
	}
}
@media (min-width:768px){
}
@media (min-width:992px){
}
@media (min-width:1200px){
    .container{ width:90%; }
}
@media (min-width:1400px){
    .container{ width:80%; }
}
@media (min-width:1920px){
    .container{ width:80%; }
}









/* ===== grid 有邊距*/
.row,
.subrow{
	display:flex; flex-wrap:wrap;

	margin-top:-20px;
	margin-right:-5px;
	margin-left:-5px;
}
.row > *,
.subrow > *{
	flex-shrink:0;
	width:100%; max-width:100%;
	
	margin-top:20px;
	padding-right:5px;
	padding-left:5px;
}
@media (min-width:576px){
	.row{
		margin-top:-40px;
		margin-right:-15px;
		margin-left:-15px;
	}
	.row > *{
		margin-top:40px;
		padding-right:15px;
		padding-left:15px;
	}
	
	
	.subrow{
		margin-top:-20px;
		margin-right:-10px;
		margin-left:-10px;
	}
	.subrow > *{
		margin-top:20px;
		padding-right:10px;
		padding-left:10px;
	}
}


.card_row,
.card_subrow{
	display:flex; flex-wrap:wrap;

	margin-right:-5px;
	margin-left:-5px;
}
.card_row > *,
.card_subrow > *{
	flex-shrink:0;
	width:100%; max-width:100%;
	
	padding-right:5px;
	padding-left:5px;
}
@media (min-width:576px){
	.card_row{
		margin-top:0;
		margin-right:-15px;
		margin-left:-15px;
	}
	.card_row > *{
		margin-top:0;
		padding-right:15px;
		padding-left:15px;
	}
}


.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%; }


.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%; } 


	.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%; } 


	.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%; } 


	.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%; } 


	.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%; } 


	.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;
	}
}











/*------------------------------------------------------------------------------------------- */
/*----- #card */
.card{
	position:relative; z-index:2;
	
	display:flex;
	flex-direction:column;
	word-wrap:break-word;
	
	/*background:#fff;*/
}



/* ====== #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%;

	-webkit-object-fit: contain;
	   -moz-object-fit: contain;
		    object-fit: contain;
	/*object-position: center top;*/
}



/* ====== #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-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;
	margin:var(--space-xs) 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;
}










/*-------------------------------------------------------------------------------------------

	#Slickbase 輪播基礎

-------------------------------- */

/* ===== slickbase [base]：為解決因圖片過多，load時會出現圖片爆框問題 */
.slickbase{
	opacity:0;
	visibility:hidden;
	-webkit-transition:opacity 1s ease , visibility 1s ease;
			transition:opacity 1s ease , visibility 1s ease;
}

.slickbase.slick-initialized{
	visibility:visible;
	opacity:1;
}

.slickbase > li,
.slickbase .slick-slide{
	display:none;
}

.slickbase > li:first-child,
.slickbase .slick-slide:first-child{
	display:block;
	visibility:hidden;
} 

.slickbase.slick-initialized .slick-slide{
	display:block;
	visibility:visible!important;
}



/* ===== slickbase [is slick 項目] */
.slickbase{ overflow:hidden; }
.slickbase .slick-slide{
	position:relative;
	overflow:hidden;
}


/* ===== slickarrow [base]：slick 基礎設定-左右按鈕 */
.slickarrow .slick-prev, 
.slickarrow .slick-next{
	position:absolute; z-index:11; top:0;
	display:block;
	width:50px; height:100%;
	background:rgba(255,255,255,0.1);
	border:none;
	color:transparent;
	font-size:0;
	cursor:pointer;
	transition:opacity 0.7s ease , transform 0.7s ease;
}
.slickarrow .slick-prev{ left:0; transform:translateX(-70px); }
.slickarrow .slick-next{ right:0; transform:translateX(70px); }

.slickarrow .slick-prev:before, 
.slickarrow .slick-next:before{
	position:absolute; top:50%; left:50%; content:"";
	width:10px; height:10px;
	border:4px solid #fff;
	transform:translate(-50%, -50%) rotate(45deg);
}
.slickarrow .slick-prev:before{ border-top-width:0; border-right-width:0; }
.slickarrow .slick-next:before{ border-left-width:0; border-bottom-width:0; }

.slickarrow .slick-prev:hover:before, 
.slickarrow .slick-next:hover:before{
	border-color:var(--color-accent);
}
.slickarrow:hover .slick-prev, 
.slickarrow:hover .slick-next{
	transform:translateX(0);
}


/* ===== slickdots [base]：slick 基礎設定-底下圓圈 */
.slickdots .slick-dots{
	position:relative; z-index:12;
	display:flex; flex-wrap:wrap; justify-content:center;
	width:100%;
	background:transparent;
	padding:0 var(--space-xxxs);
}
.slickdots .slick-dots li{
	font-size:0;
	margin:var(--space-xs) var(--space-xxxs);
}
.slickdots .slick-dots li button{
	width:20px; height:4px;
	background:#ccc;
	border:1px solid #fff;
	font-size:0;
	cursor:pointer;
}
.slickdots .slick-dots li button:hover{
	background:var(--color-accent);
}
.slickdots .slick-dots li.slick-active button{
	background:var(--color-one);
	
	opacity:1;
}
@media (min-width:992px){
	.slickdots .slick-dots li button{
		width:30px; height:8px;
	}
}








/*-------------------------------------------------------------------------------------------

	#Form

-------------------------------- */
.form-label{
	margin-bottom:var(--space-xs);
}

.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:var(--space-xxxs);
	font-size:var(--font-sm);
	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:var(--font-unit); font-weight:400; line-height:1.5;
	color:#212529;
	
	padding:var(--space-xxs) var(--space-sm);

	-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:#333;
	font-size:var(--font-unit);
	opacity:1;
}
.form-control::placeholder{
	color:#333;
	font-size:var(--font-unit);
	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:var(--space-xxs) 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:var(--space-xxs) var(--space-lg) var(--space-xxs) var(--space-sm);
	-moz-padding-start:calc(0.75rem - 3px);
	
	font-size:var(--font-unit);
	font-weight:400;
	line-height:1.5;
	color:#212529;
	
	background-color:#fff;
	background-image:url(../images/icon/icon_select.svg);
	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:var(--space-md);
	margin:var(--space-xxxxs) 0;
}
.form-check .form-check-input{
	float:left;
	margin-left:-1.5em;
}

.form-check-input{
	width:1em; height:1em;
	
	margin-top:var(--space-xxxs);
	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(../images/icon/icon_tick.svg);
}
.form-check-input:checked[type=radio]{
	background-image:url(../images/icon/icon_circle.svg);
}
.form-check-input[type=checkbox]:indeterminate{
	background-color:#0d6efd;
	border-color:#0d6efd;
	background-image:url(../images/icon/icon_null.svg);
}
.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;
}


/*===== #formbtn：按鈕列*/
.formbtn{
	background-color:#fff;
	background-clip:padding-box;
	
	border:1px solid #ced4da;
	border-radius:0.25rem;
	
	font-size:var(--font-unit); font-weight:400; line-height:1.5;
	color:#212529;
	
	padding:var(--space-xxs) var(--space-sm);
}
.formbtn:hover{
	background: #333;
	color:#fff;
}










/*-------------------------------------------------------------------------------------------

	#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%;*/
}


/*===== #scrolltop*/
.icon-scrolltop:before {
    -webkit-mask-image: url(../images/icon/icon_scrolltop.svg);
    mask-image: url(../images/icon/icon_scrolltop.svg);
}