diff options
| author | Peter Nguyen <peteralistairnguyen@gmail.com> | 2025-02-05 00:44:12 -0600 |
|---|---|---|
| committer | Peter Nguyen <peteralistairnguyen@gmail.com> | 2025-02-05 00:44:12 -0600 |
| commit | 110dc2831488937c1afb70c11657a341912fc8cd (patch) | |
| tree | 16b35df40e150d68344337b17c800b04b1435355 /css | |
Initial commit 2/25/2025
Diffstat (limited to 'css')
| -rw-r--r-- | css/about-styles.css | 268 | ||||
| -rw-r--r-- | css/blog-post.css | 234 | ||||
| -rw-r--r-- | css/blog-styles.css | 320 | ||||
| -rw-r--r-- | css/projects-styles.css | 258 | ||||
| -rw-r--r-- | css/styles.css | 164 |
5 files changed, 1244 insertions, 0 deletions
diff --git a/css/about-styles.css b/css/about-styles.css new file mode 100644 index 0000000..0279b2f --- /dev/null +++ b/css/about-styles.css @@ -0,0 +1,268 @@ +/* These main CSS elements were made between 1/27/2025 and 1/28/2025 by Peter Nguyen for peten.ca */ + +/* MAIN */ + +body { + height: 100vh; + width: 100vw; + display: flex; + flex-direction: column; + margin: 0; + padding: 0; + overflow-x: hidden; + overflow-y: scroll; + position: relative; + background-color: #f9f9f9; +} + +/* FONTS */ + +.font-ubuntu { + font-family: "Ubuntu Sans", serif; + font-optical-sizing: auto; + font-weight: bold; + font-style: normal; + font-variation-settings: "wdth" 100; +} + +.font-montserrat { + font-family: "Montserrat", serif; + font-optical-sizing: auto; + font-weight: normal; + font-style: normal; +} + +/* ANIMS */ + +.fade-in { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 0.5s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +/* TEXT */ + +.element { + font-size: 1.5rem; + font-weight: 300; +} + +.typed-cursor { + font-size: 1.5rem; +} + +/* NAV */ + +.nav { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + padding: 10px; +} + +.nav-link { + font-size: 1.5rem !important; +} + +/* BOTTOM OF PAGE */ + +.footer { + width: 100%; + text-align: center; + font-size: 0.75rem; + padding: 10px; + margin-top: auto; + opacity: 0.5; +} + +/* PAGE-SPECIFIC */ + +header { + padding-top: 2%; + width: 100vw; + display: flex; + justify-content: center; +} + +.header { + width: 66%; + display: flex; +} + +.header h1 { + display: flex; + align-items: center; + height: 50px; + /* Adjust to align with the image */ +} + +main { + display: flex; + flex-direction: column; + /* Stack children vertically */ + align-items: center; + /* Keep content centered */ + justify-content: flex-start; +} + +.about-image { + height: 369px; + width: 369px; + object-fit: cover; + border-radius: 2%; +} + +.about-intro { + width: 66%; + padding-top: 2%; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + text-align: left; + padding-bottom: 2%; +} + +.about-section { + padding-top: 2%; + width: 66%; + display: flex; + flex-direction: column; + align-items: flex-start; +} + +.about-section h1 { + font-weight: 450 !important; +} + +a { + text-decoration: none !important; + color: inherit !important; + font-size: medium; +} + +.date { + font-size: medium; +} + +h1 { + font-size: 2.5rem !important; + font-weight: normal !important; + margin: 0 !important; + border: 0; +} + +header h1 { + cursor: pointer; +} + +h2 { + font-size: 1.1rem !important; +} + +.about-text { + font-size: 1.6rem; + font-weight: 400; + max-width: 768px; + text-wrap: wrap; +} + +.about-section-text { + padding-top: 1%; + font-size: 1.6rem; + font-weight: 400; + text-wrap: wrap; +} + +/* MOBILE CSS ADAPTATIONS */ + +@media (max-width: 768px) { + body { + overflow-x: hidden; + position: static; + /* Prevents horizontal scrolling */ + } + + main { + display: flex; + flex-direction: column; + /* Stack children vertically */ + align-items: center; + /* Center everything */ + justify-content: flex-start; + } + + .header { + width: 90%; + /* Make header more compact */ + } + + .header h1 { + font-size: 2rem !important; + /* Slightly smaller back button */ + } + + .about-intro { + display: flex; + flex-direction: column; + /* Stack text and image vertically */ + align-items: center; + /* Center everything */ + width: 90%; + /* Ensure it fits within the screen */ + padding-top: 2%; + /* Adjust padding as needed */ + } + + .about-image { + width: 80vw; + /* Make image responsive */ + height: 80vw; + /* Ensure image is square */ + max-width: 300px; + /* Set a max width */ + max-height: 300px; + /* Set a max height */ + object-fit: cover; + /* Ensure image is cropped correctly */ + margin-top: 0; + /* Reset margin-top if it was causing issues */ + } + + .about-text { + font-size: 1.4rem; + word-wrap: break-word; + /* Prevents text overflow */ + } + + .about-section { + width: 90%; + /* Make it more compact */ + text-align: left; + } + + .about-section-text { + font-size: 1.4rem; + /* Slightly smaller text */ + } + + .nav { + flex-direction: column; + /* Stack nav links */ + gap: 5px; + padding: 5px; + } +}
\ No newline at end of file diff --git a/css/blog-post.css b/css/blog-post.css new file mode 100644 index 0000000..93b15ec --- /dev/null +++ b/css/blog-post.css @@ -0,0 +1,234 @@ +/* These main CSS elements were made between 1/27/2025 and 1/28/2025 by Peter Nguyen for peten.ca */ + +/* MAIN */ + +body { + height: 100vh; + display: flex; + flex-direction: column; + margin: 0; + padding: 0; + overflow-x: hidden; + overflow-y: scroll; + position: relative; + background-color: #f9f9f9; +} + +/* FONTS */ + +.font-ubuntu { + font-family: "Ubuntu Sans", serif; + font-optical-sizing: auto; + font-weight: bold; + font-style: normal; + font-variation-settings: "wdth" 100; +} + +.font-montserrat { + font-family: "Montserrat", serif; + font-optical-sizing: auto; + font-weight: normal; + font-style: normal; +} + +/* ANIMS */ + +.fade-in { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 0.5s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +/* TEXT */ + +.element { + font-size: 1.5rem; + font-weight: 300; +} + +.typed-cursor { + font-size: 1.5rem; +} + +/* NAV */ + +.nav { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + padding: 10px; +} + +.nav-link { + font-size: 1.5rem !important; +} + +/* BOTTOM OF PAGE */ + +.footer { + width: 100%; + text-align: center; + font-size: 0.75rem; + padding: 10px; + margin-top: auto; + opacity: 0.5; +} + +/* PAGE-SPECIFIC */ + +header { + padding-top: 2%; + width: 100vw; + display: flex; + justify-content: center; +} + +.header { + width: 768px; + display: flex; + justify-content: space-between; + /* Center horizontally */ + align-items: center; + /* Center vertically */ + text-align: center; + font-weight: 450; + border-bottom: 1px solid black; +} + +.blog-post { + padding-top: 1%; + display: flex; + justify-content: center; + flex-direction: column; + align-items: center; + width: 100vw; + text-align: justify; +} + +.blog-post h1 { + padding-bottom: 1%; +} + +.project-post { + padding-top: 1%; + display: flex; + justify-content: center; + flex-direction: column; + align-items: center; + width: 100vw; + text-align: justify; +} + +a { + text-decoration: none !important; + color: inherit !important; + font-size: medium; +} + +.date { + font-size: medium; +} + +h1 { + font-size: 2.5rem !important; + font-weight: bold; + margin: 0 !important; + border: 0; +} + +h2 { + padding-top: 0.5%; + font-size: 1.1rem !important; + padding-bottom: 1%; +} + +p { + font-size: 1.1rem; + font-weight: 400; + max-width: 768px; + text-wrap: wrap; +} + +img { + padding-bottom: 1%; +} + +/* MOBILE CSS ADAPTATIONS */ + +@media (max-width: 768px) { + body { + overflow-x: hidden; + position: static; + } + + header { + padding-top: 10px; + width: 100vw; + display: flex; + justify-content: center; + /* Center header content */ + align-items: center; + } + + .header { + width: 90%; + /* Make the header width smaller on mobile */ + display: flex; + flex-direction: row; + /* Stack items vertically */ + justify-content: space-between; + align-items: center; + border-bottom: 1px solid black; + padding-bottom: 2%; + } + + /* Blog Post */ + .blog-post { + padding-top: 3%; + width: 90%; + /* Set width to 90% of the screen */ + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: justify; + margin: 0 auto; + /* Center the blog post horizontally */ + } + + h1 { + font-size: 1.75rem !important; + /* Reduce h1 font size on mobile */ + font-weight: 500 !important; + text-align: center; + } + + h2 { + text-align: center; + } + + a { + text-decoration: none !important; + color: inherit !important; + } + + p { + font-size: 1.15rem; + /* Reduce paragraph font size */ + margin-bottom: 10px; + /* Add some margin between paragraphs */ + } +}
\ No newline at end of file diff --git a/css/blog-styles.css b/css/blog-styles.css new file mode 100644 index 0000000..58c4377 --- /dev/null +++ b/css/blog-styles.css @@ -0,0 +1,320 @@ +/* These main CSS elements were made between 1/27/2025 and 1/28/2025 by Peter Nguyen for peten.ca */ + +/* MAIN */ + +body { + min-height: 100vh; + display: flex; + flex-direction: column; + overflow: auto; + position: relative; + background-color: #f9f9f9; + margin: 0 !important; + padding: 0 !important; +} + +/* FONTS */ + +.font-ubuntu { + font-family: "Ubuntu Sans", serif; + font-optical-sizing: auto; + font-weight: bold; + font-style: normal; + font-variation-settings: "wdth" 100; +} + +.font-montserrat { + font-family: "Montserrat", serif; + font-optical-sizing: auto; + font-weight: normal; + font-style: normal; +} + +/* TEXT */ + +h1 { + font-size: 1.3rem !important; + font-weight: bold; + margin: 0; +} + +h2 { + font-size: 1.1rem !important; + font-weight: bold; +} + +h3 { + font-size: 1.5rem !important; + font-weight: bold; +} + +p { + font-size: 1rem !important; + font-weight: 400; + max-width: 300px; + text-wrap: wrap; +} + +a { + text-decoration: none !important; + color: inherit !important; +} + +/* ANIMS */ + +.fade-in { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 0.5s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +/* PAGE SPECIFIC */ + +.blog-container { + display: flex; + flex-direction: row; + justify-content: center; + text-align: left; + width: 100%; + padding-top: 3%; + flex-grow: 1; +} + +.blog-content { + padding-top: 1%; + padding-left: 5%; + flex-grow: 1; + max-width: 800px; +} + +.profile-pic { + width: 100px; + border-radius: 50%; +} + +.sidebar { + display: flex; + flex-direction: column; + align-items: flex-start; + padding-top: 1%; + /* Keeps everything left-aligned */ +} + +.sidebar img { + padding-bottom: 5%; +} + +article { + display: block; +} + +article h1 { + margin: 0 !important; +} + +article p { + font-size: 1rem !important; + font-weight: 400; + max-width: 600px; + text-wrap: wrap; + padding-top: 0.25rem; +} + +.date { + font-size: small; +} + +/* NAV */ + +.sidebar nav ul { + list-style-type: none; + padding: 0; + margin: 0; +} + +.nav-link { + font-size: 1.5rem !important; +} + +.active { + font-weight: 500 !important; +} + +.articles { + padding-top: 5%; +} + +/* BOTTOM OF PAGE */ + +.footer { + width: 100%; + text-align: center; + font-size: 0.75rem; + padding: 10px; + margin-top: auto; + opacity: 0.5; +} + +/* FORM FOR CONTACT PAGE */ + +/* FORM CONTAINER */ +form { + display: flex; + flex-direction: column; + width: 100%; + /* Allow it to take all available space */ + max-width: 700px; + /* Give it a better max-width */ + margin: 0 auto; + /* Center it */ +} + +/* FORM LABELS */ +form label { + font-size: 0.9rem; + font-weight: bold; + text-transform: uppercase; + margin-top: 10px; + letter-spacing: 1px; +} + +/* FORM INPUT FIELDS */ +form input, +form textarea { + width: 100%; + padding: 1%; + border: 1px solid black; + font-size: 1rem; + margin-top: 5px; + font-family: "Montserrat", sans-serif; +} + +/* TEXTAREA */ +form textarea { + height: 150px; + resize: vertical; +} + +/* SUBMIT BUTTON */ +form button { + background: white; + border: 1px solid black; + padding: 10px 15px; + font-size: 1rem; + font-weight: bold; + text-transform: uppercase; + cursor: pointer; + margin-top: 10px; + width: fit-content; +} + +/* CENTER THE BUTTON */ +form button:hover { + background: black; + color: white; +} + +.g-recaptcha { + padding-top: 2%; +} + +/* MOBILE CSS ADAPTATIONS */ + +@media (max-width: 768px) { + + /* Ensure the body is scrollable */ + body { + overflow: scroll; + } + + /* Profile pic adjustments */ + .profile-pic { + width: 100px; + border-radius: 50%; + } + + /* Blog container adjustments */ + .blog-container { + flex-direction: column; + align-items: left; + width: 100%; + padding: 5% !important; + height: auto; + /* REMOVE fixed height to prevent extra space */ + flex-grow: 0; + } + + /* Sidebar adjustments */ + .sidebar { + width: 100%; + align-items: left; + text-align: left; + padding-bottom: 20px; + } + + .sidebar nav ul { + display: flex; + flex-direction: column; + align-items: left; + } + + .sidebar nav ul li { + text-align: left; + } + + /* Blog content adjustments */ + .blog-content { + padding-left: 0; + /* Remove extra left padding */ + } + + /* Date adjustments */ + .date { + padding-top: 0.5rem; + } + + /* Headings adjustments */ + h1 { + font-size: 1.2rem !important; + font-weight: bold; + } + + h2 { + font-size: 1.1rem !important; + } + + /* Paragraph adjustments */ + p { + font-size: 1rem !important; + max-width: 100%; + } + + /* Navigation link font size adjustments */ + .nav-link { + font-size: 1.5rem !important; + } + + /* Footer adjustments */ + .footer { + text-align: center; + padding: 15px; + font-size: 0.8rem; + } + + hr { + margin-left: 0; + margin-right: auto; + } +}
\ No newline at end of file diff --git a/css/projects-styles.css b/css/projects-styles.css new file mode 100644 index 0000000..4761443 --- /dev/null +++ b/css/projects-styles.css @@ -0,0 +1,258 @@ +/* These main CSS elements were made between 1/27/2025 and 1/28/2025 by Peter Nguyen for peten.ca */ + +/* MAIN */ + +body { + min-height: 100vh; + display: flex; + flex-direction: column; + overflow: auto; + position: relative; + background-color: #f9f9f9; + margin: 0 !important; + padding: 0 !important; +} + +/* FONTS */ + +.font-ubuntu { + font-family: "Ubuntu Sans", serif; + font-optical-sizing: auto; + font-weight: bold; + font-style: normal; + font-variation-settings: "wdth" 100; +} + +.font-montserrat { + font-family: "Montserrat", serif; + font-optical-sizing: auto; + font-weight: normal; + font-style: normal; +} + +/* TEXT */ + +h1 { + font-size: 2rem !important; + font-weight: 450 !important; + margin: 0; +} + +h2 { + font-size: 1.1rem !important; + font-weight: bold; +} + +h3 { + font-size: 1.5rem !important; + font-weight: 350 !important; + margin: 0; +} + +h4 { + font-size: 0.9rem !important; + font-weight: 300; + margin: 0; + opacity: 0.5; +} + +p { + font-size: 1rem !important; + font-weight: 400; + width: 300px; + text-wrap: wrap; +} + +a { + text-decoration: none !important; + color: inherit !important; +} + +/* ANIMS */ + +.fade-in { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 0.5s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +/* NAV */ + +.sidebar nav ul { + list-style-type: none; + padding: 0; + margin: 0; +} + +.nav-link { + font-size: 1.5rem !important; +} + +.active { + font-weight: 500 !important; +} + +/* BOTTOM OF PAGE */ + +.footer { + width: 100%; + text-align: center; + font-size: 0.75rem; + padding: 10px; + margin-top: auto; + opacity: 0.5; +} + +/* PAGE SPECIFIC */ + +.container { + display: flex; + flex-direction: row; + justify-content: center; + text-align: left; + padding-top: 3%; + flex-grow: 1; +} + +.projects-content { + padding-top: 1%; + padding-left: 5%; + width: 100vw; +} + +.projects-grid { + display: grid; + gap: 1em; + grid-template-columns: auto auto auto; + grid-auto-flow: row; +} + +.grid-box { + background: white; + padding: 15px; + border-radius: 8px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + border: 1px solid #ddd; +} + +.inactive { + opacity: 0.5; +} + +.profile-pic { + width: 100px; + border-radius: 50%; +} + +.sidebar { + display: flex; + flex-direction: column; + align-items: flex-start; + padding-top: 1%; + /* Keeps everything left-aligned */ +} + +.sidebar img { + padding-bottom: 5%; +} + +.year { + padding-top: 3%; +} + +/* MOBILE CSS ADAPTATIONS */ + +@media (max-width: 768px) { + + /* Make sure the container stacks correctly */ + .container { + flex-direction: column; + align-items: left; + width: 100%; + padding: 5% !important; + } + + /* Sidebar adjustments */ + .sidebar { + width: 100%; + align-items: left; + text-align: left; + padding-bottom: 20px; + } + + .sidebar nav ul { + display: flex; + flex-direction: column; + align-items: left; + } + + .sidebar nav ul li { + text-align: left; + } + + /* Project Grid - stack in 1 column */ + .projects-grid { + grid-template-columns: 1fr; + width: 100%; + padding: 0; + padding-bottom: 5%; + } + + .grid-box { + width: 100%; + margin: 0 auto; + } + + /* Adjust project content */ + .projects-content { + width: 100%; + padding-left: 0; + text-align: left; + } + + /* Headings */ + header { + border-top: 1px solid grey; + padding-top: 5%; + } + + h1 { + font-size: 1.5rem !important; + } + + h2 { + font-size: 1.1rem !important; + } + + h3 { + font-size: 1.2rem !important; + } + + .year { + padding-bottom: 2%; + } + + p { + font-size: 1rem !important; + width: auto; + } + + /* Footer */ + .footer { + text-align: center; + padding: 15px; + font-size: 0.8rem; + } +}
\ No newline at end of file diff --git a/css/styles.css b/css/styles.css new file mode 100644 index 0000000..649ae09 --- /dev/null +++ b/css/styles.css @@ -0,0 +1,164 @@ +/* These main CSS elements were made between 1/27/2025 and 1/28/2025 by Peter Nguyen for peten.ca */ + +/* MAIN */ + +body { + height: 100%; + display: flex; + flex-direction: column; + margin: 0; + padding: 0; + overflow: hidden; + position: relative; + background-color: #f9f9f9; +} + +/* FONTS */ + +.font-ubuntu { + font-family: "Ubuntu Sans", serif; + font-optical-sizing: auto; + font-weight: bold; + font-style: normal; + font-variation-settings: "wdth" 100; +} + +.font-montserrat { + font-family: "Montserrat", serif; + font-optical-sizing: auto; + font-weight: normal; + font-style: normal; +} + +.container-content { + display: flex; + align-items: center; + justify-content: center; + text-align: left; + gap: 30px; + flex-direction: row; + height: 100vh; +} + +.fade-in { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 0.5s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.image { + width: 175px; + /* Adjust size as needed */ + height: auto; + padding-bottom: 15px; +} + +/* TEXT */ + +h1 { + font-size: 5rem !important; + font-weight: bold; + margin: 0; +} + +h2 { + font-size: 1.1rem !important; +} + +p { + font-size: 0.9rem; + font-weight: 400; +} + +.element { + font-size: 1.5rem; + font-weight: 300; +} + +.typed-cursor { + font-size: 1.5rem; +} + +/* NAV */ + +.nav { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + padding: 10px; +} + +.nav-link { + font-size: 1.5rem !important; +} + +/* BOTTOM OF PAGE */ + +.footer { + position: fixed; + bottom: 0; + width: 100%; + text-align: center; + font-size: 0.75rem; + padding: 10px; +} + +/* MOBILE CSS ADAPTATIONS */ + +@media (max-width: 768px) { + body { + position: absolute; + } + + h1 { + font-size: 3rem; + } + + p { + font-size: 1.2rem; + } + + .container-content { + width: 100%; + padding: 20px; + padding-bottom: 80px; + text-align: center; + flex-direction: column; + justify-content: flex-start; + } + + .image { + position: absolute; + bottom: 35px; + left: 50%; + transform: translateX(-50%); + width: 150px; + height: auto; + } + + .nav-link { + font-size: 2rem !important; + } + + .footer { + position: absolute; + bottom: 0; + width: 100%; + text-align: center; + font-size: 0.75rem; + padding: 10px; + } +} |
