@charset "utf-8";
/****************** 基本 ******************/
*{	
    font-family: "微軟正黑體", "Microsoft JhengHei", Arial, Geneva,sans-serif;
    /* outline: 1px solid #0000001d; */
}
body {
    font-size: 17px;    
    font-weight: 400;
    line-height: 1.8;
    color: #323232;
    background-color: #fff;
    height: 100%;
    position: relative;
    /*padding-top: 70px;*/
}

@media screen and (max-width: 1400px) {
    body {
        padding-top: 60px;
    }
}
hr{
	border-top: 1px solid #afafaf;
}
h1, h2, h3, h4, h5, h6 {
    color: #000;
    font-weight: 400;
}
p {
    margin-bottom: 1.5em;
}
a {
    color: #009999;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
a:hover, a:active, a:focus ,a:visited{
    color: #8b3208;
    outline: none;
    text-decoration: none;
}
img, object, embed, video {	
    max-width: 100%;
}
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background: #000;
    opacity: .2;	
}

/*
--- 按鈕 btn ---*/
.btn:hover, .btn:active, .btn:focus {
    background: #393e46 !important;
    color: #fff;
    outline: none !important;
}
.btn{
	border-radius: 0px; 
}
.btn.btn-primary {
    background: #9d743e;
    color: #fff;
    border: none !important;
    border: 2px solid transparent !important;
	display: inline-block; 
	margin-top: 5px;
}
@media screen and (max-width: 576px){
    .btn.btn-lg {
		padding-top: 10px;
		padding-right: 8px;
		padding-left: 8px;
		padding-bottom: 10px;
		font-size: 16px;
	}
}
/*
--- 切換裝置顯示項目 ---*/
#line {display: block;}   
#line_m {display: none;} 
@media screen and (max-width: 576px){
    #line {display: none;}   
    #line_m {display: block;} 
}
/****************** 導覽列 navbar ******************/
.navbar {
    background-color: #f8f8f8;
    border-bottom: 1px solid #e8e8e8;
    padding: 0;    
}
.navbar-header {}
/*
--- 聯邦LOGO navbar-brand ---*/
.navbar-brand {
	padding-right: 0;
}
.navbar .navbar-brand {
    margin-right: 50px;
    margin-left: 20px;
    width: 250px;
    height: 70px;
    background: url(../../../../include/images/UBLogo.png) no-repeat 0 50%;
    background-size: contain;
}
.navbar-header .navbar-brand img {
	width: 90%;
}
.navbar-light .navbar-toggler {
    border: none;
}
.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 153, 153, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.navbar-light .navbar-toggle .icon-bar {
    background-color: #009999;
}
.navbar-light .navbar-nav .nav-link {
    color: rgba(0, 0, 0, .9);
}
.navbar-light .navbar-toggle:hover,
.navbar-light .navbar-toggle:focus {
    background-color: #f8f8f8;
}
.navbar-nav > li > a {
    margin-left: 15px;
	margin-top: 10px;
	display: block;
}
.navbar-light .navbar-nav > li > a:hover,
.navbar-light .navbar-nav > li > a:focus {
    color:  #009999;
    background-color: transparent;
}
.navbar-light .navbar-nav > .active > a,
.navbar-light .navbar-nav > .active > a:hover,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav > .active > a:focus {
    color:  #009999;
}
.navbar-toggle {
    margin-top: 13px;
    margin-bottom: 15px;
    border: 0px ;
    border-radius: 0px;
}
/* :hover */
.navbar-nav>li>a:after {
    content: '';
    display: block;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    background: #009999;
    z-index: -1;
    transition: all .5s;
}

.navbar-nav>li:hover>a:after {
    transform: scaleX(1);
}
/*
--- 導覽列下拉dropdown-menu ---*/
.dropdown-menu {
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.dropdown-item.active,
.dropdown-item:active {
    background-color:#009999;    
}
.dropdown-item:hover,
.dropdown-item:focus {
    background-color:#eaeaea;
}
@media screen and (max-width: 1200px){	
	.navbar .navbar-brand {
	  margin-right: 0px;
	  margin-left: 20px;
	  width: 200px;
	  height: 60px;/* 60 only*/
	}
}
@media screen and (max-width: 576px){
	.navbar .navbar-brand {
	  margin-right: 50px;
	  margin-left: 15px;
    }
}
/****************** 輪播 carousel  ******************/
.carousel-indicators li {
    width: 10px;
    height: 10px;
    opacity: .8;
    border-radius: 50px;
    border: 1px solid #dedede;
    background-color:#bbbbbb;
}
.carousel-indicators .active { 
    background-color: #009999;
}

/*
--- 主視覺 ---*/
.kv {
    position: relative;
    width: 100%;
    --w: 1920;
    --h: 590;
    overflow: hidden;
}

.kv:before {
    content: '';
    width: 100%;
    padding-top: calc(var(--h) * 100% / var(--w));
    display: block;
    background-image: url(../images/top.jpg);
    background-size: cover;
}


.kv_title {
    position: absolute;
    top: 12%;
    left: 15%;
    width: 45%;
    height: 88%;
    /* background-color: #ff00b921; */
}

/* 卡片動畫在主視覺中的位置 */
.anniversary-banner {
    position: absolute;
    top: 48%;
    left: 15%;
    width: 55%;
    aspect-ratio: 1 / 0.63;
    margin: 0;
}

/* 中間這幾層全部填滿 */
.anniversary-content,
.anniversary-content-card,
.card-animation {
    position: relative;
    width: 100%;
    height: 100%;
}

/* 兩張卡片都以 card-animation 定位 */
.credit-card {
    position: absolute;
    display: block;
    width: 72%;
    height: auto;
    top: 50%;
    left: 50%;
    transform-origin: center;
}

/* 初始位置 */
.jiho-card {
    z-index: 2;
    transform:
        translate(-50%, -50%)
        translate(-8%, 0)
        rotate(-15deg);
}

.gold-card {
    z-index: 1;
    transform:
        translate(-50%, -50%)
        translate(18%, 2%)
        rotate(10deg)
        scale(0.94);
}

.top-card {
    position: absolute;
    top: 12%;
    left: 58%;
    width: 30%;
    height: 88%;
    /* background-color: #33f5ff57; */
}

.top-title-01 {
    position: absolute;
    width: 40%;
    top: 25%;
    left: 25%;
    animation-delay: .2s;
}

.top-title-02 {
    position: absolute;
    width: 70%;
    top: 40%;
    left: 14%;
    animation-delay: .4s;
}

.top-title-03 {
    position: absolute;
    width: 45%;
    top: 75%;
    left: 25%;
    animation-delay: .6s;
}

.crane {
    position: absolute;
    top: 15%;
    left: 10%;
    width: 55%;
}

/* kv手機板setting */
@media (max-width:768px) {
    .kv {
        --w: 540;
        --h: 540;
    }

    .kv:before {
        background-image: url(../images/top_m.jpg);
    }

    .kv_title {
        top: 8%;
        left: 5%;
        width: 90%;
        height: 82%;
    }
    .top-card {
        position: absolute;
        top: 18%;
        left: 55%;
        width: 40%;
        height: 60%;
        /* background-color: #33f5ff57; */
    }
    
    .anniversary-banner {
        top: 48%;
        left: 18%;
        width: 64%;
    }
    .top-title-01 {
        position: absolute;
        width: 50%;
        top: 56%;
        left: 28%;

        animation-delay: .2s;
    }

    .top-title-02 {
        position: absolute;
        width: 85%;
        top: 70%;
        left: 8%;
        animation-delay: .4s;
    }

    .top-title-03 {
        position: absolute;
        width: 50%;
        top: 101%;
        left: 25%;
        animation-delay: .6s;
    }

    .crane {
        position: absolute;
        top: -20%;
        left: -108%;
        width: 90%;
    }
}



/*
--- 主視覺 ---*/
.topimg1 { background-image: url(../images/top.jpg)  !important;}
.topimg2 { background-image: url(../images/top_2.jpg)  !important;}
.topimg3 { background-image: url(../images/top_3.jpg)  !important;}
.topimg-Half-ckeck { background-image: url(../images/topHalf_check.jpg) !important;}
@media screen and (max-width: 576px){
	.topimg1 { background-image: url(../images/top_m.jpg)  !important;}
    .topimg2 { background-image: url(../images/top_2m.jpg)  !important;}
    .topimg3 { background-image: url(../images/top_3m.jpg)  !important;}
    .topimg-Half-ckeck { background-image: url(../images/topHalf_check_m.jpg) !important;    }
}
/****************** 版面 Container ******************/
.gridContainer {	
	width: 100%;
	clear: none;
	float: none;
    margin-left: auto;
	margin-right: auto;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	.gridContainer {
		width: 100%;
		margin: auto;
		clear: none;
		float: none;
		margin-left: auto;
		background-size: cover;
	}
}
.bg-page {
    background: linear-gradient(#fcf2e8 0%, #ffffff 80%);
}
@media screen and (max-width: 768px){
    .bg-page {
        background: linear-gradient(#fef7f1 0%, #ffffff 80%);
    }
}
/*
--- 活動主版 mainArea ---*/
.mainArea {
    padding-top: 50px;
	padding-bottom: 30px;
}
.mainArea h2 {        /* 活動主標 */
    color: #FFFFFF;
    font-size: 19pt;
    background-color: #009999;
    border-radius: 50px;
    border: 1px solid #009999;
    max-width: 350px;
    margin: 0 auto 10px;
    line-height: 28pt;
    text-align: center;
}
.mainArea h2 small {
	color: #333333;
}
.mainArea h3.date {    /* 活動起訖日+對象 */
    line-height: 1.5;
    font-size: 1.5rem;
} 
.mainArea h4 {        /* 活動敘述文 */
    color: #595757;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2;
    padding-top: 10px;
    padding-bottom: 3px;
    /* text-align: justify; */
    font-family: sans-serif;
}
.mainArea h4 span {
    color: #d60000;
    font-family: sans-serif;
    margin: 0 5px;
}

.mainArea h5 {        /* 內文區塊下方備註 */
    color: #2A2A2A;
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
}
.mainArea p {
	color: #000000;
	font-size: 13pt;
	text-align: center;
	margin-bottom: 0px;
}
.mainArea img{
	margin: 0px auto;
}
@media screen and (max-width: 576px){
    .mainArea {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .mainArea h3.date {    /* 活動起訖日+對象 */
        font-size: 1rem;
    } 
    .mainArea h4 {        /* 活動敘述文 */
        font-size: 15pt;
    }
    .mainArea h4 span {
        font-size: 22px;
    }   
}
/*
--- 活動內文區塊 mainText ---*/
.mainText1{
    position: relative;
    /* background-color: #fff; */
    background-color: #fefdfb;
	font-size: 24px;
	color: #545559;
	margin-top: 15px;
	margin-bottom: 40px;
	line-height: 50px;
	/* border: 3px solid #2f5597; */
    border: 2px solid #956134;
    border-radius: 40px;
	padding: 30px 5px;
	text-align: center;
}
.mainText2{
	font-size: 24px;
	color: #545559;
	margin-top: 50px;
	margin-bottom: 15px;
	line-height: 50px;
	border: 1px solid #009999;
	padding: 30px 20px;
	text-align: center;
}
.mainText1 h2{
    text-align: center;
}
.mainText2 h2 {
    width: 300px;
    margin-top: -50px;
    background-color: #009999;
    border: 1px solid #009999;
}
.mainText1 .title,
.mainText2 .title {
    text-align: center;
    font-weight: bold;
    /* color: #2f5597; */
    color: #9d743e;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 2.3rem;
    font-family: sans-serif;
}
.mainText1 .title span{
    font-family: sans-serif;
    background: blue;
    color: #fff;
    padding: 10px;
    border-radius: 50px;
    font-size: 3rem;
}
.mainText1 .title span em{
    font-style: normal;
    font-size: 2rem;
}

.mainText1 .title img{
    max-width: 80px;
}

.mainText1::before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 20px;
    right: 20px;
    bottom: -20px;
    left: -20px;
    border-radius: 40px;
    background-color: #f1f1f1;
}

.reward {
    color: #d60000;
    margin-right: 3px;
    margin-left: 3px;
    padding: 5px;
}
.flex-container {
  flex-direction: row;
}
.flexBox {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
@media screen and (max-width: 991px){
    .flexBox {
        -webkit-flex-direction: column ;
        -moz-flex-direction: column ;
        -ms-flex-direction: column ;
        -o-flex-direction:column  ;
        flex-direction: column ;
    }
    .mainText1{
        border-radius: 34px;
    }
}
@media screen and (max-width: 576px){
    .mainText1 .title,
    .mainText2 .title {
        font-size: 1.5rem;
    }
    .mainText2 h2 {
        width: 200px;
    }    
    .mainText1 .title img{
    max-width: 60px;
    }
}
/*
--- 備註文字 ---*/
.memoTable {
    font-size: 15px;
}
.memoTable td {
    vertical-align: top;
}
/*
--- 活動表格 ---*/
.mainArea .table thead th {
	height: 30px;
    border-bottom: 1px;
}
.mainArea .table-bordered th, 
.mainArea .table-bordered td {
    padding: 3px;
    border: 1px solid #a1bbbd;
    vertical-align: middle;
}
.mainArea .table-bordered {
    text-align: center;
    line-height: 2;
    vertical-align: middle;
    border-width: 1px;
    border-color: #ddd;
    padding: 10px;
} 
@media screen and (max-width: 576px){
    .mainArea .table thead th {
        font-size: 17px;
    }
    .mainArea .table-bordered td {        
        font-size: 17px;
    }
    .mainArea .table-bordered {
        line-height: 1.5;
    }
}
/*
--- 注意事項 ---*/
.noticeDesc h4 {
    font-size: 1.3rem;
}
.noticeDesc .table-bordered {
    }
ul.list-style {
    margin-bottom: .3rem;
    padding: 0 0 0 20px;
    }
/*
--- 注意事項表格 exTable ---*/
#exTable table th,
#exTable table td {
    text-align: center;
    font-size: 12px;
    border: 1px solid #ccc;
    vertical-align: inherit;
}
#exTable table th {
    color: #fff;
    background-color: #323232;
}
/*
--- 分頁 tabs submenu ---*/
.tabs{
    margin-top: 50px;
    margin-bottom: 20px;
    padding-right: 0px;
    padding-left: 0px;
    border-bottom: 1px solid #00859a;
}
.submenu ul{
    list-style-type: none;
}
.submenu li {
    float: left;
    height: 30px;
    width: 33.333%;
    font-size: 13pt;
    font-weight: 500;
    line-height: 20px;
    color: #1c100b;
    text-align: center;
    padding: 0 24px;
    list-style-type: none;
}
.submenu li a {
    color: #a9a9a9;
    padding-bottom: 5px;
}
.submenu li a.active {
    color: #FFFFFF;
    font-size: 15pt;
    background: #00859a;
    padding: 10px 10% 8px;
    border-radius: 10px 10px 0 0;
}

@media screen and (max-width: 576px){
    .submenu {
        padding: 0 0 0 0;
    }
    .submenu li {
        font-size: 12pt;
        padding: 0px;
    }
    .submenu li a {
        padding-bottom: 8px;
    }
    .submenu li a.active {
        font-size: 12pt;
        padding: 10px 10% 10px;
    }
}
@media screen and (max-width: 320px){
    .submenu li {
        font-size: 10pt;
    }
    .submenu li a.active {
        font-size: 10pt;
        padding-bottom: 13px;
    }
}

/* animate */
.js .to-animate,
.js .to-animate-2,
.js .single-animate 
.js .animate-single {
  opacity: 0;
}

.js .animate-box {
	opacity: 0;
}
/* boxItem:hover 20200428 */
.boxItem { 
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    
    max-width: 330px;
    border: 2px solid #e0e0e0;
}

.boxItem:hover {
    cursor: pointer;    /* 滑鼠手指 */
    -webkit-transform: translateY(-4px);
    -ms-transform: translateY(-4px);
    transform: translateY(-4px);
    border: 2px solid #009999;
    box-shadow: 0px 4px 5px rgba(120, 120, 120, 0.3);
}
@media screen and (max-width: 991px){
    .boxItem {
        max-width: none;
    }
}


/*
--- Swiper -------------------------------*/
.swiper-wrapper {
    list-style: none;
    padding: 10px;
}
.swiper-slide {      
    min-height: 300px;
    padding: 5px;
    margin-bottom: 20px;
    border-radius: 5px;
    border: 1px solid #ccc;
    background-color: #FFFFFF;      
    text-align: center;
    /*display: flex;
    flex-direction: column;*/
}
.swiper-slide .btn {
    bottom: 0;
}

.swiper-button-next,
.swiper-button-prev {
    display: none;
}
@media screen and (max-width: 991px) {
    .swiper-button-next,
    .swiper-button-prev {
        display: block;
    }
}

/* ================================================================================
   五週年活動主視覺
================================================================================ */

.anniversary-banner {
    position: absolute;
    top: 5%;
    left: 60%;
    /* min-height: 310px; */
    /* padding: 30px 45px; */
    /* overflow: hidden; */
    /* background-color: #fefdfb; */
    /* border-radius: 40px; */
    /* border: 2px solid #f9e5cf; */
}

.anniversary-content{
    display: flex;
    justify-content: center;
}


/* ========================================
   卡片動畫區域
======================================== */

:root{
    /* 後方卡片的位置 */
    --back-x: 80px;
    --back-y: 55px;
    
    /* 吉鶴卡交換時經過的位置 */
    --jiho-loop-x: -45px;
    --jiho-loop-y: 65px;
    
    /* 金色卡交換時經過的位置 */
    --gold-loop-x: 120px;
    --gold-loop-y: -20px;
}

.card-animation {
  position: relative;
  width: 75%;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  /*
   * 建立獨立的z-index層級，
   * 避免卡片影響外部元素
   */
  isolation: isolate;
}


/* ========================================
   卡片共用設定
======================================== */
/* 共用設定 */
.credit-card {
  position: absolute;
  top: 15%;
  left: 2%;
  width: 50%;
  height: auto;
  transform-origin: center;
  will-change: transform, opacity, filter;
}
@media (max-width:768px) {
    .credit-card {
        position: absolute;
        top: 40%;
        left: -23%;
        width: 60%;
    }
}

/* 吉鶴卡 */
.jiho-card {
  animation: jiho-card-loop 3.5s ease-in-out infinite;
}

/* 金色卡 */
.gold-card {
  animation: gold-card-loop 3.5s ease-in-out infinite;
}
/* ========================================
   吉鶴卡
======================================== */

@keyframes jiho-card-loop {
  /* 吉鶴卡停在前面 */
  0%,
  35% {
    z-index: 2;

    transform:
      translate(0%, 0%)
      rotate(-15deg)
      scale(1);

    opacity: 1;

    filter:
      brightness(1)
      drop-shadow(0 12px 10px rgba(0, 0, 0, 0.2));
  }

  /* 平順往左下移動 */
  42% {
    z-index: 2;

    transform:
      translate(-14%, 32.5%)
      rotate(-7deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 切換到後方 */
  43% {
    z-index: 1;

    transform:
      translate(-14%, 32.5%)
      rotate(-7deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 平順移動到右下後方 */
  50%,
  85% {
    z-index: 1;

    transform:
      translate(25%, 27.5%)
      rotate(-13deg)
      scale(0.9);

    opacity: 0.85;
    filter: brightness(0.8);
  }

  /* 平順往右上移動 */
  92% {
    z-index: 1;

    transform:
      translate(37.5%, -10%)
      rotate(-20deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 切換到前方 */
  93% {
    z-index: 2;

    transform:
      translate(37.5%, -10%)
      rotate(-20deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 平順回到前方位置 */
  100% {
    z-index: 2;

    transform:
      translate(0%, 0%)
      rotate(-15deg)
      scale(1);

    opacity: 1;

    filter:
      brightness(1)
      drop-shadow(0 12px 10px rgba(0, 0, 0, 0.2));
  }
}


/* ========================================
   金色卡
======================================== */

@keyframes gold-card-loop {
  /* 金色卡停在後面 */
  0%,
  35% {
    z-index: 1;

    transform:
      translate(25%, 27.5%)
      rotate(-13deg)
      scale(0.9);

    opacity: 0.85;
    filter: brightness(0.8);
  }

  /* 平順往右上移動 */
  42% {
    z-index: 1;

    transform:
      translate(37.5%, -10%)
      rotate(-20deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 切換到前方 */
  43% {
    z-index: 2;

    transform:
      translate(37.5%, -10%)
      rotate(-20deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 平順移到前方位置 */
  50%,
  85% {
    z-index: 2;

    transform:
      translate(0%, 0%)
      rotate(-15deg)
      scale(1);

    opacity: 1;

    filter:
      brightness(1)
      drop-shadow(0 12px 10px rgba(0, 0, 0, 0.2));
  }

  /* 平順往左下移動 */
  92% {
    z-index: 2;

    transform:
      translate(-14%, 32.5%)
      rotate(-7deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 切換到後方 */
  93% {
    z-index: 1;

    transform:
      translate(-14%, 32.5%)
      rotate(-7deg)
      scale(0.96);

    opacity: 1;
    filter: brightness(1);
  }

  /* 平順回到右下後方 */
  100% {
    z-index: 1;

    transform:
      translate(25%, 27.5%)
      rotate(-13deg)
      scale(0.9);

    opacity: 0.85;
    filter: brightness(0.8);
  }
}


/* 活動卡片 */
.campaign-card{
    position: relative;
    margin: 30px 0 50px;
    padding: 30px;
    border: 2px solid;
    border-radius: 40px;
    background-color: #fefdfb;
}
.campaign-card::before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 20px;
    right: 20px;
    bottom: -20px;
    left: -20px;
    border-radius: 40px;
    background-color: #f1f1f1;
}

/* 活動三 活動四 金色主題 */
.campaign-card-gold{
    position: relative;
    margin: 30px 0 50px;
    padding: 30px;
    border: 2px solid #fff;
    border-radius: 40px;
    background-color: #fff;
}

.campaign-card-gold h2{
    color: #9d743e;
}
.campaign-card-gold h2 strong{
    font-size: 3rem;
}
.campaign-card-gold h2 span{
    font-size: 2rem;
}
.campaign-card-gold .color-black{
    color: black;
}

/* 手機版 */
@media screen and (max-width: 991px) {
    .campaign-card-gold h2 strong{
        font-size: 2rem;
    }
    .campaign-card-gold h2 span{
        font-size: 1.5rem;
    }
}

.campaign-card-gold p {
    color: #595757;
    font-weight: bold;
}
.campaign-card-gold p span{
    color: #9d743e;
}

/* 活動三 活動四 按鈕 */
.campaign-card-gold .register-btn {
    /* background-color: #9d743e; */
    color: #fff;
}

/* 活動 綠色主題 */
.campaign-card-green{
    border-color: #ffffff;
}

.campaign-card-green h2{
    color: #315f28;
}

/* 活動二按鈕 */
.campaign-card-green .register-btn {
    /* background-color: #315f28; */
    color: #fff;
}

/* 活動 橘色主題 */
.campaign-card-orange {
    border-color: #ffffff;
}

.campaign-card-orange h2 {
    color: #d05208;
}
/* 活動一按鈕 */
.campaign-card-orange .register-btn {
    /* background-color: #d05208; */
    color: #fff;
}

/* 文字區域預留右側商品圖空間 */
.campaign-content{
    /* position: relative; */
    /* z-index: 2; */
    /* padding-right: 170px; */
}

.campaign-card h2{
    margin-bottom: 18px;
    font-size: 30px;
    line-height: 1.35;
    font-weight: bold;
    font-family: sans-serif;
    letter-spacing: .5px;
}

.campaign-description{
    font-size: 20px;
    /* line-height: 1.35; */
}

.campaign-description strong{
    /* font-weight: bold; */
}

.campaign-note{
    padding: 0;
    color: #656565;
    font-size: 14px;
    list-style: none;
}

.campaign-note li::before{
    content: "*";
}

/* 按鈕 */
.campaign-footer{
    margin-top: 15px;
}
.register-btn{
    display: inline-block;
    align-items: center;
    justify-content: center;
    padding: 5px 24px;
    border-radius: 99px;
    font-size: 18px;
    text-decoration: none;
    transition: opacity 0.25s, transform 0.25s;
}

.register-btn:hover{
    color: #fff;
    opacity: 0.85;
    transform: translateY(2px);
}

/* 右下角商品圖片 */
.campaign-product{
    text-align: center;
    /* position: absolute; */
    /* z-index: 3; */
    /* right: -10px; */
    /* bottom: -30px; */
    /* display: block; */
    /* object-fit: cover; */
}
.campaign-product-tea {
    /* width: 206px; */
    /* height: auto; */
}

.campaign-product-gift {
    /* width: 206px; */
    /* height: auto; */
}

.img-note {
    margin: 7px 0 0;
    color: #666;
    font-size: 13px;
    text-align: center;
}

/* 手機版 */
@media screen and (max-width: 991px) {
    .campaign-card {
        min-height: auto;
        padding: 27px 25px 22px;
        border-radius: 34px;
    }

    .campaign-content {
        padding-right: 0;
    }

    .campaign-card h2 {
        font-size: 23px;
    }

    .campaign-description {
        font-size: 17px;
    }

    .campaign-note {
        margin-top: 22px;
    }

    .campaign-product {
        position: static;
        width: 100%;
        height: auto;
        margin: 15px 0 0 auto;
    }

    .register-btn {
        min-width: 190px;
        font-size: 15px;
    }
}

/* 注意事項Q&A */
.qa-title{
    text-align: center;
    font-weight: bold;
    font-size: 2rem;
    color: #9d743e;
}

.qa {
    /* background: #F4F8FA; */
}
.red{
    color: #d60000;
}
.qa a {
    color: #04496c;
}

.qa a:hover {
    color: #50B0D5;
}

.accordion-button {
    font-size: 20px;
    font-weight: 700;
    color: #9d743e;
    background: #fff;
}

.accordion-button:not(.collapsed) {
    color: #8b6737;
    background: #fef9f5;
    box-shadow: none;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
    filter: invert(100%) invert(17%) sepia(28%) saturate(2967%) hue-rotate(179deg) brightness(91%) contrast(103%);
}

.accordion-body {
    font-size: 18px;
    color: #595757;
    line-height: 1.8;
}

.accordion-item {
    border-color: #E0DADA;
}

.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform);
    filter: brightness(0);
}

 /* 注意事項Q&A Accordion 抽獎時間表格 */
.lottery-table {
    width: 100%;
    max-width: 600px;
    border-collapse: collapse;
    color: #595757;
    font-size: 16px;
    text-align: center;
}

.lottery-table th,
.lottery-table td {
    /* padding: 6px 12px; */
    border: 2px solid #fff;
    background-color: #fff5ed;
}

/* 表頭文字不加粗 */
.lottery-table th {
    font-weight: normal;
}

/* 欄位寬度 */
.lottery-table th:nth-child(1) {
    width: 15%;
}
.lottery-table th:nth-child(2) {
    width: 40%;
}
.lottery-table th:nth-child(3),
.lottery-table th:nth-child(4) {
    width: 20%;
} 

@media screen and (max-width: 576px) {
    .qa-title {
        font-size: 1.8rem;
    }
    .accordion-button {
    height: 65px;
    }
}




/* modal 注意事項 跳視窗版 */
/* btn-gold */
.btn-gold {
	background: #8497b0;
	color: #fff;
	border: none !important;
	border: 2px solid transparent !important;
	display: inline-block;
	margin-top: 5px;
	z-index: 5;
}

/* modal-header */

.modal-header {
	background-color: #8497b0;
}

.modal-title {
	font-size: 1.2rem;
	color: #FFFFFF;
}

.close {
	font-size: 2rem;
	line-height: .75;
}

/* modal-body */

@media screen and (max-width: 576px) {

	.modal-body .table td,
	.modal-body .table th {
		font-size: .7rem;
		padding: 0.25rem;
	}

	.modal-body .btn.btn-lg {
		min-width: 80px;
	}
}

.accordion .card {
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid #eaecf6 !important;
}

.accordion .card-header {
	padding: 0;
	background-color: #8497b012;
	/* border-bottom: 1px solid rgba(0,0,0,.125); */
	border-bottom: 0;
	border-radius: 0;
}

.card-header .btn::before {
	content: " ▼ ";
	display: inline-block;
	transform: rotate(0deg);
	transition: .15s;
	color: #fff;
	margin-right: 10px;
}

.card-header .collapsed.btn::before {
	transform: rotate(-90deg);
	color: #8497b0;
}


.accordion .card-header .newBtn {
	text-align: left;
	font-weight: 600;
	color: #8497b0;
	line-height: 2;
	border-width: 0;
    width: 100%;
}

.accordion .card-header .newBtn:not(.collapsed) {
	background-color: #8497b0 !important;
	color: white;
}

.accordion .card-header .newBtn:hover,
.accordion .card-header .newBtn:active,
.accordion .card-header .newBtn:focus {
	background-color: #8497b0 !important;
	color: #ffffff;
}

.accordion .card-header .newBtn:active {
	--bs-btn-border-width: 0;
}


.accordion .card-header .newBtn:hover::before,
.accordion .card-header .newBtn:active::before,
.accordion .card-header .newBtn:focus::before {
	color: white;
}

/* ------------------------------
   固定懸浮快捷入口
------------------------------ */

.floating-actions {
    position: fixed;
    right: clamp(12px, 2vw, 28px);
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    z-index: 1080;
    display: flex;
    width: 168px;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* 共用按鈕樣式 */
.floating-action {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8b3208;
    background-color: #fff;
    border: 1px solid #eb5a0a;
    text-decoration: none;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.floating-action:hover {
    
    transform: translateY(-3px);
}

.floating-action:active {
    transform: translateY(0) scale(0.98);
}

.floating-action:focus-visible {
    outline: 4px solid rgba(235, 90, 10, 0.28);
    outline-offset: 4px;
}

/* 立即申辦：圓形按鈕 */
.floating-action-apply {
    width: 120px;
    height: 120px;

    flex-direction: column;
    gap: 6px;

    border-radius: 50%;
}

/* 卡片圖片 */
.floating-action-card {
    display: block;
    width: 72px;
    overflow: hidden;
    border-radius: 3px;
}

.floating-action-card img {
    display: block;
    width: 100%;
    height: auto;
}

/* 立即申辦文字 */
.floating-action-label {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
}

/* 更多優惠按鈕 */
.floating-action-offers {
    width: 108px;
    min-height: 40px;
    padding: 5px 10px;

    border-radius: 999px;

    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

/* 手機版 */
@media screen and (max-width: 576px) {
    .floating-actions {
        right: 8px;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        width: 98px;
        gap: 8px;
    }

    .floating-action-apply {
        width: 98px;
        height: 98px;
        gap: 5px;
    }

    .floating-action-card {
        width: 56px;
    }

    .floating-action-label {
        font-size: 0.9rem;
    }

    .floating-action-offers {
        width: 90px;
        min-height: 35px;
        padding: 4px 8px;
        font-size: 0.82rem;
    }
}

/* 使用者偏好減少動畫時停用轉場 */
@media (prefers-reduced-motion: reduce) {
    .floating-action {
        transition: none;
    }
}

