Add section illustrations and custom logo font (Space Grotesk)
- Add Google Font Space Grotesk for logo, coral-colored "Turku" - Add SVG illustrations: server rack (Palvelut), wind turbines (Energia), chat bubbles (UKK), envelope/location (Yhteystiedot) - CSS positioning for illustration-left/right with responsive hiding Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
155
index.html
155
index.html
@@ -5,6 +5,9 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Konesali Turku — Colocation & konesalipalvelut Turussa</title>
|
||||
<meta name="description" content="Luotettavat konesalipalvelut Turussa. Colocation-laitepaikkoja 1U:sta kokokaappiin. Redundantti infrastruktuuri, henkilökohtainen palvelu.">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
@@ -173,7 +176,58 @@
|
||||
</section>
|
||||
|
||||
<!-- Palvelut -->
|
||||
<section class="section" id="palvelut">
|
||||
<section class="section section-with-illustration" id="palvelut">
|
||||
<!-- Server rack front-view illustration -->
|
||||
<div class="illustration-left" aria-hidden="true">
|
||||
<svg viewBox="0 0 200 500" fill="none">
|
||||
<!-- Full 42U rack front view -->
|
||||
<rect x="30" y="20" width="140" height="460" rx="6" stroke="#e85d4a" stroke-width="1" opacity="0.08" fill="none"/>
|
||||
<!-- Rack rails -->
|
||||
<line x1="45" y1="20" x2="45" y2="480" stroke="#e85d4a" stroke-width="0.5" opacity="0.06"/>
|
||||
<line x1="155" y1="20" x2="155" y2="480" stroke="#e85d4a" stroke-width="0.5" opacity="0.06"/>
|
||||
<!-- Server units (various sizes) -->
|
||||
<rect x="50" y="35" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.1" fill="#e85d4a" fill-opacity="0.02"/>
|
||||
<rect x="50" y="57" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.1" fill="#e85d4a" fill-opacity="0.02"/>
|
||||
<rect x="50" y="79" width="100" height="34" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.12" fill="#e85d4a" fill-opacity="0.03"/>
|
||||
<rect x="50" y="119" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.08" fill="#e85d4a" fill-opacity="0.01"/>
|
||||
<rect x="50" y="141" width="100" height="34" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.1" fill="#e85d4a" fill-opacity="0.02"/>
|
||||
<rect x="50" y="181" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.08" fill="#e85d4a" fill-opacity="0.01"/>
|
||||
<rect x="50" y="203" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.1" fill="#e85d4a" fill-opacity="0.02"/>
|
||||
<rect x="50" y="225" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.08" fill="#e85d4a" fill-opacity="0.01"/>
|
||||
<rect x="50" y="247" width="100" height="34" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.12" fill="#e85d4a" fill-opacity="0.03"/>
|
||||
<rect x="50" y="287" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.08" fill="#e85d4a" fill-opacity="0.01"/>
|
||||
<rect x="50" y="309" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.1" fill="#e85d4a" fill-opacity="0.02"/>
|
||||
<rect x="50" y="331" width="100" height="16" rx="2" stroke="#e85d4a" stroke-width="0.6" opacity="0.08" fill="#e85d4a" fill-opacity="0.01"/>
|
||||
<!-- LED indicators -->
|
||||
<circle cx="58" cy="43" r="2" fill="#e85d4a" opacity="0.2"/>
|
||||
<circle cx="58" cy="65" r="2" fill="#4ade80" opacity="0.15"/>
|
||||
<circle cx="58" cy="96" r="2.5" fill="#e85d4a" opacity="0.25"/>
|
||||
<circle cx="58" cy="127" r="2" fill="#4ade80" opacity="0.12"/>
|
||||
<circle cx="58" cy="158" r="2.5" fill="#e85d4a" opacity="0.2"/>
|
||||
<circle cx="58" cy="189" r="2" fill="#4ade80" opacity="0.15"/>
|
||||
<circle cx="58" cy="211" r="2" fill="#e85d4a" opacity="0.18"/>
|
||||
<circle cx="58" cy="264" r="2.5" fill="#4ade80" opacity="0.2"/>
|
||||
<circle cx="58" cy="295" r="2" fill="#e85d4a" opacity="0.15"/>
|
||||
<circle cx="58" cy="317" r="2" fill="#4ade80" opacity="0.18"/>
|
||||
<!-- Activity bars -->
|
||||
<line x1="68" y1="43" x2="88" y2="43" stroke="#e85d4a" stroke-width="0.5" opacity="0.08"/>
|
||||
<line x1="68" y1="96" x2="95" y2="96" stroke="#e85d4a" stroke-width="0.5" opacity="0.1"/>
|
||||
<line x1="68" y1="158" x2="82" y2="158" stroke="#e85d4a" stroke-width="0.5" opacity="0.08"/>
|
||||
<line x1="68" y1="264" x2="92" y2="264" stroke="#e85d4a" stroke-width="0.5" opacity="0.1"/>
|
||||
<!-- Ventilation holes pattern -->
|
||||
<g opacity="0.04">
|
||||
<circle cx="130" cy="43" r="1" fill="#e85d4a"/>
|
||||
<circle cx="136" cy="43" r="1" fill="#e85d4a"/>
|
||||
<circle cx="142" cy="43" r="1" fill="#e85d4a"/>
|
||||
<circle cx="130" cy="96" r="1" fill="#e85d4a"/>
|
||||
<circle cx="136" cy="96" r="1" fill="#e85d4a"/>
|
||||
<circle cx="142" cy="96" r="1" fill="#e85d4a"/>
|
||||
<circle cx="130" cy="158" r="1" fill="#e85d4a"/>
|
||||
<circle cx="136" cy="158" r="1" fill="#e85d4a"/>
|
||||
<circle cx="142" cy="158" r="1" fill="#e85d4a"/>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="container">
|
||||
<h2 class="section-title">Palvelut</h2>
|
||||
<p class="section-subtitle">Colocation-laitepaikkoja yksittäisestä palvelimesta kokokaappiin</p>
|
||||
@@ -421,7 +475,47 @@
|
||||
</section>
|
||||
|
||||
<!-- Vihreä energia -->
|
||||
<section class="section section-green" id="energia">
|
||||
<section class="section section-green section-with-illustration" id="energia">
|
||||
<!-- Wind turbine illustration -->
|
||||
<div class="illustration-right" aria-hidden="true">
|
||||
<svg viewBox="0 0 200 400" fill="none">
|
||||
<!-- Wind turbine 1 -->
|
||||
<g transform="translate(80, 40)">
|
||||
<!-- Tower -->
|
||||
<line x1="50" y1="80" x2="50" y2="320" stroke="#059669" stroke-width="2" opacity="0.12"/>
|
||||
<line x1="44" y1="320" x2="56" y2="320" stroke="#059669" stroke-width="2" opacity="0.1"/>
|
||||
<!-- Hub -->
|
||||
<circle cx="50" cy="80" r="5" fill="#059669" opacity="0.12"/>
|
||||
<!-- Blades -->
|
||||
<line x1="50" y1="80" x2="50" y2="20" stroke="#059669" stroke-width="1.5" opacity="0.15" stroke-linecap="round"/>
|
||||
<line x1="50" y1="80" x2="100" y2="108" stroke="#059669" stroke-width="1.5" opacity="0.12" stroke-linecap="round"/>
|
||||
<line x1="50" y1="80" x2="5" y2="108" stroke="#059669" stroke-width="1.5" opacity="0.1" stroke-linecap="round"/>
|
||||
</g>
|
||||
<!-- Wind turbine 2 (smaller, background) -->
|
||||
<g transform="translate(20, 100)" opacity="0.6">
|
||||
<line x1="30" y1="50" x2="30" y2="220" stroke="#059669" stroke-width="1.5" opacity="0.1"/>
|
||||
<circle cx="30" cy="50" r="3.5" fill="#059669" opacity="0.1"/>
|
||||
<line x1="30" y1="50" x2="30" y2="10" stroke="#059669" stroke-width="1" opacity="0.12" stroke-linecap="round"/>
|
||||
<line x1="30" y1="50" x2="62" y2="68" stroke="#059669" stroke-width="1" opacity="0.1" stroke-linecap="round"/>
|
||||
<line x1="30" y1="50" x2="0" y2="68" stroke="#059669" stroke-width="1" opacity="0.08" stroke-linecap="round"/>
|
||||
</g>
|
||||
<!-- Sun rays -->
|
||||
<circle cx="160" cy="60" r="20" stroke="#059669" stroke-width="1" opacity="0.08" fill="#059669" fill-opacity="0.02"/>
|
||||
<circle cx="160" cy="60" r="10" fill="#059669" opacity="0.06"/>
|
||||
<g stroke="#059669" stroke-width="0.8" opacity="0.06">
|
||||
<line x1="160" y1="30" x2="160" y2="22"/>
|
||||
<line x1="160" y1="90" x2="160" y2="98"/>
|
||||
<line x1="130" y1="60" x2="122" y2="60"/>
|
||||
<line x1="190" y1="60" x2="198" y2="60"/>
|
||||
<line x1="139" y1="39" x2="133" y2="33"/>
|
||||
<line x1="181" y1="81" x2="187" y2="87"/>
|
||||
<line x1="139" y1="81" x2="133" y2="87"/>
|
||||
<line x1="181" y1="39" x2="187" y2="33"/>
|
||||
</g>
|
||||
<!-- Ground/landscape line -->
|
||||
<path d="M0 340 Q50 325 100 335 Q150 345 200 330" stroke="#059669" stroke-width="0.8" opacity="0.08" fill="none"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="green-energy">
|
||||
<div class="green-energy-content">
|
||||
@@ -650,7 +744,32 @@
|
||||
</section>
|
||||
|
||||
<!-- Usein kysytyt kysymykset -->
|
||||
<section class="section section-alt" id="ukk">
|
||||
<section class="section section-alt section-with-illustration" id="ukk">
|
||||
<!-- Question bubbles illustration -->
|
||||
<div class="illustration-left" aria-hidden="true">
|
||||
<svg viewBox="0 0 200 400" fill="none">
|
||||
<!-- Chat bubble 1 -->
|
||||
<rect x="30" y="40" width="120" height="60" rx="12" stroke="#e85d4a" stroke-width="0.8" opacity="0.1" fill="#e85d4a" fill-opacity="0.02"/>
|
||||
<path d="M60 100 L50 115 L75 100" stroke="#e85d4a" stroke-width="0.8" opacity="0.1" fill="#e85d4a" fill-opacity="0.02"/>
|
||||
<!-- Question mark inside -->
|
||||
<text x="90" y="80" font-size="28" fill="#e85d4a" opacity="0.08" text-anchor="middle" font-family="serif" font-weight="700">?</text>
|
||||
<!-- Chat bubble 2 -->
|
||||
<rect x="50" y="140" width="130" height="50" rx="10" stroke="#e85d4a" stroke-width="0.8" opacity="0.08" fill="#e85d4a" fill-opacity="0.015"/>
|
||||
<path d="M150 190 L165 202 L145 190" stroke="#e85d4a" stroke-width="0.8" opacity="0.08" fill="#e85d4a" fill-opacity="0.015"/>
|
||||
<!-- Lines representing text -->
|
||||
<line x1="65" y1="157" x2="155" y2="157" stroke="#e85d4a" stroke-width="1" opacity="0.05"/>
|
||||
<line x1="65" y1="168" x2="140" y2="168" stroke="#e85d4a" stroke-width="1" opacity="0.04"/>
|
||||
<line x1="65" y1="179" x2="125" y2="179" stroke="#e85d4a" stroke-width="1" opacity="0.03"/>
|
||||
<!-- Chat bubble 3 -->
|
||||
<rect x="20" y="230" width="110" height="55" rx="10" stroke="#e85d4a" stroke-width="0.8" opacity="0.07" fill="#e85d4a" fill-opacity="0.01"/>
|
||||
<path d="M50 285 L40 298 L65 285" stroke="#e85d4a" stroke-width="0.8" opacity="0.07" fill="#e85d4a" fill-opacity="0.01"/>
|
||||
<text x="75" y="265" font-size="22" fill="#e85d4a" opacity="0.06" text-anchor="middle" font-family="serif" font-weight="700">?</text>
|
||||
<!-- Decorative dots -->
|
||||
<circle cx="170" cy="260" r="3" fill="#e85d4a" opacity="0.06"/>
|
||||
<circle cx="160" cy="280" r="2" fill="#e85d4a" opacity="0.04"/>
|
||||
<circle cx="175" cy="295" r="2.5" fill="#e85d4a" opacity="0.05"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="container">
|
||||
<h2 class="section-title">Usein kysytyt kysymykset</h2>
|
||||
<p class="section-subtitle">Vastauksia yleisimpiin colocation-palveluita koskeviin kysymyksiin</p>
|
||||
@@ -714,7 +833,35 @@
|
||||
</section>
|
||||
|
||||
<!-- Yhteystiedot -->
|
||||
<section class="section" id="yhteystiedot">
|
||||
<section class="section section-with-illustration" id="yhteystiedot">
|
||||
<!-- Envelope / connection illustration -->
|
||||
<div class="illustration-right" aria-hidden="true">
|
||||
<svg viewBox="0 0 200 400" fill="none">
|
||||
<!-- Envelope shape -->
|
||||
<rect x="40" y="80" width="120" height="80" rx="6" stroke="#e85d4a" stroke-width="0.8" opacity="0.1" fill="#e85d4a" fill-opacity="0.015"/>
|
||||
<path d="M40 86 L100 130 L160 86" stroke="#e85d4a" stroke-width="0.8" opacity="0.1"/>
|
||||
<path d="M40 160 L80 125" stroke="#e85d4a" stroke-width="0.6" opacity="0.06"/>
|
||||
<path d="M160 160 L120 125" stroke="#e85d4a" stroke-width="0.6" opacity="0.06"/>
|
||||
<!-- Signal waves from envelope -->
|
||||
<path d="M165 95 Q175 95 175 105" stroke="#e85d4a" stroke-width="0.6" opacity="0.08" fill="none"/>
|
||||
<path d="M170 88 Q185 88 185 108" stroke="#e85d4a" stroke-width="0.5" opacity="0.06" fill="none"/>
|
||||
<!-- Pin/location marker -->
|
||||
<g transform="translate(80, 200)">
|
||||
<path d="M20 0 C9 0 0 9 0 20 C0 35 20 52 20 52 C20 52 40 35 40 20 C40 9 31 0 20 0Z" stroke="#e85d4a" stroke-width="0.8" opacity="0.08" fill="#e85d4a" fill-opacity="0.015"/>
|
||||
<circle cx="20" cy="20" r="8" stroke="#e85d4a" stroke-width="0.6" opacity="0.08"/>
|
||||
<circle cx="20" cy="20" r="3" fill="#e85d4a" opacity="0.06"/>
|
||||
</g>
|
||||
<!-- Connection dots -->
|
||||
<circle cx="50" cy="290" r="3" fill="#e85d4a" opacity="0.06"/>
|
||||
<circle cx="90" cy="305" r="2.5" fill="#e85d4a" opacity="0.05"/>
|
||||
<circle cx="140" cy="295" r="2" fill="#e85d4a" opacity="0.04"/>
|
||||
<line x1="50" y1="290" x2="90" y2="305" stroke="#e85d4a" stroke-width="0.5" opacity="0.04"/>
|
||||
<line x1="90" y1="305" x2="140" y2="295" stroke="#e85d4a" stroke-width="0.5" opacity="0.04"/>
|
||||
<!-- Phone icon outline -->
|
||||
<rect x="60" y="330" width="30" height="50" rx="4" stroke="#e85d4a" stroke-width="0.6" opacity="0.06"/>
|
||||
<line x1="68" y1="370" x2="82" y2="370" stroke="#e85d4a" stroke-width="0.5" opacity="0.05"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="container">
|
||||
<h2 class="section-title">Ota yhteyttä</h2>
|
||||
<p class="section-subtitle">Kerro tarpeistasi, niin teemme sinulle tarjouksen</p>
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Konesali — Tekniset tiedot | Konesali Turku</title>
|
||||
<meta name="description" content="Konesali Turun tekniset tiedot: sähköjärjestelmät, jäähdytys, tietoliikenneyhteydet, turvallisuus ja tilat.">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
35
style.css
35
style.css
@@ -114,9 +114,10 @@ a:hover {
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
color: var(--color-white);
|
||||
font-size: 1.25rem;
|
||||
font-family: 'Space Grotesk', var(--font-family);
|
||||
font-size: 1.3rem;
|
||||
font-weight: 400;
|
||||
letter-spacing: -0.01em;
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
.logo:hover {
|
||||
@@ -125,6 +126,7 @@ a:hover {
|
||||
|
||||
.logo strong {
|
||||
font-weight: 700;
|
||||
color: var(--color-primary-light);
|
||||
}
|
||||
|
||||
.logo-icon {
|
||||
@@ -1351,6 +1353,31 @@ a:hover {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* === Section Illustrations === */
|
||||
.illustration-left,
|
||||
.illustration-right {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 220px;
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.illustration-left {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.illustration-right {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.illustration-left svg,
|
||||
.illustration-right svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* === Animations === */
|
||||
.fade-in {
|
||||
opacity: 0;
|
||||
@@ -1371,7 +1398,9 @@ a:hover {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.blueprint-decoration {
|
||||
.blueprint-decoration,
|
||||
.illustration-left,
|
||||
.illustration-right {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user