index.html 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268
  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" style="display:flex; flex-direction:column; gap:1rem; max-width:75%;">
  829. <img src="/festival.jpg" alt="Festival Armadillos - Jóvenes de la Marimba" style="width:100%; height:300px; object-fit:cover;">
  830. <img src="/historia-img2.jpg" alt="Ensamble Armadillos - Festival" style="width:100%; height:300px; object-fit:cover;">
  831. </div>
  832. </div>
  833. </div>
  834. </section>
  835. <!-- Actividades -->
  836. <section class="section-padding section-dark" id="actividades">
  837. <div class="container">
  838. <div class="section-header">
  839. <span class="tag">Programas</span>
  840. <h2>Actividades y Programas</h2>
  841. <p>Nuestro evento principal es el Festival Armadillos, un encuentro cultural que reúne música, danza, poesía y más.</p>
  842. </div>
  843. <div class="actividades-grid">
  844. <div class="actividad-card">
  845. <div class="card-body">
  846. <h3>🎶 Festival Armadillos</h3>
  847. <p>Nuestro evento principal es un encuentro cultural que reúne a la comunidad en torno al arte.</p>
  848. <ul>
  849. <li>Música en vivo</li>
  850. <li>Danza y expresión artística</li>
  851. <li>Poesía y literatura</li>
  852. <li>Cápsulas de salud y prevención</li>
  853. </ul>
  854. </div>
  855. </div>
  856. <div class="actividad-card">
  857. <div class="card-body">
  858. <h3>🌟 Impacto en la Juventud</h3>
  859. <p>Algunos de nuestros jóvenes participantes han decidido realizar estudios formales en instituciones de arte del estado de Chiapas.</p>
  860. <ul>
  861. <li>Ventana al arte y la cultura</li>
  862. <li>Formación de ciudadanos con valores</li>
  863. <li>Espacios de encuentro comunitario</li>
  864. <li>Semilla para futuros artistas</li>
  865. </ul>
  866. </div>
  867. </div>
  868. </div>
  869. </div>
  870. </section>
  871. <!-- Línea del Tiempo -->
  872. <section class="section-padding" id="linea-tiempo">
  873. <div class="container">
  874. <div class="section-header">
  875. <span class="tag">Trayectoria</span>
  876. <h2>Línea del Tiempo del Festival</h2>
  877. <p>Siete ediciones que han marcado la vida cultural de Acapetahua.</p>
  878. </div>
  879. <div class="timeline">
  880. <div class="timeline-item">
  881. <div class="timeline-content">
  882. <div class="timeline-year">I Festival — 2012</div>
  883. <div class="timeline-desc">Primera edición del festival</div>
  884. <div class="timeline-note">(por confirmar detalles)</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">II Festival — 2013</div>
  892. <div class="timeline-desc">Segunda edición</div>
  893. <div class="timeline-note">(por confirmar)</div>
  894. </div>
  895. </div>
  896. <div class="timeline-item">
  897. <div class="timeline-content">
  898. <div class="timeline-year">III Festival — 2014</div>
  899. <div class="timeline-desc">Tercera edición</div>
  900. <div class="timeline-note">(por confirmar)</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">IV Festival — 2015</div>
  908. <div class="timeline-desc">Auditorio UNICACH — primera vez en estas instalaciones</div>
  909. <div class="timeline-note">Punto de inflexión del festival</div>
  910. </div </div>
  911. </div>
  912. <div class="timeline-item">
  913. <div class="timeline-content">
  914. <div class="timeline-year">V Festival — 2017</div>
  915. <div class="timeline-desc">Auditorio UNICACH</div>
  916. <div class="timeline-note">Homenaje al Prof. Felipe Orozco</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">VI Festival — 2018</div>
  924. <div class="timeline-desc">Auditorio UNICACH</div>
  925. <div class="timeline-note">(por confirmar)</div>
  926. </div>
  927. </div>
  928. <div class="timeline-item">
  929. <div class="timeline-content">
  930. <div class="timeline-year">VII Festival — 2019</div>
  931. <div class="timeline-desc">Auditorio UNICACH — Homenaje al Prof. Humberto Velázquez</div>
  932. <div class="timeline-note">Última edición antes de la pausa</div>
  933. </div>
  934. <div></div>
  935. </div>
  936. <div class="timeline-item">
  937. <div></div>
  938. <div class="timeline-content">
  939. <div class="timeline-year">2020 – 2025</div>
  940. <div class="timeline-desc">Pausa del festival</div>
  941. <div class="timeline-note">A causa de la pandemia</div>
  942. </div>
  943. </div>
  944. <div class="timeline-item">
  945. <div class="timeline-content">
  946. <div class="timeline-year">VIII Festival — ¡Próximamente!</div>
  947. <div class="timeline-desc">En preparación</div>
  948. <div class="timeline-note">¡El festival regresa!</div>
  949. </div>
  950. <div></div>
  951. </div>
  952. </div>
  953. </div>
  954. </section>
  955. <!-- Alianzas -->
  956. <section class="section-padding section-dark-alt" id="alianzas">
  957. <div class="container">
  958. <div class="section-header">
  959. <span class="tag" style="color:var(--color-accent);">Apoyo</span>
  960. <h2 style="color:var(--color-white);">Alianzas y Voluntariado</h2>
  961. <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>
  962. </div>
  963. <div class="alianzas-grid">
  964. <div class="alianza-card">
  965. <div class="icon">🏛️</div>
  966. <h3>Iniciativa Privada</h3>
  967. <p>Empresas y negocios locales que creen en el poder transformador de la cultura.</p>
  968. </div>
  969. <div class="alianza-card">
  970. <div class="icon">🏢</div>
  971. <h3>Gobierno Municipal</h3>
  972. <p>Apoyo institucional para la realización de los festivales.</p>
  973. </div>
  974. </div>
  975. <h3 style="text-align:center; font-family:var(--font-heading); color:var(--color-white); margin-top:3rem; margin-bottom:1rem;">Voluntarios</h3>
  976. <div class="stats-row">
  977. <div class="stat-box">
  978. <div class="stat-number">20+</div>
  979. <div class="stat-label">Voluntarios activos</div>
  980. </div>
  981. <div class="stat-box">
  982. <div class="stat-number">50+</div>
  983. <div class="stat-label">Voluntarios históricos</div>
  984. </div>
  985. <div class="stat-box">
  986. <div class="stat-number">100%</div>
  987. <div class="stat-label">Financiado con donaciones</div>
  988. </div>
  989. </div>
  990. </div>
  991. </section>
  992. <!-- Transparencia -->
  993. <section class="section-padding section-dark" id="transparencia">
  994. <div class="container">
  995. <div class="section-header">
  996. <span class="tag">Rendición de cuentas</span>
  997. <h2>Transparencia</h2>
  998. </div>
  999. <div class="transparencia-grid">
  1000. <div class="transp-card">
  1001. <h3>💰 Presupuesto por Festival</h3>
  1002. <div class="budget-amount">$50,000 MXN</div>
  1003. <p class="budget-note">Dato referente al año 2019 — por actualizar</p>
  1004. <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>
  1005. </div>
  1006. <div class="transp-card">
  1007. <h3>🤝 Formas de Aportación</h3>
  1008. <ul style="list-style:none; padding:0; margin-top:1rem;">
  1009. <li style="padding:0.5rem 0; border-bottom:1px solid #eee; display:flex; align-items:center; gap:0.5rem;">
  1010. <span style="color:var(--color-secondary);">💵</span> Efectivo
  1011. </li>
  1012. <li style="padding:0.5rem 0; border-bottom:1px solid #eee; display:flex; align-items:center; gap:0.5rem;">
  1013. <span style="color:var(--color-secondary);">🤝</span> Voluntariado
  1014. </li>
  1015. <li style="padding:0.5rem 0; color:#999; font-style:italic; display:flex; align-items:center; gap:0.5rem;">
  1016. <span>🏦</span> Datos bancarios — pendientes
  1017. </li>
  1018. </ul>
  1019. </div>
  1020. </div>
  1021. </div>
  1022. </section>
  1023. <!-- Contacto -->
  1024. <section class="section-padding" id="contacto">
  1025. <div class="container">
  1026. <div class="section-header">
  1027. <span class="tag">Ponerse en contacto</span>
  1028. <h2>Datos de Contacto</h2>
  1029. </div>
  1030. <div class="contact-grid">
  1031. <div class="contact-card">
  1032. <div class="icon"><i class="fas fa-envelope"></i></div>
  1033. <div class="label">Correo</div>
  1034. <div class="value">festival@armadillos.org.mx</div>
  1035. </div>
  1036. <div class="contact-card">
  1037. <div class="icon"><i class="fas fa-phone"></i></div>
  1038. <div class="label">Teléfono</div>
  1039. <div class="value">918 126 1222</div>
  1040. </div>
  1041. <div class="contact-card">
  1042. <div class="icon"><i class="fas fa-map-marker-alt"></i></div>
  1043. <div class="label">Ubicación</div>
  1044. <div class="value">Acapetahua, Chiapas</div>
  1045. </div>
  1046. <div class="contact-card">
  1047. <div class="icon"><i class="fas fa-globe"></i></div>
  1048. <div class="label">Sitio web</div>
  1049. <div class="value">En proceso</div>
  1050. </div>
  1051. </div>
  1052. <p style="text-align:center; color:#888; font-style:italic;">Directorio pendiente: presidente, secretario, tesorero y vocales.</p>
  1053. </div>
  1054. </section>
  1055. <!-- Footer -->
  1056. <footer class="footer">
  1057. <div class="container">
  1058. <div class="footer-grid">
  1059. <div class="footer-brand">
  1060. <img src="/logo.jpg" alt="Ensamble Armadillos">
  1061. <p><strong>Ensamble Armadillos</strong><br>Sembrando Cultura, Cosechando Futuro</p>
  1062. <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>
  1063. </div>
  1064. <div>
  1065. <h4>Navegación</h4>
  1066. <ul>
  1067. <li><a href="#inicio">Inicio</a></li>
  1068. <li><a href="#mision">Misión</a></li>
  1069. <li><a href="#historia">Historia</a></li>
  1070. <li><a href="#actividades">Actividades</a></li>
  1071. <li><a href="#linea-tiempo">Línea del Tiempo</a></li>
  1072. <li><a href="#contacto">Contacto</a></li>
  1073. </ul>
  1074. </div>
  1075. <div>
  1076. <h4>Contacto</h4>
  1077. <ul>
  1078. <li><a href="mailto:festival@armadillos.org.mx">festival@armadillos.org.mx</a></li>
  1079. <li><a href="tel:+529181261222">918 126 1222</a></li>
  1080. <li><a href="#">Facebook</a></li>
  1081. <li><a href="#">YouTube</a></li>
  1082. </ul>
  1083. </div>
  1084. </div>
  1085. <div class="footer-bottom">
  1086. <p>© 2026 Ensamble Armadillos · Documento institucional · Todos los derechos reservados</p>
  1087. </div>
  1088. </div>
  1089. </footer>
  1090. <script>
  1091. function toggleMobile() {
  1092. document.getElementById('mobileMenu').classList.toggle('open');
  1093. document.getElementById('mobileOverlay').classList.toggle('open');
  1094. }
  1095. // Smooth scroll
  1096. document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  1097. anchor.addEventListener('click', function(e) {
  1098. const target = document.querySelector(this.getAttribute('href'));
  1099. if (target) {
  1100. e.preventDefault();
  1101. target.scrollIntoView({ behavior: 'smooth', block: 'start' });
  1102. }
  1103. });
  1104. });
  1105. // Active nav highlight
  1106. const sections = document.querySelectorAll('section[id]');
  1107. window.addEventListener('scroll', () => {
  1108. let current = '';
  1109. sections.forEach(section => {
  1110. const top = section.offsetTop - 80;
  1111. if (window.scrollY >= top) current = section.getAttribute('id');
  1112. });
  1113. document.querySelectorAll('.main-nav a').forEach(a => {
  1114. a.classList.remove('active');
  1115. if (a.getAttribute('href') === '#' + current) a.classList.add('active');
  1116. });
  1117. });
  1118. // Fade-in animation on scroll
  1119. const observer = new IntersectionObserver((entries) => {
  1120. entries.forEach(entry => {
  1121. if (entry.isIntersecting) {
  1122. entry.target.classList.add('visible');
  1123. }
  1124. });
  1125. }, { threshold: 0.1 });
  1126. document.querySelectorAll('.mv-card, .valor-item, .actividad-card, .timeline-item, .alianza-card, .contact-card').forEach(el => {
  1127. el.classList.add('fade-in');
  1128. observer.observe(el);
  1129. });
  1130. </script>
  1131. </body>
  1132. </html>