*, *::after, *::before { box-sizing: border-box; } :root { font-size: 18px; } body { margin: 0; --color-text: #858898; --color-bg: #0F0F0F; --color-link: #fff; --color-link-hover: #858898; color: var(--color-text); background-color: var(--color-bg); font-family: quasimoda, sans-serif; font-weight: 500; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Page Loader */ .js .loading::before, .js .loading::after { content: ''; position: fixed; z-index: 1000; } .js .loading::before { top: 0; left: 0; width: 100%; height: 100%; background: var(--color-bg); } .js .loading::after { top: 50%; left: 50%; width: 60px; height: 60px; margin: -30px 0 0 -30px; border-radius: 50%; 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 { color: var(--color-link-hover); outline: none; } /* Better focus styles from https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible */ a:focus { /* Provide a fallback style for browsers that don't support :focus-visible */ outline: none; background: lightgrey; } a:focus:not(:focus-visible) { /* Remove the focus indicator on mouse-focus for browsers that do support :focus-visible */ background: transparent; } a:focus-visible { /* Draw a very noticeable focus style for keyboard-focus on browsers that do support :focus-visible */ outline: 2px solid red; background: transparent; } .unbutton { background: none; border: 0; padding: 0; margin: 0; font: inherit; } .unbutton:focus { outline: none; } .frame { padding: 1.5rem; text-align: center; position: relative; z-index: 1000; } .frame__title { font-size: 1rem; margin: 0 0 1rem; font-weight: 500; grid-area: title; justify-self: center; } .frame__links { display: inline; text-align: center; grid-area: links; justify-self: start; } .frame__links a:not(:last-child) { margin-right: 1rem; } .frame__demos { margin: 1rem 0; } .frame__demo--current, .frame__demo--current:hover { color: var(--color-text); } .content { margin: 10vh auto 40vh; max-width: 1200px; display: flex; flex-wrap: wrap; justify-items: center; text-align: center; justify-content: space-between; } .content__title { width: 100%; grid-column: 1 / span 3; font-size: 11vw; margin: 10vh 0 0; line-height: 0.65; } .content__title-first { display: block; text-transform: uppercase; font-family: forma-djr-deck, sans-serif; font-weight: 500; } .content__title-second { font-family: tenez, sans-serif; text-transform: uppercase; font-weight: 300; font-style: normal; } .image { max-width: 30vw; margin: 0 1vw; display: grid; cursor: pointer; position: relative; overflow: hidden; } .image--style-1 { width: 285px; height: 450px; border-radius: 145px; } .image--style-2 { width: 320px; height: 320px; border-radius: 50%; } .image--style-3 { width: 285px; height: 450px; border-radius: 5px; } .image--style-4 { width: 285px; height: 450px; border-radius: 145px 145px 0 0; } .image > .image__element, .image__wrap { transform-origin: inherit; position: relative; grid-area: 1 / 1 / 2 / 2; width: 100%; height: 100%; will-change: transform; border-radius: inherit; } .image__wrap { overflow: hidden; } .image__element { width: 100%; height: 100%; background-size: cover; background-position: 50% 50%; } @media screen and (min-width: 53em) { .frame { text-align: left; display: grid; grid-template-columns: 25% 50% 25%; grid-template-areas: 'links title sponsor'; justify-content: space-between; align-items: baseline; } }