* {
    box-sizing: border-box;
}

img {
    width: 100%;
}

.page-footer {
    text-align: center;
    margin-top: 1em;
}

.page-footer * {
    color: gray;
    margin: 0;
}

.grid-background {
    background-image: radial-gradient(circle, rgb(228, 231, 235) 2px, #fff 2px);
    background-size: 20px 20px;
    background-position: center center;
}

.para p {
    text-indent: 2em;
    margin-top: 5px;
    margin-bottom: 5px;
}

.body-layout {
    padding-left: 2em;
    padding-right: 2em;
}

.page-header {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.lxgw {
    font-family: 'LXGW WenKai Screen R', sans-serif;
}

.noto {
    font-family: "Noto Serif CJK SC", serif;
}

.page-title-1 {
    margin-bottom: 0;
}

.page-title-2 {
    margin-top: 0.2em;
}

.sparator {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    border-style: dashed;
}

.page-footer-sparator {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.hidden-hr {
    border: none !important;
}

.centering {
    display: flex;
    justify-content: center;
}

.stories {
    margin-top: 20px;
    columns: 4;
    column-gap: 10px;
}

.story {
    width: 100%;
    break-inside: avoid;
    margin-bottom: 10px;
    border: grey 2px solid;
    border-radius: 5px;
    padding-bottom: 5px;
}

.story:hover {
    transition: all 0.2s;
    background-color: white;
}

.story p {
    text-align: center;
    text-indent: 0;
    margin-left: 10px;
    margin-right: 10px;
}

.story img {
    width: 100%;
}

.closing-hr {
    margin-top: 20px;
    border-style: dotted;
    width: 50%;
}

.closing {
    text-align: center;
    margin: 20px 0 0 0;
}

.closing p {
    margin: 0;
    text-indent: 0;
}

.closing-sentence {
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: large;
    text-shadow: gray 1px 0 5px;
}

@media (max-width: 700px) {
    .page-title-1 {
        font-size: 1.5em;
    }

    .page-title-2 {
        font-size: 1.2em;
    }

    .header-2 {
        font-size: 1.2em;
    }

    .stories {
        columns: 3;
    }

    .story:hover {
        transform: scale(1.5);
    }
}

@media (max-width: 500px) {
    .page-title-1 {
        font-size: 1.2em;
    }

    .page-title-2 {
        font-size: 1em;
    }

    .header-2 {
        font-size: 1em;
    }

    .stories {
        columns: 2;
    }

    .story:hover {
        transform: scale(1.4);
    }
}

@media (prefers-color-scheme: dark) {
    * {
        color: white;
    }

    .grid-background {
        background-image: radial-gradient(circle, rgb(43, 45, 48) 2px, #272727 2px);
        background-size: 20px 20px;
        background-position: center center;
    }

    .story:hover {
        background-color: gray;
    }

    .closing-sentence {
        text-shadow: white 1px 0 5px;
    }
}