@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@400;700&display=swap'); :root { --size: 100px; } html { height: 100vh; } body { min-height: 100vh; } body { font-family: 'Geologica', sans-serif; font-weight: 700; margin: 0; } #content { display: flex; align-items: stretch; justify-content: center; flex-direction: row; min-height: 100vh; } #content>* { width: 100vw; display: flex; align-items: center; flex-direction: column; justify-content: center; } #left-side { background-color: #ffd9a4; text-align: center; } #right-side { transition: ease-in 0.2s; } #right-side { opacity: 0 } #right-side h4 { color: #ffd9a4; text-transform: uppercase; } a { color: #000; text-decoration-color: #000; display: inline-block; transition: ease-in 0.2s; } #box { z-index: 1; opacity: 0; border-radius: 50%; width: var(--size); height: var(--size); display: block; cursor: pointer; position: absolute; background-color: #000; background-size: contain; background-repeat: no-repeat; transition: ease-in 0.2s; animation: toRight linear 6.8s infinite alternate, bounce linear 17s infinite alternate; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); } #box p { color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } #age { color: #ffd9a4; } button { border: none; padding: 10px; border-radius: 10px; background-color: rgb(96, 77, 199); font-family: 'Geologica', sans-serif; font-weight: 400; transition: ease-in 0.2s; color: #fff; } button:hover { background-color: rgba(96, 77, 199, 0.6); } button a { color: #fff; text-decoration: none; } .social { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; border: none; border-radius: 10px; padding: 0 10px 0 10px; background-color: rgb(101, 44, 255); font-family: 'Geologica', sans-serif; font-weight: 400; transition: ease-in 0.2s; color: #fff; } .social:hover { background-color: rgb(78, 31, 208); } .social p { color: #000; margin: 10px 0 10px 0; } .social img { width: auto; height: 20px; margin-right: 10px; } .social, button { margin-bottom: 5px; } #points span { color: #6c3877; font-size: 125%; } #projects { display: flex; flex-flow: row wrap; justify-content: center; text-decoration: none; align-items: center; margin-top: 20px; } .project-card { display: flex; align-items: center; flex-direction: column; justify-content: center; text-decoration: none; border: 1px solid #000; border-radius: 10px; transition: ease-in 0.2s; position: relative; cursor: pointer; margin: 10px; } .project-card img { border-radius: 10px; height: 200px; margin: 0; } .project-card img[data-abandoned] { filter: grayscale(); } .project-card .description { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; } .project-card .description * { transition: ease-in 0.2s; } .project-card .description * { background-color: #fff; border-radius: 5px; padding: 5px; margin: 10px; color: #000; } .project-card:hover>.description *:not(a) { opacity: 0; } @keyframes bounce { 0% { top: 0; } 50% { top: calc(100% - var(--size)); } 100% { top: 0; } } @keyframes toRight { 0% { left: 0; } 100% { left: calc(100% - var(--size)); } } /* DARK THEME */ body.dark { background-color: #2f3136; } body.dark #box { background-color: #fff; box-shadow: 0 0 10px 0 rgba(255, 255, 255, 0.5); } body.dark #box p { color: #000; } body.dark #right-side { color: #fff; } body.dark .social p { color: #fff; } body.dark a { color: #fff; text-decoration-color: #fff; } body.dark .project-card { border: 1px solid #ffd9a4; } body.dark .project-card .description * { background-color: #fffdcc; } body:not(.dark) .project-card { background-color: rgb(185, 175, 255); } body.dark #socials .social img { filter: invert(); } body:not(.dark) .social { background-color: rgb(185, 175, 255); } body:not(.dark) .social:hover { background-color: rgb(132, 125, 189); } body:not(.dark) #right-side h4 { color: #000; } body:not(.dark) #age { color: #3b3b3b; } /* MOBILE */ @media screen and (max-width: 798px) { #projects { flex-direction: column; } #content { flex-direction: column; height: unset; } #content>* { padding: 0; } #left-side { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; } #socials { display: flex; flex-direction: column; justify-content: center; } }