|
1 | 1 | --- |
| 2 | +
|
2 | 3 | --- |
| 4 | + |
3 | 5 | <section class="contact" id="contact"> |
4 | 6 | <div class="contact-inner"> |
5 | 7 | <div class="sec-eye reveal"> |
|
11 | 13 | <div class="contact-layout"> |
12 | 14 | <div class="cl reveal"> |
13 | 15 | <h2 class="ct-big"> |
14 | | - LET'S<br/> |
15 | | - <span class="stroke">BUILD</span><br/> |
| 16 | + LET'S<br /> |
| 17 | + <span class="stroke">BUILD</span><br /> |
16 | 18 | <em>SOMETHING.</em> |
17 | 19 | </h2> |
18 | 20 | <p class="ct-desc"> |
19 | | - Open to data science roles, ML consulting, freelance projects, |
20 | | - and interesting collaborations. Based in Cambodia — available remotely worldwide. |
21 | | - I reply to everything. |
| 21 | + Open to data science roles, ML consulting, freelance projects, and |
| 22 | + interesting collaborations. Based in Cambodia — available remotely |
| 23 | + worldwide. I reply to everything. |
22 | 24 | </p> |
23 | 25 | <a href="mailto:soeukbondolcc@gmail.com" class="email-cta"> |
24 | 26 | <span class="ec-label font-mono">Send me an email</span> |
|
29 | 31 |
|
30 | 32 | <div class="cr reveal" style="transition-delay:0.15s"> |
31 | 33 | <div class="socials"> |
32 | | - |
33 | | - <a href="https://github.com/SoeukBondol-ai" target="_blank" rel="noopener" class="soc"> |
| 34 | + <a |
| 35 | + href="https://github.com/SoeukBondol-ai" |
| 36 | + target="_blank" |
| 37 | + rel="noopener" |
| 38 | + class="soc" |
| 39 | + > |
34 | 40 | <div class="soc-left"> |
35 | 41 | <div class="soc-ico"> |
36 | | - <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"/></svg> |
| 42 | + <svg |
| 43 | + width="18" |
| 44 | + height="18" |
| 45 | + viewBox="0 0 24 24" |
| 46 | + fill="currentColor" |
| 47 | + ><path |
| 48 | + d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z" |
| 49 | + ></path></svg |
| 50 | + > |
37 | 51 | </div> |
38 | 52 | <div> |
39 | 53 | <div class="soc-name">GitHub</div> |
|
46 | 60 | <a href="mailto:soeukbondolcc@gmail.com" class="soc"> |
47 | 61 | <div class="soc-left"> |
48 | 62 | <div class="soc-ico"> |
49 | | - <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg> |
| 63 | + <svg |
| 64 | + width="18" |
| 65 | + height="18" |
| 66 | + viewBox="0 0 24 24" |
| 67 | + fill="none" |
| 68 | + stroke="currentColor" |
| 69 | + stroke-width="1.8" |
| 70 | + ><rect x="2" y="4" width="20" height="16" rx="2"></rect><path |
| 71 | + d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg |
| 72 | + > |
50 | 73 | </div> |
51 | 74 | <div> |
52 | 75 | <div class="soc-name">Gmail</div> |
|
55 | 78 | </div> |
56 | 79 | <span class="soc-arr">↗</span> |
57 | 80 | </a> |
58 | | - |
59 | 81 | </div> |
60 | 82 |
|
61 | 83 | <!-- availability card --> |
|
65 | 87 | <span class="avail-status">Available for opportunities</span> |
66 | 88 | </div> |
67 | 89 | <div class="avail-details"> |
68 | | - <div class="ad-row"><span class="adk">Type</span><span class="adv">Full-time · Freelance · Contract</span></div> |
69 | | - <div class="ad-row"><span class="adk">Mode</span><span class="adv">Remote worldwide</span></div> |
70 | | - <div class="ad-row"><span class="adk">TZ</span><span class="adv">ICT (UTC+7)</span></div> |
71 | | - <div class="ad-row"><span class="adk">Response</span><span class="adv acid">< 24h</span></div> |
| 90 | + <div class="ad-row"> |
| 91 | + <span class="adk">Type</span><span class="adv" |
| 92 | + >Full-time · Freelance · Contract</span |
| 93 | + > |
| 94 | + </div> |
| 95 | + <div class="ad-row"> |
| 96 | + <span class="adk">Mode</span><span class="adv" |
| 97 | + >Remote worldwide</span |
| 98 | + > |
| 99 | + </div> |
| 100 | + <div class="ad-row"> |
| 101 | + <span class="adk">TZ</span><span class="adv">ICT (UTC+7)</span> |
| 102 | + </div> |
| 103 | + <div class="ad-row"> |
| 104 | + <span class="adk">Response</span><span class="adv acid" |
| 105 | + >< 24h</span |
| 106 | + > |
| 107 | + </div> |
72 | 108 | </div> |
73 | 109 | </div> |
74 | 110 | </div> |
|
77 | 113 | </section> |
78 | 114 |
|
79 | 115 | <style> |
80 | | -.contact { position:relative; z-index:1; padding:5rem 1.5rem 6rem; border-top:1px solid var(--border); } |
81 | | -@media(min-width:640px){ .contact{ padding:7rem 2.5rem 7rem; } } |
82 | | -.contact-inner { max-width:1200px; margin:0 auto; } |
| 116 | + .contact { |
| 117 | + position: relative; |
| 118 | + z-index: 1; |
| 119 | + padding: 4rem 1.25rem 4.5rem; |
| 120 | + border-top: 1px solid var(--border); |
| 121 | + } |
| 122 | + @media (min-width: 640px) { |
| 123 | + .contact { |
| 124 | + padding: 5.25rem 2rem 5.5rem; |
| 125 | + } |
| 126 | + } |
| 127 | + .contact-inner { |
| 128 | + max-width: 1200px; |
| 129 | + margin: 0 auto; |
| 130 | + } |
83 | 131 |
|
84 | | -.contact-layout { |
85 | | - display:grid; grid-template-columns:1fr; gap:4rem; align-items:start; |
86 | | -} |
87 | | -@media(min-width:900px){ .contact-layout{ grid-template-columns:1fr 1fr; gap:6rem; } } |
| 132 | + .contact-layout { |
| 133 | + display: grid; |
| 134 | + grid-template-columns: 1fr; |
| 135 | + gap: 2.5rem; |
| 136 | + align-items: start; |
| 137 | + } |
| 138 | + @media (min-width: 900px) { |
| 139 | + .contact-layout { |
| 140 | + grid-template-columns: 1fr 1fr; |
| 141 | + gap: 3.5rem; |
| 142 | + } |
| 143 | + } |
88 | 144 |
|
89 | | -.ct-big { |
90 | | - font-family:'Bebas Neue',sans-serif; |
91 | | - font-size:clamp(3.5rem,9vw,7.5rem); line-height:0.88; margin-bottom:1.75rem; |
92 | | -} |
93 | | -.stroke { color:transparent; -webkit-text-stroke:2px rgba(232,234,242,0.25); } |
94 | | -.ct-big em { color:var(--acid); font-style:normal; } |
95 | | -.ct-desc { font-size:0.83rem; color:var(--muted); line-height:1.85; margin-bottom:2.5rem; max-width:420px; } |
| 145 | + .ct-big { |
| 146 | + font-family: "Bebas Neue", sans-serif; |
| 147 | + font-size: clamp(3.5rem, 9vw, 7.5rem); |
| 148 | + line-height: 0.88; |
| 149 | + margin-bottom: 1.75rem; |
| 150 | + } |
| 151 | + .stroke { |
| 152 | + color: transparent; |
| 153 | + -webkit-text-stroke: 2px rgba(232, 234, 242, 0.25); |
| 154 | + } |
| 155 | + .ct-big em { |
| 156 | + color: var(--acid); |
| 157 | + font-style: normal; |
| 158 | + } |
| 159 | + .ct-desc { |
| 160 | + font-size: 0.83rem; |
| 161 | + color: var(--muted); |
| 162 | + line-height: 1.85; |
| 163 | + margin-bottom: 2.5rem; |
| 164 | + max-width: 420px; |
| 165 | + } |
96 | 166 |
|
97 | | -.email-cta { |
98 | | - display:flex; flex-direction:column; gap:0.4rem; |
99 | | - padding:1.25rem 1.5rem; |
100 | | - border:1px solid rgba(200,255,87,0.25); border-radius:8px; |
101 | | - background:rgba(200,255,87,0.04); text-decoration:none; |
102 | | - transition:background 0.2s, border-color 0.2s; position:relative; |
103 | | -} |
104 | | -.email-cta:hover { background:rgba(200,255,87,0.08); border-color:rgba(200,255,87,0.5); } |
105 | | -.ec-label { font-size:0.56rem; color:var(--muted); letter-spacing:0.12em; text-transform:uppercase; } |
106 | | -.ec-addr { font-size:0.9rem; color:var(--acid); font-family:'JetBrains Mono',monospace; } |
107 | | -.ec-arrow { position:absolute; top:1.25rem; right:1.25rem; color:var(--acid); font-size:1.1rem; } |
| 167 | + .email-cta { |
| 168 | + display: flex; |
| 169 | + flex-direction: column; |
| 170 | + gap: 0.4rem; |
| 171 | + padding: 1.25rem 1.5rem; |
| 172 | + border: 1px solid rgba(200, 255, 87, 0.25); |
| 173 | + border-radius: 8px; |
| 174 | + background: rgba(200, 255, 87, 0.04); |
| 175 | + text-decoration: none; |
| 176 | + transition: |
| 177 | + background 0.2s, |
| 178 | + border-color 0.2s; |
| 179 | + position: relative; |
| 180 | + } |
| 181 | + .email-cta:hover { |
| 182 | + background: rgba(200, 255, 87, 0.08); |
| 183 | + border-color: rgba(200, 255, 87, 0.5); |
| 184 | + } |
| 185 | + .ec-label { |
| 186 | + font-size: 0.56rem; |
| 187 | + color: var(--muted); |
| 188 | + letter-spacing: 0.12em; |
| 189 | + text-transform: uppercase; |
| 190 | + } |
| 191 | + .ec-addr { |
| 192 | + font-size: 0.9rem; |
| 193 | + color: var(--acid); |
| 194 | + font-family: "JetBrains Mono", monospace; |
| 195 | + } |
| 196 | + .ec-arrow { |
| 197 | + position: absolute; |
| 198 | + top: 1.25rem; |
| 199 | + right: 1.25rem; |
| 200 | + color: var(--acid); |
| 201 | + font-size: 1.1rem; |
| 202 | + } |
108 | 203 |
|
109 | | -.socials { display:flex; flex-direction:column; gap:0.75rem; margin-bottom:1.25rem; } |
110 | | -.soc { |
111 | | - display:flex; align-items:center; justify-content:space-between; |
112 | | - padding:1rem 1.25rem; background:var(--surface); border:1px solid var(--border2); |
113 | | - border-radius:8px; text-decoration:none; color:var(--ink); transition:all 0.2s; |
114 | | -} |
115 | | -.soc:hover { border-color:rgba(200,255,87,0.25); background:var(--lift); } |
116 | | -.soc-left { display:flex; align-items:center; gap:0.9rem; } |
117 | | -.soc-ico { |
118 | | - width:36px; height:36px; background:var(--lift); border-radius:7px; |
119 | | - display:flex; align-items:center; justify-content:center; color:var(--muted); |
120 | | - transition:color 0.2s; |
121 | | -} |
122 | | -.soc:hover .soc-ico { color:var(--acid); } |
123 | | -.soc-name { font-size:0.75rem; font-weight:500; margin-bottom:0.18rem; } |
124 | | -.soc-sub { font-size:0.58rem; color:var(--muted); } |
125 | | -.soc-arr { color:var(--muted); transition:color 0.2s, transform 0.2s; } |
126 | | -.soc:hover .soc-arr { color:var(--acid); transform:translate(2px,-2px); } |
| 204 | + .socials { |
| 205 | + display: flex; |
| 206 | + flex-direction: column; |
| 207 | + gap: 0.75rem; |
| 208 | + margin-bottom: 1.25rem; |
| 209 | + } |
| 210 | + .soc { |
| 211 | + display: flex; |
| 212 | + align-items: center; |
| 213 | + justify-content: space-between; |
| 214 | + padding: 1rem 1.25rem; |
| 215 | + background: var(--surface); |
| 216 | + border: 1px solid var(--border2); |
| 217 | + border-radius: 8px; |
| 218 | + text-decoration: none; |
| 219 | + color: var(--ink); |
| 220 | + transition: all 0.2s; |
| 221 | + } |
| 222 | + .soc:hover { |
| 223 | + border-color: rgba(200, 255, 87, 0.25); |
| 224 | + background: var(--lift); |
| 225 | + } |
| 226 | + .soc-left { |
| 227 | + display: flex; |
| 228 | + align-items: center; |
| 229 | + gap: 0.9rem; |
| 230 | + } |
| 231 | + .soc-ico { |
| 232 | + width: 36px; |
| 233 | + height: 36px; |
| 234 | + background: var(--lift); |
| 235 | + border-radius: 7px; |
| 236 | + display: flex; |
| 237 | + align-items: center; |
| 238 | + justify-content: center; |
| 239 | + color: var(--muted); |
| 240 | + transition: color 0.2s; |
| 241 | + } |
| 242 | + .soc:hover .soc-ico { |
| 243 | + color: var(--acid); |
| 244 | + } |
| 245 | + .soc-name { |
| 246 | + font-size: 0.75rem; |
| 247 | + font-weight: 500; |
| 248 | + margin-bottom: 0.18rem; |
| 249 | + } |
| 250 | + .soc-sub { |
| 251 | + font-size: 0.58rem; |
| 252 | + color: var(--muted); |
| 253 | + } |
| 254 | + .soc-arr { |
| 255 | + color: var(--muted); |
| 256 | + transition: |
| 257 | + color 0.2s, |
| 258 | + transform 0.2s; |
| 259 | + } |
| 260 | + .soc:hover .soc-arr { |
| 261 | + color: var(--acid); |
| 262 | + transform: translate(2px, -2px); |
| 263 | + } |
127 | 264 |
|
128 | | -.avail { |
129 | | - background:var(--surface); border:1px solid var(--border2); border-radius:8px; overflow:hidden; |
130 | | -} |
131 | | -.avail-top { |
132 | | - display:flex; align-items:center; gap:0.6rem; |
133 | | - padding:0.85rem 1.1rem; border-bottom:1px solid var(--border); |
134 | | - background:rgba(200,255,87,0.04); |
135 | | -} |
136 | | -.avail-dot { width:7px; height:7px; border-radius:50%; background:var(--acid); animation:pulse 2s ease infinite; } |
137 | | -.avail-status { font-size:0.6rem; color:var(--acid); letter-spacing:0.1em; text-transform:uppercase; } |
138 | | -.avail-details { padding:1rem 1.1rem; display:flex; flex-direction:column; gap:0.5rem; } |
139 | | -.ad-row { display:flex; gap:1rem; align-items:baseline; } |
140 | | -.adk { font-size:0.56rem; color:var(--muted); width:64px; flex-shrink:0; letter-spacing:0.06em; } |
141 | | -.adv { font-size:0.62rem; color:var(--ink); } |
142 | | -.adv.acid { color:var(--acid); } |
| 265 | + .avail { |
| 266 | + background: var(--surface); |
| 267 | + border: 1px solid var(--border2); |
| 268 | + border-radius: 8px; |
| 269 | + overflow: hidden; |
| 270 | + } |
| 271 | + .avail-top { |
| 272 | + display: flex; |
| 273 | + align-items: center; |
| 274 | + gap: 0.6rem; |
| 275 | + padding: 0.85rem 1.1rem; |
| 276 | + border-bottom: 1px solid var(--border); |
| 277 | + background: rgba(200, 255, 87, 0.04); |
| 278 | + } |
| 279 | + .avail-dot { |
| 280 | + width: 7px; |
| 281 | + height: 7px; |
| 282 | + border-radius: 50%; |
| 283 | + background: var(--acid); |
| 284 | + animation: pulse 2s ease infinite; |
| 285 | + } |
| 286 | + .avail-status { |
| 287 | + font-size: 0.6rem; |
| 288 | + color: var(--acid); |
| 289 | + letter-spacing: 0.1em; |
| 290 | + text-transform: uppercase; |
| 291 | + } |
| 292 | + .avail-details { |
| 293 | + padding: 1rem 1.1rem; |
| 294 | + display: flex; |
| 295 | + flex-direction: column; |
| 296 | + gap: 0.5rem; |
| 297 | + } |
| 298 | + .ad-row { |
| 299 | + display: flex; |
| 300 | + gap: 1rem; |
| 301 | + align-items: baseline; |
| 302 | + } |
| 303 | + .adk { |
| 304 | + font-size: 0.56rem; |
| 305 | + color: var(--muted); |
| 306 | + width: 64px; |
| 307 | + flex-shrink: 0; |
| 308 | + letter-spacing: 0.06em; |
| 309 | + } |
| 310 | + .adv { |
| 311 | + font-size: 0.62rem; |
| 312 | + color: var(--ink); |
| 313 | + } |
| 314 | + .adv.acid { |
| 315 | + color: var(--acid); |
| 316 | + } |
143 | 317 | </style> |
0 commit comments