You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
477 lines
8.9 KiB
SCSS
477 lines
8.9 KiB
SCSS
///
|
|
/// Hypothesis by Pixelarity
|
|
/// pixelarity.com | hello@pixelarity.com
|
|
/// License: pixelarity.com/license
|
|
///
|
|
|
|
/* Wrapper */
|
|
|
|
$padding: _size(padding, default);
|
|
|
|
.inner {
|
|
margin: 0 auto;
|
|
width: _size(inner);
|
|
max-width: calc(100% - #{$padding});
|
|
}
|
|
|
|
@include keyframes(tab-title) {
|
|
0% {
|
|
@include vendor('transform', 'translateY(0.325rem)');
|
|
}
|
|
|
|
100% {
|
|
@include vendor('transform', 'translateY(1px)');
|
|
}
|
|
}
|
|
|
|
#wrapper {
|
|
> .main {
|
|
background-color: _palette(bg);
|
|
|
|
> header {
|
|
@include padding($padding, 0);
|
|
text-align: center;
|
|
cursor: default;
|
|
|
|
> * {
|
|
width: _size(inner) * 0.625;
|
|
max-width: calc(100% - #{$padding});
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
> :last-child {
|
|
margin-bottom: _size(element-margin);
|
|
}
|
|
|
|
&.accent1 {
|
|
@include color(accent1);
|
|
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
|
|
& + .tabs {
|
|
> .titles {
|
|
background-color: _palette(accent1, bg);
|
|
|
|
&:before {
|
|
background-color: _palette(accent1, bg);
|
|
}
|
|
|
|
> .title {
|
|
color: _palette(accent1, fg-bold);
|
|
|
|
&.active {
|
|
color: _palette(accent1, bg);
|
|
background-color: _palette(accent1, fg-bold);
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.accent2 {
|
|
@include color(accent2);
|
|
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
|
|
& + .tabs {
|
|
> .titles {
|
|
&:before {
|
|
background-color: _palette(accent2, bg);
|
|
}
|
|
|
|
> .title {
|
|
color: _palette(accent2, fg-bold);
|
|
|
|
&.active {
|
|
color: _palette(accent2, bg);
|
|
background-color: _palette(accent2, fg-bold);
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
> .inner {
|
|
@include padding($padding, 0, ($padding * -1, 0, 0, 0));
|
|
|
|
> .image.main:last-child {
|
|
margin-bottom: (($padding * -1) + _size(element-margin));
|
|
}
|
|
|
|
> .content {
|
|
@include padding($padding * 0.5, $padding * 0.5);
|
|
background-color: _palette(bg);
|
|
|
|
> .image.main:first-child {
|
|
margin-top: ($padding * -0.5);
|
|
margin-left: ($padding * -0.5);
|
|
width: calc(100% + #{$padding});
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
padding: ($padding * 0.5) 0 !important;
|
|
}
|
|
}
|
|
|
|
> .tabs {
|
|
width: _size(inner);
|
|
margin: ($padding * -0.325) auto 0 auto;
|
|
max-width: calc(100% - #{$padding});
|
|
|
|
> .titles {
|
|
@include vendor('display', 'flex');
|
|
@include vendor('user-select', 'none');
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
|
|
&:before {
|
|
content: '';
|
|
display: block;
|
|
left: 0;
|
|
width: 100%;
|
|
height: _size(element-height) * 2;
|
|
position: absolute;
|
|
z-index: 0;
|
|
}
|
|
|
|
> .title {
|
|
@include vendor('transition-property', 'color, background-color, box-shadow');
|
|
@include vendor('transition-duration', '#{_duration(transition)}');
|
|
@include vendor('flex-grow', '1');
|
|
@include vendor('flex-shrink', '1');
|
|
padding: 0;
|
|
width: 100%;
|
|
text-align: center;
|
|
height: _size(element-height) * 2;
|
|
line-height: _size(element-height) * 2;
|
|
font-weight: _font(weight-bold);
|
|
font-size: 1.35rem;
|
|
position: relative;
|
|
z-index: 1;
|
|
|
|
&.active {
|
|
box-shadow: 0 3px 0 0 _palette(accent1, bg);
|
|
@include vendor('animation', 'tab-title 0.5s ease forwards');
|
|
}
|
|
}
|
|
}
|
|
|
|
> .panels {
|
|
> .panel {
|
|
@include padding($padding, 0);
|
|
@include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
|
|
opacity: 0;
|
|
|
|
&.active {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.accent1 {
|
|
@include color(accent1);
|
|
|
|
> .tabs {
|
|
> .titles {
|
|
> .title {
|
|
&.active {
|
|
box-shadow: 0 3px 0 0 _palette(accent1, fg-bold);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.accent2 {
|
|
@include color(accent2);
|
|
|
|
> .tabs {
|
|
> .titles {
|
|
> .title {
|
|
&.active {
|
|
box-shadow: 0 3px 0 0 _palette(accent2, fg-bold);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
background-color: _palette(bg-alt);
|
|
}
|
|
}
|
|
}
|
|
|
|
@include breakpoint(large) {
|
|
|
|
$padding: _size(padding, large);
|
|
|
|
.inner {
|
|
max-width: calc(100% - #{$padding});
|
|
}
|
|
|
|
#wrapper {
|
|
> .main {
|
|
> header {
|
|
@include padding($padding, 0);
|
|
|
|
> * {
|
|
max-width: calc(100% - #{$padding});
|
|
}
|
|
|
|
&.accent1 {
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
}
|
|
|
|
&.accent2 {
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
background-color: _palette(bg-alt);
|
|
}
|
|
}
|
|
|
|
> .inner {
|
|
@include padding($padding, 0, ($padding * -1, 0, 0, 0));
|
|
|
|
> .image.main:last-child {
|
|
margin-bottom: (($padding * -1) + _size(element-margin));
|
|
}
|
|
|
|
> .content {
|
|
@include padding($padding * 0.5, $padding * 0.5);
|
|
|
|
> .image.main:first-child {
|
|
margin-top: ($padding * -0.5);
|
|
margin-left: ($padding * -0.5);
|
|
width: calc(100% + #{$padding});
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
padding: ($padding * 0.5) 0 !important;
|
|
}
|
|
}
|
|
|
|
> .tabs {
|
|
margin: ($padding * -0.325) auto 0 auto;
|
|
max-width: calc(100% - #{$padding});
|
|
|
|
> .panels {
|
|
> .panel {
|
|
@include padding($padding, 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@include breakpoint(medium) {
|
|
|
|
$padding: _size(padding, medium);
|
|
|
|
.inner {
|
|
max-width: calc(100% - #{$padding});
|
|
}
|
|
|
|
#wrapper {
|
|
> .main {
|
|
> header {
|
|
@include padding($padding, 0);
|
|
|
|
> * {
|
|
max-width: calc(100% - #{$padding});
|
|
}
|
|
|
|
&.accent1 {
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
}
|
|
|
|
&.accent2 {
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
background-color: _palette(bg-alt);
|
|
}
|
|
}
|
|
|
|
> .inner {
|
|
@include padding($padding, 0, ($padding * -1, 0, 0, 0));
|
|
|
|
> .image.main:last-child {
|
|
margin-bottom: (($padding * -1) + _size(element-margin));
|
|
}
|
|
|
|
> .content {
|
|
@include padding($padding * 0.5, $padding * 0.5);
|
|
|
|
> .image.main:first-child {
|
|
margin-top: ($padding * -0.5);
|
|
margin-left: ($padding * -0.5);
|
|
width: calc(100% + #{$padding});
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
padding: ($padding * 0.5) 0 !important;
|
|
}
|
|
}
|
|
|
|
> .tabs {
|
|
margin: ($padding * -0.325) auto 0 auto;
|
|
max-width: calc(100% - #{$padding});
|
|
|
|
> .titles {
|
|
&:before {
|
|
height: _size(element-height) * 1.5;
|
|
}
|
|
|
|
> .title {
|
|
height: _size(element-height) * 1.5;
|
|
line-height: _size(element-height) * 1.5;
|
|
font-size: 1.25rem;
|
|
}
|
|
}
|
|
|
|
> .panels {
|
|
> .panel {
|
|
@include padding($padding, 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@include breakpoint(small) {
|
|
|
|
$padding: _size(padding, small);
|
|
|
|
.inner {
|
|
max-width: calc(100% - #{$padding});
|
|
}
|
|
|
|
#wrapper {
|
|
> .main {
|
|
> header {
|
|
@include padding($padding, 0);
|
|
|
|
> * {
|
|
max-width: calc(100% - #{$padding});
|
|
}
|
|
|
|
&.accent1 {
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
}
|
|
|
|
&.accent2 {
|
|
& + .inner {
|
|
padding-top: $padding;
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
background-color: _palette(bg-alt);
|
|
}
|
|
}
|
|
|
|
> .inner {
|
|
@include padding($padding, 0, ($padding * -1, 0, 0, 0));
|
|
|
|
> .image.main:last-child {
|
|
margin-bottom: (($padding * -1) + _size(element-margin));
|
|
}
|
|
|
|
> .content {
|
|
@include padding($padding * 0.5, $padding * 0.5);
|
|
|
|
> .image.main:first-child {
|
|
margin-top: ($padding * -0.5);
|
|
margin-left: ($padding * -0.5);
|
|
width: calc(100% + #{$padding});
|
|
}
|
|
}
|
|
|
|
&.alt {
|
|
padding: ($padding * 0.5) 0 !important;
|
|
}
|
|
}
|
|
|
|
> .tabs {
|
|
margin: ($padding * -0.3125) auto 0 auto;
|
|
max-width: calc(100% - #{$padding});
|
|
|
|
> .titles {
|
|
&:before {
|
|
height: _size(element-height) * 1.25;
|
|
}
|
|
|
|
> .title {
|
|
height: _size(element-height) * 1.25;
|
|
line-height: _size(element-height) * 1.25;
|
|
font-size: 1rem;
|
|
letter-spacing: 0;
|
|
|
|
.extra {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
> .panels {
|
|
> .panel {
|
|
@include padding($padding, 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@include breakpoint(xsmall) {
|
|
|
|
#wrapper {
|
|
> .main {
|
|
> .tabs {
|
|
> .titles {
|
|
@include vendor('justify-content', 'center');
|
|
|
|
> .title {
|
|
width: auto;
|
|
@include vendor('flex-grow', '0');
|
|
@include vendor('flex-shrink', '0');
|
|
padding: 0 1.5rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
} |