/* ldgallery - A static generator which turns a collection of tagged -- pictures into a searchable web gallery. -- -- Copyright (C) 2019-2020 Guillaume FOUET -- -- 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 . */ // Global CSS @import "@/assets/scss/theme.scss"; // === Forms .required label::after { content: "*"; color: red; } button svg + span { margin-left: 7px; } // === Tools .nowrap { white-space: nowrap; } .no-scroll-x { overflow-x: hidden; } .flex { display: flex; } .flex-column { display: flex; flex-direction: column; } .flex-center { align-items: center; } // === Links .link { color: $link; cursor: pointer; text-decoration: none; &:hover { color: $link-hover; } } .disabled { color: $disabled-color !important; cursor: initial; } // Disable sticky hover styling on touch devices, // on which the virtual cursor doesn't leave the element after being tapped. // The fix can be applied to `a` elements by using the .link class. @media (hover: none), (hover: on-demand) { .link:hover { color: $link !important; } .disabled:hover { color: $disabled-color !important; } } // === Scrollbar styling .scrollbar { overflow: auto; } .scrollbar::-webkit-scrollbar { width: $scrollbar-width; height: $scrollbar-width; } .scrollbar::-webkit-scrollbar-corner { background-color: transparent; } .scrollbar::-webkit-scrollbar-thumb { box-shadow: inset 0 0 1px black; background-color: $scrollbar-color; } // === Thumbnail tiles alignment .thumbnail-tiles { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-evenly; & > a { margin: 2px; } } img { image-orientation: from-image; } // === Effect to apply on lazy-image loading img { display: block; &.v-lazy-image { opacity: 0; transition: opacity 0.4s; } &.v-lazy-image-loaded { opacity: 1; } }