pics/public/css/default.css

691 lines
13 KiB
CSS

/**
* Styles for the fifth version of Aaronweb.net.
* (C) Aaron van Geffen 2013, 2014
* DO NOT COPY OR RE-USE WITHOUT EXPLICIT WRITTEN PERMISSION. THANK YOU.
*/
@import url(//fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,700italic);
@import url('//fonts.googleapis.com/css2?family=Coda&display=swap');
@font-face {
font-family: 'Invaders';
src: url('fonts/invaders.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body {
font-family: "Open Sans", sans-serif;
background: #aaa 0 -50% fixed;
padding: 0 0 3rem;
transition: 0.5s;
}
[data-bs-theme=dark] body {
background-color: #444;
}
#wrapper, header .container {
width: 95%;
max-width: 1280px;
margin: 0 auto;
}
a {
color: #963626;
text-decoration: none;
}
a:hover {
color: #262626;
}
[data-bs-theme=dark] .content-box a:not(.btn) {
color: #b94b4b;
}
[data-bs-theme=dark] .content-box a:not(.btn):hover {
color: #963626;
}
.page-link {
--bs-pagination-disabled-bg: var(--bs-body-bg);
--bs-pagination-disabled-color: var(--bs-body-color);
}
.page-link, .page-padding {
color: #b50707;
font-family: 'Coda', sans-serif;
}
.page-link:hover {
color: #a40d0d;
}
.active > .page-link, .page-link.active {
background-color: #990b0b;
border-color: #a40d0d;
}
[data-bs-theme=dark] .page-link,
[data-bs-theme=dark] .page-padding{
color: #ae473c;
}
[data-bs-theme=dark] .active > .page-link, .page-link.active {
background-color: #4a0e0e;
border-color: #5b5a5a;
color: #ddd;
}
.pagination .page-item {
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
white-space: nowrap;
}
.pagination .wildcard {
cursor: pointer;
}
@media (max-width: 767px) {
.pagination .page-number, .pagination .page-padding {
display: none;
}
.pagination .page-link {
border-radius: var(--bs-pagination-border-radius) !important;
}
.pagination > :first-child,
.pagination > :last-child,
.pagination .first-wildcard,
.pagination .page-number.active {
display: inline-flex;
}
}
.btn {
font-family: 'Coda', sans-serif;
}
.btn-primary {
--bs-btn-bg: #6c757d;
--bs-btn-border-color: #6c757d;
--bs-btn-hover-bg: #5c636a;
--bs-btn-hover-border-color: #565e64;
--bs-btn-focus-shadow-rgb: 130, 138, 145;
--bs-btn-active-bg: #565e64;
--bs-btn-active-border-color: #51585e;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-bg: #6c757d;
--bs-btn-disabled-border-color: #6c757d;
}
.dropdown-item.active, .dropdown-item:active {
background-color: #990b0b;
}
/* Navigation
---------------*/
#mainNav {
font-family: 'Coda', sans-serif;
margin-bottom: 4rem;
}
.nav-divider {
height: 2.5rem;
border-left: .1rem solid rgba(255,255,255, 0.2);
margin: 0 0.5rem;
}
.navbar-brand {
padding-left: 80px;
position: relative;
}
i.space-invader::before {
color: #fff;
content: 'B';
display: inline-block;
font: 85px 'Invaders';
height: 85px;
left: -25px;
position: absolute;
text-align: center;
text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
top: -5px;
transform: rotate(-5deg);
transition: 0.25s;
width: 110px;
}
i.space-invader.alt-1::before {
content: 'C';
}
i.space-invader.alt-2::before {
content: 'D';
}
i.space-invader.alt-3::before {
content: 'E';
}
i.space-invader.alt-4::before {
content: 'H';
}
i.space-invader.alt-5::before {
content: 'I';
}
i.space-invader.alt-6::before {
content: 'N';
}
i.space-invader.alt-7::before {
content: 'O';
}
i.nyan-cat {
background-image: url('../images/nyan-cat.gif');
background-position: 0 -25px;
background-size: cover;
display: inline-block;
height: 85px;
left: -40px;
position: absolute;
top: -5px;
transform: rotate(-5deg);
transition: 0.25s;
width: 110px;
}
.navbar-brand:hover i.space-invader::before,
.navbar-brand:hover i.nyan-cat {
transform: rotate(5deg);
}
@media (max-width: 991px) {
.navbar-brand {
padding-left: 60px;
}
i.space-invader::before {
font-size: 50px;
left: -10px;
top: -7px;
width: 70px;
}
i.nyan-cat {
left: -57px;
top: -7px;
}
}
/* Content boxes
------------------*/
.content-box {
background-color: var(--bs-body-bg);
margin: 0 auto 2rem;
padding: 2rem;
border-radius: 0.5rem;
box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.1);
}
.content-box h1,
.content-box h2,
.content-box h3 {
font-family: 'Coda', sans-serif;
margin-bottom: 0.5em;
}
.content-box .pagination .page-item {
box-shadow: none;
}
/* Album and photo index pages
--------------------------------*/
.album-index, .photo-index {
clear: both;
}
.tiled-header > a {
background: var(--bs-body-bg);
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
border-radius: 0.5rem;
color: var(--bs-body-color);
display: inline-block;
font: 400 18px/2.2 'Coda', sans-serif;
margin: 0 0 1.5% 0;
overflow: hidden;
padding: 6px 22px;
text-overflow: ellipsis;
white-space: nowrap;
}
div.polaroid {
background: var(--bs-body-bg);
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
line-height: 0;
position: relative;
transition: 0.25s;
}
div.polaroid:hover {
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);
}
div.polaroid img.normal-photo {
background: var(--bs-body-bg) url('../images/nothumb.svg') center no-repeat;
border: none;
left: 0;
object-fit: cover;
position: absolute;
top: 0;
width: 100%;
z-index: 20;
}
div.polaroid img.blur-photo {
filter: blur(50px);
left: 0;
object-fit: cover;
position: absolute;
top: 0;
width: 100%;
z-index: 0;
}
div.polaroid img.placeholder-image {
background: var(--bs-body-bg);
z-index: 20;
}
div.polaroid h4 {
background: var(--bs-body-bg);
bottom: 0;
color: var(--bs-body-color);
margin: 0;
font: 400 18px 'Coda', sans-serif;
padding: 15px 5px;
position: absolute;
text-overflow: ellipsis;
text-align: center;
width: 100%;
white-space: nowrap;
overflow: hidden;
z-index: 20;
}
div.polaroid a {
display: block;
text-decoration: none;
}
/* Edit icon on tiled grids
-----------------------------*/
.polaroid {
position: relative;
}
.polaroid div.edit {
box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
opacity: 0;
left: 20px;
position: absolute;
transition: 0.25s;
top: 20px;
z-index: 50;
}
.polaroid div.edit .dropdown-item {
line-height: 1.4;
}
.polaroid div.edit .dropdown-toggle {
line-height: 1.4;
padding: 0.25rem 0.5rem;
}
.polaroid div.edit .dropdown-toggle::after {
margin-left: 0;
}
.polaroid:hover > div.edit {
opacity: 1;
}
/* Album title boxes
----------------------*/
.album_title_box {
margin-left: -2.85rem;
width: 100%;
}
.album_title_box > a {
background: var(--bs-body-bg);
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
border-top-left-radius: 0.5rem;
border-bottom-left-radius: 0.5rem;
display: inline-block;
float: left;
font-size: 2rem;
line-height: 1;
padding: 8px 10px;
}
.album_title_box > div {
background: var(--bs-body-bg);
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
border-top-right-radius: 0.5rem;
border-bottom-right-radius: 0.5rem;
float: left;
font: inherit;
padding: 0.4rem 1.3rem;
max-width: 90%;
margin: 0 0 1.5% 0;
}
.album_title_box h2 {
color: var(--bs-body-color);
font: 400 18px/2 'Coda', sans-serif !important;
margin: 0;
}
.album_title_box p {
margin: 0 0 10px;
}
/* Album button box
---------------------*/
.album_button_box {
float: right;
display: flex;
margin-bottom: 3rem;
}
.album_button_box > a,
.album_button_box .btn {
background: var(--bs-body-bg);
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
border-color: var( --bs-secondary-bg);
color: var(--bs-body-color);
padding: 8px 10px;
margin-left: 12px;
}
.album_button_box > a:hover,
.album_button_box .btn:hover,
.album_button_box .btn:focus {
background: var(--bs-secondary-bg);
border-color: var(--bs-tertiary-bg);
color: var(--bs-secondary-color);
}
/* (Tag) autosuggest
----------------------*/
#new_tag_container {
display: block;
position: relative;
}
.autosuggest {
background: var(--bs-body-bg);
border: 1px solid var( --bs-border-color);
color: var(--bs-body-color);
position: absolute;
left: 2px;
top: 37px;
margin: 0;
padding: 0;
}
.autosuggest li {
display: block !important;
padding: 3px 8px;
}
.autosuggest li:hover, .autosuggest li.selected {
background-color: #990b0b;
color: #eee;
cursor: pointer;
}
/* Error pages
----------------*/
.errormsg p {
font-size: 1.1em;
margin: 1em 0 0;
}
.errorpage .widget {
margin-top: 3%;
}
.errorpage .widget_recentposts {
margin-right: 0;
}
/* Featured thumbnail selection
---------------------------------*/
#featuredThumbnail {
list-style: none;
margin: 2.5% 0 0;
padding: 0;
clear: both;
overflow: auto;
}
#featuredThumbnail li {
float: left;
width: 18%;
line-height: 0;
margin: 0 1% 2%;
min-width: 200px;
height: 149px;
position: relative;
}
#featuredThumbnail input {
position: absolute;
top: 0.5rem;
right: 0.5rem;
z-index: 100;
}
#featuredThumbnail img {
width: 100%;
box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}
/* Footer
-----------*/
footer {
clear: both;
color: #fff;
font: 400 12px/1.7 "Open Sans", sans-serif;
padding: 40px 0 0;
text-align: center;
overflow: auto;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
}
footer a {
color: #eee;
}
/* Styling for the photo pages
--------------------------------*/
#photo_frame {
padding: 3.5vh 0;
text-align: center;
height: 95vh;
}
#photo-figure {
position: relative;
object-fit: contain;
height: 93vh;
object-position: center center;
}
#photo-figure img {
object-position: center center;
}
#photo-figure img.normal-photo {
border: none;
cursor: -moz-zoom-in;
object-fit: contain;
z-index: 20;
position: absolute;
left: 0;
top: 0;
}
#photo-figure img.blur-photo {
filter: blur(50px);
left: 0;
object-fit: contain;
position: absolute;
top: 0;
z-index: 0;
}
figure.portrait-figure,
figure.landscape-figure {
height: 93vh;
margin: 0 auto;
}
figure.panorama-figure {
object-fit: cover;
margin: 0 auto;
}
figure#photo-figure img.normal-photo,
figure#photo-figure img.blur-photo {
height: 100%;
width: 100%;
}
#previous_photo, #next_photo {
background: var(--bs-body-bg);
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
color: var(--bs-body-color);
font-size: 3rem;
line-height: 0.5;
padding: 2rem 0.5rem;
position: fixed;
text-decoration: none;
top: calc(50% - 5rem);
}
span#previous_photo, span#next_photo {
opacity: 0.25;
}
a#previous_photo:hover, a#next_photo:hover {
background: var(--bs-secondary-bg);
color: var(--bs-secondary-color);
}
#previous_photo {
border-top-right-radius: 0.5rem;
border-bottom-right-radius: 0.5rem;
left: 0;
}
#next_photo {
border-top-left-radius: 0.5rem;
border-bottom-left-radius: 0.5rem;
right: 0;
}
#sub_photo h2, #sub_photo h3 {
margin-bottom: 1rem;
}
#sub_photo .tag-list {
list-style: none;
margin: 1em 0;
padding: 0;
}
#sub_photo .tag-list > li {
display: inline-block;
margin-bottom: 0.75em;
margin-right: 0.75em;
}
#sub_photo .tag-list .input-group-text {
color: inherit;
}
[data-bs-theme=light] #sub_photo .tag-list .btn-danger {
background-color: rgba(175, 0, 0, 0.5);
border-color: rgba(175, 0, 0, 0.5);
}
[data-bs-theme=dark] #sub_photo .tag-list .btn-danger {
background-color: rgba(100, 0, 0, 0.5);
border-color: rgb(100, 0, 0);
}
.photo_meta {
background-color: var(--bs-body-bg);
box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.1);
}
.photo_meta li {
padding: 0.6rem 1rem;
}
.photo_meta h4 {
font-family: 'Coda', sans-serif;
font-size: inherit;
font-weight: bold;
margin: 0;
}
/* Responsive: smartphone in portrait
---------------------------------------*/
@media only screen and (max-width: 895px) {
#wrapper, header {
width: 100% !important;
min-width: 100% !important;
max-width: 100% !important;
}
.album_title_box {
margin-left: 0;
}
.tiled-header {
font-size: 14px;
margin: 0 0 3.5% 0;
}
.panorama h4 {
font-size: 14px;
padding: 15px 5px;
}
#previous_photo, #next_photo {
display: none;
}
}
/* Upload form
----------------*/
#upload_preview_area {
margin: 10px 0;
}
#upload_preview_area > div {
display: inline-block;
margin: 0 5px 0 0;
line-height: 0;
position: relative;
}
#upload_preview_area .progress {
position: absolute;
bottom: 0;
background: rgba(200, 200, 200, 0.5);
height: 5px;
width: 100%;
}
#upload_preview_area .progress > div {
background: #2b2;
height: 5px;
width: 0%;
}
#upload_preview_area .progress .error {
background: #b22;
}
#photo_submit:disabled {
background: #ccc;
color: #777;
border-color: #aaa;
}
/* Spinner animation
----------------------*/
.spinner {
display: inline-block;
background-color: #74AFCF;
height: 20px;
width: 20px;
margin: 0 5px;
-webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
animation: sk-rotateplane 1.2s infinite ease-in-out;
vertical-align: middle;
}
@-webkit-keyframes sk-rotateplane {
0% { -webkit-transform: perspective(120px) }
50% { -webkit-transform: perspective(120px) rotateY(180deg) }
100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg) }
}
@keyframes sk-rotateplane {
0% {
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
} 50% {
transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
} 100% {
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
}
}