feat(footer): arsitektur 4-kolom institusi, native svg social icons, dan opsi jam layanan

This commit is contained in:
Mas Budi Kusuma
2026-09-15 22:56:17 +07:00
parent 8bcb046113
commit 77819e7d1f
3 changed files with 324 additions and 140 deletions
+102 -17
View File
@@ -4,7 +4,7 @@ Theme URI: https://edukarsa.masbudi.my.id
Author: masbudikusuma
Author URI: https://masbudi.my.id
Description: Tema WordPress profesional untuk sekolah dan kampus (Gaya Modern Card Layout).
Version: 1.1.2
Version: 1.1.3
*/
:root {
@@ -35,14 +35,14 @@ img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: var(--primary-color); transition: 0.3s; }
h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-height: 1.3; }
/* 2. LAYOUT KOTAK UTAMA (PADDINGS TERKALIBRASI) */
/* 2. LAYOUT UTAMA */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.text-center { text-align: center; }
.text-white { color: #fff !important; }
.edukarsa-section { padding: 50px 0; }
.section-title { font-size: 30px; color: var(--heading-color); margin-bottom: 12px; font-weight: 800; letter-spacing: -0.5px; }
/* 3. HEADER & MENU NAVIGATION */
/* 3. HEADER & NAV */
.site-header { position: sticky; top: 0; z-index: 999; box-shadow: 0 4px 15px rgba(0,0,0,0.12); padding: 15px 0; background-color: var(--primary-color); }
.header-container { display: flex; justify-content: space-between; align-items: center; }
.logo-link { display: flex; align-items: center; gap: 15px; color: #fff; }
@@ -51,7 +51,7 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.nav-menu-custom li a { display: block; color: #ffffff; font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 0.8px; padding: 10px 0; }
.nav-menu-custom li a:hover { color: #f39c12; }
/* DROPDOWN MENU */
/* DROPDOWN */
.nav-menu-custom li { position: relative; }
.nav-menu-custom .sub-menu {
position: absolute;
@@ -74,7 +74,7 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.nav-menu-custom .sub-menu .sub-menu { top: 0; left: 100%; transform: translateX(15px); }
.nav-menu-custom .sub-menu li:hover > .sub-menu { transform: translateX(0); }
/* 4. ANIMASI SLIDER */
/* 4. SLIDER */
.edukarsa-hero-slider { padding: 0; }
.slider-container { position: relative; width: 100%; overflow: hidden; }
.slider-wrapper { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; scroll-behavior: smooth; }
@@ -98,7 +98,7 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.btn-outline-primary:hover { background-color: var(--primary-color); color: #fff; }
.badge-title { display: inline-block; color: var(--secondary-color); font-weight: 800; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 8px; }
/* 6. GRID SYSTEM & SPASI DINAMIS */
/* 6. GRID SYSTEM BERANDA */
.edukarsa-stats { padding: 0; position: relative; z-index: 20; }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: -95px; margin-bottom: 0; }
.stat-card-modern { padding: 32px 28px; text-align: left; border-radius: 18px; border-top: 5px solid var(--secondary-color); background: #fff; }
@@ -108,7 +108,6 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.stat-card-modern .stat-title { font-size: 17px; font-weight: 800; color: var(--heading-color); margin-bottom: 6px; }
.stat-card-modern .stat-desc { font-size: 14px; color: var(--text-muted); line-height: 1.6; margin: 0; }
/* SEKSI SAMBUTAN */
.edukarsa-sambutan { padding: 45px 0 50px; }
.sambutan-grid { display: grid; grid-template-columns: 360px 1fr; gap: 50px; align-items: start; }
.sambutan-text { color: #475569; font-size: 15px; line-height: 1.8; margin-bottom: 25px; }
@@ -120,19 +119,19 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.video-item { position: relative; border-radius: var(--radius); overflow: hidden; border: 4px solid rgba(255,255,255,0.25); }
.play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #e74c3c; color: white; padding: 18px; border-radius: 50%; font-size: 22px; cursor: pointer; }
/* PARALLAX (SINKRON WARNA TEMA) */
/* PARALLAX */
.parallax-section-wrapper { position: relative; background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; }
.parallax-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; background-color: var(--primary-color); opacity: 0.92; }
.relative-z2 { position: relative; z-index: 2; }
/* KEUNGGULAN (FLEXIBLE GRID AUTO-FIT) */
/* KEUNGGULAN */
.keunggulan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 25px; }
.keunggulan-card { position: relative; padding: 25px 28px; display: flex; align-items: flex-start; overflow: hidden; }
.keunggulan-number { position: absolute; top: 8px; right: 12px; font-size: 64px; font-weight: 900; color: rgba(11, 74, 142, 0.07); line-height: 1; z-index: 0; }
.keunggulan-content-inner { position: relative; z-index: 1; }
.keunggulan-content-inner h4 { color: var(--primary-color); margin-bottom: 8px; font-size: 17px; }
/* 8. FLOATING CTA SECTION (MENGHAPUS WALL OF BLUE) */
/* FLOATING CTA */
.edukarsa-cta-floating-section { position: relative; z-index: 15; margin-top: -45px; margin-bottom: 20px; }
.cta-floating-card {
background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
@@ -151,7 +150,7 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.news-content { padding: 22px; display: flex; flex-direction: column; flex-grow: 1; }
.news-title { font-size: 17px; margin-bottom: 10px; line-height: 1.4; font-weight: 700; }
/* 7. IMAGE LOCKS & PLACEHOLDERS */
/* 7. IMAGE LOCKS */
.img-wrapper-slider { height: 580px; width: 100%; overflow: hidden; position: relative; }
.img-wrapper-landscape { aspect-ratio: 16/10; width: 100%; overflow: hidden; position: relative; border-radius: 8px; }
.img-wrapper-video { aspect-ratio: 16/9; width: 100%; overflow: hidden; position: relative; border-radius: 10px; }
@@ -159,12 +158,96 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.img-wrapper-slider img, .img-wrapper-landscape img, .img-wrapper-video img, .img-wrapper-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.img-placeholder { width: 100%; height: 100%; background-color: #f1f5f9; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-muted); font-size: 14px; text-align: center; border: 2px dashed #cbd5e1; }
/* 9. SINGLE, PAGE & SIDEBAR LAYOUT */
/* 8. FOOTER BARU (4-KOLOM INSTITUSI PROFESIONAL) */
.site-footer {
background: linear-gradient(180deg, var(--primary-color) 0%, #08284d 100%);
color: #ffffff;
padding: 70px 0 0;
border-top: 5px solid var(--secondary-color);
}
.footer-grid-wrapper {
display: grid;
grid-template-columns: 1.4fr 1.1fr 0.9fr 1fr;
gap: 40px;
padding-bottom: 50px;
}
.footer-col-title {
color: #ffffff;
font-size: 17px;
font-weight: 700;
margin-bottom: 22px;
position: relative;
padding-bottom: 10px;
letter-spacing: -0.2px;
}
.footer-col-title::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 35px;
height: 3px;
background-color: var(--secondary-color);
border-radius: 2px;
}
/* Brand & Deskripsi */
.footer-brand-desc { font-size: 14px; color: rgba(255,255,255,0.8); line-height: 1.7; margin-bottom: 20px; }
.footer-hours-box { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,0.06); padding: 12px 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.1); }
.hours-icon { font-size: 22px; }
/* Kontak List */
.footer-contact-list { list-style: none; padding: 0; margin: 0; }
.footer-contact-list li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px; font-size: 14px; color: rgba(255,255,255,0.85); line-height: 1.6; }
.footer-contact-list li a { color: rgba(255,255,255,0.9); }
.footer-contact-list li a:hover { color: #f39c12; }
.f-icon { font-size: 16px; flex-shrink: 0; margin-top: 2px; }
/* Tautan Bersih */
.footer-links-custom { list-style: none; padding: 0; margin: 0; }
.footer-links-custom li { margin-bottom: 12px; }
.footer-links-custom li a { color: rgba(255,255,255,0.82); font-size: 14px; transition: all 0.25s ease; display: inline-flex; align-items: center; gap: 8px; }
.footer-links-custom li a::before { content: '›'; font-size: 16px; color: var(--secondary-color); font-weight: bold; transition: transform 0.2s; }
.footer-links-custom li a:hover { color: #ffffff; padding-left: 5px; }
.footer-links-custom li a:hover::before { transform: translateX(3px); color: #f39c12; }
/* Media Sosial SVG Buttons */
.footer-social-icons { display: flex; gap: 10px; flex-wrap: wrap; }
.social-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 10px;
background: rgba(255,255,255,0.08);
color: #ffffff !important;
border: 1px solid rgba(255,255,255,0.15);
transition: all 0.25s ease;
}
.social-btn:hover {
background: var(--secondary-color);
transform: translateY(-3px);
box-shadow: 0 8px 18px rgba(0,0,0,0.25);
border-color: transparent;
}
/* Bottom Copyright Bar */
.footer-bottom-bar {
border-top: 1px solid rgba(255,255,255,0.08);
padding: 22px 0;
background: rgba(0,0,0,0.15);
}
.footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; }
.copyright-text { margin: 0; font-size: 13px; color: rgba(255,255,255,0.65); }
.footer-bottom-badge { font-size: 12px; color: rgba(255,255,255,0.5); font-weight: 500; }
/* 9. SINGLE & SIDEBAR */
.single-layout-wrapper { display: grid; grid-template-columns: 2.6fr 1fr; gap: 35px; align-items: start; }
.sidebar-widget { padding: 25px; margin-bottom: 25px; }
.sidebar-widget-title { font-size: 18px; font-weight: 800; color: var(--heading-color); margin-bottom: 18px; border-bottom: 2px solid var(--primary-color); padding-bottom: 8px; }
/* 10. TYPOGRAPHY KONTEN ARTIKEL & HALAMAN */
/* 10. TYPOGRAPHY KONTEN */
.entry-content { font-size: 16px; color: #334155; line-height: 1.85; }
.entry-content p { margin-bottom: 22px; }
.entry-content h2 { font-size: 26px; margin: 35px 0 15px; color: var(--heading-color); }
@@ -173,16 +256,16 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
.entry-content li { margin-bottom: 8px; }
.entry-content blockquote { margin: 30px 0; padding: 20px 25px; background: #f8fafc; border-left: 4px solid var(--primary-color); font-style: italic; color: #475569; border-radius: 0 8px 8px 0; }
/* 11. FOOTER & PAGINATION */
.footer-links-custom { list-style: none; padding: 0; margin: 0; line-height: 2.2; }
.footer-links-custom li a { color: #ffffff; opacity: 0.85; font-size: 15px; }
.footer-links-custom li a:hover { opacity: 1; color: #f39c12; padding-left: 5px; }
/* 11. PAGINATION */
.pagination { margin-top: 45px; text-align: center; }
.pagination .nav-links { display: inline-flex; gap: 8px; align-items: center; }
.pagination .page-numbers { display: inline-block; padding: 9px 16px; background: #fff; color: var(--text-color); border: 1px solid #e2e8f0; border-radius: 8px; font-weight: 600; font-size: 14px; }
.pagination .page-numbers.current, .pagination .page-numbers:hover { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }
/* 12. RESPONSIVE MEDIA QUERIES */
@media (max-width: 1024px) {
.footer-grid-wrapper { grid-template-columns: repeat(2, 1fr); gap: 35px; }
}
@media (max-width: 992px) {
.single-layout-wrapper { grid-template-columns: 1fr; }
.program-grid, .milestone-grid, .news-grid { grid-template-columns: repeat(2, 1fr); }
@@ -193,6 +276,8 @@ h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 800; line-hei
@media (max-width: 768px) {
.header-container { flex-direction: column; gap: 15px; }
.nav-menu-custom { flex-wrap: wrap; justify-content: center; }
.footer-grid-wrapper { grid-template-columns: 1fr; gap: 30px; }
.footer-bottom-inner { flex-direction: column; text-align: center; }
.program-grid, .milestone-grid, .news-grid { grid-template-columns: 1fr; }
.stats-grid { grid-template-columns: 1fr; margin-top: -50px; gap: 16px; }
.edukarsa-sambutan { padding: 35px 0 40px; }