﻿@charset "UTF-8";
/*@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600&display=swap");

:root {
    --primary-color: #73f1ff;
    --secondary-color: #e6eef9;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q, blockquote {
    quotes: none;
}

    q:before, q:after, blockquote:before, blockquote:after {
        content: "";
        content: none;
    }

a img {
    border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block;
}

html, body, button {
    font-family: "Arial","Noto Sans TC","微軟正黑體", "Microsoft JhengHei";
    font-size: 100%;
}

body {
    position: relative;
    margin: 0;
    padding: 0;
    background: linear-gradient(93deg,rgba(45, 35, 87, 1) 0%, rgba(36, 29, 71, 1) 100%);
    overflow-x: hidden;
    overflow-y: auto;
}

iframe {
    border: none;
}

img {
    border: 0;
    outline: none;
    display: inline-block;
}

a {
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

b {
    font-weight: bold;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    max-height: 99999px;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

*:focus
{
    outline:none;
}

.no-select {
    -webkit-user-select: none;
    /* Chrome all / Safari all */
    -moz-user-select: none;
    /* Firefox all */
    -ms-user-select: none;
    /* IE 10+ */
    user-select: none;
    /* Likely future */
}

html {
    -webkit-text-size-adjust: 100%;
    font-size:16px;
}

/* bg */
.bg{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    bottom:0;
    left:0;
    right:0;
    overflow:hidden;
}

.bg .layer1 {
    position: absolute;
    width: 1920px;
    height: 930px;
    background-image: url('../images/bg_layer1.png');
    background-size: cover;
    left: 50%;
    transform: translateX(-50%);
    top: 40px;
    mix-blend-mode: soft-light;
}

.bg .layer2 {
    position: absolute;
    width: 1920px;
    height: 980px;
    background-image: url('../images/bg_layer2.png');
    background-size: cover;
    left: 50%;
    transform: translateX(-50%);
    top: 40px;
    mix-blend-mode: color-dodge;
}

.bg .star-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}

.bg .star-layer .star {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-repeat: repeat;
    animation: fade 6s infinite ease-in-out;
}

/* 第一張背景圖 */
.bg .star-layer .star1 {
    background-image: url('../images/bg_star_layer1.png');
    animation-delay: 0s;
}

/* 第二張背景圖 */
.bg .star-layer .star2 {
    background-image: url('../images/bg_star_layer2.svg');
    animation-delay: 3s;
}

@keyframes fade {
    /*0%, 100% {
        opacity: 0;
    }

    10%, 50% {
        opacity: 1;
    }*/
    0%   { opacity: 0; }
  10%  { opacity: 1; } /* 快速淡入 */
  40%  { opacity: 1; } /* 停留 */
  60%  { opacity: 0; } /* 慢慢淡出 → 跟下一張重疊 */
  100% { opacity: 0; }
}

/*.bg .star-layer .star {
    animation-name: twinkle;
    animation-duration: 3s;
    animation-iteration-count: infinite;
}*/

@keyframes twinkle {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.75;
    }
}

.bg .layer3 {
    --float-duration: 6s; /* 飄浮週期 */
    --float-distance: 30px; /* 飄浮位移 */
    --float-distance1: 500px; /* 飄浮位移 */
    --ease: cubic-bezier(.4,.0,.2,1);
    
    position: absolute;
    width: 1920px;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    top: 0px;
    bottom: 0px;
}

.bg .layer3 .small-planet {
    position: absolute;
    width: 158px;
    height: 158px;
    left: 105px;
    top: 1310px;
}

.bg .layer3 .mid-planet {
    position: absolute;
    width: 362px;
    height: 361px;
    right: -250px;
    top: 978px;
}

.bg .layer3 .big-planet {
    position: absolute;
    right: -280px;
    bottom:-180px;
}

.bg .layer3 .big-planet img
{
    width: 100%;
    height:auto;
}

.bg .layer3 .float {
    transform-origin: center;
    animation: floatY var(--float-duration) var(--ease) infinite;
}

.bg .layer3 .float--soft {
    animation-name: floatY, floatTilt;
    animation-duration: var(--float-duration), calc(var(--float-duration) * 1.8);
    animation-timing-function: var(--ease), ease-in-out;
}

.bg .layer3 .float--soft1 {
    /*position: absolute;
    bottom: -180px;
    right:-280px;*/
    animation-name: floatY1, floatTilt;
    animation-duration: var(--float-duration), calc(var(--float-duration) * 1.8);
    animation-timing-function: var(--ease), ease-in-out;
}

.bg .layer3 .float.delay-1 {
    animation-delay: 0s;
}

.bg .layer3 .float.delay-2 {
    animation-delay: 0.9s;
}

.bg .layer3 .float.delay-3 {
    animation-delay: 1.8s;
}

.bg .layer3 .float.delay-4 {
    animation-delay: 0.45s;
}

@keyframes floatY {
    0% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(calc(var(--float-distance) * -1)) rotate(-0.2deg);
    }

    100% {
        transform: translateY(0) rotate(0deg);
    }
}

@keyframes floatY1 {
    0% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(calc(var(--float-distance1) * -1)) rotate(-10deg);
    }

    100% {
        transform: translateY(0) rotate(0deg);
    }
}

/* 混合旋轉/傾斜的小動畫 */
@keyframes floatTilt {
    0% {
        transform: rotate(0deg)
    }

    25% {
        transform: rotate(0.6deg)
    }

    50% {
        transform: rotate(-0.6deg)
    }

    75% {
        transform: rotate(0.25deg)
    }

    100% {
        transform: rotate(0deg)
    }
}

@keyframes floatTilt1 {
    0% {
        transform: rotate(0deg)
    }

    25% {
        transform: rotate(1.2deg)
    }

    50% {
        transform: rotate(-1.2deg)
    }

    75% {
        transform: rotate(0.85deg)
    }

    100% {
        transform: rotate(0deg)
    }
}

@media (max-width: 900px) {
    .bg .layer3 {
        width:1200px;
    }

    .bg .layer3 .mid-planet
    {
        right:0;
    }

    .bg .layer3 .small-planet,.bg .layer3 .mid-planet,.bg .layer3 .big-planet {
        transform:scale(0.75);
    }
}

@media (max-width: 768px) {
    .bg .layer3 {
        width:1100px;
    }

    .bg .layer3 .big-planet
    {
        bottom:-50px;
    }
}

@media (max-width: 640px) {
    .bg .layer3 {
        width:900px;
    }

    .bg .layer3 .small-planet,.bg .layer3 .mid-planet,.bg .layer3 .big-planet {
        transform:scale(0.5);
    }

    .bg .layer3 .big-planet
    {
        bottom:100px;
    }
}

@media (max-width: 480px)
{
    .bg .layer3
    {
        width: 800px;
    }

    .bg .layer3 .big-planet
    {
        bottom:250px;
    }
}
/* bg */

/* header */
header {
    position: fixed;
    display: block;
    width: 100%;
    height: 80px;
    top: 0;
    left: 0;
    z-index: 10;
    background: linear-gradient(90deg, rgba(81, 49, 130, 1) 0%, rgba(90, 88, 138, 1) 100%);
}

header .inner {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 1920px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin: 0 auto;
    padding:0 5px;
    /*background: linear-gradient(90deg,rgba(81, 49, 130, 1) 0%, rgba(90, 88, 138, 1) 100%);*/
}

header .inner .logo-area {
    position: relative;
    display:flex;
    width:330px;
    height:100%;
    align-items:center;
    justify-content:flex-start;
}

header .inner .logo-area .logo {
    position:relative;
    display:inline-block;
    width:138px;
    height:auto;
    aspect-ratio:138 / 38;
}

header .inner .logo-area .line {
    position: relative;
    display: inline-block;
    background-color:#fff;
    margin:0 15px;
    width: 1px;
    height: 26px;
}

header .inner .logo-area .orbit-logo {
    position: relative;
    display: inline-block;
    width: 148px;
    height: auto;
    aspect-ratio: 148 / 44;
    overflow:hidden;
}

header .inner .logo-area .orbit-logo > img
{
    width:100%;
}

header .inner .logo-area .orbit-logo .animate-logo
{
    position:absolute;
    width:40px;
    height:40px;
    left:0;
    top:0;
}

header .inner .logo-area .orbit-logo .animate-logo > img
{
    width:100%;
    height:100%;
    position:absolute;
    animation: spin 4s linear infinite;
}

header .inner .logo-area .orbit-logo .animate-logo > img + img
{
    width:84%;
    height:84%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    animation:none;
}

@keyframes spin { 
    0%
    {
        -webkit-transform: rotate(0deg);
        transform:rotate(0deg);
    }

    25%
    {
        -webkit-transform: rotate(0deg);
        transform:rotate(0deg);
    }

    50%
    {
        -webkit-transform: rotate(360deg);
        transform:rotate(360deg); 
    }

    75%
    {
        -webkit-transform: rotate(360deg);
        transform:rotate(360deg); 
    }

    100% { 
        -webkit-transform: rotate(360deg); 
        transform:rotate(360deg); 
    } 
}

@media (max-width: 900px) {
    header .inner .logo-area {
        position: relative;
        display:flex;
        width:300px;
        height:100%;
        align-items:center;
        justify-content:flex-start;
    }

    header .inner .logo-area .logo {
        width:128px;
        aspect-ratio:128 / 35;
    }

    header .inner .logo-area .orbit-logo {
        width: 138px;
        aspect-ratio: 138 / 41;
    }
}

@media (max-width: 480px)
{
    header
    {
        height:50px;
    }

    header .inner .logo-area .logo {
        /*width:110px;
        aspect-ratio:110 / 30;*/
        width: 90px;
        aspect-ratio: 90 / 25;
    }

    header .inner .logo-area .orbit-logo {
        /*width: 120px;
        aspect-ratio: 120 / 36;*/
        width: 100px;
        aspect-ratio: 100 / 30;
    }

    header .inner .logo-area .orbit-logo .animate-logo
    {
        width:28px;
        height:28px;
    }

    header .inner .logo-area .line {
        height: 18px;
    }
}

header .inner .menu-area
{
    position: relative;
    display:flex;
    align-items:center;
    color:#fff;
    font-weight:bold;
    list-style-type:none;
    font-size:1rem;
}

header .inner .menu-area a
{
    display:flex;
    align-items:center;
    color:#fff;
    margin:0 10px;
    position:relative;
}

header .inner .menu-area a:first-child
{
    background: linear-gradient(0deg,rgba(79, 80, 204, 1) 0%, rgba(57, 230, 230, 1) 100%);
    padding:10px 20px;
    border-radius:40px;
    overflow:hidden;
    z-index:1;
}

header .inner .menu-area a:first-child:before
{
    /*display:inline-block;
    content:"";
    width:10px;
    height:10px;
    margin-right:5px;
    background-image:url(../images/menu_star.svg);
    background-repeat:no-repeat;
    background-size:10px 10px;*/
    position:absolute;
    content:"";
    display:block;
    width:100%;
    height:auto;
    top:0;
    left:0;
    bottom:0;
    background: linear-gradient(180deg,rgba(79, 80, 204, 1) 0%, rgba(57, 230, 230, 1) 100%);
    opacity:0;
    z-index:2;
    transition:all .35s;
}

header .inner .menu-area li
{
    position:relative;
    z-index:3;
}

header .inner .menu-area li:after
{
    position:absolute;
    content:"";
    width:0px;
    height:2px;
    background-color:#fff;
    bottom:-4px;
    left:0px;
    transition:all .5s;
}

header .inner .menu-area a:first-child li:after
{
    display:none;
}

header .inner .menu-area li.active:after,header .inner .menu-area a:active li:after
{
    width:100%;
}

@media (hover: hover) and (pointer: fine) {
    header .inner .menu-area a:hover li:after
    {
        width:100%;
    }

    header .inner .menu-area a:first-child:hover:before
    {
        opacity:1;
    }
}

@media (max-width: 900px)
{
    header .inner .menu-area a
    {
        margin: 0 7px;
    }
}

@media (max-width: 768px)
{
    header .inner .menu-area
    {
        display:none;
    }
}
/* header */

/* footer */
footer
{
    position:relative;
    width:100%;
    min-height:280px;
}

footer:before
{
    display:block;
    content:"";
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    bottom:0;
    right:0;
    opacity:0.8;
    background-color:#222;
}

footer .inner {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 1000px;
    padding:10px;
    color:#fff;
    margin:0 auto;
}

footer .inner h4
{
    position: relative;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.125rem;
}

footer .inner h4:before
{
    position:relative;
    content:"";
    display:inline-block;
    width:35px;
    height:35px;
    /*background-image:url(../images/footer_orbit_logo.png);*/
    background-image:url(../images/nav_icon3.svg);
    background-repeat:no-repeat;
    background-size:35px 35px;
    margin-right:15px;
}

footer .inner ol
{
    font-size:1rem;
    /*font-weight:bold;*/
    list-style-type: decimal;
    line-height:1.5rem;
    padding-left:20px;
}

footer .inner h3
{
    font-size:1.25rem;
    text-align:center;
    /*font-weight:bold;*/
    margin-top:5px;
    line-height:1.5rem;
}

footer .copyright
{
    position:relative;
    width:100%;
    min-height:50px;
    background-color:#000;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    font-weight:bold;
    color:#fff;
    letter-spacing:2px;
    flex-wrap:wrap;
    align-content: space-evenly;
    padding:0 10px;
    line-height:1.5rem;
}

footer .copyright span:first-child
{
    text-align:center;
}

footer .copyright a
{
    color:#fff;
    position:relative;
    display:inline-block;
    text-decoration:none;
}

footer .copyright .link
{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}

footer .copyright a:first-child
{
    margin-left:30px;
}

footer .copyright .line
{
    position:relative;
    display:inline-block;
    width:1px;
    height:18px;
    background-color:#fff;
    margin:0 20px;
}

@media (max-width: 480px)
{
    footer
    {
        min-height:230px;
    }

    footer .inner
    {
        padding:10px;
    }

    footer .inner h4
    {
        font-size:0.75rem;
    }

    footer .inner h4:before {
        width: 26px;
        height: 26px;
        background-size: 26px 26px;
        margin-right: 10px;
    }

    footer .inner ol
    {
        font-size:0.625rem;
        line-height: 1rem;
    }

    footer .inner h3
    {
        font-size:0.75rem;
        line-height: 1.125rem;
    }

    footer .copyright
    {
        min-height: 40px;
        padding:10px;
        font-size: 0.625rem;
        line-height: 0.875rem;
    }

    footer .copyright .line
    {
        height:12px;
    }
}
/* footer */

.container
{
    position:relative;
    padding-top:80px;
}

@media (max-width: 768px) {
    .container {
        padding-bottom: 120px;
    }
}

@media (max-width: 640px) {
    .container {
        padding-bottom: 90px;
    }
}

@media (max-width: 480px)
{
    .container {
        padding-top: 50px;
        padding-bottom: 60px;
        /*padding-bottom: 80px;*/
    }
}

/* 跑馬燈 */
.marquee-area
{
    position:relative;
    border-top:1px solid #b3afc0;
    transition:top .5s linear;
    top:-51px;
}

.marquee-area:after
{
    position:absolute;
    content:"";
    display:inline-block;
    width:100%;
    height:1px;
    background-image:url(../images/marquee_bottom_line.jpg);
    background-repeat:no-repeat;
    background-size: 100% 100%;
    bottom:0;
    z-index:2;
}

.marquee-area .marquee-bg
{
    position:absolute;
    height:49px;
    width:100%;
    top:0;
    left:0;
    background: linear-gradient(90deg,rgba(32, 10, 56, 1) 0%, rgba(73, 57, 163, 1) 100%);
    mix-blend-mode: multiply;
}

.marquee-area .marquee-inner
{
    position:relative;
    display: flex;
    height:50px;
    width:100%;
    max-width: 1096px;
    margin: 0 auto;
    align-items:center;
    padding:0 10px;
}

.marquee-area .marquee-inner .ticker-head {
    /*width: 80px;*/
    width: 138px;
    margin-right:20px;
    font-weight:bold;
    font-size:1.25rem;
    color:#fff;
    flex: 0 0;
    /*flex-basis:80px;*/
    flex-basis:138px;
}

.marquee-area .marquee-inner .ticker-head .orbit-logo {
    position: relative;
    display: inline-block;
    width: 138px;
    height: auto;
    aspect-ratio: 138 / 41;
    overflow:hidden;
    margin-top:3px;
}

.marquee-area .marquee-inner .ticker-head .orbit-logo > img
{
    width:100%;
}

.marquee-area .marquee-inner .ticker-head .orbit-logo .animate-logo
{
    position:absolute;
    width:40px;
    height:40px;
    left:0;
    top:0;
}

.marquee-area .marquee-inner .ticker-head .orbit-logo .animate-logo > img
{
    width:100%;
    height:100%;
    position:absolute;
    animation: spin 4s linear infinite;
}

.marquee-area .marquee-inner .ticker-head .orbit-logo .animate-logo > img + img
{
    width:84%;
    height:84%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    animation:none;
}


.marquee-area .marquee-inner .ticker {
    width: 100%;
    height:50px;
    font-size: 1rem;
    color: #fff; 
    font-weight:bold;
    overflow: hidden;
}

.marquee-area .marquee-inner .ticker ul {
    position: relative;
    list-style: none;
    height: 100%;
    width:100%;
    padding: 0;
    margin: 0;
}

.marquee-area .marquee-inner .ticker .ticker-item {
    position: absolute;
    display:inline-flex;
    align-items:center;
    top: 0;
    left: 0;
    height: 100%;
    width:100%;
    opacity: 0;
}

.marquee-area .marquee-inner .ticker .ticker-item span {
    display: inline-block;
    width: auto;
    white-space: nowrap;
    transition: transform 5s linear;
}

.marquee-area .marquee-inner .ticker .fadeInDown {
  opacity: 0;
}

.marquee-area .marquee-inner .ticker .fadeInDown.run {
  animation: fadeInDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}

.marquee-area .marquee-inner .ticker .fadeOutDown {
  opacity: 1;
}

.marquee-area .marquee-inner .ticker .fadeOutDown.run {
  animation: fadeOutDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes fadeOutDown {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(50px);
}
}
@keyframes blink {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
}

.marquee
{
    position:relative;
    padding: .5rem;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    height:50px;
    display: block;
}

.marquee:after
{
    display:block;
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    background: linear-gradient(90deg,rgba(32, 10, 56, 1) 0%, rgba(73, 57, 163, 1) 100%);
    mix-blend-mode: multiply;
    z-index:1;
}

.marquee-infinite .marquee-item {
    position:relative;
    display: inline-flex;
    justify-content: start;
    align-items:center;
    min-width: 100%;
    padding: 0 2.5vw;
    animation: marquee-infinite 15s linear infinite;
    z-index:2;
    top:50%;
}

.marquee .marquee-item i {
    margin-right: 40px;
    font-weight:normal;
    font-size:1.25rem;
}

.marquee .marquee-item > div
{
    font-size: 1rem;
    color: #fff; 
    font-weight:bold;
    display:inline-flex;
    align-items:center;
}

.marquee .marquee-item > div + div
{
    margin-left:40px;
}

.marquee:hover .marquee-item {
    animation-play-state: paused;
}

@keyframes marquee-infinite {
    from {
		transform: translate(0,-50%);
	}
	to {
		transform: translate(-100%,-50%);
	}
}

/*@media (max-width: 900px)
{
    .marquee-area .marquee-inner .ticker-head
    {
        width: 138px;
        flex-basis: 138px;
    }

    .marquee-area .marquee-inner .ticker-head .orbit-logo {
        width: 138px;
        aspect-ratio: 138 / 41;
        margin-top:6px;
    }
}*/

@media (max-width: 480px) {
    /*.marquee-area
    {
        top:-41px;
    }*/

    .marquee-area .marquee-inner .ticker-head
    {
        width: 100px;
        flex-basis: 100px;
    }

    .marquee-area .marquee-inner .ticker-head .orbit-logo {
        width: 100px;
        aspect-ratio: 100 / 30;
        margin-top:6px;
    }

    .marquee-area .marquee-inner .ticker-head .orbit-logo .animate-logo
    {
        width:28px;
        height:28px;
    }
    
    .marquee
    {
        height:40px;
    }

    .marquee .marquee-item i {
        margin-right: 30px;
        font-size:1.125rem;
    }

    .marquee .marquee-item > div
    {
        font-size: 0.875rem;
    }

    .marquee .marquee-item > div + div
    {
        margin-left:30px;
    }
}
/* 跑馬燈 */

.container .content {
    position: relative;
    display:block;
    min-height: 700px;
    width:100%;
    /*display: flex;
    justify-content: center;*/
}

.container .content .inner {
    position: relative;
    width: 100%;
    max-width: 1096px;
    margin:0 auto;
}

@media (max-width: 1200px) {
    .container .content .inner {
        padding:0 35px;
    }
}

@media (max-width: 480px) {
    .container .content .inner {
        padding: 0 15px;
    }
}

/* 訂閱狀態 */
.container .content .inner .subscribe {
    position: relative;
    width: 100%;
    padding: 40px 0px;
    /*display: flex;*/
    align-items: center;
    flex-direction: column;
    display:none;
}

.container .content.subscribed .inner .subscribe {
    display: flex;
}

.container .content .inner .subscribe .status .subscribe-layer
{
    display: flex;
    align-items: center;
}

@media (max-width: 480px) {
    .container .content .inner .subscribe {
        padding: 30px 0px;
    }
}
/* 訂閱狀態 */

/* checkbox樣式 */
.container .content .inner .subscribe .checkbox-wrapper
{
    --size: 246px;
    --h: 48px;
    position: relative;
    display: inline-block;
    width: var(--size);
    height: var(--h);
    cursor: pointer;
}

.checkbox-wrapper input[type="checkbox"] {
    -webkit-appearance: none;
    width: var(--size);
    height: var(--h);
    background-color:#000000;
    border-radius: var(--h);
    outline: none;
    cursor: pointer;
    position: relative;
    transition: all 0.5s;
    margin: 0;
    cursor: default;
    -webkit-tap-highlight-color: transparent;
}

.checkbox-wrapper input[type="checkbox"]::before {
    content: "已訂閱";
    position: absolute;
    width: calc((var(--size) - 12px) / 2);
    height: calc(var(--h) - 12px);
    left: 6px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: calc(var(--h) - 12px);
    transition: all 0.5s;
    display: flex;
    color: #fff;
    font-weight: bold;
    font-size: 1.125rem;
    align-items: center;
    justify-content: center;
    z-index: 2;
    cursor: pointer;
}

    .checkbox-wrapper input[type="checkbox"]::after {
        content: "未訂閱";
        position: absolute;
        width: calc((var(--size) - 12px) / 2);
        height: calc(var(--h) - 12px);
        right: 6px;
        top: 50%;
        transform: translateY(-50%);
        border-radius: calc(var(--h) - 12px);
        transition: all 0.5s;
        display: flex;
        color: #3b3249;
        font-weight: bold;
        font-size: 1.125rem;
        align-items: center;
        justify-content: center;
        z-index: 2;
        cursor: pointer;
    }

.checkbox-wrapper input[type="checkbox"]:checked::before {
    color:#3b3249;
}

.checkbox-wrapper input[type="checkbox"]:checked::after {
    color:#fff;
}

.checkbox-wrapper input[type="checkbox"]+label
{
    position: absolute;
    display:inline-block;
    width: calc((var(--size) - 12px) / 2);
    height: calc(var(--h) - 12px);
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: calc(var(--h) - 12px);
    transition: all 0.5s;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(217, 217, 217, 1) 100%);
    z-index:1;
}

.checkbox-wrapper input[type="checkbox"]:checked+label
{
    right:50%;
}

@media (max-width: 480px) {
    .container .content .inner .subscribe .checkbox-wrapper {
        --size: 220px;
        --h: 48px;
        width: var(--size);
        height: var(--h);
    }
}
/* checkbox樣式 */

/* 按鈕樣式 */
.btn {
    position:relative;
    margin-left:10px;
    border-radius: 40px;
    overflow:hidden;
    background: linear-gradient(180deg,rgba(172, 146, 212, 1) 0%, rgba(66, 68, 128, 1) 100%);
    z-index:1;
    background-color: transparent;
    border:0; 
    cursor: pointer;
    padding:0;
}

.btn:before
{
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    width:100%;
    content:"";
    display:block;
    border-radius: 40px;
    background: linear-gradient(180deg,rgba(66, 68, 128, 1) 0%, rgba(172, 146, 212, 1) 100%);
    z-index:2;
    opacity:0;
    transition:opacity .5s;
}

.btn:hover:before
{
    opacity:1;
}

.btn .txt
{
    position:relative;
    display:flex;
    background-color:#0c0c0c;
    padding:7px 15px;
    color: #fff;
    font-size: 1rem;
    align-items: center;
    justify-content: center;
    border-radius: 48px;
    font-weight: bold;
    margin:2px;
    line-height:1;
    z-index:3;
}

.btn.gray .txt
{
    background-color:#999999;
}

.btn.with-icon .txt:before
{
    position: relative;
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../images/btn_icon.svg);
    background-size: 20px 20px;
    margin-right: 15px;
}

@media (max-width: 480px) {
    .btn .txt {
        padding: 7px 12px;
    }
}
/* 按鈕樣式 */

/* tab樣式 */
.tab-wrapper {
    position: relative;
    width:100%;
    height:50px;
    display: flex;
    align-items: center;
    margin-bottom:35px;
}

.tab-wrapper:before
{
    position:absolute;
    display:block;
    content:"";
    width:100%;
    top:0;
    bottom:0;
    left:0;
    opacity:0.6;
    background: linear-gradient(90deg,rgba(99, 83, 122, 1) 0%, rgba(45, 36, 66, 1) 100%);
    height:50px;
    border-radius:50px;
}

.container .content.no-subscribe .inner .tab-wrapper
{
    margin-top:30px;
}

.arrow {
    width: 34px;
    height: 100%;
    background:transparent;
    background-position:center center;
    background-repeat:no-repeat;
    /*background-size:34px 34px;*/
    background-size:20px 20px;
    border: none;
    cursor: pointer;
    z-index: 9;
    opacity:1;
    transition:all .35s;
}

.arrow:hover {
    opacity:.8;
}

.arrow.right
{
    /*background-image:url('../images/right_arrow.svg');*/
    background-image:url('../images/tab_right_arrow.svg');
    margin-right:5px;
}

.arrow.left
{
    /*background-image:url('../images/left_arrow.svg');*/
    background-image:url('../images/tab_left_arrow.svg');
    margin-left:5px;
}

.tab-container {
    overflow-x: auto;
    white-space: nowrap;
    scroll-behavior: smooth;
    cursor: grab;
    flex: 1;
    position: relative;
    height:100%;
    
}

.tab-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, and Opera */
}

.tab-container.dragging {
    cursor: grabbing;
    user-select: none;
}

.tabs {
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    height:100%;
    z-index:2;
}

.tab {
    position: relative;
    padding:0px 60px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
    flex-shrink: 0;
    font-size:1.5rem;
    font-weight:bold;
    height:100%;
    color:#fff;
    display:flex;
    align-items:center;
}

.tab:before
{
    position:absolute;
    content:"";
    display:inline-block;
    width:12px;
    height:6px;
    top:50%;
    right:30px;
    background-image:url('../images/down_arrow.svg');
    background-size:12px 6px;
    background-repeat:no-repeat;
    transform:translateY(-50%);
    opacity:0;
}

.tab.active
{
    color:#3c324b;
}

.tab.active:before
{
    opacity:1;
}

/*.tab:hover {
    background-color: #eee;
}*/

.tab .submenu {
    display: none;
    position: fixed;
    /*top: 100%;*/
    left: 0;
    /*box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);*/
    min-width: 130px;
    max-width: 130px;
    z-index: 100;
    opacity:0;
    transition: opacity .3s ease, display .3s ease allow-discrete; 
    white-space:initial;
    /*padding-top:15px;*/
}

.tab .submenu:before
{
    position:absolute;
    display:block;
    content:"";
    width:100%;
    height:100%;
    top:0;
    bottom:0;
    opacity:0.9;
    background: linear-gradient(180deg,rgba(32, 10, 56, 1) 0%, rgba(59, 54, 89, 1) 100%);
    border-bottom-left-radius:10px;
    border-bottom-right-radius:10px;
    z-index:1;
}

.tab.show-sub .submenu {
    /*opacity:1;*/
    display: block;
}

.tab .submenu a {
    position:relative;
    display: block;
    /*padding: 15px 10px;*/
    padding: 10px;
    text-decoration: none;
    color: #fff;
    /*font-size:1.125rem;*/
    font-size:1.0625rem;
    font-weight:bold;
    /*letter-spacing:1px;*/
    text-align:center;
    z-index:2;
    word-break:break-all;
    word-wrap:break-word;
    line-height:1.5rem;
}

.tab .submenu a.active, .tab .submenu a:hover
{
    background-color: #47427a;
}

.tab .submenu a:last-child.active, .tab .submenu a:last-child:hover {
    /*background-color:#47427a;*/
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/*.tab .submenu a:hover {
    background-color: #f0f0f0;
}*/

/*.tab.has-sub:hover .submenu {
    display: block;
}*/

/* 動態底線 */
.tab-indicator {
    position: absolute;
    width:168px;
    height: 50px;
    border-radius:50px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(217, 217, 217, 1) 100%);
    top: 0;
    transition: transform 0.3s ease, width 0.3s ease;
    z-index:1;
}

.tab-hover
{
    position: absolute;
    width:100%;
    height: 50px;
    border-radius:50px;
    top:0;
    left:0;
    /*mix-blend-mode: multiply;*/
    opacity:0;
    z-index:-1;
    transition:all .5s;
}

.tab:active .tab-hover,.tab.hover .tab-hover
{
    background-color:rgba(255,255,255,0.4);
    opacity:1;
}

.tab.show-sub .tab-hover
{
    background-color:rgba(0,0,0,0.2);
    opacity:1;
}

.tab.active .tab-hover
{
    opacity:0 !important;
}

@media (hover: hover) and (pointer: fine) {
    .tab:hover .tab-hover
    {
        background-color:rgba(255,255,255,0.4);
        opacity:1;
    }

    .tab.show-sub:hover .tab-hover
    {
        background-color:rgba(0,0,0,0.2);
        opacity:1;
    }

    .tab.active:hover .tab-hover
    {
        opacity:0 !important;
    }
}

@media (max-width: 900px) {
    .tab
    {
        font-size:1.25rem;
        padding:0 50px;
    }

    .tab:before
    {
        right:20px;
    }

    .tab .submenu
    {
        min-width:105px;
        max-width:105px;
    }

    .tab-indicator
    {
        width:140px;
    }
}

@media (max-width: 640px) {
    .tab
    {
        font-size:1rem;
        padding:0 40px;
    }

    .tab:before
    {
        right:20px;
    }

    .tab .submenu
    {
        min-width:77px;
        max-width:77px;
    }

    .tab .submenu a
    {
        font-size:0.875rem;
        line-height:1.375rem;
        padding: 10px 5px;
    }

    .tab-indicator
    {
        width:112px;
    }
}

/*@media (max-width: 480px)
{
    .tab
    {
        font-size:1rem;
        padding:0 40px;
    }

    .tab-indicator
    {
        width:112px;
    }

    .tab .submenu
    {
        min-width:112px;
    }

    .tab .submenu a
    {
        letter-spacing:0;
        font-size:1rem;
        padding: 15px 5px;
    }
}*/

#tmp-submenu {
    position: fixed;
    min-width: 130px;
    max-width: 130px;
    display: block;
    z-index: 9;
    opacity:1;
    transition: opacity .3s ease, display .3s ease allow-discrete; 
    white-space:initial;
}

#tmp-submenu:before
{
    position:absolute;
    display:block;
    content:"";
    width:100%;
    height:100%;
    top:0;
    bottom:0;
    opacity:0.9;
    background: linear-gradient(180deg,rgba(32, 10, 56, 1) 0%, rgba(59, 54, 89, 1) 100%);
    border-bottom-left-radius:10px;
    border-bottom-right-radius:10px;
    z-index:1;
}

#tmp-submenu a {
    position:relative;
    display: block;
    padding: 10px;
    text-decoration: none;
    color: #fff;
    /*font-size:1.125rem;*/
    font-size:1.0625rem;
    font-weight:bold;
    text-align:center;
    z-index:2;
    word-break:break-all;
    word-wrap:break-word;
    line-height:1.5rem;
}

#tmp-submenu a.active, #tmp-submenu a:hover
{
    background-color: #47427a;
}

#tmp-submenu a:last-child.active, #tmp-submenu a:last-child:hover {
    /*background-color:#47427a;*/
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

@media (max-width: 900px) {
    #tmp-submenu
    {
        min-width:105px;
        max-width:105px;
    }
}

@media (max-width: 640px) {
    #tmp-submenu
    {
        min-width:77px;
        max-width:77px;
    }

    #tmp-submenu a
    {
        font-size:0.875rem;
        line-height:1.375rem;
        padding: 10px 5px;
    }
}
/* tab樣式 */

/* 轉換分頁 */
.owl-carousel {
    position: relative;
    display: block;
    width: 100%;
    min-height: 100px;
    margin-bottom: 45px;
}

.owl-dots
{
    display:none;
}

.owl-prev,.owl-next 
{
    position: absolute;
    top:calc((100vh - 279px) / 2);
    /*top: 50%;*/
    /*transform: translateY(-50%);*/
    /* Add other styling for appearance, e.g., width, height, background */
    /*width: 34px !important;
    height: 34px !important;*/
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 34px 34px !important;
    border: none !important;
    cursor: pointer !important;
}

.owl-prev.disabled, .owl-next.disabled
{
    opacity:.5;
    cursor:default !important;
}

.owl-prev span, .owl-next span
{
    display:none !important;
}

.owl-prev {
    /*left: -34px;*/
    left: -40px;
    background-image: url(../images/left_arrow.svg) !important;
}

.owl-next {
    /*right: -34px;*/
    right: -40px;
    background-image: url(../images/right_arrow.svg) !important;
}

.owl-carousel .info
{
    display:block;
    width:100%;
    height:100%;
}

.owl-carousel .info .comment:last-child
{
    margin-bottom:0 !important;
}

@media (max-width: 1200px)
{
    .owl-prev {
        left: -20px;
    }

    .owl-next {
        right: -20px;
    }
}

@media (max-width: 480px)
{
    .owl-prev,.owl-next 
    {
        width: 30px !important;
        height: 30px !important;
        background-size: 30px 30px !important;
        top:calc((100vh - 275px) / 2);
    }

    .owl-prev {
        left: -15px;
    }

    .owl-next {
        right: -15px;
    }
}
/* 轉換分頁 */

/* 摘要 */
.container .content .inner .comment {
    position: relative;
    width: 100%;
    overflow:hidden;    
    border-radius: 20px;
    min-height: 330px;
    margin-bottom:45px;
    color:#fff;
    font-size:1.125rem;
    line-height:1.875rem;
    padding:35px 45px;
}

.container .content .inner .comment:before
{
    position:absolute;
    content:"";
    width:100%;
    height:100%;
    top:0;
    left:0;
    bottom:0;
    background: rgba(196, 183, 226, .4);
    z-index:1;
}

.container .content .inner .comment .entity
{
    position:relative;
    min-height:260px;
    z-index:2;
}

.container .content .inner .comment .top
{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    margin-bottom:25px;
    flex-wrap:wrap;
}

.container .content .inner .comment .top .title
{
    position:relative;
    font-size:1.5rem;
    font-weight:bold;
}

.container .content .inner .comment .top .market-date
{
    position:relative;
    font-size:1rem;
    padding: 10px 20px 8px;
    color:#202022;
    background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(217, 217, 217, 1) 100%);
    border-radius:20px;
    line-height:1;
}

.container .content .inner .comment .top .badge
{
    position:relative;
    font-size:1.125rem;
    padding: 12px 20px 8px;
    color:#46454a;
    background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(217, 217, 217, 1) 100%);
    border-radius:20px;
    line-height:1;
    letter-spacing:2px;
    font-weight:bold;
}

.container .content .inner .comment .top small
{
    position:relative;
    color:#cdcdcd;
    font-size:1rem;
    line-height:1;
    letter-spacing:2px;
}

.container .content .inner .comment .top .btns
{
    width:100%;
    margin-top:10px;
    justify-content:end;
    gap: 10px;
}

.container .content .inner .comment.scroll
{
    --scrollbar-width: 10px;
    --track-bg: #DDDDDD;
    --thumb-bg: #2D2357;
    padding:24px 30px;
}

.scroll-box{
    position:relative;
    height: 300px;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right:15px;
}

.container .content .inner .comment.scroll.large .scroll-box
{
    height:600px;
}

/**.scroll-box {
  scrollbar-width: thin;
  scrollbar-color: #2D2357 #DDDDDD;
}*/

.scroll-box::-webkit-scrollbar{
    width: var(--scrollbar-width);
}

.scroll-box::-webkit-scrollbar-track{
   border-radius: 0px;
   background-color: var(--track-bg);
}

.scroll-box::-webkit-scrollbar-thumb{
    border-radius: 0px;
    background-color: var(--thumb-bg);
}

.container .content .inner .comment .btns
{
    position:relative;
    display:flex;
    width:100%;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.container .content .inner .comment .btns .btn
{
    margin:0;
}

.scroll-box + .btns
{
    margin-top:10px;
}

/* 收合週報 */
.container .content .inner .comment.portlet-comment
{
    min-height: initial;
    padding: 15px 45px;
}

.container .content .inner .comment.portlet-comment.active .portlet-content
{
    grid-template-rows: 1fr;
}

.container .content .inner .comment.portlet-comment .entity {
    min-height: initial;
}

/*.container .content .inner .comment .top.portlet-header
{
    margin-bottom:0;
    cursor:pointer;
}*/

.container .content .inner .comment .top.portlet-header .indicator
{
    width: 34px;
    height: 34px;
    background: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 34px 34px;
    cursor: pointer;
    transform:rotate(270deg);
    transition: all .35s;
    background-image: url(../images/left_arrow_bak.svg);
}

.container .content .inner .comment.portlet-comment.active .top.portlet-header .indicator
{
    transform:rotate(90deg);
}

.container .content .inner .comment .portlet-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: 400ms grid-template-rows ease;
}

.container .content .inner .comment .portlet-content article {
    overflow: hidden;
}

.container .content .inner .comment .portlet-content .top
{
    margin-top:25px;
    justify-content:end;
}
/* 收合週報 */

@media (max-width: 768px)
{
    .container .content .inner .comment
    {
        padding: 20px 25px;
    }

    .container .content .inner .comment .entity
    {
        min-height: 290px;
    }

    .container .content .inner .comment .top
    {
        margin-bottom:15px;
    }

    .container .content .inner .comment.scroll
    {
        padding: 20px 25px;
    }

    .scroll-box
    {
        padding-right: 15px;
    }

    .container .content .inner .comment.portlet-comment
    {
        padding: 15px 25px;
    }
}

@media (max-width: 480px)
{
    .container .content .inner .comment
    {
        padding: 20px 15px;
    }

    .container .content .inner .comment.scroll
    {
        padding: 20px 15px;
    }

    .container .content .inner .comment.scroll.large .scroll-box
    {
        height:300px;
    }

    .container .content .inner .comment .btns
    {
        gap:10px;
    }

    .container .content .inner .comment .top .btns .btn .txt
    {
        padding: 5px 12px;
        font-size: 0.875rem;
    }

    .container .content .inner .comment .top .btns .btn.with-icon .txt:before
    {
        width: 18px;
        height: 18px;
        background-size: 18px 18px;
        margin-right: 10px;
    }

    .scroll-box
    {
        padding-right: 15px;
    }

    .container .content .inner .comment.portlet-comment
    {
        padding: 15px;
    }
}
/* 摘要 */

/* 圖表 */
/*.container .content .inner .comment.chart-comment
{
    margin-bottom: 0px;
}*/

.container .content .inner .owl-item .comment:last-child {
    margin-bottom: 0px;
}

.container .content .inner .comment .chart {
    position: relative;
    width: 100%;
    height: 400px;
    border-radius: 20px;
    overflow: hidden;
    padding: 20px;
}

.container .content .inner .comment .chart:before
{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    background: rgba(255, 255, 255, .9);
    z-index: 1;
}

.container .content .inner .comment .chart .chart-content
{
    position:relative;
    display:flex;
    width:100%;
    height:100%;
    z-index:2;
    align-items:center;
    justify-content:center;
}

.container .content .inner .comment .chart canvas {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

@media (max-width: 480px) {
    .container .content .inner .comment.chart-comment {
        min-height:220px;
        /*height:220px;*/
    }

    .container .content .inner .comment.chart-comment .entity {
        min-height:180px;
    }

    .container .content .inner .comment .chart
    {
        height:270px;
        padding: 10px;
    }
}
/* 圖表 */

/* 評分 */
.container .content .inner .comment.rating {
    min-height:77px;
    padding:0;
    border-radius: 77px;
    overflow:hidden;    
    line-height:1;
}

.container .content .inner .comment.rating:before
{
    border-radius: 77px;
}

.container .content .inner .comment.rating .detail {
    position:relative;
    width:100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap:wrap;
    padding:15px;
    z-index:2;
}

.container .content .inner .comment.rating .detail .status {
    position: relative;
    display: inline-block;
    background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(217, 217, 217, 1) 100%);
    color:#26252a;
    padding:17px 30px 13px;
    border-radius:50px;
    font-weight:bold;
    letter-spacing:2px;
    font-size:1.125rem;
}

.container .content .inner .comment.rating .detail .right-area
{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    width:calc(100% - 240px);
}

.container .content .inner .comment.rating .detail .stars-area {
    display: flex;
    position: relative;
    align-items:center;
}

.container .content .inner .comment.rating .detail .stars-area span
{
    position:relative;
    display:flex;
    justify-content:center;
    color:#fff;
    font-weight:bold;
    font-size:1.125rem;
    margin-right:20px;
    margin-top:5px;
}

.container .content .inner .comment.rating .detail .stars-area span > span
{
    margin-right:0px;
    margin-top:0px;
}

.container .content .inner .comment.rating .detail .stars {
    display: flex;
    gap: 20px;
    margin-right:20px;
}

.container .content .inner .comment.rating .detail .stars .star {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 34px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.container .content .inner .comment.rating .detail .stars .star:before {
    position: relative;
    content: "";
    width: 34px;
    height: 34px;
    display: inline-block;
    background-image: url(../images/star.png);
    background-repeat: no-repeat;
    background-size:34px 34px;
    transition: all .5s;
}

.container .content .inner .comment.rating .detail .stars .star:hover:before, .container .content .inner .comment.rating .detail .stars .star.active:before {
    background-image: url(../images/star_active.png);
}

@media (max-width: 960px) {
    .container .content .inner .comment.rating {
        flex-direction:column;
        border-radius: 20px;
    }

    .container .content .inner .comment.rating:before
    {
        border-radius: 20px;
    }

    .container .content .inner .comment.rating .detail {
        flex-direction:column;
    }

    .container .content .inner .comment.rating .detail .right-area
    {
        width:100%;
        margin-top:20px;
    }

    .container .content .inner .comment.rating .detail .stars-area span
    {
        flex-direction:column;
        row-gap: 5px;
        align-items:center;
    }

    .container .content .inner .comment.rating .detail .right-area button
    {
        margin-left:0;
    }
}

@media (max-width: 640px) {
    .container .content .inner .comment.rating .detail
    {
        padding:15px 10px;
    }

    .container .content .inner .comment.rating .detail .right-area
    {
        flex-direction:column;
    }

    .container .content .inner .comment.rating .detail .stars-area span
    {
        margin-right:10px;
        font-size:1rem;
    }

    .container .content .inner .comment.rating .detail .stars
    {
        gap: 10px;
        margin-right: 10px;
    }

    .container .content .inner .comment.rating .detail .stars .star
    {
        width: 29px;
        height: 29px;
    }

    .container .content .inner .comment.rating .detail .stars .star:before {
        width: 29px;
        height: 29px;
        background-size: 29px 29px;
    }

    .container .content .inner .comment.rating .detail .right-area button
    {
        margin-top:20px;
    }
}

@media (max-width: 400px)
{
    .container .content .inner .comment.rating .detail .stars
    {
        gap: 8px;
    }
}
/* 評分 */

/* 底部廣告 */
.container .slideshow {
    position: relative;
    height: auto;
    width: 100%;
    height: 170px;
    max-width: 1096px;
    margin: 0 auto 70px;
    overflow: hidden;
    /*border-radius:35px;*/
    /*border:3px solid #fff;*/
}

.container .slideshow figure
{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width:100%;
    max-width:1096px;
    height:auto;
}

.container .slideshow figure picture
{
    display: block;
    position:relative;
    width:100%;
    height:100%;
}
/* 底部廣告 */

/* 浮動 */
.subscribe-btn
{
    position:fixed;
    width:83px;
    height:244px;
    background-image:url('../images/subscribe_btn.png');
    background-size:cover;
    right:5px;
    top:20vh;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    display:none;
}

.container .content.no-subscribe .subscribe-btn
{
    display:inline-block;
}

.container .top-btn {
    position: fixed;
    width: 44px;
    height: 44px;
    background-image: url('../images/top.svg');
    background-size: cover;
    right:-44px;
    bottom: 3vh;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 9;
    display: inline-block;
    transition:all .5s;
}

.container .top-btn.active{
    right:20px;
}

@media (max-width: 768px) {
    .subscribe-btn {
        top: 35vh;
        right: 0;
        width: 60px;
        height: 176px;
    }

    .container .top-btn{
        bottom:calc(120px + 3vh);
    }

    .container .top-btn.active {
        right:8px;
    }
}

@media (max-width: 640px) {
    .subscribe-btn {
        top: 35vh;
        right: 0;
        width: 48px;
        height: 141px;
    }

    .container .top-btn {
        bottom: calc(90px + 3vh);
    }

    .container .top-btn.active {
        right: 2px;
    }
}

@media (max-width: 480px) {
    .container .top-btn {
        bottom: calc(80px + 3vh);
    }
}
/* 浮動 */

/* fixed menu */
nav {
    position: fixed;
    display: none;
    width: 100%;
    height: 120px;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg,rgba(126, 106, 179, 1) 0%, rgba(36, 29, 71, 1) 100%);
    z-index: 10;
}

nav ul{
    position:relative;
    display:flex;
    width:100%;
    height:100%;
    justify-content:space-between;
    color:#fff;
    font-size:1.5rem;
    line-height:1;
}

nav ul li {
    position: relative;
    display:inline-block;
    /*display: flex;
    flex-direction: column;
    row-gap: 10px;*/
    height: 100%;
    width: calc(100% / 5);
    justify-content: center;
    align-items: center;
    font-weight: bold;
    cursor: pointer;
}

nav ul li a {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    height: 100%;
    width:100%;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color:#fff;
}

nav ul li a:before {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 42px;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

nav ul li:nth-child(3) img {
    width:86px;
    transition:all .25s;
}

nav ul li:nth-child(1) a:before {
    background-image: url('../images/nav_icon1.svg');
}

nav ul li:nth-child(2) a:before {
    background-image: url('../images/nav_icon2.svg');
}

nav ul li:nth-child(3) a:before {
    display:none;
}

nav ul li:nth-child(4) a:before {
    background-image: url('../images/nav_icon4.svg');
}

nav ul li:nth-child(5) a:before {
    background-image: url('../images/nav_icon5.svg');
}

nav ul li.active,nav ul li:active
{
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(217, 217, 217, 1) 100%);
}

nav ul li:nth-child(3).active,nav ul li:nth-child(3):active
{
    background: initial;
}

nav ul li:nth-child(1).active a:before,nav ul li:nth-child(1):active a:before
{
    background-image: url('../images/nav_icon1_on.svg');
}

nav ul li:nth-child(2).active a:before,nav ul li:nth-child(2):active a:before
{
    background-image: url('../images/nav_icon2_on.svg');
}

nav ul li:nth-child(3).active img,nav ul li:nth-child(3):active img
{
    width:91px;
}

nav ul li:nth-child(4).active a:before,nav ul li:nth-child(4):active a:before
{
    background-image: url('../images/nav_icon4_on.svg');
}

nav ul li:nth-child(5).active a:before,nav ul li:nth-child(5):active a:before
{
    background-image: url('../images/nav_icon5_on.svg');
}

nav ul li.active a,nav ul li:active a
{
    color:#26252a;
}

@media (max-width: 768px) {
    nav {
        display: block;
    }

    nav ul {
        font-size: 1.375rem;
    }

    nav ul li a:before {
        width: 38px;
        height: 38px;
    }

    nav ul li:nth-child(3) img {
        width: 77px;
    }

    nav ul li:nth-child(3).active img,nav ul li:nth-child(3):active img
    {
        width:87px;
    }
}

@media (max-width: 640px) {
    nav{
        height:90px;
    }

    nav ul {
        font-size: 1.25rem;
    }

    nav ul li a:before {
        width: 30px;
        height: 30px;
    }

    nav ul li:nth-child(3) img {
        width: 60px;
    }

    nav ul li:nth-child(3).active img,nav ul li:nth-child(3):active img
    {
        width:70px;
    }
}

@media (max-width: 480px) {
    nav {
        height: 60px;
    }

    nav ul li a:before {
        width: 25px;
        height: 25px;
    }

    nav ul li:nth-child(3) img {
        width: 45px;
    }

    nav ul li:nth-child(3).active img,nav ul li:nth-child(3):active img
    {
        width:55px;
    }

    nav ul {
        /*font-size: 1rem;*/
        font-size: 0.875rem;
    }

    nav ul li a
    {
        row-gap: 5px;
    }
}

@media (max-width: 400px) {
    /*nav ul {
        font-size: 0.875rem;
    }*/
}
/* fixed menu */

/* preload樣式 */
.container .content .inner .comment .entity.preload{
    --shine: #fff;
    --c-w: 100%;
    --l-h: 1.45rem;
    /*--c-p: 60px;*/
    --l-gap: 1.25rem;
}

.container .content .inner .comment .top .badge.preload {
    --shine: #fff;
    min-width: 120px;
    min-height:30px;
    overflow:hidden;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(217, 217, 217, 1) 100%);
}

.container .content .inner .comment .top .badge.preload:after, .container .content .inner .comment .top .badge.preload:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-mask: var(--m);
    mask: var(--m);
    -webkit-mask-repeat: var(--m-r);
    mask-repeat: var(--m-r);
}

.container .content .inner .comment .top .badge.preload:after {
    background: linear-gradient(to right, transparent 0 20%, var(--shine), transparent 80% 100%) -300% 0 / 80% 100% no-repeat;
    animation: preload 2s linear infinite;
}

.container .content .inner .comment .top small.preload {
    --c-w: 125px;
    --l-h: 25px;
}

.container .content .inner .comment .entity .week-comment.preload
{
    min-height:190px;
    --c-w: 100%;
    --l-h: 1.4rem;
    --c-p: 0px;
    --l-gap: 1.25rem;
    --shine: #fff;
}

@media (max-width: 768px) {
    .container .content .inner .comment .entity.preload{
        --l-h: 1.25rem;
        /*--c-p: 30px;*/
        --l-gap: 1rem;
    }

    .container .content .inner .comment .entity .week-comment.preload
    {
        min-height:215px;
        --l-h: 1.25rem;
        /*--c-p: 30px;*/
        --l-gap: 1rem;
    }
}

@keyframes preload {
  100% {    background-position: 600% 0}
}
/* preload樣式 */

/* markdown 樣式 */
.markdown-body{
  --md-line-height: 1.6667; /* 30px ÷ 18px */
  --md-color: #ffffff;
  --md-bg: transparent;
  --md-accent: #7cc1ff;
  --md-code-bg: rgba(255,255,255,0.06);
  --md-code-border: rgba(255,255,255,0.08);
  --md-radius: 0.333rem; /* 6px */
  /*--md-sans: "Helvetica Neue", Arial, "Noto Sans", "Microsoft JhengHei", sans-serif;*/
  --md-mono: SFMono-Regular, "Menlo", "Roboto Mono", "Noto Mono", monospace;

  /*font-family: var(--md-sans);*/
  font-size: 1.125rem;
  line-height: var(--md-line-height);
  color: var(--md-color);
  background: var(--md-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-break: break-word;
}

/* 標題 */
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin: 1.2em 0 0.6em;
  line-height: 1.2;
  color: var(--md-color);
  font-weight: 600;
  letter-spacing: 0.012rem;
}

.markdown-body h1 { font-size: 1.555rem; } /* 28px */
.markdown-body h2 { font-size: 1.222rem; } /* 22px */
.markdown-body h3 { font-size: 1.111rem; } /* 20px */
.markdown-body h4 { font-size: 1rem; }     /* 18px */
.markdown-body h5 { font-size: 0.888rem; color: rgba(255,255,255,0.95); } /* 16px */
.markdown-body h6 { font-size: 0.777rem; color: rgba(255,255,255,0.85); } /* 14px */

/* 段落 */
.markdown-body p {
  margin: 0 0 1em;
  font-weight: 400;
}

/* 連結 */
.markdown-body a {
  color: var(--md-accent);
  text-decoration: underline;
}
.markdown-body em { font-style: italic; }
.markdown-body strong { font-weight: 700; }

/* 清單 */
.markdown-body ul,
.markdown-body ol {
  margin: 0 0 1em 1.25em;
  padding: 0;
}
.markdown-body li { margin: 0.35em 0; }

/* 區塊引用 */
.markdown-body blockquote {
  margin: 0 0 1em;
  padding: 0.6em 1em;
  border-left: 0.222rem solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
  color: rgba(255,255,255,0.9);
  border-radius: var(--md-radius);
}

/* 程式碼 */
.markdown-body code {
  font-family: var(--md-mono);
  font-size: 0.92em;
  padding: 0.12em 0.36em;
  border-radius: 0.222rem;
  background: rgba(255,255,255,0.03);
  border: 0.055rem solid rgba(255,255,255,0.03);
}

.markdown-body pre {
  overflow: auto;
  padding: 0.888rem; /* 16px */
  border-radius: var(--md-radius);
  background: var(--md-code-bg);
  border: 0.055rem solid var(--md-code-border);
  font-family: var(--md-mono);
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0 0 1em;
}

/* 表格 */
.markdown-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1em;
  font-size: 0.95rem;
}

.markdown-body th,
.markdown-body td {
  padding: 0.555rem 0.666rem; /* 10px 12px */
  border: 0.055rem solid rgba(255,255,255,0.06);
  text-align: left;
}

/* 圖片 */
.markdown-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0.6em 0;
  border-radius: 0.333rem;
}

/* RWD 調整 */
@media (max-width: 480px){
  .markdown-body{
    font-size: 16px; /* 手機字級縮小 */
  }
  .markdown-body h1 { font-size: 1.5rem; }
  .markdown-body h2 { font-size: 1.25rem; }
}
/* markdown 樣式 */

/* popup */
/* popup message */
.popup-msg.overlay
{
    position: fixed;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 1;
    pointer-events: auto;
    display:none;
    z-index: 8010;
    bottom: 0;
	right: 0;
    top: 0;
	left: 0;
}

.popup-msg.active{
    display:block;
}

.popup-msg .modal-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 380px;
    width: 100%;
    padding: 30px 0 0 0;
    border-radius: 24px;
    background-color: #fff;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
    transform: translate(-50%, -50%) scale(1.2);
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

@media (max-width: 450px) {
    .popup-msg .modal-box {
        width: 90%;
    }
}

.popup-msg.active .modal-box {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

/* 大戶 */
.popup-msg.alert-week-comment-msg .modal-box {
    margin-top:0;
    padding-top:0;
}

.popup-msg .modal-box .modal-title {
    width: 100%;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    background-color: #673bac;
    text-align: center;
    padding: 16px 12px;
    margin: 0 10px;
    color: #fff;
    font-size: 1.5rem;
}

.popup-msg .modal-box .top {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px 15px 20px 15px;
}

.popup-msg .modal-box .top .badge {
    display: inline-block;
    font-size: 1rem;
    height: 30px;
    line-height: 30px;
    padding: 0 20px;
    color: #fff;
    background-color: #999999;
    border-radius: 30px;
}

.popup-msg .modal-box .top small {
    display: inline-block;
    font-size: 1rem;
    color: #999999;
}

.popup-msg.alert-week-comment-msg .modal-box h3 {
    text-align: justify;
    margin:0;
    padding:0px 15px 15px;
    width: 100%;
}

.popup-msg.alert-week-comment-msg .modal-box .buttons{
    margin:10px 0 25px;
    background-color:initial;
}

.popup-msg.alert-week-comment-msg .modal-box button {
    background: linear-gradient(270deg, rgba(7, 61, 255, 1) 0%, rgba(209, 56, 237, 1) 100%);
    border-radius: 10px;
    cursor: pointer;
    font-size: 1.5rem;
    padding: 8px 12px;
    width: 60%;
    margin: 0 auto;
}
/* 大戶 */

.popup-msg .modal-box i {
    font-size: 70px;
    color: #f0a834;
}

.popup-msg .modal-box h2 {
    margin-top: 20px;
    font-size: 1.5rem;
    font-weight: 500;
    padding:0 15px;
    color: #333;
}

.popup-msg .modal-box h3 {
    font-weight: 400;
    color: #333;
    text-align: center;
    font-size: 1.125rem;
    line-height: 1.5rem;
    margin-top: 15px;
    width: 70%;
}

.popup-msg .modal-box .buttons {
    margin-top: 50px;
    width: 100%;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    /*background-color: #f0a834;*/
    background-color: #673bac;
    display: flex;
    justify-content: center;
}

.popup-msg .modal-box button {
    font-size: 1.125rem;
    padding: 16px 12px;
    width: 100%;
    margin: 0 10px;
    font-weight: 400;
    color: #fff;
    border: none;
    background-color: #673bac;
    border-radius: 24px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.popup-msg.hello .modal-box h2 {
    text-align:center;
    padding:0 10px;
    width:calc(100% - 20px);
    font-weight:500;
}

.popup-msg.hello .modal-box h3 {
    text-align: justify;
    padding:0 10px;
    width:calc(90% - 20px);
    font-size: 1.25rem;
}

@media (max-width: 450px) {
    .popup-msg.hello .modal-box h2 {
        font-size: 1.375rem;
    }

    /*.popup-msg.hello .modal-box h3 {
        font-size: 1rem;
    }*/
}

/* 20240821 start */
.popup-msg.add-friend-msg .modal-box, .popup-msg.alert-msg .modal-box
{
    max-width:300px;
}

.popup-msg.add-friend-msg .modal-box h2 {
    font-weight:500;
}

.popup-msg.add-friend-msg .modal-box h3
{
    text-align:left;
    font-weight:500;
}

.popup-msg.add-friend-msg .modal-box .buttons
{
    position:relative;
    background-color:#00c200;
}

.popup-msg.add-friend-msg .modal-box button
{
    background-color:#00c200;
    padding-left:55px;
    font-weight:500;
}

.popup-msg.add-friend-msg .modal-box button:before
{
    position:absolute;
    content:"";
    display:inline-block;
    width:75px;
    height:75px;
    background-image:url(../images/line_icon.png);
    top:-35px;
    left:20%;
}

@media (max-width: 450px) {
    .popup-msg.add-friend-msg .modal-box button:before
    {
        left:15%;
    }
}

.popup-msg.add-friend-msg .modal-box .close-btn {
    position: absolute;
    width: 66px;
    height: 66px;
    background-image: url(../images/close_btn.png);
    background-position: center center;
    background-repeat: no-repeat;
    top: 0;
    right: 0;
    transform: scale(0.65);
    cursor:pointer;
}

.popup-msg.alert-msg .modal-box h2 {
    text-align: center;
    line-height: 2rem;
    font-weight: 500;
}

.popup-msg.alert-msg .modal-box button
{
    font-weight:500;
}
/* 20240821 end */

/* popup message */
/* popup */

/*.container .content .inner .info.is-loading .comment .chart:before
{
    background: #eee;
    background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%);
    background-size: 200% 100%;
    animation: 1.5s shine linear infinite;
}

.container .content .inner .info.is-loading .chart canvas
{
    display:none !important;
}

@keyframes shine {
  to {
    background-position-x: -200%;
  }
}

.container .content .inner .info.is-loading .comment .btns
{
    display:none;
}*/