It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://balqisoneprestasi.sch.id

  1.  
  2. <!DOCTYPE html>
  3. <html lang="id">
  4.  
  5. <head>
  6.    <meta charset="UTF-8">
  7.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8.    <title>Balqis Oneprestasi - Beranda</title>
  9.    <meta name="description" content="Selamat datang di Balqis Oneprestasi. Lembaga pendidikan negeri berkualitas yang mengutamakan prestasi dan pembentukan karakter siswa">
  10.    <meta name="keywords" content="Balqis Oneprestasi, sekolah, pendidikan, Denpasar, Bali, balqis, indonesia, akademik, siswa, guru, kurikulum">
  11.    <meta property="og:title" content="Balqis Oneprestasi - Beranda">
  12.    <meta property="og:description" content="Selamat datang di Balqis Oneprestasi. Lembaga pendidikan negeri berkualitas yang mengutamakan prestasi dan pembentukan karakter siswa">
  13.    <meta property="og:type" content="website">
  14.    <meta property="og:url" content="https://balqisoneprestasi.sch.id/">
  15.    <meta property="og:image" content="https://balqisoneprestasi.sch.id/banner.jpg">
  16.    <meta name="twitter:card" content="summary_large_image">
  17.    <meta name="twitter:title" content="Balqis Oneprestasi - Beranda">
  18.    <meta name="twitter:description" content="Selamat datang di Balqis Oneprestasi. Lembaga pendidikan negeri berkualitas yang mengutamakan prestasi dan pembentukan karakter siswa">
  19.    <meta name="robots" content="index, follow">
  20.    <link rel="canonical" href="https://balqisoneprestasi.sch.id/">
  21.    <link rel="icon" type="image/png" href="https://pbn.ranknesia.com/sch/tutwurihandayani.png">
  22.    
  23.    <!-- Structured Data -->
  24.    <script type="application/ld+json">{
  25.  "@context": "https://schema.org",
  26.  "@type": "EducationalOrganization",
  27.  "name": "Balqis Oneprestasi",
  28.  "alternateName": "Balqis Oneprestasi",
  29.  "description": "Lembaga pendidikan negeri berkualitas yang mengutamakan prestasi dan pembentukan karakter siswa",
  30.  "url": "https://balqisoneprestasi.sch.id",
  31.  "logo": "https://pbn.ranknesia.com/sch/tutwurihandayani.png",
  32.  "image": "https://pbn.ranknesia.com/sch/background.jpg",
  33.  "address": {
  34.    "@type": "PostalAddress",
  35.    "streetAddress": "Jl. Dewi Sartika No. 57, Kelurahan C, Kecamatan Selatan, Denpasar",
  36.    "addressLocality": "Denpasar",
  37.    "addressRegion": "Bali",
  38.    "addressCountry": "ID"
  39.  },
  40.  "contactPoint": {
  41.    "@type": "ContactPoint",
  42.    "telephone": "(0361) 2856-2518",
  43.    "contactType": "customer service",
  44.    "email": "info@balqisoneprestasi.sch.id"
  45.  },
  46.  "founder": {
  47.    "@type": "Person",
  48.    "name": "Dra. Kartini Sari, M.Pd"
  49.  },
  50.  "foundingDate": "1977",
  51.  "sameAs": [
  52.    "https://facebook.com/balqis oneprestasi",
  53.    "https://instagram.com/balqis oneprestasi",
  54.    "https://youtube.com/@balqis oneprestasi"
  55.  ]
  56. }</script>
  57.    <script type="application/ld+json">{
  58.  "@context": "https://schema.org",
  59.  "@type": "BreadcrumbList",
  60.  "itemListElement": [
  61.    {
  62.      "@type": "ListItem",
  63.      "position": 1,
  64.      "name": "Beranda",
  65.      "item": "https://balqisoneprestasi.sch.id"
  66.    }
  67.  ]
  68. }</script>
  69.    
  70.    <style>
  71. :root {
  72.  --primary-color: #2563eb;
  73.  --secondary-color: #1e40af;
  74.  --accent-color: #3b82f6;
  75.  --text-primary: #1f2937;
  76.  --text-secondary: #6b7280;
  77.  --background: #ffffff;
  78.  --surface: #f9fafb;
  79.  --border: #e5e7eb;
  80.  --success: #10b981;
  81.  --warning: #f59e0b;
  82.  --error: #ef4444;
  83. }
  84.  
  85. * {
  86.  margin: 0;
  87.  padding: 0;
  88.  box-sizing: border-box;
  89. }
  90.  
  91. body {
  92.  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  93.  line-height: 1.6;
  94.  color: var(--text-primary);
  95.  background-color: var(--background);
  96. }
  97.  
  98. .container {
  99.  max-width: 1200px;
  100.  margin: 0 auto;
  101.  padding: 0 1rem;
  102. }
  103.  
  104. .section {
  105.  padding: 4rem 0;
  106. }
  107.  
  108. .btn {
  109.  display: inline-block;
  110.  padding: 0.75rem 1.5rem;
  111.  border: none;
  112.  border-radius: 0.5rem;
  113.  font-weight: 600;
  114.  text-decoration: none;
  115.  text-align: center;
  116.  cursor: pointer;
  117.  transition: all 0.3s ease;
  118. }
  119.  
  120. .btn-primary {
  121.  background-color: var(--primary-color);
  122.  color: white;
  123. }
  124.  
  125. .btn-primary:hover {
  126.  background-color: var(--secondary-color);
  127.  transform: translateY(-2px);
  128. }
  129.  
  130. .btn-secondary {
  131.  background-color: transparent;
  132.  color: var(--primary-color);
  133.  border: 2px solid var(--primary-color);
  134. }
  135.  
  136. .btn-secondary:hover {
  137.  background-color: var(--primary-color);
  138.  color: white;
  139. }
  140.  
  141. .btn-outline {
  142.  background-color: transparent;
  143.  color: var(--text-secondary);
  144.  border: 2px solid var(--border);
  145.  font-size: 0.9rem;
  146.  padding: 0.6rem 1.2rem;
  147. }
  148.  
  149. .btn-outline:hover {
  150.  background-color: var(--primary-color);
  151.  color: white;
  152.  border-color: var(--primary-color);
  153.  transform: translateY(-1px);
  154. }
  155.  
  156. .grid {
  157.  display: grid;
  158.  gap: 2rem;
  159. }
  160.  
  161. .grid-2 {
  162.  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  163. }
  164.  
  165. .grid-3 {
  166.  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  167. }
  168.  
  169. .grid-4 {
  170.  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  171. }
  172.  
  173. .card {
  174.  background: var(--background);
  175.  border-radius: 1rem;
  176.  padding: 2rem;
  177.  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  178.  transition: transform 0.3s ease, box-shadow 0.3s ease;
  179. }
  180.  
  181. .card:hover {
  182.  transform: translateY(-4px);
  183.  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  184. }
  185.  
  186. .text-center { text-align: center; }
  187. .text-left { text-align: left; }
  188. .text-right { text-align: right; }
  189.  
  190. .mt-1 { margin-top: 0.25rem; }
  191. .mt-2 { margin-top: 0.5rem; }
  192. .mt-4 { margin-top: 1rem; }
  193. .mt-8 { margin-top: 2rem; }
  194.  
  195. .mb-1 { margin-bottom: 0.25rem; }
  196. .mb-2 { margin-bottom: 0.5rem; }
  197. .mb-4 { margin-bottom: 1rem; }
  198. .mb-8 { margin-bottom: 2rem; }
  199.  
  200. .p-4 { padding: 1rem; }
  201. .p-8 { padding: 2rem; }
  202.  
  203. .rounded { border-radius: 0.5rem; }
  204. .rounded-lg { border-radius: 1rem; }
  205. .rounded-full { border-radius: 9999px; }
  206.  
  207. /* Typography */
  208. h1, h2, h3, h4, h5, h6 {
  209.  font-weight: 700;
  210.  line-height: 1.2;
  211.  margin-bottom: 1rem;
  212. }
  213.  
  214. h1 { font-size: 3rem; }
  215. h2 { font-size: 2.5rem; }
  216. h3 { font-size: 2rem; }
  217. h4 { font-size: 1.5rem; }
  218. h5 { font-size: 1.25rem; }
  219. h6 { font-size: 1rem; }
  220.  
  221. p {
  222.  margin-bottom: 1rem;
  223.  color: var(--text-secondary);
  224. }
  225.  
  226. /* Navigation */
  227. .navbar {
  228.  background-color: var(--background);
  229.  border-bottom: 1px solid var(--border);
  230.  position: sticky;
  231.  top: 0;
  232.  z-index: 50;
  233.  backdrop-filter: blur(10px);
  234.  background-color: rgba(255, 255, 255, 0.95);
  235.  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  236. }
  237.  
  238. .nav-container {
  239.  display: flex;
  240.  justify-content: space-between;
  241.  align-items: center;
  242.  padding: 1rem;
  243.  max-width: 1200px;
  244.  margin: 0 auto;
  245. }
  246.  
  247. .nav-logo {
  248.  display: flex;
  249.  align-items: center;
  250.  gap: 0.75rem;
  251.  font-size: 1.25rem;
  252.  font-weight: 700;
  253.  color: var(--primary-color);
  254.  text-decoration: none;
  255. }
  256.  
  257. .nav-logo-img {
  258.  width: 40px;
  259.  height: 40px;
  260.  object-fit: contain;
  261. }
  262.  
  263. .nav-menu {
  264.  display: flex;
  265.  list-style: none;
  266.  gap: 2rem;
  267.  align-items: center;
  268. }
  269.  
  270. .nav-link {
  271.  color: var(--text-primary);
  272.  text-decoration: none;
  273.  font-weight: 500;
  274.  transition: color 0.3s ease;
  275.  display: flex;
  276.  align-items: center;
  277.  gap: 0.25rem;
  278. }
  279.  
  280. .nav-link:hover {
  281.  color: var(--primary-color);
  282. }
  283.  
  284. .nav-dropdown {
  285.  position: relative;
  286. }
  287.  
  288. .dropdown-arrow {
  289.  font-size: 0.8rem;
  290.  transition: transform 0.3s ease;
  291. }
  292.  
  293. .nav-dropdown:hover .dropdown-arrow {
  294.  transform: rotate(180deg);
  295. }
  296.  
  297. .dropdown-menu {
  298.  position: absolute;
  299.  top: 100%;
  300.  left: 0;
  301.  background: white;
  302.  min-width: 200px;
  303.  border-radius: 0.5rem;
  304.  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  305.  opacity: 0;
  306.  visibility: hidden;
  307.  transform: translateY(-10px);
  308.  transition: all 0.3s ease;
  309.  list-style: none;
  310.  padding: 0.5rem 0;
  311.  border: 1px solid var(--border);
  312. }
  313.  
  314. .nav-dropdown:hover .dropdown-menu {
  315.  opacity: 1;
  316.  visibility: visible;
  317.  transform: translateY(0);
  318. }
  319.  
  320. .dropdown-link {
  321.  display: block;
  322.  padding: 0.75rem 1rem;
  323.  color: var(--text-primary);
  324.  text-decoration: none;
  325.  transition: background-color 0.3s ease;
  326. }
  327.  
  328. .dropdown-link:hover {
  329.  background-color: var(--surface);
  330.  color: var(--primary-color);
  331. }
  332.  
  333. .mobile-menu-toggle {
  334.  display: none;
  335.  flex-direction: column;
  336.  background: none;
  337.  border: none;
  338.  cursor: pointer;
  339.  padding: 0.5rem;
  340. }
  341.  
  342. /* Hide mobile elements on desktop */
  343. .mobile-menu-overlay,
  344. .mobile-nav-menu {
  345.  display: none;
  346. }
  347.  
  348. .mobile-menu-toggle span {
  349.  width: 25px;
  350.  height: 3px;
  351.  background-color: var(--text-primary);
  352.  margin: 3px 0;
  353.  transition: 0.3s;
  354.  border-radius: 2px;
  355. }
  356.  
  357. /* Hero Section */
  358. .hero {
  359.  position: relative;
  360.  min-height: 70vh;
  361.  display: flex;
  362.  align-items: center;
  363.  color: white;
  364.  overflow: hidden;
  365. }
  366.  
  367. .hero.hero-short {
  368.  min-height: 30vh;
  369. }
  370.  
  371. .hero-background {
  372.  position: absolute;
  373.  top: 0;
  374.  left: 0;
  375.  width: 100%;
  376.  height: 100%;
  377.  background-image: url('https://pbn.ranknesia.com/sch/background.jpg');
  378.  background-position: center;
  379.  background-size: cover;
  380.  background-repeat: no-repeat;
  381.  z-index: -2;
  382. }
  383.  
  384. .hero-overlay {
  385.  position: absolute;
  386.  top: 0;
  387.  left: 0;
  388.  width: 100%;
  389.  height: 100%;
  390.  background: linear-gradient(135deg, rgba(37, 99, 235, 0.5) 0%, rgba(30, 64, 175, 0.6) 100%);
  391.  z-index: -1;
  392. }
  393.  
  394. .hero-content {
  395.  position: relative;
  396.  color: white;
  397.  z-index: 1;
  398. }
  399.  
  400. .hero-text {
  401.  text-align: center;
  402.  max-width: 800px;
  403.  margin: 0 auto;
  404. }
  405.  
  406. .hero h1 {
  407.  font-size: 4rem;
  408.  margin-bottom: 1.5rem;
  409.  animation: fadeInUp 1s ease-out;
  410.  font-weight: 800;
  411.  line-height: 1.1;
  412. }
  413. .hero p {
  414. color: white;
  415. }
  416.  
  417. .hero-subtitle {
  418.  font-size: 1.5rem;
  419.  margin-bottom: 3rem;
  420.  color: rgba(255, 255, 255, 0.95);
  421.  animation: fadeInUp 1s ease-out 0.2s both;
  422.  font-weight: 400;
  423. }
  424.  
  425. .hero-stats {
  426.  display: flex;
  427.  justify-content: center;
  428.  gap: 3rem;
  429.  margin-bottom: 3rem;
  430.  animation: fadeInUp 1s ease-out 0.4s both;
  431. }
  432.  
  433. .stat-item {
  434.  text-align: center;
  435. }
  436.  
  437. .stat-number {
  438.  font-size: 2.5rem;
  439.  font-weight: 800;
  440.  color: #fbbf24;
  441.  line-height: 1;
  442. }
  443.  
  444. .stat-label {
  445.  font-size: 0.9rem;
  446.  margin-top: 0.5rem;
  447.  color: rgba(255, 255, 255, 0.8);
  448.  font-weight: 500;
  449. }
  450.  
  451. .hero-buttons {
  452.  display: flex;
  453.  gap: 1rem;
  454.  justify-content: center;
  455.  animation: fadeInUp 1s ease-out 0.6s both;
  456. }
  457.  
  458. .hero-buttons .btn {
  459.  padding: 1rem 2rem;
  460.  font-size: 1.1rem;
  461.  border-radius: 2rem;
  462.  background-color: rgba(255, 255, 255, 0.9);
  463.  color: #1f2937;
  464.  border: 2px solid rgba(255, 255, 255, 0.9);
  465.  font-weight: 600;
  466.  transition: all 0.3s ease;
  467. }
  468.  
  469. .hero-buttons .btn:hover {
  470.  background-color: white;
  471.  color: #1f2937;
  472.  border-color: white;
  473.  transform: translateY(-2px);
  474.  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3);
  475. }
  476.  
  477. /* Footer */
  478. .footer {
  479.  background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
  480.  color: white;
  481.  padding: 4rem 0 0;
  482.  width: 100%;
  483.  margin: 0;
  484.  position: relative;
  485. }
  486.  
  487. .footer-content {
  488.  display: grid;
  489.  grid-template-columns: 2fr 1fr 1fr 1fr;
  490.  gap: 3rem;
  491.  margin-bottom: 3rem;
  492. }
  493.  
  494. .footer-main {
  495.  grid-column: 1;
  496. }
  497.  
  498. .footer-logo {
  499.  display: flex;
  500.  align-items: center;
  501.  gap: 1rem;
  502.  margin-bottom: 1.5rem;
  503. }
  504.  
  505. .footer-logo-img {
  506.  width: 50px;
  507.  height: 50px;
  508.  object-fit: contain;
  509. }
  510.  
  511. .footer-logo h3 {
  512.  margin: 0;
  513.  font-size: 1.5rem;
  514.  color: white;
  515. }
  516.  
  517. .footer-section h3 {
  518.  margin-bottom: 1.5rem;
  519.  color: white;
  520.  font-size: 1.2rem;
  521.  font-weight: 600;
  522. }
  523.  
  524. .footer-section p,
  525. .footer-section a {
  526.  color: rgba(255, 255, 255, 0.8);
  527.  text-decoration: none;
  528.  line-height: 1.8;
  529.  display: block;
  530.  margin-bottom: 0.5rem;
  531.  transition: color 0.3s ease;
  532. }
  533.  
  534. .footer-section a:hover {
  535.  color: #60a5fa;
  536. }
  537.  
  538. .contact-item {
  539.  display: flex;
  540.  align-items: flex-start;
  541.  gap: 0.75rem;
  542.  margin-bottom: 1rem;
  543. }
  544.  
  545. .contact-icon {
  546.  font-size: 1.1rem;
  547.  margin-top: 0.1rem;
  548. }
  549.  
  550. .social-link:hover {
  551.  background: var(--primary-color);
  552.  transform: translateY(-2px);
  553. }
  554.  
  555. .footer-bottom {
  556.  width: 100%;
  557.  text-align: center;
  558.  padding: 2rem 0;
  559.  border-top: 1px solid rgba(255, 255, 255, 0.1);
  560.  background: rgba(0, 0, 0, 0.2);
  561.  margin: 0;
  562. }
  563.  
  564. .footer-bottom-content {
  565.  text-align: center;
  566. }
  567.  
  568. .footer-bottom-content p {
  569.  color: rgba(255, 255, 255, 0.6);
  570.  margin-bottom: 0.5rem;
  571. }
  572.  
  573. /* Responsive Design */
  574. @media (max-width: 768px) {
  575.  .container {
  576.    padding: 0 1rem;
  577.  }
  578.  
  579.  /* Prevent horizontal scroll on mobile */
  580.  html, body {
  581.    width: 100%;
  582.    overflow-x: hidden;
  583.  }
  584.  
  585.  .mobile-menu-toggle {
  586.    display: flex;
  587.    z-index: 1001;
  588.  }
  589.  
  590.  /* Hide desktop nav menu on mobile */
  591.  .nav-menu {
  592.    display: none;
  593.  }
  594.  
  595.  /* Show mobile elements on mobile */
  596.  .mobile-menu-overlay {
  597.    display: block;
  598.    position: fixed;
  599.    top: 0;
  600.    left: 0;
  601.    width: 100%;
  602.    height: 100%;
  603.    background: rgba(0, 0, 0, 0.5);
  604.    opacity: 0;
  605.    visibility: hidden;
  606.    transition: all 0.3s ease;
  607.    z-index: 998;
  608.  }
  609.  
  610.  .mobile-menu-overlay.active {
  611.    opacity: 1;
  612.    visibility: visible;
  613.  }
  614.  
  615.  /* Mobile navigation menu */
  616.  .mobile-nav-menu {
  617.    display: block;
  618.    position: fixed;
  619.    top: 0;
  620.    right: 0; /* keep anchored to the viewport edge */
  621.    transform: translateX(100%); /* off-canvas without affecting layout width */
  622.    width: 100%;
  623.    max-width: 350px;
  624.    height: 100vh;
  625.    background: white;
  626.    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  627.    padding: 80px 0 2rem 0;
  628.    overflow-y: auto;
  629.    transition: transform 0.3s ease-in-out;
  630.    will-change: transform;
  631.    z-index: 999;
  632.    list-style: none;
  633.    margin: 0;
  634.  }
  635.  
  636.  .mobile-nav-menu.active {
  637.    transform: translateX(0);
  638.  }
  639.  
  640.  .mobile-nav-menu li {
  641.    margin: 0;
  642.    list-style: none;
  643.  }
  644.  
  645.  .mobile-nav-link {
  646.    display: block;
  647.    padding: 1rem 2rem;
  648.    font-size: 1.1rem;
  649.    font-weight: 500;
  650.    color: #374151;
  651.    text-decoration: none;
  652.    border-bottom: 1px solid #f3f4f6;
  653.    transition: all 0.2s ease;
  654.  }
  655.  
  656.  .mobile-nav-link:hover {
  657.    background-color: var(--surface);
  658.    color: var(--primary-color);
  659.    padding-left: 2.5rem;
  660.  }
  661.  
  662.  .mobile-nav-menu li:last-child .mobile-nav-link {
  663.    border-bottom: none;
  664.  }
  665.  
  666.  .hero {
  667.    min-height: 60vh;
  668.    padding: 4rem 0;
  669.  }
  670.  
  671.  .hero h1 {
  672.    font-size: 2.5rem;
  673.    margin-bottom: 1rem;
  674.  }
  675.  
  676.  .hero-subtitle {
  677.    font-size: 1.2rem;
  678.    margin-bottom: 2rem;
  679.    color: rgba(255, 255, 255, 0.9);
  680.  }
  681.  
  682.  .hero-stats {
  683.    flex-direction: column;
  684.    gap: 1.5rem;
  685.    margin-bottom: 2rem;
  686.  }
  687.  
  688.  .stat-number {
  689.    font-size: 2rem;
  690.  }
  691.  
  692.  .hero-buttons {
  693.    flex-direction: column;
  694.    align-items: center;
  695.    gap: 1rem;
  696.  }
  697.  
  698.  .hero-buttons .btn {
  699.    width: 100%;
  700.    max-width: 300px;
  701.  }
  702.  
  703.  h1 { font-size: 2rem; }
  704.  h2 { font-size: 1.75rem; }
  705.  h3 { font-size: 1.5rem; }
  706.  
  707.  .grid-2,
  708.  .grid-3,
  709.  .grid-4 {
  710.    grid-template-columns: 1fr;
  711.  }
  712.  
  713.  .section {
  714.    padding: 3rem 0;
  715.  }
  716.  
  717.  .footer-content {
  718.    grid-template-columns: 1fr;
  719.    gap: 2rem;
  720.  }
  721.  
  722.  .footer-main {
  723.    grid-column: 1;
  724.  }
  725.  
  726.  .social-links {
  727.    justify-content: center;
  728.  }
  729.  
  730.  .footer-bottom {
  731.    padding: 1.5rem 0;
  732.  }
  733.  
  734.  .footer-bottom-content p {
  735.    font-size: 0.9rem;
  736.  }
  737. }
  738.  
  739. @media (max-width: 480px) {
  740.  .hero h1 {
  741.    font-size: 2rem;
  742.  }
  743.  
  744.  .hero-subtitle {
  745.    font-size: 1.1rem;
  746.  }
  747.  
  748.  .nav-logo {
  749.    font-size: 1.1rem;
  750.  }
  751.  
  752.  .nav-logo-img {
  753.    width: 35px;
  754.    height: 35px;
  755.  }
  756.  
  757.  .card {
  758.    padding: 1.5rem;
  759.  }
  760. }
  761.  
  762. /* Animations */
  763. @keyframes fadeInUp {
  764.  from {
  765.    opacity: 0;
  766.    transform: translateY(30px);
  767.  }
  768.  to {
  769.    opacity: 1;
  770.    transform: translateY(0);
  771.  }
  772. }
  773.  
  774. @keyframes fadeIn {
  775.  from { opacity: 0; }
  776.  to { opacity: 1; }
  777. }
  778.  
  779. .fade-in {
  780.  animation: fadeIn 1s ease-out;
  781. }
  782.  
  783. .fade-in-up {
  784.  animation: fadeInUp 1s ease-out;
  785. }
  786.  
  787. /* Loading Spinner */
  788. .loading {
  789.  display: inline-block;
  790.  width: 20px;
  791.  height: 20px;
  792.  border: 3px solid rgba(255,255,255,.3);
  793.  border-radius: 50%;
  794.  border-top-color: #fff;
  795.  animation: spin 1s ease-in-out infinite;
  796. }
  797.  
  798. @keyframes spin {
  799.  to { transform: rotate(360deg); }
  800. }
  801.  
  802. /* Form Styles */
  803. .form-group {
  804.  margin-bottom: 1.5rem;
  805. }
  806.  
  807. .form-label {
  808.  display: block;
  809.  margin-bottom: 0.5rem;
  810.  font-weight: 600;
  811.  color: var(--text-primary);
  812. }
  813.  
  814. .form-input,
  815. .form-textarea,
  816. .form-select {
  817.  width: 100%;
  818.  padding: 0.75rem;
  819.  border: 2px solid var(--border);
  820.  border-radius: 0.5rem;
  821.  font-size: 1rem;
  822.  transition: border-color 0.3s ease;
  823. }
  824.  
  825. .form-input:focus,
  826. .form-textarea:focus,
  827. .form-select:focus {
  828.  outline: none;
  829.  border-color: var(--primary-color);
  830. }
  831.  
  832. .form-textarea {
  833.  resize: vertical;
  834.  min-height: 120px;
  835. }
  836.  
  837. /* Alert Messages */
  838. .alert {
  839.  padding: 1rem;
  840.  border-radius: 0.5rem;
  841.  margin-bottom: 1rem;
  842. }
  843.  
  844. .alert-success {
  845.  background-color: #d1fae5;
  846.  color: #065f46;
  847.  border: 1px solid #6ee7b7;
  848. }
  849.  
  850. .alert-error {
  851.  background-color: #fee2e2;
  852.  color: #991b1b;
  853.  border: 1px solid #fca5a5;
  854. }
  855.  
  856. .alert-warning {
  857.  background-color: #fef3c7;
  858.  color: #92400e;
  859.  border: 1px solid #fcd34d;
  860. }
  861.  
  862.    :root {
  863.      --primary-color: #e11d48;
  864.      --secondary-color: #be185d;
  865.      --accent-color: #f43f5e;
  866.    }
  867.    
  868.    .nav-logo {
  869.      color: #e11d48;
  870.    }
  871.    
  872.    .btn-primary {
  873.      background-color: #e11d48;
  874.    }
  875.    
  876.    .btn-primary:hover {
  877.      background-color: #be185d;
  878.    }
  879.    
  880.    .btn-secondary {
  881.      color: #e11d48;
  882.      border-color: #e11d48;
  883.    }
  884.    
  885.    .btn-secondary:hover {
  886.      background-color: #e11d48;
  887.    }
  888.  </style>
  889. </head>
  890. <body>
  891.    
  892.    <nav class="navbar">
  893.        <div class="nav-container">
  894.            <a href="/" class="nav-logo">
  895.                <img src="https://pbn.ranknesia.com/sch/tutwurihandayani.png" alt="Logo Tut Wuri Handayani" class="nav-logo-img">
  896.                <span>Balqis Oneprestasi</span>
  897.            </a>
  898.            <ul class="nav-menu" id="nav-menu">
  899.                <li><a href="/" class="nav-link">Beranda</a></li>
  900.                <li class="nav-dropdown">
  901.                    <a href="#" class="nav-link">Profil <span class="dropdown-arrow">â–ŧ</span></a>
  902.                    <ul class="dropdown-menu">
  903.                        <li><a href="/about" class="dropdown-link">Tentang Kami</a></li>
  904.                        <li><a href="/teachers" class="dropdown-link">Tenaga Pengajar</a></li>
  905.                        <li><a href="/facilities" class="dropdown-link">Fasilitas</a></li>
  906.                    </ul>
  907.                </li>
  908.                <li class="nav-dropdown">
  909.                    <a href="#" class="nav-link">Akademik <span class="dropdown-arrow">â–ŧ</span></a>
  910.                    <ul class="dropdown-menu">
  911.                        <li><a href="/programs" class="dropdown-link">Program Pendidikan</a></li>
  912.                        <li><a href="/achievements" class="dropdown-link">Prestasi</a></li>
  913.                        <li><a href="/admission" class="dropdown-link">Pendaftaran</a></li>
  914.                    </ul>
  915.                </li>
  916.                <li><a href="/contact" class="nav-link">Kontak</a></li>
  917.            </ul>
  918.            
  919.            <!-- Mobile Menu Overlay -->
  920.            <div class="mobile-menu-overlay" id="mobile-overlay"></div>
  921.            
  922.            <!-- Mobile Menu -->
  923.            <ul class="mobile-nav-menu" id="mobile-menu">
  924.                <li><a href="/" class="mobile-nav-link">🏠 Beranda</a></li>
  925.                <li><a href="/about" class="mobile-nav-link">â„šī¸ Tentang Kami</a></li>
  926.                <li><a href="/teachers" class="mobile-nav-link">👨‍đŸĢ Tenaga Pengajar</a></li>
  927.                <li><a href="/facilities" class="mobile-nav-link">đŸĸ Fasilitas</a></li>
  928.                <li><a href="/programs" class="mobile-nav-link">📚 Program Pendidikan</a></li>
  929.                <li><a href="/achievements" class="mobile-nav-link">🏆 Prestasi</a></li>
  930.                <li><a href="/admission" class="mobile-nav-link">📝 Pendaftaran</a></li>
  931.                <li><a href="/contact" class="mobile-nav-link">📞 Kontak</a></li>
  932.            </ul>
  933.            
  934.            <button class="mobile-menu-toggle" id="mobile-toggle">
  935.                <span></span>
  936.                <span></span>
  937.                <span></span>
  938.            </button>
  939.        </div>
  940.    </nav>
  941.    
  942.    <!-- Hero Section -->
  943.    <section class="hero">
  944.        <div class="hero-background"></div>
  945.        <div class="hero-overlay"></div>
  946.        <div class="container hero-content">
  947.            <div class="hero-text">
  948.                <h1 class="fade-in-up">Selamat Datang di Balqis Oneprestasi</h1>
  949.                <p class="fade-in-up hero-subtitle">Lembaga pendidikan negeri berkualitas yang mengutamakan prestasi dan pembentukan karakter siswa</p>
  950.                <div class="hero-stats fade-in-up">
  951.                    <div class="stat-item">
  952.                        <div class="stat-number">1977</div>
  953.                        <div class="stat-label">Tahun Berdiri</div>
  954.                    </div>
  955.                    <div class="stat-item">
  956.                        <div class="stat-number">646</div>
  957.                        <div class="stat-label">Siswa Aktif</div>
  958.                    </div>
  959.                    <div class="stat-item">
  960.                        <div class="stat-number">20</div>
  961.                        <div class="stat-label">Tenaga Pengajar</div>
  962.                    </div>
  963.                </div>
  964.                <div class="hero-buttons fade-in-up">
  965.                    <a href="/admission" class="btn btn-warning">Daftar Sekarang</a>
  966.                    <a href="/about" class="btn btn-success">Pelajari Lebih Lanjut</a>
  967.                </div>
  968.            </div>
  969.        </div>
  970.    </section>
  971.  
  972.    <!-- About Section -->
  973.    <section class="section">
  974.        <div class="container">
  975.            <div class="grid grid-2">
  976.                <div>
  977.                    <h2>Tentang Balqis Oneprestasi</h2>
  978.                    <p>Lembaga pendidikan negeri berkualitas yang mengutamakan prestasi dan pembentukan karakter siswa</p>
  979.                    <p>Didirikan pada tahun 1977, Balqis Oneprestasi telah menjadi pilihan utama bagi para orang tua yang menginginkan pendidikan berkualitas untuk anak-anak mereka.</p>
  980.                    <p>Dengan kepemimpinan Dra. Kartini Sari, M.Pd, kami berkomitmen untuk memberikan pendidikan terbaik yang mengembangkan potensi akademik dan karakter siswa.</p>
  981.                    <a href="/about" class="btn btn-primary">Selengkapnya</a>
  982.                </div>
  983.                <div>
  984.                    <div class="card">
  985.                        <h3>Informasi Sekolah</h3>
  986.                        <p><strong>Kepala Sekolah:</strong> Dra. Kartini Sari, M.Pd</p>
  987.                        <p><strong>Tahun Berdiri:</strong> 1977</p>
  988.                        <p><strong>Lokasi:</strong> Denpasar, Bali</p>
  989.                        <p><strong>Telepon:</strong> (0361) 2856-2518</p>
  990.                        <p><strong>Email:</strong> info@balqisoneprestasi.sch.id</p>
  991.                    </div>
  992.                </div>
  993.            </div>
  994.        </div>
  995.    </section>
  996.  
  997.    <!-- Programs Section -->
  998.    <section class="section" style="background-color: var(--surface);">
  999.        <div class="container">
  1000.            <h2 class="text-center mb-8">Program Unggulan</h2>
  1001.            <div class="grid grid-3">
  1002.                
  1003.      <div class="card">
  1004.        <h4>Program IPA</h4>
  1005.        <p>Fokus pada mata pelajaran sains dan matematika</p>
  1006.        <a href="/programs" class="btn btn-secondary">Pelajari Lebih Lanjut</a>
  1007.      </div>
  1008.    
  1009.      <div class="card">
  1010.        <h4>Program IPS</h4>
  1011.        <p>Konsentrasi pada ilmu sosial dan humaniora</p>
  1012.        <a href="/programs" class="btn btn-secondary">Pelajari Lebih Lanjut</a>
  1013.      </div>
  1014.    
  1015.      <div class="card">
  1016.        <h4>Program Bahasa</h4>
  1017.        <p>Pengembangan kemampuan berbahasa asing</p>
  1018.        <a href="/programs" class="btn btn-secondary">Pelajari Lebih Lanjut</a>
  1019.      </div>
  1020.    
  1021.            </div>
  1022.        </div>
  1023.    </section>
  1024.  
  1025.    <!-- Features Section -->
  1026.    <section class="section">
  1027.        <div class="container">
  1028.            <h2 class="text-center mb-8">Keunggulan Kami</h2>
  1029.            <div class="grid grid-4">
  1030.                <div class="card text-center">
  1031.                    <div style="font-size: 3rem; margin-bottom: 1rem;">🎓</div>
  1032.                    <h4>Kurikulum Terkini</h4>
  1033.                    <p>Menggunakan kurikulum nasional yang disesuaikan dengan perkembangan zaman</p>
  1034.                </div>
  1035.                <div class="card text-center">
  1036.                    <div style="font-size: 3rem; margin-bottom: 1rem;">👨‍đŸĢ</div>
  1037.                    <h4>Tenaga Pengajar Profesional</h4>
  1038.                    <p>Guru-guru berpengalaman dan berkompeten di bidangnya</p>
  1039.                </div>
  1040.                <div class="card text-center">
  1041.                    <div style="font-size: 3rem; margin-bottom: 1rem;">đŸĸ</div>
  1042.                    <h4>Fasilitas Modern</h4>
  1043.                    <p>Dilengkapi dengan fasilitas pembelajaran yang modern dan lengkap</p>
  1044.                </div>
  1045.                <div class="card text-center">
  1046.                    <div style="font-size: 3rem; margin-bottom: 1rem;">🏆</div>
  1047.                    <h4>Prestasi Gemilang</h4>
  1048.                    <p>Meraih berbagai prestasi di tingkat regional dan nasional</p>
  1049.                </div>
  1050.            </div>
  1051.        </div>
  1052.    </section>
  1053.  
  1054.    
  1055.  
  1056.    
  1057.    <footer class="footer">
  1058.        <div class="container">
  1059.            <div class="footer-content">
  1060.                <div class="footer-section footer-main">
  1061.                    <div class="footer-logo">
  1062.                        <span>Balqis Oneprestasi</span>
  1063.                    </div>
  1064.                    <p>Lembaga pendidikan negeri berkualitas yang mengutamakan prestasi dan pembentukan karakter siswa</p>
  1065.                    <p><strong>Kepala Sekolah:</strong><br>Dra. Kartini Sari, M.Pd</p>
  1066.                </div>
  1067.                <div class="footer-section">
  1068.                    <h3>Kontak</h3>
  1069.                    <div class="contact-item">
  1070.                        <span class="contact-icon">📍</span>
  1071.                        <span>Jl. Dewi Sartika No. 57, Kelurahan C, Kecamatan Selatan, Denpasar</span>
  1072.                    </div>
  1073.                    <div class="contact-item">
  1074.                        <span class="contact-icon">📞</span>
  1075.                        <span>(0361) 2856-2518</span>
  1076.                    </div>
  1077.                    <div class="contact-item">
  1078.                        <span class="contact-icon">âœ‰ī¸</span>
  1079.                        <span>info@balqisoneprestasi.sch.id</span>
  1080.                    </div>
  1081.                </div>
  1082.                <div class="footer-section">
  1083.                    <h3>Quick Links</h3>
  1084.                    <a href="/programs">Program Akademik</a>
  1085.                    <a href="/programs">Ekstrakurikuler</a>
  1086.                    <a href="/admission">Pendaftaran</a>
  1087.                    <a href="/achievements">Prestasi</a>
  1088.                    <a href="/facilities">Fasilitas</a>
  1089.                </div>
  1090.                <div class="footer-section">
  1091.                    <h3>Informasi</h3>
  1092.                    <a href="/about">Tentang Kami</a>
  1093.                    <a href="/contact">Hubungi Kami</a>
  1094.                    <a href="/teachers">Tenaga Pengajar</a>
  1095.                </div>
  1096.            </div>
  1097.        </div>
  1098.        <div class="footer-bottom">
  1099.            <div class="container">
  1100.                <div class="footer-bottom-content">
  1101.                    <p>&copy; 2025. Hak Cipta Dilindungi.</p>
  1102.                    <p>Dikembangkan dengan â¤ī¸ untuk kemajuan pendidikan Indonesia</p>
  1103.                </div>
  1104.            </div>
  1105.        </div>
  1106.    </footer>
  1107.  
  1108.    
  1109.    <script>
  1110.        // Mobile menu functions
  1111.        function toggleMobileMenu() {
  1112.            const mobileMenu = document.getElementById('mobile-menu');
  1113.            const mobileOverlay = document.getElementById('mobile-overlay');
  1114.            const toggle = document.getElementById('mobile-toggle');
  1115.            const body = document.body;
  1116.            
  1117.            if (!mobileMenu || !mobileOverlay || !toggle) return;
  1118.            
  1119.            const isActive = mobileMenu.classList.contains('active');
  1120.            
  1121.            if (isActive) {
  1122.                mobileMenu.classList.remove('active');
  1123.                mobileOverlay.classList.remove('active');
  1124.                toggle.classList.remove('active');
  1125.                body.style.overflow = '';
  1126.            } else {
  1127.                mobileMenu.classList.add('active');
  1128.                mobileOverlay.classList.add('active');
  1129.                toggle.classList.add('active');
  1130.                body.style.overflow = 'hidden';
  1131.            }
  1132.            
  1133.            // Animate hamburger menu
  1134.            const spans = toggle.querySelectorAll('span');
  1135.            if (!isActive) {
  1136.                spans[0].style.transform = 'rotate(45deg) translate(5px, 5px)';
  1137.                spans[1].style.opacity = '0';
  1138.                spans[2].style.transform = 'rotate(-45deg) translate(7px, -6px)';
  1139.            } else {
  1140.                spans[0].style.transform = 'none';
  1141.                spans[1].style.opacity = '1';
  1142.                spans[2].style.transform = 'none';
  1143.            }
  1144.        }
  1145.  
  1146.        // Initialize mobile menu functionality
  1147.        document.addEventListener('DOMContentLoaded', function() {
  1148.            const mobileToggle = document.getElementById('mobile-toggle');
  1149.            const mobileOverlay = document.getElementById('mobile-overlay');
  1150.            const mobileLinks = document.querySelectorAll('.mobile-nav-link');
  1151.            
  1152.            // Toggle mobile menu
  1153.            if (mobileToggle) {
  1154.                mobileToggle.addEventListener('click', toggleMobileMenu);
  1155.            }
  1156.            
  1157.            // Close menu when clicking overlay
  1158.            if (mobileOverlay) {
  1159.                mobileOverlay.addEventListener('click', toggleMobileMenu);
  1160.            }
  1161.            
  1162.            // Close menu when clicking on mobile navigation links
  1163.            mobileLinks.forEach(link => {
  1164.                link.addEventListener('click', () => {
  1165.                    toggleMobileMenu();
  1166.                });
  1167.            });
  1168.  
  1169.            // Smooth scrolling for anchor links
  1170.            document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  1171.                anchor.addEventListener('click', function (e) {
  1172.                    e.preventDefault();
  1173.                    const target = document.querySelector(this.getAttribute('href'));
  1174.                    if (target) {
  1175.                        target.scrollIntoView({
  1176.                            behavior: 'smooth',
  1177.                            block: 'start'
  1178.                        });
  1179.                    }
  1180.                });
  1181.            });
  1182.  
  1183.            // Animation on scroll
  1184.            const observerOptions = {
  1185.                threshold: 0.1,
  1186.                rootMargin: '0px 0px -50px 0px'
  1187.            };
  1188.  
  1189.            const observer = new IntersectionObserver((entries) => {
  1190.                entries.forEach(entry => {
  1191.                    if (entry.isIntersecting) {
  1192.                        entry.target.classList.add('fade-in-up');
  1193.                    }
  1194.                });
  1195.            }, observerOptions);
  1196.  
  1197.            document.querySelectorAll('.card, .section h2').forEach(el => {
  1198.                observer.observe(el);
  1199.            });
  1200.        });
  1201.    </script>
  1202. <script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"6d105e7e132349d29e977731b70a42ce","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
  1203. </body>
  1204. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda