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

663 lines
10 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;
strong {
font-weight: normal;
}
}
&: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
}
}
.resource-details {
&.track-details {
2015-10-25 03:35:37 +01:00
> header {
h2, h1 {
margin-left: 47px;
}
}
2015-09-12 13:19:18 +02:00
}
&.artist-details {
2015-10-25 03:35:37 +01:00
> header {
2016-05-19 23:31:04 +02:00
padding: 15px;
2016-07-16 00:00:22 +02:00
background-size: cover;
background-position: center;
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;
}
2015-09-12 13:19:18 +02:00
&.x-archived {
background: #eee;
}
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;
background: #eee;
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;
}
.single-player, .tracks-listing li .image {
float: left;
width: @icon-size;
height: @icon-size;
position: relative;
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: 45px;
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: 5px;
2016-05-20 17:46:44 +02:00
i.fa-microphone-slash {
2015-10-25 03:35:37 +01:00
opacity: .5;
}
2016-05-20 17:46:44 +02:00
i.fa-microphone-slash, i.fa-microphone {
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: 5px;
}
.artist {
.ellipsis();
}
.artist, .stats, .genre, .stats-expanded {
color: #777;
font-size: 80%;
}
.stats {
float: right;
padding: 3px;
strong {
color: #C1889E;
}
}
.artist, .stats {
margin-top: 2px;
}
&:hover {
background: #dedede;
.image {
.play-button {
display: block;
}
}
}
&.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: #FFD76E;
text-shadow: 0px 0px 2px rgba(0,0,0,0.8);
&:before {
content: "\f005"
}
}
}
}
}
2015-09-12 13:19:18 +02:00
}
}
.users-listing {
&.-condensed {
.image {
height: 30px;
width: 30px;
}
.info {
margin-left: 40px;
}
.published {
display: none;
}
}
}
2016-05-31 01:59:04 +02:00
.notification-menu {
float: right;
margin-top: 15px;
margin-right: 14px;
font-size: 20pt;
2016-07-11 01:41:32 +02:00
position: absolute;
top: 0;
right: 60px;
2016-05-31 01:59:04 +02:00
a {
2016-07-11 01:41:32 +02:00
color: #fff;
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: 64px;
right: -410px;
width: 400px;
height: ~"calc(100% - 64px)";
2016-07-11 01:41:32 +02:00
z-index: 500;
background: #eee;
2016-05-31 01:59:04 +02:00
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2016-05-31 01:59:04 +02:00
transform: translateX(0px) translateZ(0px);
&.active {
transform: translateX(-410px) translateZ(0px);
}
.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;
}
}