@font-face {
    font-family: 'my-font';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_four@1.2/JalnanOTF00.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@media (min-width: 769px) {
    html, body {
        height: 100vh;
        width: 100vw;
        margin: 0;
        display: grid;
        justify-items: center;
        background: white;
        font-family: my-font, sans-serif;
        grid-template-rows: 1fr 10fr;
    }

    #content-section {
        display: grid;
        justify-items: center;
        align-items: center;
        width: 100vw;
        max-width: 100vw;
        height: 100%;
        max-height: 100%;
        overflow: hidden;
        grid-template-columns: 1fr 2fr 1fr;
    }

    #main-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: start;
        width: 100%;
        height: 100%;
        max-height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    #main-section::-webkit-scrollbar {
        width: 8px;
    }

    #main-section::-webkit-scrollbar-track {
        background: rgba(107, 91, 154, 0.05);
        border-radius: 4px;
    }

    #main-section::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #6b5b9a, #8470b3);
        border-radius: 4px;
    }

    #main-section::-webkit-scrollbar-thumb:hover {
        background: linear-gradient(135deg, #5a4a89, #7360a2);
    }

    #blog-title {
        font-size: 25px;
        color: darkslateblue;
        text-align: center;
    }

    #blog-sub-title {
        font-size: 16px;
        text-align: center;
        padding: 1em;
        border-radius: 1em;
    }

    article {
        width: 100%;
    }

    section {
        margin-top: 5em;
        width: 100%;
    }

    h3 {
        width: 100%;
        padding: 1em 0;
        border-bottom: 1px solid #8a8994;
        font-size: 1.2em;
    }

    .link-page {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 3em;
        background-color: darkslateblue;
        color: white;
        text-decoration: none;
        text-align: center;
        border-radius: 5em;
    }

    img {
        width: 100%;
    }

    table {
        border-collapse: collapse;
        width: 100%;
        text-align: center;
    }
    th, td {
        border: 2px solid black;
        padding: 10px;
    }
    th {
        background-color: #f2f2f2;
    }
}

@media (max-width: 768px) {
    html, body {
        height: 100dvh; /* 화면 전체 높이 차지 */
        width: 100vw;
        margin: 0;
        background: white;
        font-family: my-font, sans-serif;
        overflow: hidden;
        display: grid;
        grid-auto-flow: row;
        grid-template-rows: 20fr 80fr;
    }

    #content-section {
        display: grid;
        justify-items: center;
        align-items: center;
        width: 100vw;
        height: 100%;
        max-height: 100%;
        overflow: hidden;
        grid-template-rows: 1fr 8fr;
    }

    #main-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: start;
        width: 100%;
        height: 100%;
        max-height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 0 25px;
        box-sizing: border-box;
    }

    #main-section::-webkit-scrollbar {
        width: 6px;
    }

    #main-section::-webkit-scrollbar-track {
        background: rgba(107, 91, 154, 0.05);
        border-radius: 3px;
    }

    #main-section::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #6b5b9a, #8470b3);
        border-radius: 3px;
    }

    #main-section::-webkit-scrollbar-thumb:hover {
        background: linear-gradient(135deg, #5a4a89, #7360a2);
    }

    #blog-title {
        font-size: 20px;
        text-align: center;
    }

    #blog-sub-title {
        font-size: 15px;
        text-align: center;
        padding: 1em;
        border-radius: 1em;
    }

    article {
        width: 100%;
    }

    section {
        margin-top: 5em;
        width: 100%;
    }

    h3 {
        width: 100%;
        padding: 1em 0;
        border-bottom: 1px solid #8a8994;
        font-size: 15px
    }

    p {
        font-size: 13px;
    }

    .link-page {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 3em;
        background-color: darkslateblue;
        color: white;
        text-decoration: none;
        text-align: center;
        border-radius: 5em;
    }

    img {
        width: 100%;
    }

    table {
        border-collapse: collapse;
        width: 100%;
        text-align: center;
    }
    th, td {
        border: 2px solid black;
        padding: 10px;
    }
    th {
        background-color: #f2f2f2;
    }

}