{"id":2025,"date":"2026-03-10T12:53:00","date_gmt":"2026-03-10T10:53:00","guid":{"rendered":"https:\/\/kaksik.ee\/?page_id=2025"},"modified":"2026-04-14T10:00:28","modified_gmt":"2026-04-14T07:00:28","slug":"e-oppematerjali-loomise-hind","status":"publish","type":"page","link":"https:\/\/kaksik.ee\/en\/e-oppematerjali-loomise-hind\/","title":{"rendered":"Price for creating e-learning material"},"content":{"rendered":"<div class=\"brz brz-root__container brz-reset-all brz-root__container-page\" >\n<section id=\"wpPvHbqmjeYd_wpPvHbqmjeYd\" class=\"brz-section brz-css-d-section brz-css-1w5h6hb\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-s0571d\" data-brz-custom-id=\"t4Pb0XKIpJPT\">\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-15bwu33\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-ftsuyz brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1elzize\" data-brz-custom-id=\"zZHO1mRj2ejy\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-text-lg-center brz-bcp-color7 brz-tp-lg-heading1 brz-css-mPSuJ\" data-uniq-id=\"ailgn\" data-generated-css=\"brz-css-g2INl\"><span class=\"brz-cp-color7\">E\u2011\u00f5ppematerjali hinnakalkulaator<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-yyxsew brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1be595a\" data-brz-custom-id=\"yZj0XTCo42V4\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-paragraph brz-text-lg-center brz-css-cHZB_\" data-uniq-id=\"yuGdz\" data-generated-css=\"brz-css-iKb8u\"><span class=\"brz-cp-color7\" style=\"color: rgb(87, 88, 100);\">E-\u00f5ppematerjali loomise hind on oluline k\u00fcsimus. Hinnakalkulaator annab <\/span><strong class=\"brz-cp-color7\" style=\"color: rgb(87, 88, 100);\">kiire hinnangulise projekti maksumuse<\/strong><span class=\"brz-cp-color7\" style=\"color: rgb(87, 88, 100);\"> \u2013 ilma m\u00fc\u00fcgijututa, ilma kohustuseta. <\/span><\/p>\n<p class=\"brz-tp-lg-paragraph brz-text-lg-center brz-css-hBfYD\" data-uniq-id=\"uJ4yD\" data-generated-css=\"brz-css-e8h0Y\"><span class=\"brz-cp-color7\" style=\"color: rgb(87, 88, 100);\">Ideaalne lahendus organisatsioonidele, kes soovivad luua e-koolitusi. <\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-10lrygk brz-wrapper\">\n<div data-brz-animationstyle=\"text\" data-brz-duration=\"2500\" data-brz-effecttype=\"typing\" data-brz-text=\"alates 100\u20ac\" data-brz-loop=\"true\" data-brz-textbefore=\"E-\u00f5ppematerjali loomise hind\" class=\"brz-animatedHeadline--wrapper brz-css-d-animatedheadline brz-css-5ovu4p\" data-brz-custom-id=\"aFuqNrV3ZbXf\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"rmAgyU7yUOSI_rmAgyU7yUOSI\" class=\"brz-section brz-css-d-section brz-css-g7tl48\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-zuif3w\" data-brz-custom-id=\"hmA6WJm1_JWM\">\n<div class=\"brz-bg\">\n<div class=\"brz-bg-color\"><\/div>\n<\/div>\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-gjlj19\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1ka1qjz brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-26aqrf\" data-brz-custom-id=\"eCo1doTgPx6M\">\n<div data-brz-translate-text=\"1\">\n<h2 data-uniq-id=\"ehSy7\" data-generated-css=\"brz-css-wF9R5\" class=\"brz-tp-lg-heading2 brz-text-lg-center brz-css-fqdlD\"><span class=\"brz-cp-color7\">Proovi kalkulaatorit<\/span><\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1hphqic brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1ue05av\" data-brz-custom-id=\"pZn0ybhhobiW\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-text-lg-center brz-tp-lg-subtitle brz-css-hQEPb\" data-generated-css=\"brz-css-h0FvT\" data-uniq-id=\"lUA6u\"><span class=\"brz-cp-color7\">N\u00e4iteks lihtne 10-minutiline e-\u00f5ppematerjal algab tavaliselt 600\u20ac juurest. Sisesta oma projekti andmed ja saad kohe teada hinnangulise maksumuse.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-wrapper-clone brz-flex-xs-wrap brz-css-d-cloneable brz-css-1waxtib\" data-brz-custom-id=\"kcykPBPmXJd6\">\n<div class=\"brz-icon__container\" data-brz-custom-id=\"kVqWEEiLaY3G\"><span class=\"brz-icon brz-span brz-css-d-icon-icon brz-css-1rs0lnp\"><svg class=\"brz-icon-svg align-[initial]\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/glyph\/circle-simple-down.svg#nc_icon\"><\/use><\/svg><\/span><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-13wvrjj brz-wrapper\">\n<div class=\"brz-embed-code brz-css-d-embedcode brz-css-1gtbg6n\" data-brz-custom-id=\"qOqdD7udYvMZ\">\n<div class=\"brz-embed-content\">\n<div><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Serif+Display:ital@0;1&amp;family=DM+Sans:wght@300;400;500;600&amp;display=swap\" rel=\"stylesheet\">\n<div id=\"elearn-wrap\">\n<div id=\"kk-calc-root\"><\/div>\n<\/div>\n<p><!-- \u2500\u2500 EXIT-INTENT POPUP \u2500\u2500 --><\/p>\n<div id=\"kk-popup-overlay\" style=\"display:none; position:fixed; inset:0; background:rgba(8,27,118,0.55); z-index:99999; align-items:center; justify-content:center; padding:20px; box-sizing:border-box;\">\n<div id=\"kk-popup\" style=\"background:#faf8f6; border-radius:16px; max-width:480px; width:100%; overflow:hidden; box-shadow:0 24px 80px rgba(8,27,118,0.25); position:relative;\"><\/div>\n<\/div>\n<style>\n#elearn-wrap {\n  max-width: 720px;\n  margin: 40px auto;\n  font-family: 'DM Sans', system-ui, sans-serif;\n}\n#kk-calc-root {\n  background: #faf8f6;\n  border-radius: 16px;\n  overflow: hidden;\n  position: relative;\n  box-shadow: 0 8px 48px rgba(8,27,118,0.10), 0 1px 0 rgba(8,27,118,0.06);\n}\n#kk-calc-root::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background-image:\n    linear-gradient(rgba(232,49,110,0.035) 1px, transparent 1px),\n    linear-gradient(90deg, rgba(232,49,110,0.035) 1px, transparent 1px);\n  background-size: 36px 36px;\n  pointer-events: none;\n  z-index: 0;\n}\n.kk-body { position: relative; z-index: 1; padding: 32px 40px; }\n.kk-field-group { margin-bottom: 24px; }\n.kk-label {\n  display: block; font-size: 11px; font-weight: 600; color: #081b76;\n  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px;\n}\n.kk-input {\n  width: 100%; padding: 12px 16px; border: 1.5px solid #e0dbd4; border-radius: 8px;\n  font-family: 'DM Sans', sans-serif; font-size: 15px; color: #1a1a1a;\n  background: #fff; box-sizing: border-box; transition: border-color 0.2s, box-shadow 0.2s;\n  -moz-appearance: textfield;\n}\n.kk-input::-webkit-outer-spin-button,\n.kk-input::-webkit-inner-spin-button { -webkit-appearance: none; }\n.kk-input:focus { outline: none; border-color: #e8316e; box-shadow: 0 0 0 3px rgba(232,49,110,0.1); }\n.kk-input::placeholder { color: #bbb; }\n.kk-duration-row { display: flex; align-items: stretch; gap: 0; }\n.kk-duration-row .kk-input-wrap { flex: 1; }\n.kk-duration-row .kk-input-wrap:first-child .kk-input { border-radius: 8px 0 0 8px; border-right: none; }\n.kk-duration-row .kk-input-wrap:last-child .kk-input { border-radius: 0 8px 8px 0; border-left: none; }\n.kk-or-pill {\n  display: flex; align-items: center; justify-content: center; padding: 0 12px;\n  background: #f0ece6; border-top: 1.5px solid #e0dbd4; border-bottom: 1.5px solid #e0dbd4;\n  font-size: 10px; font-weight: 600; color: #aaa; letter-spacing: 0.06em; flex-shrink: 0;\n}\n.kk-duration-sublabels { display: flex; gap: 0; margin-bottom: 6px; }\n.kk-duration-sublabels span { flex: 1; font-size: 11px; color: #888; }\n.kk-duration-sublabels span:last-child { text-align: right; }\n.kk-select {\n  width: 100%; padding: 12px 16px; border: 1.5px solid #e0dbd4; border-radius: 8px;\n  font-family: 'DM Sans', sans-serif; font-size: 15px; color: #1a1a1a;\n  background: #fff url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23e8316e' stroke-width='1.8' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\") no-repeat right 16px center;\n  -webkit-appearance: none; appearance: none; box-sizing: border-box; cursor: pointer; transition: border-color 0.2s;\n}\n.kk-select:focus { outline: none; border-color: #e8316e; box-shadow: 0 0 0 3px rgba(232,49,110,0.1); }\n.kk-checks { display: flex; flex-wrap: wrap; gap: 10px; }\n.kk-check-label {\n  display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px;\n  background: #fff; border: 1.5px solid #e0dbd4; border-radius: 8px;\n  font-size: 13px; color: #444; cursor: pointer;\n  transition: border-color 0.2s, background 0.2s, color 0.2s; user-select: none;\n}\n.kk-check-label:hover { border-color: #e8316e; color: #1a1a1a; }\n.kk-check-label input[type=\"checkbox\"] { display: none; }\n.kk-checkmark {\n  width: 16px; height: 16px; border: 1.5px solid #ccc; border-radius: 4px;\n  display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.15s;\n}\n.kk-check-label:has(input:checked) { border-color: #e8316e; background: rgba(232,49,110,0.06); }\n.kk-check-label:has(input:checked) .kk-checkmark { background: #e8316e; border-color: #e8316e; }\n.kk-check-label:has(input:checked) .kk-checkmark::after {\n  content: ''; width: 9px; height: 5px;\n  border-left: 2px solid #fff; border-bottom: 2px solid #fff;\n  transform: rotate(-45deg) translateY(-1px); display: block;\n}\n.kk-check-label:has(input:checked) .kk-label-text { color: #c0254f; }\n.kk-label-text { font-size: 13px; }\n.kk-check-label.disabled { opacity: 0.35; cursor: not-allowed; pointer-events: none; }\n.tt-wrap { position: relative; display: inline-flex; align-items: center; gap: 5px; }\n.tt-icon {\n  display: inline-flex; align-items: center; justify-content: center;\n  width: 15px; height: 15px; border-radius: 50%;\n  background: rgba(8,27,118,0.12); color: #081b76;\n  font-size: 9px; font-weight: 700; cursor: pointer; flex-shrink: 0; line-height: 1; user-select: none;\n}\n.tt-icon:hover { background: #081b76; color: #fff; }\n.tt-bubble {\n  display: none; position: absolute; bottom: calc(100% + 8px); left: 50%;\n  transform: translateX(-50%); background: #081b76; color: #fff;\n  font-size: 12px; line-height: 1.5; padding: 8px 12px; border-radius: 8px;\n  width: 220px; z-index: 999; pointer-events: none; box-shadow: 0 4px 20px rgba(8,27,118,0.3);\n}\n.tt-bubble::after {\n  content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);\n  border: 6px solid transparent; border-top-color: #081b76;\n}\n.tt-wrap:hover .tt-bubble { display: block; }\n.kk-calc-btn {\n  width: 100%; padding: 16px; background: #e8316e; color: #fff;\n  border: none; border-radius: 8px; font-family: 'DM Sans', sans-serif;\n  font-size: 15px; font-weight: 600; letter-spacing: 0.04em; cursor: pointer;\n  display: flex; align-items: center; justify-content: center; gap: 10px;\n  transition: background 0.2s, transform 0.15s;\n}\n.kk-calc-btn:hover { background: #c0254f; transform: translateY(-1px); }\n.kk-calc-btn:active { transform: translateY(0); }\n.kk-calc-btn .arrow { font-size: 18px; }\n.kk-err { color: #c0254f; font-size: 12px; margin-top: 6px; display: none; }\n.kk-result { display: none; position: relative; z-index: 1; }\n.kk-result-header {\n  background: #eef3ff; padding: 32px 40px; text-align: center;\n  position: relative; overflow: hidden; border-bottom: 1px solid #c7d7f9;\n}\n.kk-result-header::before {\n  content: ''; position: absolute; bottom: -30px; left: -30px;\n  width: 140px; height: 140px;\n  background: radial-gradient(circle, rgba(232,49,110,0.08) 0%, transparent 70%); border-radius: 50%;\n}\n.kk-result-eyebrow {\n  font-size: 18px; font-weight: 600; color: #081b76;\n  letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px; opacity: 0.6;\n}\n.kk-result-price {\n  font-family: 'DM Serif Display', serif; font-size: 60px; color: #081b76;\n  line-height: 1; margin-bottom: 6px;\n  display: flex; align-items: flex-start; justify-content: center; gap: 4px;\n}\n.kk-result-price #price-num { font-size: 60px; }\n.kk-result-price span:last-child { font-size: 32px; margin-top: 10px; color: #e8316e; }\n.kk-result-disclaimer { font-size: 11px; color: #6b7db3; font-weight: 300; line-height: 1.5; }\n.kk-result-adjust {\n  background: none; border: none; color: #e8316e; font-size: 12px;\n  font-family: 'DM Sans', sans-serif; cursor: pointer;\n  text-decoration: underline; text-underline-offset: 3px; margin-top: 12px; display: inline-block; padding: 0;\n}\n.kk-roi { margin: 0; padding: 24px 40px; background: rgba(8,27,118,0.04); border-bottom: 1px solid #e0dbd4; }\n.kk-roi-label {\n  font-size: 12px; font-weight: 600; color: #081b76;\n  letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 12px; display: block;\n}\n.kk-roi-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }\n.kk-roi-text { font-size: 13px; color: #666; white-space: nowrap; }\n.kk-roi-input {\n  width: 110px; min-width: 80px; padding: 10px 14px;\n  border: 1.5px solid #c7d7f9; border-radius: 8px;\n  font-family: 'DM Sans', sans-serif; font-size: 15px; color: #1a1a1a;\n  background: #fff; box-sizing: border-box; -moz-appearance: textfield;\n}\n.kk-roi-input::-webkit-outer-spin-button,\n.kk-roi-input::-webkit-inner-spin-button { -webkit-appearance: none; }\n.kk-roi-input:focus { outline: none; border-color: #e8316e; box-shadow: 0 0 0 3px rgba(232,49,110,0.1); }\n.kk-roi-result { font-size: 14px; color: #333; margin-top: 10px; display: none; }\n.kk-email-section { padding: 28px 40px; background: #fff; }\n.kk-section-title {\n  font-size: 11px; font-weight: 600; color: #081b76;\n  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 16px;\n}\n.kk-email-section .kk-input { margin-bottom: 10px; }\n.kk-gdpr {\n  display: flex; align-items: flex-start; gap: 10px;\n  font-size: 12px; color: #666; margin: 14px 0; line-height: 1.5; cursor: pointer;\n}\n.kk-gdpr input[type=\"checkbox\"] { margin-top: 2px; flex-shrink: 0; accent-color: #e8316e; }\n.kk-gdpr a { color: #e8316e; text-decoration: none; }\n.kk-gdpr a:hover { text-decoration: underline; }\n.kk-send-btn {\n  width: 100%; padding: 14px; background: #081b76; color: #fff;\n  border: none; border-radius: 8px; font-family: 'DM Sans', sans-serif;\n  font-size: 14px; font-weight: 600; letter-spacing: 0.04em; cursor: pointer;\n  transition: background 0.2s, transform 0.15s;\n}\n.kk-send-btn:hover { background: #0a2494; transform: translateY(-1px); }\n.kk-success {\n  color: #1a6e3c; font-size: 13px; text-align: center; margin-top: 10px;\n  display: none; background: #e8f5ee; padding: 10px; border-radius: 6px;\n}\n.kk-footer-cta { padding: 24px 40px 32px; background: #faf8f6; text-align: center; border-top: 1px solid #e0dbd4; }\n.kk-calendly-btn {\n  display: inline-flex; align-items: center; gap: 10px;\n  background: #e8316e; color: #fff; border: none; border-radius: 8px;\n  padding: 16px 32px; font-family: 'DM Sans', sans-serif;\n  font-size: 14px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase;\n  cursor: pointer; transition: background 0.2s, transform 0.15s, box-shadow 0.2s;\n  box-shadow: 0 4px 20px rgba(232,49,110,0.3);\n}\n.kk-calendly-btn:hover { background: #c0254f; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(232,49,110,0.4); }<\/p>\n<p>\/* \u2500\u2500 POPUP \u2500\u2500 *\/\n@keyframes kk-fade-in  { from { opacity: 0; } to { opacity: 1; } }\n@keyframes kk-slide-up { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }\n#kk-popup-overlay.kk-visible { animation: kk-fade-in 0.25s ease; }\n#kk-popup { animation: kk-slide-up 0.3s ease; }\n.kk-popup-header {\n  background: #081b76; padding: 28px 32px 24px; position: relative; overflow: hidden;\n}\n.kk-popup-header::after {\n  content: ''; position: absolute; top: -40px; right: -40px; width: 160px; height: 160px;\n  background: radial-gradient(circle, rgba(232,49,110,0.22) 0%, transparent 70%);\n  border-radius: 50%; pointer-events: none;\n}\n.kk-popup-close {\n  position: absolute; top: 12px; right: 14px; background: none; border: none;\n  color: rgba(255,255,255,0.45); font-size: 22px; cursor: pointer; padding: 4px 8px;\n  line-height: 1; font-family: sans-serif; transition: color 0.15s;\n}\n.kk-popup-close:hover { color: #fff; }\n.kk-popup-eyebrow {\n  font-size: 10px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;\n  color: rgba(255,255,255,0.45); margin-bottom: 8px;\n}\n.kk-popup-title {\n  font-family: 'DM Serif Display', serif; font-size: 24px; font-style: italic;\n  color: #fff; line-height: 1.2; margin: 0;\n}\n.kk-popup-title em { color: #e8316e; font-style: normal; }\n.kk-popup-body { padding: 24px 32px 28px; }\n.kk-popup-text { font-size: 14px; color: #555; line-height: 1.65; margin-bottom: 20px; }\n.kk-popup-calendly {\n  display: flex; align-items: center; justify-content: center; gap: 10px;\n  width: 100%; padding: 15px 20px; background: #e8316e; color: #fff;\n  border: none; border-radius: 8px; font-family: 'DM Sans', sans-serif;\n  font-size: 14px; font-weight: 600; letter-spacing: 0.04em; cursor: pointer;\n  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;\n  box-shadow: 0 4px 16px rgba(232,49,110,0.3); margin-bottom: 14px;\n}\n.kk-popup-calendly:hover { background: #c0254f; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(232,49,110,0.4); }\n.kk-popup-divider {\n  display: flex; align-items: center; gap: 10px; font-size: 11px; color: #bbb; margin-bottom: 12px;\n}\n.kk-popup-divider::before,\n.kk-popup-divider::after { content: ''; flex: 1; height: 1px; background: #e0dbd4; }\n.kk-popup-email-row { display: flex; gap: 8px; }\n.kk-popup-email-row .kk-input { margin-bottom: 0; flex: 1; font-size: 14px; padding: 11px 14px; }\n.kk-popup-send {\n  padding: 11px 18px; background: #081b76; color: #fff; border: none; border-radius: 8px;\n  font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600;\n  cursor: pointer; white-space: nowrap; transition: background 0.2s;\n}\n.kk-popup-send:hover { background: #0a2494; }\n\/* GDPR inside popup \u2014 same style as calculator *\/\n.kk-popup-gdpr {\n  display: flex; align-items: flex-start; gap: 10px;\n  font-size: 11px; color: #666; margin: 10px 0 0; line-height: 1.5; cursor: pointer;\n}\n.kk-popup-gdpr input[type=\"checkbox\"] { margin-top: 2px; flex-shrink: 0; accent-color: #e8316e; }\n.kk-popup-gdpr a { color: #e8316e; text-decoration: none; }\n.kk-popup-gdpr a:hover { text-decoration: underline; }\n.kk-popup-dismiss {\n  display: block; text-align: center; margin-top: 14px; font-size: 12px; color: #bbb;\n  cursor: pointer; background: none; border: none; font-family: 'DM Sans', sans-serif;\n  text-decoration: underline; text-underline-offset: 3px; width: 100%;\n}\n.kk-popup-dismiss:hover { color: #888; }\n.kk-popup-err { color: #c0254f; font-size: 12px; margin-top: 6px; display: none; }\n.kk-popup-success {\n  color: #1a6e3c; font-size: 13px; margin-top: 8px; display: none;\n  background: #e8f5ee; padding: 10px; border-radius: 6px; text-align: center;\n}<\/p>\n<p>\/* \u2500\u2500 MOBILE \u2500\u2500 *\/\n@media (max-width: 520px) {\n  .kk-body, .kk-email-section, .kk-roi, .kk-footer-cta { padding-left: 20px; padding-right: 20px; }\n  .kk-result-header { padding: 24px 20px; }\n  .kk-result-price, .kk-result-price #price-num { font-size: 40px; }\n  .kk-roi-row { flex-direction: column; align-items: flex-start; }\n  .kk-roi-input { width: 100%; }\n  .kk-duration-sublabels span:last-child { text-align: left; }\n  #kk-popup-overlay { align-items: flex-end; padding: 0; }\n  #kk-popup { border-radius: 16px 16px 0 0; max-width: 100%; }\n  .kk-popup-header { padding: 22px 20px 18px; }\n  .kk-popup-body { padding: 20px 20px 24px; }\n  .kk-popup-email-row { flex-direction: column; }\n  .kk-popup-send { width: 100%; }\n}\n<\/style>\n<p><script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script><\/p>\n<p><script>\n\/\/ =============================================================\n\/\/ LANGUAGE DETECTION\n\/\/ =============================================================\nfunction detectLang() {\n    if (window.location.pathname.startsWith('\/en\/')) return 'en';\n    if (typeof window.SITE_LANG === 'string' && window.SITE_LANG.length > 0)\n        return window.SITE_LANG.toLowerCase().startsWith('en') ? 'en' : 'et';\n    return document.documentElement.lang.toLowerCase().startsWith('en') ? 'en' : 'et';\n}\nconst LANG = detectLang();<\/p>\n<p>\/\/ =============================================================\n\/\/ TRANSLATIONS\n\/\/ =============================================================\nconst T = {\n    et: {\n        brand: 'Kaksik O\u00dc',\n        contentSize:        'Koolituse sisu maht',\n        durationMin:        'Kestus (minutites)',\n        wordCount:          'S\u00f5nade arv',\n        wordCountSub:       '(100 s\u00f5na = ~1 minut)',\n        minutePlaceholder:  'nt 10',\n        wordPlaceholder:    'nt 500',\n        orDivider:          'V\u00d5I',\n        complexityLabel:    'Materjali teostuse viis',\n        contentLabel:       'Materjali esitamise viis(id)',\n        addonsLabel:        'Lisateenused',\n        languagesLabel:     'Keelte arv',\n        calcBtn:            'Arvuta hind',\n        hintMax15:          'Soovituslik pikkus on kuni 15 minutit',<\/p>\n<p>        basic:          'Lihtne e-\u00f5ppematerjal (tekst, graafika)',\n        medium:         'Interaktiivne e-\u00f5ppematerjal (tekst, graafika ja lisavalik(ud) allpool)',\n        videokoolitus:  'Videokoolitus',\n        physical_video: 'F\u00fc\u00fcsilise klassiruumikoolituse videoj\u00e4\u00e4dvustus',<\/p>\n<p>        ai_video:          'AI esinejaga video',\n        interactiveobject: 'Interaktiivsed elemendid',\n        voiceover:         'Voiceover',<\/p>\n<p>        videotrainingcontentcreation: 'Videokoolituse sisu loomine',\n        contentcreation:              'Koolituse alusmaterjali loomine',\n        quizzes:                      'Testik\u00fcsimused',\n        lms:                          'LMSi integreerimine',\n        scorm:                        'SCORM\/xAPI',<\/p>\n<p>        lang1: '1 keel', lang2: '2 keelt', lang3: '3 keelt',\n        lang4: '4 keelt', lang5: '5 keelt', lang6: '6 keelt',<\/p>\n<p>        resultEyebrow:    'Projekti hinnanguline maksumus alates',\n        resultDisclaimer: 'Esialgne kalkulatsioon vastavalt sisestatud andmetele (KM-ta) \u00b7 t\u00e4psema pakkumise saamiseks broneeri tasuta konsultatsioon',\n        adjustOptions:    '\u2190 Muuda valikuid',<\/p>\n<p>        roiLabel:       'Maksumus t\u00f6\u00f6taja kohta',\n        roiInputLabel:  'Sisesta koolitatavate t\u00f6\u00f6tajate arv:',\n        roiPlaceholder: 'nt 50',\n        roiResult:      (n, cost) => `${n} t\u00f6\u00f6taja kohta: <strong style=\"color:#081b76; font-size:1.2em; font-weight:700;\">${cost} \u20ac<\/strong>`,\n        pdfRoiLabel:    'Maksumus t\u00f6\u00f6taja kohta',<\/p>\n<p>        emailSectionTitle:  'Saada kokkuv\u00f5te e-postile',\n        projectNameLabel:   'Projekti nimi',\n        projectPlaceholder: 'nt E-\u00f5ppe projekt 1',\n        namePlaceholder:    'Sinu nimi',\n        emailPlaceholder:   'Sinu e-post',\n        gdprText:           'N\u00f5ustun oma andmete t\u00f6\u00f6tlemisega ning luban Kaksik O\u00dc-l minu hinnapakkumisega seoses \u00fchendust v\u00f5tta.',\n        gdprLink:           'Privaatsuspoliitika',\n        sendBtn:            'Saada kokkuv\u00f5te',\n        calendlyBtn:        'Soovin t\u00e4pset hinnapakkumist \u2192',<\/p>\n<p>        errSelectContent:  'Vali v\u00e4hemalt \u00fcks materjali esitamise viis.',\n        errPhysicalWords:  'F\u00fc\u00fcsilise koolituse videoj\u00e4\u00e4dvustuse puhul saab sisestada ainult minutid.',\n        errNoMinutes:      'Palun sisesta kestus minutites v\u00f5i s\u00f5nade arv.',\n        errNoPrice:        'Palun arvuta esmalt hind.',\n        errName:           'Palun sisesta oma nimi.',\n        errEmail:          'Palun sisesta kehtiv e-posti aadress.',\n        errGdpr:           'Palun n\u00f5ustu andmete t\u00f6\u00f6tlemisega, et saaksin kokkuv\u00f5tte saata.',\n        errSendFail:       'Saatmine eba\u00f5nnestus. Palun proovi uuesti.',\n        successMsg:        '\u2713 Kokkuv\u00f5te saadeti aadressile ',\n        sending:           'Saadan...',\n        hintSelectContent: 'Vali v\u00e4hemalt \u00fcks esitamise viis, et hinda arvutada.',\n        exclusionHint:     'AI video ja voiceover ei ole samaaegselt valitavad.',\n        exclusionTitleAI:  'Ei saa valida koos AI videoga',\n        exclusionTitleVO:  'Ei saa valida koos voiceoveriga',<\/p>\n<p>        pdfBrand:       'KAKSIK',\n        pdfSubBrand:    'E-\u00f5ppe lahendused ettev\u00f5tetele',\n        pdfSummaryLine: 'Hinnanguline kokkuv\u00f5te \u00b7 kaksik.ee',\n        pdfComplexity:  'Materjali teostuse viis',\n        pdfDuration:    'Sisu maht',\n        pdfLanguages:   'Keelte arv',\n        pdfContent:     'Materjali esitamise viis',\n        pdfAddons:      'Lisateenused',\n        pdfPriceLabel:  'Projekti hinnanguline maksumus alates (KM-ta):',\n        pdfDisclaimer:  '* Esialgne kalkulatsioon vastavalt sisestatud andmetele (KM-ta). T\u00e4psema hinnapakkumise saamiseks v\u00f5ta minuga \u00fchendust: stanislav@kaksik.ee.',\n        pdfCTA:         'Broneeri tasuta konsultatsioon: calendly.com\/stanislav-kaksik\/30min',\n        pdfFooter:      'Kaksik O\u00dc \u00b7 kaksik.ee \u00b7 stanislav@kaksik.ee',\n        pdfLangUnit:    (n) => n === 1 ? '1 keel' : n + ' keelt',\n        pdfMinUnit:     (m) => m + ' min',\n        pdfWordUnit:    (w) => w + ' s\u00f5na',\n        pdfFileSuffix:  'hinnanguline-kokkuvote',<\/p>\n<p>        emailSubject:   (proj) => 'Sinu e-\u00f5ppematerjali hinnakalkulatsioon \u2013 ' + proj,\n        emailGreeting:  (name) => 'Tere, <strong>' + name + '<\/strong>!',\n        emailIntro:     (proj) => 'T\u00e4name, et kasutasite meie hinnakalkulaatorit. Manusest leiate projekti <strong>' + proj + '<\/strong> hinnangulise kokkuv\u00f5tte.',\n        emailPriceLabel:'Projekti hinnanguline maksumus alates:',\n        emailNote:      'See on esialgne kalkulatsioon vastavalt sisestatud andmetele. T\u00e4psema hinnapakkumise saamiseks broneeri tasuta konsultatsioon:',\n        emailCTA:       'Broneeri tasuta konsultatsioon \u2192',\n        emailSign:      'Parimate soovidega,',\n        emailFooter:    'Said selle kirja, kuna kasutasid kaksik.ee hinnakalkulaatorit ja n\u00f5ustusite andmete t\u00f6\u00f6tlemisega.',<\/p>\n<p>        tt_ai_video:                     'AI-genereeritud koolitaja esitab teksti video kujul. Realistlik koolitaja ilma videoproduktsioonita \u2014 saadaval rohkem kui 60 erinevat keelt.',\n        tt_interactiveobject:            'Klikitavad elemendid, lohistamis\u00fclesanded, stsenaariumid jm tegevused, mis muudavad \u00f5ppija aktiivseks osalejaks.',\n        tt_voiceover:                    'Professionaalne AI h\u00e4\u00e4l esitab sisu koolituse taustal. Soodsam kui videoproduktsioon. Saadaval rohkem kui 60 erinevat keelt.',\n        tt_videotrainingcontentcreation: 'Kirjutan stsenaariumi ja koostan kogu videosisu nullist.',\n        tt_contentcreation:              'Loon e-\u00f5ppematerjali aluseks vajaliku sisu: tekst, struktuur.',\n        tt_quizzes:                      'Mitme valikuga k\u00fcsimused, mis kontrollivad \u00f5ppija teadmisi. Saab lisada iga teema l\u00f5ppu v\u00f5i kokkuv\u00f5tteks.',\n        tt_lms:                          'Laen valmis materjali \u00fcles sinu \u00f5pihalduss\u00fcsteemi (nt Moodle, TalentLMS, 360Learning, Coursy).',\n        tt_scorm:                        'SCORM\/xAPI v\u00f5imaldab e-\u00f5ppematerjalil edastada tulemused, l\u00e4bimisprotsendi ja aja LMS-ile.',<\/p>\n<p>        \/\/ \u2500\u2500 POPUP \u2500\u2500\n        popupEyebrow:    'Enne kui lahkud...',\n        popupTitle:      'Saan aidata leida <em>parima lahenduse<\/em>',\n        popupText:       'Tasuta 30-minutiline konsultatsioon \u2014 kirjelda oma koolitusvajadus ja annan selge \u00fclevaate, milline lahendus sobib.',\n        popupCalendly:   'Broneeri tasuta konsultatsioon \u2192',\n        popupOr:         'V\u00f5i saada endale kalkulaatori kokkuv\u00f5te e-postile',\n        popupEmailPh:    'Sinu e-post',\n        popupSend:       'Saada',\n        popupDismiss:    'Ei, t\u00e4nan',\n        popupSending:    'Saadan...',\n        popupSuccess:    '\u2713 Kokkuv\u00f5te on saadetud!',\n        popupErrEmail:   'Palun sisesta kehtiv e-posti aadress.',\n        popupErrGdpr:    'Palun n\u00f5ustu andmete t\u00f6\u00f6tlemisega, et saaksin kokkuv\u00f5tte saata.',\n        popupErrNoPrice: 'Arvuta esmalt hind kalkulaatoris.',\n        popupGdprText:   'N\u00f5ustun oma andmete t\u00f6\u00f6tlemisega ning luban Kaksik O\u00dc-l minu hinnapakkumisega seoses \u00fchendust v\u00f5tta.',\n        popupGdprLink:   'Privaatsuspoliitika',\n    },\n    en: {\n        brand: 'Kaksik O\u00dc',\n        contentSize:        'Training content volume',\n        durationMin:        'Duration (in minutes)',\n        wordCount:          'Word count',\n        wordCountSub:       '(100 words = ~1 minute)',\n        minutePlaceholder:  'e.g. 10',\n        wordPlaceholder:    'e.g. 500',\n        orDivider:          'OR',\n        complexityLabel:    'Type of material',\n        contentLabel:       'Presentation format(s)',\n        addonsLabel:        'Additional services',\n        languagesLabel:     'Number of languages',\n        calcBtn:            'Calculate price',\n        hintMax15:          'Recommended length is up to 15 minutes',<\/p>\n<p>        basic:          'Simple e-learning material (text, graphics)',\n        medium:         'Interactive e-learning material (text, graphics and additional options below)',\n        videokoolitus:  'Video training',\n        physical_video: 'Video recording of a physical classroom training',<\/p>\n<p>        ai_video:          'AI presenter video',\n        interactiveobject: 'Interactive elements',\n        voiceover:         'Voiceover',<\/p>\n<p>        videotrainingcontentcreation: 'Video training content creation',\n        contentcreation:              'Training base material creation',\n        quizzes:                      'Quiz questions',\n        lms:                          'LMS integration',\n        scorm:                        'SCORM\/xAPI',<\/p>\n<p>        lang1: '1 language', lang2: '2 languages', lang3: '3 languages',\n        lang4: '4 languages', lang5: '5 languages', lang6: '6 languages',<\/p>\n<p>        resultEyebrow:    'Estimated project cost from',\n        resultDisclaimer: 'Preliminary estimate based on data entered (w\/o VAT) \u00b7 book a free consultation for a detailed quote',\n        adjustOptions:    '\u2190 Adjust options',<\/p>\n<p>        roiLabel:       'Cost per employee',\n        roiInputLabel:  'Enter number of employees to train:',\n        roiPlaceholder: 'e.g. 50',\n        roiResult:      (n, cost) => `${n} employees: <strong style=\"color:#081b76; font-size:1.2em; font-weight:700;\">${cost} \u20ac<\/strong>`,\n        pdfRoiLabel:    'Cost per employee',<\/p>\n<p>        emailSectionTitle:  'Send summary by e-mail',\n        projectNameLabel:   'Project name',\n        projectPlaceholder: 'e.g. E-learning project 1',\n        namePlaceholder:    'Your name',\n        emailPlaceholder:   'Your e-mail',\n        gdprText:           'I agree to the processing of my personal data and allow Kaksik O\u00dc to contact me regarding this price estimate.',\n        gdprLink:           'Privacy policy',\n        sendBtn:            'Send summary',\n        calendlyBtn:        'Request a detailed quote \u2192',<\/p>\n<p>        errSelectContent:  'Please select at least one presentation format.',\n        errPhysicalWords:  'For physical classroom video recording, only minutes can be entered.',\n        errNoMinutes:      'Please enter duration in minutes or word count.',\n        errNoPrice:        'Please calculate the price first.',\n        errName:           'Please enter your name.',\n        errEmail:          'Please enter a valid e-mail address.',\n        errGdpr:           'Please accept the data processing terms to send the summary.',\n        errSendFail:       'Sending failed. Please try again.',\n        successMsg:        '\u2713 Summary sent to ',\n        sending:           'Sending...',\n        hintSelectContent: 'Please select at least one format to calculate.',\n        exclusionHint:     'AI video and voiceover cannot be selected at the same time.',\n        exclusionTitleAI:  'Cannot be selected together with AI video',\n        exclusionTitleVO:  'Cannot be selected together with voiceover',<\/p>\n<p>        pdfBrand:       'KAKSIK',\n        pdfSubBrand:    'E-learning solutions for organisations',\n        pdfSummaryLine: 'Estimate summary \u00b7 kaksik.ee',\n        pdfComplexity:  'Type of material',\n        pdfDuration:    'Content volume',\n        pdfLanguages:   'Number of languages',\n        pdfContent:     'Presentation format',\n        pdfAddons:      'Additional services',\n        pdfPriceLabel:  'Estimated project cost from (w\/o VAT):',\n        pdfDisclaimer:  '* Preliminary estimate based on the data entered (w\/o VAT). For a detailed quote, please contact me: stanislav@kaksik.ee.',\n        pdfCTA:         'Book a free consultation: calendly.com\/stanislav-kaksik\/30min',\n        pdfFooter:      'Kaksik O\u00dc \u00b7 kaksik.ee \u00b7 stanislav@kaksik.ee',\n        pdfLangUnit:    (n) => n === 1 ? '1 language' : n + ' languages',\n        pdfMinUnit:     (m) => m + ' min',\n        pdfWordUnit:    (w) => w + ' words',\n        pdfFileSuffix:  'price-estimate',<\/p>\n<p>        emailSubject:   (proj) => 'Your e-learning price estimate \u2013 ' + proj,\n        emailGreeting:  (name) => 'Hello, <strong>' + name + '<\/strong>!',\n        emailIntro:     (proj) => 'Thank you for using our price calculator. Please find attached the estimate summary for project <strong>' + proj + '<\/strong>.',\n        emailPriceLabel:'Estimated project cost from:',\n        emailNote:      'This is a preliminary estimate based on the data you entered. For a detailed quote, book a free consultation:',\n        emailCTA:       'Book a free consultation \u2192',\n        emailSign:      'Kind regards,',\n        emailFooter:    'You received this email because you used kaksik.ee price calculator and agreed to data processing.',<\/p>\n<p>        tt_ai_video:                     'AI-generated trainer presents your content in video format. Realistic trainer without production costs \u2014 available in 60+ languages.',\n        tt_interactiveobject:            'Clickable elements, drag-and-drop tasks, scenario choices and other activities that make the learner active.',\n        tt_voiceover:                    'A professional AI voice presents the content over slides. More affordable than video production. Available in 60+ languages.',\n        tt_videotrainingcontentcreation: 'I write the script and create all video content from scratch.',\n        tt_contentcreation:              'I create the underlying content: text, structure, exercises.',\n        tt_quizzes:                      'Multiple-choice questions to test learner knowledge. Can be added at the end of each topic or as a final assessment.',\n        tt_lms:                          'I upload the finished material to your LMS (e.g. Moodle, TalentLMS, 360Learning, Coursy).',\n        tt_scorm:                        'SCORM\/xAPI lets e-learning communicate with your LMS \u2014 sending results, completion % and time spent.',<\/p>\n<p>        \/\/ \u2500\u2500 POPUP \u2500\u2500\n        popupEyebrow:    'Before you go',\n        popupTitle:      'Let me help you find <em>the right solution<\/em>',\n        popupText:       'Free 30-minute consultation \u2014 describe your training need and I'll give you a clear overview of what fits your needs the best.',\n        popupCalendly:   'Book a free consultation \u2192',\n        popupOr:         'Or send the calculator summary to your e-mail',\n        popupEmailPh:    'Your e-mail',\n        popupSend:       'Send',\n        popupDismiss:    'No thanks',\n        popupSending:    'Sending...',\n        popupSuccess:    '\u2713 Summary sent!',\n        popupErrEmail:   'Please enter a valid e-mail address.',\n        popupErrGdpr:    'Please accept the data processing terms to send the summary.',\n        popupErrNoPrice: 'Please calculate the price in the calculator first.',\n        popupGdprText:   'I agree to the processing of my personal data and allow Kaksik O\u00dc to contact me regarding this price estimate.',\n        popupGdprLink:   'Privacy policy',\n    }\n};<\/p>\n<p>const t = T[LANG];<\/p>\n<p>function tt(label, tipKey) {\n    const tip = t[tipKey] || '';\n    if (!tip) return `<span class=\"kk-label-text\">${label}<\/span>`;\n    return `<span class=\"tt-wrap\"><span class=\"kk-label-text\">${label}<\/span><span class=\"tt-icon\" tabindex=\"0\">?<\/span><span class=\"tt-bubble\">${tip}<\/span><\/span>`;\n}<\/p>\n<p>function ckItem(cls, value, label, tipKey) {\n    return `<label class=\"kk-check-label\" data-value=\"${value}\">\n        <input type=\"checkbox\" class=\"${cls}\" value=\"${value}\">\n        <span class=\"kk-checkmark\"><\/span>\n        ${tt(label, tipKey)}\n    <\/label>`;\n}<\/p>\n<p>\/\/ =============================================================\n\/\/ BUILD FORM HTML\n\/\/ =============================================================\ndocument.getElementById('kk-calc-root').innerHTML = `<\/p>\n<form id=\"elearn-form\">\n<div class=\"kk-body\">\n<div class=\"kk-field-group\">\n      <label class=\"kk-label\">${t.contentSize}<\/label><\/p>\n<div class=\"kk-duration-sublabels\">\n        <span>${t.durationMin}<\/span>\n        <span id=\"words-sublabel\">${t.wordCount} <span style=\"color:#bbb;font-size:10px;\">${t.wordCountSub}<\/span><\/span>\n      <\/div>\n<div class=\"kk-duration-row\">\n<div class=\"kk-input-wrap\" id=\"minutes-wrap\">\n          <input type=\"number\" id=\"minutes\" class=\"kk-input\" placeholder=\"${t.minutePlaceholder}\" min=\"1\">\n        <\/div>\n<div class=\"kk-or-pill\" id=\"or-divider\">${t.orDivider}<\/div>\n<div class=\"kk-input-wrap\" id=\"words-wrap\">\n          <input type=\"number\" id=\"words\" class=\"kk-input\" placeholder=\"${t.wordPlaceholder}\" min=\"1\">\n        <\/div>\n<\/p><\/div>\n<div class=\"kk-err\" id=\"err-minutes\"><\/div>\n<div class=\"kk-err\" id=\"videokoolitus-hint\"><\/div>\n<\/p><\/div>\n<div class=\"kk-field-group\">\n      <label class=\"kk-label\">${t.complexityLabel}<\/label>\n      <select id=\"complexity\" class=\"kk-select\"><option value=\"basic\">${t.basic}<\/option><option value=\"medium\">${t.medium}<\/option><option value=\"videokoolitus\">${t.videokoolitus}<\/option><option value=\"physical_video\">${t.physical_video}<\/option><\/select>\n    <\/div>\n<div class=\"kk-field-group\" id=\"content-block\">\n      <label class=\"kk-label\">${t.contentLabel}<\/label><\/p>\n<div class=\"kk-checks\" id=\"content-checks\">\n        ${ckItem('content', 'ai_video', t.ai_video, 'tt_ai_video')}\n        ${ckItem('content', 'interactiveobject', t.interactiveobject, 'tt_interactiveobject')}\n        ${ckItem('content', 'voiceover', t.voiceover, 'tt_voiceover')}\n      <\/div>\n<div class=\"kk-err\" id=\"err-content\"><\/div>\n<\/p><\/div>\n<div class=\"kk-field-group\" id=\"addons-block\">\n      <label class=\"kk-label\">${t.addonsLabel}<\/label><\/p>\n<div class=\"kk-checks\" id=\"addon-checks\">\n        ${ckItem('addon', 'videotrainingcontentcreation', t.videotrainingcontentcreation, 'tt_videotrainingcontentcreation')}\n        ${ckItem('addon', 'contentcreation', t.contentcreation, 'tt_contentcreation')}\n        ${ckItem('addon', 'quizzes', t.quizzes, 'tt_quizzes')}\n        ${ckItem('addon', 'lms', t.lms, 'tt_lms')}\n        ${ckItem('addon', 'scorm', t.scorm, 'tt_scorm')}\n      <\/div>\n<\/p><\/div>\n<div class=\"kk-field-group\" id=\"languages-wrap\">\n      <label class=\"kk-label\">${t.languagesLabel}<\/label>\n      <select id=\"languages\" class=\"kk-select\"><option value=\"1\">${t.lang1}<\/option><option value=\"2\">${t.lang2}<\/option><option value=\"3\">${t.lang3}<\/option><option value=\"4\">${t.lang4}<\/option><option value=\"5\">${t.lang5}<\/option><option value=\"6\">${t.lang6}<\/option><\/select>\n    <\/div>\n<p>    <button type=\"button\" id=\"calc-btn\" class=\"kk-calc-btn\">\n      ${t.calcBtn} <span class=\"arrow\">\u2192<\/span>\n    <\/button><\/p><\/div>\n<\/p><\/form>\n<div class=\"kk-result\" id=\"result\">\n<div class=\"kk-result-header\">\n<div class=\"kk-result-eyebrow\">${t.resultEyebrow}<\/div>\n<div class=\"kk-result-price\"><span id=\"price-num\">0<\/span><span>\u20ac<\/span><\/div>\n<div class=\"kk-result-disclaimer\">${t.resultDisclaimer}<\/div>\n<p>      <button class=\"kk-result-adjust\" id=\"adjust-btn\">${t.adjustOptions}<\/button>\n    <\/div>\n<div class=\"kk-roi\">\n      <span class=\"kk-roi-label\">${t.roiLabel}<\/span><\/p>\n<div class=\"kk-roi-row\" id=\"roi-row\">\n        <span class=\"kk-roi-text\">${t.roiInputLabel}<\/span>\n        <input type=\"number\" id=\"roi-employees\" class=\"kk-roi-input\" placeholder=\"${t.roiPlaceholder}\" min=\"1\">\n      <\/div>\n<div class=\"kk-roi-result\" id=\"roi-result\"><\/div>\n<\/p><\/div>\n<div class=\"kk-email-section\">\n<div class=\"kk-section-title\">${t.emailSectionTitle}<\/div>\n<p>      <input type=\"text\" id=\"email-name\" class=\"kk-input\" placeholder=\"${t.namePlaceholder}\">\n      <input type=\"email\" id=\"email-address\" class=\"kk-input\" placeholder=\"${t.emailPlaceholder}\"><\/p>\n<div class=\"kk-label\" style=\"margin-top:4px; margin-bottom:6px;\">${t.projectNameLabel}<\/div>\n<p>      <input type=\"text\" id=\"project-name\" class=\"kk-input\" placeholder=\"${t.projectPlaceholder}\">\n      <label class=\"kk-gdpr\">\n        <input type=\"checkbox\" id=\"gdpr-check\">\n        <span>${t.gdprText} <a href=\"https:\/\/kaksik.ee\/privaatsuspoliitika\" target=\"_blank\">${t.gdprLink}<\/a><\/span>\n      <\/label><\/p>\n<div class=\"kk-err\" id=\"email-error\"><\/div>\n<p>      <button type=\"button\" id=\"email-btn\" class=\"kk-send-btn\">${t.sendBtn}<\/button><\/p>\n<div class=\"kk-success\" id=\"email-success\"><\/div>\n<\/p><\/div>\n<div class=\"kk-footer-cta\">\n      <button type=\"button\" id=\"calendly-btn\" class=\"kk-calendly-btn\">${t.calendlyBtn}<\/button>\n    <\/div>\n<\/p><\/div>\n<p>`;<\/p>\n<p>\/\/ =============================================================\n\/\/ BUILD POPUP HTML\n\/\/ =============================================================\ndocument.getElementById('kk-popup').innerHTML = `<\/p>\n<div class=\"kk-popup-header\">\n    <button class=\"kk-popup-close\" id=\"popup-close\" aria-label=\"Sulge\">\u00d7<\/button><\/p>\n<div class=\"kk-popup-eyebrow\">${t.popupEyebrow}<\/div>\n<h2 class=\"kk-popup-title\">${t.popupTitle}<\/h2>\n<\/p><\/div>\n<div class=\"kk-popup-body\">\n<p class=\"kk-popup-text\">${t.popupText}<\/p>\n<p>    <button type=\"button\" id=\"popup-calendly\" class=\"kk-popup-calendly\">${t.popupCalendly}<\/button><\/p>\n<div class=\"kk-popup-divider\">${t.popupOr}<\/div>\n<div class=\"kk-popup-email-row\">\n      <input type=\"email\" id=\"popup-email\" class=\"kk-input\" placeholder=\"${t.popupEmailPh}\">\n      <button type=\"button\" id=\"popup-send\" class=\"kk-popup-send\">${t.popupSend}<\/button>\n    <\/div>\n<p>    <label class=\"kk-popup-gdpr\">\n      <input type=\"checkbox\" id=\"popup-gdpr-check\">\n      <span>${t.popupGdprText} <a href=\"https:\/\/kaksik.ee\/privaatsuspoliitika\" target=\"_blank\">${t.popupGdprLink}<\/a><\/span>\n    <\/label><\/p>\n<div class=\"kk-popup-err\" id=\"popup-err\"><\/div>\n<div class=\"kk-popup-success\" id=\"popup-success\"><\/div>\n<p>    <button type=\"button\" class=\"kk-popup-dismiss\" id=\"popup-dismiss\">${t.popupDismiss}<\/button>\n  <\/div>\n<p>`;<\/p>\n<p>\/\/ =============================================================\n\/\/ STATE & DOM REFS\n\/\/ =============================================================\nlet lastResult    = null;\nlet userConverted = false;\nlet inactivityTimer = null;<\/p>\n<p>const complexitySelect     = document.getElementById(\"complexity\");\nconst contentBlock         = document.getElementById(\"content-block\");\nconst addonsBlock          = document.getElementById(\"addons-block\");\nconst languagesWrap        = document.getElementById(\"languages-wrap\");\nconst minutesInput         = document.getElementById(\"minutes\");\nconst wordsInput           = document.getElementById(\"words\");\nconst wordsWrap            = document.getElementById(\"words-wrap\");\nconst hintEl               = document.getElementById(\"videokoolitus-hint\");\nconst contentExclusionHint = document.getElementById(\"err-content\");\nconst errMinutes           = document.getElementById(\"err-minutes\");\nconst overlay              = document.getElementById(\"kk-popup-overlay\");<\/p>\n<p>const videokoolitusPrices = { 1:600,2:900,3:1200,4:1500,5:1800,6:2050,7:2300,8:2550,9:2800,10:3000,11:3200,12:3400,13:3600,14:3800,15:4000 };<\/p>\n<p>\/\/ ROI\ndocument.getElementById(\"roi-employees\").addEventListener(\"input\", () => {\n    if (!lastResult) return;\n    const el = document.getElementById(\"roi-result\");\n    const n  = parseInt(document.getElementById(\"roi-employees\").value);\n    if (!n || n <= 0) { el.style.display = \"none\"; return; }\n    el.innerHTML = t.roiResult(n, Math.ceil(lastResult.price \/ n));\n    el.style.display = \"block\";\n});\n\n\/\/ Adjust\ndocument.getElementById(\"adjust-btn\").addEventListener(\"click\", () => {\n    document.getElementById(\"elearn-form\").scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n});<\/p>\n<p>\/\/ =============================================================\n\/\/ POPUP \u2014 SHOW \/ HIDE\n\/\/ =============================================================\nfunction showPopup() {\n    if (userConverted || sessionStorage.getItem('kk_popup_seen')) return;\n    if (!lastResult) return;\n    sessionStorage.setItem('kk_popup_seen', '1');\n    overlay.style.display = 'flex';\n    overlay.classList.add('kk-visible');\n}<\/p>\n<p>function hidePopup() {\n    overlay.style.display = 'none';\n}<\/p>\n<p>\/\/ Trigger 1: exit intent\ndocument.addEventListener('mouseleave', (e) => { if (e.clientY <= 20) showPopup(); });\n\n\/\/ Trigger 2: inactivity\nfunction startInactivityTimer() {\n    clearTimeout(inactivityTimer);\n    inactivityTimer = setTimeout(showPopup, 50000);\n}\n\n\/\/ Dismiss handlers\ndocument.getElementById(\"popup-close\").addEventListener(\"click\", hidePopup);\ndocument.getElementById(\"popup-dismiss\").addEventListener(\"click\", hidePopup);\noverlay.addEventListener(\"click\", (e) => { if (e.target === overlay) hidePopup(); });\ndocument.addEventListener(\"keydown\", (e) => { if (e.key === \"Escape\") hidePopup(); });<\/p>\n<p>\/\/ Popup Calendly\ndocument.getElementById(\"popup-calendly\").addEventListener(\"click\", () => {\n    userConverted = true;\n    hidePopup();\n    window.open(\"https:\/\/calendly.com\/stanislav-kaksik\/30min\", \"_blank\");\n});<\/p>\n<p>\/\/ Popup quick email send \u2014 includes GDPR check\ndocument.getElementById(\"popup-send\").addEventListener(\"click\", function () {\n    const errEl  = document.getElementById(\"popup-err\");\n    const succEl = document.getElementById(\"popup-success\");\n    errEl.style.display = succEl.style.display = \"none\";<\/p>\n<p>    const email = document.getElementById(\"popup-email\").value.trim();\n    const gdpr  = document.getElementById(\"popup-gdpr-check\").checked;<\/p>\n<p>    if (!email || !\/^[^s@]+@[^s@]+.[^s@]+$\/.test(email)) {\n        errEl.innerHTML = t.popupErrEmail; errEl.style.display = \"block\"; return;\n    }\n    if (!gdpr) {\n        errEl.innerHTML = t.popupErrGdpr; errEl.style.display = \"block\"; return;\n    }\n    if (!lastResult) {\n        errEl.innerHTML = t.popupErrNoPrice; errEl.style.display = \"block\"; return;\n    }<\/p>\n<p>    const btn = this;\n    btn.disabled = true; btn.textContent = t.popupSending;<\/p>\n<p>    const pdfB64      = generatePDF().output(\"datauristring\").split(\",\")[1];\n    const projectName = document.getElementById(\"project-name\").value.trim() || (LANG === 'en' ? 'E-learning project' : 'E-\u00f5ppe projekt');<\/p>\n<p>    fetch(\"\/wp-content\/themes\/twentytwentythree\/elearning-send-email.php\", {\n        method: \"POST\", headers: { \"Content-Type\": \"application\/json\" },\n        body: JSON.stringify({ name: email, email, project_name: projectName, price: lastResult.price, pdf_base64: pdfB64, lang: LANG })\n    })\n    .then(r => r.json())\n    .then(res => {\n        btn.disabled = false; btn.textContent = t.popupSend;\n        if (res.success) {\n            succEl.innerHTML = t.popupSuccess; succEl.style.display = \"block\";\n            userConverted = true;\n            setTimeout(hidePopup, 2000);\n        } else {\n            errEl.innerHTML = t.errSendFail; errEl.style.display = \"block\";\n        }\n    })\n    .catch(() => {\n        btn.disabled = false; btn.textContent = t.popupSend;\n        errEl.innerHTML = t.errSendFail; errEl.style.display = \"block\";\n    });\n});<\/p>\n<p>\/\/ =============================================================\n\/\/ MUTUAL EXCLUSION: AI video \u2194 voiceover\n\/\/ =============================================================\nfunction handleContentMutualExclusion(changed) {\n    const aiVideo   = document.querySelector('.content[value=\"ai_video\"]');\n    const voiceover = document.querySelector('.content[value=\"voiceover\"]');\n    if (!aiVideo || !voiceover) return;<\/p>\n<p>    [aiVideo, voiceover].forEach(el => {\n        el.disabled = false; el.closest('.kk-check-label')?.classList.remove('disabled');\n    });\n    if (contentExclusionHint.innerHTML === t.exclusionHint) {\n        contentExclusionHint.style.display = \"none\"; contentExclusionHint.innerHTML = \"\";\n    }<\/p>\n<p>    if (changed === aiVideo && aiVideo.checked) {\n        voiceover.checked = false; voiceover.disabled = true;\n        voiceover.closest('.kk-check-label')?.classList.add('disabled');\n        contentExclusionHint.innerHTML = t.exclusionHint; contentExclusionHint.style.display = \"block\";\n    } else if (changed === voiceover && voiceover.checked) {\n        aiVideo.checked = false; aiVideo.disabled = true;\n        aiVideo.closest('.kk-check-label')?.classList.add('disabled');\n        contentExclusionHint.innerHTML = t.exclusionHint; contentExclusionHint.style.display = \"block\";\n    }\n    updateCalcButtonState();\n}<\/p>\n<p>function resetContentExclusionState() {\n    document.querySelectorAll('.content').forEach(el => {\n        el.disabled = false; el.closest('.kk-check-label')?.classList.remove('disabled');\n    });\n    contentExclusionHint.style.display = \"none\"; contentExclusionHint.innerHTML = \"\";\n}<\/p>\n<p>\/\/ =============================================================\n\/\/ CALC BUTTON STATE\n\/\/ =============================================================\nfunction updateCalcButtonState() {\n    const level    = complexitySelect.value;\n    const btn      = document.getElementById(\"calc-btn\");\n    const selected = document.querySelectorAll(\".content:checked\").length;\n    const hint     = document.getElementById(\"err-content\");<\/p>\n<p>    if (level === \"medium\" && selected === 0) {\n        btn.style.opacity = \"0.55\"; btn.style.cursor = \"not-allowed\";\n        if (!hint.innerHTML || hint.innerHTML === t.hintSelectContent) {\n            hint.innerHTML = t.hintSelectContent; hint.style.display = \"block\"; hint.style.color = \"#888\";\n        }\n    } else {\n        btn.style.opacity = \"1\"; btn.style.cursor = \"pointer\";\n        if (hint.innerHTML === t.hintSelectContent) { hint.style.display = \"none\"; hint.innerHTML = \"\"; }\n    }\n}<\/p>\n<p>\/\/ =============================================================\n\/\/ UPDATE UI\n\/\/ =============================================================\nfunction updateUI() {\n    const level = complexitySelect.value;\n    contentBlock.style.display = addonsBlock.style.display = languagesWrap.style.display = \"block\";<\/p>\n<p>    document.querySelectorAll(\".content\").forEach(c => { c.checked = false; c.closest('.kk-check-label').style.display = \"none\"; });\n    document.querySelectorAll(\".addon\").forEach(a  => { a.checked = false; a.disabled = false; a.closest('.kk-check-label').style.display = \"none\"; });<\/p>\n<p>    resetContentExclusionState();\n    errMinutes.style.display = \"none\"; errMinutes.innerHTML = \"\";<\/p>\n<p>    if (level === \"basic\") {\n        contentBlock.style.display = \"none\";\n        [\"contentcreation\",\"quizzes\",\"lms\",\"scorm\"].forEach(v =>\n            document.querySelector(`.addon[value=\"${v}\"]`)?.closest('.kk-check-label')?.style.setProperty('display','inline-flex'));\n    }\n    if (level === \"medium\") {\n        [\"ai_video\",\"interactiveobject\",\"voiceover\"].forEach(v =>\n            document.querySelector(`.content[value=\"${v}\"]`)?.closest('.kk-check-label')?.style.setProperty('display','inline-flex'));\n        [\"contentcreation\",\"quizzes\",\"lms\",\"scorm\"].forEach(v =>\n            document.querySelector(`.addon[value=\"${v}\"]`)?.closest('.kk-check-label')?.style.setProperty('display','inline-flex'));\n    }\n    if (level === \"videokoolitus\") {\n        contentBlock.style.display = \"none\";\n        [\"videotrainingcontentcreation\",\"quizzes\",\"lms\",\"scorm\"].forEach(v =>\n            document.querySelector(`.addon[value=\"${v}\"]`)?.closest('.kk-check-label')?.style.setProperty('display','inline-flex'));\n    }\n    if (level === \"physical_video\") {\n        contentBlock.style.display = addonsBlock.style.display = languagesWrap.style.display = \"none\";\n        wordsInput.value = \"\"; wordsWrap.style.display = \"none\";\n        document.getElementById(\"or-divider\").style.display = \"none\";\n        document.getElementById(\"words-sublabel\").style.display = \"none\";\n        minutesInput.style.borderRadius = \"8px\"; minutesInput.style.borderRight = \"1.5px solid #e0dbd4\";\n    } else {\n        wordsWrap.style.display = \"block\";\n        document.getElementById(\"or-divider\").style.display = \"flex\";\n        document.getElementById(\"words-sublabel\").style.display = \"block\";\n        minutesInput.style.borderRadius = \"8px 0 0 8px\"; minutesInput.style.borderRight = \"none\";\n    }\n    updateVideokoolitusHint();\n    updateCalcButtonState();\n}<\/p>\n<p>updateUI();\ncomplexitySelect.addEventListener(\"change\", updateUI);\ndocument.querySelectorAll(\".content\").forEach(c =>\n    c.addEventListener(\"change\", () => { handleContentMutualExclusion(c); updateCalcButtonState(); }));\nminutesInput.addEventListener(\"input\", () => {\n    if (minutesInput.value.trim()) wordsInput.value = \"\";\n    errMinutes.style.display = \"none\"; updateVideokoolitusHint();\n});\nwordsInput.addEventListener(\"input\", () => {\n    if (wordsInput.value.trim()) minutesInput.value = \"\";\n    errMinutes.style.display = \"none\"; updateVideokoolitusHint();\n});<\/p>\n<p>function updateVideokoolitusHint() {\n    const level = complexitySelect.value;\n    if (level !== \"videokoolitus\") { hintEl.style.display = \"none\"; return; }\n    let m = parseFloat(minutesInput.value) || parseFloat(wordsInput.value) \/ 100;\n    if (!m || m <= 0) { hintEl.style.display = \"none\"; return; }\n    if (!videokoolitusPrices[Math.ceil(m)]) { hintEl.innerHTML = t.hintMax15; hintEl.style.display = \"block\"; }\n    else { hintEl.style.display = \"none\"; }\n}\n\ndocument.querySelectorAll(\".addon\").forEach(a => a.addEventListener(\"change\", updateVideokoolitusHint));\ndocument.getElementById(\"languages\").addEventListener(\"change\", updateVideokoolitusHint);<\/p>\n<p>\/\/ =============================================================\n\/\/ CALCULATE\n\/\/ =============================================================\ndocument.getElementById(\"calc-btn\").addEventListener(\"click\", function () {\n    const level = complexitySelect.value;\n    const selectedContent = Array.from(document.querySelectorAll(\".content:checked\")).map(x => x.value);\n    let hasError = false;<\/p>\n<p>    if (!minutesInput.value.trim() && !wordsInput.value.trim()) {\n        errMinutes.innerHTML = t.errNoMinutes; errMinutes.style.display = \"block\"; hasError = true;\n    }\n    if (level === \"medium\" && selectedContent.length === 0) {\n        contentExclusionHint.innerHTML = t.errSelectContent;\n        contentExclusionHint.style.color = \"#c0254f\"; contentExclusionHint.style.display = \"block\"; hasError = true;\n    }\n    if (level === \"physical_video\" && wordsInput.value.trim()) {\n        errMinutes.innerHTML = t.errPhysicalWords; errMinutes.style.display = \"block\"; hasError = true;\n    }\n    if (hasError) return;<\/p>\n<p>    const data = {\n        minutes: minutesInput.value, words: wordsInput.value, complexity: level,\n        content: selectedContent,\n        addons:  Array.from(document.querySelectorAll(\".addon:checked\")).map(x => x.value),\n        languages: document.getElementById(\"languages\").value, lang: LANG\n    };<\/p>\n<p>    fetch(\"\/wp-content\/themes\/twentytwentythree\/elearning-calc.php\", {\n        method: \"POST\", headers: { \"Content-Type\": \"application\/json\" }, body: JSON.stringify(data)\n    })\n    .then(r => r.json())\n    .then(res => {\n        if (res.error) { errMinutes.innerHTML = res.error; errMinutes.style.display = \"block\"; return; }\n        document.getElementById(\"price-num\").textContent = res.low.toLocaleString();\n      \/\/ GA4 event: calculator completed\nif (typeof gtag === 'function') {\n    gtag('event', 'calculator_completed', {\n        event_category: 'engagement',\n        event_label: data.complexity,\n        value: res.low,\n        currency: 'EUR',\n        languages: data.languages,\n        lang: LANG\n    });\n}\n        const resultEl = document.getElementById(\"result\");\n        resultEl.style.display = \"block\";\n        resultEl.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n        document.getElementById(\"roi-employees\").value = \"\";\n        document.getElementById(\"roi-result\").style.display = \"none\";\n        lastResult = {\n            price: res.low, minutes: data.minutes, words: data.words,\n            complexity: data.complexity, content: data.content,\n            addons: data.addons, languages: data.languages,\n            date: new Date().toLocaleDateString(LANG === 'en' ? 'en-GB' : 'et-EE')\n        };\n        startInactivityTimer();\n    });\n});<\/p>\n<p>\/\/ =============================================================\n\/\/ PDF\n\/\/ =============================================================\nfunction generatePDF() {\n    const { jsPDF } = window.jspdf;\n    const doc = new jsPDF({ unit: \"mm\", format: \"a4\" });\n    const W = 210, margin = 18;\n    const navy=[8,27,118], pink=[216,22,95], lightGray=[245,247,250], darkGray=[60,60,70];<\/p>\n<p>    const projectName = document.getElementById(\"project-name\").value.trim() || (LANG==='en'?'E-learning project':'E-\u00f5ppe projekt');\n    const r = lastResult;\n    const langTxt     = t.pdfLangUnit(parseInt(r.languages));\n    const durationTxt = r.minutes ? t.pdfMinUnit(r.minutes) : (r.words ? t.pdfWordUnit(r.words) : '\u2014');<\/p>\n<p>    doc.setFillColor(...navy); doc.rect(0,0,W,38,\"F\");\n    doc.setFont(\"helvetica\",\"bold\"); doc.setFontSize(22); doc.setTextColor(255,255,255);\n    doc.text(t.pdfBrand, margin, 18);\n    doc.setFont(\"helvetica\",\"normal\"); doc.setFontSize(9); doc.setTextColor(180,200,255);\n    doc.text(t.pdfSubBrand, margin, 25);\n    doc.setFontSize(8); doc.text(r.date, W-margin, 18, {align:\"right\"});<\/p>\n<p>    doc.setFillColor(...pink); doc.rect(0,38,W,3,\"F\");\n    doc.setFont(\"helvetica\",\"bold\"); doc.setFontSize(17); doc.setTextColor(...navy);\n    doc.text(projectName, margin, 58);\n    doc.setFont(\"helvetica\",\"normal\"); doc.setFontSize(10); doc.setTextColor(...darkGray);\n    doc.text(t.pdfSummaryLine, margin, 66);\n    doc.setDrawColor(...pink); doc.setLineWidth(0.5); doc.line(margin,71,W-margin,71);<\/p>\n<p>    let y=82; const col2=90, rowH=10; let rowShade=false;\n    function drawRow(label, value) {\n        if (rowShade) { doc.setFillColor(...lightGray); doc.rect(margin-2,y-6,W-(margin-2)*2,rowH,\"F\"); }\n        doc.setFont(\"helvetica\",\"bold\"); doc.setFontSize(9); doc.setTextColor(...navy); doc.text(label,margin,y);\n        doc.setFont(\"helvetica\",\"normal\"); doc.setTextColor(...darkGray); doc.text(value||\"\u2014\",col2,y);\n        y+=rowH; rowShade=!rowShade;\n    }<\/p>\n<p>    drawRow(t.pdfComplexity, t[r.complexity]||r.complexity);\n    drawRow(t.pdfDuration, durationTxt);\n    drawRow(t.pdfLanguages, langTxt);\n    if (r.content.length>0) drawRow(t.pdfContent, r.content.map(c=>t[c]||c).join(\", \"));\n    if (r.addons.length>0)  drawRow(t.pdfAddons,  r.addons.map(a=>t[a]||a).join(\", \"));<\/p>\n<p>    const empVal = parseInt(document.getElementById(\"roi-employees\").value);\n    if (empVal>0) drawRow(t.pdfRoiLabel, Math.ceil(r.price\/empVal)+\" \u20ac \/ \"+(LANG==='en'?'employee':'t\u00f6\u00f6taja')+\" (\"+empVal+\")\");<\/p>\n<p>    y+=4;\n    doc.setFillColor(...navy); doc.roundedRect(margin-2,y,W-(margin-2)*2,28,4,4,\"F\");\n    doc.setFont(\"helvetica\",\"normal\"); doc.setFontSize(10); doc.setTextColor(180,200,255);\n    doc.text(t.pdfPriceLabel, margin+4, y+10);\n    doc.setFont(\"helvetica\",\"bold\"); doc.setFontSize(26); doc.setTextColor(255,255,255);\n    doc.text(r.price+\" \u20ac\", margin+4, y+23);\n    y+=40;<\/p>\n<p>    doc.setFont(\"helvetica\",\"italic\"); doc.setFontSize(8); doc.setTextColor(140,140,150);\n    const lines = doc.splitTextToSize(t.pdfDisclaimer, W-margin*2);\n    doc.text(lines, margin, y); y+=lines.length*5+10;<\/p>\n<p>    doc.setFillColor(...pink); doc.roundedRect(margin-2,y,W-(margin-2)*2,14,3,3,\"F\");\n    doc.setFont(\"helvetica\",\"bold\"); doc.setFontSize(9); doc.setTextColor(255,255,255);\n    doc.text(t.pdfCTA, W\/2, y+9, {align:\"center\"}); y+=24;<\/p>\n<p>    doc.setDrawColor(220,220,230); doc.setLineWidth(0.3); doc.line(margin,y,W-margin,y); y+=6;\n    doc.setFont(\"helvetica\",\"normal\"); doc.setFontSize(8); doc.setTextColor(160,160,170);\n    doc.text(t.pdfFooter, W\/2, y, {align:\"center\"});\n    return doc;\n}<\/p>\n<p>\/\/ =============================================================\n\/\/ EMAIL\n\/\/ =============================================================\ndocument.getElementById(\"email-btn\").addEventListener(\"click\", function () {\n    const errEl  = document.getElementById(\"email-error\");\n    const succEl = document.getElementById(\"email-success\");\n    errEl.style.display = succEl.style.display = \"none\";<\/p>\n<p>    if (!lastResult) { errEl.innerHTML = t.errNoPrice; errEl.style.display = \"block\"; return; }<\/p>\n<p>    const name  = document.getElementById(\"email-name\").value.trim();\n    const email = document.getElementById(\"email-address\").value.trim();\n    const gdpr  = document.getElementById(\"gdpr-check\").checked;<\/p>\n<p>    if (!name)  { errEl.innerHTML = t.errName;  errEl.style.display = \"block\"; return; }\n    if (!email || !\/^[^s@]+@[^s@]+.[^s@]+$\/.test(email)) { errEl.innerHTML = t.errEmail; errEl.style.display = \"block\"; return; }\n    if (!gdpr)  { errEl.innerHTML = t.errGdpr;  errEl.style.display = \"block\"; return; }<\/p>\n<p>    const pdfB64      = generatePDF().output(\"datauristring\").split(\",\")[1];\n    const projectName = document.getElementById(\"project-name\").value.trim() || (LANG==='en'?'E-learning project':'E-\u00f5ppe projekt');\n    const btn         = document.getElementById(\"email-btn\");\n    btn.disabled = true; btn.textContent = t.sending;<\/p>\n<p>    fetch(\"\/wp-content\/themes\/twentytwentythree\/elearning-send-email.php\", {\n        method: \"POST\", headers: { \"Content-Type\": \"application\/json\" },\n        body: JSON.stringify({ name, email, project_name: projectName, price: lastResult.price, pdf_base64: pdfB64, lang: LANG })\n    })\n    .then(r => r.json())\n    .then(res => {\n        btn.disabled = false; btn.textContent = t.sendBtn;\n        if (res.success) {\n            succEl.innerHTML = t.successMsg + email; succEl.style.display = \"block\";\n            userConverted = true;\n          \/\/ GA4 event: lead captured\nif (typeof gtag === 'function') {\n    gtag('event', 'lead_email_captured', {\n        event_category: 'conversion',\n        event_label: 'calculator_email',\n        value: lastResult.price,\n        currency: 'EUR'\n    });\n}\n        } else { errEl.innerHTML = res.error || t.errSendFail; errEl.style.display = \"block\"; }\n    })\n    .catch(() => { btn.disabled = false; btn.textContent = t.sendBtn; errEl.innerHTML = t.errSendFail; errEl.style.display = \"block\"; });\n});<\/p>\n<p>\/\/ =============================================================\n\/\/ CALENDLY\n\/\/ =============================================================\ndocument.getElementById(\"calendly-btn\").addEventListener(\"click\", () => {\n    userConverted = true;\n    window.open(\"https:\/\/calendly.com\/stanislav-kaksik\/30min\", \"_blank\");\n});\n<\/script><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-lfbq0y brz-wrapper\">\n<div class=\"brz-embed-code brz-css-d-embedcode brz-css-pnkfch\" data-brz-custom-id=\"fekhSnvbfANM\">\n<div class=\"brz-embed-content\">\n<div><center><\/p>\n<div style=\"display:inline-flex; align-items:center; gap:8px; background:#eef3ff; border:1px solid #c7d7f9; border-radius:8px; padding:8px 14px; font-family:system-ui,sans-serif;\">\n  <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"flex-shrink:0;\">\n    <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"#081b76\" stroke-width=\"1.5\"><\/circle>\n    <line x1=\"8\" y1=\"4\" x2=\"8\" y2=\"8.5\" stroke=\"#081b76\" stroke-width=\"1.5\" stroke-linecap=\"round\"><\/line>\n    <line x1=\"8\" y1=\"8.5\" x2=\"10.5\" y2=\"10.5\" stroke=\"#081b76\" stroke-width=\"1.5\" stroke-linecap=\"round\"><\/line>\n  <\/svg><br \/>\n  <span style=\"font-size:13px; font-weight:600; color:#0c447c;\">T\u00fc\u00fcpiline tarneaeg:<\/span><br \/>\n  <span style=\"font-size:13px; font-weight:700; color:#081b76;\">2\u20133 n\u00e4dalat<\/span>\n<\/div>\n<div style=\"display:inline-flex; align-items:center; gap:8px; background:#eef3ff; border:1px solid #c7d7f9; border-radius:8px; padding:8px 14px; font-family:system-ui,sans-serif;\">\n  <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"flex-shrink:0;\">\n    <path d=\"M8 1.5 L13.5 4 L13.5 8 C13.5 11 11 13.5 8 14.5 C5 13.5 2.5 11 2.5 8 L2.5 4 Z\" stroke=\"#081b76\" stroke-width=\"1.5\" stroke-linejoin=\"round\"><\/path>\n    <polyline points=\"5.5,8 7.5,10 10.5,6\" stroke=\"#081b76\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/polyline>\n  <\/svg><br \/>\n  <span style=\"font-size:13px; font-weight:700; color:#081b76;\">Konfidentsiaalsus tagatud<\/span>\n<\/div>\n<p><\/center><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"df9dBbeXDU1x_df9dBbeXDU1x\" class=\"brz-section brz-css-d-section brz-css-pcj8ze\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-voznf0\" data-brz-custom-id=\"juWPuGHMHzVf\">\n<div class=\"brz-bg\">\n<div class=\"brz-bg-color\"><\/div>\n<\/div>\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-4gbma0\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-ocz8y2 brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-a00rbn\" data-brz-custom-id=\"sDX6tfbnhNyD\">\n<div data-brz-translate-text=\"1\">\n<h2 class=\"brz-text-lg-center brz-tp-lg-heading2 brz-css-deBa9\" data-generated-css=\"brz-css-fueOq\" data-uniq-id=\"uZnKA\">E-\u00f5ppematerjali esitamise variandid<\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-4fapsm brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-kueieg\"><\/div>\n<\/div>\n<div class=\"brz-row__container brz-css-d-row-row brz-css-asr7js\" data-brz-custom-id=\"wUiwVkYnoyAN\">\n<div class=\"brz-row brz-css-d-row-container brz-css-r-row-container brz-css-4g763s\">\n<div class=\"brz-columns brz-css-d-column-column brz-css-11wpx94\" data-brz-custom-id=\"gqqYCLYVZTB4\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1aijrwm\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-4gr33q brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-c0onu89_gtrh-parent brz-css-1p8qqef\" data-brz-custom-id=\"c0onU89_GTRH\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-c0onu89_gtrh-picture brz-css-ny52mf\"><img decoding=\"async\" class=\"brz-img brz-img-svg\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/lihtne_e-oppematerjal_kaksik.ee_2.gif\" loading=\"lazy\" alt=\"E-\u00f5ppematerjali loomise hind | Kaksik O\u00dc\" title=\"lihtne_e-o\u0303ppematerjal_kaksik.ee_2\" draggable=\"false\"><\/picture><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-r0ha20\" data-brz-custom-id=\"t6lzO3dhEKQt\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-y2bh1r\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-la9td4 brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-13i6i1u\" data-brz-custom-id=\"s1_B0Fumi_Hi\">\n<div data-brz-translate-text=\"1\">\n<p data-uniq-id=\"omuyg\" class=\"brz-bcp-color2 brz-tp-lg-heading3 brz-css-xjqim\" data-generated-css=\"brz-css-mECDa\"><span class=\"brz-cp-color2\">Lihtne e-\u00f5ppematerjal<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-zrxfqz brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-fdkmkp\" data-brz-custom-id=\"kL2vDl4DA0oi\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-paragraph brz-css-xHX2T\" data-uniq-id=\"vI3Wl\" data-generated-css=\"brz-css-hPTrV\"><span class=\"brz-cp-color7\">N\u00e4ide: SCORM paketina tehtud lihtne e-\u00f5ppematerjal animeeritud presentatsiooni vormis koos men\u00fc\u00fcribaga.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-1s1ftop brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-tdl8s5\"><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-fs0d1v brz-wrapper\">\n<div class=\"brz-icon-text brz-css-d-icontext brz-css-cnlv5s\" data-brz-custom-id=\"x3leeShMeRyc\">\n<div class=\"brz-icon__container\" data-brz-custom-id=\"kvLvi6kVDmy8\"><span class=\"brz-icon brz-span brz-css-d-icon-icon brz-css-1q94mmx\"><svg class=\"brz-icon-svg align-[initial]\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/outline\/caps-small.svg#nc_icon\"><\/use><\/svg><\/span><\/div>\n<div class=\"brz-text-btn\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-hqctyf\" data-brz-custom-id=\"cqdrIS94ZD0Q\">\n<div data-brz-translate-text=\"1\">\n<h5 class=\"brz-tp-lg-heading5 brz-mb-lg-10 brz-mt-lg-15 brz-css-ma6sf\" data-uniq-id=\"bz2aP\" data-generated-css=\"brz-css-zoSki\"><span class=\"brz-cp-color2\">Tekst, graafika<\/span><\/h5>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-1ld9640 brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-c495p8\"><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-ftd2b1 brz-wrapper\">\n<div class=\"brz-icon-text brz-css-d-icontext brz-css-1klv0i9\" data-brz-custom-id=\"icIJRkDXOMGx\">\n<div class=\"brz-icon__container\" data-brz-custom-id=\"iqKUX3CS5Ztt\"><span class=\"brz-icon brz-span brz-css-d-icon-icon brz-css-5sbxbd\"><svg class=\"brz-icon-svg align-[initial]\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/outline\/cart-simple-add.svg#nc_icon\"><\/use><\/svg><\/span><\/div>\n<div class=\"brz-text-btn\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-19jfc3q\" data-brz-custom-id=\"fzbUQ1XTeeWl\">\n<div data-brz-translate-text=\"1\">\n<h5 class=\"brz-tp-lg-heading5 brz-mb-lg-10 brz-mt-lg-15 brz-css-pJTUD\" data-uniq-id=\"sWjcl\" data-generated-css=\"brz-css-muFnG\"><span class=\"brz-cp-color2\">Valikuliselt: testk\u00fcsimused<\/span><\/h5>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"cksQ6L6m_Rzu_cksQ6L6m_Rzu\" class=\"brz-section brz-css-d-section brz-css-enoony\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-1g9pb01\" data-brz-custom-id=\"xO5zCFxYDABJ\">\n<div class=\"brz-bg\">\n<div class=\"brz-bg-color\"><\/div>\n<\/div>\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-1rg3by5\">\n<div class=\"brz-row__container brz-css-d-row-row brz-css-1vej8ud\" data-brz-custom-id=\"srW47DatH_mK\">\n<div class=\"brz-row brz-css-d-row-container brz-css-r-row-container brz-css-9o7heo\">\n<div class=\"brz-columns brz-css-d-column-column brz-css-7kemte\" data-brz-custom-id=\"srnqlmHE2vQq\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1xbpgq4\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1ti4jie brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-19uonay\" data-brz-custom-id=\"iRkptcKnikGG\">\n<div data-brz-translate-text=\"1\">\n<h3 class=\"brz-tp-lg-heading3 brz-css-zHaG4\" data-generated-css=\"brz-css-wmFe4\" data-uniq-id=\"l3yat\"><span class=\"brz-cp-color2\">Interaktiivne e-\u00f5ppematerjal<\/span><\/h3>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-1a283s brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-1tnuulx\"><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1touulq brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1e2efch\" data-brz-custom-id=\"o3cBfTSZZadR\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-paragraph brz-css-dC5lC\" data-generated-css=\"brz-css-nYow7\" data-uniq-id=\"vQzlI\"><span class=\"brz-cp-color7\">N\u00e4ide: SCORM paketina tehtud interaktiivne e-\u00f5ppematerjal animeeritud presentatsiooni vormis koos interaktiivsete elementide, testk\u00fcsimustega ja men\u00fc\u00fcribaga.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-9squkd brz-wrapper\">\n<div class=\"brz-icon-text brz-css-d-icontext brz-css-qsp3xv\" data-brz-custom-id=\"jZwrSLaOXK5T\">\n<div class=\"brz-icon__container\" data-brz-custom-id=\"oW_WB3A5vgIj\"><span class=\"brz-icon brz-span brz-css-d-icon-icon brz-css-1d8ybal\"><svg class=\"brz-icon-svg align-[initial]\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/outline\/cursor-pointer.svg#nc_icon\"><\/use><\/svg><\/span><\/div>\n<div class=\"brz-text-btn\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-14fxef2\" data-brz-custom-id=\"vJAZohtSrjM6\">\n<div data-brz-translate-text=\"1\">\n<h5 class=\"brz-tp-lg-heading5 brz-mb-lg-10 brz-mt-lg-15 brz-css-gHUn1\" data-generated-css=\"brz-css-s2sd0\" data-uniq-id=\"wuaOH\"><span class=\"brz-cp-color2\">Interaktiivsed elemendid, testk\u00fcsimused<\/span><\/h5>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-1ojuzkh brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-15j381g\"><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-jb0vvk brz-wrapper\">\n<div class=\"brz-icon-text brz-css-d-icontext brz-css-1ex4g19\" data-brz-custom-id=\"xo6EdRVkyfeW\">\n<div class=\"brz-icon__container\" data-brz-custom-id=\"eXBcOSsrvI7o\"><span class=\"brz-icon brz-span brz-css-d-icon-icon brz-css-1rmg6a0\"><svg class=\"brz-icon-svg align-[initial]\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/outline\/cart-simple-add.svg#nc_icon\"><\/use><\/svg><\/span><\/div>\n<div class=\"brz-text-btn\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-be6osi\" data-brz-custom-id=\"dpcn_iHLp9Yy\">\n<div data-brz-translate-text=\"1\">\n<h5 class=\"brz-tp-lg-heading5 brz-mb-lg-10 brz-mt-lg-5 brz-css-pMB2l\" data-generated-css=\"brz-css-lftwU\" data-uniq-id=\"lrkKX\"><span class=\"brz-cp-color2\">Valikuliselt: videosisu (AI \/ filmitud), voiceover<\/span><\/h5>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-rj6mjk brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-z0irt0\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-1h47125\" data-brz-custom-id=\"b2MGVOkz1uKx\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-18gkjv1\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1iikvgl brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-entdlyovqxpz-parent brz-css-dxea2x\" data-brz-custom-id=\"eNtdlYOvqXPz\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-entdlyovqxpz-picture brz-css-w50236\"><img decoding=\"async\" class=\"brz-img brz-img-svg\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/interaktiivne_e-oppematerjal_kaksik.ee_2.gif\" loading=\"lazy\" alt=\"E-\u00f5ppematerjali loomise hind | Kaksik O\u00dc\" title=\"interaktiivne_e-o\u0303ppematerjal_kaksik.ee_2\" draggable=\"false\"><\/picture><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"jH62Wsyk9rZk_jH62Wsyk9rZk\" class=\"brz-section brz-css-d-section brz-css-145r0mg\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-12wyxi0\" data-brz-custom-id=\"ylB1cKfMLUXc\">\n<div class=\"brz-bg\">\n<div class=\"brz-bg-color\"><\/div>\n<\/div>\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-ey08mb\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-tbtsd7 brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-7t2yj0\"><\/div>\n<\/div>\n<div class=\"brz-row__container brz-css-d-row-row brz-css-17y3n7r\" data-brz-custom-id=\"xF5ghUpVghL5\">\n<div class=\"brz-row brz-css-d-row-container brz-css-r-row-container brz-css-1da2jfn\">\n<div class=\"brz-columns brz-css-d-column-column brz-css-zgtej9\" data-brz-custom-id=\"s6iHUiLepUvH\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-13wqmwh\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-n60tqo brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-gpqazbv1ldu4-parent brz-css-uj7mb9\" data-brz-custom-id=\"gPQaZBV1Ldu4\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-gpqazbv1ldu4-picture brz-css-13nyv8s\"><img decoding=\"async\" class=\"brz-img brz-img-svg\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/koolitusvideo.gif\" loading=\"lazy\" alt=\"E-\u00f5ppematerjali loomise hind | Kaksik O\u00dc\" title=\"koolitusvideo\" draggable=\"false\"><\/picture><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-19hh7h\" data-brz-custom-id=\"rUxsgbp5NZb_\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1o6uc1f\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1djdudf brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1bj4tue\" data-brz-custom-id=\"uX5tU9STsSVX\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-heading3 brz-bcp-color2 brz-css-nPpAq\" data-generated-css=\"brz-css-mD0Kw\" data-uniq-id=\"oAVny\"><span class=\"brz-cp-color2\">Videokoolitus<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1h40xyc brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1u9pm2z\" data-brz-custom-id=\"rW1afLHd5UMO\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-paragraph brz-css-eXm3l\" data-uniq-id=\"dc5Fe\" data-generated-css=\"brz-css-sAUQH\"><span class=\"brz-cp-color7\">N\u00e4ide: katteplaanidega videokoolitus koos graafiliste elisanditega<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-e8vrqx brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-x1lgrx\"><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1cvuhfe brz-wrapper\">\n<div class=\"brz-icon-text brz-css-d-icontext brz-css-1t9mbx\" data-brz-custom-id=\"gG2qzpAZSW2Q\">\n<div class=\"brz-icon__container\" data-brz-custom-id=\"eNyPc59ydOui\"><span class=\"brz-icon brz-span brz-css-d-icon-icon brz-css-75bu1q\"><svg class=\"brz-icon-svg align-[initial]\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/outline\/layers-2.svg#nc_icon\"><\/use><\/svg><\/span><\/div>\n<div class=\"brz-text-btn\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-u60wau\" data-brz-custom-id=\"weKPFTXsP3A3\">\n<div data-brz-translate-text=\"1\">\n<h5 class=\"brz-tp-lg-heading5 brz-mb-lg-10 brz-mt-lg-15 brz-css-zv9cj\" data-generated-css=\"brz-css-jRpqx\" data-uniq-id=\"z5cca\"><span class=\"brz-cp-color2\">Katteplaanid, graafika<\/span><\/h5>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-skmbq3 brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-vpz4sk\"><\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-85ryn9 brz-wrapper\">\n<div class=\"brz-icon-text brz-css-d-icontext brz-css-mzaz3i\" data-brz-custom-id=\"y4gip5mbv9AM\">\n<div class=\"brz-icon__container\" data-brz-custom-id=\"d6zya4fZBCR3\"><span class=\"brz-icon brz-span brz-css-d-icon-icon brz-css-1xdwwpn\"><svg class=\"brz-icon-svg align-[initial]\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/outline\/cart-simple-add.svg#nc_icon\"><\/use><\/svg><\/span><\/div>\n<div class=\"brz-text-btn\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-kzhqo1\" data-brz-custom-id=\"wkt2994uheMj\">\n<div data-brz-translate-text=\"1\">\n<h5 class=\"brz-mt-lg-15 brz-mb-lg-10 brz-tp-lg-heading5 brz-css-lhkFj\" data-uniq-id=\"qq19U\" data-generated-css=\"brz-css-ggeou\"><span class=\"brz-cp-color2\">Valikuliselt: voiceover, subtiitrid<\/span><\/h5>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"trustedby\" data-brz-id=\"tEtcUhxmRW8d_tEtcUhxmRW8d\" class=\"brz-section brz-css-d-section brz-css-geed30\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-1f0md7z\" data-brz-custom-id=\"vh_ld9u5E45i\">\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-x8wbw6\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-smg1nk brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1u81yqp\" data-brz-custom-id=\"gUt57TC6icjl\">\n<div data-brz-translate-text=\"1\">\n<h2 class=\"brz-fsft-xs-0 brz-fwdth-xs-100 brz-vfw-xs-400 brz-lh-xs-1_3 brz-ls-xs-m_1 brz-fw-xs-400 brz-fss-xs-px brz-fs-xs-36 brz-tp-xs-empty brz-text-lg-center brz-tp-lg-heading2 brz-text-xs-center brz-css-d32xv\" data-generated-css=\"brz-css-rkfgX\" data-uniq-id=\"z3UuB\"><span class=\"brz-cp-color2\">MIND USALDAVAD<\/span><\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-r-wrapper brz-css-1oamayh brz-wrapper\">\n<div class=\"brz-spacer brz-css-d-spacer brz-css-i1vdo5\"><\/div>\n<\/div>\n<div class=\"brz-row__container brz-css-d-row-row brz-css-mx7bfj\" data-brz-custom-id=\"jGA300uv_Uwg\">\n<div class=\"brz-row brz-css-d-row-container brz-css-r-row-container brz-css-818tbs\">\n<div class=\"brz-columns brz-css-d-column-column brz-css-1j7cwdh\" data-brz-custom-id=\"zwShKstT9BWp\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-11bhjee\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1huq2nd brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-iodg2tht0ean-parent brz-css-1igrjs0\" data-brz-custom-id=\"ioDG2tHT0Ean\"><a class=\"brz-a\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.vkg.ee\/\" data-brz-link-type=\"external\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-iodg2tht0ean-picture brz-css-16fu44v\"><img decoding=\"async\" class=\"brz-img brz-img-svg\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/09\/vkg-logo.svg\" loading=\"lazy\" alt=\"E-\u00f5ppe lahendused ettev\u00f5tetele | Kaksik O\u00dc\" title=\"vkg-logo\" draggable=\"false\"><\/picture><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-qhs4fi\" data-brz-custom-id=\"d1JhIj8S9BmV\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-14j4d3b\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1ecipmd brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-x8lb8oj7rjda-parent brz-css-1i4ld7r\" data-brz-custom-id=\"x8lb8oj7RJda\"><a class=\"brz-a\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.lidl.ee\/\" data-brz-link-type=\"external\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-x8lb8oj7rjda-picture brz-css-1njn50j\"><img decoding=\"async\" class=\"brz-img brz-img-svg\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/09\/Lidl_Logo_Basis_115x115px_RGB.svg\" loading=\"lazy\" alt=\"E-\u00f5ppe lahendused ettev\u00f5tetele | Kaksik O\u00dc\" title=\"Lidl_Logo\" draggable=\"false\"><\/picture><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-3xz9fr\" data-brz-custom-id=\"paQVzGtsDavz\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1osvlvz\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-vwnnku brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-qsvlk4tmbxsj-parent brz-css-te7sd3\" data-brz-custom-id=\"qsVLk4tmBXSj\"><a class=\"brz-a\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.smit.ee\/\" data-brz-link-type=\"external\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-qsvlk4tmbxsj-picture brz-css-19mzs8e\"><source srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/10\/SMIT_logoslogan_no-dot.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/10\/SMIT_logoslogan_no-dot.png 2x\" media=\"(min-width: 992px)\"><source srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/10\/SMIT_logoslogan_no-dot.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/10\/SMIT_logoslogan_no-dot.png 2x\" media=\"(min-width: 768px)\"><img decoding=\"async\" class=\"brz-img\" srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/10\/SMIT_logoslogan_no-dot.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/10\/SMIT_logoslogan_no-dot.png 2x\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/2025\/10\/SMIT_logoslogan_no-dot.png\" loading=\"lazy\" alt=\"E-\u00f5ppe lahendused ettev\u00f5tetele | Kaksik O\u00dc\" title=\"SMIT_logo+slogan_no-dot\" draggable=\"false\"><\/picture><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-ztpu4f\" data-brz-custom-id=\"s_4eRIJWCeKf\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-ij2uhq\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-4o6uov brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-hnurg9vxm5m8-parent brz-css-1v5ueml\" data-brz-custom-id=\"hnURG9vXM5m8\"><a class=\"brz-a\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/sunly.ee\/\" data-brz-link-type=\"external\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-hnurg9vxm5m8-picture brz-css-1c8r6et\"><source srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Sunly_icon_violet@2x-168x89x0x10x168x69x1775049027.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Sunly_icon_violet@2x-336x178x0x20x336x138x1775049027.png 2x\" media=\"(min-width: 992px)\"><source srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Sunly_icon_violet@2x-104x55x0x6x104x43x1775049027.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Sunly_icon_violet@2x-208x110x0x12x208x86x1775049027.png 2x\" media=\"(min-width: 768px)\"><img decoding=\"async\" class=\"brz-img\" srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Sunly_icon_violet@2x-96x51x0x4x96x43x1775049027.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Sunly_icon_violet@2x-192x102x0x8x192x86x1775049027.png 2x\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Sunly_icon_violet@2x-168x89x0x10x168x69x1775049027.png\" loading=\"lazy\" alt=\"E-\u00f5ppe lahendused ettev\u00f5tetele | Kaksik O\u00dc\" title=\"Sunly_logo_\" draggable=\"false\"><\/picture><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-row__container brz-css-d-row-row brz-css-ty5mxa\" data-brz-custom-id=\"otWWAqFRBPss\">\n<div class=\"brz-row brz-css-d-row-container brz-css-r-row-container brz-css-gg951i\">\n<div class=\"brz-columns brz-css-d-column-column brz-css-1o5u9db\" data-brz-custom-id=\"omC72XfBJ2of\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1pjomhx\"><\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-1odh8me\" data-brz-custom-id=\"lrqXayJvS85E\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1ki82gu\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-w7lups brz-wrapper\">\n<div class=\"brz-image brz-css-d-image-rwn9_cxgz0in-parent brz-css-170ax2f\" data-brz-custom-id=\"rWn9_cXgZ0iN\"><a class=\"brz-a\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.lallemand.com\/en\/\" data-brz-link-type=\"external\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-image-rwn9_cxgz0in-picture brz-css-11deth6\"><source srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Salutaguse_Parmitehas_logo-159x82x0x0x158x82x1757313918.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Salutaguse_Parmitehas_logo-318x164x0x0x316x164x1757313918.png 2x\" media=\"(min-width: 992px)\"><source srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Salutaguse_Parmitehas_logo-99x51x0x0x99x51x1757313918.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Salutaguse_Parmitehas_logo-198x102x0x0x198x102x1757313918.png 2x\" media=\"(min-width: 768px)\"><img decoding=\"async\" class=\"brz-img\" srcset=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Salutaguse_Parmitehas_logo-99x51x0x0x99x51x1757313918.png 1x, https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Salutaguse_Parmitehas_logo-198x102x0x0x198x102x1757313918.png 2x\" src=\"https:\/\/kaksik.ee\/wp-content\/uploads\/brizy\/imgs\/Salutaguse_Parmitehas_logo-159x82x0x0x158x82x1757313918.png\" loading=\"lazy\" alt=\"E-\u00f5ppe lahendused ettev\u00f5tetele | Kaksik O\u00dc\" title=\"Salutaguse_Pa\u0308rmitehas_logo\" draggable=\"false\"><\/picture><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-1ihi725\" data-brz-custom-id=\"ctQv2avc5GG5\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-128lgn5\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><a class=\"brz-a brz-anchor brz-link-container\" target=\"_self\" rel=\"noopener\" href=\"#tbdCDg0PvY_W_tbdCDg0PvY_W\" data-brz-link-type=\"anchor\"><\/a><\/div>\n<\/section>\n<section id=\"xqBrOWOh8_0b_xqBrOWOh8_0b\" class=\"brz-section brz-css-d-section brz-css-1bsbdz8\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-acsrfb\" data-brz-custom-id=\"v_yae_L1oHoi\">\n<div class=\"brz-bg\">\n<div class=\"brz-bg-color\"><\/div>\n<\/div>\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-sbmgz7\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1711mz3 brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-ljq246\" data-brz-custom-id=\"euzAWW7u96KP\">\n<div data-brz-translate-text=\"1\">\n<h2 class=\"brz-text-lg-center brz-tp-lg-heading2 brz-css-g5wB9\" data-generated-css=\"brz-css-kIOnt\" data-uniq-id=\"dIXcB\">Korduma kippuvad k\u00fcsimused<\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-hwax3r brz-wrapper\">\n<div class=\"brz-accordion brz-css-d-accordion brz-css-1fk5p8f\" data-brz-duration=\"300\" data-brz-custom-id=\"vEu7P_uYP4tN\">\n<div class=\"brz-accordion__item brz-accordion__item--active\">\n<div class=\"brz-accordion__nav\" data-brz-collapsible=\"on\">\n<p data-brz-translate-text=\"1\" class=\"brz-accordion__nav-title brz-p brz-text__editor\">Kui kaua projekt aega v\u00f5tab?<\/p>\n<p><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon--active\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/up-arrow-filled.svg#brz_icon\"><\/use><\/svg><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/down-arrow-filled.svg#brz_icon\"><\/use><\/svg><\/div>\n<div class=\"brz-accordion__content brz-d-xs-flex brz-flex-xs-column\">\n<div class=\"brz-accordion__item-content brz-d-xs-flex brz-flex-xs-column\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-14qmk6n brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-191e85\" data-brz-custom-id=\"rnFP8FpnWsMy\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-fsft-lg-0 brz-fwdth-lg-100 brz-vfw-lg-400 brz-lh-lg-1_9 brz-ls-lg-0 brz-fw-lg-400 brz-fss-lg-px brz-fs-lg-17 brz-ft-google brz-ff-oxygen brz-tp-lg-empty brz-css-lBZat\" data-uniq-id=\"nNvm1\" data-generated-css=\"brz-css-dOcG4\"><span class=\"brz-cp-color7\">Projekti valmimine s\u00f5ltub suuresti tehtavate t\u00f6\u00f6de nimekirjast, kuid praktika n\u00e4itab, et 2-3 n\u00e4dala jooksul on v\u00f5imalik ka keerukam e-\u00f5ppematerjal kvaliteetselt teostada. T\u00e4pse ajakava saad teada tasuta konsultatsiooni k\u00e4igus -&gt; <\/span><a class=\"brz-cp-color3 link--external\" style=\"color: rgba(var(--brz-global-color3),1);\" href=\"https:\/\/calendly.com\/stanislav-kaksik\/30min\" data-brz-link-type=\"external\" target=\"_blank\" rel=\"noreferrer noopener\">broneeri konsultatsioon.<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-accordion__item\">\n<div class=\"brz-accordion__nav\" data-brz-collapsible=\"on\">\n<p data-brz-translate-text=\"1\" class=\"brz-accordion__nav-title brz-p brz-text__editor\">Millest s\u00f5ltub e-\u00f5ppematerjali hind?<\/p>\n<p><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon--active\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/up-arrow-filled.svg#brz_icon\"><\/use><\/svg><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/down-arrow-filled.svg#brz_icon\"><\/use><\/svg><\/div>\n<div class=\"brz-accordion__content brz-d-xs-flex brz-flex-xs-column\">\n<div class=\"brz-accordion__item-content brz-d-xs-flex brz-flex-xs-column\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1gwk3dk brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1yhot2c\" data-brz-custom-id=\"kwu3TqFwFwGI\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-fsft-lg-0 brz-fwdth-lg-100 brz-vfw-lg-400 brz-lh-lg-1_9 brz-ls-lg-0 brz-fw-lg-400 brz-fss-lg-px brz-fs-lg-17 brz-ft-google brz-ff-oxygen brz-tp-lg-empty brz-css-h3hFq\" data-generated-css=\"brz-css-tl0wx\" data-uniq-id=\"md0ot\"><span class=\"brz-cp-color7\">E-\u00f5ppematerjali hind s\u00f5ltub peamiselt kolmest tegurist: materjali mahust, keerukusastmest ja kasutatavatest visuaalsetest elementidest. Hinnakalkulaator annab hea indikatsiooni projekti hinnangulisest hinnast, samas peab arvestama, et iga projekt on unikaalne, mist\u00f5ttu koostan alati personaalse hinnapakkumise <\/span><a class=\"link--external brz-cp-color3\" style=\"color: rgba(var(--brz-global-color3),1);\" href=\"https:\/\/calendly.com\/stanislav-kaksik\/30min\" data-brz-link-type=\"external\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>p\u00e4rast esmast konsultatsiooni.<\/strong><\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-accordion__item\">\n<div class=\"brz-accordion__nav\" data-brz-collapsible=\"on\">\n<p data-brz-translate-text=\"1\" class=\"brz-accordion__nav-title brz-p brz-text__editor\">Millisel kujul valmivad e-\u00f5ppematerjalid?<\/p>\n<p><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon--active\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/up-arrow-filled.svg#brz_icon\"><\/use><\/svg><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/down-arrow-filled.svg#brz_icon\"><\/use><\/svg><\/div>\n<div class=\"brz-accordion__content brz-d-xs-flex brz-flex-xs-column\">\n<div class=\"brz-accordion__item-content brz-d-xs-flex brz-flex-xs-column\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1uwj0o0 brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1c5nl7f\" data-brz-custom-id=\"iZrW2lwzc0OS\">\n<div data-brz-translate-text=\"1\">\n<p data-generated-css=\"brz-css-x08IS\" data-uniq-id=\"nOXha\" class=\"brz-tp-lg-empty brz-ff-oxygen brz-ft-google brz-fs-lg-17 brz-fss-lg-px brz-fw-lg-400 brz-ls-lg-0 brz-lh-lg-1_9 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-cbYe7\"><span class=\"brz-cp-color7\">E-\u00f5ppematerjalid valmivad otse Sinu organisatsiooni \u00f5pihalduss\u00fcsteemi (LMS) v\u00f5i SCORM\/xAPI paketina, mida saad ise \u00fcles laadida oma \u00f5pihalduss\u00fcsteemi. Juhul kui organisatsioonis ei ole kasutusele v\u00f5etud \u00f5pihalduss\u00fcsteemi, on k\u00f5ige m\u00f5istlikum variant kasutada videokoolituse formaati, mida saab edukalt kuvada erinevates keskkondades (SharePoint, Drive, OneDrive jmt). Igal juhul leiame lahenduse, kuidas e-\u00f5ppematerjali k\u00f5ige paremini kuvada Sinu organisatsioonis.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-accordion__item\">\n<div class=\"brz-accordion__nav\" data-brz-collapsible=\"on\">\n<p data-brz-translate-text=\"1\" class=\"brz-accordion__nav-title brz-p brz-text__editor\">Kellele kuulub valminud materjal?<\/p>\n<p><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon--active\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/up-arrow-filled.svg#brz_icon\"><\/use><\/svg><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/down-arrow-filled.svg#brz_icon\"><\/use><\/svg><\/div>\n<div class=\"brz-accordion__content brz-d-xs-flex brz-flex-xs-column\">\n<div class=\"brz-accordion__item-content brz-d-xs-flex brz-flex-xs-column\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1kzob0h brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-dz3fuc\" data-brz-custom-id=\"kMw8aWSAS3vp\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-fsft-lg-0 brz-fwdth-lg-100 brz-vfw-lg-400 brz-lh-lg-1_9 brz-ls-lg-0 brz-fw-lg-400 brz-fss-lg-px brz-fs-lg-17 brz-ft-google brz-ff-oxygen brz-tp-lg-empty brz-css-wb4hg\" data-uniq-id=\"v53_6\" data-generated-css=\"brz-css-vEx3v\"><span class=\"brz-cp-color7\">E-\u00f5ppematerjal valmiskujul kuulub tavap\u00e4raselt tellijale. Projektifaile hoian turvaliselt alles kokkulepitud aja jooksul, et vajadusel saaks nendes muudatusi teha tulevikus.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-accordion__item\">\n<div class=\"brz-accordion__nav\" data-brz-collapsible=\"on\">\n<p data-brz-translate-text=\"1\" class=\"brz-accordion__nav-title brz-p brz-text__editor\">Kas materjali saan ise edaspidi muuta?<\/p>\n<p><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon--active\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/up-arrow-filled.svg#brz_icon\"><\/use><\/svg><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/down-arrow-filled.svg#brz_icon\"><\/use><\/svg><\/div>\n<div class=\"brz-accordion__content brz-d-xs-flex brz-flex-xs-column\">\n<div class=\"brz-accordion__item-content brz-d-xs-flex brz-flex-xs-column\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1j82chm brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-7yhlq4\" data-brz-custom-id=\"wNq7Aq1Mrb6q\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-empty brz-ff-oxygen brz-ft-google brz-fs-lg-17 brz-fss-lg-px brz-fw-lg-400 brz-ls-lg-0 brz-lh-lg-1_9 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-aTV52\" data-generated-css=\"brz-css-hzTeZ\" data-uniq-id=\"vmP5_\">E-\u00f5ppematerjali muutmise v\u00f5imalus s\u00f5ltub sellest, kuidas oleme leppinud kokku materjali teostamises. Kui materjal valmib otse LMS-i, siis saad edaspidi ise muuta materjali. Kui tegu on SCORM \/ xAPI paketiga, siis nende muutmisega saan abistada.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-accordion__item\">\n<div class=\"brz-accordion__nav\" data-brz-collapsible=\"on\">\n<p data-brz-translate-text=\"1\" class=\"brz-accordion__nav-title brz-p brz-text__editor\">Kas materjal t\u00f6\u00f6tab nii arvutis, tahvelarvutis kui ka telefonis?<\/p>\n<p><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon--active\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/up-arrow-filled.svg#brz_icon\"><\/use><\/svg><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/down-arrow-filled.svg#brz_icon\"><\/use><\/svg><\/div>\n<div class=\"brz-accordion__content brz-d-xs-flex brz-flex-xs-column\">\n<div class=\"brz-accordion__item-content brz-d-xs-flex brz-flex-xs-column\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-dckunx brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-smsm2y\" data-brz-custom-id=\"wMIVyFcVJ4Fs\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-empty brz-ff-oxygen brz-ft-google brz-fs-lg-17 brz-fss-lg-px brz-fw-lg-400 brz-ls-lg-0 brz-lh-lg-1_9 brz-vfw-lg-400 brz-fwdth-lg-100 brz-fsft-lg-0 brz-css-wJX0r\" data-generated-css=\"brz-css-vK8Jv\" data-uniq-id=\"m0HrP\">T\u00e4nap\u00e4eval ei istu t\u00f6\u00f6tajad koolituse ajal alati arvuti taga \u2014 sageli l\u00e4bitakse koolitusi kohvipausil telefonis v\u00f5i kodus tahvelarvutis. Seet\u00f5ttu on mulle oluline, et iga minu loodud materjal toimiks igas seadmes t\u00e4pselt nii, nagu see on m\u00f5eldud. Enne materjali \u00fcleandmist testin seda alati erinevates seadmetes ja brauserites, et saaks olla kindel selles, et t\u00f6\u00f6tajate \u00f5pikogemus on sujuv s\u00f5ltumata sellest, millist seadet nad kasutavad.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-accordion__item\">\n<div class=\"brz-accordion__nav\" data-brz-collapsible=\"on\">\n<p data-brz-translate-text=\"1\" class=\"brz-accordion__nav-title brz-p brz-text__editor\">Kuidas k\u00e4sitletakse minu konfidentsiaalseid andmeid?<\/p>\n<p><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon--active\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/up-arrow-filled.svg#brz_icon\"><\/use><\/svg><svg class=\"brz-icon-svg align-[initial] brz-accordion-icon brz-accordion__nav--previewIcon\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/editor\/down-arrow-filled.svg#brz_icon\"><\/use><\/svg><\/div>\n<div class=\"brz-accordion__content brz-d-xs-flex brz-flex-xs-column\">\n<div class=\"brz-accordion__item-content brz-d-xs-flex brz-flex-xs-column\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-uzw4aw brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-wtz52t\" data-brz-custom-id=\"xYw71bGJyk8x\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-fsft-lg-0 brz-fwdth-lg-100 brz-vfw-lg-400 brz-lh-lg-1_9 brz-ls-lg-0 brz-fw-lg-400 brz-fss-lg-px brz-fs-lg-17 brz-ft-google brz-ff-oxygen brz-tp-lg-empty brz-css-nQzMc\" data-uniq-id=\"aJV_o\" data-generated-css=\"brz-css-vq0Ef\">Konfidentsiaalsus on koost\u00f6\u00f6 alustala. Olen t\u00f6\u00f6tanud paljude organisatsioonidega, kes on usaldanud mulle tundlikku sisuteavet, ning see usaldus on mulle \u00e4\u00e4rmiselt t\u00e4htis. Vajadusel s\u00f5lmime enne iga projekti algust NDA ning tagan, et info ei j\u00f5ua kunagi kolmandate osapoolteni, kes pole projektiga teostamisega seotud. Minu jaoks ei ole see pelgalt juriidiline kohustus \u2014 see on professionaalse koost\u00f6\u00f6 loomulik osa.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"au4nE07r32D7_au4nE07r32D7\" class=\"brz-section brz-css-d-section brz-css-1evcsz5\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-sectionitem-bg brz-css-q9iaqg\" data-brz-custom-id=\"sNoSbMoSnXNi\">\n<div class=\"brz-bg\">\n<div class=\"brz-bg-color\"><\/div>\n<\/div>\n<div class=\"brz-container brz-css-d-sectionitem-container brz-css-15psn7h\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-p4nwfe brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-dxwicv\" data-brz-custom-id=\"uVlKuOGg7MeA\">\n<div data-brz-translate-text=\"1\">\n<h2 class=\"brz-text-lg-center brz-tp-lg-heading2 brz-css-dxJax\" data-generated-css=\"brz-css-kVh93\" data-uniq-id=\"yQnZP\">Pole kindel, milline lahendus sobib?<\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-row__container brz-css-d-row-row brz-css-7lblmy\" data-brz-custom-id=\"tzarI17NAyw1\">\n<div class=\"brz-row brz-css-d-row-container brz-css-r-row-container brz-css-123q38c\">\n<div class=\"brz-columns brz-css-d-column-column brz-css-11lpfql\" data-brz-custom-id=\"zcRpa1qx8VzC\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1fpe5hr\">\n<div id=\"\" class=\"brz-css-d-wrapper brz-css-1533vl2 brz-wrapper\">\n<div class=\"brz-rich-text brz-rich-text__custom brz-css-d-richtext brz-css-1r80o2f\" data-brz-custom-id=\"fSkQWV2_HmPR\">\n<div data-brz-translate-text=\"1\">\n<p class=\"brz-tp-lg-paragraph brz-text-lg-center brz-css-snf4d\" data-generated-css=\"brz-css-u2O1U\" data-uniq-id=\"cNGyT\"><span class=\"brz-cp-color7\">Kirjelda oma koolituse idee v\u00f5i koolitusvajadus ning annan tasuta 30-minutilise konsultatsiooni k\u00e4igus selge \u00fclevaate, mis sobib just sinu vajadustele. <\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-column-column brz-css-1j0q5ti\" data-brz-custom-id=\"qLgqgjc7w2B3\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-1fhsqo4\">\n<div class=\"brz-row__container brz-css-d-row-row brz-css-1qibcuh\" data-brz-custom-id=\"dik81HqLTWkp\">\n<div class=\"brz-row brz-row--inner brz-css-d-row-container brz-css-r-row-container brz-css-1y2rix9\">\n<div class=\"brz-columns brz-css-d-column-column brz-css-13lmasg\" data-brz-custom-id=\"zOeiRiK_vI1g\">\n<div class=\"brz-column__items brz-css-d-column-bg brz-css-82vd0p\">\n<div class=\"brz-wrapper-clone brz-flex-xs-wrap brz-css-d-cloneable brz-css-12kzp8s\" data-brz-custom-id=\"m6lSxCX8cqc3\"><a class=\"brz-a brz-btn brz-css-d-button brz-css-1l9cihf brz-css-d-button-bg brz-css-1nd6er7\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/calendly.com\/stanislav-kaksik\/30min\" data-brz-link-type=\"external\" data-brz-custom-id=\"vnm8dB2JHJTg\"><svg class=\"brz-icon-svg align-[initial] brz-css-d-button-icon brz-css-1du27i9\"><use href=\"\/wp-content\/plugins\/brizy\/public\/editor-build\/prod\/editor\/icons\/outline\/event-confirm.svg#nc_icon\"><\/use><\/svg><span data-brz-translate-text=\"1\" class=\"brz-span brz-text__editor\">Broneeri tasuta konsultatsioon<\/span><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section><\/div>\n<p><!-- version:1776150028 --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>E\u2011\u00f5ppematerjali hinnakalkulaator E-\u00f5ppematerjali loomise hind on oluline k\u00fcsimus. Hinnakalkulaator annab kiire hinnangulise projekti maksumuse \u2013 ilma m\u00fc\u00fcgijututa, ilma kohustuseta. Ideaalne lahendus organisatsioonidele, kes soovivad luua e-koolitusi. Proovi kalkulaatorit N\u00e4iteks lihtne 10-minutiline e-\u00f5ppematerjal algab tavaliselt 600\u20ac juurest. Sisesta oma projekti andmed ja saad kohe teada hinnangulise maksumuse. T\u00fc\u00fcpiline tarneaeg: 2\u20133 n\u00e4dalat Konfidentsiaalsus tagatud E-\u00f5ppematerjali esitamise variandid [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"brizy-blank-template.php","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-2025","page","type-page","status-publish","hentry"],"aioseo_notices":[],"brizy_media":[{"id":1987,"url":"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/1_.png","name":"1_.png","meta":{"brizy_attachment_uid":"wp-079ec8face03308f73dbf449a24030f9.png","brizy_post_uid":["2eeaa2b1aa17f02ff7b6842b0cc88e89","5c0da4f4ef2b920f6fce0d6e4708235b"]}},{"id":1990,"url":"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/2_.png","name":"2_.png","meta":{"brizy_attachment_uid":"wp-fe27ad161c26b406923196808e1d46f9.png","brizy_post_uid":["2eeaa2b1aa17f02ff7b6842b0cc88e89","5c0da4f4ef2b920f6fce0d6e4708235b"]}},{"id":1991,"url":"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/3_.png","name":"3_.png","meta":{"brizy_attachment_uid":"wp-5d3bfc93d324459abcf5be17202898e4.png","brizy_post_uid":["2eeaa2b1aa17f02ff7b6842b0cc88e89","5c0da4f4ef2b920f6fce0d6e4708235b"]}},{"id":2370,"url":"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/lihtne_e-oppematerjal_kaksik.ee_2.gif","name":"lihtne_e-oppematerjal_kaksik.ee_2.gif","meta":{"brizy_attachment_uid":"wp-e71c69a57b047032387e9d35f52c4ff4.gif","brizy_post_uid":["2eeaa2b1aa17f02ff7b6842b0cc88e89","5c0da4f4ef2b920f6fce0d6e4708235b"]}},{"id":2408,"url":"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/interaktiivne_e-oppematerjal_kaksik.ee_2.gif","name":"interaktiivne_e-oppematerjal_kaksik.ee_2.gif","meta":{"brizy_attachment_uid":"wp-31b599268dd6132cc9566904388e2c05.gif","brizy_post_uid":["2eeaa2b1aa17f02ff7b6842b0cc88e89","5c0da4f4ef2b920f6fce0d6e4708235b"]}},{"id":2441,"url":"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/03\/koolitusvideo.gif","name":"koolitusvideo.gif","meta":{"brizy_attachment_uid":"wp-4aec03c91a0893c595bd356d985e57f7.gif","brizy_post_uid":["2eeaa2b1aa17f02ff7b6842b0cc88e89","5c0da4f4ef2b920f6fce0d6e4708235b"]}},{"id":2812,"url":"https:\/\/kaksik.ee\/wp-content\/uploads\/2026\/04\/Sunly_icon_violet@2x.png","name":"Sunly_icon_violet@2x.png","meta":{"brizy_attachment_uid":"wp-bbf81616bb5bbe25250a19803ad20f1d.png","brizy_post_uid":["5c0da4f4ef2b920f6fce0d6e4708235b","aefa99aa9879f7aee34e0f8661fbb0d3"]}}],"_links":{"self":[{"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/pages\/2025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/comments?post=2025"}],"version-history":[{"count":5,"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/pages\/2025\/revisions"}],"predecessor-version":[{"id":3093,"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/pages\/2025\/revisions\/3093"}],"wp:attachment":[{"href":"https:\/\/kaksik.ee\/en\/wp-json\/wp\/v2\/media?parent=2025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}