* {
    box-sizing: border-box;
}

*:active {
    outline: none;
}

*:focus {
    outline: none;
    box-shadow: var(--const-global-focus);
}

input,
button {
    font-family: inherit;
    font-size: inherit;
}

.sr,
.sr button {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

.hidden,
[hidden] {
    display: none;
}

.invisible {
    visibility: hidden;
}

@keyframes expandVertical {
    0% {
        height: 0;
    }
}

@keyframes collapseVertical {
    100% {
        height: 0;
    }
}

q2-section {
    display: block;
    background-color: var(--tct-section-bg, var(--t-section-bg, #ffffff));
    color: var(--tct-section-font-color, var(--t-section-font-color, #2e2e2e));
    border-radius: var(--tct-section-border-radius, var(--t-section-border-radius, 3px));
    margin: var(--tct-scale-3, var(--app-scale-3, 15px));
}

@media screen and (max-width: 767px) {
    q2-section {
        margin: var(--tct-scale-3, var(--app-scale-3, 15px)) 0;
    }
}

q2-section .q2-section-wrapper {
    display: block;
    padding: var(--tct-scale-1, var(--app-scale-1, 5px)) 0;
}

q2-section .q2-section-wrapper .q2-section-header {
    padding: 0 var(--tct-scale-3, var(--app-scale-3, 15px));
    display: flex;
}

q2-section .q2-section-wrapper.has-header .q2-section-header {
    min-height: 44px;
}

q2-section .q2-section-wrapper .q2-section-header-content {
    flex: 1 1 100%;
    min-width: 0;
    align-self: center;
}

q2-section .q2-section-wrapper.collapsible .q2-section-header-content {
    cursor: pointer;
}

q2-section .q2-section-wrapper .title {
    /* Need access to typography in elements */
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

q2-section .q2-section-wrapper .toggle-icon {
    transition: transform var(--tct-tween-1, var(--app-tween-1, 0.2s ease));
}

q2-section .q2-section-wrapper.collapsed .toggle-icon {
    transform: rotate(180deg);
}

q2-section .q2-section-wrapper .q2-section-content-wrapper {
    height: auto;
}

q2-section .q2-section-wrapper .q2-section-content {
    padding: var(--tct-scale-2, var(--app-scale-2, 10px))
        var(--tct-scale-3, var(--app-scale-3, 15px));
}

q2-section .q2-section-wrapper.expanded.animate .q2-section-content-wrapper {
    animation: expandVertical var(--tct-tween-2, var(--app-tween-2, 0.4s ease)) forwards;
}

q2-section .q2-section-wrapper.collapsed .q2-section-content-wrapper {
    animation: collapseVertical 0s forwards;
    animation-duration: 0;
    height: 0;
    padding-top: 0;
    visibility: hidden;
    overflow: hidden;
}

q2-section .q2-section-wrapper.collapsed.animate .q2-section-content-wrapper {
    animation: collapseVertical var(--tct-tween-1, var(--app-tween-1, 0.2s ease)) forwards;
}

q2-section .q2-section-wrapper.animate .q2-section-content-wrapper {
    overflow: hidden;
}
