sarsooxyz.hugo/assets/scss/main.scss
Andy Pack ea61941c25
All checks were successful
Deploy Hugo site to Prod / Build Container (push) Successful in 24s
more css changes, smarter box link
2024-10-13 22:44:17 +01:00

266 lines
5.5 KiB
SCSS

:root {
// --shadow-colour: #828282;
--shadow-colour: #3f0aff;
}
@mixin shadowed {
box-shadow: var(--shift) var(--shift) 2px var(--shadow-colour);
translate: calc(var(--shift) * -1) calc(var(--shift) * -1);
@media (prefers-reduced-motion: no-preference) {
transition: box-shadow, translate;
transition-duration: var(--duration);
transition-timing-function: ease-in-out;
&:hover {
box-shadow: 0px 0px 0px var(--shadow-colour);
translate: none;
}
}
}
.shadowed {
--shift: 8px;
--duration: 0.2s;
@include shadowed;
}
///////////////////////
// AVATAR
///////////////////////
.avatar {
img {
--shift: 20px;
--transition-time: 1s;
border-style: solid;
border-width: 7px;
border-color: black;
@media (prefers-reduced-motion: no-preference) {
animation: shift-avatar 3s ease-in-out infinite alternate backwards;
@keyframes shift-avatar {
from {
filter: drop-shadow(0px 0px 0px var(--shadow-colour));
translate: none;
}
to {
filter: drop-shadow(var(--shift) 8px 1px var(--shadow-colour));
translate: calc(var(--shift) * -1) calc(var(--shift) * -1);
}
}
}
}
@media (prefers-reduced-motion: no-preference) {
img:hover {
filter: none;
translate: none;
// animation-play-state: paused;
}
}
}
@media only screen and (max-width: 768px) {
.avatar img {
--shift: 13px;
border-width: 5px;
}
}
///////////////////////
// BOX LINK
///////////////////////
.box-link {
--shift: 8px;
--border-radius: 10px;
position: relative;
width: 100%;
height: 17rem;
display: flex;
justify-content: center;
translate: calc(var(--shift) * -1) calc(var(--shift) * -1);
@media (prefers-reduced-motion: no-preference) {
transition: translate;
transition-duration: 0.25s;
transition-timing-function: ease-in-out;
animation: shift-image 0.3s backwards;
@keyframes shift-image {
from { translate: none; }
to { translate: calc(var(--shift) * -1) calc(var(--shift) * -1); }
}
}
span {
border-radius: var(--border-radius);
opacity: .5;
background-color: black;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
z-index: 0;
}
img {
/* object-position:38% 50%; */
z-index: -1;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
margin: 0;
padding: 0;
width: 100%; height: 100%;
overflow: hidden;
object-fit: cover;
border: 4px solid black;
border-radius: var(--border-radius);
box-shadow: var(--shift) var(--shift) 1px var(--shadow-colour);
@media (prefers-reduced-motion: no-preference) {
transition: box-shadow;
transition-duration: 0.25s;
transition-timing-function: ease-in-out;
animation: shift-shadow 0.3s backwards;
@keyframes shift-shadow {
from { box-shadow: none; }
to { box-shadow: var(--shift) var(--shift) 1px var(--shadow-colour); }
}
}
}
@media (prefers-reduced-motion: no-preference) {
&:hover {
translate: none;
img {
box-shadow: none;
}
}
}
.text-section {
z-index: 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 10px;
}
p {
color: white;
text-align: center !important;
text-shadow: 3px 3px 5px black;
margin: 0;
}
.center-link-text {
color: white;
cursor: pointer;
text-underline-offset: 3px;
text-decoration-skip-ink: auto;
}
}
///////////////////////
// FOOTER LOGO
///////////////////////
.footer-logo {
filter: contrast(100%);
transition: filter 1s ease-in-out;
}
.footer-logo:hover {
filter: contrast(0%) drop-shadow(7px 7px 5px grey);
}
///////////////////////
// ART GRID
///////////////////////
.art-grid {
--shift: 5px;
--duration: 0.2s;
width: 100%;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
& > figure > img {
border: 5px solid black;
@include shadowed;
}
& > .art-col-2 {
grid-column: span 2;
}
& > .art-col-3 {
grid-column: span 3;
}
& > .art-row-2 {
grid-row: span 2;
}
& > .art-row-3 {
grid-row: span 3;
}
}
.art-home-grid {
width: 100%;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.dev-grid {
display: grid;
gap: 20px;
}
.dev-grid-col-2 {
grid-template-columns: repeat(2, 1fr);
}
.dev-grid-col-3 {
grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 768px) {
.art-grid {
grid-template-columns: repeat(2, 1fr);
}
.art-home-grid {
grid-template-columns: repeat(2, 1fr);
}
.dev-grid {
grid-template-columns: repeat(1, 1fr);
}
}
.youtube-embed {
iframe {
--shift: 8px;
--duration: .2s;
width: 100%;
aspect-ratio: 16/9;
border-radius: 20px;
border: 5px solid black;
@include shadowed;
}
}