/* CATEGORY--------------------
**** general ****
**** navigation ****
**** carousel ****
**** content ****
**** card ****
**** footer ****
---------------------------- */

/***** general *****/
@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&display=swap');

:root {
    --darkgreen: #008045;
    --pink: #ff0286;
    --orange: #ff6700;
    --purple: #a30082;
    --red: #ff0000;
    --blue: #009dff;
    --yellow: #fabe00;
    --green: #66c700;
    --darkblue: #024fc4;
    --peach: #ff78dc;
    --rattan: #ff8300;
    --darkpink: #ff0094;
    --lightyellow: #f8b500;
    --lightgreen: #66c700;
    --lightblue: #0094ff;
    --indigo: #7d32ff;
    --bg: #ebece9;
    --radius: 1rem;
    --lh: 1.4rem;
}

img {
    max-width: 100%;
}

html,
body {
    font-family: helvetica, monospace, "Noto Sans TC", 微軟正黑體,
        "Microsoft JhengHei", sans-serif;
    font-size: 16px;
    width: 100%;
    position: relative;
    margin: 0;
    background-color: #ebece9;
    height: 100%;
    color: #666;
    letter-spacing: 1px;
}

body {
    overflow-x: hidden;
    padding-top: 85px;
}

html {
    line-height: var(--lh);
}

h3 {
    font-weight: 700;
    color: #000;
    line-height: 1;
    font-size: 2rem;
}

h3 small {
    font-weight: bold;
}

h4 {
    font-size: 2rem;
}

h5 {
    font-size: 1.4rem;
    font-weight: bold;
}

a {
    color: #555;
    text-decoration: none;
}

a:hover {
    color: #555;
    text-decoration: none;
}

.anchor {
    display: block;
    position: relative;
    top: 0;
    visibility: hidden;
    pointer-events: none;
}

.btn {
    border-radius: var(--radius);
}

.btn-warning {
    background: var(--yellow);
}

button:focus {
    outline: none;
}

.container {
    max-width: 1312px;
    position: relative;
    overflow: hidden;
}

.bg_darkgreen {
    background: var(--darkgreen) !important;
    color: #fff;
}

.bg_green {
    background: var(--green) !important;
    color: #fff;
}

.bg_pink {
    background: var(--pink) !important;
    color: #fff;
}

.bg_purple {
    background: var(--purple) !important;
    color: #fff;
}

.bg_orange {
    background: var(--orange) !important;
    color: #fff;
}

.bg_yellow {
    background: var(--yellow) !important;
    color: #fff;
}

.bg_dblue {
    background: var(--darkblue) !important;
    color: #fff;
}

.bg_peach {
    background: var(--peach) !important;
    color: #fff;
}

.bg_rattan {
    background: var(--rattan) !important;
    color: #fff;
}

.bg_darkpink {
    background: var(--darkpink) !important;
    color: #fff;
}

.bg_blue {
    background: var(--blue) !important;
    color: #fff;
}

.bg_red {
    background: var(--red) !important;
    color: #fff;
}

.bg_lightyellow {
    background: var(--lightyellow) !important;
    color: #fff;
}

.bg_lightgreen {
    background: var(--lightgreen) !important;
    color: #fff;
}

.bg_lightblue {
    background: var(--lightblue) !important;
    color: #fff;
}

.bg_indigo {
    background: var(--indigo) !important;
    color: #fff;
}

.color_darkgreen {
    color: var(--darkgreen);
}

.color_orange {
    color: var(--orange);
}

.color_pink {
    color: var(--pink);
}

.color_yellow {
    color: var(--yellow);
}

.color_dblue {
    color: var(--darkblue);
}

.color_blue {
    color: var(--blue);
}

.color_peach {
    color: var(--peach);
}

.color_rattan {
    color: var(--rattan);
}

.color_darkpink {
    color: var(--darkpink);
}

.color_lightyellow {
    color: var(--lightyellow);
}

.color_red {
    color: var(--red);
}

.color_lightgreen {
    color: var(--lightgreen);
}

.color_lightblue {
    color: var(--lightblue);
}

.color_indigo {
    color: var(--indigo);
}

.color_black {
    color: #000;
}

.border-bottom {
    border-bottom: 1px solid #939393 !important;
}

.rounded {
    border-radius: var(--radius) !important;
}

.w-180px {
    width: 180px;
    min-width: 180px;
}

.text-break {
    word-break: break-all;
}

.overflow-auto {
    overflow: auto !important;
}

.min-100vh {
    min-height: 100vh;
}

/* section {
  overflow: hidden;
} */

/***** navigation *****/
.brand {
    width: 100%;
    /* max-width: 150px;
    min-width: 150px; */
}

nav {
    width: 100%;
    min-height: 85px;
    background: #fff;
    z-index: 1000;
    position: fixed;
    top: 0;
}

nav ul:not(.nav_layer_child) {
    display: flex;
}

nav ul>li a {
    color: #555;
    display: inline-block;
    margin: 0 3px;
    height: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    word-break: keep-all;
    background-color: transparent;
    border-radius: 99rem;
    padding: 4px 14px;
    transition: 0.3s;
}

nav ul>li {
    display: inline-block;
    width: auto;
    margin-left: 1rem;
    position: relative;
}

.navbar-toggler {
    cursor: pointer;
    display: none;
}

.navtogglebar {
    width: 36px;
    height: 4px;
    background-color: #555;
    margin: 8px 0;
    border-radius: 3px;
    display: block;
    transition: .3s;
    opacity: 1;
}

.navtogglebar:nth-child(1) {
    background-color: var(--pink);
}

.navtogglebar:nth-child(2) {
    background-color: var(--orange);
}

.navtogglebar:nth-child(3) {
    background-color: var(--yellow);
}

nav ul li img {
    height: 25px;
}

nav ul>li a:hover,
nav ul>li a.active {
    color: #fff;
}

nav ul>li:nth-child(1) a:hover,
nav ul>li:nth-child(1) a.active {
    background: var(--darkgreen);
}

nav ul>li#features a:hover,
nav ul>li#features a.active {
    background: var(--pink);
    color: #fff;
}

nav ul>li#facility a:hover,
nav ul>li#facility a.active {
    background: var(--orange);
    color: #fff;
}

nav ul>li#price a:hover,
nav ul>li#price a.active {
    background: var(--purple);
    color: #fff;
}

nav ul>li#news a:hover,
nav ul>li#news a.active {
    background: var(--red);
    color: #fff;
}

nav ul>li:nth-child(6) a:hover,
nav ul>li:nth-child(6) a.active {
    background: var(--blue);
    color: #fff;
}

nav ul>li:nth-child(7) a:hover,
nav ul>li:nth-child(7) a.active {
    background: var(--yellow);
    color: #fff;
}

nav ul>li#member a:hover,
nav ul>li#member a.active {
    background: var(--green);
    color: #fff;
}

.nav_layer::before {
    content: "";
    display: none;
    position: absolute;
    bottom: -20px;
    width: 0;
    height: 0;
    border-width: 12px;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.nav_layer_child {
    padding: 0;
}

nav>ul>li#features .nav_layer_child>li a:hover {
    background: #ff63b1;
}

nav>ul>li#news .nav_layer_child>li a:hover {
    background: #ff6666;
}

nav>ul>li.loggedIn#member .nav_layer_child>li a:hover {
    background: #8dd246;
}

nav.open .navtogglebar:nth-child(1) {
    transform: rotate(45deg) translate(8px, 9px);
}

nav.open .navtogglebar:nth-child(2) {
    transform: rotate(-45deg);
}

nav.open .navtogglebar:nth-child(3) {
    opacity: 0;
}

@media screen and (min-width: 1201px) {
    nav>ul>li:hover .nav_layer_child {
        display: block;
    }

    .nav_layer_child {
        position: absolute;
        padding: 0;
        top: calc(100% + 20px);
        left: 0;
        display: none;
        border-radius: var(--radius);
        overflow: hidden;
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
    }

    .nav_layer.open~.nav_layer_child,
    .nav_layer:hover~.nav_layer_child {
        display: block;
    }

    #member .nav_layer_child {
        left: inherit;
        right: 0;
        display: none;
    }

    .loggedIn#member:hover .nav_layer_child {
        display: block;
    }

    .nav_layer.open::before,
    .nav_layer:hover::before {
        display: block;
        border-color: transparent transparent #fff transparent;
    }

    nav ul>li#features .nav_layer.open::before,
    nav ul>li#features .nav_layer:hover::before,
    nav>ul>li#features:hover .nav_layer::before {
        display: block;
        border-color: transparent transparent var(--pink) transparent;
    }

    nav ul>li#news .nav_layer.open::before,
    nav ul>li#news .nav_layer:hover::before,
    nav>ul>li#news:hover .nav_layer::before {
        display: block;
        border-color: transparent transparent var(--red) transparent;
    }

    nav ul>li.loggedIn#member .nav_layer.open::before,
    nav ul>li.loggedIn#member .nav_layer:hover::before,
    nav>ul>li.loggedIn#member:hover .nav_layer::before {
        display: block;
        border-color: transparent transparent var(--green) transparent;
    }

    .nav_layer_child>li {
        display: block;
        margin: 0;
    }

    nav>ul>li#features .nav_layer_child {
        background: var(--pink);
    }

    nav>ul>li#news .nav_layer_child {
        background: var(--red);
    }

    nav>ul>li.loggedIn#member .nav_layer_child {
        background: var(--green);
    }

    nav ul.nav_layer_child>li a {
        justify-content: start;
    }
}

nav ul.nav_layer_child>li a {
    color: #fff;
    padding: 10px 30px;
    border-radius: 0;
    margin: 0;
    white-space: nowrap;
}

nav ul.nav_layer_child>li:hover a {
    background: #f5f5f5;
    border-radius: 0;
}

nav ul.nav_layer_child>li a img {
    height: 14px;
    justify-self: flex-end;
    position: absolute;
    right: 10px;
    display: none;
}

nav ul.nav_layer_child>li:hover a img {
    display: inline-block;
}

@media screen and (max-width: 575px) {
    .brand {
        max-width: 84%;
        height: auto;
    }

    nav ul>li a {
        padding: 3px;
        height: 100%;
    }
}

@media screen and (max-width: 1200px) {
    nav ul.nav_layer_child>li a {
        color: #555;
        border-bottom: 1px solid #fff;
    }

    nav ul:not(.nav_layer_child) {
        width: auto;
        position: fixed;
        display: block;
        top: 85px;
        left: 0;
        padding: 0;
        background: #fff;
        z-index: 0;
        width: 100%;
        overflow: hidden;
        height: 0;
        transition: 0.3s;
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
    }

    nav.open ul:not(.nav_layer_child) {
        height: calc(100% - 85px);
        overflow: auto;
    }

    nav ul li {
        margin-left: 0;
        width: 100%;
    }

    .navbar-toggler {
        display: inline-block;
        position: fixed;
        top: 12px;
        right: 20px;
        width: auto;
    }

    .navbar-toggler a {
        height: 52px;
    }

    nav ul>li a {
        line-height: 1.8;
        padding: 8px;
        height: 60px;
        border-radius: 0;
        margin: 0;
        border-bottom: 1px solid #eee;
    }

    .nav_layer {
        position: relative;
    }

    .nav_layer::before {
        border-color: #fff transparent transparent transparent;
        display: block;
        bottom: -20px;
    }

    .nav_layer:hover::before,
    .nav_layer:active::before,
    .nav_layer:focus::before {
        display: none;
    }

    /* .nav_layer.active::before, .nav_layer:hover::before {
    border-color: var(--pink) transparent transparent transparent;
  } */
    nav.open ul.nav_layer_child {
        display: block;
        position: relative;
        /* height: 180px; 2021/10/15 改 */
        border-radius: 0;
    }

    /* nav ul > li .nav_layer {
    pointer-events: none;
  } */

    nav ul>li#features .nav_layer.active::before {
        border-color: var(--pink) transparent transparent transparent;
    }

    nav ul>li#news .nav_layer.active::before {
        border-color: var(--red) transparent transparent transparent;
    }

    nav>ul>li .nav_layer_child {
        background: rgba(0, 0, 0, 0.05);
    }

    /* nav > ul > li:nth-child(2) .nav_layer_child {
    background: rgba(255, 2, 134, 0.1);
  }

  nav > ul > li:nth-child(5) .nav_layer_child {
    background: rgba(255, 0, 0, 0.1);
  } */
}

/***** carousel *****/
/* .kv_section {
  margin-top: 85px;
} */

.carousel-item img {
    width: 100%;
    min-height: 300px;
    object-fit: cover;
    /* height: calc(100vh - 140px);
  object-fit: cover; */
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    /* min-height: 300px; */
    object-fit: cover;
}

.carousel {
    /* border-radius: var(--radius); */
    /* overflow: hidden; */
    height: 100%;
}

.carousel-inner {
    border-radius: var(--radius);
}

.carousel-indicators {
    bottom: -48px;
}

.carousel-indicators li {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    margin-left: 6px;
    background-clip: inherit;
    border-top: 0;
    border-bottom: 0;
    box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.carousel-indicators .active {
    transform: scale(1.5);
}

.f1 .carousel-indicators .active {
    background: var(--darkblue);
}

.f2 .carousel-indicators .active {
    background: var(--peach);
}

.f3 .carousel-indicators .active {
    background: var(--rattan);
}

.f4 .carousel-indicators .active {
    background: var(--darkpink);
}

.f5 .carousel-indicators .active {
    background: var(--lightyellow);
}

.f6 .carousel-indicators .active {
    background: var(--red);
}

.f7 .carousel-indicators .active {
    background: var(--lightgreen);
}

.f8 .carousel-indicators .active {
    background: var(--lightblue);
}

.f9 .carousel-indicators .active {
    background: var(--indigo);
}

.features .swiper-pagination-bullet-active {
    background: var(--pink);
}

.f1 .swiper-pagination-bullet-active {
    background: var(--darkblue);
}

.f2 .swiper-pagination-bullet-active {
    background: var(--orange);
}

.f3 .swiper-pagination-bullet-active {
    background: var(--peach);
}

.f4 .swiper-pagination-bullet-active {
    background: var(--darkpink);
}

.f5 .swiper-pagination-bullet-active {
    background: var(--lightyellow);
}

.f6 .swiper-pagination-bullet-active {
    background: var(--red);
}

.f7 .swiper-pagination-bullet-active {
    background: var(--lightgreen);
}

.f8 .swiper-pagination-bullet-active {
    background: var(--lightblue);
}

.f9 .swiper-pagination-bullet-active {
    background: var(--indigo);
}

.carousel-control-next,
.carousel-control-prev {
    opacity: 0.8;
    width: 6%;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    display: inline-block;
    min-width: 48px;
    width: 48px;
    height: 48px;
    background: no-repeat 50%/100% 100%;
    border-radius: 50%;
    padding: 6px;
    background-size: 30%;
}

.carousel-control-next-icon {
    background-color: var(--blue);
    background-image: url(../images/arrow-r.svg);
}

.carousel-control-prev-icon {
    background-color: var(--pink);
    background-image: url(../images/arrow-l.svg);
}

div[class^="swiper-button"]:focus {
    outline: none;
}

.swiper-button-next,
.swiper-button-prev {
    transform: translateY(-50%);
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
    content: '';
    display: block;
    width: 27px;
    height: 27px;
    background-color: var(--pink);
    background-image: url(../images/arrow-l.svg);
    background-repeat: no-repeat;
    background-size: 100% 24px;
    background-position: center;
    opacity: 0.55;
    padding: 20px;
    left: 10px;
    position: absolute;
    border-radius: 50%;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
    content: '';
    display: block;
    width: 27px;
    height: 27px;
    background-color: var(--blue);
    background-image: url(../images/arrow-r.svg);
    background-repeat: no-repeat;
    background-size: 100% 24px;
    background-position: center;
    opacity: 0.55;
    padding: 20px;
    right: 10px;
    position: absolute;
    border-radius: 50%;
}

.swiper-container {
    padding-bottom: 40px;
    position: relative;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    margin-left: 6px;
    background-clip: inherit;
    background: #fff;
    box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(0, 0, 0, 0.5);
}

.swiper-pagination-bullet-active {
    transform: scale(1.5);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.swiper-slide {
    overflow: hidden;
    border-radius: var(--radius);
    height: 0;
    padding-bottom: 49%;
}

/* .index .swiper-slide {
    min-height: 400px;
} */

.swiper-slide img {
    position: absolute;
    top: 0;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: 0.35;
}

.f9 .swiper-slide img {
    min-height: 300px;
    /* max-height: 300px; */
}

.rwd-show {
    display: none;
}

.rwd-hide {
    display: block;
}

@media screen and (max-width: 575px) {
    .swiper-slide {
        overflow: hidden;
        border-radius: var(--radius);
        height: 0;
        padding-bottom: 100%;
    }

    .slide_row .swiper-slide {
        padding-bottom: 108%;
    }

    .rwd-show {
        display: block;
    }

    .rwd-hide {
        display: none;
    }
}

/***** content *****/

.pictxt .kv_section {
    position: relative;
}

.pictxt .kv_section>img {
    min-height: 300px;
    max-height: 50vh;
    object-fit: cover;
    border-radius: var(--radius);
    filter: brightness(0.5);
}

/* 遊樂設施頁 */
.description {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    z-index: 10;
}

.description h2,
.title {
    background: #f5f5f5;
    border-radius: 99rem;
    padding: 10px 40px 8px;
    position: relative;
    font-weight: 700;
}

.description h2 img,
.facility h2 img,
.news h2 img,
h2.deco img {
    position: absolute;
    top: 0;
    left: 0;
    height: 75px;
}

h2 img {
    transition: .3s;
    transform: scaleY(1) rotate(0deg);
    animation: jump .5s infinite alternate;
}

.facility table td {
    padding-right: 1.5rem;
}

.s-pic {
    overflow: hidden;
    height: 0;
    padding-bottom: 56.5%;
    cursor: pointer;
}

#zoomModal {
    opacity: 0;
}

#zoomModal .modal-content {
    background: transparent;
    border: none;
    padding: 0;
}

#zoomModal .close {
    position: absolute;
    left: 50%;
    top: -4vh;
    transform: translateX(-50%);
    background: #000;
    color: #fff;
    z-index: 10;
    text-shadow: none;
    width: 36px;
    height: 36px;
    opacity: 1;
    border-radius: 50%;
    border: 2px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Noto Sans TC';
    font-size: 16px;
}

#zoomModal .swiper-slide {
    padding-bottom: 56.5%;
}

.modal-backdrop {
    width: 100%;
    height: 100%;
}

@keyframes jump {
    from {
        transform: scaleY(1) rotate(-1deg);
    }

    to {
        transform: scaleY(0.95) rotate(1deg);
    }
}

.description h2 img:nth-child(1) {
    left: -30px;
    top: -12px;
}

.description h2 img:nth-child(2) {
    left: 70%;
    top: -38px;
}

h2.decoboth img:nth-child(1) {
    left: 104%;
    top: 7px;
}

.f5 h2.decoboth img:nth-child(1),
.f6 h2.decoboth img:nth-child(1) {
    left: 105%;
    top: -20px;
}

h2.decoboth img:nth-child(2) {
    top: 5px;
    left: -58px;
}

.f2 h2 img:nth-child(1) {
    left: 103%;
    top: 0;
    height: 58px;
}

.f2 h2 img:nth-child(2) {
    left: -65%;
    top: -13px;

}

.news h2 img {
    left: -71px;
    top: -20px;
}

.news .bg-white p {
    margin-bottom: 0;
}

.news ul {
    margin-bottom: 0;
}

.news section a {
    word-break: break-all;
}

h2.deco img {
    left: 100%;
    top: -13px;
}

.description p {
    font-size: 3.5vmin;
}

/* video */
.video {
    position: relative;
    padding-bottom: 56.5%;
    height: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
}

.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

}

/* 園區特色頁 */
.color_kidpro {
    color: #4faeb4;
}

.five_power {
    border-radius: var(--radius);
    overflow: hidden;
}

.features .mascot img {
    max-width: 130px;
}

@media screen and (max-width: 575px) {
    .five_power {
        position: relative;
        height: 0;
        width: 100%;
        padding-bottom: 100%;
    }

    .five_power>img {
        width: 180%;
        position: absolute;
        top: 0;
        left: -40%;
        height: 100%;
        max-width: inherit;
    }
}

/* 最新消息頁 */
.subtitle {
    text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff,
        0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff,
        0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff,
        0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff,
        0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff,
        0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
    position: relative;
}

.news section .bg-white img {
    width: 100%;
    /* height: 350px;
  object-fit: cover; */
}

/* 聯絡我們、會員專區  */
.contact,
.member {
    /* min-height: calc(100% - 120px); */
    /* 2021/08/18 新增 */
    margin: 0;
    height: fit-content;
    background-color: #ebece9;
    /* background-color: #d0f78d; */
    /* background: url(../images/member/bg.jpg) repeat center; */
    background-size: 30px;
    font-family: '微軟正黑體', sans-serif;
    flex-grow: 1;
}

.admin-header {
    margin: 0;
    /* background: url(../images/member/bg.jpg) repeat center; */
    background-size: 30px;
}

.qr_code {
    max-width: 200px;
}

/***** card *****/
.cards a {
    display: block;
    height: 100%;
    overflow: hidden;
    -webkit-border-radius: var(--radius);
    -moz-border-radius: var(--radius);
    -ms-border-radius: var(--radius);
    border-radius: var(--radius);
    box-shadow: 0 1px 1px 0px rgba(0, 0, 0, 0.2);
}

.card_bg {
    background: #fff;
    transition: background 0.2s linear;
    height: calc(100% - 250px);
}

.card_img {
    width: 100%;
    overflow: hidden;
    background: #000;
    border-radius: var(--radius) var(--radius) 0 0;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
}

.card_img img {
    height: 250px;
    width: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.9;
    transition: all 0.2s linear;
    border-radius: var(--radius) var(--radius) 0 0;
}

.card .go {
    width: 16px;
    position: relative;
    right: 36px;
    opacity: 0.3;
    transition: all 0.5s linear;
}

.card .mascot {
    width: 60px;
    height: 60px;
    object-fit: contain;
    position: relative;
    right: 36px;
    opacity: 0;
    transition: all 0.5s linear;
    margin-right: 4px;
}

.cards .card:hover h3,
.cards .card:hover p {
    color: #fff;
}

.cards .card:hover .card_img img {
    opacity: 1;
    transform: scale(1.1);
}

.cards .card:hover .go,
.cards .card:hover .mascot {
    opacity: 1;
    right: 14px;
}

.card_text {
    width: 80%;
}

.shadow {
    box-shadow: 0 1px 1px 0px rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

/* index */
.cards>div>div:nth-child(1) .card:hover .card_bg {
    background: var(--darkgreen);
}

.cards>div>div:nth-child(2) .card:hover .card_bg {
    background: var(--pink);
}

.cards>div>div:nth-child(3) .card:hover .card_bg {
    background: var(--orange);
}

.cards>div>div:nth-child(4) .card:hover .card_bg {
    background: var(--purple);
}

.cards>div>div:nth-child(5) .card:hover .card_bg {
    background: var(--red);
}

.cards>div>div:nth-child(6) .card:hover .card_bg {
    background: var(--blue);
}

.cards>div>div:nth-child(7) .card:hover .card_bg {
    background: var(--yellow);
}

.cards>div>div:nth-child(8) .card:hover .card_bg {
    background: var(--green);
}

/* facility */
.facility .cards>div>div:nth-child(1) .card:hover .card_bg {
    background: var(--darkblue);
}

.facility .cards>div>div:nth-child(2) .card:hover .card_bg {
    background: var(--rattan);
}

.facility .cards>div>div:nth-child(3) .card:hover .card_bg {
    background: var(--peach);
}

.facility .cards>div>div:nth-child(4) .card:hover .card_bg {
    background: var(--darkpink);
}

.facility .cards>div>div:nth-child(5) .card:hover .card_bg {
    background: var(--yellow);
}

.facility .cards>div>div:nth-child(6) .card:hover .card_bg {
    background: var(--red);
}

.facility .cards>div>div:nth-child(7) .card:hover .card_bg {
    background: var(--green);
}

.facility .cards>div>div:nth-child(8) .card:hover .card_bg {
    background: var(--lightblue);
}

.facility .cards>div>div:nth-child(9) .card:hover .card_bg {
    background: var(--indigo);
}

/***** footer *****/
footer {
    background: #f5f4ef;
    position: static;
    width: 100%;
    bottom: 0;
}

footer li {
    display: inline-block;
}

footer a {
    color: rgba(0, 0, 0, 0.65);
}

footer img {
    width: 32px;
}

.copyright {
    padding: 10px 0;
    background: #989896;
    color: #fff;
}

.copyright a {
    color: #fff;
}

/* 2021/08 新增  ▼*/
/***** 會員專區 *****/
input:read-only,
select:disabled {
    border: 1px solid rgb(161, 161, 161);
    color: rgb(161, 161, 161);
    opacity: 1;
}

select.word-area {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/chevron-down.svg) no-repeat right 8px center, #fff;
    background-size: 12px;
}

.rule b {
    display: block;
    margin-bottom: 6px;
    color: #00c900;
}

.member .rule ul {
    padding-left: 20px;
}

.member a:not(.btn-cta, .page-link) {
    text-decoration: underline;
}

.member p {
    margin: 1rem 0 .5rem;
}

.member input:focus {
    outline: none;
}

.member .main {
    width: 100%;
    max-width: 450px;
    height: auto;
    margin: 0 auto;
    padding: 15px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.member-title {
    text-align: center;
    padding: 1rem 0;
    position: relative;
    font-weight: bold;
}

.member-title .deco {
    width: 32px;
    left: -3px;
    top: -6px;
    position: relative;
    vertical-align: middle;
}

.member-title a {
    font-size: 18px;
    position: absolute;
    right: 0;
    line-height: 32px;
}

.word-area {
    background: #fff;
    border: 1px solid black;
    border-radius: 8px;
    padding: 8px 16px;
    box-sizing: border-box;
    min-height: 36px;
    width: 100%;
}

.paper {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    padding: 30px;
    box-sizing: border-box;
    min-height: 36px;
    text-align: center;
    margin-bottom: 2rem;
    position: relative;
}

.paper .deco-wrapper {
    position: absolute;
    right: 8px;
    bottom: 0;
    pointer-events: none;
}

.scrollable {
    height: 60vh;
    overflow: auto;
}

.foot {
    padding: 20px 0;
    text-align: center;
}

.deco-foot {
    position: fixed;
    bottom: 0;
    right: 16px;
}

.deco-foot-left {
    width: 46px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.deco-foot-all {
    width: 85%;
    margin: 0 7.5%;
    position: fixed;
    bottom: 5%;
}

.deco-wrapper {
    position: relative;
}

.deco-right {
    position: absolute;
    right: 0;
    top: 0;
}

.btn-cta,
.btn-cta:hover,
.btn-cta:focus {
    border-style: none;
    background: #00c900;
    color: #fff;
    font-size: 17px;
    padding: 8px 10px;
    border-radius: 8px;
    width: 150px;
    letter-spacing: 1px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    display: inline-block;
}

.disabled {
    opacity: 0.6;
    pointer-events: none;
}

.text-center {
    text-align: center;
}

.flex-grow {
    flex-grow: 1;
    position: relative;
}

.checkbox [type=checkbox] {
    display: none;
}

.checkbox [type=checkbox]~span {
    display: inline-block;
    vertical-align: bottom;
    width: 20px;
    height: 20px;
    background: url(../images/member/uncheck.svg) 100% no-repeat;
    transition: .3s;
}

.checkbox [type=checkbox]:checked~span {
    background: url(../images/member/check.svg) 100% no-repeat;
}

.radio {
    display: inline-block;
    margin-bottom: .5rem;
}

.radio [type=radio] {
    display: none;
}

.radio [type=radio]~span {
    display: inline-block;
    vertical-align: -4px;
    width: 20px;
    height: 20px;
    background: url(../images/member/uncheck.svg) 100% no-repeat;
    transition: .3s;
    margin: 0 4px 0 10px;
}

.radio [type=radio]:checked~span {
    background: url(../images/member/check.svg) 100% no-repeat;
}

/* verification */
.verification input {
    margin: 0 8px;
    text-align: center;
    box-sizing: border-box;
    font-size: 16px;
    border-style: none;
    background: transparent;
    padding-bottom: 4px;
    border-bottom: 2px solid #000;
}

.inputalert {
    display: none;
    color: #f00;
    margin-bottom: .5rem;
}

.inputalert.show {
    display: block;
}

/* 兒童評測 */
.collapse-tab {
    width: 100%;
}

.collapse-tab label {
    background: var(--blue);
    border-radius: 6px 6px 0 0;
    border: 2px solid var(--darkblue);
    color: #fff;
    width: 100%;
    padding: 8px;
    display: block;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 1.2rem;
    position: relative;
    cursor: pointer;
    margin-bottom: 0;
}

.collapse-tab label::after {
    content: '▼';
    position: absolute;
    right: 16px;
    font-size: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-family: fantasy;
}

.collapse-tab input:checked~label::after {
    content: '▲';
}

.collapse-tab input {
    display: none;
}

.collapse-tab-content {
    background: #fff;
    transition: .6s;
    overflow-y: hidden;
    max-height: 0;
    height: auto;
    border-radius: 0 0 6px 6px;
    overflow: hidden;
    border: 2px solid #024fc4;
    border-top: none;
}

.collapse-tab-content>table {
    width: 100%;
    text-align: center;
}

.member .collapse-tab-content a,
.member .nav-tabs a.nav-link {
    text-decoration: none;
}

.collapse-tab-content>table th {
    font-weight: bold;
}

.collapse-tab-content>table tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    line-height: 2.5;
}

.collapse-tab-content .btn-cta {
    padding: 3px 12px;
    width: auto;
    display: inline;
}

.collapse-tab input:checked~.collapse-tab-content {
    max-height: 3000px;
}

.table-striped img {
    height: 60px;
    position: relative;
    margin: 0 8px;
}

table.table-striped tr {
    /* line-height: 70px; */
    position: relative;
}

[tabindex="-1"]:focus {
    outline: none;
}

.member .nav-tabs {
    width: 100%;
}

.member a.nav-link {
    border: 0;
    border-top: 6px solid transparent;
    font-weight: bold;
}

/* .member a.nav-link:focus, .member a.nav-link:focus-visible, .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
    outline: none;
    border-top: 6px solid transparent;
} */
.member a.nav-link:hover {
    border-color: transparent;
}

.nav-tabs .nav-item.show:nth-child(1) .nav-link,
.nav-tabs li:nth-child(1) .nav-link.active,
.member li:nth-child(1) a.nav-link.active:hover {
    border-color: #fff;
    border-top: 6px solid var(--blue);
}

.nav-tabs .nav-item.show:nth-child(2) .nav-link,
.nav-tabs li:nth-child(2) .nav-link.active,
.member li:nth-child(2) a.nav-link.active:hover {
    border-color: #fff;
    border-top: 6px solid var(--rattan);
}

.nav-tabs .nav-item.show:nth-child(3) .nav-link,
.nav-tabs li:nth-child(3) .nav-link.active,
.member li:nth-child(3) a.nav-link.active:hover {
    border-color: #fff;
    border-top: 6px solid var(--darkpink);
}

.nav-tabs .nav-item {
    width: 33.3%;
    text-align: center;
}

.questions label {
    display: block;
}

table.dataTable>tbody>tr.child ul.dtr-details {
    width: 100%;
}

table.dataTable>tbody>tr.child span.dtr-title {
    min-width: 85px !important;
}

/* 2021/08 新增 ▲*/

/* price 票價資訊頁 */
table.price_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    text-align: center;
    margin-bottom: 20px;
}

table.price_table thead tr:first-child th:first-child {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    border: 2px solid #dadada;
    border-bottom: 0;
}

table.price_table thead tr:not(:first-child) th:first-child {
    border-left: 2px solid #dadada;
}

table.price_table thead tr:not(:first-child) th:last-child {
    border-right: 2px solid #dadada;
}

table.price_table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 20px;
}

table.price_table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 20px;
}

table.price_table thead tr {
    color: #fff;
}

table.price_table thead tr th {
    padding-top: 10px;
    padding-bottom: 10px;
}

table.price_table tbody td {
    border-right: 1px solid #dadada;
    color: #000;
}

table.price_table tbody tr:last-child td {
    border-bottom: 2px solid #dadada;
}

table.price_table tbody td:first-child {
    font-weight: bold;
    text-align: left;
    border-left: 2px solid #dadada;
}

table.price_table td.color_coral {
    color: #e86349;
}

table.price_table .deco_border {
    position: relative;
}

table.price_table .deco_border span.deco {
    display: inline-block;
    position: absolute;
    height: 60%;
    width: 1px;
    right: 0;
    top: 20%;
    background-color: #fff;
}

table.price_table.first_table tr.title {
    background-color: #e86349;
}

table.price_table.first_table tr.sub_title {
    background-color: #fd7e5f;
}

table.price_table.first_table tbody tr:nth-child(odd) {
    background-color: #f8f8f7;
}

table.price_table.first_table tbody tr:nth-child(even) {
    background-color: #fff;
}

table.price_table.first_table tbody td:nth-child(5) {
    border-right: 2px solid #dadada;
}

table.price_table.second_table tr.title {
    background-color: #eb843f;
}

table.price_table.second_table tr.sub_title {
    background-color: #feb47b;
}

table.price_table.second_table tbody tr:first-child {
    background-color: #fcf1ec;
}

table.price_table.second_table tbody tr:nth-child(2) {
    background-color: #fce0d0;
}

table.price_table.second_table tbody td:nth-child(6) {
    border-right: 2px solid #dadada;
}

table.price_table.second_table tbody tr:last-child td {
    border-right: 2px solid #dadada;
}

table.price_table.third_table tr.title {
    background-color: #feb9b9;
    color: var(--red);
    text-shadow: 1px 1px #fff, -1px 1px #fff, 1px -1px #fff, -1px -1px #fff;
}

table.price_table.third_table tbody tr:nth-child(odd) {
    background-color: #fff;
}

table.price_table.third_table tbody tr:nth-child(even) {
    background-color: #f8f8f7;
}

table.price_table.third_table tbody td:not(:last-child) {
    border-right: none;
}

table.price_table.third_table span.block_hint {
    background-color: #ffe6ec;
    border-radius: 20px;
    display: inline-block;
    padding: 2px 18px;
}

table.price_table.fourth_table tr.title {
    background-color: #60e5c8;
}

table.price_table.fourth_table tr.sub_title {
    background-color: #24a1a5;
}

table.price_table.fourth_table tbody tr:nth-child(odd) {
    background-color: #aefcea;
}

table.price_table.fourth_table tbody tr:nth-child(even) {
    background-color: #f9f8f7;
}

table.price_table.second_table tbody td:nth-child(7) {
    border-right: 2px solid #dadada;
}

table.price_table.fifth_table tr.title {
    background-color: #ecd6e8;
    color: #a30a82;
    text-shadow: 1px 1px #fff, -1px 1px #fff, 1px -1px #fff, -1px -1px #fff;
}

table.price_table.fifth_table tbody td {
    border-right: 2px solid #dadada;
}

table.price_table.fifth_table .deposit {
    position: relative;
    display: flex;
    justify-content: space-evenly;
    border-radius: 20px;
    color: #a30a82;
    background-color: #fff;
}

table.price_table.fifth_table .deposit .deposit_item {
    text-align: center;
}

table.price_table.fifth_table .deposit .deco {
    width: 2px;
    background: linear-gradient(180deg, transparent 0%, transparent 20%, #ECD6E8 30%, #ECD6E8 70%, transparent 80%, transparent 100%);
}

table.price_table.fifth_table .term {
    font-weight: 400;
}

.info_section .develop_title {
    max-width: 560px;
    margin: auto;
    margin-bottom: 20px;
}

.info_section .develop_title {
    width: 100%;
}

@media screen and (min-width: 1201px) {
    table.price_table thead tr.title {
        font-size: 2rem;
    }

    table.price_table thead tr.sub_title {
        font-size: 1.2rem;
    }

    table.price_table thead tr span.hint {
        font-size: 0.875rem;
    }

    table.price_table tbody td {
        padding: 5px;
        font-size: 1.2rem;
    }

    table.price_table tbody td:first-child,
    table.price_table thead th.align_left {
        padding-left: 60px;
        text-align: left;
    }

    table.price_table tbody span.hint {
        font-size: 1rem;
    }

    table.price_table.fifth_table tbody td {
        padding: 30px;
    }

    table.price_table.fifth_table .deposit {
        margin-bottom: 30px;
    }

    table.price_table.fifth_table .deposit .deposit_item {
        padding: 20px 10px;
        font-size: 1.2rem;
    }

    table.price_table.fifth_table .term {
        font-size: 1rem;
    }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
    table.price_table thead tr.title {
        font-size: 2rem;
    }

    table.price_table thead tr.sub_title {
        font-size: 1.2rem;
    }

    table.price_table thead tr span.hint {
        font-size: 0.875rem;
    }

    table.price_table tbody td {
        padding: 5px;
        font-size: 1.2rem;
    }

    table.price_table tbody td:first-child,
    table.price_table thead th.align_left {
        padding-left: 30px;
        text-align: left;
    }

    table.price_table tbody span.hint {
        font-size: 1rem;
    }

    table.price_table.fifth_table tbody td {
        padding: 20px;
    }

    table.price_table.fifth_table .deposit {
        margin-bottom: 30px;
    }

    table.price_table.fifth_table .deposit .deposit_item {
        padding: 20px 10px;
        font-size: 1.2rem;
    }

    table.price_table.fifth_table .term {
        font-size: 1rem;
    }
}

@media screen and (max-width: 768px) {
    table.price_table thead tr.title {
        font-size: 1.5rem;
    }

    table.price_table:not(.fourth_table) thead tr.sub_title {
        font-size: 0.875rem;
    }

    table.price_table thead tr span.hint {
        font-size: 0.75rem;
    }

    table.price_table:not(.fourth_table) tbody td {
        padding: 8px 2px;
        font-size: 0.875rem;
    }

    table.price_table.fourth_table thead tr.sub_title,
    table.price_table.fourth_table tbody td {
        padding: 8px 2px;
        font-size: 0.75rem;
    }

    table.price_table tbody td:first-child,
    table.price_table thead th.align_left {
        padding-left: 6px;
        text-align: left;
    }

    table.price_table tbody span.hint {
        font-size: 0.625rem;
    }

    table.price_table.fifth_table tbody td {
        padding: 10px 8px;
    }

    table.price_table.fifth_table .deposit {
        margin-bottom: 10px;
    }

    table.price_table.fifth_table .deposit .deposit_item {
        padding: 10px 2px;
        font-size: 0.75rem;
    }

    table.price_table.fifth_table .term {
        font-size: 0.75rem;
    }
}

/* ---- 交通資訊 ----*/
.Taiwan-74 {
    font-size: 1rem;
}

/* ---- 特約商店 ----*/
.AppointedStore-images-grou .row {
    display: flex;
    flex-wrap: wrap;
}

.AppointedStore-images-item {
    border: 1px solid #e2edf7;
    width: 13%;
}

.AppointedStore-images-item img {
    width: 100%;
    padding: 5px;
}

.AppointedStore-images-item p {
    margin: 0;
    height: auto;
    font-size: 1rem;
}
.AppointedStore-images-item .ContentInformation{
font-size: .8rem;
}
@media (min-width: 1200px) {
    .row-cols-lg-8>* {
        flex: 0 0 auto;
        width: 12.5%;
    }
}

@media screen and (max-width: 768px) {


    .AppointedStore-images-item p {
        margin: 0;
        height: 70px;
        font-size: 12px;
    }
}

@media (max-width: 576px) {

    .AppointedStore-images-item {
        border: 1px solid #d1d1d1;

    }

    .row-cols-sm-4>* {
        flex: 0 0 auto;
        width: 25%;
    }

    .AppointedStore-images-item p {
        margin: 0;
        height: 70px;
        font-size: 10px;
    }

}

/* 進駐商家卡片右下角位置文字*/
    .postion_text{
      position: absolute;
      right: 12px;
      bottom: 12px;
      width: 110px;    /* 長度 */
      height: 34px;    /* 高度 */
      background: #ff7a00; /* 橘色背景 */
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 6px;
      font-weight: 700;
      font-size: 14px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.18);
      z-index: 20;
      white-space: nowrap;
    }
@media (max-width: 575px){
      .postion_text{
        right: 8px;
        bottom: 8px;
        width: 92px;
        height: 30px;
        font-size: 13px;
      }
    }
