From f9338c543156d192f0419d26773498dc5f35a001 Mon Sep 17 00:00:00 2001 From: jme9 Date: Wed, 1 Jan 2025 19:47:01 -0800 Subject: [PATCH] update to credit section --- .history/index_20241211145042.html | 258 +++++++++++ .history/index_20250101191926.html | 258 +++++++++++ .history/index_20250101192517.html | 259 +++++++++++ .history/site_20241213170511.js | 159 +++++++ .history/site_20250101192501.js | 160 +++++++ .history/style_20241211145042.css | 564 ++++++++++++++++++++++++ .history/style_20250101192623.css | 564 ++++++++++++++++++++++++ .history/style_20250101192647.css | 564 ++++++++++++++++++++++++ .history/style_20250101192652.css | 564 ++++++++++++++++++++++++ .history/text/credit_20241211145042.txt | 3 + .history/text/credit_20250101192431.txt | 9 + .history/text/credit_20250101192546.txt | 9 + .history/text/credit_20250101192553.txt | 9 + .history/text/credit_20250101192718.txt | 7 + .history/text/credit_20250101192731.txt | 8 + Notebook.pdf | Bin 0 -> 71446 bytes index.html | 3 +- site.js | 5 +- style.css | 2 +- text/credit.txt | 8 + 20 files changed, 3409 insertions(+), 4 deletions(-) create mode 100644 .history/index_20241211145042.html create mode 100644 .history/index_20250101191926.html create mode 100644 .history/index_20250101192517.html create mode 100644 .history/site_20241213170511.js create mode 100644 .history/site_20250101192501.js create mode 100644 .history/style_20241211145042.css create mode 100644 .history/style_20250101192623.css create mode 100644 .history/style_20250101192647.css create mode 100644 .history/style_20250101192652.css create mode 100644 .history/text/credit_20241211145042.txt create mode 100644 .history/text/credit_20250101192431.txt create mode 100644 .history/text/credit_20250101192546.txt create mode 100644 .history/text/credit_20250101192553.txt create mode 100644 .history/text/credit_20250101192718.txt create mode 100644 .history/text/credit_20250101192731.txt create mode 100644 Notebook.pdf create mode 100644 text/credit.txt diff --git a/.history/index_20241211145042.html b/.history/index_20241211145042.html new file mode 100644 index 0000000..61a4b05 --- /dev/null +++ b/.history/index_20241211145042.html @@ -0,0 +1,258 @@ + + + + + + + The Ravenwood Arts: Developer Profile Jesse M. Ellis + + + + + +
+
+
+
+

Developer Profile

+

Jesse M. Ellis

+
+ Profile Picture +
+
+ +
+
+ +
+

About

+ +
+
+

About me,

+

Loading...

+
+ +
+
+ About Me Images +

+ LunaLight Concept Work by @toastydoodles +

+
+
+ About Me Images +

LunaLight Title by Jesse M. Ellis

+
+
+ About Me Images +

Across the Bridge by Jesse M. Ellis

+
+
+ About Me Images +

Under the Moon by Jesse M. Ellis

+
+
+ + +
+
+
+
+
+
+ +
+
+
+

Projects

+ + +
+ +
+

LunaLight - A Retro Game Project

+

+ Loading... +

+
+ +
+

LunaLight - First Look

+ +
+
+ + +
+ +
+

+ Capstone - A Mobile App for the CRN +

+

+ Loading... +

+
+ +
+

Capstone Demo

+ +
+
+
+
+
+ +
+ +
+ +
+
+

ᛜ I'd love to hear from you! ᛜ

+
+ + + + +
+ + +
+
+
+
+
+
+
+
+
+
+
+

I made this website! Copyright Jesse M. Ellis 2024 😊

+
+
+
+ + diff --git a/.history/index_20250101191926.html b/.history/index_20250101191926.html new file mode 100644 index 0000000..d35dd04 --- /dev/null +++ b/.history/index_20250101191926.html @@ -0,0 +1,258 @@ + + + + + + + The Ravenwood Arts: Developer Profile Jesse M. Ellis + + + + + +
+
+
+
+

Developer Profile

+

Jesse M. Ellis

+
+ Profile Picture +
+
+ +
+
+ +
+

About

+ +
+
+

About me,

+

Loading...

+
+ +
+
+ About Me Images +

+ LunaLight Concept Work by @toastydoodles +

+
+
+ About Me Images +

LunaLight Title by Jesse M. Ellis

+
+
+ About Me Images +

Across the Bridge by Jesse M. Ellis

+
+
+ About Me Images +

Under the Moon by Jesse M. Ellis

+
+
+ + +
+
+
+
+
+
+ +
+
+
+

Projects

+ + +
+ +
+

LunaLight - A Retro Game Project

+

+ Loading... +

+
+ +
+

LunaLight - First Look

+ +
+
+ + +
+ +
+

+ Capstone - A Mobile App for the CRN +

+

+ Loading... +

+
+ +
+

Capstone Demo

+ +
+
+
+
+
+ +
+ +
+ +
+
+

ᛜ I'd love to hear from you! ᛜ

+
+ + + + +
+ + +
+
+
+
+
+
+
+
+
+
+
+

I made this website using HTML, CSS and JavaScript! Copyright Jesse M. Ellis 2024 😊

+
+
+
+ + diff --git a/.history/index_20250101192517.html b/.history/index_20250101192517.html new file mode 100644 index 0000000..c8b9a53 --- /dev/null +++ b/.history/index_20250101192517.html @@ -0,0 +1,259 @@ + + + + + + + The Ravenwood Arts: Developer Profile Jesse M. Ellis + + + + + +
+
+
+
+

Developer Profile

+

Jesse M. Ellis

+
+ Profile Picture +
+
+ +
+
+ +
+

About

+ +
+
+

About me,

+

Loading...

+
+ +
+
+ About Me Images +

+ LunaLight Concept Work by @toastydoodles +

+
+
+ About Me Images +

LunaLight Title by Jesse M. Ellis

+
+
+ About Me Images +

Across the Bridge by Jesse M. Ellis

+
+
+ About Me Images +

Under the Moon by Jesse M. Ellis

+
+
+ + +
+
+
+
+
+
+ +
+
+
+

Projects

+ + +
+ +
+

LunaLight - A Retro Game Project

+

+ Loading... +

+
+ +
+

LunaLight - First Look

+ +
+
+ + +
+ +
+

+ Capstone - A Mobile App for the CRN +

+

+ Loading... +

+
+ +
+

Capstone Demo

+ +
+
+
+
+
+ +
+ +
+ +
+
+

ᛜ I'd love to hear from you! ᛜ

+
+ + + + +
+ + +
+
+
+
+
+
+
+
+
+
+
+

Loading...

+ +
+
+
+ + diff --git a/.history/site_20241213170511.js b/.history/site_20241213170511.js new file mode 100644 index 0000000..2a1bab0 --- /dev/null +++ b/.history/site_20241213170511.js @@ -0,0 +1,159 @@ +document.addEventListener("DOMContentLoaded", () => { + // Scroll page + document.querySelectorAll(".nav-link").forEach((anchor) => { + anchor.addEventListener("click", function (e) { + e.preventDefault(); + + const target = document.querySelector(this.getAttribute("href")); + if (!target) return; + + const targetPosition = + target.getBoundingClientRect().top + window.scrollY; + const startPosition = window.scrollY; + const distance = targetPosition - startPosition; + const duration = 1000; + let startTime = null; + + function easeOutCubic(t) { + return 1 - Math.pow(1 - t, 3); + } + + function scrollAnimation(currentTime) { + if (!startTime) startTime = currentTime; + const timeElapsed = currentTime - startTime; + const progress = Math.min(timeElapsed / duration, 1); + const easeProgress = easeOutCubic(progress); + window.scrollTo(0, startPosition + distance * easeProgress); + + if (progress < 1) { + requestAnimationFrame(scrollAnimation); + } + } + + requestAnimationFrame(scrollAnimation); + }); + }); + + // dynamic scrolling + document.addEventListener("scroll", () => { + const navBar = document.querySelector(".navbar"); + const titleBox = document.querySelector(".title-box"); + const aboutSection = document.querySelector("#about"); + const contactSection = document.querySelector("#contact"); + const creditsSection = document.querySelector("#credits"); + const parallaxlayer1 = document.querySelector(".layer-1"); + const parallaxlayer2 = document.querySelector(".layer-2"); + const parallaxlayer3 = document.querySelector(".layer-3"); + + const scrollY = window.scrollY; + const aboutTop = aboutSection.getBoundingClientRect().top + scrollY; + const contactTop = contactSection.getBoundingClientRect().top + scrollY; + const sectionTop = creditsSection.offsetTop; + const slowScrollRate = 0.5; + + if (scrollY < aboutTop) { + const opacity1 = scrollY / aboutTop; + titleBox.style.transform = `translateY(${scrollY * slowScrollRate}px)`; + titleBox.style.opacity = Math.max(1 - opacity1, 0); + } else { + titleBox.style.transform = "translateY(0)"; + titleBox.style.opacity = 0; + } + + if (scrollY > contactTop) { + const opacity2 = + (scrollY - contactTop) / (document.body.scrollHeight - contactTop); + navBar.style.opacity = Math.max(1 - opacity2, 0.5); + } else { + navBar.style.opacity = 1; + } + + const relativeScrollY = sectionTop - scrollY; + parallaxlayer1.style.transform = `translateY(${relativeScrollY * 0.2}px)`; + parallaxlayer2.style.transform = `translateY(${relativeScrollY * 0.4}px)`; + parallaxlayer3.style.transform = `translateY(${relativeScrollY * 0.6}px)`; + }); + + // Function to load text from a file into an html component + function loadTextFromFile(filePath, targetSelector) { + fetch(filePath) + .then((response) => { + if (!response.ok) { + throw new Error("Failed to fetch file: " + response.statusText); + } + return response.text(); + }) + .then((text) => { + const targetElement = document.querySelector(targetSelector); + if (targetElement) { + targetElement.textContent = text; + } else { + console.error(`Target element not found: ${targetSelector}`); + } + }) + .catch((error) => { + console.error("Error loading text from file:", error); + }); + } + + // Load text files when page loads + window.addEventListener("load", () => { + loadTextFromFile("text/about.txt", ".about-paragraph"); + loadTextFromFile("text/project1.txt", "#project1-paragraph"); + loadTextFromFile("text/project2.txt", "#project2-paragraph"); + loadTextFromFile("text/airship.txt", "#airship-text"); + loadTextFromFile("text/jama.txt", "#jama-text"); + loadTextFromFile("text/intel.txt", "#intel-text"); + }); + + // Image carousel + const images = document.querySelectorAll(".image-container"); + const prevBtn = document.querySelector(".prev-btn"); + const nextBtn = document.querySelector(".next-btn"); + let currentIndex = 0; + function updateImages() { + images.forEach((img, index) => { + img.classList.toggle("current-image", index === currentIndex); + img.classList.toggle("hidden-image", index !== currentIndex); + }); + } + prevBtn.addEventListener("click", () => { + currentIndex = (currentIndex - 1 + images.length) % images.length; + updateImages(); + }); + nextBtn.addEventListener("click", () => { + currentIndex = (currentIndex + 1) % images.length; + updateImages(); + }); + + updateImages(); + + // On contact submit + document + .getElementById("contact-form") + .addEventListener("submit", async function (event) { + event.preventDefault(); + const form = event.target; + const formData = new FormData(form); + try { + const response = await fetch(form.action, { + method: form.method, + body: formData, + headers: { + Accept: "application/json", + }, + }); + if (response.ok) { + alert("Thank you! Your message has been sent."); + form.reset(); + } else { + alert("Oops! There was a problem submitting your form."); + } + } catch (error) { + console.error("Error:", error); + alert( + "There was a problem submitting your form. Please try again later." + ); + } + }); +}); diff --git a/.history/site_20250101192501.js b/.history/site_20250101192501.js new file mode 100644 index 0000000..d5ef66d --- /dev/null +++ b/.history/site_20250101192501.js @@ -0,0 +1,160 @@ +document.addEventListener("DOMContentLoaded", () => { + // Scroll page + document.querySelectorAll(".nav-link").forEach((anchor) => { + anchor.addEventListener("click", function (e) { + e.preventDefault(); + + const target = document.querySelector(this.getAttribute("href")); + if (!target) return; + + const targetPosition = + target.getBoundingClientRect().top + window.scrollY; + const startPosition = window.scrollY; + const distance = targetPosition - startPosition; + const duration = 1000; + let startTime = null; + + function easeOutCubic(t) { + return 1 - Math.pow(1 - t, 3); + } + + function scrollAnimation(currentTime) { + if (!startTime) startTime = currentTime; + const timeElapsed = currentTime - startTime; + const progress = Math.min(timeElapsed / duration, 1); + const easeProgress = easeOutCubic(progress); + window.scrollTo(0, startPosition + distance * easeProgress); + + if (progress < 1) { + requestAnimationFrame(scrollAnimation); + } + } + + requestAnimationFrame(scrollAnimation); + }); + }); + + // dynamic scrolling + document.addEventListener("scroll", () => { + const navBar = document.querySelector(".navbar"); + const titleBox = document.querySelector(".title-box"); + const aboutSection = document.querySelector("#about"); + const contactSection = document.querySelector("#contact"); + const creditsSection = document.querySelector("#credits"); + const parallaxlayer1 = document.querySelector(".layer-1"); + const parallaxlayer2 = document.querySelector(".layer-2"); + const parallaxlayer3 = document.querySelector(".layer-3"); + + const scrollY = window.scrollY; + const aboutTop = aboutSection.getBoundingClientRect().top + scrollY; + const contactTop = contactSection.getBoundingClientRect().top + scrollY; + const sectionTop = creditsSection.offsetTop; + const slowScrollRate = 0.5; + + if (scrollY < aboutTop) { + const opacity1 = scrollY / aboutTop; + titleBox.style.transform = `translateY(${scrollY * slowScrollRate}px)`; + titleBox.style.opacity = Math.max(1 - opacity1, 0); + } else { + titleBox.style.transform = "translateY(0)"; + titleBox.style.opacity = 0; + } + + if (scrollY > contactTop) { + const opacity2 = + (scrollY - contactTop) / (document.body.scrollHeight - contactTop); + navBar.style.opacity = Math.max(1 - opacity2, 0.5); + } else { + navBar.style.opacity = 1; + } + + const relativeScrollY = sectionTop - scrollY; + parallaxlayer1.style.transform = `translateY(${relativeScrollY * 0.2}px)`; + parallaxlayer2.style.transform = `translateY(${relativeScrollY * 0.4}px)`; + parallaxlayer3.style.transform = `translateY(${relativeScrollY * 0.6}px)`; + }); + + // Function to load text from a file into an html component + function loadTextFromFile(filePath, targetSelector) { + fetch(filePath) + .then((response) => { + if (!response.ok) { + throw new Error("Failed to fetch file: " + response.statusText); + } + return response.text(); + }) + .then((text) => { + const targetElement = document.querySelector(targetSelector); + if (targetElement) { + targetElement.textContent = text; + } else { + console.error(`Target element not found: ${targetSelector}`); + } + }) + .catch((error) => { + console.error("Error loading text from file:", error); + }); + } + + // Load text files when page loads + window.addEventListener("load", () => { + loadTextFromFile("text/about.txt", ".about-paragraph"); + loadTextFromFile("text/project1.txt", "#project1-paragraph"); + loadTextFromFile("text/project2.txt", "#project2-paragraph"); + loadTextFromFile("text/airship.txt", "#airship-text"); + loadTextFromFile("text/jama.txt", "#jama-text"); + loadTextFromFile("text/intel.txt", "#intel-text"); + loadTextFromFile("text/credit.txt", "#credit-text"); + }); + + // Image carousel + const images = document.querySelectorAll(".image-container"); + const prevBtn = document.querySelector(".prev-btn"); + const nextBtn = document.querySelector(".next-btn"); + let currentIndex = 0; + function updateImages() { + images.forEach((img, index) => { + img.classList.toggle("current-image", index === currentIndex); + img.classList.toggle("hidden-image", index !== currentIndex); + }); + } + prevBtn.addEventListener("click", () => { + currentIndex = (currentIndex - 1 + images.length) % images.length; + updateImages(); + }); + nextBtn.addEventListener("click", () => { + currentIndex = (currentIndex + 1) % images.length; + updateImages(); + }); + + updateImages(); + + // On contact submit + document + .getElementById("contact-form") + .addEventListener("submit", async function (event) { + event.preventDefault(); + const form = event.target; + const formData = new FormData(form); + try { + const response = await fetch(form.action, { + method: form.method, + body: formData, + headers: { + Accept: "application/json", + }, + }); + if (response.ok) { + alert("Thank you! Your message has been sent."); + form.reset(); + } else { + alert("Oops! There was a problem submitting your form."); + } + } catch (error) { + console.error("Error:", error); + alert( + "There was a problem submitting your form. Please try again later." + ); + } + }); +}); diff --git a/.history/style_20241211145042.css b/.history/style_20241211145042.css new file mode 100644 index 0000000..22f5edd --- /dev/null +++ b/.history/style_20241211145042.css @@ -0,0 +1,564 @@ +body { + margin: 0; + font-family: Arial, sans-serif; + color: black; + min-width: 768px; +} + +.page-container { + max-width: 1440px; + margin: 0 auto; +} + +.navbar { + position: fixed; + top: 0; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + background: rgba(0, 0, 0, 1); + padding: 2.5rem; + z-index: 10; +} + +.nav-left { + display: flex; + align-items: center; + gap: 1rem; + padding-left: 2rem; +} + +.icon-pic { + width: 45px; + height: 45px; +} + +.nav-right { + display: flex; + gap: 4rem; + padding-right: 7rem; +} + +.nav-link { + color: #fff; + font-size: 1rem; + margin-right: 1rem; + text-decoration: none; + padding: 10px; + border-radius: 10px; +} + +.nav-link:hover { + background: rgba(24, 18, 18, 0.8); +} + +.section { + max-width: 1440px; + display: flex; + justify-content: center; + padding: 2rem; + color: #fff; + margin-top: 2rem; +} + +.title-section { + position: relative; + height: 70vh; + display: flex; + justify-content: right; + margin-top: 3rem; + margin-right: 10rem; + align-items: center; +} + +.title-box { + display: flex; + align-items: center; + justify-content: space-between; + background: rgba(0, 0, 0, 1); + border-radius: 100px; + margin-top: 15rem; + padding: 0.75rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + max-width: 80%; + min-width: 400px; +} + +.profile-pic { + width: 150px; + height: 150px; + border-radius: 50%; + margin-left: 1.5rem; + object-fit: cover; +} + +.title-text { + text-align: center; + padding-left: 1rem; +} + +.title-text h1 { + margin: 0; + font-size: 3rem; + color: #ffe8e8; +} + +.title-text p { + margin: 0; + color: #a07d7d; + font-size: 1rem; +} + +.about-section, +.work-section, +.projects-section, +.contact-section { + display: flex; + justify-content: center; + width: 100%; + max-width: 1440px; +} + +.grid-container { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; + width: 100%; +} + +.grid-item { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2rem; + background: rgba(11, 35, 48, 0.8); + padding: 2rem; + border-radius: 20px; + color: #ffe8e8; + align-items: center; +} + +/* About box */ + +.about-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.about-box-title { + text-align: center; + color: #ffe8e8; +} + +.about-text { + flex: 1; +} + +.about-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* About box image carousel */ + +.about-image { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + height: 500px; + width: 100%; + overflow: hidden; + border-radius: 10px; + position: relative; + background-color: #001316; +} + +.image-container { + text-align: center; + display: none; + height: 400px; + width: 95%; + margin: 10px; + justify-content: center; + align-items: center; +} + +.image-container img { + max-width: 100%; + max-height: calc(100% - 40px); + object-fit: contain; + border-radius: 10px; + transition: opacity 0.5s ease; +} + +.image-container.current-image { + display: block; +} + +.image-title { + margin-top: 10px; + font-size: 1rem; + color: #ffe8e8; + font-weight: bold; +} + +.about-buttons { + position: absolute; + bottom: 10px; + left: 50%; + transform: translateX(-50%); + display: flex; + justify-content: space-between; + width: 60%; + gap: 15rem; +} + +button.prev-btn, +button.next-btn { + font-size: xx-large; + background: rgba(40, 49, 102, 0.5); + color: white; + border: none; + border-radius: 10px; + cursor: pointer; + flex: 1; + line-height: 1.6rem; + padding-bottom: 10px; +} + +button:hover { + background: rgba(45, 38, 75, 0.5); +} + +/* Projects Box */ + +.project-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.project-box-title { + text-align: center; + color: #ffe8e8; +} + +.project-text { + flex: 1; +} + +.project-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* Project 1 */ + +.project1-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project1-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Project 2 */ + +.project2-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project2-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Previous Work */ + +.work-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 95%; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.work-section-title { + text-align: center; + color: #ffe8e8; + padding: 1rem; +} + +.work-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; + justify-items: center; +} + +.work-card { + background: rgba(11, 35, 48, 0.8); + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + overflow: hidden; + text-align: center; + padding: 1rem; + transition: transform 0.2s ease-in-out; +} + +.work-card-link { + text-decoration: none; + color: inherit; + display: block; + transition: transform 0.2s ease-in-out; +} + +.work-card-link:hover .work-card { + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); + transform: translateY(-10px); +} + +.work-card-image { + width: 100%; + height: 200px; + object-fit: contain; +} + +.work-card-title { + font-size: 1.5rem; + margin: 1rem 0; + color: #ffe8e8; +} + +.work-card-text { + font-size: 1rem; + color: #ffe8e8; + line-height: 1.5; + white-space: pre-wrap; +} + +/* Contact Form */ + +.contact-section { + overflow: visible; +} + +.contact-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 500px; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.contact-section-title { + text-align: center; + font-size: large; + color: #ffe8e8; + padding: 3rem; +} + +.contact-form { + display: flex; + flex-direction: column; + gap: 16px; + max-width: 400px; + margin: 0 auto; +} + +.contact-form label { + font-weight: bold; +} + +.contact-form input, +.contact-form textarea { + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + font-family: "Courier New", Courier, monospace; +} + +.form-buttons { + display: flex; + justify-content: center; + gap: 10px; +} + +.form-buttons button { + padding: 10px 20px; + border: none; + border-radius: 5px; + cursor: pointer; +} + +button[type="submit"] { + background-color: #336854; + color: white; +} + +button[type="reset"] { + background-color: #06425a; + color: white; +} + +/* Credits Section - parallax background */ + +.credits-section { + position: relative; + display: flex; + height: 100vh; + min-width: 768px; + justify-content: center; + align-items: center; + overflow: visible; +} + +.credits-section .parallax-layer { + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.credits-box { + display: flex; + background: rgba(0, 0, 0, 1); + border-radius: 100px; + width: 400px; + padding: 10px; + margin-bottom: 5rem; +} + +.parallax-layer { + position: absolute; + width: 100%; + height: 100%; + background-size: cover; + background-position: left; + background-repeat: no-repeat; + min-width: 768px; + z-index: -1; +} + +.layer-1 { + background-image: url("images/Clouds.png"); + top: 0; +} + +.layer-2 { + background-image: url("images/Trees.png"); + top: 0; +} + +.layer-3 { + background-image: url("images/Bridge.png"); + top: 0; +} + +/* Media Queries */ + +@media (min-width: 1440px) { + .page-container { + padding: 0; + } + + .navbar { + justify-content: center; + } + + .nav-left { + padding-right: 12rem; + } +} + +@media (max-width: 1000px) { + .about-box { + flex-direction: column; + text-align: center; + height: 1040px; + } + + .project-box { + flex-direction: column; + text-align: center; + } + + .work-grid { + grid-template-columns: repeat(auto-fit, minmax(510px, 1fr)); + } + + .grid-item { + grid-template-columns: 1fr; + } + + .title-text h1 { + font-size: 1.5rem; + } + + .about-image { + margin-top: 1rem; + } + + .nav-left { + padding-left: 0rem; + } + + .nav-right { + gap: 1rem; + padding-right: 5rem; + } +} + +@media (max-width: 768px) { + .parallax-layer { + height: 120%; + } +} diff --git a/.history/style_20250101192623.css b/.history/style_20250101192623.css new file mode 100644 index 0000000..8d54a17 --- /dev/null +++ b/.history/style_20250101192623.css @@ -0,0 +1,564 @@ +body { + margin: 0; + font-family: Arial, sans-serif; + color: black; + min-width: 768px; +} + +.page-container { + max-width: 1440px; + margin: 0 auto; +} + +.navbar { + position: fixed; + top: 0; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + background: rgba(0, 0, 0, 1); + padding: 2.5rem; + z-index: 10; +} + +.nav-left { + display: flex; + align-items: center; + gap: 1rem; + padding-left: 2rem; +} + +.icon-pic { + width: 45px; + height: 45px; +} + +.nav-right { + display: flex; + gap: 4rem; + padding-right: 7rem; +} + +.nav-link { + color: #fff; + font-size: 1rem; + margin-right: 1rem; + text-decoration: none; + padding: 10px; + border-radius: 10px; +} + +.nav-link:hover { + background: rgba(24, 18, 18, 0.8); +} + +.section { + max-width: 1440px; + display: flex; + justify-content: center; + padding: 2rem; + color: #fff; + margin-top: 2rem; +} + +.title-section { + position: relative; + height: 70vh; + display: flex; + justify-content: right; + margin-top: 3rem; + margin-right: 10rem; + align-items: center; +} + +.title-box { + display: flex; + align-items: center; + justify-content: space-between; + background: rgba(0, 0, 0, 1); + border-radius: 100px; + margin-top: 15rem; + padding: 0.75rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + max-width: 80%; + min-width: 400px; +} + +.profile-pic { + width: 150px; + height: 150px; + border-radius: 50%; + margin-left: 1.5rem; + object-fit: cover; +} + +.title-text { + text-align: center; + padding-left: 1rem; +} + +.title-text h1 { + margin: 0; + font-size: 3rem; + color: #ffe8e8; +} + +.title-text p { + margin: 0; + color: #a07d7d; + font-size: 1rem; +} + +.about-section, +.work-section, +.projects-section, +.contact-section { + display: flex; + justify-content: center; + width: 100%; + max-width: 1440px; +} + +.grid-container { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; + width: 100%; +} + +.grid-item { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2rem; + background: rgba(11, 35, 48, 0.8); + padding: 2rem; + border-radius: 20px; + color: #ffe8e8; + align-items: center; +} + +/* About box */ + +.about-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.about-box-title { + text-align: center; + color: #ffe8e8; +} + +.about-text { + flex: 1; +} + +.about-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* About box image carousel */ + +.about-image { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + height: 500px; + width: 100%; + overflow: hidden; + border-radius: 10px; + position: relative; + background-color: #001316; +} + +.image-container { + text-align: center; + display: none; + height: 400px; + width: 95%; + margin: 10px; + justify-content: center; + align-items: center; +} + +.image-container img { + max-width: 100%; + max-height: calc(100% - 40px); + object-fit: contain; + border-radius: 10px; + transition: opacity 0.5s ease; +} + +.image-container.current-image { + display: block; +} + +.image-title { + margin-top: 10px; + font-size: 1rem; + color: #ffe8e8; + font-weight: bold; +} + +.about-buttons { + position: absolute; + bottom: 10px; + left: 50%; + transform: translateX(-50%); + display: flex; + justify-content: space-between; + width: 60%; + gap: 15rem; +} + +button.prev-btn, +button.next-btn { + font-size: xx-large; + background: rgba(40, 49, 102, 0.5); + color: white; + border: none; + border-radius: 10px; + cursor: pointer; + flex: 1; + line-height: 1.6rem; + padding-bottom: 10px; +} + +button:hover { + background: rgba(45, 38, 75, 0.5); +} + +/* Projects Box */ + +.project-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.project-box-title { + text-align: center; + color: #ffe8e8; +} + +.project-text { + flex: 1; +} + +.project-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* Project 1 */ + +.project1-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project1-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Project 2 */ + +.project2-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project2-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Previous Work */ + +.work-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 95%; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.work-section-title { + text-align: center; + color: #ffe8e8; + padding: 1rem; +} + +.work-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; + justify-items: center; +} + +.work-card { + background: rgba(11, 35, 48, 0.8); + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + overflow: hidden; + text-align: center; + padding: 1rem; + transition: transform 0.2s ease-in-out; +} + +.work-card-link { + text-decoration: none; + color: inherit; + display: block; + transition: transform 0.2s ease-in-out; +} + +.work-card-link:hover .work-card { + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); + transform: translateY(-10px); +} + +.work-card-image { + width: 100%; + height: 200px; + object-fit: contain; +} + +.work-card-title { + font-size: 1.5rem; + margin: 1rem 0; + color: #ffe8e8; +} + +.work-card-text { + font-size: 1rem; + color: #ffe8e8; + line-height: 1.5; + white-space: pre-wrap; +} + +/* Contact Form */ + +.contact-section { + overflow: visible; +} + +.contact-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 500px; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.contact-section-title { + text-align: center; + font-size: large; + color: #ffe8e8; + padding: 3rem; +} + +.contact-form { + display: flex; + flex-direction: column; + gap: 16px; + max-width: 400px; + margin: 0 auto; +} + +.contact-form label { + font-weight: bold; +} + +.contact-form input, +.contact-form textarea { + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + font-family: "Courier New", Courier, monospace; +} + +.form-buttons { + display: flex; + justify-content: center; + gap: 10px; +} + +.form-buttons button { + padding: 10px 20px; + border: none; + border-radius: 5px; + cursor: pointer; +} + +button[type="submit"] { + background-color: #336854; + color: white; +} + +button[type="reset"] { + background-color: #06425a; + color: white; +} + +/* Credits Section - parallax background */ + +.credits-section { + position: relative; + display: flex; + height: 100vh; + min-width: 768px; + justify-content: center; + align-items: center; + overflow: visible; +} + +.credits-section .parallax-layer { + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.credits-box { + display: flex; + background: rgba(0, 0, 0, 1); + border-radius: 50px; + width: 400px; + padding: 10px; + margin-bottom: 5rem; +} + +.parallax-layer { + position: absolute; + width: 100%; + height: 100%; + background-size: cover; + background-position: left; + background-repeat: no-repeat; + min-width: 768px; + z-index: -1; +} + +.layer-1 { + background-image: url("images/Clouds.png"); + top: 0; +} + +.layer-2 { + background-image: url("images/Trees.png"); + top: 0; +} + +.layer-3 { + background-image: url("images/Bridge.png"); + top: 0; +} + +/* Media Queries */ + +@media (min-width: 1440px) { + .page-container { + padding: 0; + } + + .navbar { + justify-content: center; + } + + .nav-left { + padding-right: 12rem; + } +} + +@media (max-width: 1000px) { + .about-box { + flex-direction: column; + text-align: center; + height: 1040px; + } + + .project-box { + flex-direction: column; + text-align: center; + } + + .work-grid { + grid-template-columns: repeat(auto-fit, minmax(510px, 1fr)); + } + + .grid-item { + grid-template-columns: 1fr; + } + + .title-text h1 { + font-size: 1.5rem; + } + + .about-image { + margin-top: 1rem; + } + + .nav-left { + padding-left: 0rem; + } + + .nav-right { + gap: 1rem; + padding-right: 5rem; + } +} + +@media (max-width: 768px) { + .parallax-layer { + height: 120%; + } +} diff --git a/.history/style_20250101192647.css b/.history/style_20250101192647.css new file mode 100644 index 0000000..fa6bdfc --- /dev/null +++ b/.history/style_20250101192647.css @@ -0,0 +1,564 @@ +body { + margin: 0; + font-family: Arial, sans-serif; + color: black; + min-width: 768px; +} + +.page-container { + max-width: 1440px; + margin: 0 auto; +} + +.navbar { + position: fixed; + top: 0; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + background: rgba(0, 0, 0, 1); + padding: 2.5rem; + z-index: 10; +} + +.nav-left { + display: flex; + align-items: center; + gap: 1rem; + padding-left: 2rem; +} + +.icon-pic { + width: 45px; + height: 45px; +} + +.nav-right { + display: flex; + gap: 4rem; + padding-right: 7rem; +} + +.nav-link { + color: #fff; + font-size: 1rem; + margin-right: 1rem; + text-decoration: none; + padding: 10px; + border-radius: 10px; +} + +.nav-link:hover { + background: rgba(24, 18, 18, 0.8); +} + +.section { + max-width: 1440px; + display: flex; + justify-content: center; + padding: 2rem; + color: #fff; + margin-top: 2rem; +} + +.title-section { + position: relative; + height: 70vh; + display: flex; + justify-content: right; + margin-top: 3rem; + margin-right: 10rem; + align-items: center; +} + +.title-box { + display: flex; + align-items: center; + justify-content: space-between; + background: rgba(0, 0, 0, 1); + border-radius: 100px; + margin-top: 15rem; + padding: 0.75rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + max-width: 80%; + min-width: 400px; +} + +.profile-pic { + width: 150px; + height: 150px; + border-radius: 50%; + margin-left: 1.5rem; + object-fit: cover; +} + +.title-text { + text-align: center; + padding-left: 1rem; +} + +.title-text h1 { + margin: 0; + font-size: 3rem; + color: #ffe8e8; +} + +.title-text p { + margin: 0; + color: #a07d7d; + font-size: 1rem; +} + +.about-section, +.work-section, +.projects-section, +.contact-section { + display: flex; + justify-content: center; + width: 100%; + max-width: 1440px; +} + +.grid-container { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; + width: 100%; +} + +.grid-item { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2rem; + background: rgba(11, 35, 48, 0.8); + padding: 2rem; + border-radius: 20px; + color: #ffe8e8; + align-items: center; +} + +/* About box */ + +.about-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.about-box-title { + text-align: center; + color: #ffe8e8; +} + +.about-text { + flex: 1; +} + +.about-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* About box image carousel */ + +.about-image { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + height: 500px; + width: 100%; + overflow: hidden; + border-radius: 10px; + position: relative; + background-color: #001316; +} + +.image-container { + text-align: center; + display: none; + height: 400px; + width: 95%; + margin: 10px; + justify-content: center; + align-items: center; +} + +.image-container img { + max-width: 100%; + max-height: calc(100% - 40px); + object-fit: contain; + border-radius: 10px; + transition: opacity 0.5s ease; +} + +.image-container.current-image { + display: block; +} + +.image-title { + margin-top: 10px; + font-size: 1rem; + color: #ffe8e8; + font-weight: bold; +} + +.about-buttons { + position: absolute; + bottom: 10px; + left: 50%; + transform: translateX(-50%); + display: flex; + justify-content: space-between; + width: 60%; + gap: 15rem; +} + +button.prev-btn, +button.next-btn { + font-size: xx-large; + background: rgba(40, 49, 102, 0.5); + color: white; + border: none; + border-radius: 10px; + cursor: pointer; + flex: 1; + line-height: 1.6rem; + padding-bottom: 10px; +} + +button:hover { + background: rgba(45, 38, 75, 0.5); +} + +/* Projects Box */ + +.project-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.project-box-title { + text-align: center; + color: #ffe8e8; +} + +.project-text { + flex: 1; +} + +.project-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* Project 1 */ + +.project1-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project1-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Project 2 */ + +.project2-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project2-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Previous Work */ + +.work-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 95%; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.work-section-title { + text-align: center; + color: #ffe8e8; + padding: 1rem; +} + +.work-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; + justify-items: center; +} + +.work-card { + background: rgba(11, 35, 48, 0.8); + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + overflow: hidden; + text-align: center; + padding: 1rem; + transition: transform 0.2s ease-in-out; +} + +.work-card-link { + text-decoration: none; + color: inherit; + display: block; + transition: transform 0.2s ease-in-out; +} + +.work-card-link:hover .work-card { + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); + transform: translateY(-10px); +} + +.work-card-image { + width: 100%; + height: 200px; + object-fit: contain; +} + +.work-card-title { + font-size: 1.5rem; + margin: 1rem 0; + color: #ffe8e8; +} + +.work-card-text { + font-size: 1rem; + color: #ffe8e8; + line-height: 1.5; + white-space: pre-wrap; +} + +/* Contact Form */ + +.contact-section { + overflow: visible; +} + +.contact-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 500px; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.contact-section-title { + text-align: center; + font-size: large; + color: #ffe8e8; + padding: 3rem; +} + +.contact-form { + display: flex; + flex-direction: column; + gap: 16px; + max-width: 400px; + margin: 0 auto; +} + +.contact-form label { + font-weight: bold; +} + +.contact-form input, +.contact-form textarea { + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + font-family: "Courier New", Courier, monospace; +} + +.form-buttons { + display: flex; + justify-content: center; + gap: 10px; +} + +.form-buttons button { + padding: 10px 20px; + border: none; + border-radius: 5px; + cursor: pointer; +} + +button[type="submit"] { + background-color: #336854; + color: white; +} + +button[type="reset"] { + background-color: #06425a; + color: white; +} + +/* Credits Section - parallax background */ + +.credits-section { + position: relative; + display: flex; + height: 100vh; + min-width: 768px; + justify-content: center; + align-items: center; + overflow: visible; +} + +.credits-section .parallax-layer { + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.credits-box { + display: flex; + background: rgba(0, 0, 0, 1); + border-radius: 50px; + width: 600px; + padding: 10px; + margin-bottom: 5rem; +} + +.parallax-layer { + position: absolute; + width: 100%; + height: 100%; + background-size: cover; + background-position: left; + background-repeat: no-repeat; + min-width: 768px; + z-index: -1; +} + +.layer-1 { + background-image: url("images/Clouds.png"); + top: 0; +} + +.layer-2 { + background-image: url("images/Trees.png"); + top: 0; +} + +.layer-3 { + background-image: url("images/Bridge.png"); + top: 0; +} + +/* Media Queries */ + +@media (min-width: 1440px) { + .page-container { + padding: 0; + } + + .navbar { + justify-content: center; + } + + .nav-left { + padding-right: 12rem; + } +} + +@media (max-width: 1000px) { + .about-box { + flex-direction: column; + text-align: center; + height: 1040px; + } + + .project-box { + flex-direction: column; + text-align: center; + } + + .work-grid { + grid-template-columns: repeat(auto-fit, minmax(510px, 1fr)); + } + + .grid-item { + grid-template-columns: 1fr; + } + + .title-text h1 { + font-size: 1.5rem; + } + + .about-image { + margin-top: 1rem; + } + + .nav-left { + padding-left: 0rem; + } + + .nav-right { + gap: 1rem; + padding-right: 5rem; + } +} + +@media (max-width: 768px) { + .parallax-layer { + height: 120%; + } +} diff --git a/.history/style_20250101192652.css b/.history/style_20250101192652.css new file mode 100644 index 0000000..8d54a17 --- /dev/null +++ b/.history/style_20250101192652.css @@ -0,0 +1,564 @@ +body { + margin: 0; + font-family: Arial, sans-serif; + color: black; + min-width: 768px; +} + +.page-container { + max-width: 1440px; + margin: 0 auto; +} + +.navbar { + position: fixed; + top: 0; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + background: rgba(0, 0, 0, 1); + padding: 2.5rem; + z-index: 10; +} + +.nav-left { + display: flex; + align-items: center; + gap: 1rem; + padding-left: 2rem; +} + +.icon-pic { + width: 45px; + height: 45px; +} + +.nav-right { + display: flex; + gap: 4rem; + padding-right: 7rem; +} + +.nav-link { + color: #fff; + font-size: 1rem; + margin-right: 1rem; + text-decoration: none; + padding: 10px; + border-radius: 10px; +} + +.nav-link:hover { + background: rgba(24, 18, 18, 0.8); +} + +.section { + max-width: 1440px; + display: flex; + justify-content: center; + padding: 2rem; + color: #fff; + margin-top: 2rem; +} + +.title-section { + position: relative; + height: 70vh; + display: flex; + justify-content: right; + margin-top: 3rem; + margin-right: 10rem; + align-items: center; +} + +.title-box { + display: flex; + align-items: center; + justify-content: space-between; + background: rgba(0, 0, 0, 1); + border-radius: 100px; + margin-top: 15rem; + padding: 0.75rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + max-width: 80%; + min-width: 400px; +} + +.profile-pic { + width: 150px; + height: 150px; + border-radius: 50%; + margin-left: 1.5rem; + object-fit: cover; +} + +.title-text { + text-align: center; + padding-left: 1rem; +} + +.title-text h1 { + margin: 0; + font-size: 3rem; + color: #ffe8e8; +} + +.title-text p { + margin: 0; + color: #a07d7d; + font-size: 1rem; +} + +.about-section, +.work-section, +.projects-section, +.contact-section { + display: flex; + justify-content: center; + width: 100%; + max-width: 1440px; +} + +.grid-container { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; + width: 100%; +} + +.grid-item { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2rem; + background: rgba(11, 35, 48, 0.8); + padding: 2rem; + border-radius: 20px; + color: #ffe8e8; + align-items: center; +} + +/* About box */ + +.about-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.about-box-title { + text-align: center; + color: #ffe8e8; +} + +.about-text { + flex: 1; +} + +.about-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* About box image carousel */ + +.about-image { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + height: 500px; + width: 100%; + overflow: hidden; + border-radius: 10px; + position: relative; + background-color: #001316; +} + +.image-container { + text-align: center; + display: none; + height: 400px; + width: 95%; + margin: 10px; + justify-content: center; + align-items: center; +} + +.image-container img { + max-width: 100%; + max-height: calc(100% - 40px); + object-fit: contain; + border-radius: 10px; + transition: opacity 0.5s ease; +} + +.image-container.current-image { + display: block; +} + +.image-title { + margin-top: 10px; + font-size: 1rem; + color: #ffe8e8; + font-weight: bold; +} + +.about-buttons { + position: absolute; + bottom: 10px; + left: 50%; + transform: translateX(-50%); + display: flex; + justify-content: space-between; + width: 60%; + gap: 15rem; +} + +button.prev-btn, +button.next-btn { + font-size: xx-large; + background: rgba(40, 49, 102, 0.5); + color: white; + border: none; + border-radius: 10px; + cursor: pointer; + flex: 1; + line-height: 1.6rem; + padding-bottom: 10px; +} + +button:hover { + background: rgba(45, 38, 75, 0.5); +} + +/* Projects Box */ + +.project-box { + display: flex; + margin-top: 10rem; + gap: 2rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 2rem; + width: 95%; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + color: #ffe8e8; + box-sizing: border-box; + height: auto; +} + +.project-box-title { + text-align: center; + color: #ffe8e8; +} + +.project-text { + flex: 1; +} + +.project-paragraph { + line-height: 1.6; + white-space: pre-wrap; +} + +/* Project 1 */ + +.project1-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project1-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Project 2 */ + +.project2-video-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height: 100%; + width: 100%; + border-radius: 10px; + position: relative; +} + +.project2-video { + width: 100%; + height: 100%; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Previous Work */ + +.work-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 95%; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.work-section-title { + text-align: center; + color: #ffe8e8; + padding: 1rem; +} + +.work-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; + justify-items: center; +} + +.work-card { + background: rgba(11, 35, 48, 0.8); + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + overflow: hidden; + text-align: center; + padding: 1rem; + transition: transform 0.2s ease-in-out; +} + +.work-card-link { + text-decoration: none; + color: inherit; + display: block; + transition: transform 0.2s ease-in-out; +} + +.work-card-link:hover .work-card { + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); + transform: translateY(-10px); +} + +.work-card-image { + width: 100%; + height: 200px; + object-fit: contain; +} + +.work-card-title { + font-size: 1.5rem; + margin: 1rem 0; + color: #ffe8e8; +} + +.work-card-text { + font-size: 1rem; + color: #ffe8e8; + line-height: 1.5; + white-space: pre-wrap; +} + +/* Contact Form */ + +.contact-section { + overflow: visible; +} + +.contact-box { + margin-top: 10rem; + background: rgba(0, 0, 0, 0.8); + border-radius: 20px; + padding: 1rem; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); + width: 500px; + color: #ffe8e8; + box-sizing: border-box; + text-align: left; +} + +.contact-section-title { + text-align: center; + font-size: large; + color: #ffe8e8; + padding: 3rem; +} + +.contact-form { + display: flex; + flex-direction: column; + gap: 16px; + max-width: 400px; + margin: 0 auto; +} + +.contact-form label { + font-weight: bold; +} + +.contact-form input, +.contact-form textarea { + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + font-family: "Courier New", Courier, monospace; +} + +.form-buttons { + display: flex; + justify-content: center; + gap: 10px; +} + +.form-buttons button { + padding: 10px 20px; + border: none; + border-radius: 5px; + cursor: pointer; +} + +button[type="submit"] { + background-color: #336854; + color: white; +} + +button[type="reset"] { + background-color: #06425a; + color: white; +} + +/* Credits Section - parallax background */ + +.credits-section { + position: relative; + display: flex; + height: 100vh; + min-width: 768px; + justify-content: center; + align-items: center; + overflow: visible; +} + +.credits-section .parallax-layer { + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.credits-box { + display: flex; + background: rgba(0, 0, 0, 1); + border-radius: 50px; + width: 400px; + padding: 10px; + margin-bottom: 5rem; +} + +.parallax-layer { + position: absolute; + width: 100%; + height: 100%; + background-size: cover; + background-position: left; + background-repeat: no-repeat; + min-width: 768px; + z-index: -1; +} + +.layer-1 { + background-image: url("images/Clouds.png"); + top: 0; +} + +.layer-2 { + background-image: url("images/Trees.png"); + top: 0; +} + +.layer-3 { + background-image: url("images/Bridge.png"); + top: 0; +} + +/* Media Queries */ + +@media (min-width: 1440px) { + .page-container { + padding: 0; + } + + .navbar { + justify-content: center; + } + + .nav-left { + padding-right: 12rem; + } +} + +@media (max-width: 1000px) { + .about-box { + flex-direction: column; + text-align: center; + height: 1040px; + } + + .project-box { + flex-direction: column; + text-align: center; + } + + .work-grid { + grid-template-columns: repeat(auto-fit, minmax(510px, 1fr)); + } + + .grid-item { + grid-template-columns: 1fr; + } + + .title-text h1 { + font-size: 1.5rem; + } + + .about-image { + margin-top: 1rem; + } + + .nav-left { + padding-left: 0rem; + } + + .nav-right { + gap: 1rem; + padding-right: 5rem; + } +} + +@media (max-width: 768px) { + .parallax-layer { + height: 120%; + } +} diff --git a/.history/text/credit_20241211145042.txt b/.history/text/credit_20241211145042.txt new file mode 100644 index 0000000..a676437 --- /dev/null +++ b/.history/text/credit_20241211145042.txt @@ -0,0 +1,3 @@ +I am a creative problem-solver who thrives at the intersection of art and technology. With a background in illustration, design, music and engineering I found that software development is the perfect amalgam of my creative passions. + +A few years ago I embarked on a creative project aimed at combining these different creative skills through game development. My current project is a retro-style platformer called LunaLight and has only solidified my interests in software development. Working on the game showed me that this is what I want, so I went to school to become a software developer. Now multiple rewarding projects, internships and a computer science degree later, I am ready to put knowledge to the test through professional development and keep developing my own retro game projects on the side! Check out some of the sprite work and concept art from my current game project! diff --git a/.history/text/credit_20250101192431.txt b/.history/text/credit_20250101192431.txt new file mode 100644 index 0000000..53d53e2 --- /dev/null +++ b/.history/text/credit_20250101192431.txt @@ -0,0 +1,9 @@ +I made this website using HTML, CSS and JavaScript! + +This website was built as a personal website for a final project in +Intro to Web Development at Portland State University. + +Currently the website is under construction to become the landing page +for my independent game development project mentioned above! + +Copyright Jesse M. Ellis 2024 😊 diff --git a/.history/text/credit_20250101192546.txt b/.history/text/credit_20250101192546.txt new file mode 100644 index 0000000..c38eb5e --- /dev/null +++ b/.history/text/credit_20250101192546.txt @@ -0,0 +1,9 @@ +I made this website using HTML, CSS and JavaScript! + +This website was built as a personal website for a final project in +Intro to Web Development at Portland State University. + +Currently the website is under construction to become the landing page +for my independent game development project mentioned above! + +Copyright Jesse M. Ellis - 2024 diff --git a/.history/text/credit_20250101192553.txt b/.history/text/credit_20250101192553.txt new file mode 100644 index 0000000..7a3c5de --- /dev/null +++ b/.history/text/credit_20250101192553.txt @@ -0,0 +1,9 @@ +I made this website using HTML, CSS and JavaScript! + +This website was built as a personal website for a final project in +Intro to Web Development at Portland State University. + +Currently the website is under construction to become the landing page +for my independent game development project mentioned above! + +Copyright Jesse M. Ellis 2024 diff --git a/.history/text/credit_20250101192718.txt b/.history/text/credit_20250101192718.txt new file mode 100644 index 0000000..9834692 --- /dev/null +++ b/.history/text/credit_20250101192718.txt @@ -0,0 +1,7 @@ +I made this website using HTML, CSS and JavaScript! + +This website was built as a personal website for a final project in Intro to Web Development at Portland State University. + +Currently the website is under construction to become the landing page for my independent game development project mentioned above! + +Copyright Jesse M. Ellis 2024 diff --git a/.history/text/credit_20250101192731.txt b/.history/text/credit_20250101192731.txt new file mode 100644 index 0000000..24c2eed --- /dev/null +++ b/.history/text/credit_20250101192731.txt @@ -0,0 +1,8 @@ +I made this website using HTML, CSS and JavaScript! + +This website was built as a personal website for a final project in Intro to Web Development at +Portland State University. + +Currently the website is under construction to become the landing page for my independent game development project mentioned above! + +Copyright Jesse M. Ellis 2024 diff --git a/Notebook.pdf b/Notebook.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c2933283a0bc86da737a4258ba18939404baac37 GIT binary patch literal 71446 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
-

I made this website! Copyright Jesse M. Ellis 2024 😊

+

Loading...

+
diff --git a/site.js b/site.js index d786e94..d5ef66d 100644 --- a/site.js +++ b/site.js @@ -13,7 +13,7 @@ document.addEventListener("DOMContentLoaded", () => { const distance = targetPosition - startPosition; const duration = 1000; let startTime = null; - + function easeOutCubic(t) { return 1 - Math.pow(1 - t, 3); } @@ -104,6 +104,7 @@ document.addEventListener("DOMContentLoaded", () => { loadTextFromFile("text/airship.txt", "#airship-text"); loadTextFromFile("text/jama.txt", "#jama-text"); loadTextFromFile("text/intel.txt", "#intel-text"); + loadTextFromFile("text/credit.txt", "#credit-text"); }); // Image carousel @@ -125,7 +126,7 @@ document.addEventListener("DOMContentLoaded", () => { currentIndex = (currentIndex + 1) % images.length; updateImages(); }); - + updateImages(); // On contact submit diff --git a/style.css b/style.css index 22f5edd..8d54a17 100644 --- a/style.css +++ b/style.css @@ -471,7 +471,7 @@ button[type="reset"] { .credits-box { display: flex; background: rgba(0, 0, 0, 1); - border-radius: 100px; + border-radius: 50px; width: 400px; padding: 10px; margin-bottom: 5rem; diff --git a/text/credit.txt b/text/credit.txt new file mode 100644 index 0000000..24c2eed --- /dev/null +++ b/text/credit.txt @@ -0,0 +1,8 @@ +I made this website using HTML, CSS and JavaScript! + +This website was built as a personal website for a final project in Intro to Web Development at +Portland State University. + +Currently the website is under construction to become the landing page for my independent game development project mentioned above! + +Copyright Jesse M. Ellis 2024