{"id":5352,"date":"2026-06-24T09:19:10","date_gmt":"2026-06-24T08:19:10","guid":{"rendered":"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/"},"modified":"2026-09-20T09:59:34","modified_gmt":"2026-09-20T08:59:34","slug":"trigonal-pyramidal","status":"publish","type":"page","link":"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/","title":{"rendered":"Trigonal Pyramidal Molecular Shape"},"content":{"rendered":"\n<section class=\"ols-revision-page ols-trigonal-pyramidal-molecular-shape-9ch0-page\">\n  <style>\n    .ols-revision-page {\n      --navy: #1C244B;\n      --blue: #2563eb;\n      --soft-blue: #eef4ff;\n      --soft-red: #fff7f7;\n      --soft-purple: #f7f0ff;\n      --soft-green: #f0f7f1;\n      --soft-orange: #fff7ed;\n      --gold: #c9973a;\n      --grey-text: #667085;\n      --body-text: #1f2937;\n      --border: rgba(28, 36, 75, 0.14);\n      --shadow: 0 18px 45px rgba(28, 36, 75, 0.10);\n      --inner-shadow: 0 10px 26px rgba(28, 36, 75, 0.08);\n      font-family: Poppins, Arial, sans-serif;\n      color: var(--navy);\n      background: #ffffff;\n    }\n\n    .ols-revision-page * { box-sizing: border-box; }\n    .ols-main { min-width: 0; max-width: 970px; }\n    .ols-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 22px; font-size: 15px; color: var(--grey-text); }\n    .ols-breadcrumbs a, .ols-breadcrumbs span { color: var(--grey-text); text-decoration: none; font-weight: 600; }\n    .ols-breadcrumbs a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }\n    .ols-title-card, .ols-note-card, .ols-h5p-card, .ols-related-card, .ols-faq-card { background: #ffffff; border: 1px solid var(--border); border-radius: 28px; box-shadow: var(--shadow); padding: 34px; margin-bottom: 24px; overflow: hidden; }\n    .ols-title-card { background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%); }\n    .ols-title-card h1 { margin: 0 0 18px; font-size: clamp(36px, 5vw, 58px); line-height: 1.08; font-weight: 800; letter-spacing: -0.04em; color: #111827; }\n    .ols-page-intro { font-size: 19px; line-height: 1.7; font-weight: 300; color: var(--body-text); margin: 0 0 22px; }\n    .ols-badges { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 22px; }\n    .ols-badge { display: inline-flex; align-items: center; padding: 9px 14px; border-radius: 999px; background: #ffffff; border: 1px solid var(--border); font-size: 15px; font-weight: 600; color: var(--navy); }\n    .ols-author { display: flex; align-items: center; gap: 20px; padding: 28px; border-radius: 28px; background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%); border: 1px solid rgba(28,36,75,0.12); box-shadow: 0 18px 45px rgba(28,36,75,0.10); margin-top: 22px; }\n    .ols-author-avatar-img { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; object-position: center; flex-shrink: 0; border: 4px solid #ffffff; box-shadow: 0 14px 32px rgba(28,36,75,0.18), 0 0 0 1px rgba(28,36,75,0.10); transition: transform 0.25s ease, box-shadow 0.25s ease; }\n    .ols-author:hover .ols-author-avatar-img { transform: scale(1.04); box-shadow: 0 20px 42px rgba(28,36,75,0.22), 0 0 0 1px rgba(28,36,75,0.10); }\n    .ols-author-content { min-width: 0; }\n    .ols-author-title { margin: 0 0 4px; font-size: clamp(24px,3vw,34px); line-height: 1.15; font-weight: 700; color: var(--navy); letter-spacing: -0.03em; }\n    .ols-author-description { margin: 0; font-size: 17px; line-height: 1.7; font-weight: 300; color: var(--grey-text); }\n    .ols-linkedin-pill { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; padding: 11px 18px; border-radius: 999px; background: linear-gradient(135deg,#0A66C2,#004182); color: #ffffff; text-decoration: none; font-size: 14px; line-height: 1; font-weight: 700; letter-spacing: 0.01em; box-shadow: 0 10px 22px rgba(10,102,194,0.24); position: relative; overflow: hidden; transition: transform 0.22s ease, box-shadow 0.22s ease; }\n    .ols-linkedin-pill::before { content: \"\"; position: absolute; top: 0; left: -120%; width: 100%; height: 100%; background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.28) 50%, rgba(255,255,255,0) 100%); transition: left 0.7s ease; }\n    .ols-linkedin-pill:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 16px 34px rgba(10,102,194,0.34), 0 0 0 6px rgba(10,102,194,0.10); color: #ffffff; }\n    .ols-linkedin-pill:hover::before { left: 120%; }\n    .ols-linkedin-icon { width: 18px; height: 18px; display: block; flex-shrink: 0; }\n    .ols-note-card.soft { background: linear-gradient(135deg, #ffffff 0%, var(--soft-red) 100%); }\n    .ols-note-card.purple { background: linear-gradient(135deg, #ffffff 0%, var(--soft-purple) 100%); }\n    .ols-note-card.orange { background: linear-gradient(135deg, #ffffff 0%, var(--soft-orange) 100%); }\n    .ols-note-title { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }\n    .ols-note-icon { width: 52px; height: 52px; border-radius: 16px; background: var(--navy); color: #ffffff; display: grid; place-items: center; font-size: 24px; font-weight: 800; flex-shrink: 0; }\n    .ols-note-title h2, .ols-h5p-card h2, .ols-related-card h2, .ols-faq-card h2 { margin: 0; font-size: clamp(28px, 3.5vw, 42px); line-height: 1.15; font-weight: 800; color: #111827; letter-spacing: -0.03em; }\n    .ols-h5p-card h2, .ols-related-card h2, .ols-faq-card h2 { margin-bottom: 14px; }\n    .ols-note-card p, .ols-note-card li { font-size: clamp(15px, 1.25vw, 17px); line-height: 1.65; font-weight: 300; color: var(--body-text); }\n    .ols-h5p-card p, .ols-related-card p, .ols-faq-card p { font-size: clamp(15px, 1.3vw, 18px); line-height: 1.65; font-weight: 300; color: var(--body-text); }\n    .ols-note-card strong, .ols-h5p-card strong, .ols-related-card strong, .ols-faq-card strong { font-weight: 700; color: var(--navy); }\n    .ols-note-card ul, .ols-note-card ol { margin: 0; padding-left: 22px; }\n    .ols-key-box { margin-top: 20px; background: var(--soft-green); border: 1px solid rgba(63, 143, 70, 0.25); border-radius: 20px; padding: 18px 20px; }\n    .ols-key-box p { margin: 0; font-weight: 400; color: var(--navy); }\n    .ols-definition-box { background: linear-gradient(135deg, #ffffff, var(--soft-purple)); border: 2px dashed rgba(122, 62, 157, 0.35); border-radius: 24px; padding: 22px 24px; margin-top: 22px; }\n    .ols-definition-box p { margin: 0; color: var(--navy); font-weight: 400; }\n    .ols-rule-list { display: grid; gap: 14px; margin-top: 18px; }\n    .ols-rule-item { background: #ffffff; border: 1px solid var(--border); border-left: 5px solid var(--blue); border-radius: 18px; padding: 18px; box-shadow: var(--inner-shadow); }\n    .ols-rule-item h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.25; color: var(--navy); }\n    .ols-rule-item p { margin: 0; font-size: 15px; line-height: 1.6; }\n    .ols-zoom-card, .ols-zoom-card * { box-sizing: border-box; }\n    .ols-zoom-card { display: block !important; margin: 26px 0 34px !important; border: 1px solid rgba(28, 36, 75, 0.14) !important; border-radius: 26px !important; background: #ffffff !important; box-shadow: 0 18px 45px rgba(28, 36, 75, 0.10) !important; overflow: visible !important; position: relative !important; z-index: 1 !important; isolation: isolate !important; }\n    .ols-zoom-card.medium { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }\n    .ols-zoom-card.compact { max-width: 700px; margin-left: auto !important; margin-right: auto !important; }\n    .ols-zoom-card:hover { z-index: 50 !important; }\n    .ols-zoom-card-image { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 330px !important; padding: 20px !important; background: #ffffff !important; overflow: visible !important; border-top-left-radius: 26px !important; border-top-right-radius: 26px !important; position: relative !important; z-index: 2 !important; }\n    .ols-zoom-card img.ols-zoomable-img { display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; border-radius: 18px !important; cursor: default !important; pointer-events: auto !important; user-select: none !important; -webkit-user-drag: none !important; transform: translateZ(0) scale(1) !important; transform-origin: center center !important; transition: transform 0.32s ease, box-shadow 0.32s ease, filter 0.32s ease !important; position: relative !important; z-index: 2 !important; }\n    @media (hover: hover) and (pointer: fine) { .ols-zoom-card img.ols-zoomable-img:hover { transform: translateZ(0) scale(1.45) !important; box-shadow: 0 28px 70px rgba(28, 36, 75, 0.34) !important; filter: saturate(1.02) contrast(1.01) !important; z-index: 100 !important; } }\n    .ols-zoom-card-caption { padding: 18px 22px 20px !important; background: linear-gradient(135deg, #ffffff, #f8fbff) !important; border-bottom-left-radius: 26px !important; border-bottom-right-radius: 26px !important; position: relative !important; z-index: 1 !important; }\n    .ols-zoom-card-caption p { margin: 0 !important; color: #5f6b85 !important; font-size: 15px !important; line-height: 1.65 !important; font-weight: 300 !important; font-style: italic !important; font-family: Poppins, Arial, sans-serif !important; }\n    .ols-image-lightbox { position: fixed; inset: 0; z-index: 999999; display: none; align-items: center; justify-content: center; padding: 34px; background: rgba(10, 15, 35, 0.86); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }\n    .ols-image-lightbox.is-open { display: flex; }\n    .ols-image-lightbox-inner { position: relative; width: min(96vw, 1500px); max-height: 92vh; display: flex; align-items: center; justify-content: center; }\n    .ols-image-lightbox-img { display: block; max-width: 100%; max-height: 92vh; height: auto; width: auto; border-radius: 22px; background: #ffffff; box-shadow: 0 32px 90px rgba(0, 0, 0, 0.45); object-fit: contain; }\n    .ols-image-lightbox-close { position: absolute; top: -18px; right: -18px; width: 46px; height: 46px; border: 0; border-radius: 50%; background: #ffffff; color: var(--navy); font-family: Poppins, Arial, sans-serif; font-size: 28px; line-height: 1; font-weight: 700; cursor: pointer; box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28); display: flex; align-items: center; justify-content: center; transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease; }\n    .ols-image-lightbox-close:hover { transform: scale(1.08); background: var(--blue); color: #ffffff; }\n    .ols-zoom-card img.ols-lightbox-target { cursor: zoom-in !important; }\n    @media (max-width: 760px) { .ols-zoom-card { border-radius: 22px !important; overflow: hidden !important; } .ols-zoom-card-image { min-height: auto !important; padding: 12px !important; overflow: hidden !important; border-top-left-radius: 22px !important; border-top-right-radius: 22px !important; } .ols-zoom-card img.ols-zoomable-img, .ols-zoom-card img.ols-zoomable-img:hover { transform: none !important; box-shadow: none !important; } .ols-zoom-card-caption { border-bottom-left-radius: 22px !important; border-bottom-right-radius: 22px !important; } .ols-image-lightbox { padding: 16px; } .ols-image-lightbox-inner { width: 100%; max-height: 88vh; } .ols-image-lightbox-img { max-height: 88vh; border-radius: 16px; } .ols-image-lightbox-close { top: 10px; right: 10px; width: 42px; height: 42px; font-size: 26px; } }\n    .ols-table-wrap { overflow: hidden; border-radius: 22px; border: 1px solid var(--border); background: #ffffff; margin-top: 18px; }\n    .ols-table { width: 100%; border-collapse: collapse; table-layout: fixed; }\n    .ols-table th { background: var(--navy); color: #ffffff; padding: 16px; text-align: left; font-size: clamp(14px, 1.2vw, 17px); font-weight: 600; overflow-wrap: anywhere; }\n    .ols-table td { padding: 16px; border-bottom: 1px solid var(--border); font-size: clamp(14px, 1.15vw, 16px); line-height: 1.45; color: var(--body-text); vertical-align: top; overflow-wrap: anywhere; }\n    .ols-table tr:last-child td { border-bottom: none; }\n    .ols-h5p-card { background: linear-gradient(135deg, #ffffff 0%, #f7f0ff 100%); }\n    .ols-h5p-frame { margin-top: 22px; padding: 18px; border-radius: 24px; background: #ffffff; border: 1px solid var(--border); box-shadow: inset 0 0 0 1px rgba(28, 36, 75, 0.03); }\n    .ols-faq-list { display: grid; gap: 14px; margin-top: 18px; }\n    .ols-faq-item { background: #ffffff; border: 1px solid var(--border); border-radius: 18px; padding: 18px 20px; box-shadow: var(--inner-shadow); }\n    .ols-faq-item h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.3; color: var(--navy); }\n    .ols-faq-item p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--body-text); }\n    .ols-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }\n    .ols-related-item { border: 1px solid var(--border); border-radius: 18px; padding: 18px; background: #ffffff; color: var(--navy); text-decoration: none; font-weight: 600; line-height: 1.5; transition: transform 0.2s ease, box-shadow 0.2s ease; }\n    .ols-related-item:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(28, 36, 75, 0.08); }\n    .ols-attribution-card { background: linear-gradient(135deg, #ffffff, #f8fbff); border: 1px solid rgba(28, 36, 75, 0.14); border-radius: 28px; box-shadow: 0 18px 45px rgba(28, 36, 75, 0.10); padding: 34px; margin-bottom: 24px; overflow: hidden; font-family: Poppins, Arial, sans-serif; box-sizing: border-box; }\n    .ols-attribution-card, .ols-attribution-card * { box-sizing: border-box; }\n    .ols-attribution-card p { margin: 0; font-size: 14px; line-height: 1.65; font-weight: 300; color: #667085; }\n    .ols-attribution-card strong { font-weight: 700; color: #1C244B; }\n\n    @media (max-width: 1050px) {\n      .ols-main { max-width: none; }\n      .ols-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n    }\n\n    @media (max-width: 760px) {\n      .ols-title-card, .ols-note-card, .ols-h5p-card, .ols-related-card, .ols-faq-card, .ols-attribution-card { padding: 24px 18px; border-radius: 22px; }\n      .ols-note-title { align-items: flex-start; }\n      .ols-zoom-card { border-radius: 22px; }\n      .ols-zoom-card-image { min-height: 210px; padding: 14px; }\n      .ols-zoom-card-caption { padding: 16px; }\n      .ols-table-wrap { border: none; background: transparent; }\n      .ols-table, .ols-table thead, .ols-table tbody, .ols-table th, .ols-table td, .ols-table tr { display: block; width: 100%; }\n      .ols-table { border-collapse: separate; border-spacing: 0; }\n      .ols-table thead { display: none; }\n      .ols-table tr { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; background: #ffffff; box-shadow: var(--inner-shadow); }\n      .ols-table td { border-bottom: 1px solid var(--border); padding: 14px 16px; overflow-wrap: anywhere; }\n      .ols-table td:last-child { border-bottom: none; }\n      .ols-table td::before { content: attr(data-label); display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--blue); }\n      .ols-author { align-items: flex-start; padding: 22px 18px; border-radius: 22px; }\n      .ols-author-avatar-img { width: 72px; height: 72px; }\n      .ols-author-title { font-size: 24px; }\n      .ols-author-description { font-size: 15px; }\n    }\n  <\/style>\n\n  <aside class=\"ols-sidebar\">\r\n  <div class=\"ols-sidebar-header\">\r\n    <h3>Revision Notes<\/h3>\r\n    <p>AQA A Level Chemistry<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"ols-topic-group\">\r\n    <h4>3.1.3 Bonding<\/h4>\r\n\r\n    <ul class=\"ols-topic-list\">\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/ionic-bonding\/\">Ionic Bonding<\/a>\r\n\r\n        <ul class=\"ols-subtopic-list\">\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/ionic-bonding\/nature-of-ionic-bonding\/\">Nature of Ionic Bonding<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/ionic-bonding\/polarisation-of-ions\/\">Polarisation of Ions<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/ionic-bonding\/physical-properties-of-ionic-compounds\/\">Physical Properties of Ionic Compounds<\/a>\r\n          <\/li>\n          <li>\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/ionic-bonding\/ions-and-ionic-formulae\/\">Ions and Ionic Formulae<\/a>\n          <\/li>\r\n        <\/ul>\r\n      <\/li>\r\n\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/covalent-bonding\/\">Covalent Bonding<\/a>\r\n\r\n        <ul class=\"ols-subtopic-list\">\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/covalent-bonding\/covalent-bonding\/\">Covalent Bonding<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/covalent-bonding\/dative-covalent-bonding\/\">Dative Covalent Bonding<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/covalent-bonding\/electronegativity\/\">Electronegativity<\/a>\r\n          <\/li>\r\n        <\/ul>\r\n      <\/li>\r\n\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/\">Shapes of Molecules and Ions<\/a>\r\n\r\n        <ul class=\"ols-subtopic-list\">\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/linear\/\">Linear<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-planar\/\">Trigonal Planar<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/tetrahedral\/\">Tetrahedral<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/\">Trigonal Pyramidal<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/bent\/\">Bent<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-bipyramidal\/\">Trigonal Bipyramidal<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/octahedral\/\">Octahedral<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/square-planar\/\">Square Planar<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/square-pyramidal\/\">Square Pyramidal<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/distorted-t\/\">Distorted T<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/seesaw\/\">SeeSaw<\/a>\r\n          <\/li>\r\n        <\/ul>\r\n      <\/li>\r\n\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/bond-polarity\/\">Bond Polarity<\/a>\r\n      <\/li>\r\n\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/metallic-bonding\/\">Metallic Bonding<\/a>\r\n\r\n        <ul class=\"ols-subtopic-list\">\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/metallic-bonding\/metallic-bonding-and-structure\/\">Metallic Bonding and Structure<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/metallic-bonding\/physical-properties-of-metals\/\">Physical Properties of Metals<\/a>\r\n          <\/li>\r\n        <\/ul>\r\n      <\/li>\r\n\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/giant-covalent-structures\/\">Giant Covalent Structures<\/a>\r\n      <\/li>\r\n\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/simple-molecular-structures\/\">Simple Molecular Structures<\/a>\r\n      <\/li>\n          <li>\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/structure-types\/\">Structure Types<\/a>\n          <\/li>\r\n\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/intermolecular-forces\/\">Intermolecular Forces<\/a>\r\n\r\n        <ul class=\"ols-subtopic-list\">\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/intermolecular-forces\/london-forces\/\">London Forces<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/intermolecular-forces\/permanent-dipole-dipole-forces\/\">Permanent Dipole-Dipole Forces<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/intermolecular-forces\/hydrogen-bonding\/\">Hydrogen Bonding<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/intermolecular-forces\/anomalous-properties-of-water\/\">Anomalous Properties of Water<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/intermolecular-forces\/boiling-temperature-trends\/\">Boiling Point Trends<\/a>\r\n          <\/li>\r\n          <li>\r\n            <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/intermolecular-forces\/choosing-solvents\/\">Choosing Solvents<\/a>\r\n          <\/li>\r\n        <\/ul>\r\n      <\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <div class=\"ols-topic-group\">\r\n    <h4>Adjacent Topics<\/h4>\r\n\r\n    <ul class=\"ols-topic-list\">\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-1-atomicstructure\/\">3.1.1 Atomic Structure<\/a>\r\n      <\/li>\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-2-amount-of-substance\/\">3.1.2 Amount of Substance<\/a>\r\n      <\/li>\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-4-energetics\/\">3.1.4 Energetics<\/a>\r\n      <\/li>\r\n      <li>\r\n        <a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-2-1-periodicity\/\">3.2.1 Periodicity<\/a>\r\n      <\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/aside>\r\n\r\n<script>\r\n(function() {\r\n  function normalisePath(path) {\r\n    return String(path || '')\r\n      .split('?')[0]\r\n      .split('#')[0]\r\n      .replace(\/\\\/+$\/, '')\r\n      .toLowerCase();\r\n  }\r\n\r\n  function highlightActive() {\r\n    var sidebar = document.querySelector('.ols-sidebar');\r\n    if (!sidebar) return false;\r\n\r\n    var currentPath = normalisePath(window.location.pathname);\r\n    var links = sidebar.querySelectorAll('a[href]');\r\n    var matched = null;\r\n    var matchedLength = 0;\r\n\r\n    sidebar.querySelectorAll('.active, .active-main, .parent-active').forEach(function(item) {\r\n      item.classList.remove('active', 'active-main', 'parent-active');\r\n    });\r\n\r\n    sidebar.querySelectorAll('a[data-ols-disabled-parent=\"1\"], a[aria-current]').forEach(function(a) {\r\n      a.removeAttribute('aria-current');\r\n      a.removeAttribute('tabindex');\r\n      a.removeAttribute('data-ols-disabled-parent');\r\n    });\r\n\r\n    links.forEach(function(a) {\r\n      try {\r\n        var href = a.getAttribute('href');\r\n\r\n        if (!href || href === '#' || href.charAt(0) === '#') {\r\n          return;\r\n        }\r\n\r\n        var linkPath = normalisePath(new URL(href, window.location.origin).pathname);\r\n\r\n        if (!linkPath) {\r\n          return;\r\n        }\r\n\r\n        if (currentPath === linkPath || currentPath.indexOf(linkPath + '\/') === 0) {\r\n          if (linkPath.length > matchedLength) {\r\n            matched = a;\r\n            matchedLength = linkPath.length;\r\n          }\r\n        }\r\n      } catch(e) {}\r\n    });\r\n\r\n    if (matched) {\r\n      var matchedLi = matched.closest('li');\r\n      var parentSub = matched.closest('.ols-subtopic-list');\r\n\r\n      if (parentSub) {\r\n        if (matchedLi) {\r\n          matchedLi.classList.add('active');\r\n          matched.setAttribute('aria-current', 'page');\r\n        }\r\n\r\n        var parentLi = parentSub.closest('li');\r\n\r\n        if (parentLi) {\r\n          parentLi.classList.add('parent-active', 'active-main');\r\n\r\n          var parentLink = parentLi.querySelector(':scope > a');\r\n\r\n          if (parentLink) {\r\n            parentLink.setAttribute('aria-current', 'true');\r\n            parentLink.setAttribute('tabindex', '-1');\r\n            parentLink.setAttribute('data-ols-disabled-parent', '1');\r\n          }\r\n        }\r\n      } else {\r\n        if (matchedLi) {\r\n          matchedLi.classList.add('parent-active', 'active-main');\r\n          matched.setAttribute('aria-current', 'page');\r\n          matched.setAttribute('tabindex', '-1');\r\n          matched.setAttribute('data-ols-disabled-parent', '1');\r\n        }\r\n      }\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  if (!highlightActive()) {\r\n    document.addEventListener('DOMContentLoaded', highlightActive);\r\n  }\r\n})();\r\n<\/script>\n\n  <main class=\"ols-main\">\n      <nav class=\"ols-breadcrumbs\" aria-label=\"Breadcrumb\">\n<a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/\">Revision Notes<\/a> \/\n<a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/\">A Level Chemistry<\/a> \/\n<a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/\">AQA<\/a> \/\n<a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/\">3.1.3 Bonding<\/a> \/\n<a href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/\">Shapes of Molecules and Ions<\/a> \/\n<span>Trigonal Pyramidal Molecular Shape<\/span>\n<\/nav>\n\n      <header class=\"ols-title-card\">\n        <h1>Trigonal Pyramidal Molecular Shape<\/h1>\n        <p class=\"ols-page-intro\">A focused revision guide to the trigonal pyramidal molecular shape, using NH<sub>3<\/sub> as the key example. This page explains why three bonding pairs and one lone pair around a central atom give a three-dimensional pyramidal arrangement with bond angles of about 107&deg;.<\/p>\n\n        <div class=\"ols-badges\">\n          <div class=\"ols-badge\">Paper 1 and 2<\/div>\n<div class=\"ols-badge\">AQA<\/div>\n<div class=\"ols-badge\">3.1.3 Bonding<\/div>\n<div class=\"ols-badge\">7405\/1 and 7405\/2<\/div>\n        <\/div>\n\n        <div class=\"ols-author\">\n          <img decoding=\"async\" class=\"ols-author-avatar-img\" src=\"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-content\/uploads\/2026\/05\/Author-Profile.jpeg\" alt=\"Dr. Mohammed Al-Fatah\">\n          <div class=\"ols-author-content\">\n            <h2 class=\"ols-author-title\">Written by:<br><span>Dr. Mohammed Al-Fatah<\/span><\/h2>\n            <p class=\"ols-author-description\">Chemistry specialist revision notes for A Level Chemistry.<\/p>\n            <a class=\"ols-linkedin-pill\" href=\"https:\/\/www.linkedin.com\/in\/doctormohammedfatah\/\" target=\"_blank\" rel=\"noopener noreferrer\">\n              <svg class=\"ols-linkedin-icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4.98 3.5C4.98 4.88 3.86 6 2.48 6S0 4.88 0 3.5 1.12 1 2.48 1s2.5 1.12 2.5 2.5zM.5 8h4V24h-4V8zm7 0h3.8v2.2h.1c.5-.9 1.8-2.2 3.9-2.2 4.2 0 5 2.8 5 6.4V24h-4v-7.6c0-1.8 0-4.2-2.6-4.2s-3 2-3 4v7.8h-4V8z\"><\/path><\/svg>\n              View LinkedIn Profile\n            <\/a>\n          <\/div>\n        <\/div>\n      <\/header>\n\n<style>\n  .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-spec-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 14px;\n    margin-top: 18px;\n  }\n  .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-spec-box {\n    background: #ffffff;\n    border: 1px solid var(--border);\n    border-radius: 18px;\n    padding: 18px;\n    box-shadow: var(--inner-shadow);\n  }\n  .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-spec-box strong {\n    display: block;\n    font-size: 15px;\n    color: var(--blue);\n    margin-bottom: 6px;\n  }\n  .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-spec-box span {\n    display: block;\n    font-size: 17px;\n    line-height: 1.55;\n    color: var(--body-text);\n    font-weight: 300;\n    overflow-wrap: anywhere;\n  }\n  .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-h5p-grid {\n    display: grid;\n    gap: 18px;\n    margin-top: 22px;\n  }\n  .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-h5p-frame {\n    margin-top: 0;\n  }\n  .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-formula {\n    white-space: nowrap;\n  }\n  @media (max-width: 760px) {\n    .ols-trigonal-pyramidal-molecular-shape-9ch0-page .ols-spec-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style>\n\n      <section class=\"ols-h5p-card ols-h5p-inline ols-h5p-recap\">\n<span class=\"ols-h5p-kicker\">Before you start<\/span>\n<h2>GCSE Recap: Forces Between Charges<\/h2>\n<p>Before you start, check what you remember about the forces between charges and about where a shared pair of electrons is held.<\/p>\n<div class=\"ols-h5p-frame\"><div class=\"h5p-content\" data-content-id=\"679\"><\/div><\/div>\n<\/section>\n<article class=\"ols-note-card soft\">\n        <div class=\"ols-note-title\">\n          <div class=\"ols-note-icon\">1<\/div>\n          <h2>What Trigonal Pyramidal Means<\/h2>\n        <\/div>\n        <p>A <strong>trigonal pyramidal<\/strong> molecule has three atoms bonded to a central atom, with one lone pair also present on the central atom. The three bonded atoms form a triangular base, while the central atom sits above the base to give a pyramidal shape.<\/p>\n        <p>The key example for this page is <strong>NH<sub>3<\/sub><\/strong>. Nitrogen is the central atom, each hydrogen atom is bonded to nitrogen, and nitrogen also has one lone pair.<\/p>\n\n        <div class=\"ols-spec-grid\">\n          <div class=\"ols-spec-box\">\n            <strong>Bonding pairs<\/strong>\n            <span>3 bonding pairs around the central atom<\/span>\n          <\/div>\n          <div class=\"ols-spec-box\">\n            <strong>Lone pairs<\/strong>\n            <span>1 lone pair on the central atom<\/span>\n          <\/div>\n          <div class=\"ols-spec-box\">\n            <strong>Bond angle<\/strong>\n            <span>about 107&deg; between the bonds<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"ols-key-box\"><p><strong>Key idea:<\/strong> three bonding pairs and one lone pair around a central atom give a trigonal pyramidal shape with bond angles of about 107&deg;.<\/p><\/div>\n      <\/article>\n\n      <article class=\"ols-note-card\">\n        <div class=\"ols-note-title\">\n          <div class=\"ols-note-icon\">2<\/div>\n          <h2>Why NH<sub>3<\/sub> Is Trigonal Pyramidal<\/h2>\n        <\/div>\n        <p>In NH<sub>3<\/sub>, the central nitrogen atom is surrounded by three N-H bonding pairs and one lone pair. These four regions of negative charge repel one another and are based on a tetrahedral electron-pair arrangement.<\/p>\n        <p>The <strong>molecular shape<\/strong> only considers the positions of the atoms, not the invisible lone pair. Therefore, NH<sub>3<\/sub> is described as <strong>trigonal pyramidal<\/strong>, not tetrahedral.<\/p>\n\n        <div class=\"ols-zoom-card compact\">\n          <div class=\"ols-zoom-card-image\">\n            <img decoding=\"async\" src=\"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-content\/uploads\/2026\/05\/NH3.png\" alt=\"Trigonal pyramidal shape table entry showing three bonding pairs, one lone pair, a 107 degree bond angle and examples including NCl3, PF3, ClO3 minus and H3O plus\" class=\"ols-zoomable-img ols-lightbox-target\" draggable=\"false\">\n          <\/div>\n          <div class=\"ols-zoom-card-caption\">\n            <p>A trigonal pyramidal species has three bonding regions and one lone pair around the central atom, giving a bond angle of about 107&deg;.<\/p>\n          <\/div>\n        <\/div>\n      <\/article>\n<section class=\"ols-h5p-card ols-h5p-inline\">\n<span class=\"ols-h5p-kicker\">Check your understanding<\/span>\n<h2>Quick Check: Arrangement or Shape?<\/h2>\n<p>Do the electron count for a new molecule, then choose the line that gets both the arrangement and the shape right.<\/p>\n<div class=\"ols-h5p-frame\"><div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-189\" class=\"h5p-iframe\" data-content-id=\"189\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Trigonal Pyramidal MCQ: Arrangement and Shape of Antimony Trichloride\"><\/iframe><\/div><\/div>\n<\/section>\n\n<section id=\"ols-nh3-trigonal-pyramidal-card\" class=\"ols-nh3-trigonal-pyramidal-card\">\n  <style>\n    #ols-nh3-trigonal-pyramidal-card {\n      --ols-navy: #1C244B;\n      --ols-gold: #c9973a;\n      --ols-red: #c81e1e;\n      --ols-green: #31a36a;\n      --ols-blue: #1f7ae0;\n      --ols-soft-blue: #EEF4FF;\n      --ols-border: rgba(28, 36, 75, 0.14);\n      --ols-shadow: 0 14px 34px rgba(28, 36, 75, 0.12);\n      font-family: Poppins, Arial, sans-serif;\n      color: var(--ols-navy);\n      width: 100%;\n      margin: 28px auto;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card * {\n      box-sizing: border-box;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-model-card {\n      width: 100%;\n      background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);\n      border: 1px solid var(--ols-border);\n      border-radius: 28px;\n      box-shadow: var(--ols-shadow);\n      overflow: hidden;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-model-header {\n      padding: 24px 26px 16px;\n      border-bottom: 1px solid rgba(28, 36, 75, 0.08);\n      background:\n        radial-gradient(circle at top left, rgba(201, 151, 58, 0.16), transparent 34%),\n        radial-gradient(circle at top right, rgba(31, 122, 224, 0.12), transparent 32%),\n        #ffffff;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-pill {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(31, 122, 224, 0.1);\n      color: var(--ols-blue);\n      border: 1px solid rgba(31, 122, 224, 0.18);\n      font-size: 13px;\n      font-weight: 600;\n      margin-bottom: 12px;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-model-title {\n      margin: 0;\n      font-size: clamp(26px, 3vw, 40px);\n      line-height: 1.12;\n      font-weight: 600;\n      color: var(--ols-navy);\n      letter-spacing: -0.03em;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-model-subtitle {\n      margin: 12px 0 0;\n      font-size: clamp(16px, 1.4vw, 22px);\n      line-height: 1.55;\n      font-weight: 300;\n      color: rgba(28, 36, 75, 0.82);\n      max-width: 980px;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-viewer-wrap {\n      position: relative;\n      width: 100%;\n      height: 590px;\n      background:\n        radial-gradient(circle at center, rgba(31, 122, 224, 0.06), transparent 38%),\n        linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);\n      overflow: hidden;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card #olsNH3Viewer {\n      width: 100%;\n      height: 100%;\n      display: block;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-viewer-badge {\n      position: absolute;\n      top: 16px;\n      right: 16px;\n      background: rgba(255, 255, 255, 0.92);\n      color: var(--ols-navy);\n      padding: 8px 12px;\n      border-radius: 12px;\n      font-size: 13px;\n      font-weight: 600;\n      box-shadow: 0 6px 18px rgba(28, 36, 75, 0.14);\n      border: 1px solid rgba(28, 36, 75, 0.08);\n      pointer-events: none;\n      z-index: 4;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-angle-badge {\n      position: absolute;\n      left: 16px;\n      bottom: 16px;\n      background: rgba(255, 255, 255, 0.94);\n      color: var(--ols-navy);\n      padding: 8px 12px;\n      border-radius: 999px;\n      font-size: 13px;\n      font-weight: 700;\n      box-shadow: 0 6px 18px rgba(28, 36, 75, 0.14);\n      border: 1px solid rgba(28, 36, 75, 0.08);\n      pointer-events: none;\n      z-index: 4;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-controls {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 10px;\n      padding: 16px 18px;\n      background: #ffffff;\n      border-top: 1px solid rgba(28, 36, 75, 0.08);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-btn {\n      appearance: none;\n      border: 1px solid rgba(28, 36, 75, 0.14);\n      background: #ffffff;\n      color: var(--ols-navy);\n      border-radius: 999px;\n      padding: 10px 15px;\n      font-family: Poppins, Arial, sans-serif;\n      font-size: 14px;\n      font-weight: 600;\n      cursor: pointer;\n      transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-btn:hover {\n      transform: translateY(-2px);\n      box-shadow: 0 8px 20px rgba(28, 36, 75, 0.12);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-btn.is-active {\n      background: var(--ols-navy);\n      color: #ffffff;\n      border-color: var(--ols-navy);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-btn.ols-red {\n      background: var(--ols-red);\n      color: #ffffff;\n      border-color: var(--ols-red);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-explanation {\n      padding: 22px 26px 26px;\n      background: #ffffff;\n      border-top: 1px solid rgba(28, 36, 75, 0.08);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-key-message {\n      margin: 0;\n      padding: 16px 18px;\n      border-radius: 18px;\n      background: var(--ols-soft-blue);\n      border: 1px solid rgba(31, 122, 224, 0.14);\n      font-size: 16px;\n      line-height: 1.65;\n      font-weight: 300;\n      color: rgba(28, 36, 75, 0.88);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-key-message strong {\n      font-weight: 700;\n      color: var(--ols-navy);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-explanation-grid {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 14px;\n      margin-top: 16px;\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-info-box {\n      border-radius: 18px;\n      padding: 16px;\n      background: #f8fbff;\n      border: 1px solid rgba(28, 36, 75, 0.1);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-info-box strong {\n      display: block;\n      font-size: 15px;\n      margin-bottom: 6px;\n      color: var(--ols-navy);\n    }\n\n    #ols-nh3-trigonal-pyramidal-card .ols-info-box span {\n      display: block;\n      font-size: 14px;\n      line-height: 1.55;\n      font-weight: 300;\n      color: rgba(28, 36, 75, 0.8);\n    }\n\n    @media (max-width: 820px) {\n      #ols-nh3-trigonal-pyramidal-card .ols-viewer-wrap {\n        height: 500px;\n      }\n\n      #ols-nh3-trigonal-pyramidal-card .ols-explanation-grid {\n        grid-template-columns: 1fr;\n      }\n\n      #ols-nh3-trigonal-pyramidal-card .ols-viewer-badge {\n        top: 12px;\n        right: 12px;\n        font-size: 12px;\n      }\n    }\n\n    @media (max-width: 520px) {\n      #ols-nh3-trigonal-pyramidal-card .ols-model-header,\n      #ols-nh3-trigonal-pyramidal-card .ols-explanation {\n        padding-left: 18px;\n        padding-right: 18px;\n      }\n\n      #ols-nh3-trigonal-pyramidal-card .ols-viewer-wrap {\n        height: 430px;\n      }\n\n      #ols-nh3-trigonal-pyramidal-card .ols-controls {\n        padding: 14px;\n      }\n\n      #ols-nh3-trigonal-pyramidal-card .ols-btn {\n        width: 100%;\n      }\n\n      #ols-nh3-trigonal-pyramidal-card .ols-viewer-badge {\n        left: 12px;\n        right: 12px;\n        text-align: center;\n      }\n    }\n  <\/style>\n\n  <div class=\"ols-model-card\">\n    <div class=\"ols-model-header\">\n      <div class=\"ols-pill\">3D molecule shape model<\/div>\n      <h2 class=\"ols-model-title\">Trigonal Pyramidal Shape of NH<sub>3<\/sub><\/h2>\n      <p class=\"ols-model-subtitle\">\n        In ammonia, nitrogen has three N-H bonding pairs and one lone pair. The lone pair is shown as two red particles above nitrogen. Because a lone pair repels more strongly than a bonding pair, it compresses the H-N-H bond angles from the tetrahedral value of 109.5\u00b0 to about 107\u00b0.\n      <\/p>\n    <\/div>\n\n    <div class=\"ols-viewer-wrap\">\n      <div id=\"olsNH3Viewer\"><\/div>\n      <div class=\"ols-viewer-badge\">Drag to rotate \u2022 Scroll to zoom \u2022 Gold protractor arcs show the H-N-H bond angles<\/div>\n      <div class=\"ols-angle-badge\" id=\"olsNH3AngleBadge\">Bond angles: 107\u00b0<\/div>\n    <\/div>\n\n    <div class=\"ols-controls\">\n      <button type=\"button\" class=\"ols-btn is-active\" id=\"olsNH3RotateBtn\">Pause rotation<\/button>\n      <button type=\"button\" class=\"ols-btn ols-red\" id=\"olsNH3DemoBtn\">Show lone-pair compression<\/button>\n      <button type=\"button\" class=\"ols-btn\" id=\"olsNH3ResetBtn\">Reset view<\/button>\n    <\/div>\n\n    <div class=\"ols-explanation\">\n      <p class=\"ols-key-message\">\n        <strong>Key idea:<\/strong> NH<sub>3<\/sub> has <strong>three bonding pairs<\/strong> and <strong>one lone pair<\/strong> around nitrogen. The electron-pair arrangement is based on a tetrahedron, but the lone pair repels more strongly than the bonding pairs, compressing the H-N-H bond angle to about <strong>107\u00b0<\/strong>. A useful rule of thumb is that <strong>one lone pair reduces the bond angle by about 2.5\u00b0<\/strong>.\n      <\/p>\n\n      <div class=\"ols-explanation-grid\">\n        <div class=\"ols-info-box\">\n          <strong>Central atom<\/strong>\n          <span>Nitrogen is the central atom and sits at the centre of the model.<\/span>\n        <\/div>\n\n        <div class=\"ols-info-box\">\n          <strong>Lone pair<\/strong>\n          <span>The two red particles represent the lone pair on nitrogen, which repels bonding pairs more strongly.<\/span>\n        <\/div>\n\n        <div class=\"ols-info-box\">\n          <strong>Shape outcome<\/strong>\n          <span>Three bonded atoms and one lone pair produce a trigonal pyramidal shape with H-N-H angles of about 107\u00b0.<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n    (function () {\n      const CARD_ID = \"ols-nh3-trigonal-pyramidal-card\";\n      const VIEWER_ID = \"olsNH3Viewer\";\n\n      function loadScript(src) {\n        return new Promise(function (resolve, reject) {\n          if (src.indexOf(\"three.min.js\") !== -1) {\n            if (window.THREE) {\n              resolve();\n              return;\n            }\n          }\n\n          if (src.indexOf(\"OrbitControls.js\") !== -1) {\n            if (window.THREE) {\n              if (THREE.OrbitControls) {\n                resolve();\n                return;\n              }\n            }\n          }\n\n          const existing = document.querySelector('script[src=\"' + src + '\"]');\n\n          if (existing) {\n            existing.addEventListener(\"load\", resolve);\n            existing.addEventListener(\"error\", reject);\n\n            if (existing.dataset.loaded === \"true\") {\n              resolve();\n            }\n            return;\n          }\n\n          const script = document.createElement(\"script\");\n          script.src = src;\n          script.async = true;\n          script.onload = function () {\n            script.dataset.loaded = \"true\";\n            resolve();\n          };\n          script.onerror = reject;\n          document.head.appendChild(script);\n        });\n      }\n\n      function initNH3Model() {\n        const card = document.getElementById(CARD_ID);\n        if (!card) {\n          return;\n        }\n\n        const container = document.getElementById(VIEWER_ID);\n        if (!container) {\n          return;\n        }\n\n        if (container.dataset.initialised === \"true\") {\n          return;\n        }\n\n        container.dataset.initialised = \"true\";\n\n        const rotateBtn = document.getElementById(\"olsNH3RotateBtn\");\n        const demoBtn = document.getElementById(\"olsNH3DemoBtn\");\n        const resetBtn = document.getElementById(\"olsNH3ResetBtn\");\n        const angleBadge = document.getElementById(\"olsNH3AngleBadge\");\n\n        let autoRotate = true;\n        let isVisible = true;\n        let animating = false;\n        let pulseValue = 0;\n\n        const scene = new THREE.Scene();\n        scene.background = null;\n\n        const camera = new THREE.PerspectiveCamera(\n          45,\n          container.clientWidth \/ container.clientHeight,\n          0.1,\n          1000\n        );\n        camera.position.set(0, 1.8, 7.8);\n\n        const renderer = new THREE.WebGLRenderer({\n          antialias: true,\n          alpha: true\n        });\n\n        const pixelRatio = window.devicePixelRatio ? Math.min(window.devicePixelRatio, 2) : 1;\n        renderer.setPixelRatio(pixelRatio);\n        renderer.setSize(container.clientWidth, container.clientHeight);\n        container.appendChild(renderer.domElement);\n\n        const controls = new THREE.OrbitControls(camera, renderer.domElement);\n        controls.enableDamping = true;\n        controls.dampingFactor = 0.08;\n        controls.enablePan = false;\n        controls.minDistance = 4.8;\n        controls.maxDistance = 10.5;\n        controls.target.set(0, 0, 0);\n\n        const root = new THREE.Group();\n        scene.add(root);\n\n        const modelRoot = new THREE.Group();\n        modelRoot.rotation.x = 0.48;\n        modelRoot.rotation.y = 0.38;\n        root.add(modelRoot);\n\n        const ambient = new THREE.AmbientLight(0xffffff, 0.82);\n        scene.add(ambient);\n\n        const keyLight = new THREE.DirectionalLight(0xffffff, 1.12);\n        keyLight.position.set(5, 7, 8);\n        scene.add(keyLight);\n\n        const fillLight = new THREE.DirectionalLight(0xe4f1ff, 0.58);\n        fillLight.position.set(-6, -3, 5);\n        scene.add(fillLight);\n\n        const backLight = new THREE.DirectionalLight(0xffffff, 0.34);\n        backLight.position.set(0, 3, -7);\n        scene.add(backLight);\n\n        const guideRadius = 2.65;\n        const bondLength = 2.08;\n        const arcRadii = [0.78, 0.98, 1.18];\n\n        const guideMaterial = new THREE.MeshPhysicalMaterial({\n          color: 0xEEF4FF,\n          transparent: true,\n          opacity: 0.12,\n          roughness: 0.35,\n          metalness: 0.02,\n          clearcoat: 0.35,\n          side: THREE.DoubleSide\n        });\n\n        const nitrogenMaterial = new THREE.MeshPhysicalMaterial({\n          color: 0x2563eb,\n          metalness: 0.08,\n          roughness: 0.25,\n          clearcoat: 0.65,\n          clearcoatRoughness: 0.16\n        });\n\n        const hydrogenMaterial = new THREE.MeshPhysicalMaterial({\n          color: 0xffffff,\n          metalness: 0.02,\n          roughness: 0.18,\n          clearcoat: 0.48,\n          clearcoatRoughness: 0.16\n        });\n\n        const bondMaterial = new THREE.MeshPhysicalMaterial({\n          color: 0xcfd5df,\n          metalness: 0.14,\n          roughness: 0.32,\n          clearcoat: 0.42,\n          clearcoatRoughness: 0.2\n        });\n\n        const lonePairMaterial = new THREE.MeshPhysicalMaterial({\n          color: 0xc81e1e,\n          metalness: 0.03,\n          roughness: 0.22,\n          clearcoat: 0.72,\n          clearcoatRoughness: 0.16\n        });\n\n        const goldArcMaterial = new THREE.MeshPhysicalMaterial({\n          color: 0xc9973a,\n          emissive: 0x5a3d0d,\n          emissiveIntensity: 0.18,\n          metalness: 0.05,\n          roughness: 0.22,\n          clearcoat: 0.55,\n          clearcoatRoughness: 0.16\n        });\n\n        const arcEndMaterial = new THREE.MeshPhysicalMaterial({\n          color: 0xc9973a,\n          emissive: 0x5a3d0d,\n          emissiveIntensity: 0.12,\n          metalness: 0.05,\n          roughness: 0.2,\n          clearcoat: 0.45\n        });\n\n        const guideSphere = new THREE.Mesh(\n          new THREE.SphereGeometry(guideRadius, 96, 96),\n          guideMaterial\n        );\n        modelRoot.add(guideSphere);\n\n        addSphereGrid(modelRoot, guideRadius);\n\n        const nitrogen = new THREE.Mesh(\n          new THREE.SphereGeometry(0.34, 64, 64),\n          nitrogenMaterial\n        );\n        modelRoot.add(nitrogen);\n\n        addGlow(modelRoot, new THREE.Vector3(0, 0, 0), 0.72, 0xdfe6ee, 0.28);\n        addTextSprite(modelRoot, \"N\", new THREE.Vector3(0, 0.52, 0.14), 72, \"#1C244B\", 0.82);\n\n        const lonePairGroup = new THREE.Group();\n        modelRoot.add(lonePairGroup);\n\n        const lonePairDirection = new THREE.Vector3(0, 1, 0).normalize();\n\n        const loneElectron1 = new THREE.Mesh(\n          new THREE.SphereGeometry(0.14, 40, 40),\n          lonePairMaterial\n        );\n        const loneElectron2 = new THREE.Mesh(\n          new THREE.SphereGeometry(0.14, 40, 40),\n          lonePairMaterial\n        );\n\n        lonePairGroup.add(loneElectron1);\n        lonePairGroup.add(loneElectron2);\n\n        const lonePairLabel = addTextSprite(\n          modelRoot,\n          \"lone pair\",\n          new THREE.Vector3(0, 0, 0),\n          54,\n          \"#c81e1e\",\n          0.76\n        );\n\n        const pulseMaterial = new THREE.MeshBasicMaterial({\n          color: 0xc81e1e,\n          transparent: true,\n          opacity: 0,\n          wireframe: true\n        });\n\n        const pulseSphere = new THREE.Mesh(\n          new THREE.SphereGeometry(0.55, 48, 48),\n          pulseMaterial\n        );\n        modelRoot.add(pulseSphere);\n\n        const bondUnits = [\n          createBondUnit(),\n          createBondUnit(),\n          createBondUnit()\n        ];\n\n        bondUnits.forEach(function (unit) {\n          modelRoot.add(unit.group);\n        });\n\n        const angleArcs = [\n          createAngleArc(arcRadii[0]),\n          createAngleArc(arcRadii[1]),\n          createAngleArc(arcRadii[2])\n        ];\n\n        angleArcs.forEach(function (arc) {\n          modelRoot.add(arc.tube);\n          modelRoot.add(arc.startCap);\n          modelRoot.add(arc.endCap);\n          modelRoot.add(arc.label.sprite);\n        });\n\n        const targetBondVectors = createTrigonalPyramidalVectors(107);\n        const tetrahedralBondVectors = createTrigonalPyramidalVectors(109.5);\n\n        let bondVectors = targetBondVectors.map(function (v) {\n          return v.clone();\n        });\n\n        function createTrigonalPyramidalVectors(angleDeg) {\n          const targetDot = Math.cos(angleDeg * Math.PI \/ 180);\n          const cosThetaSquared = (targetDot + 0.5) \/ 1.5;\n          const cosTheta = -Math.sqrt(Math.max(0, cosThetaSquared));\n          const sinTheta = Math.sqrt(Math.max(0, 1 - cosTheta * cosTheta));\n\n          const result = [];\n\n          for (let i = 0; i < 3; i++) {\n            const phi = (i * Math.PI * 2) \/ 3 + Math.PI \/ 6;\n            result.push(\n              new THREE.Vector3(\n                sinTheta * Math.cos(phi),\n                cosTheta,\n                sinTheta * Math.sin(phi)\n              ).normalize()\n            );\n          }\n\n          return result;\n        }\n\n        function createBondUnit() {\n          const group = new THREE.Group();\n\n          const bond = new THREE.Mesh(\n            new THREE.CylinderGeometry(0.08, 0.08, 1, 32, 1),\n            bondMaterial\n          );\n          group.add(bond);\n\n          const hydrogen = new THREE.Mesh(\n            new THREE.SphereGeometry(0.30, 64, 64),\n            hydrogenMaterial\n          );\n          group.add(hydrogen);\n\n          const hLabel = addTextSprite(group, \"H\", new THREE.Vector3(0, 0, 0), 70, \"#1C244B\", 0.62);\n\n          return {\n            group: group,\n            bond: bond,\n            hydrogen: hydrogen,\n            hLabel: hLabel\n          };\n        }\n\n        function createAngleArc(radius) {\n          const starterCurve = new THREE.CatmullRomCurve3([\n            new THREE.Vector3(0, 0, 0),\n            new THREE.Vector3(0.1, 0, 0),\n            new THREE.Vector3(0.2, 0, 0)\n          ]);\n\n          const tube = new THREE.Mesh(\n            new THREE.TubeGeometry(starterCurve, 24, 0.026, 10, false),\n            goldArcMaterial\n          );\n\n          const startCap = new THREE.Mesh(\n            new THREE.SphereGeometry(0.052, 18, 18),\n            arcEndMaterial\n          );\n\n          const endCap = new THREE.Mesh(\n            new THREE.SphereGeometry(0.052, 18, 18),\n            arcEndMaterial\n          );\n\n          const label = createDynamicTextSprite(\"107\u00b0\", \"#c9973a\", 74, 0.80);\n\n          return {\n            tube: tube,\n            startCap: startCap,\n            endCap: endCap,\n            label: label,\n            radius: radius\n          };\n        }\n\n        function addSphereGrid(parent, radius) {\n          const gridMaterial = new THREE.LineBasicMaterial({\n            color: 0x1C244B,\n            transparent: true,\n            opacity: 0.10\n          });\n\n          const latitudes = [-60, -30, 0, 30, 60];\n\n          latitudes.forEach(function (deg) {\n            const y = radius * Math.sin(deg * Math.PI \/ 180);\n            const r = radius * Math.cos(deg * Math.PI \/ 180);\n            const curve = new THREE.EllipseCurve(0, 0, r, r, 0, Math.PI * 2, false, 0);\n            const points = curve.getPoints(160);\n            const geometry = new THREE.BufferGeometry().setFromPoints(\n              points.map(function (p) {\n                return new THREE.Vector3(p.x, y, p.y);\n              })\n            );\n\n            const line = new THREE.LineLoop(geometry, gridMaterial);\n            parent.add(line);\n          });\n\n          for (let i = 0; i < 6; i++) {\n            const group = new THREE.Group();\n            const curve = new THREE.EllipseCurve(0, 0, radius, radius, 0, Math.PI * 2, false, 0);\n            const points = curve.getPoints(160);\n            const geometry = new THREE.BufferGeometry().setFromPoints(\n              points.map(function (p) {\n                return new THREE.Vector3(p.x, p.y, 0);\n              })\n            );\n\n            const line = new THREE.LineLoop(geometry, gridMaterial);\n            group.add(line);\n            group.rotation.y = i * Math.PI \/ 6;\n            parent.add(group);\n          }\n        }\n\n        function addGlow(parent, position, scale, color, opacity) {\n          const canvas = document.createElement(\"canvas\");\n          canvas.width = 128;\n          canvas.height = 128;\n\n          const ctx = canvas.getContext(\"2d\");\n          const gradient = ctx.createRadialGradient(64, 64, 2, 64, 64, 62);\n          gradient.addColorStop(0, \"rgba(255,255,255,\" + opacity + \")\");\n          gradient.addColorStop(0.42, \"rgba(150,205,255,\" + String(opacity * 0.55) + \")\");\n          gradient.addColorStop(1, \"rgba(255,255,255,0)\");\n\n          ctx.fillStyle = gradient;\n          ctx.fillRect(0, 0, 128, 128);\n\n          const texture = new THREE.CanvasTexture(canvas);\n\n          const material = new THREE.SpriteMaterial({\n            map: texture,\n            color: color,\n            transparent: true,\n            depthWrite: false\n          });\n\n          const sprite = new THREE.Sprite(material);\n          sprite.position.copy(position);\n          sprite.scale.set(scale * 2.2, scale * 2.2, 1);\n          parent.add(sprite);\n          return sprite;\n        }\n\n        function addTextSprite(parent, text, position, fontSize, color, scale) {\n          const canvas = document.createElement(\"canvas\");\n          canvas.width = 512;\n          canvas.height = 256;\n\n          const ctx = canvas.getContext(\"2d\");\n          ctx.clearRect(0, 0, canvas.width, canvas.height);\n          ctx.font = \"700 \" + String(fontSize) + \"px Arial, sans-serif\";\n          ctx.textAlign = \"center\";\n          ctx.textBaseline = \"middle\";\n          ctx.lineWidth = 10;\n          ctx.strokeStyle = \"rgba(255,255,255,0.92)\";\n          ctx.strokeText(text, canvas.width \/ 2, canvas.height \/ 2);\n          ctx.fillStyle = color;\n          ctx.fillText(text, canvas.width \/ 2, canvas.height \/ 2);\n\n          const texture = new THREE.CanvasTexture(canvas);\n          const material = new THREE.SpriteMaterial({\n            map: texture,\n            transparent: true,\n            depthTest: false\n          });\n\n          const sprite = new THREE.Sprite(material);\n          sprite.position.copy(position);\n          sprite.scale.set(1.25 * scale, 0.62 * scale, 1);\n          parent.add(sprite);\n          return sprite;\n        }\n\n        function createDynamicTextSprite(text, color, fontSize, scale) {\n          const canvas = document.createElement(\"canvas\");\n          canvas.width = 512;\n          canvas.height = 256;\n          const ctx = canvas.getContext(\"2d\");\n\n          const texture = new THREE.CanvasTexture(canvas);\n          const material = new THREE.SpriteMaterial({\n            map: texture,\n            transparent: true,\n            depthTest: false\n          });\n\n          const sprite = new THREE.Sprite(material);\n          sprite.scale.set(1.38 * scale, 0.68 * scale, 1);\n\n          function setText(newText) {\n            ctx.clearRect(0, 0, canvas.width, canvas.height);\n            ctx.font = \"700 \" + String(fontSize) + \"px Arial, sans-serif\";\n            ctx.textAlign = \"center\";\n            ctx.textBaseline = \"middle\";\n            ctx.lineWidth = 10;\n            ctx.strokeStyle = \"rgba(255,255,255,0.95)\";\n            ctx.strokeText(newText, canvas.width \/ 2, canvas.height \/ 2);\n            ctx.fillStyle = color;\n            ctx.fillText(newText, canvas.width \/ 2, canvas.height \/ 2);\n            texture.needsUpdate = true;\n          }\n\n          setText(text);\n\n          return {\n            sprite: sprite,\n            setText: setText\n          };\n        }\n\n        function updateBondUnit(unit, vector) {\n          const direction = vector.clone().normalize();\n\n          const midpoint = direction.clone().multiplyScalar(bondLength \/ 2);\n          unit.bond.position.copy(midpoint);\n          unit.bond.quaternion.setFromUnitVectors(new THREE.Vector3(0, 1, 0), direction);\n          unit.bond.scale.set(1, bondLength, 1);\n\n          const hydrogenPosition = direction.clone().multiplyScalar(bondLength);\n          unit.hydrogen.position.copy(hydrogenPosition);\n          unit.hLabel.position.copy(direction.clone().multiplyScalar(bondLength + 0.46));\n        }\n\n        function updateAllBondUnits() {\n          for (let i = 0; i < 3; i++) {\n            updateBondUnit(bondUnits[i], bondVectors[i]);\n          }\n        }\n\n        function updateLonePair() {\n          const base = lonePairDirection.clone().multiplyScalar(1.04);\n          const sideOffset = new THREE.Vector3(0.18, 0, 0);\n\n          loneElectron1.position.copy(base.clone().add(sideOffset));\n          loneElectron2.position.copy(base.clone().sub(sideOffset));\n\n          lonePairLabel.position.copy(lonePairDirection.clone().multiplyScalar(1.54));\n        }\n\n        function buildArcPoints(v1, v2, radius, segments) {\n          let dot = v1.clone().normalize().dot(v2.clone().normalize());\n          dot = Math.max(-1, Math.min(1, dot));\n\n          const theta = Math.acos(dot);\n          const sinTheta = Math.sin(theta);\n          const points = [];\n\n          for (let i = 0; i <= segments; i++) {\n            const t = i \/ segments;\n            let p;\n\n            if (sinTheta < 0.0001) {\n              p = v1.clone().lerp(v2, t).normalize();\n            } else {\n              const a = Math.sin((1 - t) * theta) \/ sinTheta;\n              const b = Math.sin(t * theta) \/ sinTheta;\n              p = v1.clone().multiplyScalar(a).add(v2.clone().multiplyScalar(b)).normalize();\n            }\n\n            points.push(p.multiplyScalar(radius));\n          }\n\n          return points;\n        }\n\n        function updateAngleArcs() {\n          const arcPairs = [\n            [0, 1],\n            [1, 2],\n            [2, 0]\n          ];\n\n          const labelValues = [];\n\n          for (let i = 0; i < arcPairs.length; i++) {\n            const pair = arcPairs[i];\n            const v1 = bondVectors[pair[0]].clone().normalize();\n            const v2 = bondVectors[pair[1]].clone().normalize();\n            const arc = angleArcs[i];\n\n            const points = buildArcPoints(v1, v2, arc.radius, 56);\n\n            const curve = new THREE.CatmullRomCurve3(points);\n            const newGeometry = new THREE.TubeGeometry(curve, 72, 0.026, 10, false);\n\n            arc.tube.geometry.dispose();\n            arc.tube.geometry = newGeometry;\n\n            arc.startCap.position.copy(points[0]);\n            arc.endCap.position.copy(points[points.length - 1]);\n\n            const midPoint = points[Math.floor(points.length \/ 2)].clone().multiplyScalar(1.10);\n            arc.label.sprite.position.copy(midPoint);\n\n            let dot = v1.dot(v2);\n            dot = Math.max(-1, Math.min(1, dot));\n            const angle = (Math.acos(dot) * 180) \/ Math.PI;\n            arc.label.setText(angle.toFixed(0) + \"\u00b0\");\n            labelValues.push(angle.toFixed(0));\n          }\n\n          angleBadge.textContent = \"Bond angles: \" + labelValues.join(\"\u00b0, \") + \"\u00b0\";\n        }\n\n        function updateModel() {\n          updateAllBondUnits();\n          updateLonePair();\n          updateAngleArcs();\n        }\n\n        function animateVectors(startVectors, targetVectors, duration) {\n          if (animating) {\n            return;\n          }\n\n          animating = true;\n          pulseValue = 1;\n          let startTime = null;\n\n          function easeOutCubic(t) {\n            return 1 - Math.pow(1 - t, 3);\n          }\n\n          function step(timestamp) {\n            if (startTime === null) {\n              startTime = timestamp;\n            }\n\n            let progress = (timestamp - startTime) \/ duration;\n            if (progress > 1) {\n              progress = 1;\n            }\n\n            const eased = easeOutCubic(progress);\n\n            for (let i = 0; i < 3; i++) {\n              bondVectors[i] = startVectors[i].clone().lerp(targetVectors[i], eased).normalize();\n            }\n\n            updateModel();\n\n            if (progress < 1) {\n              requestAnimationFrame(step);\n            } else {\n              for (let i = 0; i < 3; i++) {\n                bondVectors[i] = targetVectors[i].clone();\n              }\n              updateModel();\n              animating = false;\n            }\n          }\n\n          requestAnimationFrame(step);\n        }\n\n        function resetModel() {\n          camera.position.set(0, 1.8, 7.8);\n          controls.target.set(0, 0, 0);\n          controls.update();\n\n          root.rotation.set(0, 0, 0);\n          modelRoot.rotation.x = 0.48;\n          modelRoot.rotation.y = 0.38;\n          modelRoot.rotation.z = 0.08;\n\n          bondVectors = targetBondVectors.map(function (v) {\n            return v.clone();\n          });\n\n          pulseValue = 1;\n          updateModel();\n        }\n\n        function showLonePairCompressionDemo() {\n          if (animating) {\n            return;\n          }\n\n          const startVectors = tetrahedralBondVectors.map(function (v) {\n            return v.clone();\n          });\n\n          const targets = targetBondVectors.map(function (v) {\n            return v.clone();\n          });\n\n          bondVectors = startVectors.map(function (v) {\n            return v.clone();\n          });\n\n          updateModel();\n\n          window.setTimeout(function () {\n            animateVectors(startVectors, targets, 950);\n          }, 240);\n        }\n\n        rotateBtn.addEventListener(\"click\", function () {\n          autoRotate = !autoRotate;\n          rotateBtn.classList.toggle(\"is-active\", autoRotate);\n\n          if (autoRotate) {\n            rotateBtn.textContent = \"Pause rotation\";\n          } else {\n            rotateBtn.textContent = \"Resume rotation\";\n          }\n        });\n\n        demoBtn.addEventListener(\"click\", showLonePairCompressionDemo);\n        resetBtn.addEventListener(\"click\", resetModel);\n\n        const observer = new IntersectionObserver(function (entries) {\n          entries.forEach(function (entry) {\n            isVisible = entry.isIntersecting;\n          });\n        }, { threshold: 0.18 });\n\n        observer.observe(card);\n\n        function onResize() {\n          const width = container.clientWidth;\n          const height = container.clientHeight;\n          camera.aspect = width \/ height;\n          camera.updateProjectionMatrix();\n          renderer.setSize(width, height);\n        }\n\n        window.addEventListener(\"resize\", onResize);\n\n        function updatePulse() {\n          if (pulseValue > 0) {\n            const scale = 0.7 + (1 - pulseValue) * 4.6;\n            pulseSphere.scale.set(scale, scale, scale);\n            pulseMaterial.opacity = pulseValue * 0.28;\n            pulseValue = pulseValue - 0.025;\n\n            if (pulseValue < 0) {\n              pulseValue = 0;\n            }\n          } else {\n            pulseMaterial.opacity = 0;\n          }\n        }\n\n        function animate() {\n          requestAnimationFrame(animate);\n\n          if (isVisible) {\n            if (autoRotate) {\n              root.rotation.y += 0.003;\n            }\n          }\n\n          updatePulse();\n          controls.update();\n          renderer.render(scene, camera);\n        }\n\n        resetModel();\n        animate();\n      }\n\n      document.addEventListener(\"DOMContentLoaded\", function () {\n        loadScript(\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/three.js\/r128\/three.min.js\")\n          .then(function () {\n            return loadScript(\"https:\/\/cdn.jsdelivr.net\/npm\/three@0.128.0\/examples\/js\/controls\/OrbitControls.js\");\n          })\n          .then(function () {\n            initNH3Model();\n          })\n          .catch(function (error) {\n            console.error(\"NH3 trigonal pyramidal model failed to load:\", error);\n          });\n      });\n    })();\n  <\/script>\n<\/section>\n\n      <article class=\"ols-note-card purple\">\n        <div class=\"ols-note-title\">\n          <div class=\"ols-note-icon\">3<\/div>\n          <h2>Bonding Pairs, Lone Pairs and Bond Angle<\/h2>\n        <\/div>\n        <p>The electron-pair arrangement around nitrogen in NH<sub>3<\/sub> is based on four electron domains: three bonding pairs and one lone pair. A lone pair occupies more space around the central atom than a bonding pair because it is attracted to only one nucleus.<\/p>\n        <p>This means the lone pair repels the N-H bonding pairs more strongly than the bonding pairs repel each other. The H-N-H bond angle is compressed from the tetrahedral value of 109.5&deg; to about <strong>107&deg;<\/strong>.<\/p>\n\n        <div class=\"ols-table-wrap\">\n          <table class=\"ols-table\">\n            <thead>\n              <tr>\n                <th>Feature<\/th>\n                <th>Trigonal pyramidal value<\/th>\n                <th>Meaning in NH<sub>3<\/sub><\/th>\n              <\/tr>\n            <\/thead>\n            <tbody>\n              <tr>\n                <td data-label=\"Feature\">Number of bonding pairs<\/td>\n                <td data-label=\"Trigonal pyramidal value\">3<\/td>\n                <td data-label=\"Meaning in NH3\">Three N-H bonding pairs form the visible triangular base of the pyramid.<\/td>\n              <\/tr>\n              <tr>\n                <td data-label=\"Feature\">Number of lone pairs<\/td>\n                <td data-label=\"Trigonal pyramidal value\">1<\/td>\n                <td data-label=\"Meaning in NH3\">The lone pair repels more strongly than bonding pairs and compresses the bond angle.<\/td>\n              <\/tr>\n              <tr>\n                <td data-label=\"Feature\">Bond angle<\/td>\n                <td data-label=\"Trigonal pyramidal value\">about 107&deg;<\/td>\n                <td data-label=\"Meaning in NH3\">The angle is smaller than 109.5&deg; because of lone-pair repulsion.<\/td>\n              <\/tr>\n              <tr>\n                <td data-label=\"Feature\">Molecular shape<\/td>\n                <td data-label=\"Trigonal pyramidal value\">Trigonal pyramidal<\/td>\n                <td data-label=\"Meaning in NH3\">Only the positions of the bonded atoms are used to name the molecular shape.<\/td>\n              <\/tr>\n            <\/tbody>\n          <\/table>\n        <\/div>\n      <\/article>\n<section class=\"ols-h5p-card ols-h5p-inline\">\n<span class=\"ols-h5p-kicker\">Check your understanding<\/span>\n<h2>Quick Check: Predict a New Ion<\/h2>\n<p>Drag the words into the gaps to predict the shape and the bond angle of an ion you have not met on this page.<\/p>\n<div class=\"ols-h5p-frame\"><div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-188\" class=\"h5p-iframe\" data-content-id=\"188\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Trigonal Pyramidal Drag: Shape and Bond Angle of the Methyl Anion\"><\/iframe><\/div><\/div>\n<\/section>\n\n      <article class=\"ols-note-card\">\n        <div class=\"ols-note-title\">\n          <div class=\"ols-note-icon\">4<\/div>\n          <h2>Examples of Trigonal Pyramidal Species<\/h2>\n        <\/div>\n        <p>Several molecules and ions use the same three-bonding-pair and one-lone-pair arrangement around the central atom. The examples from this shape table include <strong>NCl<sub>3<\/sub><\/strong>, <strong>PF<sub>3<\/sub><\/strong>, <strong>ClO<sub>3<\/sub><sup>-<\/sup><\/strong> and <strong>H<sub>3<\/sub>O<sup>+<\/sup><\/strong>.<\/p>\n        <p>For exam purposes, focus on the central atom, count the bonding pairs and lone pairs around it, then state the shape and approximate bond angle.<\/p>\n\n        <div class=\"ols-table-wrap\">\n          <table class=\"ols-table\">\n            <thead>\n              <tr>\n                <th>Species<\/th>\n                <th>Central atom<\/th>\n                <th>Electron regions around central atom<\/th>\n                <th>Shape<\/th>\n                <th>Bond angle<\/th>\n              <\/tr>\n            <\/thead>\n            <tbody>\n              <tr>\n                <td data-label=\"Species\">NH<sub>3<\/sub><\/td>\n                <td data-label=\"Central atom\">N<\/td>\n                <td data-label=\"Electron regions\">3 bonding regions, 1 lone pair<\/td>\n                <td data-label=\"Shape\">Trigonal pyramidal<\/td>\n                <td data-label=\"Bond angle\">about 107&deg;<\/td>\n              <\/tr>\n              <tr>\n                <td data-label=\"Species\">NCl<sub>3<\/sub><\/td>\n                <td data-label=\"Central atom\">N<\/td>\n                <td data-label=\"Electron regions\">3 bonding regions, 1 lone pair<\/td>\n                <td data-label=\"Shape\">Trigonal pyramidal<\/td>\n                <td data-label=\"Bond angle\">about 107&deg;<\/td>\n              <\/tr>\n              <tr>\n                <td data-label=\"Species\">PF<sub>3<\/sub><\/td>\n                <td data-label=\"Central atom\">P<\/td>\n                <td data-label=\"Electron regions\">3 bonding regions, 1 lone pair<\/td>\n                <td data-label=\"Shape\">Trigonal pyramidal<\/td>\n                <td data-label=\"Bond angle\">about 107&deg;<\/td>\n              <\/tr>\n              <tr>\n                <td data-label=\"Species\">ClO<sub>3<\/sub><sup>-<\/sup><\/td>\n                <td data-label=\"Central atom\">Cl<\/td>\n                <td data-label=\"Electron regions\">3 bonding regions, 1 lone pair<\/td>\n                <td data-label=\"Shape\">Trigonal pyramidal<\/td>\n                <td data-label=\"Bond angle\">about 107&deg;<\/td>\n              <\/tr>\n              <tr>\n                <td data-label=\"Species\">H<sub>3<\/sub>O<sup>+<\/sup><\/td>\n                <td data-label=\"Central atom\">O<\/td>\n                <td data-label=\"Electron regions\">3 bonding regions, 1 lone pair<\/td>\n                <td data-label=\"Shape\">Trigonal pyramidal<\/td>\n                <td data-label=\"Bond angle\">about 107&deg;<\/td>\n              <\/tr>\n            <\/tbody>\n          <\/table>\n        <\/div>\n      <\/article>\n<section class=\"ols-h5p-card ols-h5p-inline\">\n<span class=\"ols-h5p-kicker\">Check your understanding<\/span>\n<h2>Quick Check: Pyramid or Not?<\/h2>\n<p>Work out the bonding pairs and lone pairs for each species on paper, then flip the card to check.<\/p>\n<div class=\"ols-h5p-frame\"><div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-190\" class=\"h5p-iframe\" data-content-id=\"190\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Trigonal Pyramidal Flip Cards: Three Bonds, but Is It a Pyramid?\"><\/iframe><\/div><\/div>\n<\/section>\n\n      <article class=\"ols-note-card orange\">\n        <div class=\"ols-note-title\">\n          <div class=\"ols-note-icon\">5<\/div>\n          <h2>How to Explain Trigonal Pyramidal Shape in an Exam<\/h2>\n        <\/div>\n        <p>A full exam explanation should connect the number of electron pairs to electron-pair repulsion, then explain why the bond angle is slightly smaller than the tetrahedral angle.<\/p>\n\n        <div class=\"ols-rule-list\">\n          <div class=\"ols-rule-item\">\n            <h3>1. Identify the central atom<\/h3>\n            <p>For NH<sub>3<\/sub>, the central atom is nitrogen.<\/p>\n          <\/div>\n          <div class=\"ols-rule-item\">\n            <h3>2. Count bonding pairs and lone pairs<\/h3>\n            <p>Nitrogen has three bonding pairs and one lone pair around it.<\/p>\n          <\/div>\n          <div class=\"ols-rule-item\">\n            <h3>3. Apply electron-pair repulsion<\/h3>\n            <p>The electron pairs repel and arrange themselves as far apart as possible, but the lone pair repels more strongly than a bonding pair.<\/p>\n          <\/div>\n          <div class=\"ols-rule-item\">\n            <h3>4. State the shape and angle<\/h3>\n            <p>The molecule is trigonal pyramidal with bond angles of about 107&deg;.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"ols-definition-box\">\n          <p><strong>Exam answer model:<\/strong> NH<sub>3<\/sub> has three bonding pairs and one lone pair around the central nitrogen atom. The electron pairs repel and arrange themselves as far apart as possible. The lone pair repels the bonding pairs more strongly, compressing the H-N-H bond angle from 109.5&deg; to about 107&deg;. Therefore, NH<sub>3<\/sub> is trigonal pyramidal.<\/p>\n        <\/div>\n      <\/article>\n<section class=\"ols-h5p-card ols-h5p-inline\">\n<span class=\"ols-h5p-kicker\">Check your understanding<\/span>\n<h2>Quick Check: Explain the Difference<\/h2>\n<p>Write a short exam-style explanation, then compare it with the mark points and the model answer.<\/p>\n<div class=\"ols-h5p-frame\"><div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-191\" class=\"h5p-iframe\" data-content-id=\"191\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Trigonal Pyramidal Explain: Bond Angles in PCl\u2083 and PCl\u2084\u207a\"><\/iframe><\/div><\/div>\n<\/section>\n\n      <article class=\"ols-note-card soft\">\n        <div class=\"ols-note-title\">\n          <div class=\"ols-note-icon\">6<\/div>\n          <h2>Common Exam Points<\/h2>\n        <\/div>\n        <p>Trigonal pyramidal questions often test whether you can distinguish the electron-pair arrangement from the molecular shape.<\/p>\n        <div class=\"ols-rule-list\">\n          <div class=\"ols-rule-item\">\n            <h3>Do not call NH<sub>3<\/sub> tetrahedral<\/h3>\n            <p>The electron-pair arrangement is based on a tetrahedron, but the molecular shape is trigonal pyramidal because one region is a lone pair rather than a bonded atom.<\/p>\n          <\/div>\n          <div class=\"ols-rule-item\">\n            <h3>Do not write 109.5&deg;<\/h3>\n            <p>109.5&deg; is the ideal tetrahedral angle. In NH<sub>3<\/sub>, the lone pair compresses the H-N-H angle to about 107&deg;.<\/p>\n          <\/div>\n          <div class=\"ols-rule-item\">\n            <h3>Use lone-pair repulsion language<\/h3>\n            <p>Marks usually require the idea that a lone pair repels bonding pairs more strongly than bonding pairs repel each other.<\/p>\n          <\/div>\n          <div class=\"ols-rule-item\">\n            <h3>Count around the central atom only<\/h3>\n            <p>The shape is determined by the bonding pairs and lone pairs around the central atom, not by the total number of bonds or lone pairs in the whole species.<\/p>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      \n\n      <article class=\"ols-note-card purple\">\n        <div class=\"ols-note-title\">\n          <div class=\"ols-note-icon\">\u2713<\/div>\n          <h2>QuickSnap<\/h2>\n        <\/div>\n        <p>The trigonal pyramidal shape is produced when a central atom has <strong>three bonding pairs<\/strong> and <strong>one lone pair<\/strong>. The lone pair repels bonding pairs more strongly and compresses the bond angle to about <strong>107&deg;<\/strong>.<\/p>\n        <div class=\"ols-key-box\"><p><strong>Memory line:<\/strong> 3 bonding pairs + 1 lone pair = trigonal pyramidal = about 107&deg;.<\/p><\/div>\n      <\/article>\n\n      <section class=\"ols-course-cta-covalent\" id=\"olsCourseCtaCovalent001\">\r\n  <style>\r\n    .ols-course-cta-covalent,\r\n    .ols-course-cta-covalent * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    .ols-course-cta-covalent {\r\n      --navy: #1C244B;\r\n      --blue: #2563eb;\r\n      --body-text: #1f2937;\r\n      --grey-text: #667085;\r\n      --border: rgba(28, 36, 75, 0.14);\r\n      --shadow: 0 18px 45px rgba(28, 36, 75, 0.12);\r\n      --inner-shadow: 0 10px 26px rgba(28, 36, 75, 0.08);\r\n\r\n      width: 100%;\r\n      margin: 30px 0 24px;\r\n      font-family: Poppins, Arial, sans-serif;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-card {\r\n      overflow: hidden;\r\n      border-radius: 30px;\r\n      border: 1px solid var(--border);\r\n      background:\r\n        radial-gradient(circle at top left, rgba(37, 99, 235, 0.16), transparent 34%),\r\n        linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);\r\n      box-shadow: var(--shadow);\r\n      padding: 30px;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-top {\r\n      display: grid;\r\n      grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);\r\n      gap: 28px;\r\n      align-items: center;\r\n      margin-bottom: 24px;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-image-link {\r\n      display: block;\r\n      text-decoration: none;\r\n      border-radius: 24px;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-image {\r\n      width: 100%;\r\n      border-radius: 24px;\r\n      overflow: hidden;\r\n      border: 1px solid var(--border);\r\n      background: #ffffff;\r\n      box-shadow: var(--inner-shadow);\r\n      transition:\r\n        transform 0.35s ease,\r\n        box-shadow 0.35s ease;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-image img {\r\n      width: 100%;\r\n      height: auto;\r\n      display: block;\r\n      transition: transform 0.45s ease;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-image-link:hover .ols-course-cta-image {\r\n      transform: translateY(-8px) scale(1.015);\r\n      box-shadow:\r\n        0 26px 60px rgba(28, 36, 75, 0.18),\r\n        0 0 0 1px rgba(37, 99, 235, 0.12);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-image-link:hover .ols-course-cta-image img {\r\n      transform: scale(1.03);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-header-row {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 14px;\r\n      margin-bottom: 18px;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-kicker {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      padding: 8px 14px;\r\n      border-radius: 999px;\r\n      background: #ffffff;\r\n      border: 1px solid rgba(37, 99, 235, 0.18);\r\n      color: var(--blue);\r\n      font-size: 14px;\r\n      line-height: 1.2;\r\n      font-weight: 700;\r\n      box-shadow: var(--inner-shadow);\r\n    }\r\n\r\n    .ols-course-cta-covalent h2 {\r\n      margin: 0 0 14px;\r\n      font-size: clamp(28px, 3.5vw, 42px);\r\n      line-height: 1.15;\r\n      font-weight: 800;\r\n      letter-spacing: -0.03em;\r\n      color: #111827;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-intro-stats {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);\r\n      gap: 24px;\r\n      align-items: stretch;\r\n      margin: 0 0 30px;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-intro {\r\n      margin: 0;\r\n      color: var(--body-text);\r\n      font-size: clamp(16px, 1.4vw, 18px);\r\n      line-height: 1.7;\r\n      font-weight: 300;\r\n      align-self: center;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-stats {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 14px;\r\n      margin: 0;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-stat {\r\n      background: #ffffff;\r\n      border: 1px solid var(--border);\r\n      border-radius: 18px;\r\n      padding: 16px;\r\n      box-shadow: var(--inner-shadow);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-stat span {\r\n      display: block;\r\n      margin-bottom: 6px;\r\n      color: var(--grey-text);\r\n      font-size: 13px;\r\n      line-height: 1.35;\r\n      font-weight: 700;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-stat strong {\r\n      display: block;\r\n      color: var(--navy);\r\n      font-size: 18px;\r\n      line-height: 1.35;\r\n      font-weight: 800;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-features {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 14px;\r\n      margin: 0 0 30px;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-feature {\r\n      background: rgba(255, 255, 255, 0.78);\r\n      border: 1px solid var(--border);\r\n      border-radius: 18px;\r\n      padding: 16px 18px;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-feature h3 {\r\n      margin: 0 0 6px;\r\n      color: var(--navy);\r\n      font-size: 18px;\r\n      line-height: 1.3;\r\n      font-weight: 800;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-feature p {\r\n      margin: 0;\r\n      color: var(--body-text);\r\n      font-size: 15px;\r\n      line-height: 1.6;\r\n      font-weight: 300;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-animation-wrap {\r\n      position: relative;\r\n      margin: 0 0 30px;\r\n      border-radius: 0;\r\n      overflow: visible;\r\n      border: 0;\r\n      background: transparent;\r\n      box-shadow: none;\r\n      padding: 0;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-animation-title {\r\n      margin: 0 0 18px;\r\n      text-align: center;\r\n      color: var(--navy);\r\n      font-size: clamp(26px, 3.2vw, 40px);\r\n      line-height: 1.15;\r\n      font-weight: 700;\r\n      letter-spacing: -0.03em;\r\n      text-shadow: -9px 0 9px rgba(28, 36, 75, 0.10);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-frame-shell {\r\n      position: relative;\r\n      width: 100%;\r\n      height: 620px;\r\n      border-radius: 24px;\r\n      overflow: hidden;\r\n      background:\r\n        radial-gradient(circle at top left, rgba(70, 127, 247, 0.14), transparent 34%),\r\n        linear-gradient(135deg, #f8fbff 0%, #e9efff 100%);\r\n      box-shadow: 0 24px 64px rgba(28, 36, 75, 0.18);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-frame-shell iframe {\r\n      display: block;\r\n      width: 100%;\r\n      height: 100%;\r\n      border: 0;\r\n      background: #e9efff;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-start-overlay {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: 5;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      border: 0;\r\n      cursor: pointer;\r\n      background:\r\n        radial-gradient(circle at center, rgba(255, 255, 255, 0.26), rgba(28, 36, 75, 0.28)),\r\n        url(\"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-content\/uploads\/2026\/09\/aqa-a-level-chemistry-3-1-3-covalent-bonding-shapes-interactive-course-banner.jpg\");\r\n      background-size: cover;\r\n      background-position: center;\r\n      transition:\r\n        opacity 0.35s ease,\r\n        visibility 0.35s ease;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-start-overlay::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      background: rgba(28, 36, 75, 0.30);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-start-overlay.is-hidden {\r\n      opacity: 0;\r\n      visibility: hidden;\r\n      pointer-events: none;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-start-content {\r\n      position: relative;\r\n      z-index: 2;\r\n      display: grid;\r\n      justify-items: center;\r\n      gap: 16px;\r\n      padding: 24px;\r\n      text-align: center;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-play-circle {\r\n      width: 96px;\r\n      height: 96px;\r\n      border-radius: 50%;\r\n      background: #ffffff;\r\n      color: var(--navy);\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      box-shadow:\r\n        0 18px 40px rgba(28, 36, 75, 0.30),\r\n        0 0 0 12px rgba(255, 255, 255, 0.22);\r\n      animation: olsAnimationPlayPulse001 1.8s ease-in-out infinite;\r\n      transition:\r\n        transform 0.25s ease,\r\n        background 0.25s ease,\r\n        color 0.25s ease;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-start-overlay:hover .ols-animation-play-circle {\r\n      transform: scale(1.08);\r\n      background: var(--navy);\r\n      color: #ffffff;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-play-icon {\r\n      width: 0;\r\n      height: 0;\r\n      margin-left: 7px;\r\n      border-top: 18px solid transparent;\r\n      border-bottom: 18px solid transparent;\r\n      border-left: 28px solid currentColor;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-start-text {\r\n      max-width: 540px;\r\n      margin: 0;\r\n      color: #ffffff;\r\n      font-size: clamp(20px, 3vw, 32px);\r\n      line-height: 1.2;\r\n      font-weight: 800;\r\n      text-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-pause-button {\r\n      position: absolute;\r\n      left: 16px;\r\n      bottom: 16px;\r\n      z-index: 7;\r\n      display: none;\r\n      align-items: center;\r\n      justify-content: center;\r\n      min-width: 92px;\r\n      padding: 10px 16px;\r\n      border: 0;\r\n      border-radius: 999px;\r\n      background: rgba(28, 36, 75, 0.92);\r\n      color: #ffffff;\r\n      font-family: Poppins, Arial, sans-serif;\r\n      font-size: 14px;\r\n      line-height: 1.2;\r\n      font-weight: 800;\r\n      cursor: pointer;\r\n      box-shadow: 0 12px 28px rgba(28, 36, 75, 0.24);\r\n      transition:\r\n        transform 0.2s ease,\r\n        background 0.2s ease,\r\n        box-shadow 0.2s ease;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-pause-button:hover {\r\n      transform: translateY(-2px);\r\n      background: var(--blue);\r\n      box-shadow: 0 16px 34px rgba(37, 99, 235, 0.28);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-animation-pause-button.is-visible {\r\n      display: inline-flex;\r\n    }\r\n\r\n    @keyframes olsAnimationPlayPulse001 {\r\n      0% {\r\n        box-shadow:\r\n          0 18px 40px rgba(28, 36, 75, 0.30),\r\n          0 0 0 0 rgba(255, 255, 255, 0.40);\r\n      }\r\n\r\n      70% {\r\n        box-shadow:\r\n          0 18px 40px rgba(28, 36, 75, 0.30),\r\n          0 0 0 18px rgba(255, 255, 255, 0);\r\n      }\r\n\r\n      100% {\r\n        box-shadow:\r\n          0 18px 40px rgba(28, 36, 75, 0.30),\r\n          0 0 0 0 rgba(255, 255, 255, 0);\r\n      }\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-video-status {\r\n      margin: 14px 0 0;\r\n      text-align: center;\r\n      color: var(--grey-text);\r\n      font-size: 13px;\r\n      line-height: 1.5;\r\n      font-weight: 500;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-cta-bottom {\r\n      display: flex;\r\n      justify-content: center;\r\n      padding-top: 22px;\r\n      border-top: 1px solid var(--border);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-button {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 15px 28px;\r\n      border-radius: 999px;\r\n      background: var(--navy);\r\n      color: #ffffff;\r\n      text-decoration: none;\r\n      font-size: 16px;\r\n      line-height: 1.2;\r\n      font-weight: 800;\r\n      box-shadow: 0 12px 26px rgba(28, 36, 75, 0.18);\r\n      transition:\r\n        transform 0.2s ease,\r\n        background 0.2s ease,\r\n        box-shadow 0.2s ease;\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-button:hover {\r\n      transform: translateY(-2px);\r\n      background: var(--blue);\r\n      color: #ffffff;\r\n      box-shadow: 0 16px 32px rgba(37, 99, 235, 0.24);\r\n    }\r\n\r\n    .ols-course-cta-covalent .ols-course-button-top {\r\n      flex-shrink: 0;\r\n      padding: 12px 22px;\r\n      font-size: 15px;\r\n    }\r\n\r\n    @media (max-width: 900px) {\r\n      .ols-course-cta-covalent .ols-course-cta-top {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-cta-image-link {\r\n        max-width: 520px;\r\n        margin: 0 auto;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-cta-intro-stats {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-animation-frame-shell {\r\n        height: 520px;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 760px) {\r\n      .ols-course-cta-covalent {\r\n        margin: 26px 0 22px;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-cta-card {\r\n        padding: 20px;\r\n        border-radius: 24px;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-cta-header-row {\r\n        align-items: stretch;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-button-top {\r\n        width: 100%;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-cta-stats,\r\n      .ols-course-cta-covalent .ols-course-cta-features {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-animation-wrap {\r\n        padding: 0;\r\n        border-radius: 0;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-animation-frame-shell {\r\n        height: 420px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-animation-play-circle {\r\n        width: 76px;\r\n        height: 76px;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-animation-play-icon {\r\n        border-top-width: 14px;\r\n        border-bottom-width: 14px;\r\n        border-left-width: 22px;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-animation-pause-button {\r\n        left: 12px;\r\n        bottom: 12px;\r\n        min-width: 84px;\r\n        padding: 9px 14px;\r\n        font-size: 13px;\r\n      }\r\n\r\n      .ols-course-cta-covalent .ols-course-button {\r\n        width: 100%;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"ols-course-cta-card\">\r\n\r\n    <div class=\"ols-course-cta-top\">\r\n\r\n      <a class=\"ols-course-cta-image-link\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/product\/covalent-bonding-and-shapes-of-molecules-3-1-3-aqa\/\" aria-label=\"Open the AQA A Level Chemistry 3.1.3 Covalent Bonding and Shapes of Molecules course page\">\r\n\r\n        <div class=\"ols-course-cta-image\">\r\n          <img decoding=\"async\"\r\n            src=\"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-content\/uploads\/2026\/09\/aqa-a-level-chemistry-3-1-3-covalent-bonding-shapes-interactive-course-banner.jpg\"\r\n            alt=\"AQA A Level Chemistry 3.1.3 Covalent Bonding and Shapes of Molecules interactive course banner\"\r\n          >\r\n        <\/div>\r\n\r\n      <\/a>\r\n\r\n      <div class=\"ols-course-cta-content\">\r\n\r\n        <div class=\"ols-course-cta-header-row\">\r\n\r\n          <div class=\"ols-course-cta-kicker\">\r\n            AQA 7405 | 3.1.3 Course\r\n          <\/div>\r\n\r\n          <a class=\"ols-course-button ols-course-button-top\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/product\/covalent-bonding-and-shapes-of-molecules-3-1-3-aqa\/\">\r\n            View Course\r\n          <\/a>\r\n\r\n        <\/div>\r\n\r\n        <h2>\r\n          Master Covalent Bonding and Shapes of Molecules for AQA A Level Chemistry\r\n        <\/h2>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"ols-course-cta-intro-stats\">\r\n\r\n      <p class=\"ols-course-cta-intro\">\r\n        Continue from these free revision notes into the full 3.1.3 Covalent Bonding and Shapes of Molecules course. The three guided video lessons are ready now; the AQA MCQ bank, teacher-marked short-answer questions, supplementary lessons and KASP spec-point report are being written, and the course opens for enrolment as soon as they are complete.\r\n      <\/p>\r\n\r\n      <div class=\"ols-course-cta-stats\">\r\n\r\n        <div class=\"ols-course-stat\">\r\n          <span>Recorded lessons<\/span>\n          <strong>Coming soon<\/strong>\r\n        <\/div>\r\n\r\n        <div class=\"ols-course-stat\">\r\n          <span>Video lessons<\/span>\n          <strong>Coming soon<\/strong>\r\n        <\/div>\r\n\r\n        <div class=\"ols-course-stat\">\r\n          <span>MCQ practice<\/span>\n          <strong>Coming soon<\/strong>\r\n        <\/div>\r\n\r\n        <div class=\"ols-course-stat\">\r\n          <span>SAQ practice<\/span>\n          <strong>Coming soon<\/strong>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"ols-course-cta-features\">\r\n\r\n      <div class=\"ols-course-feature\">\r\n        <h3>Guided video teaching<\/h3>\r\n        <p>\r\n          Learn the chemistry and exam technique through structured video lessons with worked examples and walkthroughs.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"ols-course-feature\">\r\n        <h3>Instant MCQ feedback<\/h3>\r\n        <p>\r\n          Auto-marked MCQ quizzes provide immediate diagnostic feedback for every answer choice.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"ols-course-feature\">\r\n        <h3>Teacher-marked SAQs<\/h3>\r\n        <p>\r\n          Submit written exam responses and receive chemistry specialist feedback with improvement guidance.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"ols-course-feature\">\r\n        <h3>Progress tracking<\/h3>\r\n        <p>\r\n          Identify strengths and weaknesses across the full 3.1.3 specification with targeted reporting.\r\n        <\/p>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"ols-course-animation-wrap\">\r\n\r\n      <h3 class=\"ols-course-animation-title\">\r\n        See how the course works\r\n      <\/h3>\r\n\r\n      <div class=\"ols-animation-frame-shell\">\r\n        <iframe\r\n          id=\"olsCourseAnimationFrame001\"\r\n          title=\"OLS course preview animation\"\r\n          loading=\"lazy\"\r\n          referrerpolicy=\"no-referrer\">\r\n        <\/iframe>\r\n\r\n        <button\r\n          class=\"ols-animation-start-overlay\"\r\n          id=\"olsCourseAnimationStart001\"\r\n          type=\"button\"\r\n          aria-label=\"Play OLS course preview animation\">\r\n          <span class=\"ols-animation-start-content\">\r\n            <span class=\"ols-animation-play-circle\" aria-hidden=\"true\">\r\n              <span class=\"ols-animation-play-icon\"><\/span>\r\n            <\/span>\r\n            <span class=\"ols-animation-start-text\">\r\n              Play course preview animation\r\n            <\/span>\r\n          <\/span>\r\n        <\/button>\r\n\r\n        <button\r\n          class=\"ols-animation-pause-button\"\r\n          id=\"olsCourseAnimationPause001\"\r\n          type=\"button\"\r\n          aria-label=\"Pause course preview animation\">\r\n          Pause\r\n        <\/button>\r\n      <\/div>\r\n\r\n      <p class=\"ols-course-video-status\">\r\n        Click play to start the course preview animation.\r\n      <\/p>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"ols-course-cta-bottom\">\r\n\r\n      <a class=\"ols-course-button\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/product\/covalent-bonding-and-shapes-of-molecules-3-1-3-aqa\/\">\r\n        View Covalent Bonding and Shapes of Molecules Course\r\n      <\/a>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <template id=\"olsCourseAnimationTemplate001\">\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>OLS Combined Promo Animation<\/title>\r\n\r\n<style>\r\n*{box-sizing:border-box;}\r\n\r\nhtml.ols-animation-paused *,\r\nhtml.ols-animation-paused *::before,\r\nhtml.ols-animation-paused *::after{\r\n  animation-play-state:paused!important;\r\n}\r\n\r\n:root{\r\n  --ols-video-screen-w:1180;\r\n  --ols-video-screen-h:664;\r\n  --ols-video-screen-scale:1;\r\n  --ols-mcq-screen-w:1360;\r\n  --ols-mcq-screen-h:1130;\r\n  --ols-mcq-screen-scale:1;\r\n  --ols-saq-screen-w:1360;\r\n  --ols-saq-screen-h:965;\r\n  --ols-saq-screen-scale:1;\r\n}\r\n\r\nhtml,\r\nbody{\r\n  width:100%;\r\n  height:100%;\r\n}\r\n\r\nbody{\r\n  margin:0;\r\n  overflow:hidden;\r\n  font-family:Poppins,Arial,sans-serif;\r\n  background:#e9efff;\r\n}\r\n\r\n.ols-combined-stage{\r\n  position:relative;\r\n  width:100vw;\r\n  height:100vh;\r\n  overflow:hidden;\r\n  background:\r\n    radial-gradient(circle at top left,rgba(70,127,247,0.14),transparent 34%),\r\n    linear-gradient(135deg,#f8fbff 0%,#e9efff 100%);\r\n}\r\n\r\n.ols-scene{\r\n  position:absolute;\r\n  inset:0;\r\n  width:100vw;\r\n  height:100vh;\r\n  opacity:0;\r\n  visibility:hidden;\r\n  pointer-events:none;\r\n}\r\n\r\n.ols-scene.active{\r\n  opacity:1;\r\n  visibility:visible;\r\n  pointer-events:auto;\r\n}\r\n\r\n.ols-scene.fade-out{\r\n  animation:olsSceneFadeOut 0.85s ease forwards;\r\n}\r\n\r\n@keyframes olsSceneFadeOut{\r\n  to{\r\n    opacity:0;\r\n    visibility:hidden;\r\n  }\r\n}\r\n\r\n.ols-title-cursor{\r\n  display:inline-block;\r\n  width:5px;\r\n  height:0.85em;\r\n  background:#1C244B;\r\n  margin-left:8px;\r\n  transform:translateY(8px);\r\n  animation:olsBlink 0.8s infinite;\r\n}\r\n\r\n.cursor{\r\n  display:inline-block;\r\n  width:3px;\r\n  height:28px;\r\n  background:#1c244b;\r\n  margin-left:3px;\r\n  transform:translateY(5px);\r\n  animation:olsBlink 0.8s infinite;\r\n}\r\n\r\n@keyframes olsBlink{\r\n  0%,45%{opacity:1;}\r\n  46%,100%{opacity:0;}\r\n}\r\n\r\n.ols-video-stage,\r\n.ols-mcq-stage,\r\n.ols-saq-stage{\r\n  width:100vw;\r\n  height:100vh;\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n  padding:0;\r\n  overflow:hidden;\r\n  background:\r\n    radial-gradient(circle at top left,rgba(70,127,247,0.14),transparent 34%),\r\n    linear-gradient(135deg,#f8fbff 0%,#e9efff 100%);\r\n}\r\n\r\n.ols-video-title-screen,\r\n.ols-mcq-intro-screen,\r\n.ols-saq-intro{\r\n  position:absolute;\r\n  inset:0;\r\n  z-index:50;\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n  background:\r\n    radial-gradient(circle at top left,rgba(70,127,247,0.14),transparent 34%),\r\n    linear-gradient(135deg,#f8fbff 0%,#e9efff 100%);\r\n  opacity:1;\r\n  visibility:visible;\r\n  pointer-events:none;\r\n}\r\n\r\n.ols-video-title-screen.hide{animation:olsVideoTitleFadeOut 0.85s ease forwards;}\r\n.ols-mcq-intro-screen.hide{animation:olsMcqIntroFadeOut 0.85s ease forwards;}\r\n.ols-saq-intro.hide{animation:olsSaqIntroFadeOut 0.85s ease forwards;}\r\n\r\n@keyframes olsVideoTitleFadeOut{to{opacity:0;visibility:hidden;}}\r\n@keyframes olsMcqIntroFadeOut{to{opacity:0;visibility:hidden;}}\r\n@keyframes olsSaqIntroFadeOut{to{opacity:0;visibility:hidden;}}\r\n\r\n.ols-video-title-wrap,\r\n.ols-mcq-intro-title-wrap,\r\n.ols-saq-intro-title-wrap{\r\n  max-width:1250px;\r\n  padding:0 34px;\r\n  text-align:center;\r\n}\r\n\r\n.ols-video-title,\r\n.ols-mcq-intro-title,\r\n.ols-saq-intro-title{\r\n  margin:0;\r\n  font-family:Poppins,Arial,sans-serif;\r\n  font-size:clamp(52px,8vw,124px);\r\n  font-weight:600;\r\n  line-height:1.08;\r\n  color:#1C244B;\r\n  text-shadow:-9px 0 9px rgba(28,36,75,0.16);\r\n  letter-spacing:-0.045em;\r\n}\r\n\r\n#videoTitleText,\r\n#mcqIntroTitleText,\r\n#saqIntroTitleText{\r\n  white-space:pre-wrap;\r\n}\r\n\r\n.ols-video-scene{\r\n  width:100%;\r\n  height:100%;\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n  opacity:0;\r\n  visibility:hidden;\r\n}\r\n\r\n.ols-video-scene.show{\r\n  visibility:visible;\r\n  animation:olsVideoSceneIn 1s ease forwards;\r\n}\r\n\r\n@keyframes olsVideoSceneIn{to{opacity:1;}}\r\n\r\n.ols-video-scale-wrap{\r\n  width:calc(var(--ols-video-screen-w) * 1px);\r\n  height:calc(var(--ols-video-screen-h) * 1px);\r\n  transform:scale(var(--ols-video-screen-scale));\r\n  transform-origin:center center;\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n}\r\n\r\n.ols-video-card{\r\n  width:1180px;\r\n  height:664px;\r\n  border-radius:28px;\r\n  overflow:hidden;\r\n  background:#1C244B;\r\n  box-shadow:0 28px 80px rgba(28,36,75,0.28);\r\n  transform:translateY(24px) scale(0.96);\r\n  opacity:0;\r\n}\r\n\r\n.ols-video-scene.show .ols-video-card{\r\n  animation:olsVideoCardIn 1s cubic-bezier(.18,.89,.32,1.12) forwards;\r\n  animation-delay:0.2s;\r\n}\r\n\r\n@keyframes olsVideoCardIn{\r\n  to{\r\n    transform:translateY(0) scale(1);\r\n    opacity:1;\r\n  }\r\n}\r\n\r\n.ols-video-card video{\r\n  display:block;\r\n  width:100%;\r\n  height:100%;\r\n  aspect-ratio:16 \/ 9;\r\n  object-fit:cover;\r\n  border:0;\r\n}\r\n\r\n.ols-mcq-scale-wrap,\r\n.ols-saq-scale-wrap{\r\n  width:calc(var(--ols-mcq-screen-w) * 1px);\r\n  height:calc(var(--ols-mcq-screen-h) * 1px);\r\n  transform:scale(var(--ols-mcq-screen-scale));\r\n  transform-origin:center center;\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:flex-start;\r\n}\r\n\r\n.ols-saq-scale-wrap{\r\n  width:calc(var(--ols-saq-screen-w) * 1px);\r\n  height:calc(var(--ols-saq-screen-h) * 1px);\r\n  transform:scale(var(--ols-saq-screen-scale));\r\n}\r\n\r\n.ols-mcq-screen{\r\n  width:1360px;\r\n  height:1130px;\r\n  border-radius:22px;\r\n  overflow:hidden;\r\n  background:#eaf0ff;\r\n  box-shadow:0 26px 70px rgba(28,36,75,0.22);\r\n  opacity:0;\r\n  transform:translateY(24px) scale(0.96);\r\n}\r\n\r\n.ols-mcq-screen.show{\r\n  animation:olsMcqScreenEnter 1s ease forwards;\r\n}\r\n\r\n@keyframes olsMcqScreenEnter{\r\n  from{opacity:0;transform:translateY(24px) scale(0.96);}\r\n  to{opacity:1;transform:translateY(0) scale(1);}\r\n}\r\n\r\n.mcq-question-area{\r\n  background:#eaf0ff;\r\n  padding:28px 30px 30px;\r\n  position:relative;\r\n  height:610px;\r\n}\r\n\r\n.mcq-question-lead{\r\n  margin:0 0 14px;\r\n  font-size:24px;\r\n  line-height:1.35;\r\n  color:#111827;\r\n}\r\n\r\n.mcq-ionic-table{\r\n  border-collapse:collapse;\r\n  width:500px;\r\n  margin-bottom:8px;\r\n  font-size:21px;\r\n  color:#111827;\r\n}\r\n\r\n.mcq-ionic-table th,\r\n.mcq-ionic-table td{\r\n  border:1.5px solid #c9ced8;\r\n  padding:12px 18px;\r\n  text-align:center;\r\n}\r\n\r\n.mcq-ionic-table th{\r\n  background:#f2f2f2;\r\n  font-weight:700;\r\n}\r\n\r\n.mcq-ionic-table td{\r\n  background:#eaf0ff;\r\n}\r\n\r\n.mcq-question-main{\r\n  margin:6px 0 28px;\r\n  font-size:24px;\r\n  line-height:1.35;\r\n  color:#111827;\r\n}\r\n\r\n.mcq-options-wrap{\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:17px;\r\n  max-width:1200px;\r\n}\r\n\r\n.mcq-option-row{\r\n  display:flex;\r\n  align-items:center;\r\n  min-height:34px;\r\n  position:relative;\r\n}\r\n\r\n.mcq-radio{\r\n  width:28px;\r\n  height:28px;\r\n  border-radius:50%;\r\n  border:2px solid #6b7280;\r\n  margin-right:16px;\r\n  background:transparent;\r\n  position:relative;\r\n  flex:0 0 auto;\r\n}\r\n\r\n.mcq-radio::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:5px;\r\n  border-radius:50%;\r\n  background:#6b7280;\r\n  opacity:0;\r\n  transform:scale(0.4);\r\n  transition:opacity 0.25s ease,transform 0.25s ease;\r\n}\r\n\r\n.mcq-option-row.selected .mcq-radio::after{\r\n  opacity:1;\r\n  transform:scale(1);\r\n}\r\n\r\n.mcq-radio-ripple{\r\n  position:absolute;\r\n  left:14px;\r\n  top:50%;\r\n  width:28px;\r\n  height:28px;\r\n  border-radius:50%;\r\n  border:2px solid rgba(28,36,75,0.28);\r\n  transform:translate(-50%,-50%) scale(1);\r\n  opacity:0;\r\n  pointer-events:none;\r\n}\r\n\r\n.mcq-option-row.clicking .mcq-radio-ripple{\r\n  animation:mcqRipple 0.75s ease forwards;\r\n}\r\n\r\n@keyframes mcqRipple{\r\n  0%{opacity:0.65;transform:translate(-50%,-50%) scale(1);}\r\n  100%{opacity:0;transform:translate(-50%,-50%) scale(2.5);}\r\n}\r\n\r\n.mcq-option-label{\r\n  font-size:23px;\r\n  color:#111827;\r\n}\r\n\r\n.mcq-specific-feedback{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  margin-left:18px;\r\n  min-height:38px;\r\n  opacity:0;\r\n  transform:translateX(-8px);\r\n}\r\n\r\n.mcq-specific-feedback.show{\r\n  opacity:1;\r\n  transform:translateX(0);\r\n  transition:opacity 0.35s ease,transform 0.35s ease;\r\n}\r\n\r\n.mcq-cross-icon{\r\n  width:26px;\r\n  height:26px;\r\n  border-radius:50%;\r\n  border:2px solid #d83255;\r\n  color:#d83255;\r\n  display:inline-flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n  font-size:18px;\r\n  font-weight:700;\r\n  margin-right:12px;\r\n  opacity:0;\r\n  transform:scale(0.4);\r\n}\r\n\r\n.mcq-cross-icon.show{\r\n  animation:mcqCrossPop 0.35s ease forwards;\r\n}\r\n\r\n@keyframes mcqCrossPop{\r\n  70%{opacity:1;transform:scale(1.18);}\r\n  100%{opacity:1;transform:scale(1);}\r\n}\r\n\r\n.mcq-specific-feedback-text{\r\n  display:inline-block;\r\n  background:#fff4b8;\r\n  color:#111827;\r\n  padding:8px 16px;\r\n  font-size:22px;\r\n  line-height:1.35;\r\n  min-width:850px;\r\n  min-height:44px;\r\n}\r\n\r\n.mcq-submit-button{\r\n  position:absolute;\r\n  right:34px;\r\n  bottom:30px;\r\n  border:0;\r\n  border-radius:999px;\r\n  background:#1C244B;\r\n  color:#ffffff;\r\n  padding:14px 28px;\r\n  font-size:18px;\r\n  font-weight:600;\r\n  box-shadow:0 14px 32px rgba(28,36,75,0.25);\r\n  cursor:default;\r\n  transition:transform 0.2s ease,box-shadow 0.2s ease,background 0.2s ease;\r\n}\r\n\r\n.mcq-submit-button.clicked{\r\n  transform:translateY(2px) scale(0.97);\r\n  background:#26315f;\r\n  box-shadow:0 7px 18px rgba(28,36,75,0.22);\r\n}\r\n\r\n.mcq-general-feedback{\r\n  height:520px;\r\n  background:#fff3c9;\r\n  color:#8a6a00;\r\n  padding:26px 30px 28px;\r\n  font-size:23px;\r\n  line-height:1.34;\r\n  opacity:0;\r\n  transform:translateY(20px);\r\n  transition:opacity 0.7s ease,transform 0.7s ease;\r\n  overflow:hidden;\r\n}\r\n\r\n.mcq-general-feedback.show{\r\n  opacity:1;\r\n  transform:translateY(0);\r\n}\r\n\r\n#mcqGeneralText{\r\n  white-space:pre-wrap;\r\n}\r\n\r\n.mcq-specific-cursor{background:#111827;}\r\n.mcq-general-cursor{background:#8a6a00;}\r\n\r\n.ols-saq-screen{\r\n  width:1360px;\r\n  height:965px;\r\n  border-radius:22px;\r\n  overflow:hidden;\r\n  background:#eaf0ff;\r\n  box-shadow:0 26px 70px rgba(28,36,75,0.22);\r\n  opacity:0;\r\n  transform:translateY(24px) scale(0.96);\r\n}\r\n\r\n.ols-saq-screen.show{\r\n  animation:olsSaqScreenEnter 1s ease forwards;\r\n}\r\n\r\n@keyframes olsSaqScreenEnter{\r\n  from{opacity:0;transform:translateY(24px) scale(0.96);}\r\n  to{opacity:1;transform:translateY(0) scale(1);}\r\n}\r\n\r\n.saq-question-area{\r\n  height:335px;\r\n  background:#eaf0ff;\r\n  padding:30px 40px 32px;\r\n}\r\n\r\n.saq-question-text{\r\n  font-size:25px;\r\n  line-height:1.42;\r\n  color:#111827;\r\n  margin-bottom:22px;\r\n}\r\n\r\n.saq-student-box{\r\n  height:195px;\r\n  background:#f3f4f6;\r\n  border:2px solid #cfd6e3;\r\n  border-radius:8px;\r\n  padding:23px 26px;\r\n  font-size:24px;\r\n  line-height:1.55;\r\n  color:#4b5563;\r\n  position:relative;\r\n  overflow:hidden;\r\n}\r\n\r\n.saq-teacher-feedback{\r\n  height:630px;\r\n  background:#dff3e6;\r\n  color:#075f3b;\r\n  padding:28px 40px 30px;\r\n  font-size:23px;\r\n  line-height:1.47;\r\n  opacity:0;\r\n  transform:translateY(20px);\r\n  transition:opacity 0.7s ease,transform 0.7s ease;\r\n  overflow:hidden;\r\n}\r\n\r\n.saq-teacher-feedback.show{\r\n  opacity:1;\r\n  transform:translateY(0);\r\n}\r\n\r\n#saqTeacherText{\r\n  white-space:pre-wrap;\r\n}\r\n\r\n.saq-teacher-cursor{\r\n  background:#075f3b;\r\n}\r\n\r\n@media(max-width:900px){\r\n  .ols-video-title,\r\n  .ols-mcq-intro-title,\r\n  .ols-saq-intro-title{\r\n    font-size:clamp(42px,11vw,78px);\r\n    line-height:1.12;\r\n  }\r\n\r\n  .ols-title-cursor{\r\n    width:4px;\r\n    margin-left:6px;\r\n  }\r\n\r\n  .ols-video-card{\r\n    border-radius:20px;\r\n  }\r\n}\r\n<\/style>\r\n<\/head>\r\n\r\n<body>\r\n<div class=\"ols-combined-stage\">\r\n\r\n  <section id=\"sceneVideo\" class=\"ols-scene active\">\r\n    <div class=\"ols-video-stage\">\r\n      <div id=\"videoTitleScreen\" class=\"ols-video-title-screen\">\r\n        <div class=\"ols-video-title-wrap\">\r\n          <h1 class=\"ols-video-title\">\r\n            <span id=\"videoTitleText\"><\/span><span id=\"videoTitleCursor\" class=\"ols-title-cursor\"><\/span>\r\n          <\/h1>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <section id=\"videoScene\" class=\"ols-video-scene\">\r\n        <div class=\"ols-video-scale-wrap\">\r\n          <div class=\"ols-video-card\">\r\n            <video\r\n              id=\"lessonVideo\"\r\n              src=\"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-content\/uploads\/2026\/05\/Virtual-Lesson.mp4\"\r\n              muted\r\n              playsinline\r\n              preload=\"auto\">\r\n            <\/video>\r\n          <\/div>\r\n        <\/div>\r\n      <\/section>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section id=\"sceneMcq\" class=\"ols-scene\">\r\n    <div class=\"ols-mcq-stage\">\r\n      <div id=\"mcqIntroScreen\" class=\"ols-mcq-intro-screen\">\r\n        <div class=\"ols-mcq-intro-title-wrap\">\r\n          <h1 class=\"ols-mcq-intro-title\">\r\n            <span id=\"mcqIntroTitleText\"><\/span><span id=\"mcqIntroTitleCursor\" class=\"ols-title-cursor\"><\/span>\r\n          <\/h1>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"ols-mcq-scale-wrap\">\r\n        <main id=\"mcqScreen\" class=\"ols-mcq-screen\">\r\n          <section class=\"mcq-question-area\">\r\n            <p class=\"mcq-question-lead\">Some ionic radii are shown.<\/p>\r\n\r\n            <table class=\"mcq-ionic-table\">\r\n              <thead>\r\n                <tr>\r\n                  <th>Ion<\/th>\r\n                  <th>Ionic radius \/ nm<\/th>\r\n                <\/tr>\r\n              <\/thead>\r\n              <tbody>\r\n                <tr><td>Na<sup>+<\/sup><\/td><td>0.102<\/td><\/tr>\r\n                <tr><td>K<sup>+<\/sup><\/td><td>0.138<\/td><\/tr>\r\n                <tr><td>F<sup>\u2212<\/sup><\/td><td>0.133<\/td><\/tr>\r\n                <tr><td>Cl<sup>\u2212<\/sup><\/td><td>0.180<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n\r\n            <p class=\"mcq-question-main\">Which compound has the strongest ionic bonding?<\/p>\r\n\r\n            <div class=\"mcq-options-wrap\">\r\n              <div id=\"mcqWrongOption\" class=\"mcq-option-row\">\r\n                <span class=\"mcq-radio\"><\/span>\r\n                <span class=\"mcq-radio-ripple\"><\/span>\r\n                <span class=\"mcq-option-label\">sodium chloride<\/span>\r\n\r\n                <span id=\"mcqSpecificFeedback\" class=\"mcq-specific-feedback\">\r\n                  <span id=\"mcqCrossIcon\" class=\"mcq-cross-icon\">\u00d7<\/span>\r\n                  <span class=\"mcq-specific-feedback-text\">\r\n                    <span id=\"mcqSpecificText\"><\/span><span id=\"mcqSpecificCursor\" class=\"cursor mcq-specific-cursor\" style=\"display:none;\"><\/span>\r\n                  <\/span>\r\n                <\/span>\r\n              <\/div>\r\n\r\n              <div class=\"mcq-option-row\"><span class=\"mcq-radio\"><\/span><span class=\"mcq-radio-ripple\"><\/span><span class=\"mcq-option-label\">potassium chloride<\/span><\/div>\r\n              <div class=\"mcq-option-row\"><span class=\"mcq-radio\"><\/span><span class=\"mcq-radio-ripple\"><\/span><span class=\"mcq-option-label\">sodium fluoride<\/span><\/div>\r\n              <div class=\"mcq-option-row\"><span class=\"mcq-radio\"><\/span><span class=\"mcq-radio-ripple\"><\/span><span class=\"mcq-option-label\">potassium fluoride<\/span><\/div>\r\n            <\/div>\r\n\r\n            <button id=\"mcqSubmitButton\" class=\"mcq-submit-button\">Submit answer<\/button>\r\n          <\/section>\r\n\r\n          <section id=\"mcqGeneralFeedback\" class=\"mcq-general-feedback\">\r\n            <span id=\"mcqGeneralText\"><\/span><span id=\"mcqGeneralCursor\" class=\"cursor mcq-general-cursor\" style=\"display:none;\"><\/span>\r\n          <\/section>\r\n        <\/main>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section id=\"sceneSaq\" class=\"ols-scene\">\r\n    <div class=\"ols-saq-stage\">\r\n      <div id=\"saqIntro\" class=\"ols-saq-intro\">\r\n        <div class=\"ols-saq-intro-title-wrap\">\r\n          <h1 class=\"ols-saq-intro-title\">\r\n            <span id=\"saqIntroTitleText\"><\/span><span id=\"saqIntroTitleCursor\" class=\"ols-title-cursor\"><\/span>\r\n          <\/h1>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"ols-saq-scale-wrap\">\r\n        <main id=\"saqScreen\" class=\"ols-saq-screen\">\r\n          <section class=\"saq-question-area\">\r\n            <div class=\"saq-question-text\">\r\n              <strong>(ii)<\/strong>&nbsp;&nbsp; Melting temperature depends on the strength of metallic bonding.<br>\r\n              Explain why the metallic bonding in magnesium is much stronger than that in sodium.\r\n            <\/div>\r\n\r\n            <div class=\"saq-student-box\">\r\n              <span id=\"saqStudentText\"><\/span><span id=\"saqStudentCursor\" class=\"cursor\"><\/span>\r\n            <\/div>\r\n          <\/section>\r\n\r\n          <section id=\"saqTeacherFeedback\" class=\"saq-teacher-feedback\">\r\n            <span id=\"saqTeacherText\"><\/span><span id=\"saqTeacherCursor\" class=\"cursor saq-teacher-cursor\" style=\"display:none;\"><\/span>\r\n          <\/section>\r\n        <\/main>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const nativeSetTimeout=window.setTimeout.bind(window);\r\n  const nativeClearTimeout=window.clearTimeout.bind(window);\r\n  let nextTimerId=1;\r\n  let paused=false;\r\n  const timers=new Map();\r\n\r\n  function runTimer(timerId){\r\n    const timer=timers.get(timerId);\r\n\r\n    if(!timer || timer.cleared){\r\n      return;\r\n    }\r\n\r\n    timers.delete(timerId);\r\n    timer.callback();\r\n  }\r\n\r\n  window.setTimeout=function(callback,delay){\r\n    const timerId=nextTimerId++;\r\n    const safeDelay=Math.max(0,Number(delay) || 0);\r\n\r\n    const timer={\r\n      callback:callback,\r\n      delay:safeDelay,\r\n      remaining:safeDelay,\r\n      startedAt:Date.now(),\r\n      nativeId:null,\r\n      cleared:false\r\n    };\r\n\r\n    if(paused){\r\n      timer.startedAt=null;\r\n    }else{\r\n      timer.nativeId=nativeSetTimeout(function(){\r\n        runTimer(timerId);\r\n      },safeDelay);\r\n    }\r\n\r\n    timers.set(timerId,timer);\r\n    return timerId;\r\n  };\r\n\r\n  window.clearTimeout=function(timerId){\r\n    const timer=timers.get(timerId);\r\n\r\n    if(timer){\r\n      timer.cleared=true;\r\n\r\n      if(timer.nativeId!==null){\r\n        nativeClearTimeout(timer.nativeId);\r\n      }\r\n\r\n      timers.delete(timerId);\r\n      return;\r\n    }\r\n\r\n    nativeClearTimeout(timerId);\r\n  };\r\n\r\n  function pauseVideos(){\r\n    document.querySelectorAll(\"video\").forEach(function(video){\r\n      if(!video.paused && !video.ended){\r\n        video.dataset.olsWasPlaying=\"1\";\r\n        video.pause();\r\n      }\r\n    });\r\n  }\r\n\r\n  function resumeVideos(){\r\n    document.querySelectorAll(\"video\").forEach(function(video){\r\n      if(video.dataset.olsWasPlaying===\"1\"){\r\n        delete video.dataset.olsWasPlaying;\r\n\r\n        const playPromise=video.play();\r\n\r\n        if(playPromise!==undefined){\r\n          playPromise.catch(function(){});\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  function pauseAnimation(){\r\n    if(paused){\r\n      return \"paused\";\r\n    }\r\n\r\n    paused=true;\r\n    document.documentElement.classList.add(\"ols-animation-paused\");\r\n\r\n    timers.forEach(function(timer){\r\n      if(timer.nativeId!==null){\r\n        nativeClearTimeout(timer.nativeId);\r\n        timer.nativeId=null;\r\n      }\r\n\r\n      if(timer.startedAt!==null){\r\n        timer.remaining=Math.max(0,timer.delay-(Date.now()-timer.startedAt));\r\n        timer.startedAt=null;\r\n      }\r\n    });\r\n\r\n    pauseVideos();\r\n    return \"paused\";\r\n  }\r\n\r\n  function resumeAnimation(){\r\n    if(!paused){\r\n      return \"playing\";\r\n    }\r\n\r\n    paused=false;\r\n    document.documentElement.classList.remove(\"ols-animation-paused\");\r\n\r\n    timers.forEach(function(timer,timerId){\r\n      timer.startedAt=Date.now();\r\n      timer.delay=timer.remaining;\r\n      timer.nativeId=nativeSetTimeout(function(){\r\n        runTimer(timerId);\r\n      },timer.remaining);\r\n    });\r\n\r\n    resumeVideos();\r\n    return \"playing\";\r\n  }\r\n\r\n  window.olsToggleAnimationPause=function(){\r\n    if(paused){\r\n      return resumeAnimation();\r\n    }\r\n\r\n    return pauseAnimation();\r\n  };\r\n\r\n  window.olsPauseAnimation=pauseAnimation;\r\n  window.olsResumeAnimation=resumeAnimation;\r\n})();\r\n\r\nfunction typeWriter(target,text,speed,callback){\r\n  let i=0;\r\n\r\n  function typing(){\r\n    if(i<text.length){\r\n      const char=text.charAt(i);\r\n      target.textContent+=char;\r\n      i++;\r\n\r\n      let delay=speed;\r\n\r\n      if(char===\".\"){delay=speed*5;}\r\n      if(char===\",\"){delay=speed*2.5;}\r\n      if(char===\"\\n\"){delay=speed*4;}\r\n\r\n      setTimeout(typing,delay);\r\n    }else{\r\n      if(callback){callback();}\r\n    }\r\n  }\r\n\r\n  typing();\r\n}\r\n\r\nfunction switchScene(currentScene,nextScene,callback){\r\n  currentScene.classList.add(\"fade-out\");\r\n\r\n  setTimeout(function(){\r\n    currentScene.classList.remove(\"active\");\r\n    currentScene.classList.remove(\"fade-out\");\r\n    nextScene.classList.add(\"active\");\r\n\r\n    if(callback){callback();}\r\n  },850);\r\n}\r\n\r\nfunction fitVideoScreen(){\r\n  const baseWidth=1180;\r\n  const baseHeight=664;\r\n  const safePadding=24;\r\n  const availableWidth=window.innerWidth-safePadding;\r\n  const availableHeight=window.innerHeight-safePadding;\r\n  const scaleByWidth=availableWidth\/baseWidth;\r\n  const scaleByHeight=availableHeight\/baseHeight;\r\n  const finalScale=Math.min(scaleByWidth,scaleByHeight,1);\r\n  document.documentElement.style.setProperty(\"--ols-video-screen-scale\",finalScale.toFixed(4));\r\n}\r\n\r\nfunction fitMcqScreen(){\r\n  const baseWidth=1360;\r\n  const baseHeight=1130;\r\n  const safePadding=24;\r\n  const availableWidth=window.innerWidth-safePadding;\r\n  const availableHeight=window.innerHeight-safePadding;\r\n  const scaleByWidth=availableWidth\/baseWidth;\r\n  const scaleByHeight=availableHeight\/baseHeight;\r\n  const finalScale=Math.min(scaleByWidth,scaleByHeight,1);\r\n  document.documentElement.style.setProperty(\"--ols-mcq-screen-scale\",finalScale.toFixed(4));\r\n}\r\n\r\nfunction fitSaqScreen(){\r\n  const baseWidth=1360;\r\n  const baseHeight=965;\r\n  const safePadding=24;\r\n  const availableWidth=window.innerWidth-safePadding;\r\n  const availableHeight=window.innerHeight-safePadding;\r\n  const scaleByWidth=availableWidth\/baseWidth;\r\n  const scaleByHeight=availableHeight\/baseHeight;\r\n  const finalScale=Math.min(scaleByWidth,scaleByHeight,1);\r\n  document.documentElement.style.setProperty(\"--ols-saq-screen-scale\",finalScale.toFixed(4));\r\n}\r\n\r\nfunction fitAllScreens(){\r\n  fitVideoScreen();\r\n  fitMcqScreen();\r\n  fitSaqScreen();\r\n}\r\n\r\nwindow.addEventListener(\"resize\",fitAllScreens);\r\nwindow.addEventListener(\"orientationchange\",fitAllScreens);\r\nfitAllScreens();\r\n\r\nconst sceneVideo=document.getElementById(\"sceneVideo\");\r\nconst sceneMcq=document.getElementById(\"sceneMcq\");\r\nconst sceneSaq=document.getElementById(\"sceneSaq\");\r\n\r\nconst videoTitle=\"Online Chemistry Lessons\";\r\nconst videoTitleText=document.getElementById(\"videoTitleText\");\r\nconst videoTitleCursor=document.getElementById(\"videoTitleCursor\");\r\nconst videoTitleScreen=document.getElementById(\"videoTitleScreen\");\r\nconst videoScene=document.getElementById(\"videoScene\");\r\nconst lessonVideo=document.getElementById(\"lessonVideo\");\r\n\r\nlet videoFallbackTimer=null;\r\nlet videoSceneComplete=false;\r\n\r\nfunction playLessonVideo(){\r\n  lessonVideo.muted=true;\r\n  lessonVideo.currentTime=0;\r\n\r\n  const playPromise=lessonVideo.play();\r\n\r\n  if(playPromise!==undefined){\r\n    playPromise.catch(function(){\r\n      lessonVideo.muted=true;\r\n    });\r\n  }\r\n}\r\n\r\nfunction completeVideoScene(){\r\n  if(videoSceneComplete){return;}\r\n\r\n  videoSceneComplete=true;\r\n\r\n  if(videoFallbackTimer){\r\n    clearTimeout(videoFallbackTimer);\r\n  }\r\n\r\n  lessonVideo.pause();\r\n\r\n  setTimeout(function(){\r\n    switchScene(sceneVideo,sceneMcq,function(){\r\n      startMcqIntro();\r\n    });\r\n  },1400);\r\n}\r\n\r\nlessonVideo.addEventListener(\"ended\",function(){\r\n  lessonVideo.pause();\r\n  completeVideoScene();\r\n});\r\n\r\nfunction startVideoSection(){\r\n  fitVideoScreen();\r\n\r\n  setTimeout(function(){\r\n    typeWriter(videoTitleText,videoTitle,44,function(){\r\n      setTimeout(function(){\r\n        videoTitleCursor.style.display=\"none\";\r\n\r\n        setTimeout(function(){\r\n          videoTitleScreen.classList.add(\"hide\");\r\n\r\n          setTimeout(function(){\r\n            videoScene.classList.add(\"show\");\r\n\r\n            setTimeout(function(){\r\n              playLessonVideo();\r\n\r\n              videoFallbackTimer=setTimeout(function(){\r\n                completeVideoScene();\r\n              },45000);\r\n            },600);\r\n          },850);\r\n        },3000);\r\n      },250);\r\n    });\r\n  },700);\r\n}\r\n\r\nconst mcqIntroTitle=\"Multiple Choice Question Bank\";\r\nconst mcqSpecificFeedbackText=\"Na\u207a is small, but Cl\u207b is larger than F\u207b, so the ionic bonding is weaker than in NaF.\";\r\nconst mcqGeneralFeedbackText=\r\n\"Your answer is incorrect.\\n\\n\"+\r\n\"To determine which compound has the strongest ionic bonding, recall the key principle:\\n\\n\"+\r\n\"\u2022 Ionic bond strength increases when ionic radii are small, because the ions can get closer together.\\n\"+\r\n\"\u2022 Smaller ions \u2192 stronger electrostatic attraction \u2192 stronger ionic lattice.\\n\"+\r\n\"\u2022 Na\u207a (0.102 nm) is smaller than K\u207a (0.138 nm).\\n\"+\r\n\"\u2022 F\u207b (0.133 nm) is smaller than Cl\u207b (0.180 nm).\\n\\n\"+\r\n\"Therefore, the strongest ionic bonding occurs in the compound formed by the smallest cation and the smallest anion \u2192 sodium fluoride (NaF).\\n\\n\"+\r\n\"The correct answer is: sodium fluoride\";\r\n\r\nconst mcqIntroScreen=document.getElementById(\"mcqIntroScreen\");\r\nconst mcqIntroTitleText=document.getElementById(\"mcqIntroTitleText\");\r\nconst mcqIntroTitleCursor=document.getElementById(\"mcqIntroTitleCursor\");\r\nconst mcqScreen=document.getElementById(\"mcqScreen\");\r\nconst mcqWrongOption=document.getElementById(\"mcqWrongOption\");\r\nconst mcqSubmitButton=document.getElementById(\"mcqSubmitButton\");\r\nconst mcqSpecificFeedback=document.getElementById(\"mcqSpecificFeedback\");\r\nconst mcqCrossIcon=document.getElementById(\"mcqCrossIcon\");\r\nconst mcqSpecificText=document.getElementById(\"mcqSpecificText\");\r\nconst mcqSpecificCursor=document.getElementById(\"mcqSpecificCursor\");\r\nconst mcqGeneralFeedback=document.getElementById(\"mcqGeneralFeedback\");\r\nconst mcqGeneralText=document.getElementById(\"mcqGeneralText\");\r\nconst mcqGeneralCursor=document.getElementById(\"mcqGeneralCursor\");\r\n\r\nfunction selectMcqWrongOption(){\r\n  mcqWrongOption.classList.add(\"clicking\");\r\n\r\n  setTimeout(function(){\r\n    mcqWrongOption.classList.add(\"selected\");\r\n  },220);\r\n\r\n  setTimeout(function(){\r\n    mcqWrongOption.classList.remove(\"clicking\");\r\n  },850);\r\n}\r\n\r\nfunction clickMcqSubmit(){\r\n  mcqSubmitButton.classList.add(\"clicked\");\r\n\r\n  setTimeout(function(){\r\n    mcqSubmitButton.classList.remove(\"clicked\");\r\n  },240);\r\n}\r\n\r\nfunction showMcqSpecificFeedback(){\r\n  mcqSpecificFeedback.classList.add(\"show\");\r\n\r\n  setTimeout(function(){\r\n    mcqCrossIcon.classList.add(\"show\");\r\n  },180);\r\n\r\n  setTimeout(function(){\r\n    mcqSpecificCursor.style.display=\"inline-block\";\r\n\r\n    typeWriter(mcqSpecificText,mcqSpecificFeedbackText,12,function(){\r\n      mcqSpecificCursor.style.display=\"none\";\r\n\r\n      setTimeout(function(){\r\n        showMcqGeneralFeedback();\r\n      },650);\r\n    });\r\n  },560);\r\n}\r\n\r\nfunction showMcqGeneralFeedback(){\r\n  mcqGeneralFeedback.classList.add(\"show\");\r\n\r\n  setTimeout(function(){\r\n    mcqGeneralCursor.style.display=\"inline-block\";\r\n\r\n    typeWriter(mcqGeneralText,mcqGeneralFeedbackText,8,function(){\r\n      mcqGeneralCursor.style.display=\"none\";\r\n\r\n      setTimeout(function(){\r\n        switchScene(sceneMcq,sceneSaq,function(){\r\n          startSaqIntro();\r\n        });\r\n      },2600);\r\n    });\r\n  },600);\r\n}\r\n\r\nfunction startMcqAnimation(){\r\n  fitMcqScreen();\r\n  mcqScreen.classList.add(\"show\");\r\n\r\n  setTimeout(function(){\r\n    selectMcqWrongOption();\r\n\r\n    setTimeout(function(){\r\n      clickMcqSubmit();\r\n\r\n      setTimeout(function(){\r\n        showMcqSpecificFeedback();\r\n      },620);\r\n    },1150);\r\n  },1300);\r\n}\r\n\r\nfunction startMcqIntro(){\r\n  fitMcqScreen();\r\n\r\n  setTimeout(function(){\r\n    typeWriter(mcqIntroTitleText,mcqIntroTitle,44,function(){\r\n      setTimeout(function(){\r\n        mcqIntroTitleCursor.style.display=\"none\";\r\n\r\n        setTimeout(function(){\r\n          mcqIntroScreen.classList.add(\"hide\");\r\n\r\n          setTimeout(function(){\r\n            startMcqAnimation();\r\n          },850);\r\n        },3000);\r\n      },250);\r\n    });\r\n  },700);\r\n}\r\n\r\nconst saqIntroTitle=\"Chemistry Specialist\\nMarked Exam Feedback\";\r\nconst saqStudentAnswer=\"Magnesium has stronger metallic bonding because it has more atoms packed together and melts at a higher temperature than sodium.\";\r\nconst saqTeacherFeedbackText=\r\n\"Comment:\\n\"+\r\n\"This answer is not correct. Melting temperature is a result of bonding strength, not the cause of it.\\n\\n\"+\r\n\"In metallic bonding, positive metal ions are attracted to a sea of delocalised electrons. The strength of this attraction depends on the charge of the ions and the number of delocalised electrons.\\n\\n\"+\r\n\"Magnesium forms Mg\u00b2\u207a ions and contributes two delocalised electrons per atom, whereas sodium forms Na\u207a ions and contributes only one electron. This results in a stronger electrostatic attraction in magnesium. Additionally, Mg\u00b2\u207a ions have a higher charge density than Na\u207a ions, further strengthening the metallic bonding.\\n\\n\"+\r\n\"Next time, include:\\n\"+\r\n\"\u2022 Ion charge: magnesium forms Mg\u00b2\u207a, sodium forms Na\u207a \u2713\\n\"+\r\n\"\u2022 Delocalised electrons: magnesium provides more electrons to the sea \u2713\\n\"+\r\n\"\u2022 Charge density: smaller, more highly charged ions create stronger attraction \u2713\\n\\n\"+\r\n\"You were close. Focus on explaining bonding in terms of charge and electron density rather than physical properties like melting point.\";\r\n\r\nconst saqIntro=document.getElementById(\"saqIntro\");\r\nconst saqIntroTitleText=document.getElementById(\"saqIntroTitleText\");\r\nconst saqIntroTitleCursor=document.getElementById(\"saqIntroTitleCursor\");\r\nconst saqStudentText=document.getElementById(\"saqStudentText\");\r\nconst saqTeacherText=document.getElementById(\"saqTeacherText\");\r\nconst saqStudentCursor=document.getElementById(\"saqStudentCursor\");\r\nconst saqTeacherCursor=document.getElementById(\"saqTeacherCursor\");\r\nconst saqFeedbackBox=document.getElementById(\"saqTeacherFeedback\");\r\nconst saqScreen=document.getElementById(\"saqScreen\");\r\n\r\nfunction startSaqFeedbackAnimation(){\r\n  fitSaqScreen();\r\n  saqScreen.classList.add(\"show\");\r\n\r\n  setTimeout(function(){\r\n    typeWriter(saqStudentText,saqStudentAnswer,27,function(){\r\n      saqStudentCursor.style.display=\"none\";\r\n\r\n      setTimeout(function(){\r\n        saqFeedbackBox.classList.add(\"show\");\r\n        saqTeacherCursor.style.display=\"inline-block\";\r\n\r\n        typeWriter(saqTeacherText,saqTeacherFeedbackText,10,function(){\r\n          saqTeacherCursor.style.display=\"none\";\r\n        });\r\n      },650);\r\n    });\r\n  },850);\r\n}\r\n\r\nfunction startSaqIntro(){\r\n  fitSaqScreen();\r\n\r\n  setTimeout(function(){\r\n    typeWriter(saqIntroTitleText,saqIntroTitle,44,function(){\r\n      setTimeout(function(){\r\n        saqIntroTitleCursor.style.display=\"none\";\r\n\r\n        setTimeout(function(){\r\n          saqIntro.classList.add(\"hide\");\r\n\r\n          setTimeout(function(){\r\n            startSaqFeedbackAnimation();\r\n          },850);\r\n        },3000);\r\n      },250);\r\n    });\r\n  },700);\r\n}\r\n\r\nstartVideoSection();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n  <\/template>\r\n\r\n  <script>\r\n    (function(){\r\n      var startButton = document.getElementById(\"olsCourseAnimationStart001\");\r\n      var pauseButton = document.getElementById(\"olsCourseAnimationPause001\");\r\n      var iframe = document.getElementById(\"olsCourseAnimationFrame001\");\r\n      var template = document.getElementById(\"olsCourseAnimationTemplate001\");\r\n\r\n      if (!startButton || !pauseButton || !iframe || !template) {\r\n        return;\r\n      }\r\n\r\n      startButton.addEventListener(\"click\", function(){\r\n        iframe.setAttribute(\"srcdoc\", template.innerHTML);\r\n        startButton.classList.add(\"is-hidden\");\r\n        pauseButton.classList.add(\"is-visible\");\r\n        pauseButton.textContent = \"Pause\";\r\n        pauseButton.setAttribute(\"aria-label\", \"Pause course preview animation\");\r\n      });\r\n\r\n      pauseButton.addEventListener(\"click\", function(){\r\n        if (!iframe.contentWindow || typeof iframe.contentWindow.olsToggleAnimationPause !== \"function\") {\r\n          return;\r\n        }\r\n\r\n        var state = iframe.contentWindow.olsToggleAnimationPause();\r\n\r\n        if (state === \"paused\") {\r\n          pauseButton.textContent = \"Resume\";\r\n          pauseButton.setAttribute(\"aria-label\", \"Resume course preview animation\");\r\n        } else {\r\n          pauseButton.textContent = \"Pause\";\r\n          pauseButton.setAttribute(\"aria-label\", \"Pause course preview animation\");\r\n        }\r\n      });\r\n    })();\r\n  <\/script>\r\n<\/section>\n\n      <section class=\"ols-faq-card\">\n        <h2>FAQs<\/h2>\n        <p>These questions target the common points students confuse when learning the trigonal pyramidal molecular shape.<\/p>\n        <div class=\"ols-faq-list\">\n          <div class=\"ols-faq-item\">\n            <h3>What makes a molecule trigonal pyramidal?<\/h3>\n            <p>A molecule is trigonal pyramidal when the central atom has three bonding pairs and one lone pair. The bonded atoms form a pyramidal shape because the lone pair occupies one electron domain but is not shown as an atom in the molecular shape.<\/p>\n          <\/div>\n          <div class=\"ols-faq-item\">\n            <h3>Why is NH<sub>3<\/sub> trigonal pyramidal?<\/h3>\n            <p>NH<sub>3<\/sub> has three N-H bonding pairs and one lone pair around the central nitrogen atom. The four electron domains are based on a tetrahedral arrangement, but the visible molecular shape is trigonal pyramidal.<\/p>\n          <\/div>\n          <div class=\"ols-faq-item\">\n            <h3>What is the bond angle in NH<sub>3<\/sub>?<\/h3>\n            <p>The H-N-H bond angle in NH<sub>3<\/sub> is about 107&deg;. It is smaller than 109.5&deg; because the lone pair repels the bonding pairs more strongly.<\/p>\n          <\/div>\n          <div class=\"ols-faq-item\">\n            <h3>Why is NH<sub>3<\/sub> not called tetrahedral?<\/h3>\n            <p>The electron-pair arrangement around nitrogen is based on a tetrahedron, but the molecular shape is named from the positions of the atoms only. Since one of the four electron domains is a lone pair, the molecular shape is trigonal pyramidal.<\/p>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"ols-related-card\">\n        <h2>Related Topics<\/h2>\n        <p>Use these pages to connect trigonal pyramidal shape with the wider bonding and structure topic.<\/p>\n        <div class=\"ols-related-grid\">\n          <a class=\"ols-related-item\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/covalent-bonding\/\">Covalent Bonding<\/a>\n          <a class=\"ols-related-item\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/covalent-bonding\/electronegativity\/\">Electronegativity<\/a>\n          <a class=\"ols-related-item\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/tetrahedral\/\">Tetrahedral<\/a>\n          <a class=\"ols-related-item\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/bent\/\">Bent<\/a>\n          <a class=\"ols-related-item\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-planar\/\">Trigonal Planar<\/a>\n          <a class=\"ols-related-item\" href=\"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/bond-polarity\/\">Polar Molecules<\/a>\n        <\/div>\n      <\/section>\n\n      <section class=\"ols-attribution-card\">\n        <p><strong>&copy; Online Learning System.<\/strong> This revision page was written and produced for OLS by Dr. Mohammed Al-Fatah. All diagrams, explanations, interactive cards and revision resources on this page are protected by copyright and are provided for student revision and teaching use only.<\/p>\n      <\/section>\n\n      <script type=\"application\/ld+json\">{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"WebPage\",\n      \"@id\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/#webpage\",\n      \"url\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/\",\n      \"name\": \"Trigonal Pyramidal Molecular Shape | AQA A Level Chemistry\",\n      \"description\": \"Revision notes explaining trigonal pyramidal molecular shape using NH3, including three bonding pairs, one lone pair, lone-pair repulsion and the 107 degree bond angle.\",\n      \"isPartOf\": {\n        \"@type\": \"WebSite\",\n        \"@id\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/#website\",\n        \"name\": \"Online Learning System\",\n        \"url\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/\"\n      },\n      \"about\": [\n        {\n          \"@type\": \"Thing\",\n          \"name\": \"Trigonal pyramidal molecular shape\"\n        },\n        {\n          \"@type\": \"Thing\",\n          \"name\": \"Electron-pair repulsion theory\"\n        },\n        {\n          \"@type\": \"Thing\",\n          \"name\": \"Ammonia molecular shape\"\n        }\n      ],\n      \"educationalLevel\": \"A Level\",\n      \"learningResourceType\": \"Revision notes\",\n      \"inLanguage\": \"en-GB\"\n    },\n    {\n      \"@type\": \"Person\",\n      \"@id\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/#dr-mohammed-al-fatah\",\n      \"name\": \"Dr. Mohammed Al-Fatah\",\n      \"url\": \"https:\/\/www.linkedin.com\/in\/doctormohammedfatah\/\",\n      \"affiliation\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Online Learning System\",\n        \"url\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/\"\n      }\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"@id\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/#breadcrumb\",\n      \"itemListElement\": [\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 1,\n          \"name\": \"Revision Notes\",\n          \"item\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 2,\n          \"name\": \"A Level Chemistry\",\n          \"item\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 3,\n          \"name\": \"AQA\",\n          \"item\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 4,\n          \"name\": \"3.1.3 Bonding\",\n          \"item\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 5,\n          \"name\": \"Shapes of Molecules and Ions\",\n          \"item\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 6,\n          \"name\": \"Trigonal Pyramidal Molecular Shape\",\n          \"item\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"Course\",\n      \"@id\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/product\/covalent-bonding-shapes-of-molecules-edexcel-t2ab\/#course\",\n      \"name\": \"Covalent Bonding, Structure and Shapes of Molecules\",\n      \"description\": \"A paid OLS course covering covalent bonding, structure, molecular shapes, electron-pair repulsion, bond angles and exam-style practice for AQA A Level Chemistry.\",\n      \"provider\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Online Learning System\",\n        \"sameAs\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/\"\n      },\n      \"url\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/product\/covalent-bonding-shapes-of-molecules-edexcel-t2ab\/\"\n    },\n    {\n      \"@type\": \"ImageObject\",\n      \"@id\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-content\/uploads\/2026\/05\/NH3.png#image\",\n      \"url\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-content\/uploads\/2026\/05\/NH3.png\",\n      \"caption\": \"Trigonal pyramidal shape table entry showing three bonding pairs, one lone pair and a bond angle of about 107 degrees.\"\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/www.onlinelearningsystem.net\/xyz\/revision-notes\/a-level-chemistry\/aqa\/3-1-3-bonding\/shapes-of-molecules-and-ions\/trigonal-pyramidal\/#faq\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What makes a molecule trigonal pyramidal?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"A molecule is trigonal pyramidal when the central atom has three bonding pairs and one lone pair. The bonded atoms form a pyramidal shape because the lone pair occupies one electron domain but is not shown as an atom in the molecular shape.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Why is NH3 trigonal pyramidal?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"NH3 has three N-H bonding pairs and one lone pair around the central nitrogen atom. The four electron domains are based on a tetrahedral arrangement, but the visible molecular shape is trigonal pyramidal.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What is the bond angle in NH3?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"The H-N-H bond angle in NH3 is about 107 degrees. It is smaller than 109.5 degrees because the lone pair repels the bonding pairs more strongly.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Why is NH3 not called tetrahedral?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"The electron-pair arrangement around nitrogen is based on a tetrahedron, but the molecular shape is named from the positions of the atoms only. Since one of the four electron domains is a lone pair, the molecular shape is trigonal pyramidal.\"\n          }\n        }\n      ]\n    }\n  ]\n}<\/script>\n      <div class=\"ols-image-lightbox\" id=\"olsImageLightboxTrigonalPyramidal9ch0\" aria-hidden=\"true\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Expanded revision image\">\n        <div class=\"ols-image-lightbox-inner\">\n          <button class=\"ols-image-lightbox-close\" type=\"button\" aria-label=\"Close enlarged image\">\u00d7<\/button>\n          <img decoding=\"async\" class=\"ols-image-lightbox-img\" src=\"\" alt=\"\">\n        <\/div>\n      <\/div>\n\n      <script>\n        (function(){\n          var page = document.querySelector(\".ols-trigonal-pyramidal-molecular-shape-9ch0-page\");\n          if (!page) {\n            return;\n          }\n\n          var lightbox = page.querySelector(\"#olsImageLightboxTrigonalPyramidal9ch0\");\n          if (!lightbox) {\n            return;\n          }\n\n          var lightboxImage = lightbox.querySelector(\".ols-image-lightbox-img\");\n          var closeButton = lightbox.querySelector(\".ols-image-lightbox-close\");\n          var clickableImages = page.querySelectorAll(\"img.ols-lightbox-target\");\n\n          function openLightbox(image) {\n            lightboxImage.src = image.currentSrc || image.src;\n            lightboxImage.alt = image.alt || \"Expanded revision image\";\n            lightbox.classList.add(\"is-open\");\n            lightbox.setAttribute(\"aria-hidden\", \"false\");\n\n            if (!document.body.dataset.olsPreviousOverflow) {\n              document.body.dataset.olsPreviousOverflow = document.body.style.overflow || \"default\";\n            }\n\n            document.body.style.overflow = \"hidden\";\n          }\n\n          function closeLightbox() {\n            lightbox.classList.remove(\"is-open\");\n            lightbox.setAttribute(\"aria-hidden\", \"true\");\n            lightboxImage.src = \"\";\n\n            if (document.body.dataset.olsPreviousOverflow) {\n              document.body.style.overflow = document.body.dataset.olsPreviousOverflow === \"default\" ? \"\" : document.body.dataset.olsPreviousOverflow;\n              delete document.body.dataset.olsPreviousOverflow;\n            }\n          }\n\n          clickableImages.forEach(function(image){\n            image.addEventListener(\"click\", function(event){\n              event.preventDefault();\n              event.stopPropagation();\n              openLightbox(image);\n            });\n          });\n\n          closeButton.addEventListener(\"click\", closeLightbox);\n\n          lightbox.addEventListener(\"click\", function(event){\n            if (event.target === lightbox) {\n              closeLightbox();\n            }\n          });\n\n          document.addEventListener(\"keydown\", function(event){\n            if (event.key === \"Escape\" && lightbox.classList.contains(\"is-open\")) {\n              closeLightbox();\n            }\n          });\n        })();\n      <\/script>\n\n    <\/main>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Revision Notes \/ A Level Chemistry \/ AQA \/ 3.1.3 Bonding \/ Shapes of Molecules and Ions \/ Trigonal Pyramidal Molecular Shape Trigonal Pyramidal Molecular Shape A focused revision guide to the trigonal pyramidal molecular shape, using NH3 as the key example. This page explains why three bonding pairs and one lone pair around a [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":5337,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5352","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/pages\/5352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/comments?post=5352"}],"version-history":[{"count":1,"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/pages\/5352\/revisions"}],"predecessor-version":[{"id":8988,"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/pages\/5352\/revisions\/8988"}],"up":[{"embeddable":true,"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/pages\/5337"}],"wp:attachment":[{"href":"https:\/\/www.onlinelearningsystem.net\/xyz\/wp-json\/wp\/v2\/media?parent=5352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}