* { margin: 0; box-sizing: border-box; font-family: 'Aeonik', sans-serif; font-size: 1rem; font-weight: 400; text-decoration: none; color: #0e312f; a { color: $brand-color; transition: opacity 0.2s; &:hover { opacity: 0.8; } } } body { margin: $margin-y $margin-x; height: calc(100vh - $margin-y * 2); @media screen and (min-width: $breakpoint-medium) { margin: $margin-y $margin-x-large; } @media screen and (min-width: $breakpoint-large) { margin: $margin-y $margin-x; } > #__nuxt { height: 100%; main { height: 100%; > div { @media screen and (min-width: $breakpoint-large) { height: 100%; display: grid; grid-template-columns: repeat(3, auto); grid-template-rows: 1.6rem auto auto; } > #intro { width: 75vw; @media screen and (min-width: $breakpoint-large) { grid-row: 1 / span 2; grid-column: 1 / span 1; max-width: 33vw; padding-right: 7vw; } > p:first-of-type { @media screen and (min-width: $breakpoint-large) { margin-top: 0; } } } > #work-label { margin-top: 5rem; grid-row: 1/span 1; grid-column: 2/ span 1; @media screen and (min-width: $breakpoint-large) { padding-left: $margin-x; margin-top: 0; z-index: 1; padding-bottom: 2vh; border-left: solid 1px $light-color; } @media screen and (min-width: $breakpoint-xlarge) { padding-bottom: 0; } } > #works { margin-top: 1.2rem; @media screen and (min-width: $breakpoint-large) { margin-top : 0; border-left: solid 1px $light-color; grid-row: 2 / span 2; grid-column: 2 / span 2; z-index: 0; } .work-card { display: flex; flex-direction: column; justify-content: center; @media screen and (min-width: $breakpoint-large) { padding: 0 5vw; } > .work-poster { > a { display: block; position: relative; width: 100%; > img, > video { border-radius: 10px; width: 100%; transition: transform 0.2s ease, opacity 0.4s ease; transform: scale(1); } > video { display: none; position: absolute; top: 0; transform: scale(0.98); } &:hover { opacity: 1; } @media screen and (min-width: $breakpoint-large) { > video { display: block; z-index: 0; } > img { position: relative; z-index: 1; } &:hover { > img { transform: scale(0.98); opacity: 0; } } } } } > .work-catchphrase { font-family: 'Ballpill', sans-serif; font-size: $l-txt-size; margin: 1rem 0; } > .work-infos { display: flex; justify-content: space-between; align-items: center; border-top: solid 1px #b9aeb5; border-bottom: solid 1px #b9aeb5; .text-content > p:first-of-type { margin: 0.8rem 0; } > div:first-of-type { display: flex; align-items: center; > p { margin: 0; margin-left: 0.5rem; padding-bottom: 4px; } > p::before { margin-left: 0.3rem; content: '– '; } } } } } > ul#links { width: 100%; list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; align-self: flex-end; margin-top: 5rem; margin-bottom: 2rem; @media screen and (min-width: $breakpoint-large) { grid-row: 3 / span 1; grid-column: 1 / span 1; margin-bottom: 0; margin-top: 0; } > li { padding: 0.6rem 0; > a { display: inline-block; color: white; background-color: $brand-color; padding: 5px 10px; border-radius: 8px; } } } > #locale-switch { display: flex; height: 1.6rem; width: 100%; justify-content: end; @media screen and (min-width: $breakpoint-large) { grid-row: 1 / span 1; grid-column: 3 / span 1; z-index: 1; } button { border: none; background-color: unset; cursor: pointer; &:last-of-type { margin-left: 1rem; } } } } } } } .text-content { > p { font-weight: 300; margin: 0.8rem 0; line-height: 1.2rem; > strong { font-weight: 400; } } } em, .l-text > h2 { font-style: normal; font-size: 1.6rem; display: inline-block; line-height: 1.3; font-weight: 400; > del { font-family: 'Ballpill', serif; font-size: $l-txt-size; display: inline-block; position: relative; &::after { content: ''; width: 100%; height: 4px; background: $brand-color; display: block; transition: transform 0.2s ease; transform: rotate(-1.2deg) translateY(-3px) translateX(2px); position: absolute; z-index: -1; } &:hover::after { transform: rotate(0deg) translateY(-3px) translateX(2px); } } } .fade-enter-active, .fade-leave-active { transition: opacity 0.3s ease, filter 0.3s ease; } .fade-enter, .fade-leave-to { opacity: 0; filter: blur(2px); }