@keyframes blink { 50% { opacity: 0; } } @font-face { font-family: "Print char 21"; src: url(data/fonts/PrintChar21.ttf); } body { background-color: rgba(0, 0, 0, .95); color : rgb(102, 255, 102); font-family: "Print char 21"; height: 100vh; margin: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; } header { z-index: 9999; } header .contact-button { position: fixed; top: 1rem; right: 1rem; } main { width: 100%; max-width: 36.5rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; height: 100%; position: relative; } #content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; transition: transform 0.5s ease-out, opacity 0.5s ease-out; } #content.slide-up { transform: translateY(-100%); opacity: 0; } #formContainer { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0; pointer-events: none; transition: opacity 0.5s ease-in-out; } #formContainer.show { opacity: 1; pointer-events: auto; } #introContainer, #animatedContainer, #skillsContainer { width: 100%; text-align: left; margin-bottom: .625rem; } #introContainer { padding: 2.5rem 0; transition: opacity 0.5s ease-in-out; } #introContainer.fadeOut { transition: opacity 0.5s ease-in-out; opacity: 0; } #introContainer.reverse { background-color : rgba(102,255,102); color : rgba(0,0,0); transition: opacity 1s ease-in-out; opacity: 1; } #introText { margin-left: 1.25rem; } a:hover { color: #afffa4; } a { color: rgb(102, 255, 102); text-decoration: none; } h1, h2, p { margin: 0; width: 100%; } h1 { font-size: 5rem; height: auto; line-height: 1.25; height: 12rem; } h2 { line-height: 2.5rem; margin-left: 1.375rem; font-size: 1.5rem; height: 9rem; max-width: 33.75rem; } p { font-family: verdana; font-size: 1.25rem; font-family: "Print char 21"; height: 3rem; line-height: 2rem; } footer { width: 100%; display: flex; justify-content: flex-end; position: fixed; bottom: 1.5rem; padding-right: 3rem; opacity: 0; transition: opacity 1s ease-in-out, background-color 0.3s, color 0.3s; } footer.hidden { visibility: hidden; } footer.fade-in{ visibility: 1; opacity: 1; } footer span { margin-left: 1.5rem; } .caret { display: inline-block; width: .625rem; text-align: left; animation: blink 1s step-end infinite; } .contact-button { border: 2px solid rgb(102, 255, 102); background-color: black; color: rgb(102, 255, 102); padding: 0.625rem 0.9375rem; text-decoration: none; border-radius: 0.3125rem; opacity: 0; visibility: hidden; transition: opacity 1s ease-in-out, background-color 0.3s, color 0.3s; } .contact-button.fade-in { opacity: 1; visibility: visible; } .contact-button:hover { background-color: rgb(102, 255, 102); color: black; } .contact-form { width: 100%; opacity: 0; transition: opacity 0.5s ease-in-out; display: flex; justify-content: center; align-items: center; height: 100%; margin-top: -4rem; } .contact-form.show { opacity: 1; } .contact-form form { display: flex; flex-direction: column; width: 100%; max-width: 36.5rem; text-align: left; position: relative; } .contact-form .form-field { display: none; position: absolute; width: 100%; } .contact-form .form-field.visible { display: block; opacity: 1; transform: translateY(0); } .contact-form .form-field.hidden { display: block; opacity: 0; transform: translateY(-20px); } .contact-form input, .contact-form textarea { margin-bottom: 1rem; padding: 0.5rem; font-family: "Print char 21"; background-color: rgba(0, 0, 0, .8); color: rgb(102, 255, 102); border: 1px solid rgb(102, 255, 102); border-radius: 0.3125rem; } .contact-form input:focus, .contact-form textarea:focus { outline: none; } .contact-form input { width: 100%; } .contact-form textarea { height: 6rem; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; } .contact-form .form-field.visible { display: block; margin-top: 0; opacity: 1; transform: translateY(0); transition: opacity 2s ease-in-out, transform 1s ease-in-out; } .contact-form .form-field.hidden { display: block; opacity: 0; transform: translateY(-20rem); transition: opacity .6s ease-in-out, transform .6s ease-in-out; } .contact-form .form-field label { margin-bottom: 1.5rem; height: auto; display: inline-block; } .contact-form input[type="submit"] { margin-top: 2rem; height: 2rem; } input[type="submit"]:hover { background-color: rgb(102, 255, 102); color: black; cursor: pointer; } input[type="submit"]:focus { outline: none; }