@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: 1 1 auto; } > .tabs { flex: 0 0 auto; overflow-y: auto; overflow-x: hidden; flex-direction: column; &::after, &::before { flex-shrink: 0; flex-basis: .5em; content: ''; border-right: 1px solid; border-right-color: $fallback--border; border-right-color: var(--border, $fallback--border); } &::after { flex-grow: 1; } &::before { flex-grow: 0; } .tab-wrapper { min-width: 10em; display: flex; flex-direction: column; @media all and (max-width: 800px) { min-width: 1em; } &: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-left: 1em; padding-right: calc(1em + 200px); margin-right: calc(1em - 200px); margin-left: 1em; @media all and (max-width: 800px) { padding-left: .25em; padding-right: calc(.25em + 200px); margin-right: calc(.25em - 200px); margin-left: .25em; .text { display: none } } } } } .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; background-color: $fallback--fg; background-color: var(--tab, $fallback--fg); &, &:active .tab-icon { color: $fallback--text; color: var(--tabText, $fallback--text); } &: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; } } } .mobile-label { padding-left: .3em; padding-bottom: .25em; margin-top: .5em; margin-left: .2em; margin-bottom: .25em; border-bottom: 1px solid var(--border, $fallback--border); @media all and (min-width: 800px) { display: none; } } }