index.html 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Ensamble Armadillos | Festival Cultural</title>
  7. <link rel="preconnect" href="https://fonts.googleapis.com">
  8. <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=DM+Sans:wght@400;500;700&display=swap" rel="stylesheet">
  9. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
  10. <style>
  11. :root {
  12. --color-primary: #8B4513;
  13. --color-secondary: #D2691E;
  14. --color-accent: #CD853F;
  15. --color-dark: #00294b;
  16. --color-dark-alt: #0C0A08;
  17. --color-cream: #FFF8DC;
  18. --color-light: #FFFDF5;
  19. --color-text: #243238;
  20. --color-muted: #6D4C41;
  21. --color-white: #ffffff;
  22. --color-gray: #f4f4f4;
  23. --font-heading: 'Poppins', sans-serif;
  24. --font-body: 'DM Sans', sans-serif;
  25. }
  26. * { margin: 0; padding: 0; box-sizing: border-box; }
  27. body {
  28. font-family: var(--font-body);
  29. color: var(--color-text);
  30. line-height: 1.6;
  31. overflow-x: hidden;
  32. }
  33. a { text-decoration: none; color: inherit; transition: 0.3s; }
  34. img { max-width: 100%; vertical-align: middle; }
  35. /* ===== TOP HEADER BAR ===== */
  36. .header-top {
  37. background: var(--color-dark);
  38. color: var(--color-white);
  39. padding: 0.6rem 0;
  40. font-size: 0.85rem;
  41. }
  42. .header-top .container {
  43. display: flex;
  44. justify-content: space-between;
  45. align-items: center;
  46. flex-wrap: wrap;
  47. gap: 0.5rem;
  48. }
  49. .header-top a { color: rgba(255,255,255,0.8); }
  50. .header-top a:hover { color: var(--color-white); }
  51. .top-contact {
  52. display: flex;
  53. gap: 1.5rem;
  54. flex-wrap: wrap;
  55. }
  56. .top-contact span {
  57. display: flex;
  58. align-items: center;
  59. gap: 0.4rem;
  60. }
  61. .top-social {
  62. display: flex;
  63. gap: 0.8rem;
  64. }
  65. .top-social a {
  66. width: 30px;
  67. height: 30px;
  68. border-radius: 50%;
  69. background: rgba(255,255,255,0.1);
  70. display: flex;
  71. align-items: center;
  72. justify-content: center;
  73. font-size: 0.8rem;
  74. transition: 0.3s;
  75. }
  76. .top-social a:hover { background: var(--color-secondary); }
  77. /* ===== MAIN HEADER ===== */
  78. .main-header {
  79. background: var(--color-white);
  80. box-shadow: 0 2px 15px rgba(0,0,0,0.08);
  81. position: sticky;
  82. top: 0;
  83. z-index: 200;
  84. }
  85. .main-header .container {
  86. display: flex;
  87. align-items: center;
  88. justify-content: space-between;
  89. padding-top: 0.8rem;
  90. padding-bottom: 0.8rem;
  91. }
  92. .logo img {
  93. max-height: 60px;
  94. }
  95. .main-nav ul {
  96. list-style: none;
  97. display: flex;
  98. gap: 0.3rem;
  99. }
  100. .main-nav a {
  101. font-family: var(--font-heading);
  102. font-weight: 500;
  103. font-size: 0.9rem;
  104. color: var(--color-text);
  105. padding: 0.5rem 1rem;
  106. border-radius: 4px;
  107. display: block;
  108. }
  109. .main-nav a:hover,
  110. .main-nav a.active {
  111. background: var(--color-dark);
  112. color: var(--color-white);
  113. }
  114. .mobile-toggle {
  115. display: none;
  116. background: none;
  117. border: none;
  118. font-size: 1.5rem;
  119. cursor: pointer;
  120. color: var(--color-dark);
  121. }
  122. /* ===== HERO / BANNER ===== */
  123. .hero-area {
  124. position: relative;
  125. min-height: 580px;
  126. display: flex;
  127. align-items: center;
  128. background: url('/festival.jpg') center center / cover no-repeat;
  129. }
  130. .hero-area::before {
  131. content: '';
  132. position: absolute;
  133. inset: 0;
  134. background: linear-gradient(135deg, rgba(0,41,75,0.85) 0%, rgba(44,24,16,0.75) 100%);
  135. }
  136. .hero-content {
  137. position: relative;
  138. z-index: 1;
  139. color: var(--color-white);
  140. max-width: 700px;
  141. }
  142. .hero-content .tagline-top {
  143. font-family: var(--font-heading);
  144. font-size: 0.9rem;
  145. font-weight: 500;
  146. letter-spacing: 3px;
  147. text-transform: uppercase;
  148. color: var(--color-accent);
  149. margin-bottom: 1rem;
  150. }
  151. .hero-content h1 {
  152. font-family: var(--font-heading);
  153. font-size: 3.2rem;
  154. font-weight: 700;
  155. line-height: 1.15;
  156. margin-bottom: 1rem;
  157. }
  158. .hero-content p {
  159. font-size: 1.1rem;
  160. opacity: 0.85;
  161. margin-bottom: 2rem;
  162. max-width: 500px;
  163. }
  164. .hero-buttons {
  165. display: flex;
  166. gap: 1rem;
  167. flex-wrap: wrap;
  168. }
  169. .btn {
  170. display: inline-flex;
  171. align-items: center;
  172. gap: 0.5rem;
  173. padding: 0.8rem 1.8rem;
  174. border-radius: 4px;
  175. font-family: var(--font-heading);
  176. font-weight: 600;
  177. font-size: 0.9rem;
  178. border: none;
  179. cursor: pointer;
  180. transition: 0.3s;
  181. }
  182. .btn-primary {
  183. background: var(--color-secondary);
  184. color: var(--color-white);
  185. }
  186. .btn-primary:hover { background: var(--color-primary); }
  187. .btn-outline {
  188. background: transparent;
  189. color: var(--color-white);
  190. border: 2px solid rgba(255,255,255,0.4);
  191. }
  192. .btn-outline:hover {
  193. background: var(--color-white);
  194. color: var(--color-dark);
  195. }
  196. /* ===== SECTION STYLES ===== */
  197. .section-padding {
  198. padding: 5rem 0;
  199. }
  200. .section-dark {
  201. background: var(--color-gray);
  202. }
  203. .section-dark-alt {
  204. background: var(--color-dark);
  205. color: var(--color-white);
  206. }
  207. .container {
  208. max-width: 1170px;
  209. margin: 0 auto;
  210. padding: 0 1.5rem;
  211. }
  212. .section-header {
  213. text-align: center;
  214. margin-bottom: 3rem;
  215. }
  216. .section-header .tag {
  217. font-family: var(--font-heading);
  218. font-size: 0.8rem;
  219. font-weight: 600;
  220. letter-spacing: 3px;
  221. text-transform: uppercase;
  222. color: var(--color-secondary);
  223. margin-bottom: 0.5rem;
  224. display: block;
  225. }
  226. .section-header h2 {
  227. font-family: var(--font-heading);
  228. font-size: 2.2rem;
  229. font-weight: 700;
  230. color: var(--color-dark);
  231. margin-bottom: 1rem;
  232. }
  233. .section-header p {
  234. color: #666;
  235. max-width: 550px;
  236. margin: 0 auto;
  237. }
  238. .section-dark .section-header h2 { color: var(--color-white); }
  239. .section-dark .section-header p { color: rgba(255,255,255,0.7); }
  240. /* ===== MISSION / VISION CARDS ===== */
  241. .mv-grid {
  242. display: grid;
  243. grid-template-columns: 1fr 1fr;
  244. gap: 2rem;
  245. }
  246. .mv-card {
  247. background: var(--color-white);
  248. border-radius: 8px;
  249. padding: 2.5rem 2rem;
  250. box-shadow: 0 4px 25px rgba(0,0,0,0.08);
  251. border-left: 4px solid var(--color-secondary);
  252. transition: 0.3s;
  253. }
  254. .mv-card:hover {
  255. transform: translateY(-5px);
  256. box-shadow: 0 8px 35px rgba(0,0,0,0.12);
  257. }
  258. .mv-card .icon {
  259. width: 55px;
  260. height: 55px;
  261. border-radius: 8px;
  262. background: rgba(210,105,30,0.1);
  263. display: flex;
  264. align-items: center;
  265. justify-content: center;
  266. font-size: 1.4rem;
  267. color: var(--color-secondary);
  268. margin-bottom: 1.2rem;
  269. }
  270. .mv-card h3 {
  271. font-family: var(--font-heading);
  272. font-size: 1.3rem;
  273. font-weight: 600;
  274. color: var(--color-dark);
  275. margin-bottom: 0.8rem;
  276. }
  277. .mv-card p {
  278. color: #555;
  279. font-size: 0.95rem;
  280. line-height: 1.7;
  281. }
  282. /* ===== VALORES ===== */
  283. .valores-grid {
  284. display: grid;
  285. grid-template-columns: repeat(4, 1fr);
  286. gap: 1.5rem;
  287. }
  288. .valor-item {
  289. background: var(--color-white);
  290. border-radius: 8px;
  291. padding: 2rem 1.5rem;
  292. text-align: center;
  293. box-shadow: 0 3px 20px rgba(0,0,0,0.06);
  294. border-bottom: 3px solid var(--color-accent);
  295. transition: 0.3s;
  296. }
  297. .valor-item:hover {
  298. transform: translateY(-5px);
  299. border-bottom-color: var(--color-secondary);
  300. }
  301. .valor-item .icon {
  302. font-size: 2rem;
  303. margin-bottom: 0.8rem;
  304. }
  305. .valor-item h4 {
  306. font-family: var(--font-heading);
  307. font-weight: 600;
  308. color: var(--color-dark);
  309. }
  310. /* ===== HISTORIA ===== */
  311. .historia-grid {
  312. display: grid;
  313. grid-template-columns: 1fr 1fr;
  314. gap: 3rem;
  315. align-items: center;
  316. }
  317. .historia-text p {
  318. margin-bottom: 1rem;
  319. color: #555;
  320. font-size: 0.97rem;
  321. line-height: 1.8;
  322. }
  323. .historia-img {
  324. border-radius: 12px;
  325. overflow: hidden;
  326. box-shadow: 0 8px 40px rgba(0,0,0,0.15);
  327. }
  328. .historia-img img {
  329. width: 100%;
  330. height: 380px;
  331. object-fit: cover;
  332. display: block;
  333. }
  334. .highlight-quote {
  335. background: var(--color-dark);
  336. color: var(--color-accent);
  337. border-radius: 8px;
  338. padding: 1.5rem 2rem;
  339. margin-top: 1.5rem;
  340. font-family: var(--font-heading);
  341. font-style: italic;
  342. font-size: 1.15rem;
  343. text-align: center;
  344. border-left: 4px solid var(--color-accent);
  345. }
  346. /* ===== TIMELINE ===== */
  347. .timeline {
  348. position: relative;
  349. max-width: 800px;
  350. margin: 0 auto;
  351. }
  352. .timeline::before {
  353. content: '';
  354. position: absolute;
  355. left: 50%;
  356. transform: translateX(-50%);
  357. top: 0;
  358. bottom: 0;
  359. width: 3px;
  360. background: var(--color-accent);
  361. }
  362. .timeline-item {
  363. display: grid;
  364. grid-template-columns: 1fr 1fr;
  365. gap: 2rem;
  366. margin-bottom: 2.5rem;
  367. position: relative;
  368. }
  369. .timeline-item::before {
  370. content: '';
  371. position: absolute;
  372. left: 50%;
  373. transform: translateX(-50%);
  374. top: 1rem;
  375. width: 14px;
  376. height: 14px;
  377. background: var(--color-secondary);
  378. border-radius: 50%;
  379. border: 3px solid var(--color-gray);
  380. }
  381. .timeline-item:nth-child(even) .timeline-content { order: 2; text-align: left; }
  382. .timeline-item:nth-child(odd) .timeline-content { text-align: right; }
  383. .timeline-content {
  384. background: var(--color-white);
  385. border-radius: 8px;
  386. padding: 1.5rem;
  387. box-shadow: 0 3px 15px rgba(0,0,0,0.07);
  388. }
  389. .timeline-year {
  390. font-family: var(--font-heading);
  391. font-weight: 700;
  392. font-size: 1rem;
  393. color: var(--color-secondary);
  394. margin-bottom: 0.3rem;
  395. }
  396. .timeline-desc { color: #555; font-size: 0.9rem; }
  397. .timeline-note { font-style: italic; color: var(--color-muted); font-size: 0.82rem; margin-top: 0.3rem; }
  398. /* ===== ACTIVIDADES ===== */
  399. .actividades-grid {
  400. display: grid;
  401. grid-template-columns: 1fr 1fr;
  402. gap: 2rem;
  403. }
  404. .actividad-card {
  405. background: var(--color-white);
  406. border-radius: 10px;
  407. overflow: hidden;
  408. box-shadow: 0 5px 25px rgba(0,0,0,0.08);
  409. transition: 0.3s;
  410. }
  411. .actividad-card:hover { transform: translateY(-5px); box-shadow: 0 10px 40px rgba(0,0,0,0.12); }
  412. .actividad-card .card-body { padding: 2rem; }
  413. .actividad-card h3 {
  414. font-family: var(--font-heading);
  415. font-size: 1.2rem;
  416. color: var(--color-dark);
  417. margin-bottom: 0.8rem;
  418. }
  419. .actividad-card ul {
  420. list-style: none;
  421. margin-top: 1rem;
  422. }
  423. .actividad-card li {
  424. padding: 0.35rem 0;
  425. padding-left: 1.5rem;
  426. position: relative;
  427. color: #555;
  428. }
  429. .actividad-card li::before {
  430. content: '✓';
  431. position: absolute;
  432. left: 0;
  433. color: var(--color-secondary);
  434. font-weight: 700;
  435. }
  436. /* ===== ALIANZAS ===== */
  437. .alianzas-grid {
  438. display: grid;
  439. grid-template-columns: 1fr 1fr;
  440. gap: 2rem;
  441. }
  442. .alianza-card {
  443. background: rgba(255,255,255,0.05);
  444. border: 1px solid rgba(255,255,255,0.1);
  445. border-radius: 10px;
  446. padding: 2.5rem;
  447. text-align: center;
  448. transition: 0.3s;
  449. }
  450. .alianza-card:hover {
  451. background: rgba(255,255,255,0.1);
  452. border-color: var(--color-accent);
  453. }
  454. .alianza-card .icon {
  455. font-size: 2.5rem;
  456. margin-bottom: 1rem;
  457. }
  458. .alianza-card h3 {
  459. font-family: var(--font-heading);
  460. font-size: 1.2rem;
  461. margin-bottom: 0.8rem;
  462. }
  463. .alianza-card p { color: rgba(255,255,255,0.7); font-size: 0.92rem; }
  464. /* ===== STATS ===== */
  465. .stats-row {
  466. display: grid;
  467. grid-template-columns: repeat(3, 1fr);
  468. gap: 1.5rem;
  469. margin-top: 3rem;
  470. }
  471. .stat-box {
  472. background: rgba(255,255,255,0.05);
  473. border-radius: 10px;
  474. padding: 2rem;
  475. text-align: center;
  476. border: 1px solid rgba(255,255,255,0.08);
  477. }
  478. .stat-number {
  479. font-family: var(--font-heading);
  480. font-size: 2.5rem;
  481. font-weight: 700;
  482. color: var(--color-accent);
  483. }
  484. .stat-label {
  485. font-size: 0.9rem;
  486. color: rgba(255,255,255,0.7);
  487. margin-top: 0.3rem;
  488. }
  489. /* ===== TRANSPARENCIA ===== */
  490. .transparencia-grid {
  491. display: grid;
  492. grid-template-columns: 1fr 1fr;
  493. gap: 2rem;
  494. }
  495. .transp-card {
  496. background: var(--color-white);
  497. border-radius: 10px;
  498. padding: 2rem;
  499. box-shadow: 0 4px 20px rgba(0,0,0,0.07);
  500. }
  501. .transp-card h3 {
  502. font-family: var(--font-heading);
  503. font-size: 1.1rem;
  504. color: var(--color-dark);
  505. margin-bottom: 1rem;
  506. padding-bottom: 0.5rem;
  507. border-bottom: 2px solid var(--color-accent);
  508. display: inline-block;
  509. }
  510. .budget-amount {
  511. font-family: var(--font-heading);
  512. font-size: 2.2rem;
  513. font-weight: 700;
  514. color: var(--color-secondary);
  515. }
  516. .budget-note {
  517. font-size: 0.82rem;
  518. color: var(--color-muted);
  519. font-style: italic;
  520. }
  521. /* ===== CONTACTO ===== */
  522. .contact-grid {
  523. display: grid;
  524. grid-template-columns: repeat(4, 1fr);
  525. gap: 1.5rem;
  526. margin-bottom: 3rem;
  527. }
  528. .contact-card {
  529. background: var(--color-white);
  530. border-radius: 8px;
  531. padding: 1.8rem;
  532. text-align: center;
  533. box-shadow: 0 3px 15px rgba(0,0,0,0.06);
  534. transition: 0.3s;
  535. }
  536. .contact-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,0.1); }
  537. .contact-card .icon {
  538. width: 50px;
  539. height: 50px;
  540. border-radius: 50%;
  541. background: var(--color-dark);
  542. color: var(--color-white);
  543. display: flex;
  544. align-items: center;
  545. justify-content: center;
  546. margin: 0 auto 1rem;
  547. font-size: 1.1rem;
  548. }
  549. .contact-card .label {
  550. font-size: 0.78rem;
  551. text-transform: uppercase;
  552. letter-spacing: 1px;
  553. color: var(--color-muted);
  554. margin-bottom: 0.3rem;
  555. }
  556. .contact-card .value {
  557. font-weight: 600;
  558. color: var(--color-dark);
  559. font-size: 0.95rem;
  560. }
  561. /* ===== FOOTER ===== */
  562. .footer {
  563. background: var(--color-dark);
  564. color: rgba(255,255,255,0.7);
  565. padding: 3rem 0 1.5rem;
  566. }
  567. .footer-grid {
  568. display: grid;
  569. grid-template-columns: 2fr 1fr 1fr;
  570. gap: 3rem;
  571. margin-bottom: 2.5rem;
  572. }
  573. .footer-brand img {
  574. max-height: 60px;
  575. margin-bottom: 1rem;
  576. opacity: 0.8;
  577. }
  578. .footer-brand p {
  579. font-size: 0.88rem;
  580. line-height: 1.7;
  581. margin-top: 0.8rem;
  582. }
  583. .footer h4 {
  584. font-family: var(--font-heading);
  585. font-size: 1rem;
  586. color: var(--color-white);
  587. margin-bottom: 1.2rem;
  588. padding-bottom: 0.5rem;
  589. border-bottom: 2px solid var(--color-secondary);
  590. display: inline-block;
  591. }
  592. .footer ul {
  593. list-style: none;
  594. }
  595. .footer ul li {
  596. padding: 0.3rem 0;
  597. }
  598. .footer ul li a {
  599. font-size: 0.88rem;
  600. color: rgba(255,255,255,0.6);
  601. }
  602. .footer ul li a:hover { color: var(--color-accent); }
  603. .footer-bottom {
  604. border-top: 1px solid rgba(255,255,255,0.1);
  605. padding-top: 1.2rem;
  606. text-align: center;
  607. font-size: 0.82rem;
  608. }
  609. /* ===== RESPONSIVE ===== */
  610. @media (max-width: 960px) {
  611. .main-nav { display: none; }
  612. .mobile-toggle { display: block; }
  613. .valores-grid { grid-template-columns: repeat(2, 1fr); }
  614. .historia-grid { grid-template-columns: 1fr; }
  615. .historia-img { order: -1; }
  616. .timeline::before { left: 20px; }
  617. .timeline-item { grid-template-columns: 1fr; gap: 0; }
  618. .timeline-item::before { left: 13px; transform: none; }
  619. .timeline-item:nth-child(odd) .timeline-content,
  620. .timeline-item:nth-child(even) .timeline-content { text-align: left; order: 0; }
  621. .contact-grid { grid-template-columns: repeat(2, 1fr); }
  622. .footer-grid { grid-template-columns: 1fr; }
  623. }
  624. @media (max-width: 600px) {
  625. .hero-content h1 { font-size: 2.2rem; }
  626. .mv-grid { grid-template-columns: 1fr; }
  627. .actividades-grid { grid-template-columns: 1fr; }
  628. .alianzas-grid { grid-template-columns: 1fr; }
  629. .transparencia-grid { grid-template-columns: 1fr; }
  630. .stats-row { grid-template-columns: 1fr; }
  631. .contact-grid { grid-template-columns: 1fr; }
  632. .valores-grid { grid-template-columns: 1fr 1fr; }
  633. .section-header h2 { font-size: 1.7rem; }
  634. }
  635. /* Mobile menu */
  636. .mobile-menu {
  637. display: none;
  638. position: fixed;
  639. top: 0;
  640. left: 0;
  641. width: 280px;
  642. height: 100vh;
  643. background: var(--color-dark);
  644. z-index: 300;
  645. padding: 2rem;
  646. transform: translateX(-100%);
  647. transition: 0.3s;
  648. }
  649. .mobile-menu.open { transform: translateX(0); }
  650. .mobile-menu ul {
  651. list-style: none;
  652. margin-top: 2rem;
  653. }
  654. .mobile-menu a {
  655. color: var(--color-white);
  656. font-family: var(--font-heading);
  657. font-size: 1rem;
  658. padding: 0.8rem 0;
  659. display: block;
  660. border-bottom: 1px solid rgba(255,255,255,0.1);
  661. }
  662. .mobile-overlay {
  663. display: none;
  664. position: fixed;
  665. inset: 0;
  666. background: rgba(0,0,0,0.5);
  667. z-index: 250;
  668. }
  669. .mobile-overlay.open { display: block; }
  670. .mobile-close {
  671. background: none;
  672. border: none;
  673. color: var(--color-white);
  674. font-size: 1.5rem;
  675. cursor: pointer;
  676. margin-bottom: 1rem;
  677. }
  678. /* ===== ANIMATIONS ===== */
  679. .fade-in {
  680. opacity: 0;
  681. transform: translateY(20px);
  682. transition: opacity 0.6s ease, transform 0.6s ease;
  683. }
  684. .fade-in.visible {
  685. opacity: 1;
  686. transform: translateY(0);
  687. }
  688. </style>
  689. </head>
  690. <body>
  691. <!-- Top bar -->
  692. <div class="header-top">
  693. <div class="container">
  694. <div class="top-contact">
  695. <span><i class="fas fa-phone"></i> <a href="tel:+529181261222">918 126 1222</a></span>
  696. <span><i class="fas fa-envelope"></i> <a href="mailto:festival@armadillos.org.mx">festival@armadillos.org.mx</a></span>
  697. <span><i class="fas fa-map-marker-alt"></i> Acapetahua, Chiapas, México</span>
  698. </div>
  699. <div class="top-social">
  700. <a href="#" aria-label="Facebook"><i class="fab fa-facebook-f"></i></a>
  701. <a href="#" aria-label="YouTube"><i class="fab fa-youtube"></i></a>
  702. <a href="#" aria-label="Instagram"><i class="fab fa-instagram"></i></a>
  703. </div>
  704. </div>
  705. </div>
  706. <!-- Main Header -->
  707. <header class="main-header">
  708. <div class="container">
  709. <a href="/" class="logo">
  710. <img src="/logo.jpg" alt="Ensamble Armadillos">
  711. </a>
  712. <nav class="main-nav">
  713. <ul>
  714. <li><a href="#inicio" class="active">Inicio</a></li>
  715. <li><a href="#mision">Misión</a></li>
  716. <li><a href="#historia">Historia</a></li>
  717. <li><a href="#actividades">Actividades</a></li>
  718. <li><a href="#linea-tiempo">Línea del Tiempo</a></li>
  719. <li><a href="#contacto">Contacto</a></li>
  720. </ul>
  721. </nav>
  722. <button class="mobile-toggle" onclick="toggleMobile()" aria-label="Abrir menú">
  723. <i class="fas fa-bars"></i>
  724. </button>
  725. </div>
  726. </header>
  727. <!-- Mobile Menu -->
  728. <div class="mobile-overlay" id="mobileOverlay" onclick="toggleMobile()"></div>
  729. <div class="mobile-menu" id="mobileMenu">
  730. <button class="mobile-close" onclick="toggleMobile()"><i class="fas fa-times"></i></button>
  731. <ul>
  732. <li><a href="#inicio" onclick="toggleMobile()">Inicio</a></li>
  733. <li><a href="#mision" onclick="toggleMobile()">Misión</a></li>
  734. <li><a href="#historia" onclick="toggleMobile()">Historia</a></li>
  735. <li><a href="#actividades" onclick="toggleMobile()">Actividades</a></li>
  736. <li><a href="#linea-tiempo" onclick="toggleMobile()">Línea del Tiempo</a></li>
  737. <li><a href="#contacto" onclick="toggleMobile()">Contacto</a></li>
  738. </ul>
  739. </div>
  740. <!-- Hero -->
  741. <section class="hero-area" id="inicio">
  742. <div class="container">
  743. <div class="hero-content">
  744. <span class="tagline-top">🎵 Festival Cultural 2026</span>
  745. <h1>Ensamble Armadillos</h1>
  746. <p>Sembrando cultura en nuestra comunidad a través del arte y la educación, creando espacios de encuentro que fortalezcan los valores sociales.</p>
  747. <div class="hero-buttons">
  748. <a href="#actividades" class="btn btn-primary"><i class="fas fa-music"></i> Ver Actividades</a>
  749. <a href="#contacto" class="btn btn-outline"><i class="fas fa-envelope"></i> Contáctanos</a>
  750. </div>
  751. </div>
  752. </div>
  753. </section>
  754. <!-- Misión y Visión -->
  755. <section class="section-padding section-dark" id="mision">
  756. <div class="container">
  757. <div class="section-header">
  758. <span class="tag">Quiénes Somos</span>
  759. <h2>Misión y Visión</h2>
  760. <p>Somos una asociación cultural sin fines de lucro comprometida con el arte y la comunidad de Acapetahua, Chiapas.</p>
  761. </div>
  762. <div class="mv-grid">
  763. <div class="mv-card">
  764. <div class="icon"><i class="fas fa-bullseye"></i></div>
  765. <h3>Misión</h3>
  766. <p>Sembrar cultura en nuestra comunidad a través del arte y la educación, creando espacios de encuentro que fortalezcan los valores sociales y acerquen los valores artísticos y humanos a cada rincón de nuestra comunidad, para cosechar un futuro más humano y solidarios.</p>
  767. </div>
  768. <div class="mv-card">
  769. <div class="icon"><i class="fas fa-eye"></i></div>
  770. <h3>Visión</h3>
  771. <p>Ser un referente cultural en nuestra región, reconocido por generar comunidad a través del arte y por formar ciudadanos con valores.</p>
  772. </div>
  773. </div>
  774. <h3 style="text-align:center; font-family:var(--font-heading); font-size:1.3rem; color:var(--color-dark); margin-top:3rem; margin-bottom:1.5rem;">Nuestros Valores</h3>
  775. <div class="valores-grid">
  776. <div class="valor-item">
  777. <div class="icon">🏛️</div>
  778. <h4>Identidad</h4>
  779. </div>
  780. <div class="valor-item">
  781. <div class="icon">🤝</div>
  782. <h4>Trabajo en equipo</h4>
  783. </div>
  784. <div class="valor-item">
  785. <div class="icon">💡</div>
  786. <h4>Creatividad</h4>
  787. </div>
  788. <div class="valor-item">
  789. <div class="icon">❤️</div>
  790. <h4>Compromiso social</h4>
  791. </div>
  792. </div>
  793. </div>
  794. </section>
  795. <!-- Historia -->
  796. <section class="section-padding" id="historia">
  797. <div class="container">
  798. <div class="section-header">
  799. <span class="tag">Origen del Festival</span>
  800. <h2>Nuestra Historia</h2>
  801. </div>
  802. <div class="historia-grid">
  803. <div class="historia-text">
  804. <p>Todo comenzó cuando el antropólogo <strong>Guillermo Coutiño Archilla</strong> reunió a diversos personajes de la vida de Acapetahua, Chiapas, con un propósito sencillo pero poderoso: compartir poesía, música y relatos en un ambiente bohemio.</p>
  805. <p>Lo que nació como una reunión de amigos alrededor del arte fue evolucionando hasta convertirse en lo que hoy conocemos como el <strong>Festival Armadillo</strong>.</p>
  806. <p>El nombre hace honor a nuestro origen: "Armadillos" es el gentilicio cariñoso con el que se conoce a los acapetahuenses.</p>
  807. <p>Un momento que marcó un antes y un después fue el cuarto Festival Armadillos, celebrado el <strong>28 de diciembre de 2015</strong>, cuando por primera vez el festival se realizó en las instalaciones del Auditorio de la UNICACH en Acapetahua.</p>
  808. <p>Después de siete ediciones (2012–2019), el festival guardó una pausa. Hoy, <strong>Ensamble Armadillos</strong> retoma su misión con la misma fuerza del primer día.</p>
  809. <div class="highlight-quote">
  810. "La cultura no se hereda, se siembra."
  811. </div>
  812. </div>
  813. <div class="historia-img">
  814. <img src="/festival.jpg" alt="Festival Armadillos">
  815. </div>
  816. </div>
  817. </div>
  818. </section>
  819. <!-- Actividades -->
  820. <section class="section-padding section-dark" id="actividades">
  821. <div class="container">
  822. <div class="section-header">
  823. <span class="tag">Programas</span>
  824. <h2>Actividades y Programas</h2>
  825. <p>Nuestro evento principal es el Festival Armadillos, un encuentro cultural que reúne música, danza, poesía y más.</p>
  826. </div>
  827. <div class="actividades-grid">
  828. <div class="actividad-card">
  829. <div class="card-body">
  830. <h3>🎶 Festival Armadillos</h3>
  831. <p>Nuestro evento principal es un encuentro cultural que reúne a la comunidad en torno al arte.</p>
  832. <ul>
  833. <li>Música en vivo</li>
  834. <li>Danza y expresión artística</li>
  835. <li>Poesía y literatura</li>
  836. <li>Cápsulas de salud y prevención</li>
  837. </ul>
  838. </div>
  839. </div>
  840. <div class="actividad-card">
  841. <div class="card-body">
  842. <h3>🌟 Impacto en la Juventud</h3>
  843. <p>Algunos de nuestros jóvenes participantes han decidido realizar estudios formales en instituciones de arte del estado de Chiapas.</p>
  844. <ul>
  845. <li>Ventana al arte y la cultura</li>
  846. <li>Formación de ciudadanos con valores</li>
  847. <li>Espacios de encuentro comunitario</li>
  848. <li>Semilla para futuros artistas</li>
  849. </ul>
  850. </div>
  851. </div>
  852. </div>
  853. </div>
  854. </section>
  855. <!-- Línea del Tiempo -->
  856. <section class="section-padding" id="linea-tiempo">
  857. <div class="container">
  858. <div class="section-header">
  859. <span class="tag">Trayectoria</span>
  860. <h2>Línea del Tiempo del Festival</h2>
  861. <p>Siete ediciones que han marcado la vida cultural de Acapetahua.</p>
  862. </div>
  863. <div class="timeline">
  864. <div class="timeline-item">
  865. <div class="timeline-content">
  866. <div class="timeline-year">I Festival — 2012</div>
  867. <div class="timeline-desc">Primera edición del festival</div>
  868. <div class="timeline-note">(por confirmar detalles)</div>
  869. </div>
  870. <div></div>
  871. </div>
  872. <div class="timeline-item">
  873. <div></div>
  874. <div class="timeline-content">
  875. <div class="timeline-year">II Festival — 2013</div>
  876. <div class="timeline-desc">Segunda edición</div>
  877. <div class="timeline-note">(por confirmar)</div>
  878. </div>
  879. </div>
  880. <div class="timeline-item">
  881. <div class="timeline-content">
  882. <div class="timeline-year">III Festival — 2014</div>
  883. <div class="timeline-desc">Tercera edición</div>
  884. <div class="timeline-note">(por confirmar)</div>
  885. </div>
  886. <div></div>
  887. </div>
  888. <div class="timeline-item">
  889. <div></div>
  890. <div class="timeline-content">
  891. <div class="timeline-year">IV Festival — 2015</div>
  892. <div class="timeline-desc">Auditorio UNICACH — primera vez en estas instalaciones</div>
  893. <div class="timeline-note">Punto de inflexión del festival</div>
  894. </div </div>
  895. </div>
  896. <div class="timeline-item">
  897. <div class="timeline-content">
  898. <div class="timeline-year">V Festival — 2017</div>
  899. <div class="timeline-desc">Auditorio UNICACH</div>
  900. <div class="timeline-note">Homenaje al Prof. Felipe Orozco</div>
  901. </div>
  902. <div></div>
  903. </div>
  904. <div class="timeline-item">
  905. <div></div>
  906. <div class="timeline-content">
  907. <div class="timeline-year">VI Festival — 2018</div>
  908. <div class="timeline-desc">Auditorio UNICACH</div>
  909. <div class="timeline-note">(por confirmar)</div>
  910. </div>
  911. </div>
  912. <div class="timeline-item">
  913. <div class="timeline-content">
  914. <div class="timeline-year">VII Festival — 2019</div>
  915. <div class="timeline-desc">Auditorio UNICACH — Homenaje al Prof. Humberto Velázquez</div>
  916. <div class="timeline-note">Última edición antes de la pausa</div>
  917. </div>
  918. <div></div>
  919. </div>
  920. <div class="timeline-item">
  921. <div></div>
  922. <div class="timeline-content">
  923. <div class="timeline-year">2020 – 2025</div>
  924. <div class="timeline-desc">Pausa del festival</div>
  925. <div class="timeline-note">A causa de la pandemia</div>
  926. </div>
  927. </div>
  928. <div class="timeline-item">
  929. <div class="timeline-content">
  930. <div class="timeline-year">VIII Festival — ¡Próximamente!</div>
  931. <div class="timeline-desc">En preparación</div>
  932. <div class="timeline-note">¡El festival regresa!</div>
  933. </div>
  934. <div></div>
  935. </div>
  936. </div>
  937. </div>
  938. </section>
  939. <!-- Alianzas -->
  940. <section class="section-padding section-dark-alt" id="alianzas">
  941. <div class="container">
  942. <div class="section-header">
  943. <span class="tag" style="color:var(--color-accent);">Apoyo</span>
  944. <h2 style="color:var(--color-white);">Alianzas y Voluntariado</h2>
  945. <p style="color:rgba(255,255,255,0.7);">Los festivales se realizan al 100% con donaciones de la iniciativa privada y el gobierno municipal.</p>
  946. </div>
  947. <div class="alianzas-grid">
  948. <div class="alianza-card">
  949. <div class="icon">🏛️</div>
  950. <h3>Iniciativa Privada</h3>
  951. <p>Empresas y negocios locales que creen en el poder transformador de la cultura.</p>
  952. </div>
  953. <div class="alianza-card">
  954. <div class="icon">🏢</div>
  955. <h3>Gobierno Municipal</h3>
  956. <p>Apoyo institucional para la realización de los festivales.</p>
  957. </div>
  958. </div>
  959. <h3 style="text-align:center; font-family:var(--font-heading); color:var(--color-white); margin-top:3rem; margin-bottom:1rem;">Voluntarios</h3>
  960. <div class="stats-row">
  961. <div class="stat-box">
  962. <div class="stat-number">20+</div>
  963. <div class="stat-label">Voluntarios activos</div>
  964. </div>
  965. <div class="stat-box">
  966. <div class="stat-number">50+</div>
  967. <div class="stat-label">Voluntarios históricos</div>
  968. </div>
  969. <div class="stat-box">
  970. <div class="stat-number">100%</div>
  971. <div class="stat-label">Financiado con donaciones</div>
  972. </div>
  973. </div>
  974. </div>
  975. </section>
  976. <!-- Transparencia -->
  977. <section class="section-padding section-dark" id="transparencia">
  978. <div class="container">
  979. <div class="section-header">
  980. <span class="tag">Rendición de cuentas</span>
  981. <h2>Transparencia</h2>
  982. </div>
  983. <div class="transparencia-grid">
  984. <div class="transp-card">
  985. <h3>💰 Presupuesto por Festival</h3>
  986. <div class="budget-amount">$50,000 MXN</div>
  987. <p class="budget-note">Dato referente al año 2019 — por actualizar</p>
  988. <p style="margin-top:1rem; color:#555; font-size:0.92rem;">Por festival — financiado al 100% con donaciones de la iniciativa privada y el gobierno municipal.</p>
  989. </div>
  990. <div class="transp-card">
  991. <h3>🤝 Formas de Aportación</h3>
  992. <ul style="list-style:none; padding:0; margin-top:1rem;">
  993. <li style="padding:0.5rem 0; border-bottom:1px solid #eee; display:flex; align-items:center; gap:0.5rem;">
  994. <span style="color:var(--color-secondary);">💵</span> Efectivo
  995. </li>
  996. <li style="padding:0.5rem 0; border-bottom:1px solid #eee; display:flex; align-items:center; gap:0.5rem;">
  997. <span style="color:var(--color-secondary);">🤝</span> Voluntariado
  998. </li>
  999. <li style="padding:0.5rem 0; color:#999; font-style:italic; display:flex; align-items:center; gap:0.5rem;">
  1000. <span>🏦</span> Datos bancarios — pendientes
  1001. </li>
  1002. </ul>
  1003. </div>
  1004. </div>
  1005. </div>
  1006. </section>
  1007. <!-- Contacto -->
  1008. <section class="section-padding" id="contacto">
  1009. <div class="container">
  1010. <div class="section-header">
  1011. <span class="tag">Ponerse en contacto</span>
  1012. <h2>Datos de Contacto</h2>
  1013. </div>
  1014. <div class="contact-grid">
  1015. <div class="contact-card">
  1016. <div class="icon"><i class="fas fa-envelope"></i></div>
  1017. <div class="label">Correo</div>
  1018. <div class="value">festival@armadillos.org.mx</div>
  1019. </div>
  1020. <div class="contact-card">
  1021. <div class="icon"><i class="fas fa-phone"></i></div>
  1022. <div class="label">Teléfono</div>
  1023. <div class="value">918 126 1222</div>
  1024. </div>
  1025. <div class="contact-card">
  1026. <div class="icon"><i class="fas fa-map-marker-alt"></i></div>
  1027. <div class="label">Ubicación</div>
  1028. <div class="value">Acapetahua, Chiapas</div>
  1029. </div>
  1030. <div class="contact-card">
  1031. <div class="icon"><i class="fas fa-globe"></i></div>
  1032. <div class="label">Sitio web</div>
  1033. <div class="value">En proceso</div>
  1034. </div>
  1035. </div>
  1036. <p style="text-align:center; color:#888; font-style:italic;">Directorio pendiente: presidente, secretario, tesorero y vocales.</p>
  1037. </div>
  1038. </section>
  1039. <!-- Footer -->
  1040. <footer class="footer">
  1041. <div class="container">
  1042. <div class="footer-grid">
  1043. <div class="footer-brand">
  1044. <img src="/logo.jpg" alt="Ensamble Armadillos">
  1045. <p><strong>Ensamble Armadillos</strong><br>Sembrando Cultura, Cosechando Futuro</p>
  1046. <p style="margin-top:0.5rem; font-size:0.82rem;">Asociación cultural sin fines de lucro — en proceso de constitución como A.C.<br>Acapetahua, Chiapas, México</p>
  1047. </div>
  1048. <div>
  1049. <h4>Navegación</h4>
  1050. <ul>
  1051. <li><a href="#inicio">Inicio</a></li>
  1052. <li><a href="#mision">Misión</a></li>
  1053. <li><a href="#historia">Historia</a></li>
  1054. <li><a href="#actividades">Actividades</a></li>
  1055. <li><a href="#linea-tiempo">Línea del Tiempo</a></li>
  1056. <li><a href="#contacto">Contacto</a></li>
  1057. </ul>
  1058. </div>
  1059. <div>
  1060. <h4>Contacto</h4>
  1061. <ul>
  1062. <li><a href="mailto:festival@armadillos.org.mx">festival@armadillos.org.mx</a></li>
  1063. <li><a href="tel:+529181261222">918 126 1222</a></li>
  1064. <li><a href="#">Facebook</a></li>
  1065. <li><a href="#">YouTube</a></li>
  1066. </ul>
  1067. </div>
  1068. </div>
  1069. <div class="footer-bottom">
  1070. <p>© 2026 Ensamble Armadillos · Documento institucional · Todos los derechos reservados</p>
  1071. </div>
  1072. </div>
  1073. </footer>
  1074. <script>
  1075. function toggleMobile() {
  1076. document.getElementById('mobileMenu').classList.toggle('open');
  1077. document.getElementById('mobileOverlay').classList.toggle('open');
  1078. }
  1079. // Smooth scroll
  1080. document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  1081. anchor.addEventListener('click', function(e) {
  1082. const target = document.querySelector(this.getAttribute('href'));
  1083. if (target) {
  1084. e.preventDefault();
  1085. target.scrollIntoView({ behavior: 'smooth', block: 'start' });
  1086. }
  1087. });
  1088. });
  1089. // Active nav highlight
  1090. const sections = document.querySelectorAll('section[id]');
  1091. window.addEventListener('scroll', () => {
  1092. let current = '';
  1093. sections.forEach(section => {
  1094. const top = section.offsetTop - 80;
  1095. if (window.scrollY >= top) current = section.getAttribute('id');
  1096. });
  1097. document.querySelectorAll('.main-nav a').forEach(a => {
  1098. a.classList.remove('active');
  1099. if (a.getAttribute('href') === '#' + current) a.classList.add('active');
  1100. });
  1101. });
  1102. // Fade-in animation on scroll
  1103. const observer = new IntersectionObserver((entries) => {
  1104. entries.forEach(entry => {
  1105. if (entry.isIntersecting) {
  1106. entry.target.classList.add('visible');
  1107. }
  1108. });
  1109. }, { threshold: 0.1 });
  1110. document.querySelectorAll('.mv-card, .valor-item, .actividad-card, .timeline-item, .alianza-card, .contact-card').forEach(el => {
  1111. el.classList.add('fade-in');
  1112. observer.observe(el);
  1113. });
  1114. </script>
  1115. </body>
  1116. </html>