@use "@styles/abstracts/functions" as fun; @use "@styles/abstracts/mixins" as mix; .title { margin: 0; padding: 0; background: none; font-size: var(--font-size-xl); text-align: left; } .icon { display: flex; flex-flow: row nowrap; align-items: center; justify-content: center; width: fun.convert-px(30); height: fun.convert-px(30); background: var(--color-bg); border: fun.convert-px(1) solid var(--color-primary); border-radius: fun.convert-px(3); color: var(--color-primary); font-weight: 800; transition: all 0.25s ease-in-out 0s; &::before, &::after { content: ""; background: var(--color-primary); transition: all 0.4s ease-out 0s; } &::before { width: 10%; height: 60%; position: relative; left: 30%; } &::after { width: 60%; height: 10%; position: relative; left: -5%; } } .body { width: 100%; margin: 0; overflow-y: auto; visibility: hidden; opacity: 0; height: 0; transition: all 0.5s ease-in-out 0s; &--borders { border: fun.convert-px(2) solid var(--color-primary-dark); } > *:last-child { margin-bottom: 0; } @include mix.media("screen") { @include mix.dimensions("md") { font-size: var(--font-size-sm); font-weight: 500; } } } .header { flex: 0 0 auto; display: flex; flex-flow: row nowrap; align-items: center; justify-content: space-between; gap: var(--spacing-md); width: 100%; min-height: var(--header-height); position: sticky; top: 0; background: var(--color-bg); border: none; border-bottom: fun.convert-px(2) solid var(--color-primary-dark); cursor: pointer; transition: background 0.2s ease-in-out 0s; > button { padding: 0 var(--spacing-xs); } } .wrapper--expanded .icon { &::before { height: 0; } } .header:hover, .header:focus { .icon { background: var(--color-primary-light); color: var(--color-fg-inverted); transform: scale(1.2); &::before, &::after { background: var(--color-bg); } } } .wrapper { --header-height: #{fun.convert-px(65)}; display: flex; flex-flow: column; min-height: var(--header-height); position: relative; overflow-y: hidden; &:first-of-type { .header { border-top: fun.convert-px(2) solid var(--color-primary-dark); } } } .wrapper--expanded { ~ .wrapper { .header { border-top: fun.convert-px(2) solid var(--color-primary-dark); } } .body { visibility: visible; opacity: 1; min-height: inherit; height: 100%; margin: var(--spacing-sm) 0; transition: all 0.45s ease-in-out 0s; } }