@charset "UTF-8";
main {
    background: var(--square-grid-background);
}
.header {
    height: calc((100vw - var(--side-gap) * 2) * 1);
}
@media (min-width: 640px) {
    .header {
        --top-padding: 48px;
        height: clamp( 			0px, 			calc((100vw - var(--side-gap) * 2) * 0.38), 			calc((var(--max-width) - var(--side-gap) * 2) * 0.38) 		);
    }
}

.header-backdrop {
    background-image: url(./header-course-single-coding-mobile.c4988c7f.svg);
}
@media (min-width: 640px) {
    .header-backdrop {
        background-image: url(./header-purple-gradient.aceb55c7.svg);
    }
}

.header .header-backdrop img {
    max-width: calc(100% - (var(--column-gap) * 2));
    width: calc(100% - (var(--column-gap) * 2));
    height: auto;
    margin-bottom: 24px;
    margin-top: calc(2 * var(--flow-space));
    margin-left: calc(1 * var(--column-gap));
}
@media (min-width: 640px) {
    .header .header-backdrop img {
        margin-bottom: 0;
        margin-top: 0;
    }
}

.header .header-backdrop.coding img {
    margin-top: calc(2 * var(--flow-space));
}
@media (min-width: 640px) {
    .header .header-backdrop.coding img {
        margin-bottom: 0;
        margin-top: 0;
    }
}

@media (min-width: 640px) {
    .header-backdrop div {
        margin-top: -48px !important;
    }
}
@media (min-width: 1440px) {
    .header-backdrop div {
        margin-top: 0px !important;
    }
}

.downloads {
    --text-inset: 20px;
}

a.button {
    z-index: revert;
}

@media (min-width: 1024px) {
    .sample-lists :is(h2, ul) {
        margin: 0 calc((var(--column-gap) + var(--text-inset)) * -1);
    }
}

.sample-lists h2 {
    margin-bottom: 12px;
}
@media (min-width: 1024px) {
    .sample-lists h2 {
        margin-bottom: 48px;
    }
}

.sample-lists ul:not(:last-of-type) {
    margin-bottom: 24px;
}
@media (min-width: 1024px) {
    .sample-lists ul:not(:last-of-type) {
        margin-bottom: 12px;
    }
}

.sample-lists li {
    display: flex;
    flex-direction: column;
}

.downloads li video, .downloads li img, #sample-preview-container img {
    width: 100%;
    height: 15rem;
    -o-object-fit: cover;
    object-fit: cover;
    margin-bottom: 8px;
    background-color: #d7f6fa;
}

.downloads figure {
    position: relative;
}

@media (min-width: 640px) {
    .downloads figcaption {
        padding: 0 var(--text-inset);
    }
}

.downloads .curriculum {
    margin-bottom: 16px;
}

.downloads .description {
    margin-bottom: 36px;
}

.downloads .age {
    --position: 12px;
    position: absolute;
    top: var(--position);
    left: var(--position);
    box-shadow: var(--btn-shadow);
}

.tag.tag--default-color {
    color: #ffffff;
    background-image: var(--btn-fill-bg);
}

.tag.tag--color1 {
    background-image: linear-gradient(180deg, #b7f2f2 0%, #a3f0ef 13%, #9be8e7 68%, #88d8d7 95%, #85d4d4 100%);
}

.tag.tag--color3 {
    color: #ffffff;
    background-image: linear-gradient(180deg, #c5b7ff 0%, #b7a6ff 28%, #9476ff 81%, #8868fc 100%);
}

.tag.tag--color4 {
    color: #ffffff;
    background-image: linear-gradient(180deg, #fdde8d 0%, #f9c427 34%, #f9c427 69%, #eab725 100%);
}

.downloads li a {
    align-self: center;
    min-width: 0;
    padding-left: 24px;
    padding-right: 24px;
    margin-top: auto;
    margin-bottom: 48px;
    margin-left: var(--text-inset);
    margin-right: var(--text-inset);
}
@media (min-width: 1024px) {
    .downloads li a {
        margin-bottom: 60px;
    }
}

.dialog-content {
    width: 100%;
    background-color: transparent;
}

.dialog-content .wrapper {
    --padding: 24px 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid #8868fc;
}
@media (min-width: 1024px) {
    .dialog-content .wrapper {
        --padding: 48px 40px;
        margin: 0;
        flex-direction: row;
    }
}

.dialog-content header {
    padding: var(--padding);
    border-top-left-radius: 4rem;
    border-top-right-radius: 4rem;
}
@media (min-width: 1024px) {
    .dialog-content header {
        flex: 1;
        border-top-right-radius: 0;
        border-bottom-left-radius: 4rem;
    }
}

.dialog-close-button {
    --size: 24px;
    --distance: 24px;
    position: absolute;
    right: var(--distance);
    top: var(--distance);
    padding: 0;
    border: none;
    background-color: transparent;
    cursor: pointer;
}
@media screen and (pointer: coarse) {
    .dialog-close-button {
        --size: 44px;
        --distance: 0px;
    }
}

.dialog-close-button img {
    width: var(--size);
    height: var(--size);
}

.dialog-content .notice {
    margin-bottom: 24px;
}
@media (min-width: 1024px) {
    .dialog-content .notice {
        padding-left: var(--text-inset);
    }
}

.dialog-content .form {
    padding: var(--padding);
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border-bottom-left-radius: 4rem;
    border-bottom-right-radius: 4rem;
}
@media (min-width: 1024px) {
    .dialog-content .form {
        flex: 1;
        border-top-right-radius: 4rem;
        border-bottom-left-radius: 0;
    }
}

.dialog-content input:not([type=submit]) {
    width: 100%;
}

.disclaimer a {
    font-size: inherit;
    color: inherit;
}

.dialog-content input[type=submit] {
    align-self: center;
    margin: 0;
}