* { box-sizing: border-box; margin: 0; padding: 0; } :root { font-size: calc(0.8em + 1vh); font-family: 'Roboto', Arial, Helvetica, sans-serif; --blue: #8FB6D0; --red: #D0A98F; --black: #001211; } [id] { scroll-margin-top: 2rem; } html, body { background: var(--black); max-width: 100%; } /* navigation section */ .navbar { position: fixed; width: 100%; height: 2rem; display: flex; align-items: center; background: var(--red); z-index: 999; } .navbar ul { flex: 1; height: 100%; list-style: none; display: flex; justify-content: flex-end; align-items: center; } .my-name { margin-left: 0.5rem; font-size: 0.8rem; font-weight: 500; color: var(--black); } .nav-link { font-size: 0.8rem; font-weight: 300; text-align: center; text-decoration: none; margin: 0 0.5rem; color: var(--black); } .nav-link:hover { text-decoration: underline 0.2rem var(--red); text-underline-position: under; text-underline-offset: 0.7rem; } /* welcome section */ .welcome-section { width: 100%; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; background: var(--black); color: var(--blue); border-bottom: solid var(--red) 0.1rem; } .page-header { width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; margin: 1rem; } .page-header h1 { font-size: 3rem; font-weight: 400; text-align: center; } .page-header p { font-size: 0.8rem; font-weight: 300; color: var(--red); text-align: center; } .profile-links { width: 100%; display: flex; justify-content: center; } .down-button { position: absolute; top: 80%; animation: rolling; animation-duration: 2s; animation-iteration-count: infinite; animation-timing-function: ease-in; } @keyframes rolling { 0% { top: 80%; } 50% { opacity: 0.1; top: 83%; } 100% { top: 80%; } } .down-button:hover { animation: stop; animation-duration: 500ms; animation-iteration-count: 1; animation-timing-function: ease-in; animation-fill-mode: forwards; } @keyframes stop { 0% { top: 81.5% } 100% { opacity: 1; top: 83%; } } /* welcome icon properties */ .fa, .fas { text-align: center; text-decoration: none; } .fa-chevron-down { font-size: 3rem; color: var(--blue); background: none; } .fa-chevron-down:hover { color: var(--red); } .profile-links a { display: block; transform: scale(1.5); color: var(--blue); margin: 0 0.5rem; cursor: pointer; } .profile-links a:hover { color: var(--red); transform: scale(1.75); } /* projects section */ .projects { background: var(--black); max-width: 100%; width: 50rem; margin: 0 auto; padding: 4rem 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; align-content: flex-start; } .section-header { flex-basis: 100%; margin-bottom: 1rem; } .section-header h2 { font-size: 1rem; font-weight: 400; color: var(--blue); text-align: center; } .underline { width: 14rem; margin: 0 auto; margin-top: 0.2rem; background-color: var(--red); border-radius: 1rem; height: 0.125rem; } .project-tile { padding: 0.15rem; background: var(--blue); border-radius: 0.1rem; flex-basis: calc(96%/3); display: flex; flex-direction: column; align-items: center; height: auto; margin: 0.2rem; } .project-tile:hover { background: var(--red); } .project-title { order: 2; background-color: var(--black); border-bottom-left-radius: 0.1rem; border-bottom-right-radius: 0.1rem; width: 100%; padding: 0.5rem; text-decoration: none; height: 2rem; display: flex; align-items: center; justify-content: center; } .project-title h3 { text-align: center; font-size: 0.8rem; font-weight: 300; color: var(--blue); } .hover-show { display: none; } .project-tile:hover .hover-show { display: inline; color: var(--red); } .image { width: 100%; text-decoration: none; margin-bottom: -0.3rem; } .project-snapshot { border-radius: 0.1rem; width: 100%; height: auto; } .show-all { width: 100%; margin-top: 0.5rem; display: flex; justify-content: center; align-items: center; height: 2rem; } .show-all-btn { font-size: 0.8rem; font-weight: 300; text-align: center; text-decoration: none; background: var(--red); color: var(--black); border-radius: 0.1rem; padding: 0.5rem; } .show-all-btn:hover { background: var(--blue); transform: scale(1.125); } /* about me and contact section */ .about-me-contact { width: 100%; display: grid; grid-template-columns: [column-start] 1fr 1.25fr [column-end]; align-content: start; background: var(--black); border-top: solid var(--red) 0.1rem; } .about-header { grid-column: 1 / -1; place-self: stretch; text-align: center; background: var(--black); padding: 2rem; } .about-header h2 { font-size: 2rem; color: var(--blue); font-weight: 400; } .about-me { background: var(--blue); grid-column: 1 / span 1; display: grid; grid-template-rows: 8rem 8rem auto auto; gap: 1.5rem; padding: 1rem; clip-path: polygon(0 0, 100% 0, 88% 100%, 0% 100%); -webkit-clip-path: polygon(0 0, 100% 0, 88% 100%, 0% 100%); justify-content: center; } .about-me > h3 { text-align: center; color: var(--black); font-weight: 400; align-self: center; } .about-text-container { justify-self: center; align-self: center; width: 50%; } .about-text { color: var(--black); font-size: 0.8rem; font-weight: 300; line-height: 1.5rem; } .about-text:first-child { margin-bottom: 1rem; } .about-link { text-decoration: none; color: var(--black); font-weight: 400; } .about-link:hover { text-decoration: underline; } .avatar { width: auto; height: 8rem; border-radius: 50%; justify-self: center; } .skills { max-width: 70%; width: 20rem; justify-self: center; display: grid; grid-template-columns: repeat(auto-fit, minmax(4rem, 1fr)); grid-auto-flow: dense; align-content: start; gap: 0.5rem; } .skill { display: flex; align-items: center; border: solid 0.1rem var(--black); padding: 0.3rem; border-radius: 0.7rem; height: 2rem; } .skills-icon { color: var(--black); font-size: 1rem; margin-right: 0.3rem } .skill-name { font-size: 0.5rem; } .contact { background: var(--black); grid-column: span 1 / -1; display: grid; grid-template-rows: 8rem auto 1fr; gap: 1.5rem; padding: 1rem; } .contact > h3 { text-align: center; color: var(--blue); font-weight: 400; align-self: center; } .resume { justify-self: center; display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 3rem; } .resume-icon { flex-basis: 100%; font-size: 4rem; color: var(--blue); margin-top: 1rem; } .resume-icon:hover { color: var(--red); } .resume-icon span { display: block; font-family: 'Roboto', Arial, Helvetica; font-size: 0.8rem; font-weight: 300; margin-top: 1rem; } .contact-form { width: 100%; display: flex; flex-direction: column; align-items: center; } .form-container { width: 80%; margin-bottom: 1rem; } .form { font-family: 'Roboto', Arial, Helvetica; font-size: 0.8rem; height: 1.5rem; width: 100%; border: solid 0.1rem var(--blue); } .form:focus { outline: 0; border: solid 0.1rem var(--red); } .form-container textarea { height: 10rem; } .submit { display: block; margin: 0 auto; font-family: 'Roboto', Arial, Helvetica; font-size: 0.8rem; font-weight: 300; height: 2rem; width: 4rem; background: var(--red); border: 0; border-radius: 0.1rem; } .submit:hover { background: var(--blue); transform: scale(1.125); } .footer { min-height: 5rem; border-top: 0.1rem solid var(--red); padding: 1rem; } .footer .profile-links > a{ margin: 0 1.5rem; } .footer .profile-links { margin-bottom: 1rem; } .footer p { text-align: center; font-weight: 300; color: var(--blue); font-size: 0.8rem; } @media only screen and (max-width: 815px) and (orientation: portrait) { .project-tile { flex-basis: 47%; } .about-me, .contact { grid-column: 1 / -1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); } .form-container { width: 100%; } } @media only screen and (max-width: 415px) and (orientation: portrait) { .project-tile { flex-basis: 100%; margin-bottom: 1rem; } .project-tile:nth-child(7) { margin-bottom: 0rem; } .project-title { height: 3rem; } .welcome-section .page-header h1 { font-size: 2.5rem; } }