All Posts - <data:blog.title/> <data:blog.pageTitle/> <data:blog.pageName/> - <data:blog.title/> Posts Tagged: <data:blog.searchLabel/> - <data:blog.title/> Search Results for: <data:blog.searchQuery/> - <data:blog.title/> Page Not Found - <data:blog.title/> iframe { display: none; } #google_translate_element { position: absolute; right: 0; } #google_translate_element .goog-te-gadget-simple { display: flex; padding: 4px; border: none; align-items: center; } #google_translate_element .goog-te-gadget-simple > span > a { display: flex; } .status-msg-wrap { display: none; } /* Comments section */ #comments { background: #f8f6f6; padding: 8px 32px; margin-top: 32px; } .comments .comment-block { background: #fff; padding: 16px; } .comment-header { display: flex; justify-content: space-between; } .comments .comments-content .datetime { font-size: 14px; } .comments .avatar-image-container { border-radius: 50%; } .comment-actions { padding-top: 8px; display: flex; border-top: 1px solid #ddd; margin-top: 4px; gap: 8px; align-items: center; } .comments .comment .comment-actions a { background: var(--accent-color); color: #fff; font-size: 14px; border-radius: 32px; padding: 2px 8px; } .image-wrapper img { border-radius: 12px; } /* BLOG LIST: Grid Layout (Multiple Items) */ .blog-list .cards-container { display: grid; grid-template-columns: repeat(4, 1fr); /* ← DIUBAH dari auto-fill ke 4 kolom */ gap: 30px; } /* Card styles untuk blog list */ .blog-post-card { background: #fff; overflow: visible; transition: all 0.3s ease; height: 100%; display: flex; flex-direction: column; } .blog-post-card:hover { transform: translateY(-5px); } .post-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%; } /* HANYA thumbnail yang rounded */ .post-thumbnail { height: 200px; overflow: hidden; border-radius: 12px; margin-bottom: 15px; } .post-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .blog-post-card:hover .post-thumbnail img { transform: scale(1.05); } .post-content { padding: 20px; flex-grow: 1; display: flex; flex-direction: column; } .post-title { font-size: 16px; /* Sedikit kecil untuk 4 kolom */ line-height: 1.4; margin: 0 0 8px 0; color: var(--dark-color); font-weight: 600; } .post-meta { display: flex; justify-content: space-between; font-size: 11px; /* Sedikit kecil */ color: #666; margin-bottom: 8px; } .post-labels { margin-bottom: 8px; } .post-label { display: inline-block; background: var(--accent-color); color: white; padding: 2px 6px; /* Sedikit kecil */ border-radius: 3px; font-size: 10px; /* Sedikit kecil */ margin-right: 4px; margin-bottom: 4px; } .post-snippet { font-size: 13px; /* Sedikit kecil */ line-height: 1.5; color: #555; margin-bottom: 10px; flex-grow: 1; display: -webkit-box; -webkit-line-clamp: 3; /* Batasi 3 baris */ -webkit-box-orient: vertical; overflow: hidden; } .read-more { display: inline-block; color: var(--accent-color); font-weight: 500; font-size: 13px; margin-top: auto; } /* Responsive untuk 4 kolom */ @media (max-width: 1200px) { .blog-list .cards-container { grid-template-columns: repeat(3, 1fr); /* 3 kolom di tablet besar */ } } @media (max-width: 900px) { .blog-list .cards-container { grid-template-columns: repeat(2, 1fr); /* 2 kolom di tablet */ } .post-thumbnail { height: 180px; } } @media (max-width: 600px) { .blog-list .cards-container { grid-template-columns: 1fr; /* 1 kolom di mobile */ } .post-thumbnail { height: 220px; } } /* Untuk single post page (jangan 4 kolom di sini) */ .single-item .blog-list .cards-container { display: block; /* Tetap single column di single post */ } .single-item .blog-post-card { display: flex; flex-direction: row; margin-bottom: 30px; } .single-item .post-thumbnail { width: 200px; height: 150px; flex-shrink: 0; margin-bottom: 0; margin-right: 20px; } .single-item .post-content { padding: 0; } /* Single Post Main Content */ .single-item .post-container { max-width: 1200px; margin: 0 auto; } .single-item .post-heading { font-size: 36px; line-height: 1.3; margin-bottom: 20px; color: var(--dark-color); } .single-item .post-body { font-size: 18px; line-height: 1.8; color: #333; margin-bottom: 60px; padding-bottom: 60px; } .single-item .post-body p { margin-bottom: 1.5em; } /* TAMBAHKAN INI - Gambar ukuran asli TANPA shadow & round */ .single-item .post-body img { max-width: 100% !important; height: auto !important; display: block; margin: 30px auto; border-radius: 0 !important; box-shadow: none !important; } /* Hilangkan shadow & round dari wrapper */ .single-item .post-body .image-wrapper, .single-item .post-body .separator, .single-item .post-body .tr-caption-container { width: 100% !important; max-width: none !important; text-align: center; border-radius: 0 !important; box-shadow: none !important; } /* Caption styling */ .single-item .post-body .tr-caption { font-size: 14px; color: #666; font-style: italic; margin-top: 10px; } /* Responsive */ @media (max-width: 900px) { .single-item .post-body img { margin: 20px auto; } } @media (max-width: 600px) { .single-item .post-body img { margin: 15px auto; } } /* Recent Posts Section - HANYA 1 GARIS DI SINI */ .recent-posts-section { margin-top: 60px; padding-top: 60px; border-top: 1px solid #eee; /* ← INI SATU-SATUNYA GARIS */ } .recent-posts-section h2 { font-size: 28px; margin-bottom: 30px; text-align: left; color: var(--dark-color); } /* Grid untuk recent posts */ .recent-posts-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; width: 100%; } /* Card khusus untuk recent posts */ .recent-post-card { display: flex; flex-direction: column; transition: transform 0.3s ease; } .recent-post-card:hover { transform: translateY(-5px); } /* Thumbnail dengan border radius */ .recent-post-card .post-thumbnail { height: 200px; overflow: hidden; border-radius: 12px; margin-bottom: 15px; } .recent-post-card .post-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } .recent-post-card:hover .post-thumbnail img { transform: scale(1.05); } /* KONTEN - Perbaiki posisi judul */ .recent-post-card .post-content { padding: 15px 0 0 0; /* Tambah padding atas */ display: flex; flex-direction: column; background: none; border-radius: 0; flex-grow: 1; /* Agar judul tidak "melayang" */ justify-content: flex-start; /* Pastikan mulai dari atas */ } /* JUDUL - Perbaiki styling */ .recent-post-card .post-title { font-size: 16px; line-height: 1.5; margin: 0; padding: 0; color: var(--dark-color); font-weight: 600; text-align: left; /* atau 'center' sesuai preferensi */ display: -webkit-box; -webkit-line-clamp: 2; /* Batasi 2 baris */ -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; height: auto; min-height: 48px; /* Tinggi minimal untuk 2 baris */ } .recent-post-card .post-title a { color: var(--dark-color); text-decoration: none; display: block; width: 100%; } .recent-post-card .post-title a:hover { color: var(--accent-color); } /* HIDE LABEL DAN SNIPPET */ .recent-post-card .post-labels, .recent-post-card .post-snippet { display: none !important; } /* Link untuk seluruh card */ .recent-post-card .post-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%; } /* Responsive */ @media (max-width: 1200px) { .recent-posts-grid { grid-template-columns: repeat(3, 1fr); gap: 25px; } } @media (max-width: 900px) { .recent-posts-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } .recent-post-card .post-thumbnail { height: 180px; } .recent-post-card .post-title { font-size: 15px; min-height: 45px; } } @media (max-width: 600px) { .recent-posts-grid { grid-template-columns: 1fr; gap: 20px; } .recent-post-card .post-thumbnail { height: 220px; } .recent-post-card .post-title { font-size: 16px; min-height: 48px; } } /*theme */ .theme-toggle { cursor: pointer; display: flex; align-items: center; } .theme-toggle svg { width: 24px; height: 24px; stroke: var(--text-color); transition: stroke 0.3s ease; } /* Di mobile menu */ .mobile-menu-items .theme-toggle { margin-top: 20px; } .mobile-menu-items .theme-toggle svg { stroke: var(--light-color); } /* Dark mode transition animation */ .theme-transition { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--bg-color); z-index: 9999; pointer-events: none; opacity: 0; transition: opacity 0.5s ease; } .theme-transition.active { opacity: 1; } /* Circle animation */ .theme-transition::before { content: ''; position: absolute; top: var(--click-y, 50%); left: var(--click-x, 50%); width: 0; height: 0; background: radial-gradient(circle at center, var(--accent-color) 0%, transparent 70%); border-radius: 50%; transform: translate(-50%, -50%); animation: circleGrow 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards; } @keyframes circleGrow { 0% { width: 0; height: 0; opacity: 0.3; } 100% { width: 3000px; height: 3000px; opacity: 0; } } ]]>

Transforming Ideas into Innovative Mobile Apps

With our expertise and passion for innovation, we bring your ideas to life and deliver exceptional user experiences.

Unlock the Power of Flutter for Mobile App Development

Discover how Flutter can help you create stunning and high-performance mobile apps in record time.

Simplified Development

With Flutter, you can write code once and deploy it on both iOS and Android platforms.

Beautiful UI

Create visually stunning user interfaces with Flutter's rich set of customizable widgets.

Learn More

Service We Offer

We create cutting-edge mobile apps with Flutter, working closely with you to turn ideas into user-friendly applications.

Mobile App Development

Our mobile app development services include native app development, cross-platform app development, and app maintenance.

UI/UX Design Services

We provide UI/UX design services to create visually stunning and intuitive mobile app interfaces.

App Quality Assurance

Our team ensures that your mobile app is thoroughly tested and meets the highest quality standards.

Why Choose Our Company for Mobile App Development

We excel in mobile app development using Flutter, delivering innovative, high-performing apps with top-notch quality, seamless user experience, and timely delivery.

Expertise

Our team of skilled developers has extensive expertise in Flutter app development.

Customization

We tailor each mobile app to meet the unique requirements and preferences of our clients.

Contact Us

Our Latest Articles

Discover the Latest Insights, Trends, and Updates from Our Team

View All Posts

Still have questions?

Contact us for more information or assistance.