diff --git a/Choropleth/ptk.html b/Choropleth/ptk.html index 25cea62..82bbeaa 100644 --- a/Choropleth/ptk.html +++ b/Choropleth/ptk.html @@ -1,51 +1,187 @@ - + - + Kepadatan Penduduk Pontianak - Choropleth Map - Choropleth Tutorial - Leaflet + + - - - - + + + - - -
+
+
+ + Kepadatan Penduduk +
+
Visualisasi choropleth spasial jumlah penduduk per kecamatan di Kota Pontianak.
+ + + Kembali ke Portal + +
+
+ + - - diff --git a/index.php b/index.php index b56c946..824516a 100644 --- a/index.php +++ b/index.php @@ -1,3 +1,10 @@ + @@ -21,7 +28,7 @@ body { .navbar { background: var(--white); padding: 20px 40px; - display: flex;href + display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border); @@ -55,21 +62,40 @@ body { .main { max-width: 1140px; margin: 60px auto; padding: 0 24px; flex: 1; width: 100%; } .projects { - display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 24px; +} +@media (max-width: 1100px) { + .projects { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 600px) { + .projects { + grid-template-columns: 1fr; + } } -@media (max-width: 900px) { .projects { grid-template-columns: 1fr; } } .project-card { background: var(--white); border: 1px solid var(--border); border-radius: 16px; overflow: hidden; text-decoration: none; color: inherit; display: flex; flex-direction: column; - transition: all .25s ease; + transition: all .3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 4px 6px -1px rgba(0,0,0,.05), 0 2px 4px -1px rgba(0,0,0,.03); } .project-card:hover { transform: translateY(-5px); - box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04); - border-color: #bfdbfe; + box-shadow: 0 20px 25px -5px rgba(0,0,0,.08), 0 10px 10px -5px rgba(0,0,0,.03); + border-color: #3b82f6; +} +.project-card:hover .pc-icon { + background: var(--blue-primary); + color: var(--white); + transform: scale(1.08) rotate(2deg); +} +.project-card:hover .pc-link svg { + transform: translateX(6px); } .pc-head { padding: 30px 24px 20px; border-bottom: 1px solid var(--border); @@ -80,6 +106,7 @@ body { display: flex; align-items: center; justify-content: center; margin-bottom: 18px; background: var(--blue-light); color: var(--blue-primary); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .pc-icon svg { width: 28px; height: 28px; } .pc-head h2 { font-size: 18px; font-weight: 700; margin-bottom: 8px; color: #1e293b; } @@ -97,6 +124,9 @@ body { font-size: 14px; font-weight: 600; color: var(--blue-primary); display: flex; align-items: center; gap: 4px; } +.pc-link svg { + transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} .pc-tag { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; padding: 4px 10px; border-radius: 6px; @@ -133,7 +163,7 @@ body {
- +