# GävleGuiden

## 📌 Syfte

Syftet med projektet **GävleGuiden** är att skapa en modern, informativ och visuellt tilltalande webbplats som presenterar utvalda sevärdheter i **Gävle**.  
Webbplatsen ska fungera som en digital guide för både turister och invånare genom att erbjuda lättillgänglig information, bilder och externa länkar till varje plats.

Hemsidan ska:
- Väcka intresse för Gävle som besöksmål
- Vara informativ och lättnavigerad
- Fungera på dator, surfplatta och mobil
- Vara helt statisk utan backend eller databas



## 📋 Kravspecifikation

### 🗺️ Innehåll
Webbplatsen ska innehålla informationssidor för följande platser:
- Boulognerskogen
- Gävlebocken
- Järnvägsmuseet
- Fängelsemuseet
- Gävle Konserthus
- Fjärran Höjder

För varje plats gäller:
- **1–3 bilder per plats**
- Bilder på alla platser **förutom Gävlebocken** ska vara egenfotograferade
- Bilder på Gävlebocken får hämtas online och måste följa **upphovsrätt**
- Kort, beskrivande information om platsen
- Extern länk till platsens position via **Google Maps**
- Bilder ska visas med **CSS Flexbox**



### 🎨 Design & Användarupplevelse
- Webbplatsens namn ska vara **GävleGuiden**
- Navigationsmeny (navbar) ska finnas på alla sidor och innehålla:
  - Länkar till samtliga platser
  - Om oss
  - Kontakt
- Footer ska innehålla:
  - Dynamiskt årtal som hämtas via JavaScript
- Webbplatsen ska ha **Ljust och Mörkt läge**
  - Växling sker via knapp
  - Valet sparas i `localStorage`
- Webbplatsen ska vara **responsiv** för PC, surfplatta och mobil



### 🧑‍💻 Teknik & Struktur

#### Fil- och mappstruktur
Projektet ska använda följande struktur:

src/

```
src/
├── index.html
├── om-oss.html
├── kontakt.html
├── css/
│   └── style.css
├── js/
│   └── main.js
└── platser/
  ├── boulognerskogen.html
  ├── gavlebocken.html
  ├── jarnvagsmuseet.html
  ├── fangelsemuseet.html
  ├── konserthuset.html
  └── fjarran-hojder.html
```

- `index.html` ska ligga i `src/`
- Alla platser ska ha **egna HTML-filer** i `src/platser/`
- Sidorna **Om oss** och **Kontakt** ska ha egna HTML-filer i `src/` (`om-oss.html`, `kontakt.html`)
- All JavaScript-kod ska ligga i `src/js/main.js`
- All CSS ska ligga i extern fil:  
  `src/css/style.css`
- Ingen backend eller databas ska användas
- Projektet ska publiceras på GitHub med **MIT-licens**



## 🛠️ Genomförande

### 1️⃣ Planering
- Välja platser och samla information
- Ta egna bilder (eller lägga till temporära bilder tills egna har tagits)
- Säkerställa upphovsrätt för externa bilder (eller lägg till temporära bilder tills bilder har hittats som uppföljer Upphovsrätten)



### 2️⃣ Struktur & HTML
- Skapa `index.html` som startsida
- Skapa separata HTML-sidor för varje plats
- Implementera gemensam navbar och footer



### 3️⃣ CSS & Layout
- Implementera färgtema enligt specifikation
- Använda Flexbox för bildgallerier
- Säkerställa god kontrast och läsbarhet
- Skapa responsiv layout med media queries



### 4️⃣ JavaScript-funktionalitet
- Implementera ljust/mörkt läge i `main.js`
- Spara användarens val i `localStorage`
- Dynamiskt uppdatera årtal i footer
- Hantera interaktioner och navigering



### 5️⃣ Testning & Kvalitetssäkring
- Testa webbplatsen på olika skärmstorlekar
- Testa tema-växling
- Kontrollera Google Maps-länkar
- Validera HTML och CSS



## 🎨 Färgtema

### 🔴 Temafärger
- Primary: `#E10600`
- Hover: `#B10500`
- Subtle: `#FCE8E6`



### 🌕 Ljust läge
- Background: `#F8F9FB`
- Surface / Card: `#FFFFFF`
- Border / Divider: `#E5E7EB`

- Text Primary: `#0F172A`
- Text Secondary: `#475569`
- Text Muted: `#94A3B8`



### 🌑 Mörkt läge
- Background: `#0B0F14`
- Surface / Card: `#111827`
- Border / Divider: `#1F2933`

- Text Primary: `#E5E7EB`
- Text Secondary: `#9CA3AF`
- Text Muted: `#6B7280`



### 🟢 Statusfärger
- Success: `#22C55E`
- Warning: `#F59E0B`
- Error: `#EF4444`
- Info: `#38BDF8`
```

