219 lines
4.4 KiB
SCSS
Executable File
219 lines
4.4 KiB
SCSS
Executable File
|
|
$turquoise: #08d58f;
|
|
$off_white: #F5F5F5;
|
|
$faint_grey: #f4f2f0;
|
|
$light_grey: #cecac4;
|
|
$mid_grey: #a3a19f;
|
|
$grey: #383734;
|
|
$dark_grey: #181818;
|
|
$darkest_grey: #121212;
|
|
$secondary_grey: #888888;
|
|
$white: #FFFFFF;
|
|
$black: #000000;
|
|
$red: #cf2d2d;
|
|
$green: #47af2a;
|
|
$blue: #32b5f2;
|
|
$light_blue: #96cfea;
|
|
$yellow: #FFF39C;
|
|
$orange: #f16f19;
|
|
$overlay_dark: rgba(0, 0, 0, 0.88);
|
|
$overlay_light: rgba(255, 255, 255, 0.70);
|
|
|
|
$bp_wide: 1000px;
|
|
$bp_medium: 800px;
|
|
$bp_small: 500px;
|
|
$bp_narrow: 350px;
|
|
$bp_shallow: 650px;
|
|
|
|
@mixin one_line_text {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
@mixin clearfix {
|
|
&::after {
|
|
content: '';
|
|
clear: both;
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
@mixin bullet {
|
|
padding-left: 14px;
|
|
|
|
&:before {
|
|
display: inline-block;
|
|
content: '\2022';
|
|
margin-left: -8px;
|
|
padding-right: 6px;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* General animations
|
|
**/
|
|
|
|
@mixin animate( $duration: 0.2s, $easing: ease-in-out ){
|
|
-webkit-transition: all $duration $easing;
|
|
-moz-transition: all $duration $easing;
|
|
-o-transition: all $duration $easing;
|
|
transition: all $duration $easing;
|
|
}
|
|
|
|
@mixin noanimate(){
|
|
-webkit-transition: none !important;
|
|
-moz-transition: none !important;
|
|
-o-transition: none !important;
|
|
transition: none !important;
|
|
}
|
|
|
|
@keyframes shrink_from_right {
|
|
from { width: 100%; }
|
|
to { width: 0%; }
|
|
}
|
|
|
|
@mixin animate_timeout( $duration: 0.2s ){
|
|
animation-name: shrink_from_right;
|
|
animation-duration: $duration;
|
|
animation-timing-function: linear;
|
|
}
|
|
|
|
@keyframes spin {
|
|
from { transform: rotate(0); }
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
|
|
@mixin spin( $duration: 0.5s ){
|
|
animation-name: spin;
|
|
animation-duration: $duration;
|
|
animation-timing-function: linear;
|
|
animation-iteration-count: infinite;
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% { opacity: 0; }
|
|
50% { opacity: 1; }
|
|
100% { opacity: 0; }
|
|
}
|
|
|
|
@mixin pulse( $duration: 0.5s ){
|
|
animation-name: pulse;
|
|
animation-duration: $duration;
|
|
animation-timing-function: linear;
|
|
animation-iteration-count: infinite;
|
|
}
|
|
|
|
@keyframes fadein {
|
|
0% { opacity: 0; }
|
|
100% { opacity: 1; }
|
|
}
|
|
|
|
@mixin fadein( $duration: 0.2s ){
|
|
animation-name: fadein;
|
|
animation-duration: $duration;
|
|
animation-timing-function: linear;
|
|
animation-iteration-count: 1;
|
|
}
|
|
|
|
@keyframes slideloader {
|
|
0% { left: 0%; right: 100%; }
|
|
50% { left: 0%; right: 0%; }
|
|
100% { left: 100%; right: 0%; }
|
|
}
|
|
|
|
|
|
/**
|
|
* Grid layout
|
|
* Produces most album/playlist/artist grids
|
|
**/
|
|
|
|
@mixin grid_item( $cols, $gap: 2%, $bottom_margin: 3% ){
|
|
width: ( 0% + ( 100 / $cols ) - ( $gap * 2 ) + ( ( $gap * 2 ) / $cols ) );
|
|
box-sizing: border-box;
|
|
margin: 0 $gap $bottom_margin;
|
|
|
|
&:nth-child(#{$cols}n-#{$cols}) {
|
|
margin-right: 0;
|
|
@include clearfix;
|
|
}
|
|
|
|
&:nth-child(#{$cols}n-#{$cols - 1}) {
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Responsive rules
|
|
* Creates @media wrappers
|
|
**/
|
|
|
|
@mixin responsive( $max_width: null, $min_width: null, $max_height: null, $min_height: null ){
|
|
@if $max_width and $max_height {
|
|
@media( max-width: $max_width ), ( max-height: $max_height ){
|
|
@content;
|
|
}
|
|
}@else if $max_width and $min_width {
|
|
@media( max-width: $max_width ) and ( min-width: $min_width ){
|
|
@content;
|
|
}
|
|
}@else if $max_width {
|
|
@media( max-width: $max_width ){
|
|
@content;
|
|
}
|
|
}@else if $max_height {
|
|
@media( max-height: $max_height ){
|
|
@content;
|
|
}
|
|
}@else if $min_width {
|
|
@media( min-width: $min_width ){
|
|
@content;
|
|
}
|
|
}@else if $min_height {
|
|
@media( min-height: $min_height ){
|
|
@content;
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin blur( $size: 10px ) {
|
|
-webkit-filter: blur( $size );
|
|
filter: blur( $size );
|
|
}
|
|
|
|
@mixin feature_font(){
|
|
font-family: "Overpass";
|
|
letter-spacing: -0.04em;
|
|
font-weight: 600;
|
|
}
|
|
|
|
@mixin invert(){
|
|
-webkit-filter: invert(1);
|
|
filter: invert(1);
|
|
}
|
|
|
|
@mixin gradient_overlay($radius: 0, $opacity: 0){
|
|
position: relative;
|
|
border-radius: $radius;
|
|
|
|
&:before {
|
|
@include animate();
|
|
border-radius: $radius;
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
opacity: $opacity;
|
|
z-index: 9;
|
|
pointer-events: none;
|
|
background: -webkit-linear-gradient(to bottom right, rgba(255,255,255,.75), rgba(0,0,0,1));
|
|
background: -moz-linear-gradient(to bottom right, rgba(255,255,255,.75), rgba(0,0,0,1));
|
|
background: -o-linear-gradient(to bottom right, rgba(255,255,255,.75), rgba(0,0,0,1));
|
|
background: linear-gradient(to bottom right, rgba(255,255,255,.75), rgba(0,0,0,1));
|
|
}
|
|
}
|