body,
html {
    margin: 0;
    padding: 0;
    height: 100vh;
}

body {
    font-family: "Microsoft JhengHei", "MSJH Latin", sans-serif;
    font-size: 16px;
    background-color: #f5f5f5;
}

@font-face {
    font-family: "MSJH Latin";
    src: url("/media/font/msjh-latin.woff2") format("woff2"),
        url("/media/font/msjh-latin.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}

a:not(.reuise-basiclistitem_link) {
    color: #3198eb;
    text-decoration: none;
}

#webpartstudio-appbar {
    display: flex;
    background: white;
}

#webpartstudio-appbar .reuise-top-app-bar_container {
    max-width: 1248px;
    margin: 0 auto;
    box-sizing: border-box;
}

#webpartstudio-progress {
    background-color: #02bce7;
    position: fixed;
    top: 0;
    z-index: 999889;
    left: 0;
    right: 0;
}

.reuise-progressindicator_track {
    background: linear-gradient(to right, transparent 0%, #4fd69b 50%, transparent 100%) !important;
}

.webpartstudio-logo {
    height: 46%;
}

.reuise-top-app-bar_titlecontainer {
    display: flex;
    flex: 1 1 auto;
    height: 100%;
}

.reuise-top-app-bar_titlecontainer .webpartstudio-appbar_logocontainer {
    display: flex;
    height: 100%;
}

.reuise-top-app-bar_titlecontainer .reuise-image_link {
    display: flex;
    align-items: center;
}

.webpartstudio-applayout_body {
    background-color: white;
}

.webpartstudio-homepreview,
.webpartstudio-contentpreview {
    background: radial-gradient(circle at center, #78e3cf, #a1f7f6, #e1fffb);
}

.webpartstudio-homepreview .reuise-splitcontainer_container,
.webpartstudio-contentpreview .reuise-splitcontainer_container,
.webpartstudio-splitcontent {
    max-width: 1248px;
    margin: 0 auto;
    overflow: hidden;
}

.webpartstudio-homepreview_image,
.webpartstudio-contentpreview_image {
    min-height: 200px;
    overflow: hidden !important;
    padding: 0 !important;
    display: flex;
    justify-content: center;
}

.webpartstudio-contentpreview_image {
    align-items: center;
}

.webpartstudio-contentpreview_image img {
    max-height: 320px;
    padding: 32px;
    box-sizing: border-box;
}

.webpartstudio-homepreview_image img {
    max-width: 400px;
}

.webpartstudio-homepreview_image img,
.webpartstudio-contentpreview_image img {}

.webpartstudio-homepreview h1,
.webpartstudio-contentpreview h1 {
    font-size: 28pt;
    letter-spacing: -1.6pt;
    color: #201B1B;
    margin: 32px 0 0 0;
}

.webpartstudio-homepreview h2,
.webpartstudio-contentpreview h2 {
    font-size: 18pt;
    letter-spacing: -1pt;
    color: #2f424f;
    font-weight: 400;
    margin: 16px 0;
    line-height: 30pt;
}

.webpartstudio-homepreview h1 span {
    font-size: 26pt;
    font-weight: 400;
}

.webpartstudio-homepreview h3,
.webpartstudio-contentpreview h3 {
    font-size: 18pt;
    letter-spacing: -1.6pt;
    color: #201B1B;
    margin: 16px 0;
    font-weight: 400;
}

.webpartstudio-homepreview .webpartstudio-splitcontent_content> :last-child,
.webpartstudio-contentpreview .webpartstudio-splitcontent_content> :last-child {
    margin-bottom: 32px;
}

.webpartstudio-splitcontent_gray {
    background: radial-gradient(#00000000, #0000000f);
}

.webpartstudio-splitcontent .webpartstudio-splitcontent_image {
    min-height: 200px;
    background-size: cover;
    background-position: 50%;
    box-sizing: border-box;
}

.webpartstudio-footer {
    background-color: #f5f5f5;
    padding: 64px 0;
}

.webpartstudio-footer_inner {
    max-width: 1248px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 14px;
    gap: 16px;
    box-sizing: border-box;
}


.webpartstudio-footer .webpartstudio-logo {
    height: 44px;
}

.webpartstudio-footer .webpartstudio-footer_links,
.webpartstudio-footer .webpartstudio-footer_legallinks {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.webpartstudio-footer .webpartstudio-footer_legallinks {
    font-size: 12px;
}

.webpartstudio-footer a {
    font-size: 14px;
}

.webpartstudio-contentsection {
    width: 100%;
    max-width: 1248px;
    margin: 0 auto;
    padding: 64px 16px;
    box-sizing: border-box;
}

.webpartstudio-bluebutton {
    background: linear-gradient(90deg, #2D8DE3, #1054CC);
    color: white !important;
    box-shadow: 4px 3px 7px 1px #00000047;
    border: none;
    outline: none;
    padding: 0px 39px !important;
    height: 48px !important;
    font-weight: 600;
}

.webpartstudio-bluebutton:hover {
    background: linear-gradient(90deg, #1984e4, #0743ac);
}