.registration {
    background-color: var(--color-primary-light);
    padding: var(--spacing-mega) 0;
}

.registration-heading {
    text-align: center;
}

.registration-inner {
    width: 100%;
}

.registration-flex {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--spacing-x-lg);
    align-items: center;
    margin: var(--spacing-jumbo) auto 0;
}

.flex-fill {
    background-color: white;
    height: 400px;
    flex-grow: 1;
    align-self: center;
    position: relative;
    display: none;
}

.corner {
    display: none;
    position: absolute;
    width: 24px;
    height: 24px;
}

.corner-top-right {
    top: -24px;
    transform: rotate(-90deg);
    right: 0;
}

.corner-top-left {
    top: -24px;
    left: 0;
}

.corner-bottom-right {
    transform: rotate(180deg);
    bottom: -24px;
    right: 0;
}

.corner-bottom-left {
    transform: rotate(90deg);
    bottom: -24px;
    left: 0;
}

.registration-card {
    background-color: white;
    position: relative;
    text-align: center;
    padding: var(--spacing-lg) var(--spacing-md);
    border-radius: var(--border-radius-box);
}

.card-divider {
    position: absolute;
    height: calc(100% - var(--spacing-jumbo));
    border-right: 1px solid var(--color-gray-400);
}

.bronze-card .card-divider {
    right: 0;
}

.gold-card .card-divider {
    left: 0;
}

.registration-medal {
    width: 104px;
    height: 104px;
    position: absolute;
    top: -52px;
    left: 50%;
    transform: translateX(-50%);
}

.registration-title {
    font-family: var(--font-em);
    font-size: 3rem;
    font-weight: 500;
    color: var(--color-primary-dark);
}

.registration-price-wrapper {
    margin: var(--spacing-md) 0;
    position: relative;
}


.registration-price {
    display: inline;
    padding: 0 var(--spacing-tiny);
    font-size: 3rem;
    line-height: 2.4rem;
    font-weight: 500;
    color: var(--color-primary-dark);
}

.registration-interval {
    position: absolute;
}

.registration-cta {
    margin: var(--spacing-sm) 0 0;
}

.silver-card .registration-cta {
    margin: var(--spacing-sm) 0 var(--spacing-jumbo);
}

.registration-list {
    text-align: left;
    margin-top: var(--spacing-sm);
}

.registration-list li {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    padding: var(--spacing-sm) 0;
}

.registration-list li img {
    width: 36px;
    height: 36px;
}

@media screen and (min-width: 800px) {

    .registration-flex {
        flex-direction: row;
        align-items: flex-end;
        gap: 0;
    }

    .flex-fill,
    .corner {
        display: block;
    }

    .bronze-card {
        border-radius: 20px 0 0 20px;
    }

    .silver-card {
        border-radius: 20px 20px 0 0;
    }

    .gold-card {
        border-radius: 0 20px 20px 0;
    }

}