.pageTop {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    background-color: var(--trent-green-new);
    color: white;
    padding: 3em 0;
    h1 {
        grid-column: 1 / -1;
        text-align: center;
    }
    p {
        grid-column: 5 / span 6;
        text-align: center;
    }
}

#trent-aos-programs-filters {
    select {
        padding: 0.5em;
        font-family: var(--sprinter);
        align-self: stretch;
        color: var(--trent-green-new);
        border-color: var(--trent-green-new);
        height: 100%;
        transition: background-color 250ms;
        cursor: pointer;
        background-color: Canvas;
        &:hover, &:active {
            background-color: var(--trent-jewel-green-lighter);
        }
    }
    & label {
        margin: 0;
    }
}

.filterButtons {
    grid-column: 2 / -2;
    grid-row: 2;
    display: flex;
    flex-flow: row wrap;
    gap: 1em;
}

.areas_block .fieldset-wrapper > div {
    display: flex;
    flex-flow: row wrap;
    & label {
        cursor: pointer;
        margin: 0;
        font-family: var(--sprinter);
        letter-spacing: var(--sprinterSpacing);
        font-size: 0.85em;
        padding: 1em 0.2em 0.2em 0.2em;
        text-align: center;
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 0.5em;
        line-height: 1;
        border-radius: 1em;
        corner-shape: squircle;
        color: var(--trent-green-new);
        transition: background-color 200ms;
        &:hover, &:active {
            background-color: var(--trent-jewel-green-lighter);
        }
        &::before {
            width: 2.3em;
            height: 2.7em;
            filter: var(--trent-green-filter);
        }
    }
    & label:has(input[name="area"]:checked) {
        background-color: var(--trent-jewel-green);
    }
    & input[name="area"] {
        position: absolute;
        opacity: 0;
        z-index: -1;
    }
    & .area_details {
        display: none;
        opacity: 0;
        visibility: hidden;
        width: 100%;
        color: white;
    }
    & label:has(input[name="area"]:checked) + .area_details{
        display: grid;
        gap: 1em;
        grid-template-columns: 1fr 1fr;
        opacity: 1;
        visibility: hidden;
        animation: fade-in 0.2s ease-in 1 forwards;
        h2 {
            grid-column: 1 / -1;
        }
        .area_desc {
            max-width: 36em;
        }
    }
    &.greenBackgroundBlock {
        display: none;
        grid-column: 1 / -1;
        grid-row: 2 / 2;
        z-index: -1;
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: var(--trent-green-new);
    }
}

.areas_block .fieldset-wrapper > div label {
    &.humanities::before {
        content: var(--humanities);
    }
    &.business::before {
        content: var(--business);
    }
    &.environment::before {
        content: var(--environment);
    }
    &.forensics::before {
        content: var(--forensics);
    }
    &.health::before {
        content: var(--health);
    }
    &.indigenous::before {
        content: var(--indigenous);
    }
    &.law::before {
        content: var(--law);
    }
    &.science::before {
        content: var(--science);
    }
    &.social::before {
        content: var(--social);
    }
    &.teaching::before {
        content: var(--teaching);
    }

}

.AoSContinuingStudiesBlock {
    grid-row: 3;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    background-color: var(--trent-green-new);
    color: white;
    padding: 3em 0 4em;
    .innerContent {
        grid-column: 3 / -3;
        display: flex;
        flex-flow: column nowrap;
        > *:not(h2) {
            max-width: 42em;
        }
    }
}

#edit-level--wrapper legend {
    margin: 0;
}

#edit-level {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: center;
    & label {
        cursor: pointer;
        margin: 0;
        padding: 0.5em 2em;
        color: var(--trent-green-new);
        border: 1px solid var(--primary);
        font-family: var(--sprinter);
        transition: background-color 250ms;
        &:hover, &:active {
            background-color: var(--trent-jewel-green-lighter);
        }
        &:has(> input[name="level"]:checked) {
            background-color: var(--trent-jewel-green);
        }
        &:has(> input[name="level"]:focus, > input[name="level"]:focus-within){
            /* TODO add default focus back */
            outline: 2px solid blue;
        }
        &.undergraduate {
            border-radius: 2em 0 0 2em;
            border-right: none;
        }
        &.continuing {
            border-radius: 0 2em 2em 0;
            border-left: none;
        }
    }
    & input[name="level"] {
        position: absolute;
        opacity: 0;
        z-index: -1;
    }
}

#program_search {
    border: 1px solid var(--trent-green-new);
    padding: 0.5em 0.5em;
    font-family: 'DGM Sprinter', sans-serif;
    background-image: var(--search);
    background-repeat: no-repeat;
    background-position: 0.5em center;
    padding-left: 2.2em;
    background-size: 1.2em;
    width: 100%;
}

#AoSPrograms {
    grid-column: 2 / -2;
}

@media screen and (max-width: 57.5em) {
    
    .aosProgramPicker .areas_block {
        grid-template-columns: repeat(auto-fit, minmax(5.5em, 1fr));
        grid-column: 1 / -1;
        .area_details {
            grid-column: 1 / -1;
            grid-row: 4;
            padding: 2em;
        }
        .greenBackgroundBlock {
            grid-row: 4;
        }
        .areaOption:first-of-type {
            grid-column-start: 1;
        }
        
    }
    .pageTop p {
        grid-column: 4 / span 8;
    }
}

@media screen and (max-width: 47.5em) {
        .filterButtons,
        #AoSPrograms {
            padding:0 1em;
        }
        #edit-level--wrapper {
            width: 100%;
            label {
                padding: 0.5em 1em;
            }
        }
        .search-container {
            width: 100%;
        }
        .page-breadcrumb.AoSBreadcrumb {
            padding: 1em;
        }
        .aosProgramPicker .areas_block .fieldset-wrapper > div label:has([name="area"]:checked) + .area_details {
            grid-template-columns: 1fr;
        }

        .programsGrid .AoSProgramLink {
        grid-column: span 6;
    }

 }

 @media screen and (max-width: 38em) { 
    .programsGrid .AoSProgramLink {
        grid-column: span 12;
    }
 }

