﻿


/*------------------------------共用------------------------------*/
ol, ul {
    padding-left: 0rem;
}

/*------------------------------合作夥伴Partner------------------------------*/

/*------------------------------服務廠商Service------------------------------*/

#service ul li {
    display: inline;
}

#service li {
    padding: 20px 15px;
    float: left;
}

#service .Img img {
    display: block;
    width: 100%;
}

#service p {
    font-family: "Lato", sans-serif;
    letter-spacing: 1px;
    font-size: 18px;
    color: #333333;
    text-align: center;
}

@media (min-width: 1516px) {
    .service_li_w {
        flex: 0 0 20%;
        max-width: 20%;
    }

    #service .Img img {
        max-height: 150px;
        max-width: 150px;
    }
}

@media (min-width: 1101px) and (max-width: 1515px) {
    .service_li_w {
        flex: 0 0 25%;
        max-width: 25%;
    }

    #service .Img img {
        max-height: 140px;
        max-width: 150px;
    }
}

@media (min-width: 861px) and (max-width: 1100px) {
    .service_li_w {
        flex: 0 0 25%;
        max-width: 25%;
    }

    #service li {
        padding: 10px;
    }
}

@media (min-width: 100px) and (max-width: 860px) {
    .service_li_w {
        flex: 0 0 50%;
        max-width: 50%;
    }

    #service li {
        padding: 5px;
    }
}


/*----------------------設定合作流程針對解析度縮放----------------------*/
.processArea {
    padding: 30px 0px 30px;
}

@media (max-width: 1540px) {
    .processArea .wrap {
        width: 100%;
        padding: 0 150px;
    }
}

@media (max-width: 574px) {
    .processArea .li_width {
        width: 80%;
    }
}

@media (max-width: 1540px) {
    .processArea .processList {
        margin-right: -110px;
    }
}

.processArea .wrap {
    overflow: hidden;
}

.processArea .processList {
    display: flex;
    flex-wrap: wrap;
    margin-right: -150px;
}

.processArea.show li {
    transition: all 0.8s ease;
    transform: translate(0);
    opacity: 1;
}

.processArea li {
    padding: 25px 0;
    box-sizing: border-box;
}

.processArea .item {
    cursor: pointer;
    position: relative;
    width: 200px;
    margin: 0px auto;
}

    .processArea .item:before {
        content: "";
        position: absolute;
        top: 42px;
        right: -50px;
        width: 50px;
        height: 31px;
        background-repeat: no-repeat;
        background-image: url(../../images/arrow.png);
        border-style: cover;
    }

.processArea .titleBox {
    margin-bottom: 15px;
    text-align: left;
}

.titleBox {
    position: relative;
    margin-bottom: 30px;
    text-align: center;
}

.processArea .titleBox .enTitle {
    font-size: 15px;
    font-weight: 400;
    font-family: "Poppins", "微軟正黑體", sans-serif;
    color: #018bd5;
}

.titleBox em {
    font-weight: 300;
    font-size: 38px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

em {
    font-style: normal;
}

.processArea .titleBox .title {
    font-size: 36px;
    font-weight: 300;
    color: #111;
}

.processArea .Txt {
    padding-right: 35px;
    position: relative;
    box-sizing: border-box;
    letter-spacing: 1px;
}

    .processArea .Txt p {
        position: relative;
        font-size: 14px;
        font-weight: 300;
        color: #626262;
    }

    .processArea .Txt .num {
        position: absolute;
        top: -20px;
        right: 0;
        width: 85px;
        text-align: center;
        font-size: 125px;
        font-weight: 600;
        font-family: "Poppins", "微軟正黑體", sans-serif;
        color: #ffc10773;
        line-height: 1;
    }


/*---------------------客製化技術規劃 Customization Capabilities---------------------*/

#customization .title {
    z-index: 10;
}

[speech-bubble], [speech-bubble] * {
    box-sizing: border-box
}

[speech-bubble] {
    --bbColor: grey;
    --bbArrowSize: 1.5rem;
    --bbBorderRadius: 0.25rem;
    --bbPadding: 1rem;
    background: var(--bbColor);
    border-radius: var(--bbBorderRadius);
    padding: var(--bbPadding);
    position: relative;
}

    [speech-bubble]::before {
        content: '';
        position: absolute;
        background: var(--bbColor);
    }

    [speech-bubble][pbottom] {
        margin-bottom: var(--bbArrowSize)
    }

    [speech-bubble][ptop] {
        margin-top: var(--bbArrowSize);
    }

    [speech-bubble][pleft] {
        margin-left: var(--bbArrowSize);
    }

    [speech-bubble][pright] {
        margin-right: var(--bbArrowSize);
    }

    [speech-bubble][pbottom]::before,
    [speech-bubble][ptop]::before {
        --width: calc(var(--bbArrowSize) / 2 * 3);
        height: var(--bbArrowSize);
        width: var(--width);
    }

    [speech-bubble][pbottom]::before {
        top: calc(100% - 2px);
    }

    [speech-bubble][pbottom][aleft]::before {
        left: 1rem;
        clip-path: polygon(25% 0, 100% 0, 0% 100%)
    }

    [speech-bubble][pbottom][acenter]::before {
        left: calc(50% - var(--width) / 2);
        clip-path: polygon(12.5% 0, 87.5% 0, 50% 100%)
    }

    [speech-bubble][pbottom][aright]::before {
        right: 1rem;
        clip-path: polygon(0 0, 75% 0, 100% 100%)
    }

    [speech-bubble][ptop]::before {
        bottom: calc(100% - 2px);
    }

    [speech-bubble][ptop][aleft]::before {
        left: var(--bbPadding);
        clip-path: polygon(0 0, 100% 100%, 25% 100%)
    }

    [speech-bubble][ptop][acenter]::before {
        left: calc(50% - var(--width) / 2);
        clip-path: polygon(12.5% 100%, 50% 0, 87.5% 100%)
    }

    [speech-bubble][ptop][aright]::before {
        right: var(--bbPadding);
        clip-path: polygon(0 100%, 100% 0, 75% 100%)
    }

    [speech-bubble][pleft]::before,
    [speech-bubble][pright]::before {
        --height: calc(var(--bbArrowSize) / 2 * 3);
        width: var(--bbArrowSize);
        height: var(--height);
    }

    [speech-bubble][pright]::before {
        left: calc(100% - 2px);
    }

    [speech-bubble][pright][atop]::before {
        top: var(--bbPadding);
        clip-path: polygon(100% 0, 0 100%, 0 25%)
    }

    [speech-bubble][pright][acenter]::before {
        top: calc(50% - var(--height) / 2);
        clip-path: polygon(0 12.5%, 100% 50%, 0 87.5%)
    }

    [speech-bubble][pright][abottom]::before {
        bottom: var(--bbPadding);
        clip-path: polygon(0 0, 100% 100%, 0 75%)
    }

    [speech-bubble][pleft]::before {
        right: calc(100% - 2px);
    }

    [speech-bubble][pleft][atop]::before {
        top: var(--bbPadding);
        clip-path: polygon(0 0, 100% 25%, 100% 100%)
    }

    [speech-bubble][pleft][acenter]::before {
        top: calc(50% - var(--height) / 2);
        clip-path: polygon(0 50%, 100% 12.5%, 100% 87.5%);
    }

    [speech-bubble][pleft][abottom]::before {
        bottom: var(--bbPadding);
        clip-path: polygon(0 100%, 100% 0, 100% 75%)
    }

    [speech-bubble][pbottom][flip]::before,
    [speech-bubble][ptop][flip]::before {
        transform: scaleX(1)
    }

    [speech-bubble][pleft][flip]::before,
    [speech-bubble][pright][flip]::before {
        transform: scaleY(-1)
    }

/* for demo */
@media (min-width: 100px) and (max-width: 800px) {

    /*低於800不顯示*/
    .customiz_service {
        display: none;
    }
}

.customization_body {
    /*max-width: 60rem;*/
    margin-inline: auto;
    font-family: sans-serif;
    display: grid;
    grid-template-areas:
        'br bc bl'
        'rb cc lb'
        'rc cc lc'
        'rt cc lt'
        'tr tc tl';
    padding: 2rem;
    gap: 2rem;
}

.middle {
    grid-area: cc;
    align-self: center;
    justify-self: center;
    text-align: center;
    color: #ad0000;
}

    .middle code {
        font-size: 1rem;
    }

/**/
[speech-bubble][pbottom][aleft] {
    grid-area: bl
}

[speech-bubble][pbottom][acenter] {
    grid-area: bc
}

[speech-bubble][pbottom][aright] {
    grid-area: br
}

[speech-bubble][pright][atop] {
    grid-area: rt
}

[speech-bubble][pright][acenter] {
    grid-area: rc
}

[speech-bubble][pright][abottom] {
    grid-area: rb
}

[speech-bubble][pleft][atop] {
    grid-area: lt
}

[speech-bubble][pleft][acenter] {
    grid-area: lc
}

[speech-bubble][pleft][abottom] {
    grid-area: lb
}

[speech-bubble][ptop][aleft] {
    grid-area: tl
}

[speech-bubble][ptop][acenter] {
    grid-area: tc
}

[speech-bubble][ptop][aright] {
    grid-area: tr
}

[speech-bubble][pbottom], [speech-bubble][ptop] {
    margin: 0
}

[speech-bubble] {
    filter: drop-shadow(0px 0px 0.2rem black);
    transition: transform 0.25s ease
}

    [speech-bubble]:hover {
        transform: scale(1.05);
        filter: drop-shadow(0px 0px 0.2rem black) drop-shadow(0px 0px 1rem var(--bbColor));
    }

    [speech-bubble] .title {
        font-weight: 600;
        color: white;
        text-shadow: 1px 1px 2px black;
        margin-bottom: 0.5rem
    }

    [speech-bubble] code {
        background: white;
        margin: 0.125rem;
        box-shadow: 0px 0px 5px rgba(0,0,0,.5);
        font-size: .9rem
    }

/*-------------------------- 輪播圖片廣告切換CSS --------------------------*/
.carousel {
    position: relative
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.carousel-item {
    position: relative;
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    transition: -webkit-transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease,-webkit-transform .6s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px
}

    .carousel-item-next, .carousel-item-prev, .carousel-item.active {
        display: block
    }

.carousel-item-next, .carousel-item-prev {
    position: absolute;
    top: 0
}

    .carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) {
    .carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

.active.carousel-item-right, .carousel-item-next {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}

@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) {
    .active.carousel-item-right, .carousel-item-next {
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0)
    }
}

.active.carousel-item-left, .carousel-item-prev {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) {
    .active.carousel-item-left, .carousel-item-prev {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0)
    }
}

.carousel-control-next, .carousel-control-prev {
    position: absolute;
    top: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 15%;
    color: #fff;
    text-align: center;
    opacity: .5
}

    .carousel-control-next:focus, .carousel-control-next:hover, .carousel-control-prev:focus, .carousel-control-prev:hover {
        color: #fff;
        text-decoration: none;
        outline: 0;
        opacity: .9
    }

.carousel-control-prev {
    left: 0
}

.carousel-control-next {
    right: 0
}

.carousel-control-next-icon, .carousel-control-prev-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: transparent no-repeat center center;
    background-size: 100% 100%
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    z-index: 15;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: 0;
    margin-right: 15%;
    margin-left: 15%;
    list-style: none
}

    .carousel-indicators li {
        position: relative;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        width: 30px;
        height: 3px;
        margin-right: 3px;
        margin-left: 3px;
        text-indent: -999px;
        background-color: rgba(255,255,255,.5)
    }

        .carousel-indicators li::before {
            position: absolute;
            top: -10px;
            left: 0;
            display: inline-block;
            width: 100%;
            height: 10px;
            content: ""
        }

        .carousel-indicators li::after {
            position: absolute;
            bottom: -10px;
            left: 0;
            display: inline-block;
            width: 100%;
            height: 10px;
            content: ""
        }

    .carousel-indicators .active {
        background-color: #fff
    }

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center
}
