2016-10-23 23:48:06 +13:00
|
|
|
|
|
|
|
|
$turquoise: #08d58f;
|
2016-11-24 08:11:41 +13:00
|
|
|
$off_white: #F5F5F5;
|
2017-06-19 08:15:48 +12:00
|
|
|
$faint_grey: #f4f2f0;
|
2017-07-24 06:03:09 +12:00
|
|
|
$light_grey: #cecac4;
|
2017-06-19 08:15:48 +12:00
|
|
|
$mid_grey: #a3a19f;
|
2017-07-23 10:15:02 +12:00
|
|
|
$grey: #383734;
|
2017-07-25 09:22:28 +12:00
|
|
|
$dark_grey: #181818;
|
|
|
|
|
$darkest_grey: #121212;
|
2016-10-25 14:09:53 +13:00
|
|
|
$secondary_grey: #888888;
|
2017-03-21 08:33:32 +13:00
|
|
|
$white: #FFFFFF;
|
|
|
|
|
$black: #000000;
|
2016-10-26 21:20:48 +13:00
|
|
|
$red: #cf2d2d;
|
2016-11-06 15:47:37 +13:00
|
|
|
$green: #47af2a;
|
2016-11-10 16:17:10 +13:00
|
|
|
$blue: #32b5f2;
|
2017-09-07 11:16:04 +12:00
|
|
|
$light_blue: #96cfea;
|
2016-12-13 11:08:13 +13:00
|
|
|
$yellow: #FFF39C;
|
2017-02-21 08:35:24 +13:00
|
|
|
$orange: #f16f19;
|
2017-07-13 15:26:30 +12:00
|
|
|
$overlay_dark: rgba(0, 0, 0, 0.88);
|
2017-07-20 09:34:21 +12:00
|
|
|
$overlay_light: rgba(255, 255, 255, 0.70);
|
2016-10-23 23:48:06 +13:00
|
|
|
|
2016-11-22 11:10:30 +13:00
|
|
|
$bp_wide: 1000px;
|
|
|
|
|
$bp_medium: 800px;
|
2017-06-26 08:32:45 +12:00
|
|
|
$bp_small: 500px;
|
2016-11-22 11:10:30 +13:00
|
|
|
$bp_narrow: 350px;
|
2016-11-23 21:42:56 +13:00
|
|
|
$bp_shallow: 650px;
|
2016-11-22 11:10:30 +13:00
|
|
|
|
2016-10-23 23:48:06 +13:00
|
|
|
@mixin one_line_text {
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
2016-10-25 14:09:53 +13:00
|
|
|
}
|
|
|
|
|
|
2016-10-25 21:36:33 +13:00
|
|
|
@mixin clearfix {
|
|
|
|
|
&::after {
|
|
|
|
|
content: '';
|
|
|
|
|
clear: both;
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
2016-10-26 16:55:47 +13:00
|
|
|
}
|
|
|
|
|
|
2017-02-28 16:13:27 +13:00
|
|
|
@mixin bullet {
|
|
|
|
|
padding-left: 14px;
|
|
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
content: '\2022';
|
|
|
|
|
margin-left: -8px;
|
|
|
|
|
padding-right: 6px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-04-10 08:09:38 +12:00
|
|
|
/**
|
|
|
|
|
* General animations
|
|
|
|
|
**/
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin animate($duration: 0.2s, $easing: ease-in-out){
|
2016-10-27 16:58:11 +13:00
|
|
|
-webkit-transition: all $duration $easing;
|
|
|
|
|
-moz-transition: all $duration $easing;
|
|
|
|
|
-o-transition: all $duration $easing;
|
|
|
|
|
transition: all $duration $easing;
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-12 21:11:50 +13:00
|
|
|
@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%; }
|
2016-10-27 16:58:11 +13:00
|
|
|
}
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin animate_timeout($duration: 0.2s){
|
2017-02-12 21:11:50 +13:00
|
|
|
animation-name: shrink_from_right;
|
2016-10-27 16:58:11 +13:00
|
|
|
animation-duration: $duration;
|
|
|
|
|
animation-timing-function: linear;
|
2016-10-27 10:02:12 +13:00
|
|
|
}
|
|
|
|
|
|
2017-01-27 08:15:59 +13:00
|
|
|
@keyframes spin {
|
|
|
|
|
from { transform: rotate(0); }
|
|
|
|
|
to { transform: rotate(360deg); }
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin spin($duration: 0.5s){
|
2017-01-27 08:15:59 +13:00
|
|
|
animation-name: spin;
|
|
|
|
|
animation-duration: $duration;
|
|
|
|
|
animation-timing-function: linear;
|
|
|
|
|
animation-iteration-count: infinite;
|
|
|
|
|
}
|
|
|
|
|
|
2017-04-10 08:09:38 +12:00
|
|
|
@keyframes pulse {
|
|
|
|
|
0% { opacity: 0; }
|
|
|
|
|
50% { opacity: 1; }
|
|
|
|
|
100% { opacity: 0; }
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin pulse($duration: 0.5s){
|
2017-04-10 08:09:38 +12:00
|
|
|
animation-name: pulse;
|
|
|
|
|
animation-duration: $duration;
|
|
|
|
|
animation-timing-function: linear;
|
|
|
|
|
animation-iteration-count: infinite;
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin fadein($duration: 0.2s){
|
2018-02-27 08:44:20 +13:00
|
|
|
@keyframes fadein {
|
|
|
|
|
0% {
|
|
|
|
|
opacity: 0;
|
|
|
|
|
transform: translateY(5px);
|
|
|
|
|
}
|
|
|
|
|
100% {
|
|
|
|
|
opacity: 1;
|
|
|
|
|
transform: translateY(0px);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-29 16:29:49 +12:00
|
|
|
animation-name: fadein;
|
|
|
|
|
animation-duration: $duration;
|
|
|
|
|
animation-timing-function: linear;
|
|
|
|
|
animation-iteration-count: 1;
|
|
|
|
|
}
|
|
|
|
|
|
2018-02-28 08:44:38 +13:00
|
|
|
@mixin fadeout($duration: 0.2s){
|
|
|
|
|
@keyframes fadeout {
|
2018-02-27 08:44:20 +13:00
|
|
|
0% {
|
|
|
|
|
opacity: 1;
|
|
|
|
|
transform: translateY(0px);
|
|
|
|
|
}
|
|
|
|
|
100% {
|
|
|
|
|
opacity: 0;
|
|
|
|
|
transform: translateY(5px);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-02-28 08:44:38 +13:00
|
|
|
animation-name: fadeout;
|
2018-02-27 08:44:20 +13:00
|
|
|
animation-duration: $duration;
|
|
|
|
|
animation-timing-function: linear;
|
|
|
|
|
animation-iteration-count: 1;
|
|
|
|
|
}
|
|
|
|
|
|
2017-04-10 08:09:38 +12:00
|
|
|
@keyframes slideloader {
|
2018-01-25 17:04:19 +13:00
|
|
|
0% {
|
|
|
|
|
left: 0%;
|
|
|
|
|
right: 100%;
|
|
|
|
|
border-radius: 3px 0 0 3px;
|
|
|
|
|
}
|
|
|
|
|
50% {
|
|
|
|
|
left: 0%;
|
|
|
|
|
right: 0%;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
}
|
|
|
|
|
100% {
|
|
|
|
|
left: 100%;
|
|
|
|
|
right: 0%;
|
|
|
|
|
border-radius: 0 3px 3px 0;
|
|
|
|
|
}
|
2017-04-10 08:09:38 +12:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Grid layout
|
|
|
|
|
* Produces most album/playlist/artist grids
|
|
|
|
|
**/
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin grid_item($cols, $gap: 2%, $bottom_margin: 3%){
|
|
|
|
|
width: (0% + (100 / $cols ) - ($gap * 2 ) + (($gap * 2 ) / $cols ) );
|
2017-02-08 19:31:36 +13:00
|
|
|
box-sizing: border-box;
|
2017-07-27 07:48:31 +12:00
|
|
|
margin: 0 $gap $bottom_margin;
|
2017-02-08 19:31:36 +13:00
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
&:nth-child(#{$cols}n-#{$cols}){
|
2017-02-08 19:31:36 +13:00
|
|
|
margin-right: 0;
|
|
|
|
|
@include clearfix;
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
&:nth-child(#{$cols}n-#{$cols - 1}){
|
2017-02-08 19:31:36 +13:00
|
|
|
margin-left: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-04-10 08:09:38 +12:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Responsive rules
|
|
|
|
|
* Creates @media wrappers
|
|
|
|
|
**/
|
|
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin responsive($max_width: null, $min_width: null, $max_height: null, $min_height: null){
|
2016-11-23 21:42:56 +13:00
|
|
|
@if $max_width and $max_height {
|
2017-10-10 13:05:28 +13:00
|
|
|
@media(max-width: $max_width ), (max-height: $max_height){
|
2016-11-22 11:10:30 +13:00
|
|
|
@content;
|
|
|
|
|
}
|
2016-11-23 21:42:56 +13:00
|
|
|
}@else if $max_width and $min_width {
|
2017-10-10 13:05:28 +13:00
|
|
|
@media(max-width: $max_width ) and (min-width: $min_width){
|
2016-11-22 11:10:30 +13:00
|
|
|
@content;
|
|
|
|
|
}
|
2016-11-23 21:42:56 +13:00
|
|
|
}@else if $max_width {
|
2017-10-10 13:05:28 +13:00
|
|
|
@media(max-width: $max_width){
|
2016-11-23 21:42:56 +13:00
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}@else if $max_height {
|
2017-10-10 13:05:28 +13:00
|
|
|
@media(max-height: $max_height){
|
2016-11-23 21:42:56 +13:00
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}@else if $min_width {
|
2017-10-10 13:05:28 +13:00
|
|
|
@media(min-width: $min_width){
|
2016-11-22 11:10:30 +13:00
|
|
|
@content;
|
|
|
|
|
}
|
2017-05-15 08:57:38 +12:00
|
|
|
}@else if $min_height {
|
2017-10-10 13:05:28 +13:00
|
|
|
@media(min-height: $min_height){
|
2017-05-15 08:57:38 +12:00
|
|
|
@content;
|
|
|
|
|
}
|
2016-11-02 16:51:00 +13:00
|
|
|
}
|
|
|
|
|
}
|
2017-06-19 16:53:27 +12:00
|
|
|
|
2017-10-10 13:05:28 +13:00
|
|
|
@mixin blur($size: 10px ){
|
|
|
|
|
-webkit-filter: blur($size );
|
|
|
|
|
filter: blur($size );
|
2017-06-20 08:29:56 +12:00
|
|
|
}
|
|
|
|
|
|
2017-06-19 16:53:27 +12:00
|
|
|
@mixin feature_font(){
|
|
|
|
|
font-family: "Overpass";
|
|
|
|
|
letter-spacing: -0.04em;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
2017-06-20 08:29:56 +12:00
|
|
|
|
|
|
|
|
@mixin invert(){
|
|
|
|
|
-webkit-filter: invert(1);
|
|
|
|
|
filter: invert(1);
|
|
|
|
|
}
|
|
|
|
|
|
2017-06-23 08:03:28 +12:00
|
|
|
@mixin gradient_overlay($radius: 0, $opacity: 0){
|
2017-06-20 08:29:56 +12:00
|
|
|
position: relative;
|
2017-06-20 19:55:47 +12:00
|
|
|
border-radius: $radius;
|
2017-06-20 08:29:56 +12:00
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
|
@include animate();
|
2017-08-13 21:04:59 +12:00
|
|
|
border-radius: $radius;
|
2017-06-20 08:29:56 +12:00
|
|
|
content: '';
|
|
|
|
|
display: block;
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
left: 0;
|
2017-06-23 08:03:28 +12:00
|
|
|
opacity: $opacity;
|
2017-06-20 08:29:56 +12:00
|
|
|
z-index: 9;
|
2017-06-27 08:18:28 +12:00
|
|
|
pointer-events: none;
|
2017-07-26 15:24:18 +12:00
|
|
|
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));
|
2017-06-20 08:29:56 +12:00
|
|
|
}
|
|
|
|
|
}
|