/***** HTML Elements *****/
address,
blockquote,
figure,
h1,
ul { margin-bottom: 0; }

blockquote {
    padding: 1rem 0;
    position: relative;
    border-left: 2px solid rgb(226, 0, 15);
}

blockquote::before,
blockquote::after {
    position: absolute;
    top: 50%;
}

blockquote::before {
    height: 2rem;
    width: 5px;
    margin-top: -1rem;
    left: -4px;
    content: '';
}

blockquote::after {
    width: 1em;
    margin-top: -.85rem;
    left: -.7rem;
    text-align: center;
    content: '\201C';
}

h2,
h3,
h5:not(.card-title),
hgroup { position: relative; }

h2 { margin-bottom: 2rem; }

h3 { word-break: keep-all; }

h5:not(.card-title) { margin-bottom: 2rem; }

h2::before,
section > h3::before,
hgroup::before,
h5:not(.card-title)::before {
    height: 5px;
    width: 100px;
    position: absolute;
    bottom: -10px;
    content: '';
}

/*
h3::after { right: 0; }
*/

hgroup > h3 { margin-bottom: 0; }

hr {
    margin-top: 0;
    margin-bottom: 0;
}

ol { padding-left: 1rem; }

ul:not(.accordion__list):not(.content__list):not(.teaser-items__list):not(.content__list):not(.nav-pills__list) {
    padding-left: 0;
    list-style: none;
}

:not(.sticky) .btn-primary:hover { border: 2px solid #E2000F; }

/***** Content *****/
blockquote > .content__text { padding-left: 2rem; }

.box__item {
    padding: 2rem;
    border-radius: 5px;
    box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.25);
}

.box__item > .row { align-items: center; }

/*.box__item img {
    max-height: 300px;
    max-width: 100%;
    width: auto;
}*/

.content__text > .content__icon { margin-right: 1rem; }

.content__text:not(:has(+ .content__list)):last-of-type { margin-bottom: 0; }

.content__text + .content__list:last-child { margin-top: 1rem; }

.content__text + .content__video { margin-top: 2rem; }

.content__image--top { margin-bottom: 2rem; }

.content__image--top,
.content__image--bottom { text-align: center; }

.content__image--top img,
.content__image--bottom img { object-fit: contain; }

.grid__item img,
.teaser__item img {
    height: auto;
    width: auto;
    max-height: 100%;
}

.col-12 > .content__list:first-child { padding-left: 1rem; }

section > .content__list > li:not(:last-child),
.col-12 > .content__list > li:not(:last-child) { margin-bottom: .25rem; }

.content__list > li > .content__list > li:not(:last-child) { margin-bottom: .5rem; }

.content__list + .content__text { margin-top: 1rem; }

.content__subtitle { margin-bottom: 0; }

/***** Accordions *****/
.accordion__item:hover .accordion-button.collapsed::after
.accordion__label[aria-expanded="true"] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }

.accordion-button:focus { box-shadow: none; }

.accordion__item:hover .accordion-button::after,
.accordion-button[aria-expanded="true"]::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFF' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); }

/***** Form *****/
form,
input { width: 100%; }

.form-floating > .form-control { height: unset; }

.form-control:focus { box-shadow: none; }

.form-control,
.input-group-text { border: none; }

input:focus { outline: none; }

/***** Grid & Teaser *****/
.col-centered {
    display: flex;
    justify-content: center;
}

/*
.content__item:nth-child(even) > div > section:nth-child(even) > h3,
.content__item:nth-child(odd) > div > section:nth-child(even) > h3 { text-align: right; }
*/

/***** Modal *****/
.modal__item:not(:first-child) { margin-top: 4rem; }

.modal__item > .row { align-items: center; }

.modal__item > h6 { margin-bottom: 1rem; }

.modal__item .content__image img {
    height: auto;
    width: 100%;
}

.modal-footer { justify-content: center; }

/*** Title ***/
.content__caption {
    position: absolute;
    bottom: .5rem;
}

/*** Link ***/
/*
.content__item:nth-child(even) > div > section:nth-child(even) .btn__link,
.content__item:nth-child(odd) > div > section:nth-child(even) .btn__link { float: right; }
*/

/*** Video ***/
.content__video { text-align: center; }

/***** Buttons *****/
.btn.show { border-color: rgb(226, 0, 15); }

.btn:hover { border-color: transparent; }

.btn:focus-visible { box-shadow: none; }

.btn.active {
    cursor: default;
    pointer-events: none;
    border-color: rgb(226, 0, 15);
}

.btn--disabled {
    pointer-events: none;
    cursor: default;
    opacity: .5;
}

.btn-primary {
    border: 2px solid transparent;
    border-radius: 5px;
}

.btn-secondary { padding: .5rem 1rem; }

.btn-secondary,
.btn-tertiary {
    border: 2px solid #E2000F;
    border-radius: 5px;
}

.btn-tertiary { padding: .25rem 1rem; }

:not(.btn-check) + .btn:active,
.btn:first-child:active { border-color: transparent; }

/***** Cards *****/
.card { border: none; }

article.card { box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.25); }

.card--vertical,
.card-body,
.card--vertical .card-footer { padding: 1rem; }

.card-header {
    padding: 0;
    border-bottom: unset;
}

.content__list > li > a:hover,
.content__text > a:hover { box-shadow: inset 400px 0 0 0 rgb(226, 0, 15); }

.card-title {
    margin-bottom: 0;
    text-align: center;
}

.card-body > .card-link,
.card-footer > .card-link {
    margin-right: auto;
    margin-left: auto;
}

.card-img-overlay { padding: 0; }

.card-img-overlay > .card-link {
    padding: .25rem .5rem .25rem .5rem;
    display: block;
    text-align: center;
    border: 2px solid rgb(226, 0, 15);
    border-radius: 5px;
}

.card-img-top { border-radius: 5px; }

.card--horizontal .card-body {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.card--vertical .card-body {
    display: flex;
    flex-direction: column;
}

.content__item .content__icon { margin-right: .5rem; }

/*
.card-text,
.content__text { text-align: justify; }
*/

.card-footer { border-top: none; }

.card--horizontal .card-footer {
    padding: 0;
    display: flex;
}

.card--vertical .card-footer { margin-top: 1rem; }

.card-footer > p { margin-bottom: 0; }

/***** Modal *****/
.modal-title {
    margin-right: auto;
    margin-left: auto;
}

.btn-close {
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
}

.btn-close:focus { box-shadow: unset; }

.modal-header > button {
    position: absolute;
    top: 1.5rem;
    right: 1rem;
}

.modal-footer { padding: 1rem; }

.modal-footer { margin: 0; }

/***** Accordion *****/
.accordion-body { padding: 1rem; }

/***** Downloads *****/
.download-items .card .content__title {
    margin-top: 1rem;
    text-align: center;
}

.download-items .card-body { text-align: center; }

.download-items .card-footer {
    padding: 1rem;
    text-align: right;
}

/***** Pagination *****/
.pagination { justify-content: center; }

.pagination__link { margin: 0 1rem; }

/***** Media Query *****/
@media screen and (max-width: 575px) {
    /*** Content ***/
   .main { padding: 1rem; }
}

@media screen and (max-width: 767px) {
    /*** Card ***/
    .card--horizontal { padding: 1rem; }

    .card-group > div.col-md-3:not(:first-child),
    .card-group > div.col-md-6:not(:first-child) { margin-top: 2rem; }

    /*** Grid & Teaser ***/
    .content__grid > .grid__item > div > div:last-child,
    .content__teaser > .teaser__item > div > div:first-child { margin-top: 2rem; }

    .content__teaser > .teaser__item > div > div:first-child { order: 2; }

    .content__grid > .grid__item > div > div:last-child,
    .content__teaser > .teaser__item > div > div:last-child { order: 1; }

    /*.content__item:nth-of-type(2n+2) > .content__grid > .grid__item > div,
    .content__item:nth-of-type(2n+2) > .content__teaser > .teaser__item > div { flex-direction: column-reverse; }*/

    .content__item:nth-of-type(2n+2) > .content__grid > .grid__item > div:first-child,
    .content__item:nth-of-type(2n+2) > .content__teaser > .teaser__item > div:first-child { margin-top: 2rem; }

    .content__image--top img,
    .content__image--bottom img {
        width: 100%;
        max-height: 350px;
    }

    .box__item .col-centered { display: none; }

    /*.card-group > div[class="col-12"]:not(:first-child) { margin-top: 2rem; }*/
}

@media screen and (min-width: 768px) {
    /*** Card ***/
    .card--horizontal { padding: 2rem; }

    /*** Content ***/
    .content__image--right {
        padding-left: 2rem;
        float: right;
    }

    .content__image--left {
        padding-right: 2rem;
        float: left;
    }
    
    /*** Grid ***/
    /*
    .content__item:nth-child(even) > div > section:nth-child(odd) .content__image,
    .content__item:nth-child(even) > div > section:nth-child(odd) .content__video,
    .content__item:nth-child(odd) > div > section:nth-child(odd) .content__image,
    .content__item:nth-child(odd) > div > section:nth-child(odd) .content__video { text-align: right; }
    */
    
    /*
    .content__item:nth-child(even) > .content__teaser > section:nth-child(even) > div > div:first-child,
    .content__item:nth-child(odd) > .content__teaser > section:nth-child(even) > div > div:first-child { order: 2; }

    .content__item:nth-child(even) > .content__teaser > section:nth-child(even) > div > div:last-child,
    .content__item:nth-child(odd) > .content__teaser > section:nth-child(even) > div > div:last-child { order: 1; }
    */

    .content__item:nth-child(even) .teaser__item:nth-child(even) > div > div:first-child,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(even) > div > div:first-child,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(odd) > div > div:first-child { order: 2; }

    .content__item:nth-child(even) .teaser__item:nth-child(even) > div > div:last-child,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(even) > div > div:last-child,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(odd) > div > div:last-child { order: 1; }

    .box__item .content__image,
    .grid__item .content__image,
    .teaser__item .content__image {
        position: absolute;
        top: 0;
        bottom: 0;
        align-content: center;
    }

    .box__item,
    .grid__item,
    .teaser__item { position: relative; }

    .teaser__item > h3,
    .teaser__item > hgroup { width: 50%; }

    .grid__item--6-6:not(.box__item):not(.make-a-direct-donation) > h3 { width: 50%; }

    .grid__item--7-5:not(.box__item):not(.make-a-direct-donation) > h3,
    .grid__item--5-7:not(.box__item):not(.make-a-direct-donation) > h3 { width: 58.5%; }

    .grid__item--8-4:not(.box__item):not(.make-a-direct-donation) > h3,
    .grid__item--4-8:not(.box__item):not(.make-a-direct-donation) > h3 { width: 67%; }

    .grid__item--9-3:not(.box__item):not(.make-a-direct-donation) > h3,
    .grid__item--3-9:not(.box__item):not(.make-a-direct-donation) > h3 { width: 75.5%; }

    .grid__item--10-2:not(.box__item):not(.make-a-direct-donation) > h3,
    .grid__item--2-10:not(.box__item):not(.make-a-direct-donation) > h3 { width: 84%; }

    .grid__item--right > h3,
    .content__item:nth-child(even) .teaser__item:nth-child(even) > h3,
    .content__item:nth-child(even) .teaser__item:nth-child(even) > hgroup,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(even) > h3,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(even) > hgroup,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(odd) > h3,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(odd) > hgroup {
        margin-left: auto;
        left: 24px;
    }

    .grid__item > div > div:last-child,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(odd) > div > div:first-child,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(odd) > div > div:last-child,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(even) > div > div:last-child,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(even) > div > div:first-child,
    .content__item:nth-child(even) .teaser__item:nth-child(even) > div > div:first-child,
    .content__item:nth-child(even) .teaser__item:nth-child(odd) > div > div:last-child { padding-left: 24px; }

    .grid__item > div > div:first-child,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(odd) > div > div:last-child,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(odd) > div > div:first-child,
    .content__item:nth-child(odd):first-of-type .teaser__item:nth-child(even) > div > div:first-child,
    .content__item:nth-child(odd):not(:first-of-type) .teaser__item:nth-child(even) > div > div:last-child,
    .content__item:nth-child(even) .teaser__item:nth-child(even) > div > div:last-child,
    .content__item:nth-child(even) .teaser__item:nth-child(odd) > div > div:first-child { padding-right: 24px; }

    .grid__item:not(.grid__item--6-6) .content__image { position: relative; }

    .grid__item:not(.grid__item--6-6) img { max-width: 100%; }

    .content__image--top img,
    .content__image--bottom img {
        height: 100%;
        max-height: 400px;
        max-width: 100%;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .card-group > div.col-md-6:nth-child(n+3) { margin-top: 2rem; }

    .content__image img {
        height: auto;
        max-height: 215px;
        width: auto;
        max-width: 100%;
    }
}

@media screen and (max-width: 991px) {
    /*** HTML Elements ***/
    :not(hgroup) > h3,
    hgroup { margin-bottom: 2rem; }

    hgroup > h4.content__title { margin-bottom: 0; }

    /*** Content ***/
    .content__item:not(:first-child) { margin-top: 4rem; }

    /*** News ***/
    .news__footer { margin-top: 2rem; }

    /*** Teaser ***/
    .content__teaser > section.teaser__item:not(:first-child),
    .content__teaser > article.teaser__item:not(:first-of-type),
    .content__grid > .grid__item:not(:first-child) { margin-top: 4rem; }

    .teaser-box .card-group > .col-12:not(:first-child) { margin-top: 2rem; }

    /*** Link **/
    .btn__link:not(.btn-tertiary) { margin-top: 1rem; }
}

@media screen and (min-width: 992px) {
    /*** HTML Elements ***/
    :not(hgroup) > h3,
    hgroup { margin-bottom: 4rem; }

    aside h5::before { right: 0; }

    aside .card-group > div:not(:first-child),
    .card-group > div[class="col-12"]:not(:first-child),
    .card-group > div.col-md-6:not(.col-lg-4):nth-child(n+2),
    .card-group > div.col-lg-6:nth-child(n+3) { margin-top: 2rem; }

    /*** Content & Teaser ***/
    .content__item:not(:first-child),
    .content__grid > .grid__item:not(:first-of-type),
    .content__teaser > .teaser__item:not(:first-of-type) { margin-top: 6rem; }

    article.card:not(.team-items__item):not([class="card news-items__item"]) { height: 100%; }

    .box__item .content__image img {
        height: 275px;
        object-fit: contain;
    }

    /*** News ***/
    .news__footer { margin-top: 4rem; }

    /*** Link **/
    .btn__link { margin-top: 2rem; }
}

@media screen and (min-width: 992px) and (max-width: 1549px) {
    .card-group > div.col-xxl-3:nth-child(n+4) { margin-top: 2rem; }
}

@media screen and (max-width: 1199px) {
    .grid__item--6-6 img,
    .teaser__item img { max-width: 300px; }
}

@media screen and (min-width: 1200px) {
    .grid__item--6-6 img,
    .teaser__item img { max-width: 400px; }

    .grid__item video,
    .teaser__item video {
        /* max-width: 500px;*/
        object-fit: cover;
    }

    .content__text + .content__video > video { max-width: 500px; }
}

@media screen and (min-width: 1200px) and (max-width: 1549px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1000px;
    }
}

@media screen and (max-width: 1399px) {
    .card--vertical .card-body {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
}

@media screen and (min-width: 1400px) {
    .card--vertical .card-body {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }
}

@media screen and (min-width: 1550px) {
    .card-group > div.col-xxl-3:nth-child(n+5) { margin-top: 2rem; }
}
