/* Coiny Regular */ @font-face { font-family: 'Coiny'; src: url('/assets/fonts/Coiny-Regular-subset.ttf') format('truetype'); font-weight: normal; font-style: normal; font-display: swap; } * { transition: background-color 0.15s ease-in-out; } :root { --base: #faf4ed; --surface: #fffaf3; --overlay: #f2e9e1; --muted: #9893a5; --subtle: #797593; --text: #575279; --love: #b4637a; --gold: #ea9d34; --rose: #d7827e; --pine: #286983; --foam: #56949f; --iris: #907aa9; --highlight-low: #f4ede8; --highlight-med: #dfdad9; --highlight-high: #cecacd; } .dark { --base: #191724; --surface: #1f1d2e; --overlay: #26233a; --muted: #6e6a86; --subtle: #908caa; --text: #e0def4; --love: #eb6f92; --gold: #f6c177; --rose: #ebbcba; --pine: #31748f; --foam: #9ccfd8; --iris: #c4a7e7; --highlight-low: #21202e; --highlight-med: #403d52; --highlight-high: #524f67; } .coiny-regular { font-family: "Coiny", system-ui; font-weight: 400; font-style: normal; } ::selection { background-color: var(--overlay); } @keyframes fadein { 0% { opacity: 0; transform: scale(100.5%); margin-top: 4in; overflow: clip; } 100% { opacity: 1; transform: scale(100%); margin-top: 5px; overflow: auto; } } html, body { margin: 0; width: 100%; min-height: 100vh; /* height: 100vh; */ font-family: system-ui, sans-serif; background-color: var(--base); color: var(--text); display: grid; place-items: center; overflow: auto; overflow-anchor: none; } .page { box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px 0px, rgba(0, 0, 0, 0.23) 0px 6px 6px 0px; box-sizing: border-box; width: 8.5in; /* height: 11in; */ height: 9in; margin-top: 5px; margin-bottom: 5px; background-color: var(--surface); padding: 0.5in; position: relative; animation: 0.5s ease-out 0s 1 fadein; display: grid; grid-template-columns: 1fr 2.5in; grid-template-rows: 1.1in 0.2fr 0.4fr auto; gap: 0px 0px; grid-template-areas: "header header" "bio aside" "world aside" "footer footer"; /* clip-path: polygon(1in 0%, 100% 0, 100% 100%, 0 100%, 0 1in); */ overflow: hidden; } a { color: var(--foam); transition: 0.1s color ease-in-out, 0.1s text-decoration ease-in-out; text-decoration: none; font-weight: 500; } a:hover, a:active, a:focus { color: var(--iris); text-decoration: underline; } .header { grid-area: header; font-size: 3em; } .bio { grid-area: bio; padding: 0 0.5in 0 0; text-align: justify; overflow-wrap: break-word; hyphens: auto; } .small-text { font-style: italic; font-size: 0.8em; padding: 0; margin: 0; } .world { grid-area: world; display: flex; gap: 0.5em; } .aside { grid-area: aside; display: flex; flex-direction: column; justify-content: top; align-items: center; } .footer { grid-area: footer; display: grid; grid-template-columns: 0.3fr 0.7fr; column-gap: 0.5in; align-self: end; margin-top: 1.5em; } .copyright { text-align: left; } .gpg { text-align: right; } .avatar { width: 2.5in; height: 2.5in; border-radius: 100%; pointer-events: none; } .avatar-wrapper { position: relative; } .button { display: block; padding: 1em 2em; color: var(--text); z-index: 0; position: relative; border-radius: 10px; cursor: pointer; } .button:hover, .button:active, .button:focus { text-decoration: unset; } .button:before { content: ''; background: linear-gradient(45deg, var(--love), var(--gold), var(--rose), var(--pine), var(--foam), var(--iris), var(--love)); position: absolute; top: -1px; left: -1px; background-size: 200%; z-index: -1; filter: blur(4px); width: calc(100% + 2px); height: calc(100% + 2px); animation: glowing 30s linear infinite; opacity: 0; transition: opacity .3s ease-in-out; border-radius: 10px; opacity: 1; } .button:after { z-index: -1; content: ''; position: absolute; width: 100%; height: 100%; background: var(--base); left: 0; top: 0; border-radius: 10px; transition: background 0.1s ease-in-out; } @keyframes glowing { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } .theme { position: absolute; bottom: 0.125in; right: 0.125in; background-color: var(--base); color: var(--gold); border: 1px solid var(--overlay); border-radius: 10in; margin: 0.125in 0 0; padding: 0.125in; max-width: 0.25in; height: 0.25in; cursor: pointer; transition: max-width 0.5s ease; overflow: hidden; display: inline-flex; align-items: center; } .theme:hover { max-width: 2.5in; } .material-icons { font-size: 1.25em; font-style: normal; } .theme-text { white-space: nowrap; padding: 0 0.125in; user-select: none; } .gpg-key:hover, .gpg-key:active, .gpg-key:focus { text-decoration: none; transition: 0.1s color ease-in-out, 0.1s text-decoration ease-in-out; } .gpg-key:hover span, .gpg-key:active span, .gpg-key:focus span { text-decoration: underline; transition: 0.1s color ease-in-out, 0.1s text-decoration ease-in-out; } @media only screen and (min-width: 2000px) { .page { height: 11in; } } @media only screen and (min-width: 768px) and (max-width: 900px) { html, body { overflow: auto; } /* tablets and desktop */ .page { width: 100%; height: 100%; margin: 0; padding: 0.25in; box-shadow: none; animation: none; overflow: auto; } .footer { margin-top: 0.25in; grid-template-rows: none; grid-template-columns: auto; } .theme:focus, .theme:active, .theme:hover { max-width: 0.25in; } .theme-text { display: none; } .copyright { text-align: center; } .gpg { text-align: center; grid-row: 1; } } @media only screen and (max-width: 767px) { html, body { overflow: auto; } /* phones */ .page { width: 100%; height: 100%; margin: 0; padding: 0.25in; box-shadow: none; display: grid; grid-template-columns: 1fr; grid-template-rows: 0.1fr 0.2fr 0.4fr auto; gap: 0px 0px; grid-template-areas: "header" "aside" "bio" "world" "footer"; animation: none; overflow: auto; } .header { font-size: 2em; } .theme:focus, .theme:active, .theme:hover { max-width: 0.25in; } .theme-text { display: none; } .bio { grid-template-columns: none; grid-template-rows: 2.5in 1fr; justify-content: center; align-items: center; padding: 0; } .avatar { grid-row: 1; } .small-text { text-align: center; margin: 0.5em 0; } .footer { margin-top: 0.25in; position: static; grid-template-rows: none; grid-template-columns: auto; width: 100%; } .copyright { text-align: center; } .gpg { text-align: center; grid-row: 1; } }