.container + .card-container,
.abstract + .card-container,
.accordion-container + .card-container,
*.light + .card-container.light,
*.light-alt + .card-container.light-alt,
*.dark + .card-container.dark,
*.dark-alt + .card-container.dark-alt {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.container > .main-content > .card-container > .container {
    padding: 0;
}

.card-container.light + .card-container.light > h2,
.card-container.light-alt + .card-container.light-alt > h2,
.card-container.dark + .card-container.dark > h2,
.card-container.dark-alt + .card-container.dark-alt > h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.card-container.viewall h2,
.card-container.filtered h2 {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 140rem;
}

.card-container.viewall h2 .link,
.card-container.filtered h2 .link {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.8em;
    margin-top: 6px;
    white-space: nowrap;
    margin-left: 20px;
}

.card-container .card-listing {
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
}

.card-container h2 + .card-listing,
.card-container h2 + div > .card-listing {
    padding-top: 4.8rem;
}

@media (max-width: 749px) {
    .card-container .card-listing {
        padding-bottom: 1.6rem;
        padding-top: 2.4rem;
    }
}

.card-listing .card .h3 {
    font-size: 2.4rem;
    margin: 0 0 2.4rem;
    padding: 0;
}

.card-listing .card .sub {
    font-size: 1.4rem;
}

.card-listing .card .sub > span {
    padding-right: 2.4rem;
}

.card-listing .card .sub + h3 {
    margin-top: 1.2rem;
}

.home-page .card-container,
.landing-page .card-container {
    padding: var(--spacing-4) 0;
}

.home-page .card-container > h2,
.landing-page .card-container > h2 {
    max-width: 140.8rem;
    margin: 0 auto;
    padding-top: 2rem !important;
    padding-bottom: 0;
}

.home-page .card-container > h2 {
    padding-left: 4.8rem;
    padding-right: 4.8rem;
}

.home-page .card-container h2 + .card-listing,
.landing-page .card-container h2 + .card-listing,
.home-page .card-container h2 + div .card-listing,
.landing-page .card-container h2 + div .card-listing {
    padding-top: 2.4rem;
}

.home-page .card-container h2 + div > .card-listing,
.landing-page .card-container h2 + div > .card-listing {
    padding-top: 2.4rem;
}

.card-container.filtered h2 + form {
    margin-top: 2.4rem;
}
.inline-form-wrapper {
    margin-top: 2.4rem;
    padding: 0;
}

.home-page .inline-form-wrapper,
.landing-page .inline-form-wrapper {
    max-width: 140.8rem;
    margin-left: auto;
    margin-right: auto;
}

.inline-form-wrapper .accordion {
    position: relative;
    z-index: 1;
}

.accordion details[open] .accordion-title {
    font-size: 0;
}

.accordion details[open] .accordion-title {
    text-decoration: none !important;
}

.accordion details[open] .accordion-title::before {
    content: "Hide filters";
    font-size: 2rem;
    text-underline-offset: 0.25em;
    text-decoration: underline;
    text-decoration-thickness: 0.05rem;
}

.inline-form-wrapper .accordion .accordion-title:focus,
.inline-form-wrapper .accordion .accordion-title:active {
    outline: none;
}

.inline-form-wrapper .accordion .accordion-content {
    padding: 1.6rem;
}

.inline-form-wrapper form {
    margin-bottom: 0;
}

.inline-form-wrapper h2 {
    font-size: 2.8rem;
    margin-bottom: 2.4rem !important;
}

.inline-form-wrapper h3 {
    font-size: 1.8rem;
    margin-bottom: 0.6rem;
    margin-top: 1.6rem;
}

#search {
    width: 100%;
}

#search-submit {
    margin-left: -0.5rem;
    border-width: 0.4rem;
}

#filter-submit span::after {
    content: 'Apply';
}

#filter-submit.active span::after {
    content: 'Update';
}

p.search-result-title {
    font-size: 2rem;
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    margin-top: 2.4rem !important;
    margin-bottom: 0 !important;
}

p.search-result-title.page-alert {
    margin-top: 2.4rem;
    max-width: 100%;
}

.columns-form-flex,
.inline-form-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.columns-form-flex > div,
.inline-form-flex > div {
    list-style-type: none;
    margin-right: 4.8rem;
    margin-bottom: 2.4rem !important;
    min-width: 20rem;
}
.columns-form-flex ul {
    display: flex;
    list-style-type: none;
    flex-direction: column;
    flex-wrap: wrap;
    padding-left: 0;
    margin-left: 0;
}

.inline-form-flex ul {
    display: flex;
    list-style-type: none;
    flex-direction: row;
    flex-wrap: wrap;
    padding-left: 0;
    margin-left: 0;
}

.columns-form-flex label,
.inline-form-flex label {
    display: flex;
}

.columns-form-flex label > input[type="checkbox"],
.inline-form-flex label > input[type="checkbox"] {
    margin-right: 1rem;
}

.inline-form-wrapper .reset-link {
    display: inline-block;
    margin-left: 15px;
}

@media (max-width: 999px) {
    .inline-form-flex ul {
        flex-direction: column;
    }
}

ul.card-listing.filterable .card {
    display: flex;
    flex-direction: column;
}

ul.card-listing.filterable .card .card-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}


.card-listing.filterable .card a {
    display: block;
}

.card-listing .meta {
    display: block;
    font-size: 1.2rem;
    margin-bottom: 1.2rem !important;
}

.card-listing .tags {
    border-top: 1px solid #ebebeb;
    padding-top: 1.2rem;
    margin-top: 2.4rem;
    
}

.card-listing .tags > .download {
    display: inline-block;
    margin: 0 5px 5px 0;
    white-space: nowrap;    
}

.card-listing .tags > .tag {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1.5rem;
    border-radius: 100vmax;
    border: 0.1rem solid var(--brand-light-border);
    padding: 0.6rem 1.2rem 0.8rem;
    margin: 1.2rem 0.6rem 0 0;
    white-space: nowrap;    
}

.card-listing .tags > .tag a {
    color: #636363;
    text-decoration: none;
}

.card-listing .tags > .tag:hover {
    background-color: var(--brand-primary);
}

.card-listing .tags > .tag:hover a {
    color: #ffffff;
    text-decoration: underline;
    text-decoration-thickness: 0.1rem;
}

.card-listing .tags > .tag:active,
.card-listing .tags > .tag:focus {
    outline: 3px solid var(--brand-light-focus);
}

.card-listing .tags > .tag a:active,
.card-listing .tags > .tag a:focus {
    outline: none;
}
    
.card-listing.filterable .card a.button {
    color: var(--brand-primary);
    border: 2px solid var(--brand-primary);
    font-size: 1.4rem;
    background-color: #ffffff;
    padding: 0.6rem 2.4rem;
    margin-top: 2rem;
    max-width: calc(100% - 4.8rem);
}

.card-listing.filterable .card a.button:hover {
    background: var(--hover-background);
    border-color: var(--hover-border);
    color: var(--hover-text);
    text-decoration: none;
}

#filters {
    margin-bottom: 2.4rem;
}

#filters .select2-selection {
    padding: 1.2rem 1.6rem;
    border: 2px solid var(--input-borders, var(--brand-light-border-alt));
    color: var(--input-text, var(--brand-light-text));
    border-radius: 0.4rem;
    background-color: #fff;
    width: 100%;
}

@media (max-width: 559px) {
/*
    ul.card-listing.filterable .card .card-inner {
        padding-bottom: 10.8rem;
    }
*/

    .card-listing .card .card-image {
        display: none;
    }
    
    .card-listing .tags > .download {
        display: block;
    }
}

@media (min-width: 1000px) {
    .card-listing.filterable.col-2,
    .card-listing.filterable.col-3 {
        grid-template-columns: repeat(2, minmax(300px, 1fr));
    }
    
    #filters .select2-selection {
        width: 550px;
    }
}

@media (min-width: 1140px) {
    .card-listing.filterable.col-3 {
        grid-template-columns: repeat(3, minmax(300px, 1fr));
    }
}

@media only print {
    .card-container > h2 {
        white-space: nowrap;
    }
    
    .card-listing .card {
        break-inside: avoid;
    }

    .card-listing .card h2,
    .card-listing .card h3 {
        font-size: 2.0rem;   
    }
        
    .card-listing.filterable .card .card-inner {
        padding-bottom: 2.4rem !important;
    }
    
    .card-listing .clickable .card-inner a::after {
        content: none;
    }

    .inline-form-wrapper,
    .card-listing .card .card-image,
    .card-listing .card .tags {
        display: none !important;
    }
}
