Social media icons are essential elements in modern web design, serving as gateways to a brand's online presence. They not only enhance user experience but also boost engagement by providing quick access to social platforms.
In this article, we will explore ten exemplary social media icons that stand out for their design, functionality, and impact. These icons are more than just visual cues; they are integral to effective digital communication.
CODE1
Here's the code:
CODETEXT1
CODE2
Here's the code:
CODETEXT2
CODE3
Here's the code:
CODETEXT3
CODE4
Here's the code:
CODETEXT4
CODE5
Here's the code:
CODETEXT5
Designers and developers, elevate your social media icons with Subframe's drag-and-drop interface and intuitive, responsive canvas. Create pixel-perfect UI effortlessly, every time.
Loved by professionals, Subframe ensures your designs stand out. Start for free and transform your creative process today!
CODE6
Here's the code:
CODETEXT6
CODE7
Here's the code:
CODETEXT7
CODE8
Here's the code:
CODETEXT8
CODE9
Here's the code:
CODETEXT9
CODE10
Here's the code:
CODETEXT10
Ready to elevate your UI design game? With Subframe, you can create stunning, pixel-perfect social media icons and entire interfaces in minutes. Our drag-and-drop editor makes the process efficient and enjoyable.
Don't wait—start creating beautiful, responsive designs right away. Start for free and transform your creative process today!
<html> <head> <style> @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Manrope:wght@200;400;700&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Manrope', sans-serif; background-color: #f8f5f2; color: #2d2d2d; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; height: 100vh; overflow-x: hidden; padding: 20px; } .portfolio-container { width: 100%; max-width: 660px; height: 660px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; position: relative; } header { width: 100%; text-align: center; margin-bottom: 20px; } h1 { font-family: 'Playfair Display', serif; font-size: 2.5rem; margin-bottom: 8px; font-weight: 700; background: linear-gradient(45deg, #2d2d2d, #5a5a5a); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; } h1::after { content: ''; position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%); width: 60px; height: 3px; background: linear-gradient(90deg, #FF6B6B, #FFD166); border-radius: 2px; } p.subtitle { font-size: 1rem; line-height: 1.5; margin-bottom: 30px; max-width: 540px; color: #5a5a5a; } .social-icons-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; width: 100%; max-width: 540px; margin-top: 20px; } .social-icon { position: relative; width: 100%; aspect-ratio: 1; cursor: pointer; transform-style: preserve-3d; transition: transform 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; } .social-icon:hover { transform: translateY(-10px) rotate(3deg); } .social-icon svg { width: 65%; height: 65%; z-index: 2; position: relative; transition: all 0.5s ease; } .social-icon .brush-stroke { position: absolute; width: 100%; height: 100%; background-size: contain; background-repeat: no-repeat; background-position: center; opacity: 0.9; transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); transform-origin: center; } .social-icon:hover .brush-stroke { transform: scale(1.1) rotate(-5deg); filter: saturate(1.2); } .social-icon:hover svg { transform: scale(1.1); filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.2)); } .social-icon:nth-child(1) .brush-stroke { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23FF6B6B' d='M44.3,28.5C52.4,37.1,60.5,45.8,59.8,55.7C59.1,65.6,49.5,76.8,45.9,89.4C42.3,102,44.7,116.1,39.7,126.4C34.7,136.7,22.3,143.3,17.4,155.1C12.5,166.9,15.1,183.9,23.3,188.8C31.5,193.7,45.2,186.6,58.9,183.1C72.6,179.7,86.3,180,97.3,174.7C108.3,169.4,116.6,158.6,129.2,151.9C141.8,145.2,158.6,142.7,169.1,133.8C179.6,124.9,183.8,109.6,181.9,95.7C179.9,81.8,171.9,69.4,163.8,58.9C155.7,48.4,147.7,39.8,135.9,31.9C124.1,24,108.6,16.7,93.8,15.6C79,14.5,64.9,19.5,50.3,22.2C35.8,24.9,20.7,25.3,16.1,32.3C11.5,39.3,17.5,52.8,25.7,48.7C33.9,44.6,44.3,23,44.3,28.5z'/%3E%3C/svg%3E"); } .social-icon:nth-child(2) .brush-stroke { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%234ECDC4' d='M41.3,20.9c7.1,9.1,14.2,18.2,15.4,28.5c1.2,10.3-3.5,21.9-3.6,36.3c-0.1,14.5,4.4,31.9,1.7,44.8c-2.7,12.9-12.7,21.3-21.8,31.3c-9.1,10-17.3,21.5-14.1,27.8c3.2,6.3,17.8,7.4,30.5,6.3c12.7-1.1,23.4-4.4,35.2-5.9c11.7-1.5,24.4-1.3,38.3-2.6c13.9-1.3,29.1-4.2,40.3-11.7c11.2-7.5,18.5-19.6,21.1-32.6c2.6-13,0.5-26.9-2.5-39.6c-3-12.7-6.9-24.1-13.8-33.6c-6.9-9.5-16.7-17.1-26.6-19.7c-9.9-2.6-19.8-0.2-32.3-2.1c-12.5-1.9-27.5-7.9-38.6-5.8c-11.1,2.1-18.3,12.5-20.9,19.2c-2.6,6.7-0.7,9.7,4.6,8.1c5.3-1.6,14-7.9,14-7.9'/%3E%3C/svg%3E"); } .social-icon:nth-child(3) .brush-stroke { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23FFD166' d='M36.3,28.3C42.4,38.5,48.5,48.7,52.6,59c4.1,10.3,6.1,20.8,11.7,32.4c5.6,11.7,14.8,24.6,17.1,36.2c2.3,11.6-2.3,21.8-0.6,32.1c1.7,10.2,9.6,20.4,18.4,24.4c8.7,4,18.4,1.8,29-1.6c10.6-3.4,22.1-8,29.7-15.8c7.6-7.7,11.3-18.5,12.8-29.9c1.6-11.4,1.1-23.5-3.2-33.1c-4.3-9.6-12.5-16.8-18.2-24.8c-5.7-8-8.9-16.8-15.2-25c-6.3-8.2-15.6-15.7-26.1-20.3c-10.5-4.6-22.1-6.2-32.8-3.9c-10.7,2.3-20.5,8.5-27.1,15.4c-6.6,6.9-10,14.6-9.3,19.9c0.7,5.3,5.3,8.2,11.2,6.3c5.9-1.9,13-8.7,13-8.7'/%3E%3C/svg%3E"); } .social-icon:nth-child(4) .brush-stroke { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23F38181' d='M47.1,28.6c5.5,9.6,11,19.3,15.1,30.3c4.1,11,6.9,23.3,4.8,34.5c-2.1,11.2-9.1,21.2-13.2,33.5c-4.1,12.2-5.3,26.6-1.1,35.8c4.2,9.2,13.8,13.2,23.7,15.2c9.9,2,20.1,2,32,0.5c11.9-1.5,25.5-4.5,34.6-11c9.1-6.5,13.7-16.5,18.3-26.5c4.6-10,9.2-20,9.2-30.6c0-10.6-4.6-21.9-9.9-31.4c-5.3-9.5-11.3-17.2-19.6-24.2c-8.3-7-18.9-13.3-30.6-14.8c-11.7-1.5-24.5,1.7-35.6,7c-11.1,5.3-20.5,12.7-25.9,20.2c-5.4,7.5-6.9,15.1-3.1,19c3.8,3.9,12.9,4.1,18,0.4c5.1-3.7,6.3-11.3,6.3-11.3'/%3E%3C/svg%3E"); } .social-icon:nth-child(5) .brush-stroke { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23A5DEE5' d='M42.6,22c5.5,9.7,11,19.3,15.1,29.7c4.1,10.4,6.7,21.5,11.5,32.9c4.8,11.4,11.6,23.2,12.2,34.6c0.6,11.4-5,22.4-13.9,34.1c-8.9,11.7-21.2,24.1-18.5,30.5c2.7,6.4,20.3,6.7,33.6,3.7c13.3-3,22.2-9.3,33.7-14.9c11.5-5.6,25.6-10.6,34.7-18.9c9.1-8.3,13.3-19.9,15.1-31.4c1.8-11.5,1.3-22.9-1.6-33.8c-2.9-10.9-8.2-21.3-15.9-29.3c-7.7-8-17.6-13.6-27.2-16.4c-9.6-2.8-18.9-2.8-29.9-5.2c-11-2.4-23.7-7.2-31.9-4.6c-8.2,2.6-11.8,12.6-8.4,17.5c3.4,4.9,13.8,4.7,13.8,4.7'/%3E%3C/svg%3E"); } .social-icon:nth-child(6) .brush-stroke { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23EEBBC3' d='M42.4,24.4c5.1,9.5,10.2,19.1,12.1,29.2c1.9,10.1,0.6,20.7,3.6,33.5c3,12.8,10.3,27.8,9.8,40.7c-0.5,12.9-8.8,23.6-16.1,33c-7.3,9.4-13.5,17.5-11.2,22.4c2.3,4.9,13.1,6.6,24,5.6c10.9-1,21.9-4.7,33.5-5.6c11.6-0.9,23.8,1.1,33.3-1.7c9.5-2.8,16.2-10.5,23.7-19.1c7.5-8.6,15.7-18,18.1-28.8c2.4-10.8-1-23-6.5-32.8c-5.5-9.8-13.2-17.2-20.7-25.2c-7.5-8-14.9-16.6-24.9-20.3c-10-3.7-22.6-2.5-35-3.1c-12.4-0.6-24.7-3-31.5,0.7c-6.8,3.7-8.1,13.5-3.6,18c4.5,4.5,14.9,3.7,14.9,3.7'/%3E%3C/svg%3E"); } .icon-name { font-family: 'Manrope', sans-serif; font-size: 0.8rem; font-weight: 500; margin-top: 5px; color: #5a5a5a; text-align: center; position: absolute; bottom: -20px; width: 100%; opacity: 0; transform: translateY(10px); transition: all 0.3s ease; } .social-icon:hover .icon-name { opacity: 1; transform: translateY(0); } /* Ink splatters */ .ink-splatter { position: absolute; width: 150px; height: 150px; background-size: contain; background-repeat: no-repeat; opacity: 0.07; z-index: -1; pointer-events: none; } .ink-1 { top: 10%; left: 5%; transform: rotate(15deg) scale(0.7); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%232d2d2d' d='M130.3,17.4C116.5,29.1,78.7,69.2,42.6,83.5c-15.2,6-29.1,7.3-33.5,18.3c-4.4,11,0.8,31.7,11.5,42.4c10.7,10.7,27,11.3,44.3,13.9c17.3,2.6,35.7,7.2,53.9,4.4c18.2-2.8,36.2-13,50.4-27.1c14.2-14.1,24.6-32.1,26.9-50.3c2.3-18.2-3.5-36.6-14.1-48.8c-10.6-12.1-26.1-18-41.7-19.2C125.9,16.1,110.2,19.6,94.5,21c-15.7,1.4-31.5,0.7-42.9,3.3C40.3,27,33.3,32.8,30.9,43.4c-2.4,10.6-0.1,25.8,12.2,35.5c12.3,9.7,34.4,13.8,44.5,6.1c10.1-7.7,8.2-27.2,1.1-35C81.6,42.2,69.3,23.7,60.1,19.8c-9.2-3.9-15.2,6.8-8.8,15.4c6.4,8.6,25.3,15.1,28.4,11.8c3.1-3.3-9.7-16.5-4.6-19.5c5.1-3,27.9,4.1,50.4,3.3c22.5-0.8,44.8-9.5,47.8-6.8c3,2.7-13.4,16.8-17.5,32.6c-4.1,15.8,4.1,33.3,0.3,42.2c-3.8,8.9-19.6,9.3-31.9,16c-12.3,6.7-21.1,19.7-31.2,26.8c-10.1,7.1-21.5,8.3-31.1,5.2c-9.6-3.1-17.5-10.4-21.2-19.5c-3.7-9.1-3.3-20,5.2-23.2c8.5-3.2,25.1,1.2,29,1.1c3.9-0.1-4.9-4.7-4.6-9.5c0.3-4.8,9.7-9.8,19.1-9.3'/%3E%3C/svg%3E"); } .ink-2 { bottom: 15%; right: 8%; transform: rotate(-20deg) scale(0.9); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%232d2d2d' d='M34.2,54.4c-8.8,1-19,12.1-16.6,22.5c2.4,10.4,17.2,20,24.7,29.9c7.5,9.9,7.7,20.1,15.6,28.1c7.9,8,23.4,13.8,35.1,13.2c11.7-0.6,19.5-7.6,29.6-14.1c10.1-6.5,22.5-12.4,31.8-22.1c9.3-9.7,15.5-23.2,18.4-34.5c2.9-11.3,2.6-20.3-3.5-29.2c-6.1-8.9-18-17.7-30.2-18.8c-12.2-1.1-24.7,5.4-36,10.8c-11.3,5.4-21.5,9.7-31.1,14.8C62.4,60.8,53.5,66.8,47,64.7c-6.5-2.1-10.5-12.3-7.8-15.8c2.7-3.5,12.2,0.6,11.7,5.5c-0.5,4.9-10.9,10.6-7.8,9.2c3.1-1.4,19.6-9.9,35.5-15.1c15.9-5.2,31.2-7.1,48.7-1.4c17.5,5.7,37.2,19,41.5,35.2c4.3,16.2-6.7,35.3-21.3,49.2c-14.6,13.9-32.8,22.6-47.8,27.5c-15,4.9-26.7,6.1-37.8,0.8c-11.1-5.3-21.6-17.1-24.9-28.1c-3.3-11-0.5-21.2,4.1-28.7c4.6-7.5,11-12.3,18.4-14.3c7.4-2,15.7-1.2,19.4,3.5c3.7,4.7,2.8,13.3-0.9,17.6c-3.7,4.3-10.2,4.3-13.3,0c-3.1-4.3-2.9-12.8,0.7-16.2c3.6-3.4,10.5-1.5,14.3,2.5c3.8,4,4.3,10.2,3.4,16.3'/%3E%3C/svg%3E"); } .brush-bg { position: absolute; bottom: -50px; right: -50px; width: 180px; height: 180px; background-image: url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M93.9276 11.8565C84.5565 15.8565 75.1854 19.8565 65.8143 23.8565C56.4432 27.8565 47.0721 31.8565 37.701 35.8565C28.3299 39.8565 18.9588 43.8565 16.5877 50.8565C14.2166 57.8565 18.8455 67.8565 23.4744 77.8565C28.1033 87.8565 32.7322 97.8565 37.3611 107.857C41.99 117.857 46.6189 127.857 57.2478 138.856C67.8767 149.856 84.5056 160.856 98.1345 166.856C111.763 172.856 122.392 173.856 133.021 168.856C143.65 163.856 154.279 152.856 159.908 139.856C165.537 126.856 166.166 111.856 165.295 99.8565C164.424 87.8565 162.053 78.8565 159.682 69.8565C157.311 60.8565 154.94 51.8565 148.569 44.8565C142.198 37.8565 131.827 32.8565 121.456 27.8565C111.085 22.8565 100.714 17.8565 95.0428 15.3565C89.3719 12.8565 88.401 12.8565 84.43 12.8565C80.459 12.8565 73.488 12.8565 66.517 12.8565C59.546 12.8565 52.575 12.8565 45.604 12.8565C38.633 12.8565 31.662 12.8565 24.691 17.8565C17.72 22.8565 10.749 32.8565 7.778 42.8565C4.807 52.8565 5.836 62.8565 9.865 69.8565C13.894 76.8565 20.923 80.8565 25.952 80.8565C30.981 80.8565 34.01 76.8565 37.039 72.8565C40.068 68.8565 43.097 64.8565 40.126 62.8565C37.155 60.8565 28.184 60.8565 23.213 65.8565C18.242 70.8565 17.271 80.8565 21.3 87.8565C25.329 94.8565 34.358 98.8565 44.387 103.856C54.416 108.856 65.445 114.856 74.474 116.856C83.503 118.856 90.532 116.856 97.561 114.856C104.59 112.856 111.619 110.856 118.648 103.856C125.677 96.8565 132.706 84.8565 136.735 75.8565C140.764 66.8565 141.793 60.8565 139.822 52.8565C137.851 44.8565 132.88 34.8565 130.909 32.8565C128.938 30.8565 129.967 36.8565 128.996 40.8565C128.025 44.8565 125.054 46.8565 122.083 48.8565C119.112 50.8565 116.141 52.8565 113.17 50.8565C110.199 48.8565 107.228 42.8565 105.257 40.8565C103.286 38.8565 102.315 40.8565 102.344 47.8565C102.373 54.8565 103.402 66.8565 105.431 72.8565C107.46 78.8565 110.489 78.8565 112.518 78.8565C114.547 78.8565 115.576 78.8565 115.605 75.8565C115.634 72.8565 114.663 66.8565 116.692 63.8565C118.721 60.8565 123.75 60.8565 127.779 60.8565C131.808 60.8565 134.837 60.8565 135.866 56.8565C136.895 52.8565 135.924 44.8565 138.953 41.8565C141.982 38.8565 149.011 40.8565 155.04 45.8565'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: contain; opacity: 0.06; z-index: -1; transform: rotate(-5deg); } .intro-text { width: 100%; max-width: 540px; text-align: center; margin-bottom: 20px; } .intro-text p { font-size: 0.9rem; line-height: 1.5; color: #656565; } /* Animation for displaying icons one by one */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .social-icon { opacity: 0; animation: fadeInUp 0.6s ease forwards; } .social-icon:nth-child(1) { animation-delay: 0.2s; } .social-icon:nth-child(2) { animation-delay: 0.3s; } .social-icon:nth-child(3) { animation-delay: 0.4s; } .social-icon:nth-child(4) { animation-delay: 0.5s; } .social-icon:nth-child(5) { animation-delay: 0.6s; } .social-icon:nth-child(6) { animation-delay: 0.7s; } /* Color theme switcher */ .theme-switcher { position: absolute; top: 20px; right: 20px; display: flex; align-items: center; gap: 8px; } .theme-btn { width: 20px; height: 20px; border-radius: 50%; cursor: pointer; border: 2px solid #ffffff; box-shadow: 0 0 5px rgba(0,0,0,0.1); transition: transform 0.3s ease; } .theme-btn:hover { transform: scale(1.15); } .theme-light { background-color: #f8f5f2; } .theme-dark { background-color: #2d2d2d; } .theme-peach { background-color: #FFDAB9; } /* Dark theme styles */ body.dark-theme { background-color: #2d2d2d; color: #f8f5f2; } body.dark-theme h1 { background: linear-gradient(45deg, #f8f5f2, #d1cbc3); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } body.dark-theme p.subtitle, body.dark-theme .intro-text p, body.dark-theme .icon-name { color: #d1cbc3; } body.dark-theme .ink-splatter, body.dark-theme .brush-bg { opacity: 0.1; filter: invert(1); } /* Peach theme styles */ body.peach-theme { background-color: #FFDAB9; color: #4a4a4a; } body.peach-theme h1 { background: linear-gradient(45deg, #A52A2A, #8B4513); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } body.peach-theme h1::after { background: linear-gradient(90deg, #A52A2A, #8B4513); } body.peach-theme p.subtitle, body.peach-theme .intro-text p, body.peach-theme .icon-name { color: #8B4513; } /* Responsive adjustments */ @media (max-width: 600px) { h1 { font-size: 2rem; } p.subtitle { font-size: 0.9rem; margin-bottom: 20px; } .social-icons-container { grid-template-columns: repeat(2, 1fr); gap: 30px; } } @media (max-width: 400px) { h1 { font-size: 1.8rem; } .social-icons-container { gap: 25px; } } </style> </head> <body> <div class="portfolio-container"> <header> <h1>Brushstroke Social</h1> <p class="subtitle">Hand-crafted social media icons for the creative professional</p> </header> <div class="intro-text"> <p>Elevate your online presence with these artisanal social icons, each crafted with organic brushstrokes that reflect the tactile nature of your creative work. Hover to discover the artistic flourish.</p> </div> <div class="social-icons-container"> <div class="social-icon"> <div class="brush-stroke"></div> <svg viewBox="0 0 24 24" fill="none" stroke="#2d2d2d" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path> </svg> <div class="icon-name">Facebook</div> </div> <div class="social-icon"> <div class="brush-stroke"></div> <svg viewBox="0 0 24 24" fill="none" stroke="#2d2d2d" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect> <path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path> <line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line> </svg> <div class="icon-name">Instagram</div> </div> <div class="social-icon"> <div class="brush-stroke"></div> <svg viewBox="0 0 24 24" fill="none" stroke="#2d2d2d" stroke-width="1.5" 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> <div class="icon-name">Twitter</div> </div> <div class="social-icon"> <div class="brush-stroke"></div> <svg viewBox="0 0 24 24" fill="none" stroke="#2d2d2d" stroke-width="1.5" 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> <div class="icon-name">LinkedIn</div> </div> <div class="social-icon"> <div class="brush-stroke"></div> <svg viewBox="0 0 24 24" fill="none" stroke="#2d2d2d" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path> <polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon> </svg> <div class="icon-name">YouTube</div> </div> <div class="social-icon"> <div class="brush-stroke"></div> <svg viewBox="0 0 24 24" fill="none"
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Corporate Communication Hub</title> <style> :root { --primary: #2c3e50; --secondary: #3498db; --accent: #1abc9c; --light: #ecf0f1; --dark: #2c3e50; --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background-color: var(--light); color: var(--dark); display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 700px; padding: 20px; overflow-x: hidden; } .container { max-width: 680px; width: 100%; border-radius: 15px; background-color: white; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); padding: 30px; transition: var(--transition); } header { text-align: center; margin-bottom: 30px; } h1 { font-size: 24px; font-weight: 600; margin-bottom: 10px; color: var(--primary); } p.tagline { font-size: 14px; color: #666; max-width: 500px; margin: 0 auto 10px; } .tabs { display: flex; justify-content: center; margin-bottom: 30px; position: relative; border-bottom: 1px solid #eee; padding-bottom: 10px; } .tab { padding: 10px 20px; cursor: pointer; font-size: 14px; font-weight: 500; color: #777; transition: var(--transition); position: relative; } .tab.active { color: var(--primary); font-weight: 600; } .tab-indicator { position: absolute; bottom: -1px; height: 3px; background-color: var(--secondary); transition: var(--transition); } .social-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 40px; } @media (max-width: 500px) { .social-grid { grid-template-columns: repeat(2, 1fr); } } .social-icon { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; transition: var(--transition); padding: 15px; border-radius: 12px; background-color: #f9f9f9; aspect-ratio: 1; } .social-icon svg { width: 30px; height: 30px; fill: var(--primary); transition: var(--transition); margin-bottom: 10px; } .social-icon .name { font-size: 12px; font-weight: 500; color: var(--primary); transition: var(--transition); } .social-icon::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 12px; background-color: var(--primary); transform: scale(0); transition: var(--transition); z-index: 0; } .social-icon:hover::before { transform: scale(1); } .social-icon:hover svg, .social-icon:hover .name { color: white; fill: white; z-index: 1; position: relative; } .social-icon.active::before { transform: scale(1); background-color: var(--secondary); } .social-icon.active svg, .social-icon.active .name { color: white; fill: white; z-index: 1; position: relative; } .tag { display: inline-block; padding: 6px 12px; border-radius: 50px; background-color: #f1f1f1; color: #666; font-size: 12px; margin-right: 8px; margin-bottom: 8px; transition: var(--transition); cursor: pointer; } .tag:hover { background-color: var(--secondary); color: white; } .tags-container { margin-bottom: 30px; } .guide-section { margin-top: 30px; padding-top: 20px; border-top: 1px solid #eee; } h2 { font-size: 18px; margin-bottom: 15px; color: var(--primary); } .guidelines { background-color: #f9f9f9; padding: 20px; border-radius: 10px; margin-top: 20px; } .guideline-item { margin-bottom: 15px; display: flex; align-items: flex-start; } .guideline-item .number { width: 24px; height: 24px; border-radius: 50%; background-color: var(--secondary); color: white; display: flex; align-items: center; justify-content: center; font-size: 12px; margin-right: 10px; flex-shrink: 0; } .guideline-content h3 { font-size: 14px; margin-bottom: 5px; color: var(--primary); } .guideline-content p { font-size: 13px; color: #666; line-height: 1.4; } .color-palette { display: flex; margin-top: 15px; gap: 10px; } .color-swatch { width: 40px; height: 40px; border-radius: 8px; transition: var(--transition); position: relative; cursor: pointer; overflow: hidden; } .color-swatch:hover { transform: scale(1.1); } .color-value { position: absolute; bottom: -20px; left: 0; width: 100%; font-size: 10px; background-color: rgba(0, 0, 0, 0.5); color: white; text-align: center; padding: 2px 0; transition: var(--transition); } .color-swatch:hover .color-value { bottom: 0; } .notification { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%) translateY(100px); padding: 12px 20px; background-color: var(--primary); color: white; border-radius: 8px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); z-index: 100; opacity: 0; transition: var(--transition); font-size: 14px; } .notification.show { transform: translateX(-50%) translateY(0); opacity: 1; } /* Custom animation for icon hover */ @keyframes pulseGlow { 0% { box-shadow: 0 0 0 0 rgba(52, 152, 219, 0.4); } 70% { box-shadow: 0 0 0 10px rgba(52, 152, 219, 0); } 100% { box-shadow: 0 0 0 0 rgba(52, 152, 219, 0); } } .social-icon:active { animation: pulseGlow 0.8s ease-out; transform: scale(0.95); } </style> </head> <body> <div class="container"> <header> <h1>Corporate Communication Hub</h1> <p class="tagline">Streamlined professional icons for your company's digital presence.</p> </header> <div class="tabs"> <div class="tab active" data-tab="social">Social Media</div> <div class="tab" data-tab="guidelines">Usage Guidelines</div> <div class="tab-indicator"></div> </div> <div class="tab-content" id="social"> <div class="tags-container"> <div class="tag">All Icons</div> <div class="tag">Primary</div> <div class="tag">Secondary</div> <div class="tag">Messaging</div> <div class="tag">Professional</div> </div> <div class="social-grid"> <!-- LinkedIn --> <div class="social-icon" data-name="LinkedIn"> <svg viewBox="0 0 24 24"> <path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"/> </svg> <span class="name">LinkedIn</span> </div> <!-- Twitter/X --> <div class="social-icon" data-name="Twitter"> <svg viewBox="0 0 24 24"> <path d="M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"/> </svg> <span class="name">Twitter/X</span> </div> <!-- Facebook --> <div class="social-icon" data-name="Facebook"> <svg viewBox="0 0 24 24"> <path d="M12 2.04c-5.5 0-10 4.49-10 10.02 0 5 3.66 9.15 8.44 9.9v-7H7.9v-2.9h2.54V9.85c0-2.51 1.49-3.89 3.78-3.89 1.09 0 2.23.19 2.23.19v2.47h-1.26c-1.24 0-1.63.77-1.63 1.56v1.88h2.78l-.45 2.9h-2.33v7a10 10 0 0 0 8.44-9.9c0-5.53-4.5-10.02-10-10.02z"/> </svg> <span class="name">Facebook</span> </div> <!-- Instagram --> <div class="social-icon" data-name="Instagram"> <svg viewBox="0 0 24 24"> <path d="M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6m9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8 1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"/> </svg> <span class="name">Instagram</span> </div> <!-- YouTube --> <div class="social-icon" data-name="YouTube"> <svg viewBox="0 0 24 24"> <path d="M10 15l5.19-3L10 9v6m11.56-7.83c.13.47.22 1.1.28 1.9.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83-.25.9-.83 1.48-1.73 1.73-.47.13-1.33.22-2.65.28-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44-.9-.25-1.48-.83-1.73-1.73-.13-.47-.22-1.1-.28-1.9-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83.25-.9.83-1.48 1.73-1.73.47-.13 1.33-.22 2.65-.28 1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44.9.25 1.48.83 1.73 1.73z"/> </svg> <span class="name">YouTube</span> </div> <!-- Slack --> <div class="social-icon" data-name="Slack"> <svg viewBox="0 0 24 24"> <path d="M6 15a2 2 0 0 1-2 2a2 2 0 0 1-2-2a2 2 0 0 1 2-2h2v2m1 0a2 2 0 0 1 2-2a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2a2 2 0 0 1-2-2v-5m2-9a2 2 0 0 1-2-2a2 2 0 0 1 2-2a2 2 0 0 1 2 2v2H9m0 1a2 2 0 0 1 2 2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2a2 2 0 0 1 2-2h5m9 2a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2h-2v-2m-1 0a2 2 0 0 1-2 2a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2a2 2 0 0 1 2 2v5m-2 9a2 2 0 0 1 2 2a2 2 0 0 1-2 2a2 2 0 0 1-2-2v-2h2m0-1a2 2 0 0 1-2-2a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2a2 2 0 0 1-2 2h-5z"/> </svg> <span class="name">Slack</span> </div> <!-- Teams --> <div class="social-icon" data-name="Teams"> <svg viewBox="0 0 24 24"> <path d="M19.25 3c.83 0 1.5.67 1.5 1.5v.5H23v4.5h-2.25V15c0 .83-.67 1.5-1.5 1.5h-3.5v2.2c0 .4-.18.8-.48 1.08L13 22h-7.27c-.65 0-1.25-.38-1.48-1.01l-3.28-8.72c-.19-.46-.14-1 .15-1.41.28-.42.75-.66 1.24-.66H6V3.5c0-.83.67-1.5 1.5-1.5h11.75m0 1.5H7.5V15H12v-3H9v-1.5h3v-3H9V6h3V4.5h7.25v13H15v-8h-1.5V15h-6V5.73H3.36L6.64 14H12v-1.5h1.5V20h2.77V17.5h3.48V4.5z"/> </svg> <span class="name">Teams</span> </div> <!-- Discord --> <div class="social-icon" data-name="Discord"> <svg viewBox="0 0 24 24"> <path d="M22 24L16.75 19H17.75H21V6H3V19H10.25H11.25L12 19.5L18.25 24H22M22 4V19H19V7H5V19H3V4H22M8 12C9.1 12 10 12.9 10 14C10 15.1 9.1 16 8 16C6.9 16 6 15.1 6 14C6 12.9 6.9 12 8 12M16 12C17.1 12 18 12.9 18 14C18 15.1 17.1 16 16 16C14.9 16 14 15.1 14 14C14 12.9 14.9 12 16 12Z"/> </svg> <span class="name">Discord</span> </div> </div> </div> <div class="tab-content" id="guidelines" style="display: none;"> <h2>Brand Communication Guidelines</h2> <p>These minimalist social media icons are designed for professional communication in corporate environments. Use them consistently across all platforms to maintain brand integrity.</p> <div class="guidelines"> <div class="guideline-item"> <div class="number">1</div> <div class="guideline-content"> <h3>Standard Icon Usage</h3> <p>Use the monochrome version for most corporate communications. The active state (blue) should only appear when the channel is being highlighted or selected.</p> </div> </div> <div class="guideline-item"> <div class="number">2</div> <div class="guideline-content"> <h3>Approved Color Palette</h3> <p>Adhere to the following color codes for consistency across all communications:</p> <div class="color-palette"> <div class="color-swatch" style="background-color: #2c3e50;"> <div class="color-value">#2c3e50</div> </div> <div class="color-swatch" style="background-color: #3498db;"> <div class="color-value">#3498db</div> </div> <div class="color-swatch" style="background-color: #1abc9c;"> <div class="color-value">#1abc9c</div> </div> <div class="color-swatch" style="background-color: #ecf0f1;"> <div class="color-value">#ecf0f1</div> </div> </div> </div> </div> <div class="guideline-item"> <div class="number">3</div> <div class="guideline-content"> <h3>Platform Hierarchy</h3> <p>Primary platforms (LinkedIn, Twitter, Facebook) should be positioned prominently. Secondary platforms should only be included when relevant to the specific communication.</p> </div> </div> <div class="guideline-item"> <div class="number">4</div> <div class="guideline-content"> <h3>Minimum Size</h3> <p>Icons should never appear smaller than 24x24 pixels to maintain legibility and professional appearance across devices.</p> </div> </div> </div> </div> </div> <div class="notification" id="notification">Icon copied to clipboard</div> <script> document.addEventListener('DOMContentLoaded', function() { // Tab functionality const tabs = document.querySelectorAll('.tab'); const tabIndicator = document.querySelector('.tab-indicator'); const tabContents = document.querySelectorAll('.tab-content'); // Set initial tab indicator position const activeTab = document.querySelector('.tab.active'); if (activeTab) { tabIndicator.style.width = `${activeTab.offsetWidth}px`; tabIndicator.style.left = `${activeTab.offsetLeft}px`; } tabs.forEach(tab => { tab.addEventListener('click', () => { // Update active tab tabs.forEach(t => t.classList.remove('active')); tab.classList.add('active'); // Update tab indicator tabIndicator.style.width = `${tab.offsetWidth}px`; tabIndicator.style.left = `${tab.offsetLeft}px`; // Show corresponding content const tabId = tab.dataset.tab; tabContents.forEach(content => { if (content.id === tabId) { content.style.display = 'block'; } else { content.style.display = 'none'; } }); }); }); // Social icon interactions const socialIcons = document.querySelectorAll('.social-icon'); const notification = document.getElementById('notification'); socialIcons.forEach(icon => { icon.addEventListener('click', () => { // Remove active class from all icons socialIcons.forEach(i => i.classList.remove('active')); // Add active class to clicked icon icon.classList.add('active'); // Show notification with icon name notification.textContent = `${icon.dataset.name} icon selected`; notification.classList.add('show'); // Hide notification after 2 seconds setTimeout(() => { notification.classList.remove('show'); }, 2000); }); }); // Tag interactions const tags = document.querySelectorAll('.tag'); tags.forEach(tag => { tag.addEventListener('click', () => { // Toggle active state tag.classList.toggle('active'); // Show notification notification.textContent = `Filter: ${tag.textContent}`; notification.classList.add('show'); // Hide notification after 2 seconds setTimeout(() => { notification.classList.remove('show'); }, 2000); }); }); // Color swatch interaction const colorSwatches = document.querySelectorAll('.color-swatch'); colorSwatches.forEach(swatch => { swatch.addEventListener('click', () => { const colorValue = swatch.querySelector('.color-value').textContent; // Show notification notification.textContent = `Color ${colorValue} copied`; notification.style.backgroundColor = colorValue; // Adjust text color based on background brightness const rgb = hexToRgb(colorValue); const brightness = (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; notification.style.color = brightness > 128 ? '#000' : '#fff'; notification.classList.add('show'); // Hide notification after 2 seconds setTimeout(() => { notification.classList.remove('show'); notification.style.backgroundColor = ''; notification.style.color = ''; }, 2000); }); }); // Helper function to convert hex to RGB function hexToRgb(hex) { const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) } : null; } }); </script> </body> </html>
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>E-commerce Social Media Icons</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background-color: #f8f9fa; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 20px; } .container { width: 100%; max-width: 700px; background-color: white; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); overflow: hidden; } .header { background: linear-gradient(135deg, #3498db, #9b59b6); color: white; padding: 25px 30px; position: relative; overflow: hidden; } .header h1 { font-size: 28px; margin-bottom: 10px; font-weight: 600; z-index: 2; position: relative; } .header p { font-size: 16px; line-height: 1.5; opacity: 0.9; max-width: 80%; z-index: 2; position: relative; } .header::before { content: ''; position: absolute; top: -20px; right: -20px; width: 200px; height: 200px; background: rgba(255, 255, 255, 0.1); border-radius: 50%; z-index: 1; } .content { padding: 30px; } .section-title { font-size: 18px; font-weight: 600; margin-bottom: 20px; color: #2c3e50; position: relative; } .section-title::after { content: ''; position: absolute; bottom: -8px; left: 0; width: 40px; height: 3px; background: linear-gradient(90deg, #3498db, #9b59b6); border-radius: 3px; } .social-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 20px; margin-bottom: 30px; } .social-icon { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 15px; border-radius: 10px; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; background-color: white; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } .social-icon:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12); } .icon-circle { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; position: relative; overflow: hidden; transition: all 0.3s ease; } .social-icon:hover .icon-circle { transform: scale(1.15); } .icon-circle i { font-size: 22px; color: white; position: relative; z-index: 2; } .social-icon p { font-size: 13px; color: #555; font-weight: 500; text-align: center; } .facebook .icon-circle { background-color: #1877F2; } .instagram .icon-circle { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); } .twitter .icon-circle { background-color: #1DA1F2; } .pinterest .icon-circle { background-color: #E60023; } .youtube .icon-circle { background-color: #FF0000; } .tiktok .icon-circle { background: linear-gradient(90deg, #25F4EE, #000000, #FE2C55); } .ripple { position: absolute; border-radius: 50%; background-color: rgba(255, 255, 255, 0.4); transform: scale(0); animation: ripple 0.6s linear; pointer-events: none; } @keyframes ripple { to { transform: scale(2.5); opacity: 0; } } .trending-section { border-top: 1px solid #eee; padding-top: 25px; } .products { display: flex; gap: 15px; overflow-x: auto; padding: 10px 0; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; } .products::-webkit-scrollbar { display: none; } .product { flex: 0 0 auto; width: 150px; border-radius: 10px; overflow: hidden; background: white; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); transition: all 0.3s ease; position: relative; } .product:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08); } .product img { width: 100%; height: 100px; object-fit: cover; transition: transform 0.3s ease; } .product:hover img { transform: scale(1.05); } .product-details { padding: 12px; } .product-name { font-size: 13px; font-weight: 600; color: #333; margin-bottom: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .product-price { font-size: 14px; font-weight: 700; color: #9b59b6; } .share-btn { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; border-radius: 50%; background-color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); opacity: 0; transform: scale(0.8); transition: all 0.3s ease; } .product:hover .share-btn { opacity: 1; transform: scale(1); } .share-btn i { color: #3498db; font-size: 14px; } .share-popup { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 100; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .share-popup.active { opacity: 1; visibility: visible; } .popup-content { background-color: white; border-radius: 12px; width: 90%; max-width: 350px; padding: 25px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); transform: scale(0.9); transition: all 0.3s ease; } .share-popup.active .popup-content { transform: scale(1); } .popup-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; } .popup-title { font-size: 18px; font-weight: 600; color: #333; } .close-btn { width: 30px; height: 30px; border-radius: 50%; background-color: #f5f5f5; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; } .close-btn:hover { background-color: #eee; } .close-btn i { color: #777; } .popup-social { display: flex; justify-content: space-between; margin-bottom: 20px; } .popup-icon { width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; } .popup-icon:hover { transform: translateY(-3px); } .popup-icon i { font-size: 18px; color: white; } .popup-link { position: relative; padding: 15px; background-color: #f5f5f5; border-radius: 8px; margin-top: 20px; display: flex; align-items: center; overflow: hidden; } .popup-link input { flex: 1; border: none; background: transparent; font-size: 14px; outline: none; color: #555; padding-right: 10px; } .copy-btn { background-color: #9b59b6; color: white; border: none; padding: 8px 15px; border-radius: 6px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; } .copy-btn:hover { background-color: #8e44ad; } .copy-toast { position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); background-color: #333; color: white; padding: 8px 15px; border-radius: 6px; font-size: 14px; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .copy-toast.active { bottom: -30px; opacity: 1; visibility: visible; } @media (max-width: 500px) { .social-container { grid-template-columns: repeat(3, 1fr); } .header h1 { font-size: 24px; } .header p { font-size: 14px; } .content { padding: 20px; } } </style> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> </head> <body> <div class="container"> <div class="header"> <h1>Connect & Shop</h1> <p>Share your favorite finds and follow our latest collections across all platforms.</p> </div> <div class="content"> <h2 class="section-title">Follow Us</h2> <div class="social-container"> <div class="social-icon facebook"> <div class="icon-circle"> <i class="fab fa-facebook-f"></i> </div> <p>Facebook</p> </div> <div class="social-icon instagram"> <div class="icon-circle"> <i class="fab fa-instagram"></i> </div> <p>Instagram</p> </div> <div class="social-icon twitter"> <div class="icon-circle"> <i class="fab fa-twitter"></i> </div> <p>Twitter</p> </div> <div class="social-icon pinterest"> <div class="icon-circle"> <i class="fab fa-pinterest-p"></i> </div> <p>Pinterest</p> </div> <div class="social-icon youtube"> <div class="icon-circle"> <i class="fab fa-youtube"></i> </div> <p>YouTube</p> </div> <div class="social-icon tiktok"> <div class="icon-circle"> <i class="fab fa-tiktok"></i> </div> <p>TikTok</p> </div> </div> <div class="trending-section"> <h2 class="section-title">Trending Now</h2> <div class="products"> <div class="product"> <img src="https://images.unsplash.com/photo-1523275335684-37898b6baf30" alt="Smart Watch"> <div class="share-btn"> <i class="fas fa-share-alt"></i> </div> <div class="product-details"> <h3 class="product-name">Smart Watch Pro</h3> <p class="product-price">$159.99</p> </div> </div> <div class="product"> <img src="https://images.unsplash.com/photo-1560343090-f0409e92791a" alt="Headphones"> <div class="share-btn"> <i class="fas fa-share-alt"></i> </div> <div class="product-details"> <h3 class="product-name">Ultra Comfort Headphones</h3> <p class="product-price">$89.99</p> </div> </div> <div class="product"> <img src="https://images.unsplash.com/photo-1525966222134-fcfa99b8ae77" alt="Sneakers"> <div class="share-btn"> <i class="fas fa-share-alt"></i> </div> <div class="product-details"> <h3 class="product-name">Urban Flex Sneakers</h3> <p class="product-price">$129.99</p> </div> </div> <div class="product"> <img src="https://images.unsplash.com/photo-1526170375885-4d8ecf77b99f" alt="Camera"> <div class="share-btn"> <i class="fas fa-share-alt"></i> </div> <div class="product-details"> <h3 class="product-name">Instant Photo Camera</h3> <p class="product-price">$199.99</p> </div> </div> </div> </div> </div> </div> <div class="share-popup"> <div class="popup-content"> <div class="popup-header"> <h3 class="popup-title">Share This Product</h3> <div class="close-btn"> <i class="fas fa-times"></i> </div> </div> <div class="popup-social"> <div class="popup-icon" style="background-color: #1877F2;"> <i class="fab fa-facebook-f"></i> </div> <div class="popup-icon" style="background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);"> <i class="fab fa-instagram"></i> </div> <div class="popup-icon" style="background-color: #1DA1F2;"> <i class="fab fa-twitter"></i> </div> <div class="popup-icon" style="background-color: #25D366;"> <i class="fab fa-whatsapp"></i> </div> <div class="popup-icon" style="background-color: #0088cc;"> <i class="fab fa-telegram-plane"></i> </div> </div> <div class="popup-link"> <input type="text" value="https://shop.example.com/product/smart-watch-pro" readonly> <button class="copy-btn">Copy</button> <div class="copy-toast">Link copied!</div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded', function() { // Ripple effect for social icons const socialIcons = document.querySelectorAll('.social-icon'); socialIcons.forEach(icon => { icon.addEventListener('click', function(e) { const circle = document.createElement('span'); circle.classList.add('ripple'); this.appendChild(circle); const x = e.pageX - this.offsetLeft; const y = e.pageY - this.offsetTop; circle.style.left = x + 'px'; circle.style.top = y + 'px'; setTimeout(() => { circle.remove(); }, 600); }); }); // Share popup const shareButtons = document.querySelectorAll('.share-btn'); const sharePopup = document.querySelector('.share-popup'); const closeBtn = document.querySelector('.close-btn'); const popupContent = document.querySelector('.popup-content'); shareButtons.forEach(btn => { btn.addEventListener('click', function(e) { e.stopPropagation(); const productName = this.parentElement.querySelector('.product-name').textContent; document.querySelector('.popup-title').textContent = `Share ${productName}`; // Update share link based on product const slugifiedName = productName.toLowerCase().replace(/\s+/g, '-'); document.querySelector('.popup-link input').value = `https://shop.example.com/product/${slugifiedName}`; sharePopup.classList.add('active'); }); }); closeBtn.addEventListener('click', function() { sharePopup.classList.remove('active'); }); sharePopup.addEventListener('click', function(e) { if (!popupContent.contains(e.target)) { sharePopup.classList.remove('active'); } }); // Copy link functionality const copyBtn = document.querySelector('.copy-btn'); const copyToast = document.querySelector('.copy-toast'); copyBtn.addEventListener('click', function() { const linkInput = document.querySelector('.popup-link input'); linkInput.select(); document.execCommand('copy'); copyToast.classList.add('active'); setTimeout(() => { copyToast.classList.remove('active'); }, 2000); }); // Add hover effect for social popup icons const popupIcons = document.querySelectorAll('.popup-icon'); popupIcons.forEach(icon => { icon.addEventListener('mouseenter', function() { this.style.transform = 'translateY(-3px)'; }); icon.addEventListener('mouseleave', function() { this.style.transform = 'translateY(0)'; }); }); // Animation for products on page load const products = document.querySelectorAll('.product'); products.forEach((product, index) => { setTimeout(() => { product.style.opacity = '1'; product.style.transform = 'translateY(0)'; }, 100 * index); }); }); </script> </body> </html>
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Serene Social - Mindful Connections</title> <style> :root { --primary: #8cb9c0; --secondary: #d5e8e1; --accent: #f6b4a8; --text: #5a7174; --background: #f9f7f4; --shadow: rgba(138, 172, 176, 0.15); } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Montserrat', 'Segoe UI', sans-serif; } body { background-color: var(--background); color: var(--text); display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; padding: 2rem; overflow-x: hidden; } .container { max-width: 700px; width: 100%; padding: 2.5rem; position: relative; } .header { text-align: center; margin-bottom: 2.5rem; } .header h1 { font-size: 2.2rem; margin-bottom: 1rem; color: var(--primary); font-weight: 300; letter-spacing: 1px; } .header p { font-size: 1rem; line-height: 1.6; max-width: 560px; margin: 0 auto; color: var(--text); } .social-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; margin-top: 1.5rem; padding: 1rem; position: relative; } .icon-wrapper { position: relative; cursor: pointer; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .icon-wrapper:hover { transform: scale(1.1); } .icon { width: 80px; height: 80px; border-radius: 50%; background-color: var(--secondary); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 15px var(--shadow); position: relative; z-index: 1; transition: all 0.4s ease-out; } .icon svg { width: 32px; height: 32px; fill: var(--primary); transition: fill 0.4s ease; } .icon-wrapper:hover .icon { background-color: var(--primary); } .icon-wrapper:hover .icon svg { fill: white; } .pulse { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; animation: pulse 3s infinite ease-in-out; background-color: var(--secondary); opacity: 0; z-index: 0; } .icon-name { text-align: center; margin-top: 0.75rem; font-size: 0.9rem; color: var(--text); font-weight: 500; opacity: 0.85; transition: opacity 0.3s ease; } .icon-wrapper:hover .icon-name { opacity: 1; } .icon-wrapper:hover .pulse { animation-play-state: running; } .deco-circle { position: absolute; border-radius: 50%; background-color: var(--accent); opacity: 0.1; z-index: -1; } .deco-circle-1 { width: 200px; height: 200px; top: -50px; right: -30px; } .deco-circle-2 { width: 150px; height: 150px; bottom: 50px; left: -40px; } .message { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: var(--primary); color: white; padding: 1rem 2rem; border-radius: 30px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15); opacity: 0; transition: opacity 0.4s ease; pointer-events: none; z-index: 100; text-align: center; } @keyframes pulse { 0% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.3); opacity: 0; } 100% { transform: scale(1); opacity: 0; } } @keyframes breathing { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .animate-breathing { animation: breathing 5s infinite ease-in-out; } .footer { margin-top: 2.5rem; text-align: center; font-size: 0.9rem; color: var(--text); opacity: 0.7; } .tooltip { position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); background-color: var(--primary); color: white; padding: 0.5rem 1rem; border-radius: 20px; font-size: 0.8rem; opacity: 0; transition: opacity 0.3s ease, transform 0.3s ease; pointer-events: none; white-space: nowrap; } .icon-wrapper:hover .tooltip { opacity: 1; transform: translateX(-50%) translateY(-5px); } @media (max-width: 600px) { .container { padding: 1.5rem; } .header h1 { font-size: 1.8rem; } .social-icons { gap: 1.5rem; } .icon { width: 65px; height: 65px; } .icon svg { width: 25px; height: 25px; } } </style> </head> <body> <div class="container"> <div class="header"> <h1>Serene Social</h1> <p>Connect mindfully with your community through our gentle social presence. Each icon embodies our commitment to wellness—pulsing softly like a calm breath to remind you to pause and center yourself.</p> </div> <div class="social-icons"> <div class="icon-wrapper" data-platform="Instagram"> <div class="icon"> <svg viewBox="0 0 24 24"> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/> </svg> </div> <div class="pulse"></div> <div class="icon-name">Instagram</div> <div class="tooltip">Mindful visual sharing</div> </div> <div class="icon-wrapper" data-platform="Facebook"> <div class="icon"> <svg viewBox="0 0 24 24"> <path d="M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z"/> </svg> </div> <div class="pulse"></div> <div class="icon-name">Facebook</div> <div class="tooltip">Community wellness events</div> </div> <div class="icon-wrapper" data-platform="Twitter"> <div class="icon"> <svg viewBox="0 0 24 24"> <path d="M24 4.557c-.883.392-1.832.656-2.828.775 1.017-.609 1.798-1.574 2.165-2.724-.951.564-2.005.974-3.127 1.195-.897-.957-2.178-1.555-3.594-1.555-3.179 0-5.515 2.966-4.797 6.045-4.091-.205-7.719-2.165-10.148-5.144-1.29 2.213-.669 5.108 1.523 6.574-.806-.026-1.566-.247-2.229-.616-.054 2.281 1.581 4.415 3.949 4.89-.693.188-1.452.232-2.224.084.626 1.956 2.444 3.379 4.6 3.419-2.07 1.623-4.678 2.348-7.29 2.04 2.179 1.397 4.768 2.212 7.548 2.212 9.142 0 14.307-7.721 13.995-14.646.962-.695 1.797-1.562 2.457-2.549z"/> </svg> </div> <div class="pulse"></div> <div class="icon-name">Twitter</div> <div class="tooltip">Daily calm affirmations</div> </div> <div class="icon-wrapper" data-platform="Pinterest"> <div class="icon"> <svg viewBox="0 0 24 24"> <path d="M12 0c-6.627 0-12 5.372-12 12 0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738.098.119.112.224.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146 1.124.347 2.317.535 3.554.535 6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12z"/> </svg> </div> <div class="pulse"></div> <div class="icon-name">Pinterest</div> <div class="tooltip">Wellness inspiration boards</div> </div> <div class="icon-wrapper" data-platform="YouTube"> <div class="icon"> <svg viewBox="0 0 24 24"> <path d="M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z"/> </svg> </div> <div class="pulse"></div> <div class="icon-name">YouTube</div> <div class="tooltip">Guided meditation videos</div> </div> <div class="icon-wrapper" data-platform="Spotify"> <div class="icon"> <svg viewBox="0 0 24 24"> <path d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"/> </svg> </div> <div class="pulse"></div> <div class="icon-name">Spotify</div> <div class="tooltip">Calming playlists & podcasts</div> </div> </div> <div class="footer"> <p>Breathe. Connect. Thrive.</p> </div> <div class="deco-circle deco-circle-1 animate-breathing"></div> <div class="deco-circle deco-circle-2 animate-breathing"></div> </div> <div class="message" id="message"></div> <script> document.addEventListener('DOMContentLoaded', function() { const iconWrappers = document.querySelectorAll('.icon-wrapper'); const message = document.getElementById('message'); // Initialize staggered breathing animation for icons iconWrappers.forEach((wrapper, index) => { const icon = wrapper.querySelector('.icon'); icon.style.animationDelay = `${index * 0.5}s`; icon.classList.add('animate-breathing'); // Add custom pulse effect on hover wrapper.addEventListener('mouseenter', function() { const platform = this.getAttribute('data-platform'); const pulse = this.querySelector('.pulse'); // Reset and restart pulse animation pulse.style.animation = 'none'; pulse.offsetHeight; // Trigger reflow pulse.style.animation = 'pulse 3s infinite ease-in-out'; }); // Handle "click to share" functionality wrapper.addEventListener('click', function() { const platform = this.getAttribute('data-platform'); message.textContent = `Connected to ${platform} mindfully`; message.style.opacity = '1'; // Shake animation effect this.style.animation = 'none'; this.offsetHeight; // Trigger reflow this.style.animation = 'breathing 0.5s ease-in-out'; // Hide message after delay setTimeout(() => { message.style.opacity = '0'; }, 2000); }); }); // Create floating particles for ambient effect function createParticles() { const container = document.querySelector('.container'); for (let i = 0; i < 10; i++) { const particle = document.createElement('div'); particle.style.position = 'absolute'; particle.style.width = `${Math.random() * 10 + 5}px`; particle.style.height = particle.style.width; particle.style.borderRadius = '50%'; particle.style.backgroundColor = 'var(--accent)'; particle.style.opacity = '0.1'; particle.style.zIndex = '-1'; // Random position particle.style.top = `${Math.random() * 100}%`; particle.style.left = `${Math.random() * 100}%`; // Create floating animation const animDuration = Math.random() * 15 + 10; particle.style.animation = `breathing ${animDuration}s infinite ease-in-out`; particle.style.animationDelay = `${Math.random() * 5}s`; container.appendChild(particle); } } createParticles(); }); </script> </body> </html>
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>EduConnect - Social Media Links</title> <style> @import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&display=swap'); :root { --primary: #4B6BFB; --secondary: #00C9A7; --accent: #FF6B6B; --light: #F9F9FB; --dark: #333545; --twitter: #1DA1F2; --facebook: #4267B2; --instagram: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); --youtube: #FF0000; --discord: #7289DA; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Quicksand', sans-serif; } body { background-color: var(--light); display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 700px; width: 100%; padding: 20px; overflow-x: hidden; } .container { max-width: 650px; width: 100%; background-color: white; border-radius: 16px; box-shadow: 0 10px 30px rgba(75, 107, 251, 0.1); padding: 30px; transition: all 0.3s ease; position: relative; overflow: hidden; } .container::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: linear-gradient(90deg, var(--primary), var(--secondary)); } .header { text-align: center; margin-bottom: 30px; } .logo { display: flex; align-items: center; justify-content: center; margin-bottom: 15px; } .logo svg { width: 40px; height: 40px; margin-right: 10px; } .logo-text { font-size: 28px; font-weight: 700; color: var(--primary); } h1 { font-size: 24px; color: var(--dark); margin-bottom: 10px; } p { color: #666; line-height: 1.6; margin-bottom: 25px; } .social-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 30px; } .social-icon { display: flex; flex-direction: column; align-items: center; text-decoration: none; width: 90px; transform: translateY(0); transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .social-icon:hover { transform: translateY(-10px); } .icon-circle { width: 70px; height: 70px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; position: relative; overflow: hidden; background-color: #f5f5f5; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; } .icon-circle svg { width: 30px; height: 30px; position: relative; z-index: 2; transition: all 0.3s ease; } .icon-circle::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: all 0.3s ease; z-index: 1; } .icon-twitter .icon-circle::before { background-color: var(--twitter); } .icon-facebook .icon-circle::before { background-color: var(--facebook); } .icon-instagram .icon-circle::before { background: var(--instagram); } .icon-youtube .icon-circle::before { background-color: var(--youtube); } .icon-discord .icon-circle::before { background-color: var(--discord); } .social-icon:hover .icon-circle::before { opacity: 1; } .social-icon:hover .icon-circle svg { fill: white; } .social-icon:hover .icon-circle { transform: scale(1.1); } .icon-title { font-weight: 600; font-size: 14px; color: var(--dark); text-align: center; transition: all 0.3s ease; } .social-icon:hover .icon-title { color: var(--primary); } .features { margin-top: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; } .feature { background-color: #f9f9fb; border-radius: 12px; padding: 20px; display: flex; align-items: flex-start; transition: all 0.3s ease; } .feature:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05); } .feature-icon { background: linear-gradient(135deg, var(--primary), var(--secondary)); width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0; } .feature-icon svg { width: 20px; height: 20px; fill: white; } .feature-content h3 { font-size: 16px; margin-bottom: 5px; color: var(--dark); } .feature-content p { font-size: 14px; margin-bottom: 0; color: #666; } .pulse { position: absolute; top: 10px; right: 10px; width: 12px; height: 12px; border-radius: 50%; background-color: var(--accent); box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7); animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(255, 107, 107, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0); } } @media (max-width: 600px) { .container { padding: 20px; } .social-icons { gap: 10px; } .social-icon { width: 80px; } .icon-circle { width: 60px; height: 60px; } .icon-title { font-size: 12px; } .features { grid-template-columns: 1fr; } } .tooltip { position: absolute; background: var(--dark); color: white; padding: 5px 10px; border-radius: 4px; font-size: 12px; bottom: 120%; left: 50%; transform: translateX(-50%); white-space: nowrap; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: var(--dark) transparent transparent transparent; } .social-icon:hover .tooltip { opacity: 1; visibility: visible; bottom: 110%; } .mouse-cursor { position: fixed; left: 0; top: 0; pointer-events: none; border-radius: 50%; z-index: 9999; width: 40px; height: 40px; border: 2px solid var(--primary); transition: transform 0.1s; transform: translate(-50%, -50%) scale(0); opacity: 0.3; } .cursor-active { transform: translate(-50%, -50%) scale(1); opacity: 0.7; } .btn-join { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: white; border: none; padding: 12px 30px; border-radius: 30px; font-weight: 600; font-size: 16px; cursor: pointer; transition: all 0.3s ease; margin-top: 20px; box-shadow: 0 4px 12px rgba(75, 107, 251, 0.3); position: relative; overflow: hidden; } .btn-join::after { content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: -100%; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.3), rgba(255,255,255,0)); transition: all 0.5s ease; } .btn-join:hover { transform: translateY(-3px); box-shadow: 0 7px 15px rgba(75, 107, 251, 0.4); } .btn-join:hover::after { left: 100%; } .footer { margin-top: 40px; text-align: center; font-size: 14px; color: #999; } </style> </head> <body> <div class="container"> <div class="pulse"></div> <div class="header"> <div class="logo"> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M22 10V15C22 20 20 22 15 22H9C4 22 2 20 2 15V9C2 4 4 2 9 2H14" stroke="#4B6BFB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> <path d="M22 10H18C15 10 14 9 14 6V2L22 10Z" stroke="#4B6BFB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> <path d="M7 13H13" stroke="#4B6BFB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> <path d="M7 17H11" stroke="#4B6BFB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> </svg> <span class="logo-text">EduConnect</span> </div> <h1>Join Our Learning Community</h1> <p>Stay updated with the latest courses, live webinars, and educational resources. Connect with fellow learners and instructors across multiple platforms.</p> </div> <div class="social-icons"> <a href="#" class="social-icon icon-twitter"> <div class="icon-circle"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#1DA1F2"> <path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z"/> </svg> </div> <span class="icon-title">Twitter</span> <div class="tooltip">Daily tips & updates</div> </a> <a href="#" class="social-icon icon-facebook"> <div class="icon-circle"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#4267B2"> <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/> </svg> </div> <span class="icon-title">Facebook</span> <div class="tooltip">Study groups & events</div> </a> <a href="#" class="social-icon icon-instagram"> <div class="icon-circle"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#E1306C"> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"/> </svg> </div> <span class="icon-title">Instagram</span> <div class="tooltip">Success stories</div> </a> <a href="#" class="social-icon icon-youtube"> <div class="icon-circle"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#FF0000"> <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/> </svg> </div> <span class="icon-title">YouTube</span> <div class="tooltip">Tutorial videos</div> </a> <a href="#" class="social-icon icon-discord"> <div class="icon-circle"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#7289DA"> <path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"/> </svg> </div> <span class="icon-title">Discord</span> <div class="tooltip">Community chat</div> </a> </div> <div class="features"> <div class="feature"> <div class="feature-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"> <path d="M12 14.5c2.49 0 4.5-2.01 4.5-4.5S14.49 5.5 12 5.5 7.5 7.51 7.5 10s2.01 4.5 4.5 4.5zm0-7c1.38 0 2.5 1.12 2.5 2.5s-1.12 2.5-2.5 2.5S9.5 11.38 9.5 10 10.62 7.5 12 7.5zm6 8.5c-1.83-1.93-4.39-3-7-3s-5.17 1.07-7 3c-.34.36-.5.82-.5 1.28V22h15v-4.72c0-.46-.16-.92-.5-1.28zm-13 .72c0-.13.05-.26.15-.35C6.66 17.29 8.77 16.5 11 16.5c2.23 0 4.34.79 5.85 1.88.1.09.15.22.15.35V20H5v-1.28z"/> </svg> </div> <div class="feature-content"> <h3>Personal Learning Dashboard</h3> <p>Connect all your social accounts to track your learning progress across platforms.</p> </div> </div> <div class="feature"> <div class="feature-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"> <path d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V10h16v11zm0-13H4V5h16v3z"/> <path d="M13 14h4v4h-4z"/> </svg> </div> <div class="feature-content"> <h3>Live Event Notifications</h3> <p>Never miss a webinar or Q&A session with instant social alerts.</p> </div> </div> </div> <div style="text-align: center;"> <button class="btn-join">Join Our Learning Network</button> </div> <div class="footer"> © 2023 EduConnect Learning Platform • Privacy Policy </div> </div> <div class="mouse-cursor"></div> <script> document.addEventListener('DOMContentLoaded', () => { // Social icon hover effect enhancement const socialIcons = document.querySelectorAll('.social-icon'); socialIcons.forEach(icon => { icon.addEventListener('mouseenter', () => { icon.style.transform = 'translateY(-10px) scale(1.05)'; setTimeout(() => { icon.querySelector('.icon-circle').style.boxShadow = '0 8px 20px rgba(0, 0, 0, 0.2)'; }, 50); }); icon.addEventListener('mouseleave', () => { icon.style.transform = 'translateY(0) scale(1)'; setTimeout(() => { icon.querySelector('.icon-circle').style.boxShadow = '0 5px 15px rgba(0, 0, 0, 0.1)'; }, 50); }); }); // Button click effect const button = document.querySelector('.btn-join'); button.addEventListener('click', (e) => { e.preventDefault(); button.style.transform = 'scale(0.95)'; setTimeout(() => { button.style.transform = 'translateY(-3px)'; // Show success message const successMsg = document.createElement('div'); successMsg.textContent = 'Thanks for joining!'; successMsg.style.color = '#00C9A7'; successMsg.style.fontWeight = 'bold'; successMsg.style.marginTop = '10px'; successMsg.style.opacity = '0'; successMsg.style.transition = 'opacity 0.3s ease'; button.parentNode.appendChild(successMsg); setTimeout(() => { successMsg.style.opacity = '1'; }, 50); setTimeout(() => { successMsg.style.opacity = '0'; setTimeout(() => { successMsg.remove(); }, 300); }, 2000); }, 200); }); // Custom cursor effect const cursor = document.querySelector('.mouse-cursor'); document.addEventListener('mousemove', (e) => { cursor.style.left = e.clientX + 'px'; cursor.style.top = e.clientY + 'px'; }); document.addEventListener('mouseenter', () => { cursor.classList.add('cursor-active'); }); document.addEventListener('mouseleave', () => { cursor.classList.remove('cursor-active'); }); // Enhance cursor on interactive elements const interactiveElements = document.querySelectorAll('a, button'); interactiveElements.forEach(el => { el.addEventListener('mouseenter', () => { cursor.style.transform = 'translate(-50%, -50%) scale(1.5)'; cursor.style.borderColor = 'var(--secondary)'; }); el.addEventListener('mouseleave', () => { cursor.style.transform = 'translate(-50%, -50%) scale(1)'; cursor.style.borderColor = 'var(--primary)'; }); }); // Random animation delay for social icons on load socialIcons.forEach(icon => { const delay = Math.random() * 0.5; icon.style.transitionDelay = `${delay}s`; setTimeout(() => { icon.style.transform = 'translateY(-10px)'; setTimeout(() => { icon.style.transform = 'translateY(0)'; icon.style.transitionDelay = '0s'; }, 500); }, 500); }); }); </script> </body> </html>
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { display: flex; justify-content: center; align-items: center; min-height: 700px; background-color: #f8f5f2; padding: 20px; overflow: hidden; } .container { max-width: 650px; width: 100%; background-color: #fff; border-radius: 24px; padding: 40px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); position: relative; overflow: hidden; } .header { text-align: center; margin-bottom: 30px; } h1 { color: #3a6351; font-size: 2.2rem; margin-bottom: 15px; font-weight: 700; position: relative; display: inline-block; } h1::after { content: ''; position: absolute; width: 50%; height: 8px; background-image: url("data:image/svg+xml,%3Csvg width='100' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4.5C25 1.5 75 7.5 99 4.5' stroke='%23f4845f' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 100% auto; bottom: -8px; left: 25%; } p.tagline { color: #666; font-size: 1.1rem; max-width: 85%; margin: 0 auto 20px auto; line-height: 1.5; } .social-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; margin-top: 30px; } .social-icon { position: relative; display: flex; flex-direction: column; align-items: center; transition: all 0.3s ease; padding: 20px 10px; border-radius: 18px; cursor: pointer; background: #fff; border: 2px dashed transparent; } .social-icon:hover { transform: translateY(-5px); border-color: #f4845f; background-color: #fff9f6; } .social-icon:active { transform: translateY(0); } .icon-wrapper { width: 80px; height: 80px; display: flex; justify-content: center; align-items: center; margin-bottom: 15px; border-radius: 50%; background: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); position: relative; overflow: hidden; transition: all 0.3s ease; } .social-icon:hover .icon-wrapper { box-shadow: 0 8px 20px rgba(244, 132, 95, 0.2); } .social-icon:hover .icon-indicator { opacity: 1; transform: translateX(0); } .icon-bg { position: absolute; width: 100%; height: 100%; border-radius: 50%; } .facebook .icon-bg { background-color: #e6f2ff; } .instagram .icon-bg { background: linear-gradient(135deg, #ffde7d 0%, #f4845f 50%, #9656a1 100%); opacity: 0.15; } .twitter .icon-bg { background-color: #e6f7ff; } .linkedin .icon-bg { background-color: #e6f2ff; } .youtube .icon-bg { background-color: #ffebe6; } .tiktok .icon-bg { background: linear-gradient(135deg, #69C9D0 0%, #EE1D52 100%); opacity: 0.15; } .social-name { font-weight: 600; margin-bottom: 5px; color: #3a6351; font-size: 1rem; transition: all 0.3s ease; } .social-description { font-size: 0.8rem; color: #888; text-align: center; line-height: 1.4; } .social-icon svg { width: 35px; height: 35px; z-index: 2; transition: all 0.3s ease; fill: #3a6351; } .social-icon:hover svg { transform: scale(1.1); fill: #f4845f; } .icon-indicator { position: absolute; right: 5px; top: 5px; background: #f4845f; width: 18px; height: 18px; border-radius: 50%; display: flex; justify-content: center; align-items: center; opacity: 0; transform: translateX(10px); transition: all 0.3s ease; } .icon-indicator svg { width: 10px; height: 10px; fill: white; } .hand-drawn-element { position: absolute; opacity: 0.1; z-index: 0; } .hand-drawn-1 { top: 15%; left: 10%; width: 120px; height: 120px; background-image: url("data:image/svg+xml,%3Csvg width='120' height='120' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60,10 C90,10 110,40 110,60 C110,90 80,110 60,110 C30,110 10,90 10,60 C10,30 30,10 60,10 Z' stroke='%233a6351' stroke-width='2' fill='none' stroke-linecap='round' stroke-dasharray='5,5'/%3E%3C/svg%3E"); animation: float 15s ease-in-out infinite; } .hand-drawn-2 { bottom: 15%; right: 10%; width: 80px; height: 80px; background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15,15 L65,15 L65,65 L15,65 Z' stroke='%23f4845f' stroke-width='2' fill='none' stroke-linecap='round' stroke-dasharray='5,5'/%3E%3C/svg%3E"); animation: float 12s ease-in-out infinite 1s; } @keyframes float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-15px) rotate(5deg); } } .message-popup { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%) translateY(100px); padding: 15px 25px; background-color: #3a6351; color: white; border-radius: 50px; font-weight: 500; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15); opacity: 0; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); z-index: 1000; } .message-popup.show { opacity: 1; transform: translateX(-50%) translateY(0); } @media (max-width: 600px) { .container { padding: 30px 20px; } h1 { font-size: 1.8rem; } p.tagline { font-size: 1rem; } .social-container { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 15px; } .icon-wrapper { width: 60px; height: 60px; } .social-icon svg { width: 25px; height: 25px; } } </style> </head> <body> <div class="container"> <div class="hand-drawn-element hand-drawn-1"></div> <div class="hand-drawn-element hand-drawn-2"></div> <div class="header"> <h1>Stay Connected</h1> <p class="tagline">Join our community of changemakers and follow along as we create positive impact together. Every share helps spread our mission!</p> </div> <div class="social-container"> <div class="social-icon facebook"> <div class="icon-wrapper"> <div class="icon-bg"></div> <svg viewBox="0 0 24 24"> <path d="M12.001 2.002c-5.522 0-9.999 4.477-9.999 9.999 0 4.99 3.656 9.126 8.437 9.879v-6.988h-2.54v-2.891h2.54V9.798c0-2.508 1.493-3.891 3.776-3.891 1.094 0 2.24.195 2.24.195v2.459h-1.264c-1.24 0-1.628.772-1.628 1.563v1.875h2.771l-.443 2.891h-2.328v6.988C18.344 21.129 22 16.992 22 12.001c0-5.522-4.477-9.999-9.999-9.999z"/> </svg> <div class="icon-indicator"> <svg viewBox="0 0 24 24"> <path d="M16.293 9.293L12 13.586L7.707 9.293L6.293 10.707L12 16.414L17.707 10.707L16.293 9.293Z"/> </svg> </div> </div> <div class="social-name">Facebook</div> <div class="social-description">Weekly updates & event announcements</div> </div> <div class="social-icon instagram"> <div class="icon-wrapper"> <div class="icon-bg"></div> <svg viewBox="0 0 24 24"> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/> </svg> <div class="icon-indicator"> <svg viewBox="0 0 24 24"> <path d="M16.293 9.293L12 13.586L7.707 9.293L6.293 10.707L12 16.414L17.707 10.707L16.293 9.293Z"/> </svg> </div> </div> <div class="social-name">Instagram</div> <div class="social-description">Stories from the field & volunteer spotlights</div> </div> <div class="social-icon twitter"> <div class="icon-wrapper"> <div class="icon-bg"></div> <svg viewBox="0 0 24 24"> <path d="M22 5.8a8.49 8.49 0 0 1-2.36.64 4.13 4.13 0 0 0 1.81-2.27 8.21 8.21 0 0 1-2.61 1 4.1 4.1 0 0 0-7 3.74 11.64 11.64 0 0 1-8.45-4.29 4.16 4.16 0 0 0-.55 2.07 4.09 4.09 0 0 0 1.82 3.41 4.05 4.05 0 0 1-1.86-.51v.05a4.1 4.1 0 0 0 3.3 4 3.93 3.93 0 0 1-1.1.17 4.9 4.9 0 0 1-.77-.07 4.11 4.11 0 0 0 3.83 2.84A8.22 8.22 0 0 1 3 18.34a7.93 7.93 0 0 1-1-.06 11.57 11.57 0 0 0 6.29 1.85A11.59 11.59 0 0 0 20 8.45v-.53a8.43 8.43 0 0 0 2-2.12Z"/> </svg> <div class="icon-indicator"> <svg viewBox="0 0 24 24"> <path d="M16.293 9.293L12 13.586L7.707 9.293L6.293 10.707L12 16.414L17.707 10.707L16.293 9.293Z"/> </svg> </div> </div> <div class="social-name">Twitter</div> <div class="social-description">Latest news & real-time updates</div> </div> <div class="social-icon linkedin"> <div class="icon-wrapper"> <div class="icon-bg"></div> <svg viewBox="0 0 24 24"> <path d="M4.98 3.5c0 1.381-1.11 2.5-2.48 2.5s-2.48-1.119-2.48-2.5c0-1.38 1.11-2.5 2.48-2.5s2.48 1.12 2.48 2.5zm.02 4.5h-5v16h5v-16zm7.982 0h-4.968v16h4.969v-8.399c0-4.67 6.029-5.052 6.029 0v8.399h4.988v-10.131c0-7.88-8.922-7.593-11.018-3.714v-2.155z"/> </svg> <div class="icon-indicator"> <svg viewBox="0 0 24 24"> <path d="M16.293 9.293L12 13.586L7.707 9.293L6.293 10.707L12 16.414L17.707 10.707L16.293 9.293Z"/> </svg> </div> </div> <div class="social-name">LinkedIn</div> <div class="social-description">Professional updates & thought leadership</div> </div> <div class="social-icon youtube"> <div class="icon-wrapper"> <div class="icon-bg"></div> <svg viewBox="0 0 24 24"> <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/> </svg> <div class="icon-indicator"> <svg viewBox="0 0 24 24"> <path d="M16.293 9.293L12 13.586L7.707 9.293L6.293 10.707L12 16.414L17.707 10.707L16.293 9.293Z"/> </svg> </div> </div> <div class="social-name">YouTube</div> <div class="social-description">Impact stories & educational content</div> </div> <div class="social-icon tiktok"> <div class="icon-wrapper"> <div class="icon-bg"></div> <svg viewBox="0 0 24 24"> <path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1-.1z"/> </svg> <div class="icon-indicator"> <svg viewBox="0 0 24 24"> <path d="M16.293 9.293L12 13.586L7.707 9.293L6.293 10.707L12 16.414L17.707 10.707L16.293 9.293Z"/> </svg> </div> </div> <div class="social-name">TikTok</div> <div class="social-description">Behind-the-scenes & fun campaign moments</div> </div> </div> </div> <div class="message-popup" id="message-popup"> Connected! We'll see you in our community. </div> <script> document.addEventListener('DOMContentLoaded', function() { const socialIcons = document.querySelectorAll('.social-icon'); const messagePopup = document.getElementById('message-popup'); socialIcons.forEach(icon => { icon.addEventListener('click', function() { // Get the social media name const socialName = this.querySelector('.social-name').textContent; // Show the message popup messagePopup.textContent = `Connected with ${socialName}! We'll see you in our community.`; messagePopup.classList.add('show'); // Hide the popup after 3 seconds setTimeout(() => { messagePopup.classList.remove('show'); }, 3000); // Add a ripple effect to the icon const iconWrapper = this.querySelector('.icon-wrapper'); const ripple = document.createElement('span'); ripple.style.position = 'absolute'; ripple.style.borderRadius = '50%'; ripple.style.backgroundColor = 'rgba(244, 132, 95, 0.2)'; ripple.style.width = '100%'; ripple.style.height = '100%'; ripple.style.transform = 'scale(0)'; ripple.style.animation = 'ripple 0.6s linear'; ripple.style.opacity = '1'; iconWrapper.appendChild(ripple); setTimeout(() => { ripple.remove(); }, 700); }); }); // Add CSS for ripple animation const style = document.createElement('style'); style.textContent = ` @keyframes ripple { to { transform: scale(2); opacity: 0; } } `; document.head.appendChild(style); }); </script> </body> </html>
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Soundwave Festival - Social Media</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Montserrat', sans-serif; } @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&display=swap'); body { background: #121212; color: #fff; display: flex; justify-content: center; align-items: center; min-height: 100vh; overflow-x: hidden; position: relative; } .container { width: 100%; max-width: 700px; padding: 2rem; position: relative; z-index: 1; } .festival-banner { text-align: center; margin-bottom: 2.5rem; position: relative; overflow: hidden; border-radius: 1rem; background: linear-gradient(45deg, #ff0055, #ff7700); padding: 2rem 1rem; box-shadow: 0 15px 25px rgba(0, 0, 0, 0.2); animation: gradient-shift 8s infinite alternate; } @keyframes gradient-shift { 0% { background: linear-gradient(45deg, #ff0055, #ff7700); } 50% { background: linear-gradient(45deg, #6f00ff, #00b3ff); } 100% { background: linear-gradient(45deg, #00ffa3, #ffcc00); } } .banner-title { font-size: 2.5rem; font-weight: 800; margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 2px; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); } .banner-dates { font-size: 1rem; font-weight: 600; letter-spacing: 1px; margin-bottom: 1rem; } .social-container { display: flex; flex-direction: column; align-items: center; gap: 2rem; } .section-title { font-size: 1.5rem; text-align: center; margin-bottom: 1.5rem; position: relative; display: inline-block; } .section-title:after { content: ''; position: absolute; bottom: -8px; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #ff0055, #ff7700, #6f00ff); border-radius: 3px; animation: gradient-flow 3s infinite alternate; } @keyframes gradient-flow { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } .icons-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; width: 100%; } .social-icon { aspect-ratio: 1; border-radius: 50%; display: flex; justify-content: center; align-items: center; position: relative; cursor: pointer; overflow: hidden; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); transition: transform 0.3s, box-shadow 0.3s; } .social-icon:hover { transform: translateY(-10px) scale(1.05); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); } .social-icon:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(225deg, var(--gradient-start), var(--gradient-end)); z-index: -1; transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1); } .social-icon:hover:before { transform: scale(1.2) rotate(10deg); } .social-icon:after { content: ''; position: absolute; top: 50%; left: 50%; width: 120%; height: 120%; background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%); transform: translate(-50%, -50%) scale(0); opacity: 0; transition: transform 0.6s, opacity 0.6s; pointer-events: none; z-index: 0; } .social-icon:hover:after { transform: translate(-50%, -50%) scale(1); opacity: 0.15; } .icon-inner { position: relative; z-index: 1; color: white; font-size: 1.8rem; transition: transform 0.3s; } .social-icon:hover .icon-inner { transform: scale(1.1); animation: pulse 1s infinite alternate; } @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.2); } } .social-icon:nth-child(1) { --gradient-start: #ff0055; --gradient-end: #ff7700; } .social-icon:nth-child(2) { --gradient-start: #6f00ff; --gradient-end: #00b3ff; } .social-icon:nth-child(3) { --gradient-start: #00ffa3; --gradient-end: #ffcc00; } .social-icon:nth-child(4) { --gradient-start: #ff00aa; --gradient-end: #7700ff; } .social-icon:nth-child(5) { --gradient-start: #00aaff; --gradient-end: #00ffcc; } .social-icon:nth-child(6) { --gradient-start: #ff7700; --gradient-end: #ffcc00; } .icon-label { position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); white-space: nowrap; opacity: 0; transition: opacity 0.3s, bottom 0.3s; background: rgba(0, 0, 0, 0.7); padding: 0.3rem 0.7rem; border-radius: 15px; font-size: 0.8rem; pointer-events: none; } .social-icon:hover .icon-label { opacity: 1; bottom: -40px; } .sound-wave { position: absolute; bottom: 0; left: 0; width: 100%; height: 40px; display: flex; justify-content: center; align-items: flex-end; gap: 2px; } .sound-bar { width: 4px; background: rgba(255, 255, 255, 0.5); border-radius: 2px; height: 5px; transition: height 0.2s; } .social-icon:hover .sound-bar { animation: sound-wave 0.8s infinite alternate; } @keyframes sound-wave { 0% { height: 5px; } 100% { height: 25px; } } .sound-bar:nth-child(1) { animation-delay: 0.0s; } .sound-bar:nth-child(2) { animation-delay: 0.1s; } .sound-bar:nth-child(3) { animation-delay: 0.2s; } .sound-bar:nth-child(4) { animation-delay: 0.3s; } .sound-bar:nth-child(5) { animation-delay: 0.4s; } .sound-bar:nth-child(6) { animation-delay: 0.5s; } .sound-bar:nth-child(7) { animation-delay: 0.4s; } .sound-bar:nth-child(8) { animation-delay: 0.3s; } .sound-bar:nth-child(9) { animation-delay: 0.2s; } .sound-bar:nth-child(10) { animation-delay: 0.1s; } .follow-text { margin-top: 3rem; text-align: center; font-size: 1.1rem; line-height: 1.6; max-width: 500px; margin-left: auto; margin-right: auto; } .hashtag { display: inline-block; background: linear-gradient(90deg, #ff0055, #ff7700); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight: 700; padding: 0.2rem 0; position: relative; transition: transform 0.3s; cursor: pointer; } .hashtag:hover { transform: scale(1.1); background: linear-gradient(90deg, #6f00ff, #00b3ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .background-circles { position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: -1; } .circle { position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 70%); animation: float 15s infinite linear; opacity: 0.4; } @keyframes float { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-100vh) rotate(360deg); } } @media (max-width: 600px) { .banner-title { font-size: 2rem; } .icons-grid { grid-template-columns: repeat(2, 1fr); } .container { padding: 1rem; } .social-icon { width: 100%; } } </style> </head> <body> <div class="background-circles" id="background-circles"></div> <div class="container"> <div class="festival-banner"> <h1 class="banner-title">Soundwave Festival</h1> <p class="banner-dates">JUNE 15-18, 2024 • SUNSET BEACH</p> </div> <div class="social-container"> <h2 class="section-title">Connect With The Beat</h2> <div class="icons-grid"> <div class="social-icon" data-platform="Instagram"> <div class="icon-inner"> <i class="fab fa-instagram"></i> </div> <span class="icon-label">@soundwavefest</span> <div class="sound-wave"> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> </div> </div> <div class="social-icon" data-platform="TikTok"> <div class="icon-inner"> <i class="fab fa-tiktok"></i> </div> <span class="icon-label">@soundwavefest</span> <div class="sound-wave"> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> </div> </div> <div class="social-icon" data-platform="Twitter"> <div class="icon-inner"> <i class="fab fa-twitter"></i> </div> <span class="icon-label">@soundwavefest</span> <div class="sound-wave"> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> </div> </div> <div class="social-icon" data-platform="YouTube"> <div class="icon-inner"> <i class="fab fa-youtube"></i> </div> <span class="icon-label">SoundwaveFestival</span> <div class="sound-wave"> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> </div> </div> <div class="social-icon" data-platform="Spotify"> <div class="icon-inner"> <i class="fab fa-spotify"></i> </div> <span class="icon-label">Soundwave Playlists</span> <div class="sound-wave"> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> </div> </div> <div class="social-icon" data-platform="Discord"> <div class="icon-inner"> <i class="fab fa-discord"></i> </div> <span class="icon-label">Festival Community</span> <div class="sound-wave"> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> <div class="sound-bar"></div> </div> </div> </div> <p class="follow-text"> Join the Soundwave community and catch exclusive behind-the-scenes content, artist announcements, and live performance clips. Share your festival moments using <span class="hashtag">#SoundwaveFest2024</span> and <span class="hashtag">#FeelTheWave</span> </p> </div> </div> <script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script> <script> // Create animated background circles const backgroundCircles = document.getElementById('background-circles'); for (let i = 0; i < 15; i++) { const circle = document.createElement('div'); circle.classList.add('circle'); // Random size between 100px and 400px const size = Math.random() * 300 + 100; circle.style.width = `${size}px`; circle.style.height = `${size}px`; // Random position circle.style.left = `${Math.random() * 100}%`; circle.style.bottom = `${Math.random() * -100}%`; // Random animation duration const duration = Math.random() * 20 + 10; circle.style.animationDuration = `${duration}s`; // Random delay circle.style.animationDelay = `${Math.random() * 5}s`; backgroundCircles.appendChild(circle); } // Fix for Font Awesome icons not loading through kit URL // This fallback loads Font Awesome from CDN document.addEventListener("DOMContentLoaded", function() { const kitScript = document.querySelector('script[src*="fontawesome"]'); if (kitScript) { kitScript.onerror = loadFallbackIcons; setTimeout(checkIconsLoaded, 1000); // Check after 1 second } else { loadFallbackIcons(); } }); function checkIconsLoaded() { const iconElements = document.querySelectorAll('.icon-inner i'); let allLoaded = true; iconElements.forEach(icon => { // Check if Font Awesome has replaced the i element with its SVG if (getComputedStyle(icon).width === '0px' || !icon.classList.contains('fa') && !icon.classList.contains('fab') && !icon.classList.contains('fas')) { allLoaded = false; } }); if (!allLoaded) { loadFallbackIcons(); } } function loadFallbackIcons() { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css'; document.head.appendChild(link); } // Add click behavior to social icons const socialIcons = document.querySelectorAll('.social-icon'); socialIcons.forEach(icon => { icon.addEventListener('click', function() { const platform = this.getAttribute('data-platform'); // In a real site, you would redirect to the actual social media page console.log(`Clicked on ${platform}`); // Visual feedback on click this.style.transform = 'scale(0.95)'; setTimeout(() => { this.style.transform = ''; }, 150); }); }); </script> </body> </html>
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>FitPulse Social Icons</title> <style> :root { --primary: #FF3366; --secondary: #3A86FF; --accent: #4CC9F0; --energy: #FFBE0B; --strength: #8338EC; --dark: #1A1A2E; --light: #F8F9FA; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Montserrat', 'Roboto', sans-serif; } body { width: 100%; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: var(--dark); color: var(--light); overflow: hidden; padding: 20px; } .container { width: 100%; max-width: 700px; padding: 20px; position: relative; } header { text-align: center; margin-bottom: 30px; } h1 { font-size: 2.5rem; font-weight: 800; letter-spacing: -1px; margin-bottom: 10px; background: linear-gradient(90deg, var(--primary), var(--energy)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; } h1::after { content: ''; position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%); width: 70px; height: 5px; background: var(--secondary); border-radius: 10px; } p.subtitle { font-size: 1rem; opacity: 0.9; margin-bottom: 20px; line-height: 1.5; } .social-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; } @media (max-width: 500px) { .social-grid { grid-template-columns: repeat(2, 1fr); } } .social-icon { position: relative; background: #2A2A42; border-radius: 15px; height: 0; padding-bottom: 100%; cursor: pointer; overflow: hidden; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease; } .social-icon:hover { transform: translateY(-10px) scale(1.03); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); } .social-icon::before { content: ''; position: absolute; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0)); opacity: 0; transition: opacity 0.3s ease; } .social-icon:hover::before { opacity: 1; } .social-icon:active { transform: scale(0.95); transition: transform 0.1s; } .social-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 15px; text-align: center; } .social-icon .icon { font-size: 2.5rem; margin-bottom: 15px; position: relative; z-index: 1; transition: transform 0.5s cubic-bezier(0.68, -0.6, 0.32, 1.6); } .social-icon:hover .icon { transform: rotateY(360deg); } .social-icon h3 { font-size: 1rem; font-weight: 700; margin-bottom: 5px; transition: transform 0.3s ease; } .social-icon p { font-size: 0.75rem; opacity: 0.7; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, opacity 0.3s ease; } .social-icon:hover p { max-height: 100px; opacity: 1; } .social-icon:nth-child(1) { background: linear-gradient(135deg, var(--primary), #FF6B6B); } .social-icon:nth-child(2) { background: linear-gradient(135deg, #1DA1F2, var(--accent)); } .social-icon:nth-child(3) { background: linear-gradient(135deg, #833AB4, #C13584, #E1306C); } .social-icon:nth-child(4) { background: linear-gradient(135deg, #FF0000, #CC0000); } .social-icon:nth-child(5) { background: linear-gradient(135deg, var(--energy), #FF9500); } .social-icon:nth-child(6) { background: linear-gradient(135deg, var(--strength), #5E60CE); } .pulse { position: relative; z-index: 0; } .pulse::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: inherit; z-index: -1; animation: pulse 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite; box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); } 70% { box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } } .progress-bar { width: 100%; height: 6px; background: rgba(255, 255, 255, 0.1); border-radius: 3px; margin-top: 30px; overflow: hidden; position: relative; } .progress { height: 100%; width: 0; background: linear-gradient(90deg, var(--primary), var(--secondary)); position: absolute; border-radius: 3px; transition: width 0.3s ease; } .connection-status { display: flex; align-items: center; justify-content: center; margin-top: 15px; font-size: 0.85rem; } .status-dot { width: 8px; height: 8px; border-radius: 50%; background-color: var(--energy); margin-right: 8px; animation: blink 1.5s infinite; } @keyframes blink { 0% { opacity: 0.4; } 50% { opacity: 1; } 100% { opacity: 0.4; } } .feature-section { background: rgba(255, 255, 255, 0.05); border-radius: 15px; padding: 20px; margin-top: 20px; } .feature-section h3 { font-size: 1.1rem; margin-bottom: 15px; color: var(--accent); } .features { display: flex; flex-wrap: wrap; gap: 10px; } .feature-tag { background: rgba(255, 255, 255, 0.1); padding: 8px 15px; border-radius: 30px; font-size: 0.8rem; font-weight: 500; transition: all 0.3s ease; cursor: pointer; } .feature-tag:hover { background: var(--primary); transform: translateY(-3px); } /* Loading dots animation */ .loading-dots:after { content: '.'; animation: dots 1.5s steps(5, end) infinite; } @keyframes dots { 0%, 20% { content: '.'; } 40% { content: '..'; } 60% { content: '...'; } 80%, 100% { content: ''; } } /* Waveform animation for active state */ .waveform { position: absolute; bottom: 0; left: 0; width: 100%; height: 30px; display: flex; align-items: flex-end; justify-content: center; gap: 3px; opacity: 0; transition: opacity 0.3s ease; } .social-icon:active .waveform { opacity: 1; } .wave-bar { width: 3px; background: rgba(255, 255, 255, 0.5); border-radius: 3px; transition: height 0.2s ease; } .wave-bar:nth-child(1) { height: 15px; animation-delay: 0.1s; } .wave-bar:nth-child(2) { height: 20px; animation-delay: 0.2s; } .wave-bar:nth-child(3) { height: 12px; animation-delay: 0.3s; } .wave-bar:nth-child(4) { height: 18px; animation-delay: 0.4s; } .wave-bar:nth-child(5) { height: 10px; animation-delay: 0.5s; } .social-icon:active .wave-bar { animation: equalize 0.8s ease-in-out infinite alternate; } @keyframes equalize { 0% { transform: scaleY(0.6); } 100% { transform: scaleY(1.2); } } </style> </head> <body> <div class="container"> <header> <h1>FitPulse Connect</h1> <p class="subtitle">Connect your workout journey with your social community. Share achievements, track progress, and find motivation in real time.</p> </header> <div class="social-grid"> <div class="social-icon pulse" data-platform="facebook"> <div class="social-content"> <div class="icon"> <svg width="40" height="40" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path d="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96C18.34 21.21 22 17.06 22 12.06C22 6.53 17.5 2.04 12 2.04Z" /> </svg> </div> <h3>Training Groups</h3> <p>Connect with workout buddies & fitness groups</p> <div class="waveform"> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> </div> </div> </div> <div class="social-icon" data-platform="twitter"> <div class="social-content"> <div class="icon"> <svg width="40" height="40" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path d="M22.46 6C21.69 6.35 20.86 6.58 20 6.69C20.88 6.16 21.56 5.32 21.88 4.31C21.05 4.81 20.13 5.16 19.16 5.36C18.37 4.5 17.26 4 16 4C13.65 4 11.73 5.92 11.73 8.29C11.73 8.63 11.77 8.96 11.84 9.27C8.28 9.09 5.11 7.38 3 4.79C2.63 5.42 2.42 6.16 2.42 6.94C2.42 8.43 3.17 9.75 4.33 10.5C3.62 10.5 2.96 10.3 2.38 10V10.03C2.38 12.11 3.86 13.85 5.82 14.24C5.46 14.34 5.08 14.39 4.69 14.39C4.42 14.39 4.15 14.36 3.89 14.31C4.43 16 6 17.26 7.89 17.29C6.43 18.45 4.58 19.13 2.56 19.13C2.22 19.13 1.88 19.11 1.54 19.07C3.44 20.29 5.7 21 8.12 21C16 21 20.33 14.46 20.33 8.79C20.33 8.6 20.33 8.42 20.32 8.23C21.16 7.63 21.88 6.87 22.46 6Z" /> </svg> </div> <h3>Workout Updates</h3> <p>Share milestones in just 280 characters</p> <div class="waveform"> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> </div> </div> </div> <div class="social-icon" data-platform="instagram"> <div class="social-content"> <div class="icon"> <svg width="40" height="40" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path d="M7.8 2H16.2C19.4 2 22 4.6 22 7.8V16.2C22 19.4 19.4 22 16.2 22H7.8C4.6 22 2 19.4 2 16.2V7.8C2 4.6 4.6 2 7.8 2ZM7.6 4C5.61 4 4 5.61 4 7.6V16.4C4 18.39 5.61 20 7.6 20H16.4C18.39 20 20 18.39 20 16.4V7.6C20 5.61 18.39 4 16.4 4H7.6ZM17.25 5.5C17.94 5.5 18.5 6.06 18.5 6.75C18.5 7.44 17.94 8 17.25 8C16.56 8 16 7.44 16 6.75C16 6.06 16.56 5.5 17.25 5.5ZM12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z" /> </svg> </div> <h3>Fitness Gallery</h3> <p>Visual progress tracking & transformation posts</p> <div class="waveform"> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> </div> </div> </div> <div class="social-icon" data-platform="youtube"> <div class="social-content"> <div class="icon"> <svg width="40" height="40" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path d="M10 15L15.19 12L10 9V15ZM21.56 7.17C21.69 7.64 21.78 8.27 21.84 9.07C21.91 9.87 21.94 10.56 21.94 11.16L22 12C22 14.19 21.84 15.8 21.56 16.83C21.31 17.73 20.73 18.31 19.83 18.56C19.36 18.69 18.5 18.78 17.18 18.84C15.88 18.91 14.69 18.94 13.59 18.94L12 19C7.81 19 5.2 18.84 4.17 18.56C3.27 18.31 2.69 17.73 2.44 16.83C2.31 16.36 2.22 15.73 2.16 14.93C2.09 14.13 2.06 13.44 2.06 12.84L2 12C2 9.81 2.16 8.2 2.44 7.17C2.69 6.27 3.27 5.69 4.17 5.44C4.64 5.31 5.5 5.22 6.82 5.16C8.12 5.09 9.31 5.06 10.41 5.06L12 5C16.19 5 18.8 5.16 19.83 5.44C20.73 5.69 21.31 6.27 21.56 7.17Z" /> </svg> </div> <h3>Routine Videos</h3> <p>Share form checks & workout tutorials</p> <div class="waveform"> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> </div> </div> </div> <div class="social-icon" data-platform="strava"> <div class="social-content"> <div class="icon"> <svg width="40" height="40" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path d="M15.387 17.944l-2.089-4.116h-3.065L15.387 24l5.15-10.172h-3.066m-7.008-5.599l2.836 5.598h4.172L10.463 0l-7 13.828h4.169" /> </svg> </div> <h3>Activity Tracking</h3> <p>Sync & share real-time cardio activities</p> <div class="waveform"> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> </div> </div> </div> <div class="social-icon" data-platform="fitbit"> <div class="social-content"> <div class="icon"> <svg width="40" height="40" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path d="M17.7,15.8C16.9,15.8 16.1,15.5 15.5,15C14.9,15.5 14.1,15.8 13.3,15.8C12.5,15.8 11.7,15.5 11.1,15C10.5,15.5 9.7,15.8 8.9,15.8C8.1,15.8 7.3,15.5 6.7,15C6.1,15.5 5.3,15.8 4.5,15.8V13.7C5.5,13.7 6.2,12.9 6.2,12C6.2,11.1 5.4,10.3 4.5,10.3V8.2C5.3,8.2 6.1,8.5 6.7,9C7.3,8.5 8.1,8.2 8.9,8.2C9.7,8.2 10.5,8.5 11.1,9C11.7,8.5 12.5,8.2 13.3,8.2C14.1,8.2 14.9,8.5 15.5,9C16.1,8.5 16.9,8.2 17.7,8.2C18.5,8.2 19.3,8.5 19.9,9C20.5,8.5 21.3,8.2 22.1,8.2V10.3C21.2,10.3 20.4,11.1 20.4,12C20.4,12.9 21.2,13.7 22.1,13.7V15.8C21.3,15.8 20.5,15.5 19.9,15C19.3,15.5 18.5,15.8 17.7,15.8M17.7,11.1C16.8,11.1 16,11.9 16,12.7C16,13.5 16.8,14.3 17.7,14.3C18.6,14.3 19.4,13.5 19.4,12.7C19.4,11.9 18.6,11.1 17.7,11.1M13.3,11.1C12.4,11.1 11.6,11.9 11.6,12.7C11.6,13.5 12.4,14.3 13.3,14.3C14.2,14.3 15,13.5 15,12.7C15,11.9 14.2,11.1 13.3,11.1M8.9,11.1C8,11.1 7.2,11.9 7.2,12.7C7.2,13.5 8,14.3 8.9,14.3C9.8,14.3 10.6,13.5 10.6,12.7C10.6,11.9 9.8,11.1 8.9,11.1Z" /> </svg> </div> <h3>Health Metrics</h3> <p>Connect wearables & share fitness data</p> <div class="waveform"> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> <div class="wave-bar"></div> </div> </div> </div> </div> <div class="progress-bar"> <div class="progress" id="connectionProgress"></div> </div> <div class="connection-status"> <div class="status-dot"></div> <span id="status-text">Syncing fitness data <span class="loading-dots"></span></span> </div> <div class="feature-section"> <h3>Quick Connect Features</h3> <div class="features"> <div class="feature-tag">Live Heart Rate</div> <div class="feature-tag">PR Alerts</div> <div class="feature-tag">Workout Challenges</div> <div class="feature-tag">Coach Connect</div> <div class="feature-tag">Nutrition Logs</div> <div class="feature-tag">Team Training</div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded', function() { // Social icon interaction const socialIcons = document.querySelectorAll('.social-icon'); socialIcons.forEach(icon => { icon.addEventListener('click', function() { // Create burst effect createBurst(this); // Update status text based on platform const platform = this.getAttribute('data-platform'); updateStatus(platform); // Advance progress bar incrementProgress(); }); }); // Create burst animation on click function createBurst(element) { const burst = document.createElement('div'); burst.style.position = 'absolute'; burst.style.top = '50%'; burst.style.left = '50%'; burst.style.transform = 'translate(-50%, -50%)'; burst.style.width = '5px'; burst.style.height = '5px'; burst.style.borderRadius = '50%'; burst.style.backgroundColor = 'rgba(255, 255, 255, 0.8)'; burst.style.zIndex = '10'; element.appendChild(burst); // Animate the burst burst.animate([ { transform: 'translate(-50%, -50%) scale(1)', opacity: 1 }, { transform: 'translate(-50%, -50%) scale(20)', opacity: 0 } ], { duration: 600, easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)' }).onfinish = function() { burst.remove(); }; } // Update connection status function updateStatus(platform) { const statusText = document.getElementById('status-text'); let message = ''; switch(platform) { case 'facebook': message = 'Connected to Training Groups'; break; case 'twitter': message = 'Workout Updates ready to share'; break; case 'instagram': message = 'Fitness Gallery connected'; break; case 'youtube': message = 'Routine Videos channel linked'; break; case 'strava': message = 'Activity Tracking synchronized'; break; case 'fitbit': message = 'Health Metrics data linked'; break; default: message = 'Connected successfully'; } // Animate status change statusText.style.opacity = 0; setTimeout(() => { statusText.innerHTML = message; statusText.style.opacity = 1; }, 300); } // Progress bar animation let progress = 0; const progressBar = document.getElementById('connectionProgress'); function incrementProgress() { if (progress < 100) { progress += Math.floor(Math.random() * 15) + 5; progress = Math.min(progress, 100); progressBar.style.width = progress + '%'; if (progress >= 100) { setTimeout(() => { progress = 0; progressBar.style.transition = 'none'; progressBar.style.width = '0%'; setTimeout(() => { progressBar.style.transition = 'width 0.3s ease'; }, 50); }, 1500); } } } // Feature tags interaction const featureTags = document.querySelectorAll('.feature-tag'); featureTags.forEach(tag => { tag.addEventListener('click', function() { // Toggle active state this.classList.toggle('active'); // Random background color on click const colors = ['--primary', '--secondary', '--accent', '--energy', '--strength']; const randomColor = colors[Math.floor(Math.random() * colors.length)]; if (this.classList.contains('active')) { this.style.backgroundColor = `var(${randomColor})`; } else { this.style.backgroundColor = 'rgba(255, 255, 255, 0.1)'; } }); }); // Create wave effect for social icons socialIcons.forEach(icon => { const waveform = icon.querySelector('.waveform'); for (let i = 0; i < 5; i++) { const bar = document.createElement('div'); bar.classList.add('wave-bar'); waveform.appendChild(bar); } }); // Initialize with some progress incrementProgress(); }); </script> </body> </html>
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HAUTE DIGITAL | Social Icons</title> <style> :root { --primary-color: #111111; --accent-color: #f45b69; --light-color: #f9f9f9; --neutral-color: #e6e6e6; --font-primary: 'Playfair Display', serif; --font-secondary: 'Montserrat', sans-serif; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-secondary); background-color: var(--light-color); color: var(--primary-color); display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; width: 100%; overflow: hidden; padding: 20px; } @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap'); .container { width: 100%; max-width: 700px; height: 700px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 30px; position: relative; background-color: white; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); } .header { text-align: center; margin-bottom: 30px; width: 100%; position: relative; padding-bottom: 20px; } .header::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 40px; height: 2px; background-color: var(--accent-color); transition: width 0.3s ease; } .header:hover::after { width: 100px; } .title { font-family: var(--font-primary); font-size: 2.5rem; font-weight: 700; letter-spacing: -0.5px; margin-bottom: 5px; } .subtitle { font-size: 1rem; font-weight: 300; letter-spacing: 1px; text-transform: uppercase; color: #666; } .icon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; width: 100%; max-width: 500px; } .icon-item { display: flex; flex-direction: column; align-items: center; cursor: pointer; position: relative; transition: transform 0.3s ease; } .icon-item:hover { transform: translateY(-5px); } .icon-item:hover .icon-bg { transform: scale(1.1); background-color: var(--primary-color); } .icon-item:hover .icon-label { color: var(--accent-color); } .icon-bg { width: 80px; height: 80px; border-radius: 40%; background-color: var(--neutral-color); display: flex; align-items: center; justify-content: center; margin-bottom: 15px; position: relative; overflow: hidden; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); } .icon-bg::before { content: ''; position: absolute; width: 100%; height: 100%; background: linear-gradient(45deg, transparent 0%, rgba(255, 255, 255, 0.1) 100%); z-index: 1; } .icon-bg svg { width: 40px; height: 40px; fill: var(--primary-color); transition: fill 0.3s ease, transform 0.3s ease; z-index: 2; } .icon-item:hover .icon-bg svg { fill: var(--light-color); transform: scale(1.1); } .icon-label { font-size: 0.85rem; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; transition: color 0.3s ease; margin-bottom: 5px; } .icon-description { font-size: 0.7rem; text-align: center; color: #888; max-width: 100px; transition: opacity 0.3s ease; opacity: 0.8; } .icon-item:hover .icon-description { opacity: 1; } .footer { width: 100%; text-align: center; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--neutral-color); } .button { background-color: var(--primary-color); color: white; border: none; padding: 12px 30px; font-family: var(--font-secondary); font-size: 0.8rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; position: relative; overflow: hidden; transition: all 0.3s ease; margin-top: 20px; } .button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background-color: var(--accent-color); transition: left 0.3s ease; z-index: 0; } .button:hover::before { left: 0; } .button span { position: relative; z-index: 1; } .note { font-size: 0.75rem; color: #888; margin-top: 20px; font-style: italic; } .cursor { position: fixed; width: 20px; height: 20px; border-radius: 50%; background: rgba(244, 91, 105, 0.5); pointer-events: none; z-index: 9999; mix-blend-mode: difference; transition: transform 0.1s ease; transform: translate(-50%, -50%); display: none; } @media (max-width: 600px) { .container { padding: 20px; height: auto; } .icon-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } .title { font-size: 2rem; } .icon-bg { width: 70px; height: 70px; } .icon-bg svg { width: 30px; height: 30px; } } /* Animation classes */ .fade-in { animation: fadeIn 0.5s ease forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .scale-in { animation: scaleIn 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; } @keyframes scaleIn { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } } .slide-in { animation: slideIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; } @keyframes slideIn { from { transform: translateX(-10px); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .accent-corner { position: absolute; top: 0; right: 0; width: 100px; height: 100px; overflow: hidden; } .accent-corner::before { content: ''; position: absolute; top: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 100px 100px 0; border-color: transparent var(--accent-color) transparent transparent; opacity: 0.1; } </style> </head> <body> <div class="cursor"></div> <div class="container"> <div class="accent-corner"></div> <header class="header fade-in"> <h1 class="title">HAUTE DIGITAL</h1> <p class="subtitle">Curated Editorial Presence</p> </header> <div class="icon-grid"> <!-- Instagram --> <div class="icon-item scale-in" style="animation-delay: 0.1s;"> <div class="icon-bg"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/> </svg> </div> <h3 class="icon-label">Instagram</h3> <p class="icon-description">Editorial Storytelling</p> </div> <!-- Pinterest --> <div class="icon-item scale-in" style="animation-delay: 0.2s;"> <div class="icon-bg"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M12 0c-6.627 0-12 5.372-12 12 0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738.098.119.112.224.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146 1.124.347 2.317.535 3.554.535 6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12z"/> </svg> </div> <h3 class="icon-label">Pinterest</h3> <p class="icon-description">Curated Inspirations</p> </div> <!-- Twitter/X --> <div class="icon-item scale-in" style="animation-delay: 0.3s;"> <div class="icon-bg"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm12.71 6.33c.48-.4 1.04-.88 1.29-1.41-.41.21-.9.34-1.44.41.5-.36.91-.83 1.12-1.47-.52.28-1.05.52-1.71.64-1.55-1.87-5.26-.35-4.6 2.45-2.61-.16-4.2-1.34-5.52-2.79-.75 1.22-.1 3.07.79 3.58-.46-.01-.9-.14-1.29-.35-.03 1.54.89 2.28 1.76 2.53-.36.1-.76.14-1.21.06.37 1.04 1.23 1.75 2.41 1.88-1.05.76-2.74 1.1-4.11.87 1.14.74 2.48 1.15 3.91 1.15 4.69 0 8.33-4.01 8.16-8.95z"/> </svg> </div> <h3 class="icon-label">X / Twitter</h3> <p class="icon-description">Fashion Dispatches</p> </div> <!-- TikTok --> <div class="icon-item scale-in" style="animation-delay: 0.4s;"> <div class="icon-bg"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M12.53.02C13.84 0 15.14.01 16.44 0c.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/> </svg> </div> <h3 class="icon-label">TikTok</h3> <p class="icon-description">Trend Narratives</p> </div> <!-- YouTube --> <div class="icon-item scale-in" style="animation-delay: 0.5s;"> <div class="icon-bg"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z"/> </svg> </div> <h3 class="icon-label">YouTube</h3> <p class="icon-description">Visual Exposés</p> </div> <!-- LinkedIn --> <div class="icon-item scale-in" style="animation-delay: 0.6s;"> <div class="icon-bg"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M4.98 3.5c0 1.381-1.11 2.5-2.48 2.5s-2.48-1.119-2.48-2.5c0-1.38 1.11-2.5 2.48-2.5s2.48 1.12 2.48 2.5zm.02 4.5h-5v16h5v-16zm7.982 0h-4.968v16h4.969v-8.399c0-4.67 6.029-5.052 6.029 0v8.399h4.988v-10.131c0-7.88-8.922-7.593-11.018-3.714v-2.155z"/> </svg> </div> <h3 class="icon-label">LinkedIn</h3> <p class="icon-description">Industry Insights</p> </div> </div> <footer class="footer fade-in" style="animation-delay: 0.7s;"> <button class="button"> <span>Connect All Platforms</span> </button> <p class="note">S/S '24 — Making Statements Through Strategic Digital Presence</p> </footer> </div> <script> document.addEventListener('DOMContentLoaded', () => { // Stagger animation for the icon items const iconItems = document.querySelectorAll('.icon-item'); iconItems.forEach((item, index) => { setTimeout(() => { item.classList.add('fade-in'); }, 100 * (index + 1)); }); // Custom cursor const cursor = document.querySelector('.cursor'); const container = document.querySelector('.container'); // Only show custom cursor on large screens if (window.innerWidth > 768) { cursor.style.display = 'block'; document.addEventListener('mousemove', (e) => { cursor.style.left = e.clientX + 'px'; cursor.style.top = e.clientY + 'px'; }); container.addEventListener('mouseenter', () => { cursor.style.transform = 'translate(-50%, -50%) scale(1)'; cursor.style.opacity = '1'; }); container.addEventListener('mouseleave', () => { cursor.style.transform = 'translate(-50%, -50%) scale(0.5)'; cursor.style.opacity = '0.5'; }); } // Interactive behavior for icons iconItems.forEach(item => { item.addEventListener('mouseenter', () => { if (window.innerWidth > 768) { cursor.style.transform = 'translate(-50%, -50%) scale(1.5)'; cursor.style.mixBlendMode = 'screen'; } }); item.addEventListener('mouseleave', () => { if (window.innerWidth > 768) { cursor.style.transform = 'translate(-50%, -50%) scale(1)'; cursor.style.mixBlendMode = 'difference'; } }); item.addEventListener('click', (e) => { // Create ripple effect const ripple = document.createElement('div'); ripple.style.position = 'absolute'; ripple.style.borderRadius = '50%'; ripple.style.width = '120px'; ripple.style.height = '120px'; ripple.style.background = 'rgba(244, 91, 105, 0.2)'; ripple.style.transform = 'translate(-50%, -50%) scale(0)'; ripple.style.animation = 'ripple 0.6s linear'; ripple.style.left = (e.clientX - item.getBoundingClientRect().left) + 'px'; ripple.style.top = (e.clientY - item.getBoundingClientRect().top) + 'px'; item.appendChild(ripple); setTimeout(() => { item.removeChild(ripple); }, 600); }); }); // Button interaction const button = document.querySelector('.button'); button.addEventListener('click', () => { button.innerHTML = '<span>All Platforms Connected</span>'; button.style.backgroundColor = 'var(--accent-color)'; setTimeout(() => { button.innerHTML = '<span>Connect All Platforms</span>'; button.style.backgroundColor = 'var(--primary-color)'; }, 2000); }); // Add ripple keyframes const style = document.createElement('style'); style.innerHTML = ` @keyframes ripple { 0% { transform: translate(-50%, -50%) scale(0); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(1); opacity: 0; } } `; document.head.appendChild(style); }); </script> </body> </html>