@import '../../_variables.scss'; .tab-switcher { display: flex; .tab-icon { font-size: 2em; display: block; } &.top-tabs { flex-direction: column; > .tabs { width: 100%; overflow-y: hidden; overflow-x: auto; padding-top: 5px; flex-direction: row; &::after, &::before { content: ''; flex: 1 1 auto; border-bottom: 1px solid; border-bottom-color: $fallback--border; border-bottom-color: var(--border, $fallback--border); } .tab-wrapper { height: 28px; &:not(.active)::after { left: 0; right: 0; bottom: 0; border-bottom: 1px solid; border-bottom-color: $fallback--border; border-bottom-color: var(--border, $fallback--border); } } .tab { width: 100%; min-width: 1px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: 99px; margin-bottom: 6px - 99px; } } .contents.scrollable-tabs { flex-basis: 0; } } &.side-tabs { flex-direction: row; @media all and (max-width: 800px) { overflow-x: auto; } > .contents { flex: 0 1 80%; @media all and (max-width: 800px) { min-width: 96vw; } } > .tabs { flex: 1 0 auto; overflow-y: auto; overflow-x: hidden; flex-direction: column; &::after, &::before { flex: 1 0 .5em; content: ''; border-right: 1px solid; border-right-color: $fallback--border; border-right-color: var(--border, $fallback--border); } &::before { flex-grow: 0; } .tab-wrapper { min-width: 10em; display: flex; flex-direction: column; &:not(.active)::after { top: 0; right: 0; bottom: 0; border-right: 1px solid; border-right-color: $fallback--border; border-right-color: var(--border, $fallback--border); } &::before { flex: 0 0 6px; content: ''; border-right: 1px solid; border-right-color: $fallback--border; border-right-color: var(--border, $fallback--border); } &:last-child .tab { margin-bottom: 0; } } .tab { flex: 1; box-sizing: content-box; min-width: 10em; min-width: 1px; border-top-right-radius: 0; border-bottom-right-radius: 0; padding-right: calc(1em + 200px); margin-right: 6px - 200px; margin-left: 6px; } .tab-wrapper { min-width: 10em; &:not(.active)::after { top: 0; right: 0; bottom: 0; border-right: 1px solid; border-right-color: $fallback--border; border-right-color: var(--border, $fallback--border); } } } } .contents { flex: 1 0 auto; min-height: 0px; .hidden { display: none; } &.scrollable-tabs { overflow-y: auto; } } .tab { position: relative; white-space: nowrap; padding: 6px 1em; &, &:active .tab-icon { color: $fallback--text; color: var(--tabText, $fallback--text); } background-color: $fallback--fg; background-color: var(--tab, $fallback--fg); &:not(.active) { z-index: 4; &:hover { z-index: 6; } } &.active { background: transparent; z-index: 5; color: $fallback--text; color: var(--tabActiveText, $fallback--text); } img { max-height: 26px; vertical-align: top; margin-top: -5px; } } .tabs { display: flex; position: relative; box-sizing: border-box; &::after, &::before { display: block; flex: 1 1 auto; } } .tab-wrapper { position: relative; display: flex; flex: 0 0 auto; &:not(.active) { &::after { content: ''; position: absolute; z-index: 7; } } } }