

.hackrail-banner {
    width: 100%;
    height: auto;
    display: block;
}

.origin {
    margin: 1em 0;
}

h5 {
    font-weight: bold;
}


.text-justify {
    text-align: justify;
}

.origin button {
    border: 0;
    padding: 0.5em 1em;
    margin: 0.5em 0;
    font-weight: bold;
}

hr {
    margin-top: 0;
}

.new-title, .link-title {
    display: flex;
    align-items: center; /* 垂直置中 */
    gap: 8px; /* 圖跟文字間距 */
}

    .new-title h5, .link-title h5 {
        padding-top: .5em;
    }

    .new-title img, .link-title img {
        width: 1.6em;
    }

.links-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    padding: 1.2em 0;
}

.links-scroll {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 1.5em;
    padding: 10px 40px;
    scroll-snap-type: x mandatory;
}

    /* 隱藏 scrollbar */
    .links-scroll::-webkit-scrollbar {
        display: none;
    }

    .links-scroll img {
        height: 3em;
        flex-shrink: 0;
    }

    .links-scroll a {
        scroll-snap-align: center;
    }

.rwd-hide {
    font-size: 1.2rem;
    font-weight: bold;
}

/* 箭頭 */
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: white;
    font-size: 24px;
    cursor: pointer;
    padding: 5px 10px;
    opacity: 1;
    transition: 0.2s;
}

    .arrow.hide {
        opacity: 0;
        pointer-events: none;
    }

.coleft {
    left: 0;
}

.coright {
    right: 0;
}

.left {
    left: 0;
}

.right {
    right: 0;
}

.news {
    width: 100%;
    table-layout: fixed;
}

    .news td:first-child {
        width: 90%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .news td:last-child {
        width: 10%;
        text-align: right;
    }

.pagination {
    display: flex;
    justify-content: center;
    gap: 12px;
    list-style: none;
    padding-left: 0;
    margin: 0;
}

    .pagination li a {
        color: #7F7F7F;
        text-decoration: none;
    }

    .pagination li.active a {
        color: #7F7F7F;
        text-decoration: underline;
    }

@media ( width <= 1152px) {
    .news td:last-child {
        width: 20%;
    }
}

@media ( width <= 768px) {
    .news td:last-child {
        width: 30%;
    }
}
