.programs-component section {
    margin: 3rem 0;
}

.programs-component .separator {
    display: inline-block;
    border-left: 1px solid #777;
    height: 3rem;
    position: relative;
    top: 0.75rem;
    margin: 0 1rem;
}
.programs-component .programs-found {
    font-size: 1.5rem;
    font-weight: bold;
    color: #01315A;
}

.programs-component .toggles-container {
    display: flex;
}
.programs-component .toggle {
    font-size: 1.5rem;
    background-color: transparent;
    border: 1px solid #707070;
    border-radius: 3em;
    padding: 0 2em;
    margin-right: 1em;
}
.programs-component .toggle.selected {
    background-color: #01315A;
    border-color: #01315A;
    color: #fff;
}

.programs-component .filter-box {
    position: absolute;
    z-index: 1;
    margin: 1em 0;
    padding: 1.5rem;
    border: 1px solid #ebe7e7;
    border-radius: 1.5rem;
    box-shadow: 0 0 9px rgba(0, 0, 0, .2);
    background-color: #fff;
    display: none;
    opacity: 0;
    transition: opacity .1s linear;
    transition-delay: 50ms;
}
.programs-component .filter-box.open {
    display: block;
    opacity: 1;
}
.programs-component .filter-box .filter-column:first-child {
    margin-right: 1em;
}
.programs-component .program-filter-toggles hr {
    border: 0;
    border-top: 1px solid #E2E2E2;
}
.programs-component .filter-box button {
    border: 0;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    border-radius: 1rem;
    display: block;
}
.programs-component .filter-box button.clear {
    padding: 1rem;
    background: transparent;
}
.programs-component .filter-box button.save {
    background: #01315A;
    color: #fff;
    padding: 1rem 2rem;
    float: right;
}
.programs-component .filter-box input[type="checkbox"] {
    position: absolute;
    left: -10000px;
}
.programs-component .filter-box label {
    display: block;
    padding-left: 4rem;
    font-size: 1.75rem;
    margin-bottom: 1rem;
    line-height: 2em;
    font-weight: 400;
}
.sub-label, .main-label {
    display: block;
    height:2.1rem;
    line-height: 1;
}
.main-label {
    font-weight: 400;
}
.sub-label {
    font-size: 1.4rem;
    font-weight: 300;
}
.programs-component .filter-box label:before {
    content: ' ';
    width: 3rem;
    height: 3rem;
    margin-top: .4rem;
    margin-left: -4rem;
    border: 1px solid #A7A7A7;
    border-radius: .5rem;
    position: absolute;
}
.programs-component .filter-box input:checked+label:before {
    background-color: #01315A;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDIwIDE1Ij48cGF0aCBkPSJNMiA5bDUgNWwxMSAtMTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4=');
    /* <svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" viewBox="0 0 20 15"><path d="M2 9l5 5l11 -13" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> */
    background-position: center;
    background-repeat: no-repeat;
}

.programs-component a.program,
.programs-component a.program:hover {
    border-bottom: 0;
    color: inherit;
}
.programs-component .program img {
    width: 100%;
}
.programs-component .program-details {
    padding-left: 1em;
}
.programs-component .program-details h3 {
    color: inherit;
    font-weight: normal;
    margin: 0;
    font-size: 1.8rem;
}
.programs-component .program-details p {
    font-size: 1.6rem;
    margin: 0 0 .5rem;
    line-height: 1.5;
	color: #727272;
	font-weight: 300;
}
.programs-component .program-details p.credits {
    font-weight: 400;
    text-transform: uppercase;
	font-size: 1.4rem;
}




.programs-component .mobile-toggle,
.programs-component .mobile-toggle-title,
.programs-component .mobile-save,
.programs-component .mobile-close-clear {
    display: none;
}

@media (max-width: 767px) {
    .programs-component .mobile-toggle,
    .programs-component .mobile-toggle-title,
    .programs-component .toggles-container,
    .programs-component .search-controls {
        display: block;
    }
    .programs-component .program-toggle-group,
    .programs-component .program-toggle-group .toggle,
    .programs-component .toggle-controls,
    .programs-component .separator {
        display: none;
    }
    .programs-component .toggles-container {
        margin-top: 0;
    }
    .programs-component .search-controls .fas.fa-search {
        margin-right: .5em;
        margin-top: 1em;
        color: #777;
    }

    .programs-component .program-filter-toggles.open {
        position: fixed;
        background-color: #fff;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 1em;
        margin: 0;
        z-index: 1;
        overflow: scroll;
    }
    .programs-component .program-filter-toggles.open .program-toggle-group,
    .programs-component .program-filter-toggles.open .mobile-save,
    .programs-component .program-filter-toggles.open .mobile-close-clear {
        display: block !important;
    }
    .programs-component .program-filter-toggles.open .mobile-toggle {
        display: none;
    }
    .programs-component .program-filter-toggles.open .toggles-container {
        margin: 1em 0 2em;
    }

    .programs-component .filter-box {
        position: static;
        display: block;
        padding: 0;
        border: 0;
        box-shadow: none;
        opacity: 1;
    }

    .programs-component .mobile-save {
        background: #01315A;
        color: #fff;
        padding: .75rem 2rem;
        border: 0;
        width: 100%;
        border-radius: 1.25rem;
        font-size: 1.5rem;
        font-weight: 400;
    }

    .programs-component .mobile-close-clear button {
        border: 0;
        background-color: transparent;
        color: #242424 !important;
        font-size: 1.75rem;
        font-weight: 400;
        padding: .5em 1em;
    }
    .programs-component .mobile-close-clear button .fa {
        color: #242424;
    }
    .programs-component .mobile-clear {
        float: right;
    }

    .programs-component .program {
        padding: 0 0 1em;
    }
    .programs-component .program-details {
        padding-left: 0;
    }
}
