Spaces:
Running
Running
| <html lang="ko"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>νλμμ λ¨ | μνΌμ μΈλ¦¬λ μμ μ ν₯μ°</title> | |
| <!-- Google Fonts: Noto Sans KR --> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
| <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap" rel="stylesheet"> | |
| <!-- Remix Icons --> | |
| <link href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" rel="stylesheet"> | |
| <style> | |
| /* --- CSS Variables & Reset --- */ | |
| :root { | |
| --bg-color: #0f0f11; | |
| --surface-color: #1a1a1e; | |
| --surface-hover: #25252a; | |
| --primary-color: #7c4dff; | |
| --secondary-color: #ff4081; | |
| --text-main: #ffffff; | |
| --text-muted: #b0b0b0; | |
| --font-main: 'Noto Sans KR', sans-serif; | |
| --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); | |
| --container-width: 1200px; | |
| --header-height: 80px; | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| font-family: var(--font-main); | |
| background-color: var(--bg-color); | |
| color: var(--text-main); | |
| line-height: 1.6; | |
| overflow-x: hidden; | |
| } | |
| a { | |
| text-decoration: none; | |
| color: inherit; | |
| transition: var(--transition); | |
| } | |
| ul { | |
| list-style: none; | |
| } | |
| img { | |
| max-width: 100%; | |
| display: block; | |
| object-fit: cover; | |
| } | |
| /* --- Utility Classes --- */ | |
| .container { | |
| max-width: var(--container-width); | |
| margin: 0 auto; | |
| padding: 0 20px; | |
| } | |
| .section-title { | |
| font-size: 2.5rem; | |
| font-weight: 700; | |
| text-align: center; | |
| margin-bottom: 1rem; | |
| background: linear-gradient(to right, var(--primary-color), var(--secondary-color)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .section-subtitle { | |
| text-align: center; | |
| color: var(--text-muted); | |
| margin-bottom: 4rem; | |
| font-size: 1.1rem; | |
| } | |
| .btn { | |
| display: inline-block; | |
| padding: 12px 30px; | |
| border-radius: 50px; | |
| font-weight: 500; | |
| cursor: pointer; | |
| border: none; | |
| transition: var(--transition); | |
| } | |
| .btn-primary { | |
| background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); | |
| color: white; | |
| box-shadow: 0 4px 15px rgba(124, 77, 255, 0.4); | |
| } | |
| .btn-primary:hover { | |
| transform: translateY(-3px); | |
| box-shadow: 0 8px 25px rgba(124, 77, 255, 0.6); | |
| } | |
| .btn-outline { | |
| background: transparent; | |
| border: 2px solid white; | |
| color: white; | |
| } | |
| .btn-outline:hover { | |
| background: white; | |
| color: var(--bg-color); | |
| } | |
| /* --- Header --- */ | |
| header { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: var(--header-height); | |
| background: rgba(15, 15, 17, 0.85); | |
| backdrop-filter: blur(10px); | |
| z-index: 1000; | |
| display: flex; | |
| align-items: center; | |
| border-bottom: 1px solid rgba(255, 255, 255, 0.05); | |
| } | |
| .nav-container { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| width: 100%; | |
| } | |
| .logo { | |
| font-size: 1.8rem; | |
| font-weight: 900; | |
| letter-spacing: -1px; | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| } | |
| .logo i { | |
| color: var(--secondary-color); | |
| } | |
| .nav-links { | |
| display: flex; | |
| gap: 40px; | |
| } | |
| .nav-links a { | |
| font-size: 1rem; | |
| font-weight: 500; | |
| color: var(--text-muted); | |
| position: relative; | |
| } | |
| .nav-links a:hover, .nav-links a.active { | |
| color: var(--text-main); | |
| } | |
| .nav-links a::after { | |
| content: ''; | |
| position: absolute; | |
| bottom: -5px; | |
| left: 0; | |
| width: 0; | |
| height: 2px; | |
| background: var(--secondary-color); | |
| transition: var(--transition); | |
| } | |
| .nav-links a:hover::after { | |
| width: 100%; | |
| } | |
| .anycoder-credit { | |
| font-size: 0.85rem; | |
| color: var(--text-muted); | |
| margin-left: 20px; | |
| padding-left: 20px; | |
| border-left: 1px solid rgba(255,255,255,0.1); | |
| } | |
| .anycoder-credit:hover { | |
| color: var(--primary-color); | |
| } | |
| .menu-toggle { | |
| display: none; | |
| font-size: 1.5rem; | |
| cursor: pointer; | |
| color: var(--text-main); | |
| } | |
| /* --- Hero Section --- */ | |
| .hero { | |
| height: 100vh; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| position: relative; | |
| background: url('https://picsum.photos/seed/artshero/1920/1080') no-repeat center center/cover; | |
| padding-top: var(--header-height); | |
| } | |
| .hero::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(to bottom, rgba(15,15,17,0.3), var(--bg-color)); | |
| } | |
| .hero-content { | |
| position: relative; | |
| z-index: 1; | |
| text-align: center; | |
| max-width: 800px; | |
| padding: 0 20px; | |
| } | |
| .hero-title { | |
| font-size: 4rem; | |
| font-weight: 900; | |
| margin-bottom: 1.5rem; | |
| line-height: 1.2; | |
| opacity: 0; | |
| transform: translateY(30px); | |
| animation: fadeUp 1s ease forwards 0.5s; | |
| } | |
| .hero-desc { | |
| font-size: 1.25rem; | |
| color: #d0d0d0; | |
| margin-bottom: 2.5rem; | |
| opacity: 0; | |
| transform: translateY(30px); | |
| animation: fadeUp 1s ease forwards 0.7s; | |
| } | |
| .hero-btns { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| animation: fadeUp 1s ease forwards 0.9s; | |
| } | |
| @keyframes fadeUp { | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| /* --- About Section --- */ | |
| .about { | |
| padding: 100px 0; | |
| background-color: var(--bg-color); | |
| } | |
| .about-content { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 60px; | |
| align-items: center; | |
| } | |
| .about-img-wrapper { | |
| position: relative; | |
| border-radius: 20px; | |
| overflow: hidden; | |
| box-shadow: 0 20px 40px rgba(0,0,0,0.4); | |
| } | |
| .about-img-wrapper img { | |
| width: 100%; | |
| height: auto; | |
| transition: transform 0.5s ease; | |
| } | |
| .about-img-wrapper:hover img { | |
| transform: scale(1.05); | |
| } | |
| .about-text h3 { | |
| font-size: 2rem; | |
| margin-bottom: 1.5rem; | |
| } | |
| .about-text p { | |
| color: var(--text-muted); | |
| margin-bottom: 1.5rem; | |
| font-size: 1.05rem; | |
| } | |
| .stats { | |
| display: flex; | |
| gap: 40px; | |
| margin-top: 2rem; | |
| } | |
| .stat-item h4 { | |
| font-size: 2.5rem; | |
| color: var(--primary-color); | |
| font-weight: 700; | |
| } | |
| .stat-item span { | |
| color: var(--text-muted); | |
| font-size: 0.9rem; | |
| } | |
| /* --- Performances Section --- */ | |
| .performances { | |
| padding: 100px 0; | |
| background-color: var(--surface-color); | |
| } | |
| .performance-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); | |
| gap: 30px; | |
| } | |
| .card { | |
| background-color: var(--bg-color); | |
| border-radius: 15px; | |
| overflow: hidden; | |
| transition: var(--transition); | |
| border: 1px solid rgba(255,255,255,0.05); | |
| position: relative; | |
| } | |
| .card:hover { | |
| transform: translateY(-10px); | |
| box-shadow: 0 15px 30px rgba(0,0,0,0.3); | |
| border-color: rgba(124, 77, 255, 0.3); | |
| } | |
| .card-image { | |
| height: 250px; | |
| width: 100%; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .card-image img { | |
| width: 100%; | |
| height: 100%; | |
| transition: transform 0.5s ease; | |
| } | |
| .card:hover .card-image img { | |
| transform: scale(1.1); | |
| } | |
| .card-tag { | |
| position: absolute; | |
| top: 15px; | |
| right: 15px; | |
| background: rgba(0,0,0,0.7); | |
| color: white; | |
| padding: 5px 12px; | |
| border-radius: 20px; | |
| font-size: 0.8rem; | |
| backdrop-filter: blur(5px); | |
| } | |
| .card-content { | |
| padding: 25px; | |
| } | |
| .card-date { | |
| color: var(--secondary-color); | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| margin-bottom: 8px; | |
| display: block; | |
| } | |
| .card-title { | |
| font-size: 1.4rem; | |
| margin-bottom: 10px; | |
| font-weight: 700; | |
| } | |
| .card-desc { | |
| color: var(--text-muted); | |
| font-size: 0.95rem; | |
| margin-bottom: 20px; | |
| display: -webkit-box; | |
| -webkit-line-clamp: 2; | |
| -webkit-box-orient: vertical; | |
| overflow: hidden; | |
| } | |
| .card-link { | |
| color: var(--primary-color); | |
| font-weight: 500; | |
| display: flex; | |
| align-items: center; | |
| gap: 5px; | |
| } | |
| .card-link:hover { | |
| gap: 10px; | |
| } | |
| /* --- Members Section --- */ | |
| .members { | |
| padding: 100px 0; | |
| } | |
| .members-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); | |
| gap: 40px; | |
| } | |
| .member-card { | |
| text-align: center; | |
| group: 1; | |
| } | |
| .member-img { | |
| width: 180px; | |
| height: 180px; | |
| border-radius: 50%; | |
| margin: 0 auto 20px; | |
| overflow: hidden; | |
| border: 3px solid transparent; | |
| transition: var(--transition); | |
| position: relative; | |
| } | |
| .member-card:hover .member-img { | |
| border-color: var(--secondary-color); | |
| transform: rotate(5deg); | |
| } | |
| .member-img img { | |
| width: 100%; | |
| height: 100%; | |
| } | |
| .member-name { | |
| font-size: 1.3rem; | |
| font-weight: 700; | |
| margin-bottom: 5px; | |
| } | |
| .member-role { | |
| color: var(--primary-color); | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| } | |
| /* --- Gallery Section --- */ | |
| .gallery { | |
| padding: 100px 0; | |
| background-color: var(--surface-color); | |
| } | |
| .gallery-grid { | |
| display: grid; | |
| grid-template-columns: repeat(4, 1fr); | |
| grid-auto-rows: 250px; | |
| gap: 15px; | |
| } | |
| .gallery-item { | |
| position: relative; | |
| overflow: hidden; | |
| border-radius: 10px; | |
| cursor: pointer; | |
| } | |
| /* Masonry-like effect with spans */ | |
| .gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 2; } | |
| .gallery-item:nth-child(4) { grid-column: span 2; } | |
| .gallery-item img { | |
| width: 100%; | |
| height: 100%; | |
| transition: transform 0.5s ease; | |
| } | |
| .gallery-overlay { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0,0,0,0.6); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| opacity: 0; | |
| transition: var(--transition); | |
| } | |
| .gallery-overlay i { | |
| font-size: 2rem; | |
| color: white; | |
| transform: scale(0); | |
| transition: var(--transition); | |
| } | |
| .gallery-item:hover img { | |
| transform: scale(1.1); | |
| } | |
| .gallery-item:hover .gallery-overlay { | |
| opacity: 1; | |
| } | |
| .gallery-item:hover .gallery-overlay i { | |
| transform: scale(1); | |
| } | |
| /* --- Contact Section --- */ | |
| .contact { | |
| padding: 100px 0; | |
| } | |
| .contact-wrapper { | |
| display: grid; | |
| grid-template-columns: 1fr 1.5fr; | |
| gap: 60px; | |
| background: var(--surface-color); | |
| padding: 50px; | |
| border-radius: 20px; | |
| } | |
| .contact-info h3 { | |
| font-size: 1.8rem; | |
| margin-bottom: 20px; | |
| } | |
| .info-item { | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 15px; | |
| margin-bottom: 25px; | |
| } | |
| .info-item i { | |
| font-size: 1.5rem; | |
| color: var(--primary-color); | |
| margin-top: 3px; | |
| } | |
| .info-content h5 { | |
| font-size: 1.1rem; | |
| margin-bottom: 5px; | |
| } | |
| .info-content p { | |
| color: var(--text-muted); | |
| } | |
| .contact-form { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 20px; | |
| } | |
| .form-row { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 20px; | |
| } | |
| .form-group input, .form-group textarea { | |
| width: 100%; | |
| padding: 15px; | |
| background: var(--bg-color); | |
| border: 1px solid rgba(255,255,255,0.1); | |
| border-radius: 8px; | |
| color: white; | |
| font-family: var(--font-main); | |
| font-size: 1rem; | |
| transition: var(--transition); | |
| } | |
| .form-group input:focus, .form-group textarea:focus { | |
| outline: none; | |
| border-color: var(--primary-color); | |
| background: #151518; | |
| } | |
| .form-group textarea { | |
| resize: vertical; | |
| height: 150px; | |
| } | |
| /* --- Footer --- */ | |
| footer { | |
| background: #050506; | |
| padding: 60px 0 20px; | |
| border-top: 1px solid rgba(255,255,255,0.05); | |
| } | |
| .footer-content { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| flex-wrap: wrap; | |
| margin-bottom: 40px; | |
| gap: 20px; | |
| } | |
| .footer-logo { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .social-links { | |
| display: flex; | |
| gap: 15px; | |
| } | |
| .social-link { | |
| width: 40px; | |
| height: 40px; | |
| border-radius: 50%; | |
| background: rgba(255,255,255,0.1); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| transition: var(--transition); | |
| } | |
| .social-link:hover { | |
| background: var(--primary-color); | |
| transform: translateY(-3px); | |
| } | |
| .copyright { | |
| text-align: center; | |
| color: var(--text-muted); | |
| font-size: 0.9rem; | |
| padding-top: 20px; | |
| border-top: 1px solid rgba(255,255,255,0.05); | |
| } | |
| /* --- Animations --- */ | |
| .reveal { | |
| opacity: 0; | |
| transform: translateY(50px); | |
| transition: all 0.8s ease; | |
| } | |
| .reveal.active { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| /* --- Responsive Design --- */ | |
| @media (max-width: 1024px) { | |
| .gallery-grid { | |
| grid-template-columns: repeat(2, 1fr); | |
| } | |
| .gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 1; } | |
| .gallery-item:nth-child(4) { grid-column: span 1; } | |
| } | |
| @media (max-width: 768px) { | |
| .nav-links, .anycoder-credit { | |
| display: none; | |
| } | |
| .menu-toggle { | |
| display: block; | |
| } | |
| .hero-title { | |
| font-size: 2.5rem; | |
| } | |
| .about-content { | |
| grid-template-columns: 1fr; | |
| } | |
| .contact-wrapper { | |
| grid-template-columns: 1fr; | |
| padding: 30px; | |
| } | |
| .form-row { | |
| grid-template-columns: 1fr; | |
| } | |
| /* Mobile Menu Active State */ | |
| .nav-mobile-active { | |
| position: fixed; | |
| top: var(--header-height); | |
| left: 0; | |
| width: 100%; | |
| height: calc(100vh - var(--header-height)); | |
| background: var(--bg-color); | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| display: flex; | |
| gap: 30px; | |
| border-top: 1px solid rgba(255,255,255,0.1); | |
| } | |
| .nav-mobile-active a { | |
| font-size: 1.5rem; | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <!-- Header --> | |
| <header> | |
| <div class="container nav-container"> | |
| <a href="#" class="logo"> | |
| <i class="ri-brush-2-fill"></i> νλμμ λ¨ | |
| </a> | |
| <nav> | |
| <ul class="nav-links" id="navLinks"> | |
| <li><a href="#about" class="active">μκ°</a></li> | |
| <li><a href="#performances">곡μ°</a></li> | |
| <li><a href="#members">λ©€λ²</a></li> | |
| <li><a href="#gallery">κ°€λ¬λ¦¬</a></li> | |
| <li><a href="#contact">λ¬Έμ</a></li> | |
| </ul> | |
| </nav> | |
| <div style="display: flex; align-items: center;"> | |
| <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="anycoder-credit">Built with anycoder</a> | |
| <div class="menu-toggle" id="menuToggle"> | |
| <i class="ri-menu-4-line"></i> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <main> | |
| <!-- Hero Section --> | |
| <section class="hero" id="home"> | |
| <div class="hero-content"> | |
| <h1 class="hero-title">μνΌμ μΈλ¦¬λ<br>μμ μ ν₯μ°</h1> | |
| <p class="hero-desc">νλμμ λ¨μ 무λ μμμ κ°λμ λμ΄ κΉμ μΈλ¦Όμ μ ν©λλ€.<br>μ°λ¦¬μ ν¨κ» νΉλ³ν μκ°μ λ§λ€μ΄λ³΄μΈμ.</p> | |
| <div class="hero-btns"> | |
| <a href="#performances" class="btn btn-primary">κ³΅μ° λ³΄κΈ°</a> | |
| <a href="#contact" class="btn btn-outline" style="margin-left: 15px;">λ¬ΈμνκΈ°</a> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- About Section --> | |
| <section class="about" id="about"> | |
| <div class="container"> | |
| <div class="about-content reveal"> | |
| <div class="about-img-wrapper"> | |
| <img src="https://picsum.photos/seed/artsabout/600/700" alt="μμ λ¨ λ¦¬νμ€ μ¬μ§"> | |
| </div> | |
| <div class="about-text"> | |
| <h3>μ°λ¦¬λ μ΄μΌκΈ°λ₯Ό λ§ν©λλ€</h3> | |
| <p>νλμμ λ¨μ 2010λ μ μ€λ¦½λ μμ λ¨μ²΄λ‘, μ ν΅ μμ κ³Ό νλμ κ°κ°μ μ‘°νλ‘κ² μ΅ν©νμ¬ λ μ°½μ μΈ λ¬΄λλ₯Ό μ 보μ λλ€. μΆ€, μμ , μ°κ·Ήμ λλλ€λ©° κ΄κ°λ€μκ² μμ§ λͺ»ν κ°λμ μ λ¬Όνλ κ²μ λͺ©νλ‘ ν©λλ€.</p> | |
| <p>λ¨μν 곡μ°μ λμ΄, κ΄κ°κ³Ό νΈν‘νλ©° ν¨κ» λ§λ€μ΄κ°λ μμ μ μ§ν₯ν©λλ€. μ°λ¦¬μ 무λλ λμ΄ λμ§ μμ΅λλ€, μ¬λ¬λΆμ λ§μμμμ κ³μλ©λλ€.</p> | |
| <div class="stats"> | |
| <div class="stat-item"> | |
| <h4>14+</h4> | |
| <span>λ μ μμ¬</span> | |
| </div> | |
| <div class="stat-item"> | |
| <h4>500+</h4> | |
| <span>κ³΅μ° νμ</span> | |
| </div> | |
| <div class="stat-item"> | |
| <h4>30+</h4> | |
| <span>μμ μν°μ€νΈ</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Performances Section --> | |
| <section class="performances" id="performances"> | |
| <div class="container"> | |
| <h2 class="section-title reveal">μ΅μ κ³΅μ° μλ΄</h2> | |
| <p class="section-subtitle reveal">λ€κ°μ€λ νλμμ λ¨μ νΉλ³ν 무λλ₯Ό λ§λ보μΈμ.</p> | |
| <div class="performance-grid"> | |
| <!-- Card 1 --> | |
| <article class="card reveal"> | |
| <div class="card-image"> | |
| <span class="card-tag">μ κΈ° 곡μ°</span> | |
| <img src="https://picsum.photos/seed/artperf1/500/350" alt="κ³΅μ° ν¬μ€ν°"> | |
| </div> | |
| <div class="card-content"> | |
| <span class="card-date">2023. 11. 15 - 11. 20</span> | |
| <h3 class="card-title">λ°λμ λ Έλ</h3> | |
| <p class="card-desc">μμ°μ μ리μ νλ 무μ©μ΄ μ΄μ°λ¬μ§λ μ€νμ μΈ νΌν¬λ¨Όμ€. κ΄κ°μ μκ°κ³Ό μ²κ°μ μμ λ₯Ό κ²½ννκ² λ©λλ€.</p> | |
| <a href="#" class="card-link">μμΈ λ³΄κΈ° <i class="ri-arrow-right-line"></i></a> | |
| </div> | |
| </article> | |
| <!-- Card 2 --> | |
| <article class="card reveal"> | |
| <div class="card-image"> | |
| <span class="card-tag">μ΄μ² 곡μ°</span> | |
| <img src="https://picsum.photos/seed/artperf2/500/350" alt="κ³΅μ° ν¬μ€ν°"> | |
| </div> | |
| <div class="card-content"> | |
| <span class="card-date">2023. 12. 05</span> | |
| <h3 class="card-title">κ²¨μΈ λ°€μ κΏ</h3> | |
| <p class="card-desc">μ °μ΅μ€νΌμ΄μ κ³ μ μ νκ΅μ μ μλ‘ μ¬ν΄μν μμ κ·Ή. λ°λ»ν νλͺ¨λκ° κ²¨μΈ λ°€μ κ°μΈμμ΅λλ€.</p> | |
| <a href="#" class="card-link">μμΈ λ³΄κΈ° <i class="ri-arrow-right-line"></i></a> | |
| </div> | |
| </article> | |
| <!-- Card 3 --> | |
| <article class="card reveal"> | |
| <div class="card-image"> | |
| <span class="card-tag">νΉλ³ μν¬μ΅</span> | |
| <img src="https://picsum.photos/seed/artperf3/500/350" alt="κ³΅μ° ν¬μ€ν°"> | |
| </div> | |
| <div class="card-content"> | |
| <span class="card-date">2024. 01. 10</span> | |
| <h3 class="card-title">μν°μ€νΈμμ λν</h3> | |
| <p class="card-desc">νλμμ λ¨μ μν°μ€νΈλ€κ³Ό ν¨κ»νλ μ°Έμ¬ν μν¬μ΅. μΌλ°μΈλ μμ κ°κ° λμ΄λ³΄λ μκ°.</p> | |
| <a href="#" class="card-link">μμΈ λ³΄κΈ° <i class="ri-arrow-right-line"></i></a> | |
| </div> | |
| </article> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Members Section --> | |
| <section class="members" id="members"> | |
| <div class="container"> | |
| <h2 class="section-title reveal">μν°μ€νΈ μκ°</h2> | |
| <p class="section-subtitle reveal">νλμμ λ¨μ μ΄λλ κΏμ μ°μ£Όμλ€μ λλ€.</p> | |
| <div class="members-grid"> | |
| <div class="member-card reveal"> | |
| <div class="member-img"> | |
| <img src="https://picsum.photos/seed/artist1/300/300" alt="μμ μ΄κ°λ "> | |
| </div> | |
| <h3 class="member-name">κΉμ§ν</h3> | |
| <p class="member-role">μμ μ΄κ°λ </p> | |
| </div> | |
| <div class="member-card reveal"> | |
| <div class="member-img"> | |
| <img src="https://picsum.photos/seed/artist2/300/300" alt="μ무κ°"> | |
| </div> | |
| <h3 class="member-name">μ΄μμ</h3> | |
| <p class="member-role">μμ μ무κ°</p> | |
| </div> | |
| <div class="member-card reveal"> | |
| <div class="member-img"> | |
| <img src="https://picsum.photos/seed/artist3/300/300" alt="μ곑κ°"> | |
| </div> | |
| <h3 class="member-name">λ°λ―Όμ€</h3> | |
| <p class="member-role">μ곑 λ° μ°μΆ</p> | |
| </div> | |
| <div class="member-card reveal"> | |
| <div class="member-img"> | |
| <img src="https://picsum.photos/seed/artist4/300/300" alt="μ£Όμ° λ¬΄μ©μ"> | |
| </div> | |
| <h3 class="member-name">μ΅μ€μ</h3> | |
| <p class="member-role">μ£Όμ° λ¬΄μ©μ</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Gallery Section --> | |
| <section class="gallery" id="gallery"> | |
| <div class="container"> | |
| <h2 class="section-title reveal">νμ΄λΌμ΄νΈ κ°€λ¬λ¦¬</h2> | |
| <p class="section-subtitle reveal">μ§λ 곡μ°λ€μ μμν μκ°λ€μ λ΄μμ΅λλ€.</p> | |
| <div class="gallery-grid"> | |
| <div class="gallery-item reveal"> | |
| <img src="https://picsum.photos/seed/gallery1/600/600" alt="κ³΅μ° μ¬μ§"> | |
| <div class="gallery-overlay"><i class="ri-zoom-in-line"></i></div> | |
| </div> | |
| <div class="gallery-item reveal"> | |
| <img src="https://picsum.photos/seed/gallery2/400/400" alt="κ³΅μ° μ¬μ§"> | |
| <div class="gallery-overlay"><i class="ri-zoom-in-line"></i></div> | |
| </div> | |
| <div class="gallery-item reveal"> | |
| <img src="https://picsum.photos/seed/gallery3/400/400" alt="κ³΅μ° μ¬μ§"> | |
| <div class="gallery-overlay"><i class="ri-zoom-in-line"></i></div> | |
| </div> | |
| <div class="gallery-item reveal"> | |
| <img src="https://picsum.photos/seed/gallery4/600/300" alt="κ³΅μ° μ¬μ§"> | |
| <div class="gallery-overlay"><i class="ri-zoom-in-line"></i></div> | |
| </div> | |
| <div class="gallery-item reveal"> | |
| <img src="https://picsum.photos/seed/gallery5/400/400" alt="κ³΅μ° μ¬μ§"> | |
| <div class="gallery-overlay"><i class="ri-zoom-in-line"></i></div> | |
| </div> | |
| <div class="gallery-item reveal"> | |
| <img src="https://picsum.photos/seed/gallery6/400/400" alt="κ³΅μ° μ¬μ§"> | |
| <div class="gallery-overlay"><i class="ri-zoom-in-line"></i></div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Contact Section --> | |
| <section class="contact" id="contact"> | |
| <div class="container"> | |
| <h2 class="section-title reveal">λ¬ΈμνκΈ°</h2> | |
| <p class="section-subtitle reveal">κ³΅μ° λ¬Έμ, νμ°¬ μ μ λ± μ΄λ€ λ΄μ©μ΄λ νμν©λλ€.</p> | |
| <div class="contact-wrapper reveal"> | |
| <div class="contact-info"> | |
| <h3>μ°λ½μ² μ 보</h3> | |
| <div class="info-item"> | |
| <i class="ri-map-pin-line"></i> | |
| <div class="info-content"> | |
| <h5>μ£Όμ</h5> | |
| <p>μμΈνΉλ³μ λ§ν¬κ΅¬ μμ μλ‘ 123<br>νλλΉλ© 5μΈ΅</p> | |
| </div> | |
| </div> | |
| <div class="info-item"> | |
| <i class="ri-mail-send-line"></i> | |
| <div class="info-content"> | |
| <h5>μ΄λ©μΌ</h5> | |
| <p>contact@skyarts.or.kr</p> | |
| </div> | |
| </div> | |
| <div class="info-item"> | |
| <i class="ri-phone-line"></i> | |
| <div class="info-content"> | |
| <h5>μ ν</h5> | |
| <p>02-1234-5678</p> | |
| </div> | |
| </div> | |
| <div class="info-item"> | |
| <i class="ri-time-line"></i> | |
| <div class="info-content"> | |
| <h5>μ΄μ μκ°</h5> | |
| <p>μ - κΈ: 09:00 - 18:00</p> | |
| </div> | |
| </div> | |
| </div> | |
| <form class="contact-form" onsubmit="event.preventDefault(); alert('λ¬Έμκ° μ μλμμ΅λλ€. λΉ λ₯Έ μμΌ λ΄μ λ΅λ³ λλ¦¬κ² μ΅λλ€.');"> | |
| <div class="form-row"> | |
| <div class="form-group"> | |
| <input type="text" placeholder="μ΄λ¦" required> | |
| </div> | |
| <div class="form-group"> | |
| <input type="email" placeholder="μ΄λ©μΌ" required> | |
| </div> | |
| </div> | |
| <div class="form-group"> | |
| <input type="text" placeholder="μ λͺ©" required> | |
| </div> | |
| <div class="form-group"> | |
| <textarea placeholder="λ¬Έμ λ΄μ©μ μ λ ₯ν΄μ£ΌμΈμ." required></textarea> | |
| </div> | |
| <button type="submit" class="btn btn-primary" style="align-self: flex-start;">보λ΄κΈ°</button> | |
| </form> | |
| </div> | |
| </div> | |
| </section> | |
| </main> | |
| <!-- Footer --> | |
| <footer> | |
| <div class="container"> | |
| <div class="footer-content"> | |
| <div class="footer-logo"> | |
| <i class="ri-brush-2-fill"></i> νλμμ λ¨ | |
| </div> | |
| <div class="social-links"> | |
| <a href="#" class="social-link"><i class="ri-instagram-line"></i></a> | |
| <a href="#" class="social-link"><i class="ri-youtube-fill"></i></a> | |
| <a href="#" class="social-link"><i class="ri-facebook-fill"></i></a> | |
| <a href="#" class="social-link"><i class="ri-twitter-x-line"></i></a> | |
| </div> | |
| </div> | |
| <p class="copyright"> | |
| © 2023 νλμμ λ¨ Sky Arts Group. All rights reserved. | |
| </p> | |
| </div> | |
| </footer> | |
| <!-- JavaScript --> | |
| <script> | |
| // Mobile Menu Toggle | |
| const menuToggle = document.getElementById('menuToggle'); | |
| const navLinks = document.getElementById('navLinks'); | |
| menuToggle.addEventListener('click', () => { | |
| navLinks.classList.toggle('nav-mobile-active'); | |
| // Toggle icon | |
| const icon = menuToggle.querySelector('i'); | |
| if (navLinks.classList.contains('nav-mobile-active')) { | |
| icon.classList.remove('ri-menu-4-line'); | |
| icon.classList.add('ri-close-line'); | |
| } else { | |
| icon.classList.remove('ri-close-line'); | |
| icon.classList.add('ri-menu-4-line'); | |
| } | |
| }); | |
| // Close mobile menu when a link is clicked | |
| document.querySelectorAll('.nav-links a').forEach(link => { | |
| link.addEventListener('click', () => { | |
| navLinks.classList.remove('nav-mobile-active'); | |
| const icon = menuToggle.querySelector('i'); | |
| icon.classList.remove('ri-close-line'); | |
| icon.classList.add('ri-menu-4-line'); | |
| }); | |
| }); | |
| // Scroll Animation (Intersection Observer) | |
| const revealElements = document.querySelectorAll('.reveal'); | |
| const revealObserver = new IntersectionObserver((entries, observer) => { | |
| entries.forEach(entry => { | |
| if (entry.isIntersecting) { | |
| entry.target.classList.add('active'); | |
| observer.unobserve(entry.target); // Only animate once | |
| } | |
| }); | |
| }, { | |
| root: null, | |
| threshold: 0.15, // Trigger when 15% of element is visible | |
| rootMargin: "0px 0px -50px 0px" | |
| }); | |
| revealElements.forEach(el => { | |
| revealObserver.observe(el); | |
| }); | |
| // Active Nav Link on Scroll | |
| const sections = document.querySelectorAll('section'); | |
| const navItems = document.querySelectorAll('.nav-links a'); | |
| window.addEventListener('scroll', () => { | |
| let current = ''; | |
| sections.forEach(section => { | |
| const sectionTop = section.offsetTop; | |
| const sectionHeight = section.clientHeight; | |
| if (scrollY >= (sectionTop - 150)) { | |
| current = section.getAttribute('id'); | |
| } | |
| }); | |
| navItems.forEach(li => { | |
| li.classList.remove('active'); | |
| if (li.getAttribute('href').includes(current)) { | |
| li.classList.add('active'); | |
| } | |
| }); | |
| }); | |
| // Header Background on Scroll | |
| const header = document.querySelector('header'); | |
| window.addEventListener('scroll', () => { | |
| if (window.scrollY > 50) { | |
| header.style.background = 'rgba(15, 15, 17, 0.95)'; | |
| header.style.boxShadow = '0 5px 20px rgba(0,0,0,0.5)'; | |
| } else { | |
| header.style.background = 'rgba(15, 15, 17, 0.85)'; | |
| header.style.boxShadow = |