/** * 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 . */ @import 'base/bootstrap/bootstrap'; @import 'mixins'; @import 'variables'; @media (max-width: 1300px) and (min-width: 720px) { html { .albums-listing, .playlists-listing, .users-listing { &.two-columns li { width: auto; float: none; } li { width: 30%; } } } } @media (max-width: 720px) { html { .albums-listing, .playlists-listing, .users-listing { &.two-columns li { width: auto; float: none; } li { width: 44%; } } } } .albums-listing, .playlists-listing, .users-listing { margin: 0px; padding: 0px; list-style: none; overflow: hidden; height: 100%; &.two-columns { li { width: 50%; } } li { .box-sizing(border-box); float: left; width: 12.5%; margin: 10px; line-height: normal; .material-shadow(1); border-radius: 2px; a { background: #eee; display: block; overflow: hidden; position: relative; img { display: block; width: 100%; height: auto; background: #ddd; border-radius: 2px 2px 0 0; } .info { padding: 5px; 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; } strong { font-weight: normal; font-size: 14px; } } &:hover { text-decoration: none; background: #ddd; } } &.empty { box-shadow: 0 0 0 transparent; } } } .dropdowns .btn i { font-size: inherit; } .resource-details { .info { margin-left: 15px; } &.track-details, &.album-details, &.playlist-details { > header { 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; } } } &.artist-details { > header { background: #aaa; background-size: cover; background-position: center; padding: 25px 25px 70px; margin: -15px -15px 10px; > img { width: 150px; height: 150px; float: left; background: #fff; border-radius: 50%; .material-shadow(2); } > .artist-right { margin-left: 165px; margin-top: 5px; > h1, .follower-count { text-shadow: 0 1px 3px black; font-size: 20pt; color: #fff; padding: 5px 10px; display: table; } > .follower-count { font-size: 14pt; } > .btn { display: table; } } } .admin-star { margin-left: 10px; font-size: 26px; margin-top: -6px; } .albums-listing li { width: 22%; } } .share-buttons { .transition(opacity 250ms ease-out); margin-top: 5px; opacity: 0; overflow: hidden; height: 28px; &.loaded { opacity: 1; overflow: visible; } .facebook, .twitter { margin-top: 3px; } } > header { 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; } } } h2 { color: #C2889C; font-size: 10pt; border-bottom: 2px solid #ddd; padding: 5px 0px; margin: 0px; margin-bottom: 5px; line-height: normal; } .resource-toolbar { .clearfix(); background: #eee; list-style: none; padding: 0px; margin: 0px; margin-bottom: 5px; > li { padding: 5px; float: left; margin: 0px; } } } @icon-size: 42px; @media (max-width: 1300px) and (min-width: 720px) { html { .tracks-listing { &.four-columns li { width: 33.333%; } &.three-columns li { width: 50%; } &.two-columns li { width: auto; float: none; } } } } @media (max-width: 720px) { html { .tracks-listing { &.four-columns li { width: auto; float: none; } &.three-columns li { width: auto; float: none; } &.two-columns li { width: auto; float: none; } } } } .tracks-listing.four-columns { li { float: left; width: 25%; } } .tracks-listing.three-columns { li { float: left; width: 33.3333%; } } .tracks-listing.two-columns { li { float: left; width: 50%; } } html .single-player .play-button { display: block; } .single-player { position: relative; button { position: absolute; top: 270px; right: 0; } } .tracks-listing li .image { float: left; position: relative; width: 43px; height: 43px; } .single-player, .tracks-listing li .image { .button-container { display: table; width: 100%; height: 100%; > i { display: table-cell; vertical-align: middle; text-align: center; } } .play-button { .transition(background 250ms ease-out); position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; line-height: 32px; 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); } } img { display: block; width: 100%; pointer-events: none; } } html { li { &.empty { .empty-box; } .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; } } } .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%); } } .tracks-listing { margin: 0px; padding: 0px; list-style: none; overflow: hidden; li { .box-sizing(border-box); overflow: hidden; line-height: normal; padding: 0px; margin: 5px 0px; padding-right: 10px; position: relative; height: 43px; .icons { float: right; display: block; margin-top: 3px; height: 16px; i { font-size: 18px; } i.no-vocals { opacity: .5; } i.no-vocals, i.has-vocals { 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; } .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; } } } } &.is-playing { background: #ddd; } &.has-played { background: red; } &.is-favourited { .icons { a.icon-favourite { color: @brand-warning; text-decoration: none; i { color: @brand-danger; width: 18px; } } } } } } .users-listing { &.-condensed { .image { height: 30px; width: 30px; } .info { margin-left: 40px; } .published { display: none; } } } .loading .notification-menu md-icon { display: none; } .notification-menu { float: right; margin-top: 9px; margin-right: 14px; font-size: 30px; position: absolute; top: 0; right: 60px; .md-button .material-icons { color: #fff; font-size: 30px; &:hover { color: #eee; } } .counter { position: absolute; bottom: 8px; right: 5px; font-size: 8pt; color: #fff; background: #b885bd; width: auto; height: 15px; text-align: center; border-radius: 20px; padding: 0 3px; display: none; &.show { display: block; } } } .notification { min-height: 50px; margin-bottom: 10px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); 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; } &.unread { border: 1px solid #b885bd; } } .notification-pullout { position: absolute; top: -450px; right: 10px; 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); &.active { transform: translateY(520px) translateZ(0px); } .notif-container { padding: 20px; max-height: 100%; overflow: auto; } } .notif-switch { margin-bottom: 15px; span { margin-left: 5px; } } .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; } 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; } } } .button-bar { margin-bottom: 10px; }