:host {
    display: block;
    margin-bottom: 12px;
}

header {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 12px 30px;
    color: var(--color-text);
}

header.collapsable {
        cursor: pointer;
    }

header h1 {
        display: flex;
        align-items: center;
        font-size: 22px;
        font-weight: 300;
        margin: 0;
    }

header h1 .step {
            color: var(--color-secondary);
            margin-right: 14px;
        }

header es-icon {
        transform: rotate(0deg);
        transition: transform 500ms ease;
        margin-left: auto;
        color: currentColor;
    }

header[aria-expanded='true'] es-icon {
            transform: rotate(180deg);
        }

nav {
    box-sizing: border-box;
    overflow: hidden;

    transition-duration: 500ms;
    transition-timing-function: ease;
}

nav[aria-hidden='true'] {
        opacity: 0;
        height: 0;
    }

:host([mode='collapsed']) nav {
    height: auto !important;
    opacity: 1 !important;
}

:host([mode='collapsed']) nav {
    transition: none;
}

[part='nav_inner'] {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
