Pony.fm/resources/assets/styles/content.less

788 lines
12 KiB
Text
Raw Normal View History

/**
* Pony.fm - A community for pony fan music.
* Copyright (C) 2015 Peter Deltchev
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
2015-09-12 13:19:18 +02:00
@import 'base/bootstrap/bootstrap';
@import 'mixins';
@import 'variables';
@media (max-width: 1300px) and (min-width: 720px) {
html {
.albums-listing, .playlists-listing, .users-listing {
2015-10-25 03:35:37 +01:00
&.two-columns li {
width: auto;
float: none;
}
li {
2016-07-12 01:26:13 +02:00
width: 30%;
2015-10-25 03:35:37 +01:00
}
}
2015-09-12 13:19:18 +02:00
}
}
@media (max-width: 720px) {
html {
.albums-listing, .playlists-listing, .users-listing {
2015-10-25 03:35:37 +01:00
&.two-columns li {
width: auto;
float: none;
}
li {
2016-07-12 01:26:13 +02:00
width: 44%;
2015-10-25 03:35:37 +01:00
}
}
2015-09-12 13:19:18 +02:00
}
}
.albums-listing, .playlists-listing, .users-listing {
2015-09-12 13:19:18 +02:00
margin: 0px;
padding: 0px;
list-style: none;
overflow: hidden;
2016-07-11 01:59:20 +02:00
height: 100%;
2015-09-12 13:19:18 +02:00
&.two-columns {
2015-10-25 03:35:37 +01:00
li {
width: 50%;
}
2015-09-12 13:19:18 +02:00
}
li {
2015-10-25 03:35:37 +01:00
.box-sizing(border-box);
float: left;
2016-07-11 03:04:53 +02:00
width: 12.5%;
margin: 10px;
2015-10-25 03:35:37 +01:00
line-height: normal;
2016-07-11 01:59:20 +02:00
.material-shadow(1);
border-radius: 2px;
2015-10-25 03:35:37 +01:00
a {
background: #eee;
display: block;
overflow: hidden;
position: relative;
img {
display: block;
2016-07-11 01:59:20 +02:00
width: 100%;
height: auto;
2015-10-25 03:35:37 +01:00
background: #ddd;
2016-07-11 01:59:20 +02:00
border-radius: 2px 2px 0 0;
2015-10-25 03:35:37 +01:00
}
.info {
2016-07-11 01:59:20 +02:00
padding: 5px;
2015-10-25 03:35:37 +01:00
display: block;
}
.title, .published, .stats {
display: block;
color: #444;
padding: 5px;
}
.title {
.ellipsis();
font-weight: bold;
font-size: 11pt;
padding-left: 3px;
padding-bottom: 0px;
}
.published {
font-size: 8pt;
color: #555;
}
.published, .stats {
padding-top: 0px;
}
.stats {
font-size: 10pt;
color: #777;
position: absolute;
bottom: 3px;
right: 3px;
padding: 2px 5px;
i {
font-size: 12px;
}
2015-10-25 03:35:37 +01:00
strong {
font-weight: normal;
font-size: 14px;
2015-10-25 03:35:37 +01:00
}
}
&:hover {
text-decoration: none;
background: #ddd;
}
}
2016-07-12 01:26:13 +02:00
&.empty {
box-shadow: 0 0 0 transparent;
}
2015-09-12 13:19:18 +02:00
}
}
.dropdowns .btn i {
font-size: inherit;
}
2015-09-12 13:19:18 +02:00
.resource-details {
2016-08-07 15:35:34 +02:00
.info {
margin-left: 15px;
}
&.track-details, &.album-details, &.playlist-details {
2015-10-25 03:35:37 +01:00
> header {
2016-08-07 15:35:34 +02:00
margin: -10px -10px 20px;
padding: 20px;
background: transparent;
box-shadow: inset 0 -5px 10px -5px rgba(0,0,0,0.3);
position: relative;
.blurred-background {
width: 100%;
height: 250px;
-webkit-filter: blur(30px) brightness(0.8);
filter: blur(15px) brightness(0.75);
z-index: -1;
top: 0;
left: 0;
overflow: hidden;
background-color: #a2a2a2;
background-position: left center;
background-size: 50%;
position: absolute;
}
h1, h2, .buttons md-icon, a {
color: #fff;
text-shadow: 0 1px 5px black;
}
img {
width: 200px;
height: 200px;
background: #fff;
.material-shadow(2);
}
h1 {
font-size: 28px;
}
h2 {
margin-top: 2px;
font-size: 16px;
2015-10-25 03:35:37 +01:00
}
}
2015-09-12 13:19:18 +02:00
}
&.artist-details {
2015-10-25 03:35:37 +01:00
> header {
2016-07-19 01:27:45 +02:00
background: #aaa;
2016-07-16 00:00:22 +02:00
background-size: cover;
background-position: center;
padding: 25px 25px 70px;
2016-07-17 02:22:59 +02:00
margin: -15px -15px 10px;
2016-05-19 23:31:04 +02:00
> img {
width: 150px;
height: 150px;
float: left;
background: #fff;
2016-07-16 00:00:22 +02:00
border-radius: 50%;
.material-shadow(2);
2016-05-19 23:31:04 +02:00
}
> .artist-right {
margin-left: 165px;
2015-10-25 03:35:37 +01:00
margin-top: 5px;
2016-05-19 23:31:04 +02:00
2016-06-07 20:31:32 +02:00
> h1, .follower-count {
2016-07-16 00:00:22 +02:00
text-shadow: 0 1px 3px black;
2016-05-19 23:31:04 +02:00
font-size: 20pt;
color: #fff;
padding: 5px 10px;
2016-06-07 20:31:32 +02:00
display: table;
}
2016-07-11 01:41:32 +02:00
2016-06-07 20:31:32 +02:00
> .follower-count {
font-size: 14pt;
2016-05-19 23:31:04 +02:00
}
> .btn {
display: table;
2015-10-25 03:35:37 +01:00
}
}
}
2015-09-12 13:19:18 +02:00
2016-05-26 00:57:46 +02:00
.admin-star {
margin-left: 10px;
font-size: 26px;
margin-top: -6px;
2016-05-26 00:57:46 +02:00
}
2016-07-12 01:26:13 +02:00
.albums-listing li {
width: 22%;
}
2015-09-12 13:19:18 +02:00
}
.share-buttons {
2015-10-25 03:35:37 +01:00
.transition(opacity 250ms ease-out);
margin-top: 5px;
opacity: 0;
overflow: hidden;
height: 28px;
&.loaded {
opacity: 1;
overflow: visible;
}
.facebook, .twitter {
margin-top: 3px;
}
2015-09-12 13:19:18 +02:00
}
> header {
2015-10-25 03:35:37 +01:00
padding: 5px;
overflow: hidden;
margin-bottom: 10px;
h1 {
margin: 0px;
}
h2 {
margin: 0px;
padding: 0px;
font-weight: normal;
clear: none;
line-height: normal;
display: block;
float: none;
font-size: 8pt;
color: #777;
border: none;
a {
display: inline;
float: none;
color: #111;
}
}
2015-09-12 13:19:18 +02:00
}
h2 {
2015-10-25 03:35:37 +01:00
color: #C2889C;
font-size: 10pt;
border-bottom: 2px solid #ddd;
padding: 5px 0px;
margin: 0px;
margin-bottom: 5px;
line-height: normal;
2015-09-12 13:19:18 +02:00
}
.resource-toolbar {
2015-10-25 03:35:37 +01:00
.clearfix();
background: #eee;
list-style: none;
padding: 0px;
margin: 0px;
margin-bottom: 5px;
> li {
padding: 5px;
float: left;
margin: 0px;
}
2015-09-12 13:19:18 +02:00
}
}
@icon-size: 42px;
@media (max-width: 1300px) and (min-width: 720px) {
html {
2015-10-25 03:35:37 +01:00
.tracks-listing {
&.four-columns li {
width: 33.333%;
}
&.three-columns li {
width: 50%;
}
&.two-columns li {
width: auto;
float: none;
}
}
2015-09-12 13:19:18 +02:00
}
}
@media (max-width: 720px) {
html {
2015-10-25 03:35:37 +01:00
.tracks-listing {
&.four-columns li {
width: auto;
float: none;
}
&.three-columns li {
width: auto;
float: none;
}
&.two-columns li {
width: auto;
float: none;
}
}
2015-09-12 13:19:18 +02:00
}
}
.tracks-listing.four-columns {
li {
2015-10-25 03:35:37 +01:00
float: left;
width: 25%;
2015-09-12 13:19:18 +02:00
}
}
.tracks-listing.three-columns {
li {
2015-10-25 03:35:37 +01:00
float: left;
width: 33.3333%;
2015-09-12 13:19:18 +02:00
}
}
.tracks-listing.two-columns {
li {
2015-10-25 03:35:37 +01:00
float: left;
width: 50%;
2015-09-12 13:19:18 +02:00
}
}
html .single-player .play-button {
display: block;
}
2016-08-07 15:35:34 +02:00
.single-player {
position: relative;
button {
position: absolute;
top: 270px;
right: 0;
}
}
.tracks-listing li .image {
2015-09-12 13:19:18 +02:00
float: left;
position: relative;
2016-08-07 15:35:34 +02:00
width: 43px;
height: 43px;
}
2015-09-12 13:19:18 +02:00
2016-08-07 15:35:34 +02:00
.single-player, .tracks-listing li .image {
2016-05-20 02:10:31 +02:00
.button-container {
display: table;
width: 100%;
height: 100%;
> i {
display: table-cell;
vertical-align: middle;
text-align: center;
}
}
2015-09-12 13:19:18 +02:00
.play-button {
2015-10-25 03:35:37 +01:00
.transition(background 250ms ease-out);
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
line-height: 32px;
2015-10-25 03:35:37 +01:00
text-align: center;
font-size: 12pt;
color: #fff;
text-decoration: none;
background: rgba(0, 0, 0, .4);
display: none;
pointer-events: all;
&:hover {
background: rgba(0, 0, 0, .8);
}
2015-09-12 13:19:18 +02:00
}
img {
2015-10-25 03:35:37 +01:00
display: block;
width: 100%;
pointer-events: none;
2015-09-12 13:19:18 +02:00
}
}
html {
li {
2015-10-25 03:35:37 +01:00
&.empty {
.empty-box;
2015-10-25 03:35:37 +01:00
}
2015-11-01 17:49:28 +01:00
2015-10-29 15:13:01 +01:00
.cache-loading {
display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
line-height: 100%;
font-size: 93%;
padding-left: 3px;
padding-right: 3px;
overflow-y: hidden;
2015-10-29 15:13:01 +01:00
}
2015-09-12 13:19:18 +02:00
}
}
.empty-box {
.border-radius(0px);
background: lighten(@pfm-purple, 30%);
border: 1px solid lighten(@pfm-purple, 10%);
color: lighten(@pfm-purple, 3%);
float: none !important;
width: auto !important;
display: block;
margin-top: 5px;
padding: 5px;
font-size: 9pt;
&:hover {
background-color: lighten(@pfm-purple, 30%);
}
}
2015-09-12 13:19:18 +02:00
.tracks-listing {
margin: 0px;
padding: 0px;
list-style: none;
overflow: hidden;
2015-09-12 13:19:18 +02:00
li {
2015-10-25 03:35:37 +01:00
.box-sizing(border-box);
overflow: hidden;
line-height: normal;
padding: 0px;
2016-05-20 02:10:31 +02:00
margin: 5px 0px;
2015-10-25 03:35:37 +01:00
padding-right: 10px;
position: relative;
2016-05-20 02:10:31 +02:00
height: 43px;
2015-10-25 03:35:37 +01:00
.icons {
float: right;
display: block;
margin-top: 3px;
height: 16px;
2015-10-25 03:35:37 +01:00
i {
font-size: 18px;
}
i.no-vocals {
2015-10-25 03:35:37 +01:00
opacity: .5;
}
i.no-vocals, i.has-vocals {
2015-10-25 03:35:37 +01:00
color: #777;
}
a {
text-decoration: none;
}
}
a.info {
display: block;
margin-left: (@icon-size + 10);
&:hover {
text-decoration: none;
}
> span {
display: block;
}
}
.title {
.ellipsis();
color: #000;
margin-top: 2px;
2015-10-25 03:35:37 +01:00
}
.artist {
.ellipsis();
}
.artist, .stats, .genre, .stats-expanded {
color: #777;
font-size: 80%;
}
.stats {
float: right;
padding: 3px;
strong {
color: #C1889E;
}
}
&:hover {
background: #dedede;
.image {
.play-button {
display: block;
i {
padding-top: 9px;
}
2015-10-25 03:35:37 +01:00
}
}
}
&.is-playing {
background: #ddd;
}
&.has-played {
background: red;
}
&.is-favourited {
.icons {
a.icon-favourite {
color: @brand-warning;
2015-10-25 03:35:37 +01:00
text-decoration: none;
i {
color: @brand-danger;
width: 18px;
2015-10-25 03:35:37 +01:00
}
}
}
}
2015-09-12 13:19:18 +02:00
}
}
.users-listing {
&.-condensed {
.image {
height: 30px;
width: 30px;
}
.info {
margin-left: 40px;
}
.published {
display: none;
}
}
}
.loading .notification-menu md-icon {
display: none;
}
2016-05-31 01:59:04 +02:00
.notification-menu {
float: right;
margin-top: 9px;
2016-05-31 01:59:04 +02:00
margin-right: 14px;
font-size: 30px;
2016-07-11 01:41:32 +02:00
position: absolute;
top: 0;
right: 60px;
2016-05-31 01:59:04 +02:00
.md-button .material-icons {
2016-07-11 01:41:32 +02:00
color: #fff;
font-size: 30px;
2016-05-31 01:59:04 +02:00
&:hover {
2016-07-11 01:41:32 +02:00
color: #eee;
2016-05-31 01:59:04 +02:00
}
}
.counter {
position: absolute;
bottom: 8px;
right: 90px;
font-size: 8pt;
color: #fff;
background: #b885bd;
width: auto;
height: 15px;
text-align: center;
border-radius: 20px;
padding: 0 3px;
display: none;
2016-06-07 18:49:00 +02:00
&.show {
display: block;
}
}
2016-05-31 01:59:04 +02:00
}
.notification {
min-height: 50px;
margin-bottom: 10px;
background: #fff;
box-shadow: 0 1px 2px rgba(0,0,0,.2);
2016-06-07 18:49:00 +02:00
border-radius: 2px;
.img-link {
float: left;
img {
width: 50px;
height: 50px;
}
}
.message {
margin-left: 55px;
padding: 5px 5px 0 5px;
display: block;
color: #666;
}
p {
margin: 0;
}
2016-06-07 18:49:00 +02:00
&.unread {
border: 1px solid #b885bd;
}
2016-05-31 01:59:04 +02:00
}
.notification-pullout {
position: absolute;
top: -450px;
right: 10px;
2016-05-31 01:59:04 +02:00
width: 400px;
height: 500px;
z-index: 98;
background: #eee;
.material-shadow(2);
transition: transform 0.3s @swift-ease-in-out;
transform: translateY(0px) translateZ(0px);
2016-05-31 01:59:04 +02:00
&.active {
transform: translateY(520px) translateZ(0px);
2016-05-31 01:59:04 +02:00
}
.notif-container {
padding: 20px;
max-height: 100%;
overflow: auto;
}
2016-06-02 01:00:43 +02:00
}
.notif-switch {
margin-bottom: 15px;
span {
margin-left: 5px;
}
}
2016-06-02 01:00:43 +02:00
.notif-list {
.error {
text-align: center;
font-size: 16pt;
color: #222;
}
}
.search-button {
display: none;
}
i {
font-size: inherit;
vertical-align: middle;
}
canvas {
visibility: hidden;
opacity: 0;
}
.clickable {
cursor: pointer;
text-decoration: none !important;
}
2016-08-04 04:42:46 +02:00
form.thin md-input-container {
margin: 15px 0 0 0;
}
md-card.album, md-card.user {
md-card-content {
padding: 4px 12px;
span {
font-size: 16px;
}
}
.album-stats span {
margin: 0 3px;
font-size: 12px;
md-icon {
font-size: 16px;
width: 16px;
height: 16px;
min-width: 16px;
min-height: 16px;
}
}
.user-info {
margin: 0 12px 8px;
span {
margin: 0;
font-size: 12px;
}
}
}
2016-08-04 04:42:46 +02:00
.button-bar {
margin-bottom: 10px;
}