.grid-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0 auto;
    padding: 20px;
    max-width: 1152px;
}

.creation {
    display: flex;
    flex-flow: column;
    background-color: #ffffff;
    border: 1px solid #999999;
}

.title, .content, .footer {
    white-space: pre-wrap;
    padding: 20px;
}

.title {
    font-weight: bold;
}

.content {
    flex: 1;
}

.footer {
    text-align: right;
}

.footer a {
    color: #999999;
}

img {
    max-width: 100%;
    max-height: 100%;
}

iframe {
    width: 100%;
    aspect-ratio: 16/9;
}

@media only screen and (min-width: 768px) {
    .grid-container {
        grid-template-columns: 1fr 1fr;
    }

    .block-1x1 {
        grid-column: span 1;
        grid-row: span 1;
    }
    
    .block-1x2 {
        grid-column: span 1;
        grid-row: span 2;
    }

    .block-1x3 {
        grid-column: span 1;
        grid-row: span 3;
    }
    
    .block-2x1 {
        grid-column: span 2;
        grid-row: span 1;
    }

    .block-2x2 {
        grid-column: span 2;
        grid-row: span 2;
    }
    
    .block-2x3 {
        grid-column: span 2;
        grid-row: span 3;
    }
    
    .block-3x1 {
        grid-column: span 3;
        grid-row: span 1;
    }
    
    .block-3x2 {
        grid-column: span 3;
        grid-row: span 2;
    }

    .block-3x3 {
        grid-column: span 3;
        grid-row: span 3;
    }
}

@media only screen and (min-width: 1152px) {
    .grid-container {
        grid-template-columns: 1fr 1fr 1fr;
    }
}
