From 038f4f6f319a115e557934f18193dd37232fb604 Mon Sep 17 00:00:00 2001 From: Notoric Date: Thu, 23 Jan 2025 15:18:57 +0000 Subject: [PATCH] added contact me --- Tom Cornes CV.pdf | Bin 0 -> 19693 bytes index.html | 22 +++++ scripts/homepage.js | 101 +++++++++++----------- styles/global.css | 198 +++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 261 insertions(+), 60 deletions(-) create mode 100644 Tom Cornes CV.pdf diff --git a/Tom Cornes CV.pdf b/Tom Cornes CV.pdf new file mode 100644 index 0000000000000000000000000000000000000000..af297968a23ebc61e31d836b4dcdc92fac843140 GIT binary patch literal 19693 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 425e66a..604d507 100644 --- a/index.html +++ b/index.html @@ -83,6 +83,28 @@ +
+

Looking to hire me?

+ +

Contact me here

+
+
+ + hireme@notoric.net +

Email me directly for any job opportunities or questions.

+
+
+ + 07938135980 +

I prefer to be contacted via WhatsApp, but I am also available via text or phone.

+
+
+ + Tom Cornes +

Connect with me on LinkedIn for professional networking.

+
+
+
diff --git a/scripts/homepage.js b/scripts/homepage.js index 2040671..619efed 100644 --- a/scripts/homepage.js +++ b/scripts/homepage.js @@ -1,48 +1,55 @@ -const navbtn = document.getElementById('nav-btn'); -const topshrtct = document.getElementById('top-shrtct'); - -navbtn.addEventListener('click', () => { - const navbar = document.getElementById('navbar'); - navbar.classList.toggle('expanded'); - navbtn.classList.toggle('expanded'); -}); - -window.addEventListener('scroll', () => { - if (window.scrollY > 100) { - topshrtct.classList.add('visible'); - } else { - topshrtct.classList.remove('visible'); - } -}); - -topshrtct.addEventListener('click', () => { - if (window.scrollY > 100) { - window.scrollTo({ top: 0, behavior: 'smooth' }); - } -}); - -let links = document.getElementById('navbar').getElementsByTagName('a'); - -for (let link of links) { - link.addEventListener('click', () => { - const navbar = document.getElementById('navbar'); - navbar.classList.remove('expanded'); - navbtn.classList.remove('expanded'); - }); -} - -async function updateAge() { - setInterval(() => { - const birthdate = new Date('2002-02-12T07:35:00Z'); - let age = Date.now() - birthdate.getTime(); - age = age / 31556952000; - - age = age.toFixed(9); - - const ageElement = document.getElementById('age'); - ageElement.textContent = age; - - }, 50); -} - +const navbtn = document.getElementById('nav-btn'); +const topshrtct = document.getElementById('top-shrtct'); +const logo = document.getElementById('logo'); + +navbtn.addEventListener('click', () => { + const navbar = document.getElementById('navbar'); + navbar.classList.toggle('expanded'); + navbtn.classList.toggle('expanded'); +}); + +window.addEventListener('scroll', () => { + if (window.scrollY > 100) { + topshrtct.classList.add('visible'); + } else { + topshrtct.classList.remove('visible'); + } +}); + +topshrtct.addEventListener('click', () => { + if (window.scrollY > 100) { + window.scrollTo({ top: 0, behavior: 'smooth' }); + } +}); + +logo.addEventListener('click', () => { + if (window.scrollY > 100) { + window.scrollTo({ top: 0, behavior: 'smooth' }); + } +}); + +let links = document.getElementById('navbar').getElementsByTagName('a'); + +for (let link of links) { + link.addEventListener('click', () => { + const navbar = document.getElementById('navbar'); + navbar.classList.remove('expanded'); + navbtn.classList.remove('expanded'); + }); +} + +async function updateAge() { + setInterval(() => { + const birthdate = new Date('2002-02-12T07:35:00Z'); + let age = Date.now() - birthdate.getTime(); + age = age / 31556952000; + + age = age.toFixed(9); + + const ageElement = document.getElementById('age'); + ageElement.textContent = age; + + }, 50); +} + updateAge(); \ No newline at end of file diff --git a/styles/global.css b/styles/global.css index f43ef5e..027f28a 100644 --- a/styles/global.css +++ b/styles/global.css @@ -18,6 +18,13 @@ body { overflow-y: scroll; } +em { + color: hsl(30, 100%, 65%); + font-style: normal; +} + +/* Header */ + #top-shrtct { position: fixed; bottom: 30px; @@ -59,21 +66,10 @@ body { z-index: 10; } -main { - max-width: 1300px; - margin: 0 auto; - padding-inline: 30px; - flex-direction: column; -} - -em { - color: hsl(30, 100%, 65%); - font-style: normal; -} - #logo { font-family: "Fira Mono", monospace; font-weight: 500; + cursor: pointer; } #navbar p { @@ -133,6 +129,17 @@ em { padding-right: 8px; } +/* Body */ + +main { + max-width: 1300px; + margin: 0 auto; + padding-inline: 30px; + flex-direction: column; +} + +/* Landing */ + #homepage { width: 100%; height: calc(100vh - 60px); @@ -249,6 +256,8 @@ em { font-weight: 700; } +/* About */ + #box-with-title { border-radius: 60px; padding-inline: 50px; @@ -318,6 +327,8 @@ em { font-family: "Fira Mono", monospace; } +/* Projects */ + #projects { margin: auto; width: fit-content; @@ -418,6 +429,114 @@ em { margin: 0; } +/* Contact */ + +#contact { + margin: auto; + width: fit-content; + padding-top: 100px; +} + +#contact h1 { + padding-left: 75px; +} + +#cv-button { + position: relative; + overflow: hidden; + height: 2em; + width: 2em; + font-size: 5em; + font-family: "Fira Mono", monospace; + font-weight: 800; + color: var(--accent); + background: linear-gradient(120deg, #7520ff, #ff0050, #ff8000); + border-radius: 12%; + border: none; + display: block; + margin: auto; + margin-block: 40px; + cursor: pointer; + padding: 0; +} + +#cv-button-wrapper { + color: var(--accent); + text-decoration: none; +} + +#cv-button::before { + content: ''; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: linear-gradient( + 0deg, + transparent, + rgba(255, 255, 255, 0.35), + transparent + ); + transform: rotate(45deg) translateY(-50%); + transition: transform 0.5s ease; +} + +#cv-button:hover::before { + transform: rotate(45deg) translateY(50%); +} + +#contact h2 { + padding-left: 75px; +} + +#contact-showcase { + max-width: 800px; + padding-inline: 50px; + padding-block: 20px; + gap: 30px; +} + +.contact-area { + width: 280px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + margin-bottom: auto; +} + +.contact-area svg { + width: 8em; + height: 8em; +} + +.contact-area a { + color: var(--accent); + text-decoration: underline; + font-size: 1.4em; + margin: 0; + font-family: "Fira Mono", monospace; + margin-top: 0.3em; +} + +.contact-area p { + font-size: 1.1em; + text-align: center; +} + +#email-link:hover { + color: #7520ff +} + +#phone-link:hover { + color: #ff0050 +} + +#linkedin-link:hover { + color: #ff8000 +} + @media screen and (max-width: 1100px) { body { @@ -509,7 +628,6 @@ em { #links a:after, #nav a:after { right: auto; height: 1.2em; - } #nav { @@ -589,5 +707,59 @@ em { transform: translateY(170px); top: -3em; } + + #contact { + width: 100%; + } + + #contact h1 { + padding: 0; + width: fit-content; + margin-inline: auto; + } + + #contact-showcase { + flex-direction: column; + } + + .contact-area { + display: grid; + width: calc(100vw - 192px); + } + + .contact-area svg { + grid-column: 1; + grid-row: 1 / span 2; + } + + .contact-area a { + grid-column: 2; + grid-row: 1; + width: fit-content; + margin-top: auto; + } + + .contact-area p { + grid-column: 2; + grid-row: 2; + width: auto; + text-align: left; + margin-bottom: auto; + } } +@media screen and (max-width: 650px) { + + body { + font-size: 15px; + } + + #aboutme h1 { + transform: translateY(170px); + top: -3.5em; + } + + #contact-showcase { + padding-inline: 20px; + } +} \ No newline at end of file