index.html 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267
  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. /* ===== SECTION WITH BACKGROUND IMAGE ===== */
  241. .section-bg-image {
  242. position: relative;
  243. background: url('/mision-bg.jpg') center center / cover no-repeat;
  244. }
  245. .section-bg-image::before {
  246. content: '';
  247. position: absolute;
  248. inset: 0;
  249. background: rgba(244,244,244,0.75);
  250. }
  251. .section-bg-image > * {
  252. position: relative;
  253. z-index: 1;
  254. }
  255. /* ===== MISSION / VISION CARDS ===== */
  256. .mv-grid {
  257. display: grid;
  258. grid-template-columns: 1fr 1fr;
  259. gap: 2rem;
  260. }
  261. .mv-card {
  262. background: var(--color-white);
  263. border-radius: 8px;
  264. padding: 2.5rem 2rem;
  265. box-shadow: 0 4px 25px rgba(0,0,0,0.08);
  266. border-left: 4px solid var(--color-secondary);
  267. transition: 0.3s;
  268. }
  269. .mv-card:hover {
  270. transform: translateY(-5px);
  271. box-shadow: 0 8px 35px rgba(0,0,0,0.12);
  272. }
  273. .mv-card .icon {
  274. width: 55px;
  275. height: 55px;
  276. border-radius: 8px;
  277. background: rgba(210,105,30,0.1);
  278. display: flex;
  279. align-items: center;
  280. justify-content: center;
  281. font-size: 1.4rem;
  282. color: var(--color-secondary);
  283. margin-bottom: 1.2rem;
  284. }
  285. .mv-card h3 {
  286. font-family: var(--font-heading);
  287. font-size: 1.3rem;
  288. font-weight: 600;
  289. color: var(--color-dark);
  290. margin-bottom: 0.8rem;
  291. }
  292. .mv-card p {
  293. color: #555;
  294. font-size: 0.95rem;
  295. line-height: 1.7;
  296. }
  297. /* ===== VALORES ===== */
  298. .valores-grid {
  299. display: grid;
  300. grid-template-columns: repeat(4, 1fr);
  301. gap: 1.5rem;
  302. }
  303. .valor-item {
  304. background: var(--color-white);
  305. border-radius: 8px;
  306. padding: 2rem 1.5rem;
  307. text-align: center;
  308. box-shadow: 0 3px 20px rgba(0,0,0,0.06);
  309. border-bottom: 3px solid var(--color-accent);
  310. transition: 0.3s;
  311. }
  312. .valor-item:hover {
  313. transform: translateY(-5px);
  314. border-bottom-color: var(--color-secondary);
  315. }
  316. .valor-item .icon {
  317. font-size: 2rem;
  318. margin-bottom: 0.8rem;
  319. }
  320. .valor-item h4 {
  321. font-family: var(--font-heading);
  322. font-weight: 600;
  323. color: var(--color-dark);
  324. }
  325. /* ===== HISTORIA ===== */
  326. .historia-grid {
  327. display: grid;
  328. grid-template-columns: 1fr 1fr;
  329. gap: 3rem;
  330. align-items: center;
  331. }
  332. .historia-text p {
  333. margin-bottom: 1rem;
  334. color: #555;
  335. font-size: 0.97rem;
  336. line-height: 1.8;
  337. }
  338. .historia-img {
  339. border-radius: 12px;
  340. overflow: hidden;
  341. box-shadow: 0 8px 40px rgba(0,0,0,0.15);
  342. }
  343. .historia-img img {
  344. width: 100%;
  345. height: 380px;
  346. object-fit: cover;
  347. display: block;
  348. }
  349. .highlight-quote {
  350. background: var(--color-dark);
  351. color: var(--color-accent);
  352. border-radius: 8px;
  353. padding: 1.5rem 2rem;
  354. margin-top: 1.5rem;
  355. font-family: var(--font-heading);
  356. font-style: italic;
  357. font-size: 1.15rem;
  358. text-align: center;
  359. border-left: 4px solid var(--color-accent);
  360. }
  361. /* ===== TIMELINE ===== */
  362. .timeline {
  363. position: relative;
  364. max-width: 800px;
  365. margin: 0 auto;
  366. }
  367. .timeline::before {
  368. content: '';
  369. position: absolute;
  370. left: 50%;
  371. transform: translateX(-50%);
  372. top: 0;
  373. bottom: 0;
  374. width: 3px;
  375. background: var(--color-accent);
  376. }
  377. .timeline-item {
  378. display: grid;
  379. grid-template-columns: 1fr 1fr;
  380. gap: 2rem;
  381. margin-bottom: 2.5rem;
  382. position: relative;
  383. }
  384. .timeline-item::before {
  385. content: '';
  386. position: absolute;
  387. left: 50%;
  388. transform: translateX(-50%);
  389. top: 1rem;
  390. width: 14px;
  391. height: 14px;
  392. background: var(--color-secondary);
  393. border-radius: 50%;
  394. border: 3px solid var(--color-gray);
  395. }
  396. .timeline-item:nth-child(even) .timeline-content { order: 2; text-align: left; }
  397. .timeline-item:nth-child(odd) .timeline-content { text-align: right; }
  398. .timeline-content {
  399. background: var(--color-white);
  400. border-radius: 8px;
  401. padding: 1.5rem;
  402. box-shadow: 0 3px 15px rgba(0,0,0,0.07);
  403. }
  404. .timeline-year {
  405. font-family: var(--font-heading);
  406. font-weight: 700;
  407. font-size: 1rem;
  408. color: var(--color-secondary);
  409. margin-bottom: 0.3rem;
  410. }
  411. .timeline-desc { color: #555; font-size: 0.9rem; }
  412. .timeline-note { font-style: italic; color: var(--color-muted); font-size: 0.82rem; margin-top: 0.3rem; }
  413. /* ===== ACTIVIDADES ===== */
  414. .actividades-grid {
  415. display: grid;
  416. grid-template-columns: 1fr 1fr;
  417. gap: 2rem;
  418. }
  419. .actividad-card {
  420. background: var(--color-white);
  421. border-radius: 10px;
  422. overflow: hidden;
  423. box-shadow: 0 5px 25px rgba(0,0,0,0.08);
  424. transition: 0.3s;
  425. }
  426. .actividad-card:hover { transform: translateY(-5px); box-shadow: 0 10px 40px rgba(0,0,0,0.12); }
  427. .actividad-card .card-body { padding: 2rem; }
  428. .actividad-card h3 {
  429. font-family: var(--font-heading);
  430. font-size: 1.2rem;
  431. color: var(--color-dark);
  432. margin-bottom: 0.8rem;
  433. }
  434. .actividad-card ul {
  435. list-style: none;
  436. margin-top: 1rem;
  437. }
  438. .actividad-card li {
  439. padding: 0.35rem 0;
  440. padding-left: 1.5rem;
  441. position: relative;
  442. color: #555;
  443. }
  444. .actividad-card li::before {
  445. content: '✓';
  446. position: absolute;
  447. left: 0;
  448. color: var(--color-secondary);
  449. font-weight: 700;
  450. }
  451. /* ===== ALIANZAS ===== */
  452. .alianzas-grid {
  453. display: grid;
  454. grid-template-columns: 1fr 1fr;
  455. gap: 2rem;
  456. }
  457. .alianza-card {
  458. background: rgba(255,255,255,0.05);
  459. border: 1px solid rgba(255,255,255,0.1);
  460. border-radius: 10px;
  461. padding: 2.5rem;
  462. text-align: center;
  463. transition: 0.3s;
  464. }
  465. .alianza-card:hover {
  466. background: rgba(255,255,255,0.1);
  467. border-color: var(--color-accent);
  468. }
  469. .alianza-card .icon {
  470. font-size: 2.5rem;
  471. margin-bottom: 1rem;
  472. }
  473. .alianza-card h3 {
  474. font-family: var(--font-heading);
  475. font-size: 1.2rem;
  476. margin-bottom: 0.8rem;
  477. }
  478. .alianza-card p { color: rgba(255,255,255,0.7); font-size: 0.92rem; }
  479. /* ===== STATS ===== */
  480. .stats-row {
  481. display: grid;
  482. grid-template-columns: repeat(3, 1fr);
  483. gap: 1.5rem;
  484. margin-top: 3rem;
  485. }
  486. .stat-box {
  487. background: rgba(255,255,255,0.05);
  488. border-radius: 10px;
  489. padding: 2rem;
  490. text-align: center;
  491. border: 1px solid rgba(255,255,255,0.08);
  492. }
  493. .stat-number {
  494. font-family: var(--font-heading);
  495. font-size: 2.5rem;
  496. font-weight: 700;
  497. color: var(--color-accent);
  498. }
  499. .stat-label {
  500. font-size: 0.9rem;
  501. color: rgba(255,255,255,0.7);
  502. margin-top: 0.3rem;
  503. }
  504. /* ===== TRANSPARENCIA ===== */
  505. .transparencia-grid {
  506. display: grid;
  507. grid-template-columns: 1fr 1fr;
  508. gap: 2rem;
  509. }
  510. .transp-card {
  511. background: var(--color-white);
  512. border-radius: 10px;
  513. padding: 2rem;
  514. box-shadow: 0 4px 20px rgba(0,0,0,0.07);
  515. }
  516. .transp-card h3 {
  517. font-family: var(--font-heading);
  518. font-size: 1.1rem;
  519. color: var(--color-dark);
  520. margin-bottom: 1rem;
  521. padding-bottom: 0.5rem;
  522. border-bottom: 2px solid var(--color-accent);
  523. display: inline-block;
  524. }
  525. .budget-amount {
  526. font-family: var(--font-heading);
  527. font-size: 2.2rem;
  528. font-weight: 700;
  529. color: var(--color-secondary);
  530. }
  531. .budget-note {
  532. font-size: 0.82rem;
  533. color: var(--color-muted);
  534. font-style: italic;
  535. }
  536. /* ===== CONTACTO ===== */
  537. .contact-grid {
  538. display: grid;
  539. grid-template-columns: repeat(4, 1fr);
  540. gap: 1.5rem;
  541. margin-bottom: 3rem;
  542. }
  543. .contact-card {
  544. background: var(--color-white);
  545. border-radius: 8px;
  546. padding: 1.8rem;
  547. text-align: center;
  548. box-shadow: 0 3px 15px rgba(0,0,0,0.06);
  549. transition: 0.3s;
  550. }
  551. .contact-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,0.1); }
  552. .contact-card .icon {
  553. width: 50px;
  554. height: 50px;
  555. border-radius: 50%;
  556. background: var(--color-dark);
  557. color: var(--color-white);
  558. display: flex;
  559. align-items: center;
  560. justify-content: center;
  561. margin: 0 auto 1rem;
  562. font-size: 1.1rem;
  563. }
  564. .contact-card .label {
  565. font-size: 0.78rem;
  566. text-transform: uppercase;
  567. letter-spacing: 1px;
  568. color: var(--color-muted);
  569. margin-bottom: 0.3rem;
  570. }
  571. .contact-card .value {
  572. font-weight: 600;
  573. color: var(--color-dark);
  574. font-size: 0.95rem;
  575. }
  576. /* ===== FOOTER ===== */
  577. .footer {
  578. background: var(--color-dark);
  579. color: rgba(255,255,255,0.7);
  580. padding: 3rem 0 1.5rem;
  581. }
  582. .footer-grid {
  583. display: grid;
  584. grid-template-columns: 2fr 1fr 1fr;
  585. gap: 3rem;
  586. margin-bottom: 2.5rem;
  587. }
  588. .footer-brand img {
  589. max-height: 60px;
  590. margin-bottom: 1rem;
  591. opacity: 0.8;
  592. }
  593. .footer-brand p {
  594. font-size: 0.88rem;
  595. line-height: 1.7;
  596. margin-top: 0.8rem;
  597. }
  598. .footer h4 {
  599. font-family: var(--font-heading);
  600. font-size: 1rem;
  601. color: var(--color-white);
  602. margin-bottom: 1.2rem;
  603. padding-bottom: 0.5rem;
  604. border-bottom: 2px solid var(--color-secondary);
  605. display: inline-block;
  606. }
  607. .footer ul {
  608. list-style: none;
  609. }
  610. .footer ul li {
  611. padding: 0.3rem 0;
  612. }
  613. .footer ul li a {
  614. font-size: 0.88rem;
  615. color: rgba(255,255,255,0.6);
  616. }
  617. .footer ul li a:hover { color: var(--color-accent); }
  618. .footer-bottom {
  619. border-top: 1px solid rgba(255,255,255,0.1);
  620. padding-top: 1.2rem;
  621. text-align: center;
  622. font-size: 0.82rem;
  623. }
  624. /* ===== RESPONSIVE ===== */
  625. @media (max-width: 960px) {
  626. .main-nav { display: none; }
  627. .mobile-toggle { display: block; }
  628. .valores-grid { grid-template-columns: repeat(2, 1fr); }
  629. .historia-grid { grid-template-columns: 1fr; }
  630. .historia-img { order: -1; }
  631. .timeline::before { left: 20px; }
  632. .timeline-item { grid-template-columns: 1fr; gap: 0; }
  633. .timeline-item::before { left: 13px; transform: none; }
  634. .timeline-item:nth-child(odd) .timeline-content,
  635. .timeline-item:nth-child(even) .timeline-content { text-align: left; order: 0; }
  636. .contact-grid { grid-template-columns: repeat(2, 1fr); }
  637. .footer-grid { grid-template-columns: 1fr; }
  638. }
  639. @media (max-width: 600px) {
  640. .hero-content h1 { font-size: 2.2rem; }
  641. .mv-grid { grid-template-columns: 1fr; }
  642. .actividades-grid { grid-template-columns: 1fr; }
  643. .alianzas-grid { grid-template-columns: 1fr; }
  644. .transparencia-grid { grid-template-columns: 1fr; }
  645. .stats-row { grid-template-columns: 1fr; }
  646. .contact-grid { grid-template-columns: 1fr; }
  647. .valores-grid { grid-template-columns: 1fr 1fr; }
  648. .section-header h2 { font-size: 1.7rem; }
  649. }
  650. /* Mobile menu */
  651. .mobile-menu {
  652. display: none;
  653. position: fixed;
  654. top: 0;
  655. left: 0;
  656. width: 280px;
  657. height: 100vh;
  658. background: var(--color-dark);
  659. z-index: 300;
  660. padding: 2rem;
  661. transform: translateX(-100%);
  662. transition: 0.3s;
  663. }
  664. .mobile-menu.open { transform: translateX(0); }
  665. .mobile-menu ul {
  666. list-style: none;
  667. margin-top: 2rem;
  668. }
  669. .mobile-menu a {
  670. color: var(--color-white);
  671. font-family: var(--font-heading);
  672. font-size: 1rem;
  673. padding: 0.8rem 0;
  674. display: block;
  675. border-bottom: 1px solid rgba(255,255,255,0.1);
  676. }
  677. .mobile-overlay {
  678. display: none;
  679. position: fixed;
  680. inset: 0;
  681. background: rgba(0,0,0,0.5);
  682. z-index: 250;
  683. }
  684. .mobile-overlay.open { display: block; }
  685. .mobile-close {
  686. background: none;
  687. border: none;
  688. color: var(--color-white);
  689. font-size: 1.5rem;
  690. cursor: pointer;
  691. margin-bottom: 1rem;
  692. }
  693. /* ===== ANIMATIONS ===== */
  694. .fade-in {
  695. opacity: 0;
  696. transform: translateY(20px);
  697. transition: opacity 0.6s ease, transform 0.6s ease;
  698. }
  699. .fade-in.visible {
  700. opacity: 1;
  701. transform: translateY(0);
  702. }
  703. </style>
  704. </head>
  705. <body>
  706. <!-- Top bar -->
  707. <div class="header-top">
  708. <div class="container">
  709. <div class="top-contact">
  710. <span><i class="fas fa-phone"></i> <a href="tel:+529181261222">918 126 1222</a></span>
  711. <span><i class="fas fa-envelope"></i> <a href="mailto:festival@armadillos.org.mx">festival@armadillos.org.mx</a></span>
  712. <span><i class="fas fa-map-marker-alt"></i> Acapetahua, Chiapas, México</span>
  713. </div>
  714. <div class="top-social">
  715. <a href="#" aria-label="Facebook"><i class="fab fa-facebook-f"></i></a>
  716. <a href="#" aria-label="YouTube"><i class="fab fa-youtube"></i></a>
  717. <a href="#" aria-label="Instagram"><i class="fab fa-instagram"></i></a>
  718. </div>
  719. </div>
  720. </div>
  721. <!-- Main Header -->
  722. <header class="main-header">
  723. <div class="container">
  724. <a href="/" class="logo">
  725. <img src="/logo.jpg" alt="Ensamble Armadillos">
  726. </a>
  727. <nav class="main-nav">
  728. <ul>
  729. <li><a href="#inicio" class="active">Inicio</a></li>
  730. <li><a href="#mision">Misión</a></li>
  731. <li><a href="#historia">Historia</a></li>
  732. <li><a href="#actividades">Actividades</a></li>
  733. <li><a href="#linea-tiempo">Línea del Tiempo</a></li>
  734. <li><a href="#contacto">Contacto</a></li>
  735. </ul>
  736. </nav>
  737. <button class="mobile-toggle" onclick="toggleMobile()" aria-label="Abrir menú">
  738. <i class="fas fa-bars"></i>
  739. </button>
  740. </div>
  741. </header>
  742. <!-- Mobile Menu -->
  743. <div class="mobile-overlay" id="mobileOverlay" onclick="toggleMobile()"></div>
  744. <div class="mobile-menu" id="mobileMenu">
  745. <button class="mobile-close" onclick="toggleMobile()"><i class="fas fa-times"></i></button>
  746. <ul>
  747. <li><a href="#inicio" onclick="toggleMobile()">Inicio</a></li>
  748. <li><a href="#mision" onclick="toggleMobile()">Misión</a></li>
  749. <li><a href="#historia" onclick="toggleMobile()">Historia</a></li>
  750. <li><a href="#actividades" onclick="toggleMobile()">Actividades</a></li>
  751. <li><a href="#linea-tiempo" onclick="toggleMobile()">Línea del Tiempo</a></li>
  752. <li><a href="#contacto" onclick="toggleMobile()">Contacto</a></li>
  753. </ul>
  754. </div>
  755. <!-- Hero -->
  756. <section class="hero-area" id="inicio">
  757. <div class="container">
  758. <div class="hero-content">
  759. <span class="tagline-top">🎵 Festival Cultural 2026</span>
  760. <h1>Ensamble Armadillos</h1>
  761. <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>
  762. <div class="hero-buttons">
  763. <a href="#actividades" class="btn btn-primary"><i class="fas fa-music"></i> Ver Actividades</a>
  764. <a href="#contacto" class="btn btn-outline"><i class="fas fa-envelope"></i> Contáctanos</a>
  765. </div>
  766. </div>
  767. </div>
  768. </section>
  769. <!-- Misión y Visión -->
  770. <section class="section-padding section-bg-image" id="mision">
  771. <div class="container">
  772. <div class="section-header">
  773. <span class="tag">Quiénes Somos</span>
  774. <h2>Misión y Visión</h2>
  775. <p>Somos una asociación cultural sin fines de lucro comprometida con el arte y la comunidad de Acapetahua, Chiapas.</p>
  776. </div>
  777. <div class="mv-grid">
  778. <div class="mv-card">
  779. <div class="icon"><i class="fas fa-bullseye"></i></div>
  780. <h3>Misión</h3>
  781. <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>
  782. </div>
  783. <div class="mv-card">
  784. <div class="icon"><i class="fas fa-eye"></i></div>
  785. <h3>Visión</h3>
  786. <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>
  787. </div>
  788. </div>
  789. <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>
  790. <div class="valores-grid">
  791. <div class="valor-item">
  792. <div class="icon">🏛️</div>
  793. <h4>Identidad</h4>
  794. </div>
  795. <div class="valor-item">
  796. <div class="icon">🤝</div>
  797. <h4>Trabajo en equipo</h4>
  798. </div>
  799. <div class="valor-item">
  800. <div class="icon">💡</div>
  801. <h4>Creatividad</h4>
  802. </div>
  803. <div class="valor-item">
  804. <div class="icon">❤️</div>
  805. <h4>Compromiso social</h4>
  806. </div>
  807. </div>
  808. </div>
  809. </section>
  810. <!-- Historia -->
  811. <section class="section-padding" id="historia">
  812. <div class="container">
  813. <div class="section-header">
  814. <span class="tag">Origen del Festival</span>
  815. <h2>Nuestra Historia</h2>
  816. </div>
  817. <div class="historia-grid">
  818. <div class="historia-text">
  819. <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>
  820. <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>
  821. <p>El nombre hace honor a nuestro origen: "Armadillos" es el gentilicio cariñoso con el que se conoce a los acapetahuenses.</p>
  822. <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>
  823. <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>
  824. <div class="highlight-quote">
  825. "La cultura no se hereda, se siembra."
  826. </div>
  827. </div>
  828. <div class="historia-img">
  829. <img src="/festival.jpg" alt="Festival Armadillos">
  830. </div>
  831. </div>
  832. </div>
  833. </section>
  834. <!-- Actividades -->
  835. <section class="section-padding section-dark" id="actividades">
  836. <div class="container">
  837. <div class="section-header">
  838. <span class="tag">Programas</span>
  839. <h2>Actividades y Programas</h2>
  840. <p>Nuestro evento principal es el Festival Armadillos, un encuentro cultural que reúne música, danza, poesía y más.</p>
  841. </div>
  842. <div class="actividades-grid">
  843. <div class="actividad-card">
  844. <div class="card-body">
  845. <h3>🎶 Festival Armadillos</h3>
  846. <p>Nuestro evento principal es un encuentro cultural que reúne a la comunidad en torno al arte.</p>
  847. <ul>
  848. <li>Música en vivo</li>
  849. <li>Danza y expresión artística</li>
  850. <li>Poesía y literatura</li>
  851. <li>Cápsulas de salud y prevención</li>
  852. </ul>
  853. </div>
  854. </div>
  855. <div class="actividad-card">
  856. <div class="card-body">
  857. <h3>🌟 Impacto en la Juventud</h3>
  858. <p>Algunos de nuestros jóvenes participantes han decidido realizar estudios formales en instituciones de arte del estado de Chiapas.</p>
  859. <ul>
  860. <li>Ventana al arte y la cultura</li>
  861. <li>Formación de ciudadanos con valores</li>
  862. <li>Espacios de encuentro comunitario</li>
  863. <li>Semilla para futuros artistas</li>
  864. </ul>
  865. </div>
  866. </div>
  867. </div>
  868. </div>
  869. </section>
  870. <!-- Línea del Tiempo -->
  871. <section class="section-padding" id="linea-tiempo">
  872. <div class="container">
  873. <div class="section-header">
  874. <span class="tag">Trayectoria</span>
  875. <h2>Línea del Tiempo del Festival</h2>
  876. <p>Siete ediciones que han marcado la vida cultural de Acapetahua.</p>
  877. </div>
  878. <div class="timeline">
  879. <div class="timeline-item">
  880. <div class="timeline-content">
  881. <div class="timeline-year">I Festival — 2012</div>
  882. <div class="timeline-desc">Primera edición del festival</div>
  883. <div class="timeline-note">(por confirmar detalles)</div>
  884. </div>
  885. <div></div>
  886. </div>
  887. <div class="timeline-item">
  888. <div></div>
  889. <div class="timeline-content">
  890. <div class="timeline-year">II Festival — 2013</div>
  891. <div class="timeline-desc">Segunda edición</div>
  892. <div class="timeline-note">(por confirmar)</div>
  893. </div>
  894. </div>
  895. <div class="timeline-item">
  896. <div class="timeline-content">
  897. <div class="timeline-year">III Festival — 2014</div>
  898. <div class="timeline-desc">Tercera edición</div>
  899. <div class="timeline-note">(por confirmar)</div>
  900. </div>
  901. <div></div>
  902. </div>
  903. <div class="timeline-item">
  904. <div></div>
  905. <div class="timeline-content">
  906. <div class="timeline-year">IV Festival — 2015</div>
  907. <div class="timeline-desc">Auditorio UNICACH — primera vez en estas instalaciones</div>
  908. <div class="timeline-note">Punto de inflexión del festival</div>
  909. </div </div>
  910. </div>
  911. <div class="timeline-item">
  912. <div class="timeline-content">
  913. <div class="timeline-year">V Festival — 2017</div>
  914. <div class="timeline-desc">Auditorio UNICACH</div>
  915. <div class="timeline-note">Homenaje al Prof. Felipe Orozco</div>
  916. </div>
  917. <div></div>
  918. </div>
  919. <div class="timeline-item">
  920. <div></div>
  921. <div class="timeline-content">
  922. <div class="timeline-year">VI Festival — 2018</div>
  923. <div class="timeline-desc">Auditorio UNICACH</div>
  924. <div class="timeline-note">(por confirmar)</div>
  925. </div>
  926. </div>
  927. <div class="timeline-item">
  928. <div class="timeline-content">
  929. <div class="timeline-year">VII Festival — 2019</div>
  930. <div class="timeline-desc">Auditorio UNICACH — Homenaje al Prof. Humberto Velázquez</div>
  931. <div class="timeline-note">Última edición antes de la pausa</div>
  932. </div>
  933. <div></div>
  934. </div>
  935. <div class="timeline-item">
  936. <div></div>
  937. <div class="timeline-content">
  938. <div class="timeline-year">2020 – 2025</div>
  939. <div class="timeline-desc">Pausa del festival</div>
  940. <div class="timeline-note">A causa de la pandemia</div>
  941. </div>
  942. </div>
  943. <div class="timeline-item">
  944. <div class="timeline-content">
  945. <div class="timeline-year">VIII Festival — ¡Próximamente!</div>
  946. <div class="timeline-desc">En preparación</div>
  947. <div class="timeline-note">¡El festival regresa!</div>
  948. </div>
  949. <div></div>
  950. </div>
  951. </div>
  952. </div>
  953. </section>
  954. <!-- Alianzas -->
  955. <section class="section-padding section-dark-alt" id="alianzas">
  956. <div class="container">
  957. <div class="section-header">
  958. <span class="tag" style="color:var(--color-accent);">Apoyo</span>
  959. <h2 style="color:var(--color-white);">Alianzas y Voluntariado</h2>
  960. <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>
  961. </div>
  962. <div class="alianzas-grid">
  963. <div class="alianza-card">
  964. <div class="icon">🏛️</div>
  965. <h3>Iniciativa Privada</h3>
  966. <p>Empresas y negocios locales que creen en el poder transformador de la cultura.</p>
  967. </div>
  968. <div class="alianza-card">
  969. <div class="icon">🏢</div>
  970. <h3>Gobierno Municipal</h3>
  971. <p>Apoyo institucional para la realización de los festivales.</p>
  972. </div>
  973. </div>
  974. <h3 style="text-align:center; font-family:var(--font-heading); color:var(--color-white); margin-top:3rem; margin-bottom:1rem;">Voluntarios</h3>
  975. <div class="stats-row">
  976. <div class="stat-box">
  977. <div class="stat-number">20+</div>
  978. <div class="stat-label">Voluntarios activos</div>
  979. </div>
  980. <div class="stat-box">
  981. <div class="stat-number">50+</div>
  982. <div class="stat-label">Voluntarios históricos</div>
  983. </div>
  984. <div class="stat-box">
  985. <div class="stat-number">100%</div>
  986. <div class="stat-label">Financiado con donaciones</div>
  987. </div>
  988. </div>
  989. </div>
  990. </section>
  991. <!-- Transparencia -->
  992. <section class="section-padding section-dark" id="transparencia">
  993. <div class="container">
  994. <div class="section-header">
  995. <span class="tag">Rendición de cuentas</span>
  996. <h2>Transparencia</h2>
  997. </div>
  998. <div class="transparencia-grid">
  999. <div class="transp-card">
  1000. <h3>💰 Presupuesto por Festival</h3>
  1001. <div class="budget-amount">$50,000 MXN</div>
  1002. <p class="budget-note">Dato referente al año 2019 — por actualizar</p>
  1003. <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>
  1004. </div>
  1005. <div class="transp-card">
  1006. <h3>🤝 Formas de Aportación</h3>
  1007. <ul style="list-style:none; padding:0; margin-top:1rem;">
  1008. <li style="padding:0.5rem 0; border-bottom:1px solid #eee; display:flex; align-items:center; gap:0.5rem;">
  1009. <span style="color:var(--color-secondary);">💵</span> Efectivo
  1010. </li>
  1011. <li style="padding:0.5rem 0; border-bottom:1px solid #eee; display:flex; align-items:center; gap:0.5rem;">
  1012. <span style="color:var(--color-secondary);">🤝</span> Voluntariado
  1013. </li>
  1014. <li style="padding:0.5rem 0; color:#999; font-style:italic; display:flex; align-items:center; gap:0.5rem;">
  1015. <span>🏦</span> Datos bancarios — pendientes
  1016. </li>
  1017. </ul>
  1018. </div>
  1019. </div>
  1020. </div>
  1021. </section>
  1022. <!-- Contacto -->
  1023. <section class="section-padding" id="contacto">
  1024. <div class="container">
  1025. <div class="section-header">
  1026. <span class="tag">Ponerse en contacto</span>
  1027. <h2>Datos de Contacto</h2>
  1028. </div>
  1029. <div class="contact-grid">
  1030. <div class="contact-card">
  1031. <div class="icon"><i class="fas fa-envelope"></i></div>
  1032. <div class="label">Correo</div>
  1033. <div class="value">festival@armadillos.org.mx</div>
  1034. </div>
  1035. <div class="contact-card">
  1036. <div class="icon"><i class="fas fa-phone"></i></div>
  1037. <div class="label">Teléfono</div>
  1038. <div class="value">918 126 1222</div>
  1039. </div>
  1040. <div class="contact-card">
  1041. <div class="icon"><i class="fas fa-map-marker-alt"></i></div>
  1042. <div class="label">Ubicación</div>
  1043. <div class="value">Acapetahua, Chiapas</div>
  1044. </div>
  1045. <div class="contact-card">
  1046. <div class="icon"><i class="fas fa-globe"></i></div>
  1047. <div class="label">Sitio web</div>
  1048. <div class="value">En proceso</div>
  1049. </div>
  1050. </div>
  1051. <p style="text-align:center; color:#888; font-style:italic;">Directorio pendiente: presidente, secretario, tesorero y vocales.</p>
  1052. </div>
  1053. </section>
  1054. <!-- Footer -->
  1055. <footer class="footer">
  1056. <div class="container">
  1057. <div class="footer-grid">
  1058. <div class="footer-brand">
  1059. <img src="/logo.jpg" alt="Ensamble Armadillos">
  1060. <p><strong>Ensamble Armadillos</strong><br>Sembrando Cultura, Cosechando Futuro</p>
  1061. <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>
  1062. </div>
  1063. <div>
  1064. <h4>Navegación</h4>
  1065. <ul>
  1066. <li><a href="#inicio">Inicio</a></li>
  1067. <li><a href="#mision">Misión</a></li>
  1068. <li><a href="#historia">Historia</a></li>
  1069. <li><a href="#actividades">Actividades</a></li>
  1070. <li><a href="#linea-tiempo">Línea del Tiempo</a></li>
  1071. <li><a href="#contacto">Contacto</a></li>
  1072. </ul>
  1073. </div>
  1074. <div>
  1075. <h4>Contacto</h4>
  1076. <ul>
  1077. <li><a href="mailto:festival@armadillos.org.mx">festival@armadillos.org.mx</a></li>
  1078. <li><a href="tel:+529181261222">918 126 1222</a></li>
  1079. <li><a href="#">Facebook</a></li>
  1080. <li><a href="#">YouTube</a></li>
  1081. </ul>
  1082. </div>
  1083. </div>
  1084. <div class="footer-bottom">
  1085. <p>© 2026 Ensamble Armadillos · Documento institucional · Todos los derechos reservados</p>
  1086. </div>
  1087. </div>
  1088. </footer>
  1089. <script>
  1090. function toggleMobile() {
  1091. document.getElementById('mobileMenu').classList.toggle('open');
  1092. document.getElementById('mobileOverlay').classList.toggle('open');
  1093. }
  1094. // Smooth scroll
  1095. document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  1096. anchor.addEventListener('click', function(e) {
  1097. const target = document.querySelector(this.getAttribute('href'));
  1098. if (target) {
  1099. e.preventDefault();
  1100. target.scrollIntoView({ behavior: 'smooth', block: 'start' });
  1101. }
  1102. });
  1103. });
  1104. // Active nav highlight
  1105. const sections = document.querySelectorAll('section[id]');
  1106. window.addEventListener('scroll', () => {
  1107. let current = '';
  1108. sections.forEach(section => {
  1109. const top = section.offsetTop - 80;
  1110. if (window.scrollY >= top) current = section.getAttribute('id');
  1111. });
  1112. document.querySelectorAll('.main-nav a').forEach(a => {
  1113. a.classList.remove('active');
  1114. if (a.getAttribute('href') === '#' + current) a.classList.add('active');
  1115. });
  1116. });
  1117. // Fade-in animation on scroll
  1118. const observer = new IntersectionObserver((entries) => {
  1119. entries.forEach(entry => {
  1120. if (entry.isIntersecting) {
  1121. entry.target.classList.add('visible');
  1122. }
  1123. });
  1124. }, { threshold: 0.1 });
  1125. document.querySelectorAll('.mv-card, .valor-item, .actividad-card, .timeline-item, .alianza-card, .contact-card').forEach(el => {
  1126. el.classList.add('fade-in');
  1127. observer.observe(el);
  1128. });
  1129. </script>
  1130. </body>
  1131. </html>