Cinco ejes y un faro: Hogar, Emergencia climática, Rompiendo fronteras, Pueblos libres e Igualdad
- Techo pasa a Hogar, Tierra a Emergencia climática, Sin fronteras a Rompiendo fronteras y Paz a Pueblos libres («No a la guerra»), en las dos webs y los cinco idiomas. - Igualdad deja de ser la franja de los feminismos y es una tarjeta más. - Iconos nuevos pintados con spray: casa, planeta que gotea, valla abierta, cadena rota y signo igual (tools/ejes.py). - El símbolo deja la farola por un faro con la luz amarilla: haz horizontal y ondas en círculo (tools/faro.py). Cambia en la cabecera, el favicon y el mapa. Fuera tools/farola.py y sus propuestas. - Ideario y README al día. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16
README.md
|
|
@ -4,7 +4,7 @@
|
|||
|
||||

|
||||
|
||||
**takethestreet.net / takethestreet.org**: red internacional de las acampadas que nacieron en la Puerta del Sol el 26 de septiembre de 2026 (26S). Empezaron por la vivienda y hoy juntan vivienda, ecologismo, antirracismo y antimilitarismo. Una calle, todas las luchas.
|
||||
**takethestreet.net / takethestreet.org**: red internacional de las acampadas que nacieron en la Puerta del Sol el 26 de septiembre de 2026 (26S). Empezaron por la vivienda y hoy juntan vivienda, ecologismo, antirracismo, antimilitarismo y feminismo. Una calle, todas las luchas.
|
||||
|
||||
Este repo tiene el plan de comunicación, el plan del deck internacional (`deck.takethestreet.net`) y una maqueta. Todavía no hay nada publicado.
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ Ya existe una red europea, la **European Action Coalition for the Right to Housi
|
|||
|
||||
## 2. Plan de comunicación
|
||||
|
||||
1. **Marco común**: *Take the street. Una calle, todas las luchas.* Cuatro ejes: *Techo*, *Tierra*, *Sin fronteras* y *Paz* (ver el ideario). En *Techo*: congelar alquileres, parar los desahucios y recuperar la vivienda de los fondos y la que está vacía. Cada ciudad mantiene sus propias demandas: la LAU, la Lei do Arrendamento, la ley 431/98, residencias públicas…
|
||||
1. **Marco común**: *Take the street. Una calle, todas las luchas.* Cinco ejes: *Hogar*, *Emergencia climática*, *Rompiendo fronteras*, *Pueblos libres* e *Igualdad* (ver el ideario). En *Hogar*: congelar alquileres, parar los desahucios y recuperar la vivienda de los fondos y la que está vacía. Cada ciudad mantiene sus propias demandas: la LAU, la Lei do Arrendamento, la ley 431/98, residencias públicas…
|
||||
2. **Etiqueta paraguas**: `#takethestreet`, además de la de cada lugar (`#26s`, `#acampadaporto`…). Cada nodo publica en su idioma.
|
||||
3. **Calendario**: 15/10 Roma → 17/10 Estados Unidos → 19/10 Italia → 11/11 huelga general en España.
|
||||
4. **Primer contacto**: mensaje privado o correo a Acampada Porto, *Não dá mais para viver assim*, Cambiare Rotta, Asia-USB, los CAU, DAL y la European Action Coalition. Una carta corta en ES, EN, PT, IT y FR que diga quiénes somos (Sol 26S), qué proponemos (etiqueta y deck común) y qué pedimos (sus redes y una persona de enlace de comunicación).
|
||||
|
|
@ -44,7 +44,7 @@ Ya existe una red europea, la **European Action Coalition for the Right to Housi
|
|||
|
||||
## Ideario
|
||||
|
||||
Borrador para la asamblea en [`docs/ideario.md`](docs/ideario.md). Propuesta: **«Una calle, todas las luchas»**, con cuatro ejes: *Techo* (vivienda), *Tierra* (ecologismo), *Sin fronteras* (antirracismo) y *Paz* (antimilitarismo, con Palestina). Los feminismos atraviesan los cuatro. Lemas en ES, EN, PT, IT y FR.
|
||||
Borrador para la asamblea en [`docs/ideario.md`](docs/ideario.md). Propuesta: **«Una calle, todas las luchas»**, con cinco ejes: *Hogar* (vivienda), *Emergencia climática* (ecologismo), *Rompiendo fronteras* (antirracismo), *Pueblos libres* (no a la guerra, con Palestina) e *Igualdad* (feminismos). Los feminismos atraviesan los cuatro. Lemas en ES, EN, PT, IT y FR.
|
||||
|
||||
### La web: takethestreet.net
|
||||
|
||||
|
|
@ -52,11 +52,11 @@ Borrador para la asamblea en [`docs/ideario.md`](docs/ideario.md). Propuesta: **
|
|||
|
||||
`sites/` tiene dos webs con el mismo diseño: `takethestreet/` (takethestreet.net, internacional) y `tomalacalle/` (tomalacalle.net, estatal). HTML y CSS, sin JavaScript, igual que acampada26s.net. El deck va aparte, en `deck.takethestreet.net`. La portada cuenta el ideario de arriba abajo:
|
||||
|
||||
1. **Cabecera** en una línea: la farola a la izquierda, el logotipo en el centro como título (sin lema) y los idiomas a la derecha.
|
||||
1. **Cabecera** en una línea: el faro a la izquierda, el logotipo en el centro como título (sin lema) y los idiomas a la derecha.
|
||||
2. **Dibujo** (el boceto 5, el cruce) y tres botones: Encuentra tu acampada (al mapa), Síguelas (al panel) y Monta una en tu ciudad (a cómo nos organizamos y el contacto). En móvil van en columna y a todo lo ancho.
|
||||
3. **Síguelas**: un panel como el del deck, con el árbol de colectivos, una columna por acampada con sus cuentas de verdad y un mapa. Internacional en takethestreet.net y estatal en tomalacalle.net. En móvil va una acampada por fila.
|
||||
4. **Dónde estamos**: cifras (ciudades, países, desde el 26/09) y un mapa que se mueve y se amplía: Leaflet 1.9.4 (copiado en `js/leaflet/`, sin CDN) con las teselas de OpenStreetMap, y botones para saltar a España o Europa, Canarias e India. Las teselas se piden a tile.openstreetmap.org, que ve la IP de quien mira el mapa. Sin JavaScript se ve un mapa SVG fijo con base de Natural Earth. La farola marca las acampadas, el círculo discontinuo las convocadas, el punto negro las grandes protestas y el gris las levantadas. Cada punto abre una ventanita con su web, cuenta o noticia y un enlace a su tarjeta en «Acampadas».
|
||||
5. **Cuatro ejes**: una tarjeta por eje, con una piña de monigotes en su color (*Techo* naranja, *Tierra* verde, *Sin fronteras* amarillo, *Paz* azul). Debajo, la franja violeta de los feminismos.
|
||||
4. **Dónde estamos**: cifras (ciudades, países, desde el 26/09) y un mapa que se mueve y se amplía: Leaflet 1.9.4 (copiado en `js/leaflet/`, sin CDN) con las teselas de OpenStreetMap, y botones para saltar a España o Europa, Canarias e India. Las teselas se piden a tile.openstreetmap.org, que ve la IP de quien mira el mapa. Sin JavaScript se ve un mapa SVG fijo con base de Natural Earth. El faro marca las acampadas, el círculo discontinuo las convocadas, el punto negro las grandes protestas y el gris las levantadas. Cada punto abre una ventanita con su web, cuenta o noticia y un enlace a su tarjeta en «Acampadas».
|
||||
5. **Cinco ejes**: una tarjeta por eje, con un símbolo pintado con spray en su color: *Hogar*, una casa, en naranja; *Emergencia climática*, un planeta que gotea, en verde; *Rompiendo fronteras*, una valla abierta, en amarillo; *Pueblos libres*, una cadena rota, en azul; *Igualdad*, un signo igual, en violeta.
|
||||
6. **Quiénes somos**: dos párrafos, de Sol a todas las luchas.
|
||||
7. **Acampadas**: por país en takethestreet.net y por territorio en tomalacalle.net, más «¿Y tu ciudad?».
|
||||
8. **Cómo nos organizamos**, con el contacto para montar una acampada.
|
||||
|
|
@ -134,7 +134,7 @@ Las personas de enlace de cada ciudad no se ponen aquí: van en OASIS, en una tr
|
|||
|
||||
### Cuentas afines para pedir difusión
|
||||
|
||||
Colectivos y personas públicas de fuera de España, afines a los cuatro ejes, a quienes escribir por privado para pedir que compartan. Comprobado el 13-10-2026.
|
||||
Colectivos y personas públicas de fuera de España, afines a los cinco ejes, a quienes escribir por privado para pedir que compartan. Comprobado el 13-10-2026.
|
||||
|
||||
- **✔** La cuenta está comprobada: enlazada desde su web oficial o consultada en el propio perfil.
|
||||
- **?** La cuenta es probable, pero no está confirmada.
|
||||
|
|
@ -257,7 +257,7 @@ Tres piezas, cada una con su uso:
|
|||
|
||||

|
||||
|
||||
- **Símbolo** (`docs/marca/simbolo*.svg`): una farola moderna dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid), con la luz en naranja: baja de la cabeza ondeando en una S pronunciada, llega al suelo y se abre en un charco con el centro más claro. Las otras propuestas (onda suave, campana, onda marcada, campana con línea de suelo, S media, S en espejo y la recta) están en `docs/marca/propuestas/`. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo naranja). Se genera con `python3 tools/farola.py docs/marca`.
|
||||
- **Símbolo** (`docs/marca/simbolo*.svg`): un faro dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid). La luz es amarilla: un haz horizontal que se abre hacia los dos lados y ondas en círculo alrededor de la linterna. La torre, en negro, con dos franjas. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo amarillo). Se genera con `python3 tools/faro.py docs/marca` y se copia a `sites/<web>/img/simbolo.svg` y a `favicon.svg`.
|
||||
- **Logotipo** (`docs/marca/logotipo*.svg`): «TAKE THE STREET» en **Grindy Brush**, todo en negro (o en blanco sobre negro). Va convertido a trazados, así que no hace falta la fuente. Hay versión en una línea y en dos.
|
||||
- **Firma**: símbolo + logotipo. Es lo que va arriba a la izquierda de la web.
|
||||
- **Ilustración** (`docs/calle.svg`): la imagen principal de la portada, nunca en la cabecera. Ver el apartado 6.
|
||||
|
|
|
|||
|
|
@ -4,20 +4,27 @@ Esto es una propuesta para discutir, no un texto cerrado. Sirve de base para Tak
|
|||
|
||||
## Punto de partida
|
||||
|
||||
Nacimos en la Puerta del Sol el 26 de septiembre por la vivienda. La vivienda es la puerta de entrada, pero no la única lucha: en las plazas ya estamos colectivos de vivienda, ecologistas, antirracistas y antimilitaristas. Fuera de España, las acampadas crecen con esa misma mezcla.
|
||||
Nacimos en la Puerta del Sol el 26 de septiembre por la vivienda. La vivienda es la puerta de entrada, pero no la única lucha: en las plazas ya estamos colectivos de vivienda, ecologistas, antirracistas, antimilitaristas y feministas. Fuera de España, las acampadas crecen con esa misma mezcla.
|
||||
|
||||
**Idea fuerza: una sola calle, muchas luchas.** No nos quitan la casa, el planeta, los papeles y la paz por separado. Es el mismo modelo, que pone el beneficio de una minoría por encima de la vida de todas. Por eso salimos juntas a la misma calle.
|
||||
**Idea fuerza: una sola calle, muchas luchas.** No nos quitan la casa, el planeta, los papeles, la paz y la igualdad por separado. Es el mismo modelo, que pone el beneficio de una minoría por encima de la vida de todas. Por eso salimos juntas a la misma calle.
|
||||
|
||||
## Cuatro ejes
|
||||
## Cinco ejes
|
||||
|
||||
1. **Techo.** La vivienda es un derecho, no un negocio. Contra los desahucios, la especulación, los fondos buitre y la turistificación. Por la vivienda pública y unos barrios donde se pueda vivir.
|
||||
2. **Tierra.** El planeta también es nuestra casa. Justicia climática: que paguen quienes contaminan, no los barrios. Ciudades verdes, transporte público y frenar la destrucción del territorio.
|
||||
3. **Sin fronteras.** Ninguna persona es ilegal. Regularización, fin de las redadas racistas y de los CIE, y los mismos derechos para quien vive aquí.
|
||||
4. **Paz.** Dinero para la vida, no para la guerra. Menos gasto militar y más vivienda, sanidad y clima. Contra el comercio de armas y en solidaridad con los pueblos que sufren la guerra y la ocupación: con Palestina, alto y claro.
|
||||
1. **Hogar.** La vivienda es un derecho, no un negocio. Contra los desahucios, la especulación, los fondos buitre y la turistificación. Por la vivienda pública y unos barrios donde se pueda vivir.
|
||||
2. **Emergencia climática.** El planeta también es nuestra casa. Justicia climática: que paguen quienes contaminan, no los barrios. Ciudades verdes, transporte público y frenar la destrucción del territorio.
|
||||
3. **Rompiendo fronteras.** Ninguna persona es ilegal. Regularización, fin de las redadas racistas y de los CIE, y los mismos derechos para quien vive aquí.
|
||||
4. **Pueblos libres.** No a la guerra. Ningún pueblo bajo las bombas ni bajo la ocupación. Más casas, menos tanques: dinero para la vida y no para la guerra, menos gasto militar y fin del comercio de armas. Con Palestina, alto y claro.
|
||||
5. **Igualdad.** Los cuidados en el centro. Las que más sufren los desahucios, las que sostienen los cuidados, las que cruzan fronteras. Contra la violencia machista y por los mismos derechos para todas.
|
||||
|
||||
**Feminismos en todo.** No es un quinto eje, sino una mirada que atraviesa los cuatro: las que más sufren los desahucios, las que sostienen los cuidados, las que cruzan fronteras.
|
||||
Cinco ejes y no más, a propósito: así el paraguas es grande y cabe mucha gente. Palestina va dentro de *Pueblos libres*.
|
||||
|
||||
Cuatro ejes y no más, a propósito: así el paraguas es grande y cabe mucha gente. Palestina va dentro de *Paz* y los feminismos atraviesan todo.
|
||||
| Eje | EN | PT | IT | FR |
|
||||
|---|---|---|---|---|
|
||||
| Hogar | Home | Lar | Casa | Un chez-soi |
|
||||
| Emergencia climática | Climate emergency | Emergência climática | Emergenza climatica | Urgence climatique |
|
||||
| Rompiendo fronteras | Breaking borders | Romper fronteiras | Rompere le frontiere | Briser les frontières |
|
||||
| Pueblos libres | Free peoples | Povos livres | Popoli liberi | Peuples libres |
|
||||
| Igualdad | Equality | Igualdade | Uguaglianza | Égalité |
|
||||
|
||||
## Cómo nos organizamos
|
||||
|
||||
|
|
@ -40,12 +47,12 @@ El principal va en los cinco idiomas de la web. El resto, para pancartas y redes
|
|||
| Ni desahucios, ni fronteras, ni guerras | No evictions, no borders, no wars | Nem despejos, nem fronteiras, nem guerras | Né sfratti, né frontiere, né guerre | Ni expulsions, ni frontières, ni guerres |
|
||||
| El planeta también es nuestra casa | The planet is our home too | O planeta também é a nossa casa | Anche il pianeta è casa nostra | La planète aussi, c'est chez nous |
|
||||
| Más casas, menos tanques | More homes, fewer tanks | Mais casas, menos tanques | Più case, meno carri armati | Plus de logements, moins de chars |
|
||||
| No a la guerra | No to war | Não à guerra | No alla guerra | Non à la guerre |
|
||||
| Ninguna persona es ilegal | No one is illegal | Nenhuma pessoa é ilegal | Nessuna persona è illegale | Aucune personne n'est illégale |
|
||||
|
||||
Propuesta: **«Una calle, todas las luchas»** como lema principal de takethestreet.net y de las Acampadas 26S. Debajo van los cuatro ejes: *Techo · Tierra · Sin fronteras · Paz*. La Acampada de Madrid puede seguir con su lema de vivienda y añadir los ejes.
|
||||
Propuesta: **«Una calle, todas las luchas»** como lema principal de takethestreet.net y de las Acampadas 26S. Debajo van los cinco ejes: *Hogar · Emergencia climática · Rompiendo fronteras · Pueblos libres · Igualdad*. La Acampada de Madrid puede seguir con su lema de vivienda y añadir los ejes.
|
||||
|
||||
## Por decidir en asamblea
|
||||
|
||||
- ¿Cómo encajan otras luchas, como el trabajo y la precariedad o la sanidad y la educación públicas? Propuesta: dentro de los cuatro ejes, sin abrir ejes nuevos.
|
||||
- ¿«Paz» o «Antimilitarismo» como nombre del cuarto eje?
|
||||
- ¿Cómo encajan otras luchas, como el trabajo y la precariedad o la sanidad y la educación públicas? Propuesta: dentro de los cinco ejes, sin abrir ejes nuevos.
|
||||
- ¿Qué colectivos firman? Lo propuesto: los de la acampada, sobre todo ecologistas, antirracistas, antimilitaristas y movimientos de vivienda.
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C82,46 85,55 85,62 C85,69 88,73 89,76 H41 C42,72 45,69 45,62 C45,54 51,45 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="24" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="14.9" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 678 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 640 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C86,42 80,52 86,61 C90,67 91,72 90,76 H40 C39,72 41,67 44,61 C48,52 44,42 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="25" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="15.5" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 678 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/><path d="M8,84 H92" stroke="#111" stroke-width="3"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 692 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 641 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C70,48 96,60 92,76 H40 C54,60 46,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 640 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C66,50 100,58 92,76 H38 C30,58 68,50 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 641 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C70,50 94,58 92,76 H38 C36,58 64,50 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 640 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 L98,92 H36 Z" fill="#f45a1c"/><ellipse cx="67" cy="86" rx="22" ry="5" fill="#111" opacity=".25"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 558 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#f04e23"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#fff"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#fff"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffe2a8"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#f04e23"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#fff" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#fff" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#fff" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#fff"/><circle cx="50" cy="36" r="6.5" fill="#ffe2a8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#f04e23"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#f04e23"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 682 B After Width: | Height: | Size: 988 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#fff" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#fff"/><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#111"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#111"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#fff"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 685 B After Width: | Height: | Size: 991 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="48"/></clipPath></defs><circle cx="50" cy="50" r="48" fill="#f45a1c"/><g clip-path="url(#c)"><path d="M33,99 V38 Q33,22 49,22 H58" fill="none" stroke="#111" stroke-width="9"/></g><rect x="52" y="17" width="30" height="11" rx="3" fill="#111"/><path d="M58,35 L50,52" stroke="#fff" stroke-width="4" stroke-linecap="round"/><path d="M67,36 L67,56" stroke="#fff" stroke-width="4" stroke-linecap="round"/><path d="M76,35 L84,52" stroke="#fff" stroke-width="4" stroke-linecap="round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="48"/></clipPath><circle cx="50" cy="50" r="48" fill="#ffc21a"/><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#fff" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#fff" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#fff" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#fff"/><circle cx="50" cy="36" r="6.5" fill="#fff"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#ffc21a"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#ffc21a"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 623 B After Width: | Height: | Size: 910 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 947 B |
BIN
docs/web.png
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 918 KiB |
|
|
@ -4,11 +4,11 @@
|
|||
--bg: #fff;
|
||||
--fg: #111;
|
||||
--neon: #f04e23;
|
||||
--techo: #f04e23;
|
||||
--tierra: #14965a;
|
||||
--hogar: #f04e23;
|
||||
--clima: #14965a;
|
||||
--fronteras: #f2b705;
|
||||
--paz: #3b5bdb;
|
||||
--feminismos: #8e44c9;
|
||||
--pueblos: #3b5bdb;
|
||||
--igualdad: #8e44c9;
|
||||
--bd: 3px solid var(--fg);
|
||||
--bt: "League Gothic", "Arial Narrow", Impact, sans-serif;
|
||||
--txt: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
||||
|
|
@ -31,7 +31,7 @@ img { max-width: 100%; }
|
|||
|
||||
.portada { padding: 0 0 24px; border-bottom: var(--bd); text-align: center; overflow: hidden; }
|
||||
h1 { margin: 0; font: 400 clamp(52px, 8vw, 112px)/.92 var(--bt); text-transform: uppercase; }
|
||||
.c-techo { color: var(--techo); } .c-tierra { color: var(--tierra); } .c-fronteras { color: #c99500; } .c-paz { color: var(--paz); }
|
||||
.c-hogar { color: var(--hogar); } .c-clima { color: var(--clima); } .c-fronteras { color: #c99500; } .c-pueblos { color: var(--pueblos); } .c-igualdad { color: var(--igualdad); }
|
||||
.calle { display: block; width: 100%; height: clamp(220px, 36vw, 600px); object-fit: cover; object-position: 65% 60%; margin: 0; }
|
||||
.acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 18px; padding: 0 16px; }
|
||||
.bt { font: 400 26px/1 var(--bt); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; border: var(--bd); border-radius: 8px; padding: 12px 22px 9px; box-shadow: 4px 4px 0 var(--fg); }
|
||||
|
|
@ -45,18 +45,14 @@ h3 { margin: 0; font: 400 34px/1 var(--bt); text-transform: uppercase; letter-sp
|
|||
.intro p { max-width: 820px; margin: 0 auto 14px; font-size: 20px; }
|
||||
.intro .fuerte { font-weight: 700; }
|
||||
|
||||
.ejes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
|
||||
.ejes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
|
||||
.eje { border: var(--bd); border-radius: 10px; padding: 16px 16px 10px; box-shadow: 6px 6px 0 var(--c); }
|
||||
.eje img { display: block; height: 120px; margin: 0 auto 6px; }
|
||||
.eje h3 { color: var(--c); }
|
||||
.eje .lema { font-weight: 700; margin: 6px 0; }
|
||||
.eje p { margin: 0 0 8px; font-size: 16px; }
|
||||
.e-techo { --c: var(--techo); } .e-tierra { --c: var(--tierra); } .e-fronteras { --c: var(--fronteras); } .e-paz { --c: var(--paz); } .e-feminismos { --c: var(--feminismos); }
|
||||
.e-hogar { --c: var(--hogar); } .e-clima { --c: var(--clima); } .e-fronteras { --c: var(--fronteras); } .e-pueblos { --c: var(--pueblos); } .e-igualdad { --c: var(--igualdad); }
|
||||
.e-fronteras h3 { color: #c99500; }
|
||||
.transversal { display: flex; align-items: center; gap: 18px; margin-top: 22px; border: var(--bd); border-left: 14px solid var(--c); border-radius: 10px; padding: 10px 18px; }
|
||||
.transversal img { height: 90px; }
|
||||
.transversal p { margin: 0; }
|
||||
.transversal b { color: var(--c); }
|
||||
|
||||
.paises { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
|
||||
.pais { border-top: var(--bd); padding-top: 10px; }
|
||||
|
|
@ -104,6 +100,9 @@ h3 { margin: 0; font: 400 34px/1 var(--bt); text-transform: uppercase; letter-sp
|
|||
.mapa li span + span { font-size: 12px; opacity: .75; }
|
||||
.mapa .ko span:first-child { text-decoration: line-through; }
|
||||
|
||||
@media (max-width: 1100px) {
|
||||
.ejes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.ejes, .paises { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 947 B |
1
sites/takethestreet/img/eje-clima.svg
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.5,38.0 L32.9,40.1 L43.0,42.0 L32.8,43.7 L43.5,45.5 L30.2,47.6 L42.6,49.8 L35.1,51.8 L38.9,53.7 L27.9,57.9 L45.3,61.2 L26.9,64.5 L47.4,67.8 L31.5,72.1 L46.2,75.8 L31.3,80.0 L44.8,83.5 L29.9,86.8 L45.0,90.9 L30.3,94.1 L45.2,98.1 L30.6,101.7 L41.6,105.6 L34.4,109.4 L42.8,113.1 L36.5,117.1 L39.6,121.2 L33.7,124.5 L42.3,127.9 L38.3,132.0 L37.5,135.8 L32.9,139.4 L43.3,142.7 L40.7,146.9" fill="none" stroke="#8e44c9" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.6,36.0 L97.5,37.9 L107.0,39.9 L93.9,42.2 L108.4,44.5 L96.3,46.8 L106.6,48.7 L99.5,51.0 L103.4,53.1 L93.0,57.5 L110.7,62.1 L92.3,65.6 L111.8,70.1 L93.0,74.1 L109.9,77.9 L93.3,81.8 L108.4,86.4 L92.4,90.1 L108.0,94.3 L94.2,98.3 L107.5,102.8 L97.7,107.4 L105.3,111.1 L97.9,115.5 L106.8,119.8 L100.9,123.3 L102.4,127.3 L97.1,131.8 L107.5,135.5 L103.1,139.6 L100.5,143.4 L96.5,148.0 L108.3,152.5" fill="none" stroke="#8e44c9" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.8,20.0 L63.6,22.5 L78.0,25.3 L62.9,27.8 L79.2,30.6 L63.3,32.8 L74.8,35.4 L67.9,37.7 L71.1,39.9 L58.1,44.4 L80.5,49.3 L56.3,53.5 L81.9,58.4 L60.3,63.4 L79.3,68.2 L58.5,73.1 L81.1,77.2 L62.9,81.3 L79.3,85.4 L59.5,90.6 L78.1,94.8 L60.5,100.2 L76.6,105.3 L64.1,109.7 L76.5,114.1 L63.0,119.2 L75.1,123.5 L63.2,128.1 L76.0,132.8 L64.3,137.7 L74.1,142.4 L65.5,147.1 L72.9,151.5 L67.2,156.6" fill="none" stroke="#8e44c9" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#8e44c9" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 6.4 KiB |
1
sites/takethestreet/img/eje-hogar.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M71.6,23.4 L63.8,26.3 L79.0,28.8 L58.1,31.5 L84.8,34.0 L52.0,36.5 L89.3,39.4 L46.9,42.1 L97.5,44.7 L41.2,47.1 L102.9,49.4 L35.6,51.7 L108.7,54.5 L30.5,56.8 L113.3,59.7 L22.4,62.5 L118.9,64.8 L18.3,67.3 L126.7,69.9" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M53.3,73.4 L23.0,76.0 L54.3,78.7 L23.0,81.3 L53.1,84.0 L23.9,86.9 L55.1,89.2 L23.6,92.1 L53.5,95.0 L24.2,97.7 L53.0,100.5 L23.2,102.7 L54.7,105.2 L23.1,108.0 L53.3,110.8 L24.0,113.0 L55.0,115.9 L24.7,118.5 L53.2,120.9 L24.4,123.8 L53.6,126.2 L22.9,129.0 L54.7,131.3 L23.8,133.7 L53.9,136.3 L23.4,138.7 L54.6,141.6 L22.9,144.5 L54.8,146.8" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M116.7,73.4 L85.7,75.9 L115.8,78.6 L84.9,81.2 L116.3,84.1 L85.9,86.5 L117.0,89.2 L87.0,91.5 L114.9,94.1 L86.5,96.6 L116.2,98.9 L86.2,101.6 L114.8,103.8 L85.2,106.8 L116.2,109.1 L86.6,111.3 L115.6,114.1 L86.0,116.8 L115.2,119.6 L85.0,121.8 L117.2,124.7 L86.6,127.2 L116.2,129.6 L86.1,132.1 L116.9,135.0 L86.8,137.9 L115.3,140.5 L86.3,143.4 L115.7,145.7 L86.7,147.9" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M84.8,73.4 L55.0,76.1 L86.6,79.0 L54.1,81.4 L86.2,83.8 L53.3,86.3 L85.1,89.0 L54.3,91.3 L85.1,94.1" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M97.8,49.1 L99.0,25.5 L108.9,26.0 L110.1,59.8" fill="none" stroke="#f04e23" stroke-width="5.0" stroke-linejoin="round" stroke-linecap="round" opacity="1" filter="url(#spray)"/><path d="M98.2,49.1 L97.2,26.2 L109.0,25.9 L109.4,60.6" fill="none" stroke="#f04e23" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="round" opacity="0.7" filter="url(#spray)"/><path d="M30.0,144.0 L30.0,166.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="30.0" cy="166.0" r="2.2" fill="#f04e23" filter="url(#spray)"/><path d="M47.0,144.0 L47.1,158.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="47.0" cy="158.0" r="2.2" fill="#f04e23" filter="url(#spray)"/><path d="M92.0,144.0 L91.8,172.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="92.0" cy="172.0" r="2.2" fill="#f04e23" filter="url(#spray)"/><path d="M110.0,144.0 L110.0,160.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="110.0" cy="160.0" r="2.2" fill="#f04e23" filter="url(#spray)"/></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
1
sites/takethestreet/img/eje-igualdad.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M125.8,47.4 L14.9,50.1 L125.3,52.4 L13.1,54.7 L125.2,56.9 L15.2,59.5 L125.7,62.2 L14.5,64.8 L125.0,67.2 L14.3,70.1 L125.0,72.4 L15.1,74.7 L99.3,77.0" fill="none" stroke="#8e44c9" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M124.9,97.4 L15.3,100.0 L125.3,102.9 L13.4,105.3 L126.4,107.5 L13.8,110.4 L126.5,112.6 L14.4,115.4 L126.8,117.9 L14.2,120.6 L125.4,123.2 L14.7,125.8 L55.2,128.5" fill="none" stroke="#8e44c9" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M30.0,73.0 L30.4,87.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="30.0" cy="87.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/><path d="M100.0,69.0 L99.5,79.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="100.0" cy="79.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/><path d="M46.0,123.0 L45.6,145.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="46.0" cy="145.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/><path d="M112.0,120.0 L111.7,134.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="112.0" cy="134.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.4,38.0 L34.4,40.2 L44.4,42.2 L31.5,44.5 L43.0,46.6 L32.6,48.6 L41.9,50.9 L36.9,53.1 L49.3,56.5 L29.3,60.6 L47.1,63.9 L28.0,67.7 L46.6,71.6 L30.2,75.4 L44.3,78.7 L28.9,82.9 L47.0,86.5 L32.2,90.2 L45.2,94.4 L30.8,98.7 L44.8,102.0 L33.9,106.1 L40.9,109.6 L34.3,113.6 L42.9,117.8 L36.7,121.0 L38.2,124.6 L32.5,128.5 L42.7,132.3 L38.8,136.1 L36.5,140.4 L32.1,143.6 L43.3,147.5" fill="none" stroke="#3b5bdb" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.5,36.0 L98.1,38.3 L107.2,40.7 L95.1,43.0 L107.3,44.9 L94.4,47.4 L107.1,49.4 L100.6,51.9 L111.4,56.4 L92.1,60.7 L112.6,65.3 L91.0,69.7 L112.0,73.6 L94.5,77.1 L110.1,81.7 L93.5,85.9 L110.3,89.7 L95.1,94.2 L108.2,98.1 L93.8,101.7 L107.0,106.0 L97.7,110.2 L104.3,113.9 L97.6,117.6 L106.4,122.2 L101.6,126.2 L102.6,129.7 L96.6,133.8 L108.0,138.4 L103.3,143.0 L99.6,146.7 L96.3,151.1 L108.1,154.5" fill="none" stroke="#3b5bdb" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.7,20.0 L65.1,22.4 L76.5,24.6 L62.9,27.0 L78.7,29.3 L63.4,32.1 L75.7,34.3 L66.8,37.0 L71.1,39.7 L60.2,44.7 L82.9,49.0 L57.9,53.7 L81.9,58.1 L59.4,62.5 L82.5,67.2 L59.8,72.2 L80.2,77.4 L60.7,82.4 L77.6,87.2 L60.9,92.5 L78.6,97.7 L63.7,101.7 L78.2,107.0 L61.6,112.3 L78.3,116.6 L63.0,121.4 L75.1,126.2 L64.7,130.9 L74.7,135.3 L65.9,139.9 L74.9,144.1 L66.5,148.6 L73.5,153.7 L67.7,158.3" fill="none" stroke="#3b5bdb" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#3b5bdb" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
1
sites/takethestreet/img/eje-pueblos.svg
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.5,38.0 L34.6,40.3 L45.3,42.2 L32.6,44.4 L45.8,46.4 L33.5,48.4 L41.3,50.7 L36.8,52.9 L49.8,56.6 L28.2,60.0 L49.3,63.3 L29.0,66.7 L48.3,70.8 L28.0,74.1 L45.4,78.3 L31.3,82.3 L44.3,85.7 L29.5,89.3 L46.8,93.0 L32.2,97.2 L43.0,100.9 L34.3,104.7 L40.3,108.6 L34.4,112.5 L42.4,116.6 L35.9,119.9 L38.5,124.2 L33.3,128.5 L43.2,132.3 L39.5,136.4 L36.1,139.6 L32.3,143.2 L43.3,147.2" fill="none" stroke="#f04e23" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.5,36.0 L97.8,37.9 L109.5,40.4 L93.9,42.6 L107.9,44.6 L95.2,47.1 L106.4,49.1 L101.1,51.5 L103.4,53.5 L92.2,57.2 L111.8,61.2 L93.6,65.0 L112.6,69.4 L95.0,73.9 L112.3,77.6 L92.2,81.4 L109.8,85.2 L94.3,89.4 L107.9,93.5 L94.2,97.9 L109.0,101.7 L97.1,105.9 L106.3,109.3 L98.4,113.4 L107.0,117.3 L100.0,120.9 L103.4,125.0 L97.6,128.4 L106.9,133.0 L102.4,136.7 L101.3,140.1 L96.4,144.5 L107.9,148.6 L105.3,152.9" fill="none" stroke="#f04e23" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.5,20.0 L63.0,22.9 L78.2,25.3 L61.4,27.7 L78.5,30.2 L61.4,33.1 L75.7,36.0 L68.8,38.6 L82.8,43.8 L59.0,48.0 L83.0,52.0 L61.7,57.4 L82.8,62.3 L58.5,67.5 L80.3,71.7 L59.9,76.2 L78.0,80.7 L62.7,85.5 L79.3,89.7 L63.2,94.7 L77.8,98.8 L60.6,103.0 L75.6,107.4 L62.8,112.1 L76.9,116.7 L64.8,120.8 L74.5,125.6 L65.2,130.2 L75.1,135.3 L65.9,140.1 L74.1,144.8 L66.1,149.5 L73.5,154.2 L67.8,158.8" fill="none" stroke="#f04e23" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#f04e23" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.5,38.0 L34.6,39.9 L44.1,42.2 L31.2,44.4 L45.3,46.4 L31.4,48.5 L42.7,50.7 L37.1,52.7 L48.7,56.1 L27.9,59.5 L45.1,63.4 L31.2,67.5 L48.0,71.7 L28.7,75.1 L44.5,79.1 L31.7,83.1 L46.2,87.3 L32.5,91.6 L45.3,95.2 L32.5,99.1 L42.4,103.3 L35.4,106.8 L40.5,110.7 L33.7,114.7 L41.8,118.3 L37.0,121.7 L38.4,125.7 L32.9,129.7 L43.3,133.9 L39.6,137.5 L35.8,140.8 L32.2,144.9 L43.3,149.0" fill="none" stroke="#14965a" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.5,36.0 L96.8,38.5 L108.8,40.9 L93.6,43.0 L108.0,45.5 L95.4,47.7 L105.6,50.1 L100.5,52.2 L110.8,56.0 L93.1,60.3 L110.8,64.8 L93.2,69.3 L112.2,73.8 L94.5,78.1 L108.5,81.8 L93.1,85.4 L108.9,88.9 L95.6,93.0 L108.4,96.8 L96.3,101.1 L106.3,105.7 L98.5,110.0 L105.7,114.0 L96.8,118.6 L107.0,122.0 L100.8,126.6 L102.7,130.6 L96.3,134.3 L107.0,138.6 L103.3,142.7 L100.2,146.5 L95.7,151.1 L107.8,154.9" fill="none" stroke="#14965a" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.7,20.0 L63.4,22.8 L77.7,25.3 L60.5,27.7 L77.2,30.4 L62.4,33.0 L74.7,35.4 L68.6,38.0 L71.7,40.5 L60.8,45.7 L82.7,50.9 L61.5,55.9 L79.1,60.9 L60.5,66.1 L78.5,70.6 L61.6,75.8 L79.4,81.0 L60.2,85.3 L76.7,90.0 L62.6,95.2 L79.1,99.2 L62.8,104.2 L77.4,108.5 L62.4,113.3 L76.8,118.0 L64.8,123.0 L75.7,127.3 L63.9,132.3 L74.7,137.5 L66.5,142.5 L73.1,147.1 L65.8,152.3 L73.1,157.2" fill="none" stroke="#14965a" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#14965a" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#fff" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#fff"/><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#111"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#111"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#fff"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 991 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 947 B |
|
|
@ -4,11 +4,11 @@
|
|||
--bg: #fff;
|
||||
--fg: #111;
|
||||
--neon: #f04e23;
|
||||
--techo: #f04e23;
|
||||
--tierra: #14965a;
|
||||
--hogar: #f04e23;
|
||||
--clima: #14965a;
|
||||
--fronteras: #f2b705;
|
||||
--paz: #3b5bdb;
|
||||
--feminismos: #8e44c9;
|
||||
--pueblos: #3b5bdb;
|
||||
--igualdad: #8e44c9;
|
||||
--bd: 3px solid var(--fg);
|
||||
--bt: "League Gothic", "Arial Narrow", Impact, sans-serif;
|
||||
--txt: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
||||
|
|
@ -31,7 +31,7 @@ img { max-width: 100%; }
|
|||
|
||||
.portada { padding: 0 0 24px; border-bottom: var(--bd); text-align: center; overflow: hidden; }
|
||||
h1 { margin: 0; font: 400 clamp(52px, 8vw, 112px)/.92 var(--bt); text-transform: uppercase; }
|
||||
.c-techo { color: var(--techo); } .c-tierra { color: var(--tierra); } .c-fronteras { color: #c99500; } .c-paz { color: var(--paz); }
|
||||
.c-hogar { color: var(--hogar); } .c-clima { color: var(--clima); } .c-fronteras { color: #c99500; } .c-pueblos { color: var(--pueblos); } .c-igualdad { color: var(--igualdad); }
|
||||
.calle { display: block; width: 100%; height: clamp(220px, 36vw, 600px); object-fit: cover; object-position: 65% 60%; margin: 0; }
|
||||
.acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 18px; padding: 0 16px; }
|
||||
.bt { font: 400 26px/1 var(--bt); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; border: var(--bd); border-radius: 8px; padding: 12px 22px 9px; box-shadow: 4px 4px 0 var(--fg); }
|
||||
|
|
@ -45,18 +45,14 @@ h3 { margin: 0; font: 400 34px/1 var(--bt); text-transform: uppercase; letter-sp
|
|||
.intro p { max-width: 820px; margin: 0 auto 14px; font-size: 20px; }
|
||||
.intro .fuerte { font-weight: 700; }
|
||||
|
||||
.ejes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
|
||||
.ejes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
|
||||
.eje { border: var(--bd); border-radius: 10px; padding: 16px 16px 10px; box-shadow: 6px 6px 0 var(--c); }
|
||||
.eje img { display: block; height: 120px; margin: 0 auto 6px; }
|
||||
.eje h3 { color: var(--c); }
|
||||
.eje .lema { font-weight: 700; margin: 6px 0; }
|
||||
.eje p { margin: 0 0 8px; font-size: 16px; }
|
||||
.e-techo { --c: var(--techo); } .e-tierra { --c: var(--tierra); } .e-fronteras { --c: var(--fronteras); } .e-paz { --c: var(--paz); } .e-feminismos { --c: var(--feminismos); }
|
||||
.e-hogar { --c: var(--hogar); } .e-clima { --c: var(--clima); } .e-fronteras { --c: var(--fronteras); } .e-pueblos { --c: var(--pueblos); } .e-igualdad { --c: var(--igualdad); }
|
||||
.e-fronteras h3 { color: #c99500; }
|
||||
.transversal { display: flex; align-items: center; gap: 18px; margin-top: 22px; border: var(--bd); border-left: 14px solid var(--c); border-radius: 10px; padding: 10px 18px; }
|
||||
.transversal img { height: 90px; }
|
||||
.transversal p { margin: 0; }
|
||||
.transversal b { color: var(--c); }
|
||||
|
||||
.paises { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
|
||||
.pais { border-top: var(--bd); padding-top: 10px; }
|
||||
|
|
@ -104,6 +100,9 @@ h3 { margin: 0; font: 400 34px/1 var(--bt); text-transform: uppercase; letter-sp
|
|||
.mapa li span + span { font-size: 12px; opacity: .75; }
|
||||
.mapa .ko span:first-child { text-decoration: line-through; }
|
||||
|
||||
@media (max-width: 1100px) {
|
||||
.ejes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.ejes, .paises { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 947 B |
1
sites/tomalacalle/img/eje-clima.svg
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.5,38.0 L32.9,40.1 L43.0,42.0 L32.8,43.7 L43.5,45.5 L30.2,47.6 L42.6,49.8 L35.1,51.8 L38.9,53.7 L27.9,57.9 L45.3,61.2 L26.9,64.5 L47.4,67.8 L31.5,72.1 L46.2,75.8 L31.3,80.0 L44.8,83.5 L29.9,86.8 L45.0,90.9 L30.3,94.1 L45.2,98.1 L30.6,101.7 L41.6,105.6 L34.4,109.4 L42.8,113.1 L36.5,117.1 L39.6,121.2 L33.7,124.5 L42.3,127.9 L38.3,132.0 L37.5,135.8 L32.9,139.4 L43.3,142.7 L40.7,146.9" fill="none" stroke="#8e44c9" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.6,36.0 L97.5,37.9 L107.0,39.9 L93.9,42.2 L108.4,44.5 L96.3,46.8 L106.6,48.7 L99.5,51.0 L103.4,53.1 L93.0,57.5 L110.7,62.1 L92.3,65.6 L111.8,70.1 L93.0,74.1 L109.9,77.9 L93.3,81.8 L108.4,86.4 L92.4,90.1 L108.0,94.3 L94.2,98.3 L107.5,102.8 L97.7,107.4 L105.3,111.1 L97.9,115.5 L106.8,119.8 L100.9,123.3 L102.4,127.3 L97.1,131.8 L107.5,135.5 L103.1,139.6 L100.5,143.4 L96.5,148.0 L108.3,152.5" fill="none" stroke="#8e44c9" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.8,20.0 L63.6,22.5 L78.0,25.3 L62.9,27.8 L79.2,30.6 L63.3,32.8 L74.8,35.4 L67.9,37.7 L71.1,39.9 L58.1,44.4 L80.5,49.3 L56.3,53.5 L81.9,58.4 L60.3,63.4 L79.3,68.2 L58.5,73.1 L81.1,77.2 L62.9,81.3 L79.3,85.4 L59.5,90.6 L78.1,94.8 L60.5,100.2 L76.6,105.3 L64.1,109.7 L76.5,114.1 L63.0,119.2 L75.1,123.5 L63.2,128.1 L76.0,132.8 L64.3,137.7 L74.1,142.4 L65.5,147.1 L72.9,151.5 L67.2,156.6" fill="none" stroke="#8e44c9" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#8e44c9" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 6.4 KiB |
1
sites/tomalacalle/img/eje-hogar.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M71.6,23.4 L63.8,26.3 L79.0,28.8 L58.1,31.5 L84.8,34.0 L52.0,36.5 L89.3,39.4 L46.9,42.1 L97.5,44.7 L41.2,47.1 L102.9,49.4 L35.6,51.7 L108.7,54.5 L30.5,56.8 L113.3,59.7 L22.4,62.5 L118.9,64.8 L18.3,67.3 L126.7,69.9" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M53.3,73.4 L23.0,76.0 L54.3,78.7 L23.0,81.3 L53.1,84.0 L23.9,86.9 L55.1,89.2 L23.6,92.1 L53.5,95.0 L24.2,97.7 L53.0,100.5 L23.2,102.7 L54.7,105.2 L23.1,108.0 L53.3,110.8 L24.0,113.0 L55.0,115.9 L24.7,118.5 L53.2,120.9 L24.4,123.8 L53.6,126.2 L22.9,129.0 L54.7,131.3 L23.8,133.7 L53.9,136.3 L23.4,138.7 L54.6,141.6 L22.9,144.5 L54.8,146.8" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M116.7,73.4 L85.7,75.9 L115.8,78.6 L84.9,81.2 L116.3,84.1 L85.9,86.5 L117.0,89.2 L87.0,91.5 L114.9,94.1 L86.5,96.6 L116.2,98.9 L86.2,101.6 L114.8,103.8 L85.2,106.8 L116.2,109.1 L86.6,111.3 L115.6,114.1 L86.0,116.8 L115.2,119.6 L85.0,121.8 L117.2,124.7 L86.6,127.2 L116.2,129.6 L86.1,132.1 L116.9,135.0 L86.8,137.9 L115.3,140.5 L86.3,143.4 L115.7,145.7 L86.7,147.9" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M84.8,73.4 L55.0,76.1 L86.6,79.0 L54.1,81.4 L86.2,83.8 L53.3,86.3 L85.1,89.0 L54.3,91.3 L85.1,94.1" fill="none" stroke="#f04e23" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M97.8,49.1 L99.0,25.5 L108.9,26.0 L110.1,59.8" fill="none" stroke="#f04e23" stroke-width="5.0" stroke-linejoin="round" stroke-linecap="round" opacity="1" filter="url(#spray)"/><path d="M98.2,49.1 L97.2,26.2 L109.0,25.9 L109.4,60.6" fill="none" stroke="#f04e23" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="round" opacity="0.7" filter="url(#spray)"/><path d="M30.0,144.0 L30.0,166.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="30.0" cy="166.0" r="2.2" fill="#f04e23" filter="url(#spray)"/><path d="M47.0,144.0 L47.1,158.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="47.0" cy="158.0" r="2.2" fill="#f04e23" filter="url(#spray)"/><path d="M92.0,144.0 L91.8,172.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="92.0" cy="172.0" r="2.2" fill="#f04e23" filter="url(#spray)"/><path d="M110.0,144.0 L110.0,160.0" stroke="#f04e23" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="110.0" cy="160.0" r="2.2" fill="#f04e23" filter="url(#spray)"/></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
1
sites/tomalacalle/img/eje-igualdad.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M125.8,47.4 L14.9,50.1 L125.3,52.4 L13.1,54.7 L125.2,56.9 L15.2,59.5 L125.7,62.2 L14.5,64.8 L125.0,67.2 L14.3,70.1 L125.0,72.4 L15.1,74.7 L99.3,77.0" fill="none" stroke="#8e44c9" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M124.9,97.4 L15.3,100.0 L125.3,102.9 L13.4,105.3 L126.4,107.5 L13.8,110.4 L126.5,112.6 L14.4,115.4 L126.8,117.9 L14.2,120.6 L125.4,123.2 L14.7,125.8 L55.2,128.5" fill="none" stroke="#8e44c9" stroke-width="3.6" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M30.0,73.0 L30.4,87.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="30.0" cy="87.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/><path d="M100.0,69.0 L99.5,79.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="100.0" cy="79.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/><path d="M46.0,123.0 L45.6,145.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="46.0" cy="145.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/><path d="M112.0,120.0 L111.7,134.0" stroke="#8e44c9" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/><circle cx="112.0" cy="134.0" r="2.2" fill="#8e44c9" filter="url(#spray)"/></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.4,38.0 L34.4,40.2 L44.4,42.2 L31.5,44.5 L43.0,46.6 L32.6,48.6 L41.9,50.9 L36.9,53.1 L49.3,56.5 L29.3,60.6 L47.1,63.9 L28.0,67.7 L46.6,71.6 L30.2,75.4 L44.3,78.7 L28.9,82.9 L47.0,86.5 L32.2,90.2 L45.2,94.4 L30.8,98.7 L44.8,102.0 L33.9,106.1 L40.9,109.6 L34.3,113.6 L42.9,117.8 L36.7,121.0 L38.2,124.6 L32.5,128.5 L42.7,132.3 L38.8,136.1 L36.5,140.4 L32.1,143.6 L43.3,147.5" fill="none" stroke="#3b5bdb" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.5,36.0 L98.1,38.3 L107.2,40.7 L95.1,43.0 L107.3,44.9 L94.4,47.4 L107.1,49.4 L100.6,51.9 L111.4,56.4 L92.1,60.7 L112.6,65.3 L91.0,69.7 L112.0,73.6 L94.5,77.1 L110.1,81.7 L93.5,85.9 L110.3,89.7 L95.1,94.2 L108.2,98.1 L93.8,101.7 L107.0,106.0 L97.7,110.2 L104.3,113.9 L97.6,117.6 L106.4,122.2 L101.6,126.2 L102.6,129.7 L96.6,133.8 L108.0,138.4 L103.3,143.0 L99.6,146.7 L96.3,151.1 L108.1,154.5" fill="none" stroke="#3b5bdb" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.7,20.0 L65.1,22.4 L76.5,24.6 L62.9,27.0 L78.7,29.3 L63.4,32.1 L75.7,34.3 L66.8,37.0 L71.1,39.7 L60.2,44.7 L82.9,49.0 L57.9,53.7 L81.9,58.1 L59.4,62.5 L82.5,67.2 L59.8,72.2 L80.2,77.4 L60.7,82.4 L77.6,87.2 L60.9,92.5 L78.6,97.7 L63.7,101.7 L78.2,107.0 L61.6,112.3 L78.3,116.6 L63.0,121.4 L75.1,126.2 L64.7,130.9 L74.7,135.3 L65.9,139.9 L74.9,144.1 L66.5,148.6 L73.5,153.7 L67.7,158.3" fill="none" stroke="#3b5bdb" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#3b5bdb" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
1
sites/tomalacalle/img/eje-pueblos.svg
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.5,38.0 L34.6,40.3 L45.3,42.2 L32.6,44.4 L45.8,46.4 L33.5,48.4 L41.3,50.7 L36.8,52.9 L49.8,56.6 L28.2,60.0 L49.3,63.3 L29.0,66.7 L48.3,70.8 L28.0,74.1 L45.4,78.3 L31.3,82.3 L44.3,85.7 L29.5,89.3 L46.8,93.0 L32.2,97.2 L43.0,100.9 L34.3,104.7 L40.3,108.6 L34.4,112.5 L42.4,116.6 L35.9,119.9 L38.5,124.2 L33.3,128.5 L43.2,132.3 L39.5,136.4 L36.1,139.6 L32.3,143.2 L43.3,147.2" fill="none" stroke="#f04e23" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.5,36.0 L97.8,37.9 L109.5,40.4 L93.9,42.6 L107.9,44.6 L95.2,47.1 L106.4,49.1 L101.1,51.5 L103.4,53.5 L92.2,57.2 L111.8,61.2 L93.6,65.0 L112.6,69.4 L95.0,73.9 L112.3,77.6 L92.2,81.4 L109.8,85.2 L94.3,89.4 L107.9,93.5 L94.2,97.9 L109.0,101.7 L97.1,105.9 L106.3,109.3 L98.4,113.4 L107.0,117.3 L100.0,120.9 L103.4,125.0 L97.6,128.4 L106.9,133.0 L102.4,136.7 L101.3,140.1 L96.4,144.5 L107.9,148.6 L105.3,152.9" fill="none" stroke="#f04e23" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.5,20.0 L63.0,22.9 L78.2,25.3 L61.4,27.7 L78.5,30.2 L61.4,33.1 L75.7,36.0 L68.8,38.6 L82.8,43.8 L59.0,48.0 L83.0,52.0 L61.7,57.4 L82.8,62.3 L58.5,67.5 L80.3,71.7 L59.9,76.2 L78.0,80.7 L62.7,85.5 L79.3,89.7 L63.2,94.7 L77.8,98.8 L60.6,103.0 L75.6,107.4 L62.8,112.1 L76.9,116.7 L64.8,120.8 L74.5,125.6 L65.2,130.2 L75.1,135.3 L65.9,140.1 L74.1,144.8 L66.1,149.5 L73.5,154.2 L67.8,158.8" fill="none" stroke="#f04e23" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#f04e23" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170"><defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/><feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/><feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer><feMerge><feMergeNode in="n2"/><feMergeNode in="b"/></feMerge></filter></defs><path d="M38.5,38.0 L34.6,39.9 L44.1,42.2 L31.2,44.4 L45.3,46.4 L31.4,48.5 L42.7,50.7 L37.1,52.7 L48.7,56.1 L27.9,59.5 L45.1,63.4 L31.2,67.5 L48.0,71.7 L28.7,75.1 L44.5,79.1 L31.7,83.1 L46.2,87.3 L32.5,91.6 L45.3,95.2 L32.5,99.1 L42.4,103.3 L35.4,106.8 L40.5,110.7 L33.7,114.7 L41.8,118.3 L37.0,121.7 L38.4,125.7 L32.9,129.7 L43.3,133.9 L39.6,137.5 L35.8,140.8 L32.2,144.9 L43.3,149.0" fill="none" stroke="#14965a" stroke-width="1.8" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M102.5,36.0 L96.8,38.5 L108.8,40.9 L93.6,43.0 L108.0,45.5 L95.4,47.7 L105.6,50.1 L100.5,52.2 L110.8,56.0 L93.1,60.3 L110.8,64.8 L93.2,69.3 L112.2,73.8 L94.5,78.1 L108.5,81.8 L93.1,85.4 L108.9,88.9 L95.6,93.0 L108.4,96.8 L96.3,101.1 L106.3,105.7 L98.5,110.0 L105.7,114.0 L96.8,118.6 L107.0,122.0 L100.8,126.6 L102.7,130.6 L96.3,134.3 L107.0,138.6 L103.3,142.7 L100.2,146.5 L95.7,151.1 L107.8,154.9" fill="none" stroke="#14965a" stroke-width="1.9" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M70.7,20.0 L63.4,22.8 L77.7,25.3 L60.5,27.7 L77.2,30.4 L62.4,33.0 L74.7,35.4 L68.6,38.0 L71.7,40.5 L60.8,45.7 L82.7,50.9 L61.5,55.9 L79.1,60.9 L60.5,66.1 L78.5,70.6 L61.6,75.8 L79.4,81.0 L60.2,85.3 L76.7,90.0 L62.6,95.2 L79.1,99.2 L62.8,104.2 L77.4,108.5 L62.4,113.3 L76.8,118.0 L64.8,123.0 L75.7,127.3 L63.9,132.3 L74.7,137.5 L66.5,142.5 L73.1,147.1 L65.8,152.3 L73.1,157.2" fill="none" stroke="#14965a" stroke-width="2.2" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/><path d="M80.4,48.0 L77.4,43.3 L82.2,38.7 L79.2,34.0 L84.1,29.3 L81.1,24.7 L86.0,20.0 L83.0,15.3 L87.8,10.7 L84.8,6.0" fill="none" stroke="#14965a" stroke-width="2.2" stroke-linecap="round" filter="url(#spray)"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#fff" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#fff"/><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#111"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#111"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#fff"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 991 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="26" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.1" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 947 B |
BIN
tools/__pycache__/faro.cpython-312.pyc
Normal file
103
tools/ejes.py
|
|
@ -1,8 +1,8 @@
|
|||
# Genera sites/<web>/img/eje-*.svg: una piña pequeña de tres monigotes de un trazo en zigzag,
|
||||
# en el color de cada eje del ideario (los mismos colores que los regueros del dibujo).
|
||||
# Genera sites/<web>/img/eje-*.svg: un símbolo por eje pintado con spray (relleno en zigzag,
|
||||
# trazos con pulso y chorreones), en el color de cada eje (los mismos que los regueros del dibujo).
|
||||
import sys, random, math, os
|
||||
OUT = sys.argv[1]
|
||||
EJES = {"techo": "#f04e23", "tierra": "#14965a", "fronteras": "#f2b705", "paz": "#3b5bdb", "feminismos": "#8e44c9"}
|
||||
EJES = {"hogar": "#f04e23", "clima": "#14965a", "fronteras": "#f2b705", "pueblos": "#3b5bdb", "igualdad": "#8e44c9"}
|
||||
DEFS = ('<defs><filter id="spray" x="-30%" y="-10%" width="160%" height="120%"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" seed="3" result="t"/>'
|
||||
'<feDisplacementMap in="SourceGraphic" in2="t" scale="1.6" result="d"/><feGaussianBlur in="d" stdDeviation=".4" result="b"/>'
|
||||
'<feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="n"/><feComponentTransfer in="n" result="n2"><feFuncA type="linear" slope=".3"/></feComponentTransfer>'
|
||||
|
|
@ -34,11 +34,102 @@ def monigote(o, x, y, h, col, brazo=False, paso=False):
|
|||
p = [(bx + j / 9 * h * .06 + (-1 if j % 2 else 1) * h * .014, by - j / 9 * h * .3) for j in range(10)]
|
||||
o.append(f'<path d="M' + " L".join(f"{px:.1f},{py:.1f}" for px, py in p) + f'" fill="none" stroke="{col}" stroke-width="{sw:.1f}" stroke-linecap="round" filter="url(#spray)"/>')
|
||||
|
||||
def j(v, a):
|
||||
return v + random.uniform(-a, a)
|
||||
|
||||
def relleno(o, poly, col, paso=2.6, sw=3.6):
|
||||
# Zigzag horizontal que rellena un polígono convexo, como una pasada de spray.
|
||||
ys = [y for _, y in poly]
|
||||
pts, y, i = [], min(ys) + sw * .4, 0
|
||||
while y <= max(ys) - sw * .4:
|
||||
xs = []
|
||||
for (x1, y1), (x2, y2) in zip(poly, poly[1:] + poly[:1]):
|
||||
if (y1 <= y < y2) or (y2 <= y < y1):
|
||||
xs.append(x1 + (y - y1) * (x2 - x1) / (y2 - y1))
|
||||
if len(xs) >= 2:
|
||||
a, b = min(xs), max(xs)
|
||||
pts.append((j(a if i % 2 else b, 1.2), y))
|
||||
i += 1
|
||||
y += paso * random.uniform(.85, 1.15)
|
||||
o.append(f'<path d="M{" L".join(f"{x:.1f},{y:.1f}" for x, y in pts)}" fill="none" stroke="{col}" stroke-width="{sw:.1f}" stroke-linejoin="round" stroke-linecap="round" filter="url(#spray)"/>')
|
||||
|
||||
def linea(o, pts, col, sw=5):
|
||||
# Trazo con pulso: dos pasadas ligeramente desplazadas.
|
||||
for k in range(2):
|
||||
d = "M" + " L".join(f"{j(x, 1.1):.1f},{j(y, 1.1):.1f}" for x, y in pts)
|
||||
o.append(f'<path d="{d}" fill="none" stroke="{col}" stroke-width="{sw * (1 if k == 0 else .6):.1f}" stroke-linejoin="round" stroke-linecap="round" opacity="{1 if k == 0 else .7}" filter="url(#spray)"/>')
|
||||
|
||||
def chorreon(o, x, y, largo, col):
|
||||
y -= 6
|
||||
o.append(f'<path d="M{x:.1f},{y:.1f} L{j(x, .6):.1f},{y + largo:.1f}" stroke="{col}" stroke-width="2.4" stroke-linecap="round" filter="url(#spray)"/>')
|
||||
o.append(f'<circle cx="{x:.1f}" cy="{y + largo:.1f}" r="2.2" fill="{col}" filter="url(#spray)"/>')
|
||||
|
||||
def hogar(o, col):
|
||||
# Una casa: tejado, dos muros y el dintel; la puerta queda en blanco.
|
||||
relleno(o, [(70, 22), (128, 72), (12, 72)], col)
|
||||
relleno(o, [(24, 72), (54, 72), (54, 150), (24, 150)], col)
|
||||
relleno(o, [(86, 72), (116, 72), (116, 150), (86, 150)], col)
|
||||
relleno(o, [(54, 72), (86, 72), (86, 96), (54, 96)], col)
|
||||
linea(o, [(98, 50), (98, 26), (110, 26), (110, 60)], col, 5)
|
||||
for x, l in ((30, 22), (47, 14), (92, 28), (110, 16)):
|
||||
chorreon(o, x, 150, l, col)
|
||||
|
||||
def clima(o, col):
|
||||
# El planeta que se derrite: anillo en zigzag, meridianos y chorreones.
|
||||
cx, cy, r, pts = 70, 72, 52, []
|
||||
for i in range(220):
|
||||
a = 2 * math.pi * i / 219
|
||||
rr = r - (0 if i % 2 else 11) + random.uniform(-1.5, 1.5)
|
||||
pts.append((cx + rr * math.cos(a), cy + rr * math.sin(a)))
|
||||
o.append(f'<path d="M{" L".join(f"{x:.1f},{y:.1f}" for x, y in pts)}" fill="none" stroke="{col}" stroke-width="3.2" stroke-linejoin="round" filter="url(#spray)"/>')
|
||||
linea(o, [(cx + 44 * math.cos(math.pi * k / 20), cy + 44 * math.sin(math.pi * k / 20) * .32) for k in range(21)], col, 4)
|
||||
linea(o, [(cx + 44 * math.cos(math.pi * k / 20) * .38, cy - 44 * math.sin(math.pi * k / 20)) for k in range(-10, 11)], col, 4)
|
||||
for x, l in ((40, 26), (55, 40), (72, 30), (88, 44), (102, 20)):
|
||||
y0 = cy + math.sqrt(max(0, r * r - (x - cx) ** 2)) - 4
|
||||
chorreon(o, x, y0, l, col)
|
||||
|
||||
def fronteras(o, col):
|
||||
# Una valla rota: barrotes que se abren en el centro y alambre de espino cortado.
|
||||
for x in (14, 32, 108, 126):
|
||||
linea(o, [(x, 40), (x, 150)], col, 6)
|
||||
linea(o, [(50, 150), (52, 100), (40, 56)], col, 6)
|
||||
linea(o, [(90, 150), (88, 100), (100, 56)], col, 6)
|
||||
linea(o, [(6, 62), (44, 66)], col, 5)
|
||||
linea(o, [(96, 66), (134, 62)], col, 5)
|
||||
linea(o, [(6, 112), (54, 114)], col, 5)
|
||||
linea(o, [(86, 114), (134, 112)], col, 5)
|
||||
for x, y in ((22, 64), (116, 64), (22, 113), (118, 113)):
|
||||
linea(o, [(x - 4, y - 4), (x + 4, y + 4)], col, 4)
|
||||
linea(o, [(x + 4, y - 4), (x - 4, y + 4)], col, 4)
|
||||
|
||||
def igualdad(o, col):
|
||||
# El signo igual, en dos barras de spray con chorreones.
|
||||
relleno(o, [(14, 50), (126, 46), (126, 76), (14, 80)], col)
|
||||
relleno(o, [(14, 100), (126, 96), (126, 126), (14, 130)], col)
|
||||
for x, y, l in ((30, 79, 14), (100, 75, 10), (46, 129, 22), (112, 126, 14)):
|
||||
chorreon(o, x, y, l, col)
|
||||
|
||||
def eslabon(o, cx, cy, ang, col, roto=False):
|
||||
# Un eslabón: óvalo a pulso; el roto se abre por un extremo.
|
||||
ca, sa, pts = math.cos(ang), math.sin(ang), []
|
||||
for k in range(29 if roto else 37):
|
||||
t = 2 * math.pi * (k / 36 + (.12 if roto else 0))
|
||||
x, y = 19 * math.cos(t), 11 * math.sin(t)
|
||||
pts.append((cx + x * ca - y * sa, cy + x * sa + y * ca))
|
||||
linea(o, pts, col, 7)
|
||||
|
||||
def pueblos(o, col):
|
||||
# Una cadena rota: dos tramos enlazados que se abren en el centro, con chispas en el corte.
|
||||
eslabon(o, 20, 118, -.3, col)
|
||||
eslabon(o, 48, 108, -.3, col, roto=True)
|
||||
eslabon(o, 92, 108, .3 + math.pi, col, roto=True)
|
||||
eslabon(o, 120, 118, .3, col)
|
||||
for a in (-2.5, -2.0, -1.57, -1.14, -.64):
|
||||
linea(o, [(70 + 16 * math.cos(a), 96 + 16 * math.sin(a)), (70 + 36 * math.cos(a), 96 + 36 * math.sin(a))], col, 5)
|
||||
|
||||
os.makedirs(OUT, exist_ok=True)
|
||||
for n, (nombre, col) in enumerate(EJES.items()):
|
||||
random.seed(40 + n)
|
||||
o = []
|
||||
monigote(o, 38, 150, 112, col, paso=True)
|
||||
monigote(o, 102, 156, 120, col, paso=True)
|
||||
monigote(o, 70, 160, 140, col, brazo=True)
|
||||
globals()[nombre](o, col)
|
||||
open(f"{OUT}/eje-{nombre}.svg", "w").write(f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 170" width="140" height="170">{DEFS}' + "".join(o) + "</svg>\n")
|
||||
|
|
|
|||
50
tools/faro.py
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# Genera el símbolo: un faro dentro de un aro grueso, como un emblema de tienda de graffiti.
|
||||
# La luz es amarilla: un haz horizontal que se abre hacia los dos lados y un halo en círculo.
|
||||
import sys
|
||||
INK, BL, NAR = "#111", "#fff", "#f04e23"
|
||||
LUZ, CLARA = "#ffc21a", "#fff4b8"
|
||||
CX, CY = 50, 36 # centro de la linterna
|
||||
|
||||
def luz_(luz, clara):
|
||||
# Haz: dos cuñas horizontales que se ensanchan hacia fuera, y ondas en círculo alrededor.
|
||||
haz = (f'<path d="M{CX},{CY - 3} L0,{CY - 17} V{CY + 17} L{CX},{CY + 3} L100,{CY + 17} V{CY - 17} Z" fill="{luz}" opacity=".9"/>')
|
||||
ondas = "".join(f'<circle cx="{CX}" cy="{CY}" r="{r}" fill="none" stroke="{luz}" stroke-width="{w}" opacity="{o}"/>'
|
||||
for r, w, o in ((19, 3, .9), (27, 2.2, .55)))
|
||||
halo = f'<circle cx="{CX}" cy="{CY}" r="12" fill="{luz}"/><circle cx="{CX}" cy="{CY}" r="6.5" fill="{clara}"/>'
|
||||
return haz + ondas + halo
|
||||
|
||||
def torre(ink, papel):
|
||||
# Torre que se estrecha hacia arriba, con dos franjas, la linterna y el tejado en punta.
|
||||
cuerpo = f'<path d="M42,46 H58 L65,100 H35 Z" fill="{ink}"/>'
|
||||
franjas = "".join(f'<path d="M{43.3 - (y - 46) * 7 / 54:.1f},{y} H{56.7 + (y - 46) * 7 / 54:.1f} L{57.3 + (y + 6 - 46) * 7 / 54:.1f},{y + 6} H{42.7 - (y + 6 - 46) * 7 / 54:.1f} Z" fill="{papel}"/>'
|
||||
for y in (56, 72))
|
||||
balcon = f'<rect x="39" y="43" width="22" height="4" rx="1" fill="{ink}"/>'
|
||||
linterna = f'<path d="M44,43 V31 M56,43 V31" stroke="{ink}" stroke-width="2.6"/>'
|
||||
tejado = f'<path d="M41,31 L50,21 L59,31 Z" fill="{ink}"/>'
|
||||
return cuerpo + franjas + balcon + linterna + tejado
|
||||
|
||||
def faro(estilo="aro", ink=INK, luz=LUZ, papel=BL, clara=CLARA, clip="c", grueso=7, fondo_aro=None):
|
||||
if estilo == "aro":
|
||||
defs = f'<clipPath id="{clip}"><circle cx="50" cy="50" r="42"/></clipPath>'
|
||||
fondo = f'<circle cx="50" cy="50" r="47" fill="{fondo_aro}"/>' if fondo_aro else ""
|
||||
dentro = f'<g clip-path="url(#{clip})">{luz_(luz, clara)}{torre(ink, papel)}</g>'
|
||||
aro = f'<circle cx="50" cy="50" r="45" fill="none" stroke="{ink}" stroke-width="{grueso}"/>'
|
||||
return defs + fondo + dentro + aro
|
||||
# Pegatina: círculo amarillo, la luz en blanco
|
||||
defs = f'<clipPath id="{clip}"><circle cx="50" cy="50" r="48"/></clipPath>'
|
||||
return defs + f'<circle cx="50" cy="50" r="48" fill="{luz}"/><g clip-path="url(#{clip})">{luz_(papel, BL)}{torre(ink, luz)}</g>'
|
||||
|
||||
def svg(cuerpo, fondo=None):
|
||||
bg = f'<rect width="100" height="100" fill="{fondo}"/>' if fondo else ""
|
||||
return f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">{bg}{cuerpo}</svg>\n'
|
||||
|
||||
def simbolo_mapa():
|
||||
# El mismo faro para el <symbol id="faro"> del mapa estático: fondo blanco y aro más grueso.
|
||||
return faro(clip="fc", grueso=9, fondo_aro=BL)
|
||||
|
||||
if __name__ == "__main__":
|
||||
d = sys.argv[1]
|
||||
open(f"{d}/simbolo.svg", "w").write(svg(faro()))
|
||||
open(f"{d}/simbolo-negativo.svg", "w").write(svg(faro(ink=BL, papel=INK), INK))
|
||||
open(f"{d}/simbolo-naranja.svg", "w").write(svg(faro(luz=BL, papel=NAR, clara="#ffe2a8"), NAR))
|
||||
open(f"{d}/simbolo-pegatina.svg", "w").write(svg(faro("pegatina")))
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
import sys
|
||||
NAR, LUZ, CLARA, INK, BL = "#f04e23", "#f45a1c", "#ffb03a", "#111", "#fff"
|
||||
|
||||
# La luz baja de la cabeza, llega al suelo y se abre en un charco (naranja por fuera, claro en el centro).
|
||||
CONOS = {
|
||||
"recta": "M57,33 H77 L98,92 H36 Z",
|
||||
"onda-suave": "M57,33 H77 C82,46 85,55 85,62 C85,69 88,73 89,76 H41 C42,72 45,69 45,62 C45,54 51,45 57,33 Z",
|
||||
"campana": "M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z",
|
||||
"onda": "M57,33 H77 C86,42 80,52 86,61 C90,67 91,72 90,76 H40 C39,72 41,67 44,61 C48,52 44,42 57,33 Z",
|
||||
# S pronunciada: los dos lados ondean hacia el mismo lado, como una bandera
|
||||
"s": "M57,33 H77 C64,48 102,60 92,76 H40 C58,60 40,48 57,33 Z",
|
||||
"s-media": "M57,33 H77 C70,48 96,60 92,76 H40 C54,60 46,48 57,33 Z",
|
||||
# S en espejo: se estrecha arriba y se abre abajo como una llama
|
||||
"s-espejo": "M57,33 H77 C66,50 100,58 92,76 H38 C30,58 68,50 57,33 Z",
|
||||
"s-espejo-media": "M57,33 H77 C70,50 94,58 92,76 H38 C36,58 64,50 57,33 Z",
|
||||
}
|
||||
CHARCO = {"onda-suave": 24, "campana": 27, "onda": 25, "s": 26, "s-media": 26, "s-espejo": 27, "s-espejo-media": 27}
|
||||
|
||||
def luz_(cono, luz, clara, ink, suelo=False):
|
||||
out = f'<path d="{CONOS[cono]}" fill="{luz}"/>'
|
||||
if cono in CHARCO:
|
||||
rx, ry = CHARCO[cono], 5.5
|
||||
out += (f'<ellipse cx="65" cy="76" rx="{rx}" ry="{ry}" fill="{luz}"/>'
|
||||
f'<ellipse cx="65" cy="76" rx="{rx * .62:.1f}" ry="{ry * .55:.1f}" fill="{clara}"/>')
|
||||
if cono == "recta":
|
||||
out += f'<ellipse cx="67" cy="86" rx="22" ry="5" fill="{ink}" opacity=".25"/>'
|
||||
if suelo:
|
||||
out += f'<path d="M8,84 H92" stroke="{ink}" stroke-width="3"/>'
|
||||
return out
|
||||
|
||||
def farola(estilo="aro", ink=INK, luz=LUZ, fondo=None, papel=BL, clara=CLARA, cono="s", suelo=False):
|
||||
bg = f'<rect width="100" height="100" fill="{fondo}"/>' if fondo else ""
|
||||
if estilo == "aro":
|
||||
defs = '<defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs>'
|
||||
cono = f'<g clip-path="url(#c)">{luz_(cono, luz, clara, ink, suelo)}</g>'
|
||||
poste = f'<path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="{ink}" stroke-width="8"/>'
|
||||
cabeza = f'<rect x="55" y="21" width="27" height="11" rx="3" fill="{ink}"/>'
|
||||
aro = f'<circle cx="50" cy="50" r="45" fill="none" stroke="{ink}" stroke-width="7"/>'
|
||||
return defs + cono + f'<g clip-path="url(#c)">{poste}</g>' + cabeza + aro
|
||||
pegatina = f'<circle cx="50" cy="50" r="48" fill="{luz}"/>'
|
||||
poste = f'<path d="M33,99 V38 Q33,22 49,22 H58" fill="none" stroke="{ink}" stroke-width="9"/>'
|
||||
cabeza = f'<rect x="52" y="17" width="30" height="11" rx="3" fill="{ink}"/>'
|
||||
rayos = "".join(f'<path d="M{x0},{y0} L{x1},{y1}" stroke="{papel}" stroke-width="4" stroke-linecap="round"/>'
|
||||
for x0, y0, x1, y1 in ((58, 35, 50, 52), (67, 36, 67, 56), (76, 35, 84, 52)))
|
||||
return f'<defs><clipPath id="c"><circle cx="50" cy="50" r="48"/></clipPath></defs>{pegatina}<g clip-path="url(#c)">{poste}</g>{cabeza}{rayos}'
|
||||
|
||||
def svg(cuerpo, fondo=None):
|
||||
bg = f'<rect width="100" height="100" fill="{fondo}"/>' if fondo else ""
|
||||
return f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">{bg}{cuerpo}</svg>\n'
|
||||
|
||||
if __name__ == "__main__":
|
||||
d = sys.argv[1]
|
||||
open(f"{d}/simbolo.svg", "w").write(svg(farola()))
|
||||
open(f"{d}/simbolo-negativo.svg", "w").write(svg(farola(ink=BL, papel=INK), INK))
|
||||
open(f"{d}/simbolo-naranja.svg", "w").write(svg(farola(luz=BL, papel=NAR, clara="#ffe2a8"), NAR))
|
||||
open(f"{d}/simbolo-pegatina.svg", "w").write(svg(farola("pegatina")))
|
||||
# Propuestas que no se usan, para tenerlas a mano
|
||||
import os
|
||||
os.makedirs(f"{d}/propuestas", exist_ok=True)
|
||||
for n, (cono, suelo) in enumerate((("onda-suave", False), ("campana", False), ("onda", False), ("campana", True)), 1):
|
||||
open(f"{d}/propuestas/farola-{n}-{cono}{'-suelo' if suelo else ''}.svg", "w").write(svg(farola(cono=cono, suelo=suelo)))
|
||||
open(f"{d}/propuestas/farola-recta.svg", "w").write(svg(farola(cono="recta")))
|
||||
for n, cono in enumerate(("s", "s-media", "s-espejo", "s-espejo-media"), 5):
|
||||
open(f"{d}/propuestas/farola-{n}-{cono}.svg", "w").write(svg(farola(cono=cono)))
|
||||