/* Accordion */

:root {
    --accordionprimary: #FFB300;
    --accordionsecondary: #ff5252;
    --accordionhighlight: #ffda79;
    /* Theme color */
    --accordiontheme: var(--accordionprimary);
}

.accordionbox {
    display: grid;
    place-content: center;
    /*  grid-template-columns: repeat(auto-fit, min(100%, 30rem));*/
    gap: 1rem;
    margin: 0;
    padding: 1rem;
    color: var(--accordionprimary);
}

/* Core styles/functionality */
.accordiontab input {
    position: absolute;
    opacity: 0;
    z-index: -1;
}

.accordiontab-content,
.accordiontab-contentlarger {
    max-height: 0;
    overflow: hidden;
    transition: all 0.35s;
}

.accordiontab input:checked ~ .accordiontab-content {
    max-height: 10rem;
}

.accordiontab input:checked ~ .accordiontab-contentlarger {
    max-height: 1000rem;
}

/* Visual styles */
.accordion {
    color: var(--accordiontheme);
    border: 2px solid;
    border-radius: 0.5rem;
    overflow: hidden;
}

.accordiontab-label,
.accordiontab-close {
    display: flex;
    color: white;
    background: var(--accordiontheme);
    cursor: pointer;
}

.accordiontab-label {
    justify-content: space-between;
    padding: 1rem;
}

.accordiontab-label::after {
    content: "\276F";
    width: 1em;
    height: 1em;
    text-align: center;
    transform: rotate(90deg);
    transition: all 0.35s;
}

.accordiontab input:checked + .accordiontab-label::after {
    transform: rotate(270deg);
}

.accordiontab-content p,
.accordiontab-contentlarger p {
    margin: 0;
    padding: 4px 1rem;
}

.accordiontab-content p:first-of-type,
.accordiontab-contentlarger p:first-of-type {
    padding: 16px 1rem 4px;
}

.accordiontab-content p:last-of-type,
.accordiontab-contentlarger p:last-of-type {
    padding: 4px 1rem 16px;
}

.accordiontab-content p:only-child {
    padding: 16px 1rem 16px;
}

.accordiontab-close {
    justify-content: flex-end;
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
}

.accordion-radio {
    --accordiontheme: var(--accordionsecondary);
}

/* Arrow animation */
.accordiontab input:not(:checked) + .accordiontab-label:hover::after {
    animation: bounce .5s infinite;
}

@keyframes bounce {
    25% {
        transform: rotate(90deg) translate(.25rem);
    }

    75% {
        transform: rotate(90deg) translate(-.25rem);
    }
}
