.page-container {
	display: block;
    background-color: var(--page-container-bg);
	padding: 1em 4em;
    width: 80%;
    max-width: 100rem;
}

h1 {
    font-family: "Barlow Condensed";
    font-weight: 500;
    font-size: 5rem;
    margin: 1rem 0;
    display: inline;
}

span.subtitle {
    font-family: "Barlow Condensed";
    font-weight: 500;
    font-size: 3.5rem;
    margin-left: 2em;
    text-align: right;
}

.two-column {
	display: grid;
	grid-template-columns: 0.5fr 1fr 2.2fr;
    gap: 3.5rem;
	justify-items: center;
    margin-top: 2rem;
	padding: 3em 2em;
    background-color: #e0f0f0;
}

.small-left-column {
    grid-column: 2;
    width: 100%;
}

.large-right-column {
    grid-column: 3;
    width: 100%;
}

@media screen and (max-width: 120rem) {
    .two-column {
        grid-template-columns: 1.2fr 2fr;
    }

    .small-left-column {
        grid-column: 1;
    }

    .large-right-column {
        grid-column: 2;
    }
}

@media screen and (max-width: 100rem) {
    h1 {
        display: block;
    }

    span.subtitle {
        margin-left: 0;
    }
}

@media screen and (max-width: 100rem) {
    .page-container {
        width: 100%;
    }
}

@media screen and (max-width: 70rem) {
    .page-container {
        width: 75%;
        padding: 0;
    }

    .title-text {
        padding: 0 1.5rem;
    }

    h1 {
        font-size: 4rem;
    }

    span.subtitle {
        font-size: 2rem;
    }

    .two-column {
        grid-template-columns: auto;
        padding: 2rem 1rem;
    }

    .small-left-column {
        grid-column: 1;
        order: 1;
    }

    .large-right-column {
        grid-column: 1;
        order: 0;
    }
}

@media screen and (max-width: 52rem) {
    .page-container {
        width: 100%;
    }
}

.frame-box {
    display: flex;
    flex-flow: column wrap;

	background-color: var(--button-bg);
	color: #000;

	border: 8px #000 solid;
	box-sizing: border-box;

	font-size: 3rem;
    font-weight: 500;

    padding: 3rem 2rem;
}

.frame-box:hover {
	box-shadow: 8px 8px var(--hover-shadow-color);
}

.frame-box:hover:active {
	box-shadow: 8px 8px var(--click-shadow-color);
}

.frame-box > span {
    margin: auto;
}

.frame-box > p {
    margin: auto;
}

.frame-box img {
    display: block;
    margin: 0 auto;
    width: 90%;
    max-width: 27rem;
}

@media screen and (max-width: 70rem) {
    .frame-box {
        font-size: 2.5rem;
    }

    .frame-box img {
        width: 100%;
    }
}

#k001_clip {
    margin: 2rem auto;
}

.frame-box:has(img) {
    padding: 2rem;
}

a:has(p) {
    text-decoration: none;
}

a > p {
    text-decoration: underline;
}

.no-underline {
    text-decoration: none;
}
