Spaces:
Running
Running
File size: 5,299 Bytes
76c6e64 ec87762 76c6e64 ec87762 76c6e64 ec87762 76c6e64 ec87762 76c6e64 ec87762 76c6e64 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | class CustomContact extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = `
<style>
:host {
display: block;
padding: 6rem 1rem 10rem 1rem;
text-align: center;
border-top: 1px solid #262626;
background: radial-gradient(circle at top, rgba(234, 179, 8, 0.05), transparent 70%);
}
h2 {
font-size: 2.5rem;
font-weight: 700;
color: white;
margin-bottom: 1rem;
}
p {
color: #a1a1aa;
max-width: 500px;
margin: 0 auto 2.5rem auto;
font-size: 1.125rem;
}
.email-btn {
display: inline-flex;
align-items: center;
gap: 0.75rem;
padding: 1rem 2rem;
background: transparent;
border: 2px solid #EAB308;
color: #EAB308;
font-family: 'Fira Code', monospace;
font-size: 1rem;
font-weight: 600;
border-radius: 4px;
text-decoration: none;
transition: all 0.3s ease;
margin-bottom: 3rem;
}
.email-btn {
position: relative;
overflow: hidden;
}
.email-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.5s ease;
}
.email-btn:hover::before {
left: 100%;
}
.email-btn:hover {
background: rgba(234, 179, 8, 0.1);
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(234, 179, 8, 0.2);
}
.social-links {
display: flex;
justify-content: center;
gap: 2rem;
}
.social-link {
color: #52525b;
transition: all 0.3s ease;
}
.social-link {
position: relative;
}
.social-link::after {
content: '';
position: absolute;
bottom: -5px;
left: 50%;
width: 0;
height: 2px;
background: #EAB308;
transition: all 0.3s ease;
transform: translateX(-50%);
}
.social-link:hover::after {
width: 100%;
}
.social-link:hover {
color: #EAB308;
transform: translateY(-3px);
}
.footer-note {
margin-top: 4rem;
color: #52525b;
font-size: 0.875rem;
font-family: 'Fira Code', monospace;
}
</style>
<section id="contact">
<h2>Get In Touch</h2>
<p>
Let's work together on your next project. Whether you have a question or just want to say hi, I'll try my best to get back to you!
</p>
<a href="mailto:hello@kentvuong.com" class="email-btn">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>
Say Hello
</a>
<div class="social-links">
<a href="#" class="social-link" aria-label="GitHub">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
</a>
<a href="#" class="social-link" aria-label="LinkedIn">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
</a>
<a href="#" class="social-link" aria-label="Twitter">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg>
</a>
</div>
<div class="footer-note">
<p>Designed & Built by Kent Vuong</p>
</div>
</section>
`;
}
}
customElements.define('custom-contact', CustomContact); |