/* Hero Banner Background */
.interactive.hero-banner {
    background-image: url('../images/digital_signage_applications/web_technologies.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 400px;
    position: relative;
}

.interactive.hero-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.interactive.hero-banner .contents {
    position: relative;
    z-index: 2;
}

.interactive.hero-banner h1 {
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.interactive.hero-banner .box {
    color: #fff;
}

.interactive.hero-banner .box span {
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.final {
    margin-bottom: 5%;
}

.final a {
    color: #007ED4;
    text-decoration: none;
}

.final a:hover {
    text-decoration: underline;
}

.flexibleIntegrationPic {
    margin-top: 3%;
}

.lastword {
    font-weight: 400;
    width: 96%;
    margin: 0 2%;
    display: block;
    float: left;
    color: #595959;
    text-align: left;
    padding-bottom: 3%;
}

.webTechnologies {
    margin: 0;
    width: 100%;
    height: auto;
    float: left;
    background-color: #fff;
    padding-top: 3.75em; /* 與 hero banner 的間距，section 之間 60px @16 */
    padding-bottom: 5%;
    color: #595959;
}

.webTechnologies .contents span {
    font-weight: 500;
}

.webTechnologies .contents a {
    font-weight: 300;
    text-decoration: none;
    color: #007ED4;
}

.webTechnologies .contents a:hover {
    font-weight: 300;
    text-decoration: underline;
}

.webTechnologies .contents .box3 .text {
    font-weight: 500;
    margin-bottom: 10%;
}

.webTechnologies .contents {
    width: 1000px;
    height: auto;
    padding: 0 5px;
    margin: 0px auto;
    box-sizing: border-box;
    display: flow-root;
    /* 包住 box1/box2 的 float，避免後面的 h2 繞排跑版 */
}

.webTechnologies .contents .box1 {
    width: 64%;
    height: auto;
    float: left;
    margin: 1% 1%;
    padding: 20px;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
}

.webTechnologies .contents .box1 h2 {
    width: 100%;
    float: left;
    display: block;
    color: #595959;

    margin: 15px 0 10px 0;
}

.webTechnologies .contents .box1 .Photo {
    width: 100%;
    height: auto;
    float: left;

    color: #595959;
}

.webTechnologies .contents .box1 span {
    width: 100%;
    float: left;
    display: block;
    color: #595959;
    text-align: justify;
}

.webTechnologies .contents .box2 {
    width: 32%;
    height: auto;
    float: left;
    margin: 1% 1%;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
}

.webTechnologies .contents .box2 .box21 {
    width: 98%;
    height: auto;
    float: left;
    margin: 1% 1% 3% 1%;
    padding: 20px;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
    border: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.webTechnologies .contents .box2 .box21 h2 {
    width: 100%;
    float: left;
    display: block;
    color: #595959;
    margin: 10px 0 10px 0;
    text-align: left;
    color: #007ED4;
}

.webTechnologies .contents .box2 .box21 .Photo {
    width: 100%;
    height: auto;
    float: left;
    color: #595959;
}

.webTechnologies .contents .box2 .box21 span {
    width: 100%;
    float: left;
    display: block;
    color: #595959;
    /*text-align: left;*/
}

.webTechnologies .contents .box2 .box21 span ul {
    padding-left: 7%;
}

/* Player Slider Styles */
.player-slider {
    width: 100%;
    height: auto;
    margin: 15px 0;
    overflow: hidden;
    border-radius: 8px;
    position: relative;
}

.player-slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.player-slider .player-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 15px;
    box-sizing: border-box;
}

.player-slider .player-link:hover {
    transform: scale(1.05);
}

.player-slider .player-image {
    width: auto;
    max-width: 250px;
    height: 100px;
    object-fit: contain;
    margin-bottom: 15px;
    border-radius: 4px;
}

.player-slider .player-name {
    color: #007ED4;
    font-weight: 500;
    font-size: 1.1em;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Player Slider Navigation Arrows */
.player-slider .swiper-button-next,
.player-slider .swiper-button-prev {
    color: #007ED4;
    width: 28px;
    height: 28px;
    margin-top: -20px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.player-slider .swiper-button-next:after,
.player-slider .swiper-button-prev:after {
    font-size: 12px;
    font-weight: bold;
}

.player-slider .swiper-button-next:hover,
.player-slider .swiper-button-prev:hover {
    background-color: #007ED4;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 126, 212, 0.3);
}

.player-slider .swiper-button-next {
    right: 4px;
}

.player-slider .swiper-button-prev {
    left: 4px;
}

/* Application Cards Styles */
.application-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 0;
    padding: 20px;
}

.application-card {
    background-color: #fff;
    border-radius: 8px;
    padding: 0;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    overflow: hidden;
}

.application-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 126, 212, 0.2);
    border-color: #007ED4;
}

.application-card .card-image-wrapper {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background-color: #f5f5f5;
    position: relative;
}

.application-card .card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.application-card:hover .card-image {
    transform: scale(1.05);
}

.application-card .card-title {
    color: #595959;
    font-size: 16px;
    font-weight: 500;
    margin: 0;
    padding: 20px 15px;
    line-height: 1.4;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.application-card:hover .card-title {
    color: #007ED4;
}

/* Whitepaper Links Styles */
.whitepaper-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 30px auto 40px;
    max-width: 1200px;
    padding: 0 20px;
    flex-wrap: wrap;
}

.whitepaper-link {
    display: inline-block;
    transition: all 0.3s ease;
    text-decoration: none;
    flex: 1;
    min-width: 140px;
    max-width: 175px;
}

.whitepaper-link:hover {
    transform: translateY(-5px);
}

.whitepaper-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    transition: all 0.3s ease;
}

/* Contact Us Section */
.contact-us-section {
    text-align: center;
    margin: 40px 0;
    padding: 0 20px;
}

/* Button Link Style (matching menu btn--link) */
.btn--link {
    position: relative;
    display: inline-block;
    background: rgb(0, 160, 233);
    background: var(--gradient-color);
    color: #fff !important;
    padding: 8px 32px 8px 32px;
    border-radius: 50px;
    margin-top: 12px;
    font-weight: 600 !important;
    z-index: 1;
    text-align: center;
}

.btn--link::before {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50px;
    background: rgb(0, 160, 233);
    background: linear-gradient(90deg, rgba(0, 160, 233, 1) 0%, rgba(0, 160, 233, 1) 100%);
    z-index: -1;
    opacity: 0;
    transition: all cubic-bezier(0.2, 0.0, 0, 1.0) 0.3s;
}

.btn--link:hover {
    text-decoration: none !important;
    color: #fff !important;
}

.btn--link:hover::before {
    opacity: 1;
}

/* IndexFour Full Width Background */
.IndexFour {
    width: 100%;
    position: relative;
    left: 0;
    right: 0;
}

/* Section Title Backgrounds */
.webTechnologies .contents h2.f18.text span,
.contents h1.f35.text span {
    padding: 10px 20px;
    display: inline-block;
    border-radius: 4px;
    box-sizing: border-box;
}

.contents {
    width: 1000px;
    height: auto;
    padding: 0 5px;
    margin: 0px auto;
    box-sizing: border-box;
    margin-top: 5%;
    margin-bottom: 0%;

}

.contents .box {
    width: 100%;
    height: auto;
    float: left;
    margin: 0;
    padding: 0 0 20px 0;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
}

.threeInOne {
    margin: 0;
    width: 100%;
    height: auto;
    float: left;
    background-color: #fff;
}

.threeInOne .contents {
    width: 1000px;
    height: auto;
    padding: 0 5px;
    margin: 0px auto;
    box-sizing: border-box;
}

.threeInOne .contents .box {
    width: 29.33%;
    height: auto;
    float: left;
    margin: 0% 2%;
    padding: 20px;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
}

.threeInOne .contents .box h2 {
    width: 100%;
    float: left;
    display: block;
    color: #595959;
    font-size: 1.250em;
    line-height: 1.5em;
    margin: 15px 0 10px 0;
    text-align: left;
}

.threeInOne .contents .box .Photo {
    width: 100%;
    height: auto;
    float: left;
    font-size: 7em;
    color: #595959;
}

.threeInOne .contents .box span {
    width: 100%;
    float: left;
    display: block;
    color: #595959;
    font-size: 1em;
    line-height: 1.5em;
    text-align: left;
}

@media only screen and (max-width: 1024px) {
    .webTechnologies .contents a {
        line-height: 1.5em;
        ;
    }

    .webTechnologies .contents .box1 span {
        line-height: 1.5em;
    }

    .webTechnologies .contents .box2 .box21 h2 {
        line-height: 1.5em;
    }

    .webTechnologies .contents .box2 .box21 spanul li {
        line-height: 1.5em;
    }

    .webTechnologies .textarea {
        line-height: 1.5em;
    }

    .webTechnologies .contents {
        width: 768px;
        margin: 0px auto;
    }

    .webTechnologies .contents .box1 {
        width: 64%;
        margin: 1%;
        padding: 15px;
    }

    .webTechnologies .contents .box2 {
        width: 32%;
        margin: 1%;
        padding: 15px;
    }

    .contents {
        width: 768px;
        margin: 0px auto;
        margin-top: 5%;
        margin-bottom: 5%;
    }

    .contents .box {
        width: 100%;
        padding: 0px;
    }

    .threeInOne .contents {
        width: 768px;
        margin: 35px auto;
    }

    .threeInOne .contents .box {
        width: 31.33%;
        margin: 1%;
        padding: 15px;
    }
}

@media only screen and (max-width: 768px) {
    .lastword {
        display: block;
        width: 100%;
        padding: 3%;
        clear: both;
    }

    .webTechnologies .contents {
        width: 600px;
        margin: 20px auto;
    }

    .webTechnologies .contents .box1 {
        width: 48%;
        margin: 1%;
        padding: 10px;
    }

    .webTechnologies .contents .box2 {
        width: 48%;
        margin: 1%;
        padding: 10px;
    }

    .contents {
        width: 600px;
        margin: 0px auto;
        margin-top: 5%;
        margin-bottom: 5%;

    }

    .contents .box {
        width: 100%;
        margin: 0%;
        padding: 0px;
    }

    .threeInOne .contents {
        width: 600px;
        margin: 20px auto;
    }

    .threeInOne .contents .box {
        width: 31.33%;
        margin: 1%;
        padding: 10px;
    }

    .flexibleIntegrationPic {
        display: none;
    }
}

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

    .interactive .contents h1,
    .interactive .contents h2 {
        width: 86%;
        margin-left: 7%;
        margin-right: 7%;
    }

    .interactive.hero-banner {
        min-height: 300px;
        width: 90vw;
    }

    .player-slider {
        min-height: 250px;
        height: auto;
    }

    .player-slider .player-image {
        max-width: 180px;
        height: 130px;
    }

    .player-slider .swiper-button-next,
    .player-slider .swiper-button-prev {
        width: 20px;
        height: 20px;
        margin-top: -10px;
    }

    .player-slider .swiper-button-next:after,
    .player-slider .swiper-button-prev:after {
        font-size: 16px;
    }

    .player-slider .swiper-button-next {
        right: 5px;
    }

    .player-slider .swiper-button-prev {
        left: 5px;
    }

    /* Application Cards Responsive */
    .application-cards {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 10px;
        margin: 20px 0 30px 0;
    }

    .application-card .card-image-wrapper {
        height: 150px;
    }

    .application-card .card-title {
        font-size: 14px;
        padding: 15px 10px;
    }

    /* Whitepaper Links Responsive */
    .whitepaper-links {
        gap: 15px;
        padding: 0 10px;
        margin: 20px 0 30px 0;
    }

    .whitepaper-link {
        min-width: 105px;
        max-width: 140px;
    }

    .webTechnologies .contents {
        width: 100%;
        margin: 20px auto;
    }

    .webTechnologies .contents .box1 {
        width: 92%;
        margin: 5% 4%;
        padding: 10px;
    }

    .webTechnologies .contents .box2 {
        width: 98%;
        margin: 5% 1px;
        padding: 10px;
    }

    .contents {
        width: 100%;
        margin: 20px auto;
    }

    .contents .box {
        width: 98%;
        margin: 5% 1px;
        padding: 10px;
    }

    .threeInOne .contents {
        width: 100%;
        margin: 20px auto;
    }

    .threeInOne .contents .box {
        width: 92%;
        margin: 5% 4% 10% 4%;
        padding: 10px;
    }

    .final {
        margin-bottom: 15%;
        margin-top: 25%;
    }
}

@media only screen and (max-width: 480px) {
    .application-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .application-card .card-image-wrapper {
        height: 180px;
    }

    .whitepaper-links {
        flex-direction: column;
        align-items: center;
    }

    .whitepaper-link {
        min-width: 70%;
        max-width: 70%;
    }
}

/* Product Header Styles for Web Technologies */
#requirements.a-top,
#supported.a-top {
    padding-top: 120px;
    margin-top: -60px;
}

/* Submenu Styles */
.whiteSelector {
    background-color: white;
    opacity: 0.6;
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 20;
    transition: opacity 0.5s;
}

.productName {
    position: fixed;
    left: 0;
    z-index: 21;
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
    color: #333;
    font-weight: 300;
    font-size: 1.125em;
    text-decoration: none;
    transition: all 0.5s;
    font-family: "Poppins", "Noto Sans TC", serif;
}
.productName-short { display: none; }

.productName span {
    width: 95%;
    max-width: 1200px;
    font-family: 'Poppins', sans-serif;
    color: #595959;
}

.subButtonAll {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: end;
    column-gap: 24px;
    width: 95%;
    max-width: 1200px;
    height: auto;
    font-weight: 300;
    font-size: 1.125em;
    z-index: 25;
    transition: all 0.5s;
    font-family: "Poppins", "Noto Sans TC", serif;
}

.subButtonAll.show {
    display: flex;
}

.subButtonAll a {
    color: #595959;
    padding: 0px;
    text-decoration: none;
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
}

.subButtonAll a:hover {
    text-decoration: underline;
    color: #333;
}

.submenuArrow {
    position: absolute;
    right: 0%;
    bottom: 285px;
    width: 100%;
    height: 30px;
    cursor: pointer;
}

.downArrow {
    width: 96%;
    height: 30px;
    background-image: url(/images/digital_signage_products/submenu_arrow_down.png);
    background-repeat: no-repeat;
    background-position: right center;
    display: none;
}

.upArrow {
    width: 96%;
    height: 30px;
    background-image: url(/images/digital_signage_products/submenu_arrow_up.png);
    background-repeat: no-repeat;
    background-position: right center;
    display: none;
}

/* Responsive Submenu Styles */
@media only screen and (max-width: 768px) {
    .productName {
        width: 60%;
        padding-left: 14px;
    }
    .productName-full { display: none; }
    .productName-short { display: inline; }
}

@media only screen and (max-width: 600px) {
    .whiteSelector {
        opacity: 1;
        height: 505px;
    }

    .productName span {
        top: 195px;
        left: 5%;
    }

    .submenuArrow {
        top: 189px;
    }

    .subButtonAll {
        display: none;
        flex-direction: column;
        width: 100%;
        height: auto;
        margin: 0;
        top: 110px;
        left: 0;
        transform: none;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        opacity: 1;
    }

    .subButtonAll.show {
        display: flex;
    }

    .subButtonAll a {
        margin: 0 3%;
        padding: 0;
        text-decoration: none;
        height: 34px;
        width: 94%;
        display: flex;
        align-items: center;
        border-top: 1px solid rgba(89, 89, 89, 0.2);
        justify-content: center;
    }

    .subButtonAll a:hover {
        text-decoration: none;
    }
}

/* Contact Us Button Styles */
.btn_wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.mail_btn {
    position: relative;
    border: none;
    cursor: pointer;
    background: linear-gradient(90.27deg, #3b82f6, #bd63f1);
    border-radius: 30px;
    padding: 8px 20px 8px 20px;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    word-spacing: 2px;
    margin-top: 24px;
    margin-bottom: 40px;
    border-radius: 50px;
    user-select: none;
    text-decoration: none;
    display: flex;
    width: auto;
    justify-content: center;
    align-items: center;
    column-gap: 8px;
    transition: padding 0.3s 0.15s, background 0.45s;
}

.mail_btn:hover {
    text-decoration: none;
    padding: 8px 65px 8px 20px;
    transition: all 0.3s;
}

.mail_btn_icon {
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: flex-end;
    height: 30px;
    opacity: 0;
    transition: opacity 0.3s, right 0.2s;
}

.mail_btn:hover .mail_btn_icon {
    right: 2%;
    opacity: 1;
    transition: opacity 0.3s 0.15s, right 0.2s 0.15s;
}

@keyframes imgOpacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.mail_btn_img {
    width: 32px;
}

.mail_btn_img.bg {
    height: 20px;
    background-color: #007ED4;
    box-shadow: 0px 2px 10px rgba(0, 70, 120, 0.2);
    transition: all 0.3s;
}

.mail_btn:hover .mail_btn_img.bg {
    box-shadow: 0px 2px 10px rgba(0, 39, 124, 0.8);
}

.mail_btn_img.front {
    width: 32px;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.mail_btn_icon>img:nth-child(2) {
    transform: translate(-50%, -40%);
    opacity: 0.9;
    transition: all 0.35s linear 0.4s;
}

.mail_btn:hover .mail_btn_icon>img:nth-child(2) {
    transform: translate(-50%, -52%);
    opacity: 1;
}

/* ══ web-technologies 新增：架構圖 / 系統卡說明 / CMS server / FAQ（2026-08）══ */
.webTechnologies .contents.wp-wide { width: 1200px; max-width: 100%; margin: 0 auto; }
.webTechnologies .contents.wt-howit { width: 1200px; max-width: 100%; margin: 0 auto; padding: 3.75em 0.5em 0.4em; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wt-diagram { display: block; width: 100%; height: auto; }
.wt-diagram text.gt-svg, .wt-diagram tspan.gt-svg { font-family: good-times, 'Poppins', sans-serif; }
.subButtonAll a .gt { font-family: good-times, 'Poppins', sans-serif !important; }

.application-card .card-body { padding: 18px 16px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; text-align: left; }
.application-card .card-title { flex-grow: 0; display: block; padding: 0; margin: 0; font-size: 16px; font-weight: 500; color: #595959; line-height: 1.4; }
.application-card:hover .card-title { color: #007ed4; }
.application-card .card-desc { margin: 0; font-size: 14px; line-height: 1.6; color: #757575; flex-grow: 1; }
.application-card .card-case-link { margin-top: auto; font-size: 14px; font-weight: 500; color: #007ed4; text-decoration: none; }
.application-card .card-case-link:hover { text-decoration: underline; }

.wt-servers { max-width: 860px; margin: 10px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 0 20px; }
.wt-server-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; padding: 26px; text-align: center; box-shadow: 0 0 15px rgba(142,163,175,.20); transition: all .3s cubic-bezier(.2,0,0,1); }
.wt-server-card:hover { transform: translateY(-5px); box-shadow: 0 3px 15px rgba(142,163,175,.35); }
.wt-server-card img { height: 56px; width: auto; margin-bottom: 12px; }
.wt-server-card h3 { margin: 0 0 10px; font-family: good-times, 'Poppins', sans-serif; font-size: 20px; font-weight: 500; color: #222; }
.wt-pill { display: inline-block; font-size: 12px; font-weight: 500; padding: 4px 12px; border-radius: 5px; color: #f8f8f8; margin-bottom: 12px; }
.wt-pill--robustie { background: #693ca5; }
.wt-pill--flexie { background: #1089c6; }
.wt-server-card p { margin: 0 0 14px; font-size: 14px; line-height: 1.6; color: #595959; }
.wt-server-card a { font-size: 14px; font-weight: 500; color: #007ed4; text-decoration: none; }
.wt-server-card a:hover { text-decoration: underline; }

.wt-faq { max-width: 860px; margin: 0 auto; padding: 0 20px; }
.wt-faq details { border-bottom: 1px solid #e5e5e5; padding: 16px 4px; }
.wt-faq summary { font-size: 16px; font-weight: 500; color: #222; cursor: pointer; list-style: none; position: relative; padding-right: 26px; }
.wt-faq summary::-webkit-details-marker { display: none; }
.wt-faq summary::after { content: "+"; position: absolute; right: 4px; top: -2px; color: #007ed4; font-weight: 600; font-size: 20px; line-height: 1; }
.wt-faq details[open] summary::after { content: "-"; }
.wt-faq details p { margin: 12px 0 0; font-size: 15px; line-height: 1.7; color: #595959; }

/* good-times 需 !important 以蓋過 tw/cn 等 font.css 的 h1..button 全域 !important */
.gt { font-family: good-times, 'Poppins', sans-serif !important; }
.webTechnologies > .contents, .webTechnologies > .content { padding-top: 3.75em; } /* section 之間 60px @16（Meg 2026-08-31）*/
.webTechnologies > .contents:first-child { padding-top: 0; }
.webTechnologies .contents .box2 .box21 .box21-models { float: left; width: 100%; margin: 8px 0 0; text-align: left; color: #595959; white-space: nowrap; font-size: 0.72em; }
.webTechnologies .contents .box2 .box21 .box21-models span { display: inline; float: none; width: auto; margin-right: 10px; }
.webTechnologies .contents .box2 .box21 .box21-models span:last-child { margin-right: 0; }



@media only screen and (max-width: 760px) {
    .wt-diagram { min-width: 620px; }
}

@media only screen and (max-width: 600px) {
    .wt-servers { grid-template-columns: 1fr; }
    .application-card .card-title { padding: 0; font-size: 15px; }
    .application-card .card-body { padding: 16px 14px; }
}

/* ══ finalButton（比照 e-paper，2026-08-28）══ */
.finalButton { margin: 0; width: 100%; height: auto; display: flex; justify-content: center; background-color: #e7e7e7; padding: 1% 0; font-family: "Poppins", "Noto Sans TC", sans-serif; font-weight: 400; }
.finalButton .contents { width: 1200px; box-sizing: border-box; display: flex; justify-content: center; flex-wrap: wrap; margin: 2% 0 5% 0; }
.finalButton .contents .box { width: 20%; height: auto; padding: 20px; text-decoration: none; box-sizing: border-box; text-align: center; }
.finalButton .contents .box h2 { width: 100%; display: block; color: #595959; line-height: 1.5em; margin: 15px 0 2px 0; text-align: center; font-weight: 500; }
.finalButton .contents .box span { width: 100%; display: block; color: #595959; text-align: center; }
.finalButton .contents .box .mylinks a, .finalButton .contents .box > a { margin-top: 18px; text-decoration: none; color: #007ED4; width: 100%; display: block; text-align: center; }
.finalButton .contents .box a:hover { text-decoration: underline; }
.finalButton [class^="index-"] { font-size: 7em; color: #595959; }
.finalButton.small-icon [class^="index-"], .finalButton .small-icon [class^="index-"] { font-size: 5em; }
@media only screen and (max-width: 1024px) {
    .finalButton { padding: 2% 0 0; }
    .finalButton .contents { width: 768px; }
}
@media only screen and (max-width: 767px) {
    .finalButton .contents { width: 100%; }
    .finalButton .contents .box { width: 50%; }
}
@media only screen and (max-width: 480px) {
    .finalButton .contents .box { width: 100%; }
}

.wt-diagram__desc { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* finalButton 卡片對齊（min-height，2026-08-28）*/
.finalButton .contents .box h2 { min-height: 3em; }
.finalButton .contents .box span.f16 { min-height: 4.8em; display: block; }
