@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;
}
}