Files
TD_Portfolio/Drear/style.css
T
Tomas Dvorak 882f91ebf6 first commit
2025-01-04 11:45:15 +01:00

575 lines
11 KiB
CSS

*,
*::after,
*::before {
box-sizing: border-box;
}
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&display=swap');
:root {
font-size: 15px;
}
body {
--color-text: #e7e7e7;
--color-bg: #090909;
--color-link: #ff0000;
--color-link-hover: #fff;
--color-cover: #ff0000;
--color-copy: #e7e7e7;
--color-content-title: #ff0000;
--color-indicator: #1b1b1b;
color: var(--color-text);
background-color: var(--color-bg);
font-family: ff-more-web-pro, serif;
margin: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.cursor {
display: none;
}
/* Page Loader */
.js .loading::before {
content: '';
position: fixed;
z-index: 100000;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--color-bg);
}
.js .loading::after {
content: '';
position: fixed;
z-index: 100000;
top: calc(50% - 30px);
left: calc(50% - 25px);
width: 50px;
height: 60px;
pointer-events: none;
opacity: 0.4;
background: var(--color-link);
animation: loaderAnim 0.7s linear infinite alternate forwards;
}
@keyframes loaderAnim {
to {
opacity: 1;
transform: scale3d(0.5,0.5,1);
}
}
a {
text-decoration: none;
color: var(--color-link);
outline: none;
}
a:hover,
a:focus {
color: var(--color-link-hover);
outline: none;
}
main {
position: relative;
height: 100vh;
display: flex;
flex-direction: column;
}
.message {
background: var(--color-text);
color: var(--color-bg);
padding: 1rem;
text-align: center;
}
.frame {
padding: 1.5rem;
position: absolute;
top: 0;
left: 0;
z-index: 1000;
pointer-events: none;
}
.frame a {
pointer-events: auto;
}
.frame__title {
font-size: 1rem;
margin: 0 0 0.5rem;
font-weight: normal;
}
.frame__links {
display: flex;
margin: 0.5rem 0;
}
.frame__links a {
margin: 0 0.35rem;
padding: 0 0.35rem;
position: relative;
}
.frame__links a:first-child {
margin-left: 0;
padding-left: 0;
}
.frame__links a:not(:last-child)::after {
content: '';
width: 1px;
height: 1rem;
background: var(--color-link);
position: absolute;
left: calc(100% + 0.35rem);
top: calc(50% - 0.5rem);
pointer-events: none;
}
.frame__indicator {
background: var(--color-indicator);
width: 3rem;
height: 0.5rem;
transform-origin: 0 50%;
}
.strip-outer {
width: 100%;
height: 100vh;
min-height: 750px;
margin: auto;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
flex: none;
}
.strip-inner {
position: relative;
top: 0;
height: 100%;
width: -moz-fit-content;
width: fit-content;
}
.draggable {
height: 500px;
top: calc(50% - 250px);
width: 100%;
position: absolute;
cursor: grab;
}
.draggable:active {
cursor: grabbing;
}
.strip {
height: 100%;
width: -moz-fit-content;
width: fit-content;
display: flex;
align-items: start;
position: relative;
pointer-events: none;
}
.strip__item {
height: 100%;
position: relative;
display: flex;
flex-direction: column-reverse;
justify-content: center;
font-family: "helpme";
font-size: 25px;
}
.img-outer {
--imgheight: 450px;
height: var(--imgheight);
width: calc(var(--imgheight) * 0.7);
overflow: hidden;
position: relative;
flex: none;
}
.img-outer--size-s {
--imgheight: 300px;
}
.img-outer--size-m {
--imgheight: 360px;
}
.img-outer--size-l {
--imgheight: 390px;
}
.img-outer--size-xl {
--imgheight: 420px;
}
.img-inner {
width: calc(100% + 40px);
height: calc(100% + 40px);
left: -20px;
top: -20px;
background-size: cover;
background-position: 50% 50%;
position: absolute;
}
.strip__item-number {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.strip__item-link {
pointer-events: auto;
cursor: pointer;
display: block;
position: relative;
}
.strip__item-link::before {
content: '';
position: absolute;
width: 160%;
height: 120%;
left: -30%;
top: -10%;
}
.strip__item-link span {
display: block;
}
.strip__item-plus {
display: none;
width: 13px;
height: 13px;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7 6h6v1H7v6H6V7H0V6h6V0h1v6z' fill='%23505050'/%3e%3c/svg%3e");
background-size: 100%;
}
.strip__item-link:hover + .strip__item-plus {
display: block;
}
.strip-cover {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: var(--color-cover);
pointer-events: none;
opacity: 0;
}
.strip-cover__title {
font-family: fleisch-wolf, sans-serif;
font-weight: 500;
font-size: 25vw;
margin: 0;
line-height: 1;
-webkit-text-stroke: 1px var(--color-cover);
text-stroke: 1px var(--color-cover);
-webkit-text-fill-color: transparent;
text-fill-color: transparent;
color: transparent;
filter: drop-shadow(0 0 100px #ff0000);
text-shadow: -18px -10px 0 #ff0000;
}
.strip-cover__subtitle {
font-size: 5vw;
margin: 0;
font-family: "helpme";
color: #fff;
letter-spacing: 15px;
}
.content {
top: 0;
position: absolute;
height: 100vh;
width: 100%;
z-index: 1000;
}
.js .content {
pointer-events: none;
}
.content__item {
position: absolute;
width: 100%;
left: 0;
top: 0;
height: 100vh;
display: grid;
align-items: center;
grid-template-rows: 50% 40% 10%;
grid-column-gap: 0;
grid-template-areas: 'content-img' 'content-copy' '...';
display: none;
}
.js .content__item {
height: 100%;
opacity: 0;
pointer-events: none;
}
.js .content__item--current {
pointer-events: auto;
opacity: 1;
top: 0;
display: grid;
}
.img-outer--content {
height: 100%;
width: auto;
grid-area: content-img;
}
.img-inner--content {
background-position: 50% 35%;
}
.content__item-title {
font-weight: normal;
color: var(--color-content-title);
font-family: "helpme";
}
.content__item-copy {
grid-area: content-copy;
padding: 1.5rem 2rem;
color: var(--color-copy);
}
.content__item-text {
margin: 0;
font-family: "freedoka";
}
.content__close {
display: block;
background: none;
border: 0;
margin: 0;
padding: 0;
color: inherit;
opacity: 0;
pointer-events: none;
cursor: pointer;
position: absolute;
bottom: 1.5rem;
left: 3rem;
}
.content__item--current ~ .content__close {
pointer-events: auto;
}
.content__close svg {
fill: currentColor;
}
.content__close:focus,
.content__close:hover {
outline: none;
color: #fff;
}
/* Will-change */
.strip,
.strip__item,
.cursor__side,
.content__close,
.content__item-title,
.content__item-copy {
will-change: transform;
}
@media screen and (min-width: 53em) {
body {
overflow: hidden;
}
.frame {
position: fixed;
text-align: left;
z-index: 10000;
display: grid;
align-content: space-between;
width: 100%;
max-width: none;
height: 100vh;
padding: 1.25rem 3rem;
pointer-events: none;
grid-template-columns: 80% 20%;
grid-template-rows: auto auto auto;
grid-template-areas: 'page-title links'
'... ...'
'indicator sub-title';
}
.frame__title-wrap{
grid-area: page-title;
display: flex;
}
.frame__title {
margin: 0;
}
.frame__subtitle {
grid-area: sub-title;
justify-self: end;
margin: 0;
}
.frame__links {
padding: 0;
margin: 0 0 0 2rem;
}
.frame__indicator {
grid-area: indicator;
margin: 0;
}
.content__item {
top: 0;
grid-template-columns: 40% 45% 15%;
grid-template-rows: 100%;
grid-template-areas: 'content-copy content-img ... ';
}
.content__item-copy {
max-width: 240px;
justify-self: end;
align-self: end;
text-align: right;
}
.strip-cover__title {
font-size: 15vw;
-webkit-text-stroke: 2px var(--color-cover);
text-stroke: 2px var(--color-cover);
}
.strip-cover__subtitle {
font-size: 3rem;
}
}
@media (any-pointer: fine) {
.cursor {
display: block;
}
.cursor__inner {
z-index: 9999;
pointer-events: none;
position: absolute;
top: 0;
left: 0;
mix-blend-mode: difference;
border-radius: 50%;
}
.cursor__side {
position: absolute;
top: 50%;
width: 5px;
height: 1px;
background: #fff;
opacity: 0;
}
.cursor__side--left {
right: calc(100% + 5px);
}
.cursor__side--right {
left: calc(100% + 5px);
}
.cursor__inner--circle {
width: 25px;
height: 25px;
border: 1px solid #fff;
}
}
@import url("https://p.typekit.net/p.css?s=1&k=ugp0unb&ht=tk&f=10052.10053.35816&a=1494256&app=typekit&e=css");
@font-face {
font-family:"ff-more-web-pro";
src:url("https://use.typekit.net/af/753cb1/00000000000000003b9b0702/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/753cb1/00000000000000003b9b0702/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/753cb1/00000000000000003b9b0702/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}
@font-face {
font-family:"ff-more-web-pro";
src:url("https://use.typekit.net/af/4122b8/00000000000000003b9b06fe/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/4122b8/00000000000000003b9b06fe/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/4122b8/00000000000000003b9b06fe/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}
@font-face {
font-family:"fleisch-wolf";
src:url("https://use.typekit.net/af/8b54bc/00000000000000003b9b097b/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/8b54bc/00000000000000003b9b097b/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/8b54bc/00000000000000003b9b097b/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}
.tk-ff-more-web-pro { font-family: "ff-more-web-pro",serif; }
.tk-fleisch-wolf { font-family: "fleisch-wolf",sans-serif; }
@font-face {
font-family: helpme;
src: url(HelpMe.ttf);
}
@font-face {
font-family: avang;
src: url(Nightcore\ Demo.ttf);
}
@font-face {
font-family: freedoka;
src: url(Fredoka-VariableFont_wdth\,wght.ttf);
}
@media (max-width: 820px) {
.strip-cover__title {
filter: none;
text-shadow: none;
}
.strip-cover__subtitle {
font-size: 3vw;
}
}