SCSS rewrite

This commit is contained in:
Tobias Reich 2014-11-08 11:30:25 +01:00
parent 508e3a032c
commit 2e1632a208
13 changed files with 397 additions and 403 deletions

BIN
dist/main.css vendored

Binary file not shown.

BIN
dist/main.js vendored

Binary file not shown.

BIN
dist/view.js vendored

Binary file not shown.

View File

@ -52,10 +52,10 @@ build.album = (data) ->
if lychee.publicMode is false if lychee.publicMode is false
if data.star is '1' then html += "<a class='badge red icon-star'></a>" if data.star is '1' then html += "<a class='badge icon-star'></a>"
if data.public is '1' then html += "<a class='badge red icon-share'></a>" if data.public is '1' then html += "<a class='badge icon-share'></a>"
if data.unsorted is '1' then html += "<a class='badge red icon-reorder'></a>" if data.unsorted is '1' then html += "<a class='badge icon-reorder'></a>"
if data.recent is '1' then html += "<a class='badge red icon-time'></a>" if data.recent is '1' then html += "<a class='badge icon-time'></a>"
html += "</div>" html += "</div>"
@ -87,8 +87,8 @@ build.photo = (data) ->
html += "</div>" html += "</div>"
if data.star is '1' then html += "<a class='badge red icon-star'></a>" if data.star is '1' then html += "<a class='badge icon-star'></a>"
if lychee.publicMode is false and data.public is '1' and album.json.public isnt '1' then html += "<a class='badge red icon-share'></a>" if lychee.publicMode is false and data.public is '1' and album.json.public isnt '1' then html += "<a class='badge icon-share'></a>"
html += "</div>" html += "</div>"

View File

@ -7,25 +7,29 @@
animation-name: fadeIn; animation-name: fadeIn;
animation-duration: .3s; animation-duration: .3s;
animation-fill-mode: forwards; animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(0.51,.92,.24,1.15); } animation-timing-function: cubic-bezier(0.51,.92,.24,1.15);
}
.fadeOut { .fadeOut {
animation-name: fadeOut; animation-name: fadeOut;
animation-duration: .3s; animation-duration: .3s;
animation-fill-mode: forwards; animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(0.51,.92,.24,1.15); } animation-timing-function: cubic-bezier(0.51,.92,.24,1.15);
}
.contentZoomIn { .contentZoomIn {
animation-name: zoomIn; animation-name: zoomIn;
animation-duration: .2s; animation-duration: .2s;
animation-fill-mode: forwards; animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(0.51,.92,.24,1); } animation-timing-function: cubic-bezier(0.51,.92,.24,1);
}
.contentZoomOut { .contentZoomOut {
animation-name: zoomOut; animation-name: zoomOut;
animation-duration: .2s; animation-duration: .2s;
animation-fill-mode: forwards; animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(0.51,.92,.24,1); } animation-timing-function: cubic-bezier(0.51,.92,.24,1);
}
/* moveUp ------------------------------------------------*/ /* moveUp ------------------------------------------------*/
@keyframes moveUp { @keyframes moveUp {

View File

@ -2,28 +2,28 @@
* @copyright 2014 by Tobias Reich * @copyright 2014 by Tobias Reich
*/ */
/* Gradient ------------------------------------------------*/
#content::before {
content: "";
position: absolute;
left: 0px;
width: 100%;
height: 20px;
background: linear-gradient(to bottom, #262626, #222);
border-top: 1px solid #333;
}
/* Modes ------------------------------------------------*/
#content.view::before {
display: none;
}
#content { #content {
position: absolute; position: absolute;
padding: 50px 0px 33px 0px; padding: 50px 0px 33px 0px;
width: 100%; width: 100%;
min-height: calc(100% - 90px); min-height: calc(100% - 90px);
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
// Adds a gradient to the top
&::before {
content: '';
position: absolute;
left: 0px;
width: 100%;
height: 20px;
background: linear-gradient(to bottom, #262626, #222);
border-top: 1px solid #333;
}
// Removes the gradient when using the view
&.view::before {
display: none;
}
} }
/* Photo ------------------------------------------------*/ /* Photo ------------------------------------------------*/
@ -32,24 +32,27 @@
display: inline-block; display: inline-block;
width: 206px; width: 206px;
height: 206px; height: 206px;
margin: 30px 0px 0px 30px; margin: 30px 0 0 30px;
cursor: pointer; cursor: pointer;
}
.photo img { img {
position: absolute; position: absolute;
width: 200px; width: 200px;
height: 200px; height: 200px;
background-color: #222; background-color: #222;
border-radius: 2px; border-radius: 2px;
border: 2px solid #ccc; border: 2px solid #ccc;
} }
.photo:hover img,
.photo.active img { &:hover img,
box-shadow: 0px 0px 5px #005ecc; &.active img {
} box-shadow: 0 0 5px #005ecc;
.photo:active { }
transition-duration: .1s;
transform: scale(.98); &:active {
transition-duration: .1s;
transform: scale(.98);
}
} }
/* Album ------------------------------------------------*/ /* Album ------------------------------------------------*/
@ -60,31 +63,36 @@
height: 204px; height: 204px;
margin: 30px 0px 0px 30px; margin: 30px 0px 0px 30px;
cursor: pointer; cursor: pointer;
}
.album img:first-child, img {
.album img:nth-child(2) { position: absolute;
transform: rotate(0deg) translateY(0px) translateX(0px); width: 200px;
opacity: 0; height: 200px;
} background-color: #222;
.album:hover img:first-child { border-radius: 2px;
transform: rotate(-2deg) translateY(10px) translateX(-12px); border: 2px solid #ccc;
opacity: 1;
} &:first-child,
.album:hover img:nth-child(2) { &:nth-child(2) {
transform: rotate(5deg) translateY(-8px) translateX(12px); transform: rotate(0) translateY(0) translateX(0);
opacity: 1; opacity: 0;
} }
.album img { }
position: absolute;
width: 200px; &:hover img:first-child {
height: 200px; transform: rotate(-2deg) translateY(10px) translateX(-12px);
background-color: #222; opacity: 1;
border-radius: 2px; }
border: 2px solid #ccc;
} &:hover img:nth-child(2) {
.album:hover img, transform: rotate(5deg) translateY(-8px) translateX(12px);
.album.active img { opacity: 1;
box-shadow: 0px 0px 5px #005ecc; }
&:hover img,
&.active img {
box-shadow: 0 0 5px #005ecc;
}
} }
/* Album/Photo Overlay ------------------------------------------------*/ /* Album/Photo Overlay ------------------------------------------------*/
@ -92,44 +100,51 @@
.photo .overlay { .photo .overlay {
position: absolute; position: absolute;
width: 200px; width: 200px;
height: 200px; height: 60px;
margin: 2px; margin: 142px 2px 0;
//background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.5) 80%, rgba(0,0,0,0.9) 100%);
background: rgba(0, 0, 0, .6);
} }
.album .overlay {
background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,0.85) 100%); .album img[data-type^='nonretina'] + .overlay {
background: rgba(0, 0, 0, 0);
} }
.photo .overlay { .photo .overlay {
background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.5) 80%, rgba(0,0,0,0.9) 100%);
opacity: 0; opacity: 0;
} }
.photo:hover .overlay, .photo:hover .overlay,
.photo.active .overlay { .photo.active .overlay {
opacity: 1; opacity: 1;
} }
.album .overlay h1, .album .overlay h1,
.photo .overlay h1 { .photo .overlay h1 {
min-height: 19px; min-height: 19px;
width: 185px; width: 185px;
margin: 153px 0px 3px 15px; margin: 13px 0 3px 15px;
color: #fff; color: #fff;
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
overflow: hidden; overflow: hidden;
} }
.album .overlay a, .album .overlay a,
.photo .overlay a { .photo .overlay a {
font-size: 11px; font-size: 11px;
color: #aaa; color: #aaa;
} }
.album .overlay a { .album .overlay a {
margin-left: 15px; margin-left: 15px;
} }
.photo .overlay a { .photo .overlay a {
margin: 155px 0px 5px 15px; margin: 155px 0 5px 15px;
span { margin: 0 5px 0 0; }
} }
.photo .overlay a span {
margin: 0px 5px 0px 0px;
}
/* Badges ------------------------------------------------*/ /* Badges ------------------------------------------------*/
.album .badge, .album .badge,
@ -138,65 +153,56 @@
margin-top: -1px; margin-top: -1px;
margin-left: 12px; margin-left: 12px;
padding: 12px 7px 3px 7px; padding: 12px 7px 3px 7px;
box-shadow: 0px 0px 3px rgba(0, 0, 0, .8); background: linear-gradient(to bottom, #d64b4b 0%, #ab2c2c 100%);
border-radius: 0px 0px 3px 3px; box-shadow: 0 0 3px rgba(0, 0, 0, .8);
border-radius: 0 0 3px 3px;
border: 1px solid #fff; border: 1px solid #fff;
border-top: none; border-top: none;
color: #fff; color: #fff;
font-size: 24px; font-size: 24px;
text-shadow: 0px 1px 0px rgba(0, 0, 0, .4); text-shadow: 0 1px 0 rgba(0, 0, 0, .4);
opacity: .9; opacity: .9;
&::after {
content: '';
position: absolute;
margin-top: -12px;
margin-left: -26px;
width: 38px;
height: 5px;
background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
opacity: .4;
}
&:nth-child(2n) {
margin-left: 57px;
}
} }
.album .badge.icon-star, .album .badge.icon-star,
.photo .badge.icon-star { .photo .badge.icon-star {
padding: 12px 8px 3px 8px; padding: 12px 8px 3px 8px;
&::after { margin-left: -29px; }
} }
.album .badge.icon-share, .album .badge.icon-share,
.photo .badge.icon-share { .photo .badge.icon-share {
padding: 12px 6px 3px 8px; padding: 12px 6px 3px 8px;
&::after { margin-left: -31px; }
} }
.album .badge.icon-time, .album .badge.icon-time,
.photo .badge.icon-time { .photo .badge.icon-time {
padding: 12px 8px 3px 9px; padding: 12px 8px 3px 9px;
::after { margin-left: -29px; }
} }
.album .badge::after,
.photo .badge::after {
content: "";
position: absolute;
margin-top: -12px;
margin-left: -26px;
width: 38px;
height: 5px;
background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
opacity: .4;
}
.album .badge.icon-star::after,
.photo .badge.icon-star::after {
margin-left: -29px;
}
.album .badge.icon-share::after,
.photo .badge.icon-share::after {
margin-left: -31px;
}
.album .badge.icon-time::after,
.photo .badge.icon-time::after {
margin-left: -29px;
}
.album .badge.icon-reorder::after { .album .badge.icon-reorder::after {
margin-left: -30px; margin-left: -30px;
} }
.album .badge:nth-child(2n),
.photo .badge:nth-child(2n) {
margin-left: 57px;
}
.album .badge.red,
.photo .badge.red {
background: linear-gradient(to bottom, #d64b4b 0%, #ab2c2c 100%);
}
.album .badge.blue,
.photo .badge.blue {
background: linear-gradient(to bottom, #347cd6 0%, #2945ab 100%);
}
/* Divider ------------------------------------------------*/ /* Divider ------------------------------------------------*/
.divider { .divider {
@ -204,20 +210,22 @@
width: 100%; width: 100%;
margin-top: 50px; margin-top: 50px;
opacity: 0; opacity: 0;
border-top: 1px solid #2E2E2E; border-top: 1px solid rgba(255, 255, 255, .03);
box-shadow: 0px -1px 0px #151515; box-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.divider:first-child { &:first-child {
margin-top: 0px; margin-top: 0;
border-top: none; border-top: none;
} }
.divider h1 {
float: left; h1 {
margin: 20px 0px 0px 30px; float: left;
color: #fff; margin: 20px 0 0 30px;
font-size: 14px; color: #fff;
font-weight: bold; font-size: 14px;
text-shadow: 0px -1px 0px rgba(0, 0, 0, .8); font-weight: bold;
text-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
}
} }
/* No Content ------------------------------------------------*/ /* No Content ------------------------------------------------*/
@ -233,11 +241,13 @@
color: rgba(20, 20, 20, 1); color: rgba(20, 20, 20, 1);
text-shadow: 0px 1px 0px rgba(255, 255, 255, .05); text-shadow: 0px 1px 0px rgba(255, 255, 255, .05);
text-align: center; text-align: center;
}
.no_content .icon { .icon {
font-size: 80px; font-size: 80px;
} }
.no_content p {
font-size: 18px; p {
font-weight: bold; font-size: 18px;
font-weight: bold;
}
} }

View File

@ -4,6 +4,7 @@
/* Context ------------------------------------------------*/ /* Context ------------------------------------------------*/
.context { .context {
padding: 5px 0 6px; padding: 5px 0 6px;
background: linear-gradient(to bottom, #444 0%, #2f2f2f 100%); background: linear-gradient(to bottom, #444 0%, #2f2f2f 100%);
border: 1px solid rgba(0, 0, 0, .5); border: 1px solid rgba(0, 0, 0, .5);

View File

@ -3,6 +3,7 @@
*/ */
header { header {
position: fixed; position: fixed;
height: 49px; height: 49px;
width: 100%; width: 100%;
@ -10,79 +11,86 @@ header {
border-bottom: 1px solid #161616; border-bottom: 1px solid #161616;
z-index: 1; z-index: 1;
transition: transform .3s ease-out; transition: transform .3s ease-out;
}
/* Modes ------------------------------------------------*/ /* Modes ------------------------------------------------*/
header.hidden { &.hidden {
transform: translateY(-60px); transform: translateY(-60px);
} }
header.loading {
&.loading {
transform: translateY(2px); transform: translateY(2px);
} }
header.error {
&.error {
transform: translateY(40px); transform: translateY(40px);
} }
header.view.error {
background-color: rgba(10,10,10,.99); &.view {
}
header.view {
background: none; background: none;
border-bottom: none; border-bottom: none;
}
header.view .button, &.error {
header.view #title, background-color: rgba(10, 10, 10, .99);
header.view .tools {
text-shadow: none !important;
} }
.button,
#title,
.tools {
text-shadow: none !important;
}
}
/* Title ------------------------------------------------*/ /* Title ------------------------------------------------*/
header #title { #title {
position: absolute; position: absolute;
margin: 0px 30%; margin: 0 30%;
width: 40%; width: 40%;
padding: 15px 0px; padding: 15px 0;
color: #fff; color: #fff;
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
text-align: center; text-align: center;
text-shadow: 0px -1px 0px #222; text-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
}
header #title.editable { &.editable { cursor: pointer; }
cursor: pointer;
} }
/* Button ------------------------------------------------*/ /* Button ------------------------------------------------*/
header .button { .button {
color: #888; color: #888;
font-family: 'FontAwesome'; font-family: 'FontAwesome';
font-size: 21px; font-size: 21px;
font-weight: bold; font-weight: bold;
text-decoration: none !important; text-decoration: none !important;
cursor: pointer; cursor: pointer;
text-shadow: 0px -1px 0px #222; text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
&:hover {
color: #fff;
}
&.left {
float: left;
position: absolute;
padding: 16px 10px 8px 18px;
}
&.right {
float: right;
position: relative;
padding: 16px 19px 13px 11px;
}
} }
header .button.left {
float: left; #tools_albums,
position: absolute; #tools_album,
padding: 16px 10px 8px 18px; #tools_photo,
} #button_signin {
header .button.right {
float: right;
position: relative;
padding: 16px 19px 13px 11px;
}
header .button:hover {
color: #fff;
}
header #tools_albums,
header #tools_album,
header #tools_photo,
header #button_signin {
display: none; display: none;
} }
/* Button Divider ------------------------------------------------*/ /* Button Divider ------------------------------------------------*/
header .button_divider { .button_divider {
float: right; float: right;
position: relative; position: relative;
width: 14px; width: 14px;
@ -90,30 +98,26 @@ header {
} }
/* Search ------------------------------------------------*/ /* Search ------------------------------------------------*/
header #search { #search {
float: right; float: right;
width: 80px; width: 80px;
margin: 12px 12px 0px 0px; margin: 12px 12px 0 0;
padding: 5px 12px 6px 12px; padding: 5px 12px 6px 12px;
background-color: #383838; background-color: #383838;
color: #fff; color: #fff;
border: none; border: 1px solid rgba(0, 0, 0, .6);
border: 1px solid #131313; box-shadow: 0 1px 0 rgba(255, 255, 255, .06);
box-shadow: 0px 1px 0px rgba(255,255,255,.1);
outline: none; outline: none;
border-radius: 50px; border-radius: 50px;
opacity: .6; opacity: .6;
transition: opacity .3s ease-out, transform .3s ease-out, box-shadow .3s, width .2s ease-out; transition: opacity .3s ease-out, transform .3s ease-out, box-shadow .3s, width .2s ease-out;
&:focus { width: 140px; }
&:focus ~ #clearSearch { opacity: 1; }
} }
header #search:focus { #clearSearch {
width: 140px;
}
header #search:focus ~ #clearSearch {
opacity: 1;
}
header #clearSearch {
position: absolute; position: absolute;
top: 15px; top: 15px;
right: 81px; right: 81px;
@ -121,46 +125,43 @@ header {
font-size: 20px; font-size: 20px;
opacity: 0; opacity: 0;
transition: opacity .2s ease-out; transition: opacity .2s ease-out;
}
header #clearSearch:hover { &:hover { opacity: 1; }
opacity: 1; }
}
/* Tools ------------------------------------------------*/ /* Tools ------------------------------------------------*/
header .tools:first-of-type { .tools {
margin-right: 6px;
}
header .tools {
float: right; float: right;
padding: 14px 8px; padding: 14px 8px;
color: #888; color: #888;
font-size: 21px; font-size: 21px;
text-shadow: 0px -1px 0px #222; text-shadow: 0 -1px 0 #222;
cursor: pointer; cursor: pointer;
}
header .tools:hover a { &:first-of-type { margin-right: 6px; }
color: #fff;
} &:hover a { color: #fff; }
header .tools .icon-star {
color: #f0ef77; .icon-star { color: #f0ef77; }
}
header .tools .icon-share.active { .icon-share.active { color: #ff9737; }
color: #ff9737;
} }
/* Hosted with Lychee ------------------------------------------------*/ /* Hosted with Lychee ------------------------------------------------*/
header #hostedwith { #hostedwith {
float: right; float: right;
padding: 5px 10px; padding: 5px 10px;
margin: 13px 9px; margin: 13px 9px;
color: #888; color: #888;
font-size: 13px; font-size: 13px;
text-shadow: 0px -1px 0px #222; text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
display: none; display: none;
cursor: pointer; cursor: pointer;
&:hover {
background-color: rgba(0, 0, 0, .2);
border-radius: 100px;
}
} }
header #hostedwith:hover {
background-color: rgba(0, 0, 0, .2); }
border-radius: 100px;
}

View File

@ -6,21 +6,17 @@
position: fixed; position: fixed;
display: none; display: none;
width: 100%; width: 100%;
min-height: 100%; height: 100%;
background-color: rgba(10,10,10,.98); background-color: rgba(10, 10, 10, .98);
transition: background-color .3s; transition: background-color .3s;
}
/* Modes ------------------------------------------------*/ /* Modes ------------------------------------------------*/
#imageview.view { &.view { background-color: inherit; }
background-color: inherit;
} &.full { background-color: rgba(0, 0, 0, 1); }
#imageview.full {
background-color: rgba(0,0,0,1);
}
/* ImageView ------------------------------------------------*/ /* ImageView ------------------------------------------------*/
#imageview #image { #image {
position: absolute; position: absolute;
top: 60px; top: 60px;
right: 30px; right: 30px;
@ -29,56 +25,56 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 50% 50%; background-position: 50% 50%;
background-size: contain; background-size: contain;
transition: top .3s, right .3s, bottom .3s, left .3s, margin-top .3s, opacity .2s, transform .3s cubic-bezier(0.51,.92,.24,1.15); transition: top .3s, right .3s, bottom .3s, left .3s, margin-top .3s, opacity .2s, transform .3s cubic-bezier(.51, .92, .24, 1.15);
animation-name: zoomIn; animation-name: zoomIn;
animation-duration: .3s; animation-duration: .3s;
animation-timing-function: cubic-bezier(0.51,.92,.24,1.15); animation-timing-function: cubic-bezier(.51, .92, .24, 1.15);
}
#imageview #image.small { &.small {
top: 50%; top: 50%;
right: auto; right: auto;
bottom: auto; bottom: auto;
left: 50%; left: 50%;
} }
#imageview #image.full {
top: 0px; &.full {
right: 0px; top: 0;
bottom: 0px; right: 0;
left: 0px; bottom: 0;
left: 0;
} }
}
/* Previous/Next Buttons ------------------------------------------------*/ /* Previous/Next Buttons ------------------------------------------------*/
#imageview .arrow_wrapper { .arrow_wrapper {
position: fixed; position: fixed;
width: 20%; width: 20%;
height: calc(100% - 60px); height: calc(100% - 60px);
top: 60px; top: 60px;
z-index: 1; z-index: 1;
&.previous { left: 0; }
&.next { right: 0; }
a#previous { left: 20px; }
a#next { right: 20px; }
a {
position: fixed;
top: 50%;
margin-top: -10px;
color: #fff;
font-size: 50px;
text-shadow: 0 1px 2px #000;
cursor: pointer;
opacity: 0;
z-index: 2;
transition: opacity .2s;
}
&:hover a { opacity: .2; }
} }
#imageview .arrow_wrapper.previous {
left: 0; }
}
#imageview .arrow_wrapper.next {
right: 0;
}
#imageview .arrow_wrapper a {
position: fixed;
top: 50%;
margin-top: -10px;
color: #fff;
font-size: 50px;
text-shadow: 0px 1px 2px #000;
cursor: pointer;
opacity: 0;
z-index: 2;
transition: opacity .2s;
}
#imageview .arrow_wrapper:hover a {
opacity: .2;
}
#imageview .arrow_wrapper a#previous {
left: 20px;
}
#imageview .arrow_wrapper a#next {
right: 20px;
}

View File

@ -9,54 +9,56 @@
height: 100%; height: 100%;
top: 0px; top: 0px;
left: 0px; left: 0px;
background-color: rgba(0,0,0,.8); background-color: rgba(0, 0, 0, .8);
} }
#infobox { #infobox {
z-index: 4; z-index: 4;
position: fixed; position: fixed;
right: 0px; right: 0px;
width: 350px; width: 350px;
height: 100%; height: 100%;
background-color: rgba(20,20,20,0.98); background-color: rgba(20, 20, 20, .98);
box-shadow: -1px 0px 2px rgba(0,0,0,.8); box-shadow: -1px 0 2px rgba(0, 0, 0, .8);
display: none; display: none;
transform: translateX(370px); transform: translateX(370px);
transition: transform .3s cubic-bezier(0.51,.92,.24,1.15); transition: transform .3s cubic-bezier(.51, .92, .24, 1.15);
}
#infobox.active { &.active { transform: translateX(50px); }
transform: translateX(50px);
}
/* Misc ------------------------------------------------*/ /* Misc ------------------------------------------------*/
#infobox .wrapper { .wrapper {
float: left; float: left;
height: 100%; height: 100%;
width: 300px; width: 300px;
overflow: scroll; overflow: scroll;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
} }
#infobox .edit {
.edit {
display: inline; display: inline;
margin-left: 3px; margin-left: 3px;
width: 20px; width: 20px;
height: 5px; height: 5px;
cursor: pointer; cursor: pointer;
} }
#infobox .bumper {
.bumper {
float: left; float: left;
width: 100%; width: 100%;
height: 50px; height: 50px;
} }
/* Header ------------------------------------------------*/ /* Header ------------------------------------------------*/
#infobox .header { .header {
float: left; float: left;
height: 49px; height: 49px;
width: 100%; width: 100%;
background-image: linear-gradient(to bottom, #2A2A2A, #131313); background-image: linear-gradient(to bottom, #2A2A2A, #131313);
border-bottom: 1px solid #000;
} }
#infobox .header h1 {
.header h1 {
position: absolute; position: absolute;
margin: 15px 30% 15px calc(30% - 25px); margin: 15px 30% 15px calc(30% - 25px);
width: 40%; width: 40%;
@ -64,43 +66,50 @@
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
text-align: center; text-align: center;
text-shadow: 0px -1px 0px rgba(0, 0, 0, .8); text-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
} }
#infobox .header a {
.header a {
float: right; float: right;
padding: 15px 65px 15px 15px; padding: 15px 65px 15px 15px;
color: #fff; color: #fff;
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
text-shadow: 0px -1px 0px rgba(0, 0, 0, .8); text-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
opacity: .5; opacity: .5;
cursor: pointer; cursor: pointer;
}
#infobox .header a:hover { &:hover { opacity: 1; }
opacity: 1;
} }
/* Seperator ------------------------------------------------*/ /* Seperator ------------------------------------------------*/
#infobox .separator { .separator {
float: left; float: left;
width: 100%; width: 100%;
border-top: 1px solid rgba(255,255,255,.04); border-top: 1px solid rgba(255, 255, 255, .02);
box-shadow: 0px -1px 0px #000; box-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
}
#infobox .separator h1 { &:first-child {
margin: 20px 0px 5px 20px; border: none;
color: #fff; box-shadow: none;
font-size: 14px; }
font-weight: bold;
text-shadow: 0px -1px 0px rgba(0, 0, 0, .8); h1 {
margin: 20px 0 5px 20px;
color: #fff;
font-size: 14px;
font-weight: bold;
text-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
}
} }
/* Table ------------------------------------------------*/ /* Table ------------------------------------------------*/
#infobox table { table {
float: left; float: left;
margin: 10px 0px 15px 20px; margin: 10px 0 15px 20px;
} }
#infobox table tr td {
table tr td {
padding: 5px 0px; padding: 5px 0px;
color: #fff; color: #fff;
font-size: 14px; font-size: 14px;
@ -109,52 +118,51 @@
-webkit-user-select: text; -webkit-user-select: text;
-moz-user-select: text; -moz-user-select: text;
user-select: text; user-select: text;
}
#infobox table tr td:first-child { &:first-child { width: 110px; }
width: 110px;
} &:last-child { padding-right: 10px; }
#infobox table tr td:last-child {
padding-right: 10px;
} }
/* Tags ------------------------------------------------*/ /* Tags ------------------------------------------------*/
#infobox #tags { #tags {
width: calc(100% - 40px); width: calc(100% - 40px);
margin: 16px 20px 12px 20px; margin: 16px 20px 12px 20px;
color: #fff; color: #fff;
display: inline-block; display: inline-block;
} }
#infobox #tags .empty {
#tags .empty {
font-size: 14px; font-size: 14px;
margin-bottom: 8px; margin-bottom: 8px;
} }
#infobox #tags .edit { #tags .edit {
display: inline-block; display: inline-block;
} }
#infobox #tags .empty .edit { #tags .empty .edit {
display: inline; display: inline;
} }
#infobox .tag { #tags .tag {
float: left; float: left;
padding: 4px 7px; padding: 4px 7px;
margin: 0px 6px 8px 0px; margin: 0 6px 8px 0;
background-color: rgba(0,0,0,.5); background-color: rgba(0, 0, 0, .5);
border: 2px solid rgba(255,255,255,.3); border: 2px solid rgba(255, 255, 255, .3);
border-radius: 100px; border-radius: 100px;
font-size: 12px; font-size: 12px;
transition: border .3s; transition: border .3s;
&:hover { border: 2px solid #aaa; }
} }
#infobox .tag:hover {
border: 2px solid #aaa; #tags .tag span {
}
#infobox .tag span {
float: right; float: right;
width: 0px; width: 0;
padding: 0px; padding: 0;
margin: 0px 0px -2px 0px; margin: 0 0 -2px 0;
color: red; color: red;
font-size: 11px; font-size: 11px;
cursor: pointer; cursor: pointer;
@ -162,8 +170,11 @@
transform: scale(0); transform: scale(0);
transition: width .3s, margin .3s, transform .3s; transition: width .3s, margin .3s, transform .3s;
} }
#infobox .tag:hover span {
#tags .tag:hover span {
width: 10px; width: 10px;
margin: 0px 0px -2px 6px; margin: 0 0 -2px 6px;
transform: scale(1); transform: scale(1);
} }
}

View File

@ -3,41 +3,44 @@
*/ */
#loading { #loading {
position: fixed; position: fixed;
width: 100%; width: 100%;
height: 3px; height: 3px;
background-size: 100px 3px; background-size: 100px 3px;
background-repeat: repeat-x; background-repeat: repeat-x;
border-bottom: 1px solid rgba(0,0,0,.3); border-bottom: 1px solid rgba(0, 0, 0, .3);
display: none; display: none;
animation-name: moveBackground; animation-name: moveBackground;
animation-duration: .3s; animation-duration: .3s;
animation-iteration-count: infinite; animation-iteration-count: infinite;
animation-timing-function: linear; animation-timing-function: linear;
}
/* Modes ------------------------------------------------*/ /* Modes ------------------------------------------------*/
#loading.loading { &.loading {
background-image: linear-gradient(to right, #153674 0%, #153674 47%, #2651AE 53%, #2651AE 100%); background-image: linear-gradient(to right, #153674 0%, #153674 47%, #2651AE 53%, #2651AE 100%);
z-index: 2; z-index: 2;
} }
#loading.error { &.error {
background-color: #2f0d0e; background-color: #2f0d0e;
background-image: linear-gradient(to right, #451317 0%, #451317 47%, #AA3039 53%, #AA3039 100%); background-image: linear-gradient(to right, #451317 0%, #451317 47%, #AA3039 53%, #AA3039 100%);
z-index: 1; z-index: 1;
} }
/* Content ------------------------------------------------*/ /* Content ------------------------------------------------*/
#loading h1 { h1 {
margin: 13px 13px 0px 13px; margin: 13px 13px 0px 13px;
color: #ddd; color: #ddd;
font-size: 14px; font-size: 14px;
font-weight: bold; font-weight: bold;
text-shadow: 0px 1px 0px #000; text-shadow: 0px 1px 0px #000;
text-transform: capitalize; text-transform: capitalize;
span {
margin-left: 10px;
font-weight: normal;
text-transform: none;
}
} }
#loading h1 span {
margin-left: 10px; }
font-weight: normal;
text-transform: none;
}

View File

@ -1,36 +0,0 @@
/**
* @copyright 2014 by Tobias Reich
*/
html,
body {
min-height: 100%;
}
body {
background-color: #222;
font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12px;
-webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smoothing: antialiased;
}
body.view {
background-color: #0f0f0f;
}
.center {
position: absolute;
left: 50%;
top:50%;
}
* {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
transition: color .3s, opacity .3s ease-out, transform .3s ease-out, box-shadow .3s;
}
input {
-webkit-user-select: text !important;
-moz-user-select: text !important;
user-select: text !important;
}

View File

@ -2,51 +2,55 @@
* @copyright 2014 by Tobias Reich * @copyright 2014 by Tobias Reich
*/ */
@import "reset"; @import 'reset';
html,
body {
min-height: 100%;
}
body {
background-color: #222;
font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12px;
-webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smoothing: antialiased;
}
body.view {
background-color: #0f0f0f;
}
.center {
position: absolute;
left: 50%;
top:50%;
}
* { * {
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
user-select: none; user-select: none;
transition: color .3s, opacity .3s ease-out, transform .3s ease-out, box-shadow .3s; transition: color .3s, opacity .3s ease-out, transform .3s ease-out, box-shadow .3s;
} }
html,
body {
min-height: 100%;
}
body {
background-color: #222;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12px;
-webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smoothing: antialiased;
&.view {
background-color: #0f0f0f;
}
}
.center {
position: absolute;
left: 50%;
top:50%;
}
input { input {
-webkit-user-select: text !important; -webkit-user-select: text !important;
-moz-user-select: text !important; -moz-user-select: text !important;
user-select: text !important; user-select: text !important;
} }
@import "animations"; @import 'animations';
@import "content"; @import 'content';
@import "contextmenu"; @import 'contextmenu';
@import "font"; @import 'font';
@import "header"; @import 'header';
@import "imageview"; @import 'imageview';
@import "infobox"; @import 'infobox';
@import "loading"; @import 'loading';
@import "message"; @import 'message';
@import "misc"; @import 'multiselect';
@import "multiselect"; @import 'upload';
@import "upload"; @import 'mediaquery';
@import "mediaquery";