/* HBMIC about page: language picker and full menu (same as hbproc.js), scroll reveals, number count-up. Anime.js loaded in */ (function () { 'use strict'; var root = document.getElementById('hbMain'); if (!root) return; var A = window.anime; var RM = matchMedia('(prefers-reduced-motion: reduce)').matches || !A; if (!RM) root.classList.add('ajs'); /* ---------- language (same rules as hbmic-translation-client.js) ---------- */ var LANGS = ['ko', 'en', 'zh-CN', 'ja', 'vi', 'id']; var SHORT = { 'ko': 'KO', 'en': 'EN', 'zh-CN': 'ZH', 'ja': 'JA', 'vi': 'VI', 'id': 'ID' }; function normLang(v) { v = String(v || '').toLowerCase().replace('_', '-'); if (v === 'zh' || v === 'zh-cn') return 'zh-CN'; for (var i = 0; i < LANGS.length; i++) if (LANGS[i].toLowerCase() === v || LANGS[i].toLowerCase() === v.split('-')[0]) return LANGS[i]; return ''; } function pageLang() { try { var u = normLang(new URL(location.href).searchParams.get('lang')); if (u) return u; } catch (e) {} var m = document.cookie.match(/(?:^|;\s*)googtrans=([^;]*)/); if (m) { var c = normLang(decodeURIComponent(m[1]).split('/')[2]); if (c) return c; } var f = String((navigator.languages && navigator.languages[0]) || navigator.language || '').replace('_', '-').toLowerCase().split('-'); var reg = f.length > 1 ? f[f.length - 1].toUpperCase() : ''; if (reg === 'KR' || f[0] === 'ko') return 'ko'; if (reg === 'CN') return 'zh-CN'; if (reg === 'JP' || f[0] === 'ja') return 'ja'; if (reg === 'VN' || f[0] === 'vi') return 'vi'; if (reg === 'ID' || f[0] === 'id') return 'id'; return 'en'; } (function initLang() { var box = root.querySelector('.hb-lang'); if (!box) return; var btn = box.querySelector('.hb-lang__btn'), list = box.querySelector('.hb-lang__list'), cur = box.querySelector('.hb-lang__cur'); function mark(l) { cur.textContent = SHORT[l] || 'KO'; root.querySelectorAll('.gtranslate_wrapper a[data-gt-lang]').forEach(function (a) { var on = normLang(a.getAttribute('data-gt-lang')) === l; a.classList.toggle('gt-current-lang', on); if (on) a.setAttribute('aria-current', 'true'); else a.removeAttribute('aria-current'); }); } function show(v) { list.hidden = !v; btn.setAttribute('aria-expanded', v ? 'true' : 'false'); } btn.addEventListener('click', function () { show(list.hidden); if (!list.hidden) { var a = list.querySelector('.gt-current-lang') || list.querySelector('a'); a.focus({ preventScroll: true }); } }); window.addEventListener('click', function (e) { var a = e.target && e.target.closest ? e.target.closest('.gtranslate_wrapper a[data-gt-lang]') : null; if (a) { e.preventDefault(); mark(normLang(a.getAttribute('data-gt-lang')) || 'ko'); show(false); return; } if (!box.contains(e.target)) show(false); }, true); box.addEventListener('keydown', function (e) { if (e.key === 'Escape' && !list.hidden) { show(false); btn.focus(); } }); mark(pageLang()); show(false); })(); /* ---------- full menu ---------- */ (function initMenu() { var btn = root.querySelector('.hb-menu-btn'), menu = root.querySelector('.hb-menu'); if (!btn || !menu) return; var close = menu.querySelector('.hb-menu__close'), links = menu.querySelectorAll('.hb-menu__list a'); var rows = menu.querySelectorAll('.hb-menu__in'), isOpen = false, busy = null; function open() { if (isOpen) return; isOpen = true; menu.hidden = false; btn.setAttribute('aria-expanded', 'true'); document.documentElement.style.overflow = 'hidden'; if (!RM) { if (busy) busy.pause(); A.utils.set(rows, { y: '110%' }); busy = A.createTimeline() .add(menu, { clipPath: ['inset(0% 0% 100% 0%)', 'inset(0% 0% 0% 0%)'], duration: 560, ease: 'inOutQuart' }) .add(rows, { y: ['110%', '0%'], duration: 760, ease: 'outExpo', delay: A.stagger(80) }, 260); } links[0].focus({ preventScroll: true }); } function shut(back) { if (!isOpen) return; isOpen = false; btn.setAttribute('aria-expanded', 'false'); document.documentElement.style.overflow = ''; function hide() { menu.hidden = true; menu.style.clipPath = ''; } if (!RM) { if (busy) busy.pause(); busy = A.animate(menu, { clipPath: 'inset(0% 0% 100% 0%)', duration: 420, ease: 'inOutQuart', onComplete: hide }); } else hide(); if (back !== false) btn.focus({ preventScroll: true }); } btn.addEventListener('click', open); close.addEventListener('click', function () { shut(); }); links.forEach(function (a) { a.addEventListener('click', function () { shut(false); }); }); menu.addEventListener('keydown', function (e) { if (e.key === 'Escape') { shut(); return; } if (e.key !== 'Tab') return; var f = Array.from(menu.querySelectorAll('button, a[href]')), first = f[0], lastF = f[f.length - 1]; if (e.shiftKey && document.activeElement === first) { e.preventDefault(); lastF.focus(); } else if (!e.shiftKey && document.activeElement === lastF) { e.preventDefault(); first.focus(); } }); })(); /* ---------- photos: one base path in data-img-base (about.html), file names in data-img ---------- */ (function initImg() { var holder = root.querySelector('[data-img-base]'); var base = holder ? holder.getAttribute('data-img-base') : ''; if (!base) return; // no server path yet: placeholder box and caption stay if (base.slice(-1) !== '/') base += '/'; root.querySelectorAll('img[data-img]').forEach(function (im) { im.src = base + im.getAttribute('data-img'); }); })(); if (RM) return; var animate = A.animate, stagger = A.stagger; /* ---------- top title ---------- */ animate(root.querySelectorAll('.ab-hero .ab-rv'), { y: [28, 0], opacity: [0, 1], duration: 1000, ease: 'outExpo', delay: stagger(110, { start: 120 }) }); /* ---------- count-up numbers: text is already final in HTML ---------- */ function count(el) { var end = parseInt(el.getAttribute('data-to'), 10); if (!end) return; var o = { v: 0 }, comma = el.textContent.indexOf(',') > -1; animate(o, { v: end, duration: 1600, ease: 'outExpo', onUpdate: function () { var n = Math.round(o.v); el.textContent = comma ? n.toLocaleString('en-US') : String(n); } }); } /* ---------- reveal on scroll ---------- */ var io = new IntersectionObserver(function (entries) { entries.forEach(function (e) { if (!e.isIntersecting) return; io.unobserve(e.target); var items = e.target.querySelectorAll('.ab-rv'); animate(items, { y: [32, 0], opacity: [0, 1], duration: 900, ease: 'outExpo', delay: stagger(70) }); e.target.querySelectorAll('[data-to]').forEach(count); var line = e.target.querySelector('.ab-time__line'); if (line) animate(line, { scaleY: [0, 1], duration: 1600, ease: 'inOutQuart' }); }); }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' }); root.querySelectorAll('.ab-sec').forEach(function (s) { io.observe(s); }); /* ---------- next-action button: arrow nudge + sparkle burst ---------- */ var go = root.querySelector('.ab-go'); if (go) go.addEventListener('pointerenter', function () { animate(go.querySelector('.ab-go__a svg'), { x: [0, 6, 0], duration: 700, ease: 'outBack(2)' }); if (window.hbBurst && matchMedia('(hover: hover)').matches) { var r = go.getBoundingClientRect(); window.hbBurst(r.right - 48, r.top + r.height / 2, 8); } }); })(); /* ===== about v2 (2026-11-10 sian E): six screens, wheel paging, motion, Kakao satellite map ===== */ (function(){ var ROOT=document.getElementById('hbMain');if(!ROOT||!document.getElementById('abMain'))return;ROOT.classList.add('abjs'); var SRC='/bizdemo159410/img/hbmic/certification/'; var ISO=[['ISO 22716','\uc6b0\uc218\ud654\uc7a5\ud488 \uc81c\uc870 \ubc0f \ud488\uc9c8\uad00\ub9ac\uae30\uc900 \u00b7 2017\ub144 \ud68d\ub4dd','03'],['ISO 9001','\ud488\uc9c8\uc778\uc99d \u00b7 2001\ub144 \ud68d\ub4dd','01'],['ISO 14001','\ud658\uacbd\uc778\uc99d \u00b7 2004\ub144 \ud68d\ub4dd','02']]; var CORP=[['\uae30\uc5c5\ubd80\uc124\uc5f0\uad6c\uc18c \uc778\uc815\uc11c','2014\ub144 \uc5f0\uad6c\uc18c \uc124\ub9bd','07'],['\uc6d0\uc0b0\uc9c0\uc778\uc99d\uc218\ucd9c\uc790 \uc778\uc99d\uc11c','','28'],['\ud560\ub784\uc778\uc99d','2013\ub144 \ud68d\ub4dd','12'],['\uc218\ucd9c\uc720\ub9dd\uae30\uc5c5 \uc9c0\uc815\uc11c','2014\ub144 \uc120\uc815, 2017\u00b72018\ub144 \uc7ac\uc120\uc815','08'],['\ud074\ub9b0\uc0ac\uc5c5\uc7a5 \uc778\uc99d\uc11c','2006\ub144 \uc2b9\uc778','04'],['\uc704\ud5d8\uc131\ud3c9\uac00 \uc778\uc815\uc11c','2014\ub144 \uc778\uc815','10'],['\ud488\uc9c8\uacbd\uc7c1\ub825 \uc778\uc99d\uc11c','','11'],['IP\uc2a4\ud0c0\uae30\uc5c5 \uc9c0\uc815\uc11c','2013\ub144 \uc120\uc815','06'],['\uc6f9\uc2e4 \uc778\uc99d\uc11c','2013\ub144 \ud68d\ub4dd','09'],['\ud55c\uad6d\ubb34\uc5ed\ud611\ud68c \ud68c\uc6d0\uc99d','','39']]; var AWARD=[['\ubca4\ucc98\uae30\uc5c5 \ud2b9\ubcc4\uc0c1','\ub300\uad6c\uc0c1\uacf5\ud68c\uc758\uc18c \ud68c\uc7a5\uc0c1 \u00b7 2024\ub144','33'],['\uc548\uc804\ud589\uc815\ubd80\uc7a5\uad00 \ud45c\ucc3d','','34'],['\ub300\uad6c\uacbd\ubd81\uc9c0\ubc29\uc911\uc18c\uae30\uc5c5\uccad \ud45c\ucc3d','\uacbd\uc601\ud601\uc2e0, \uae30\uc220\uac1c\ubc1c \ubd84\uc57c \u00b7 2014\ub144','35'],['\ub300\uad6c\uad11\uc5ed\uc2dc\uc7a5 \ud45c\ucc3d','','36'],['\ub300\ud55c\ubbfc\uad6d\ud55c\ubc29\uc5d1\uc2a4\ud3ec \uc0c1\uc7a5','','37']]; var FULL=[['2025',['\uc735\ubcf5\ud569 \ubdf0\ud2f0\uc0b0\uc5c5 \ubc38\ub958\uccb4\uc778 \ucee8\ubc84\uc804\uc2a4 \uc218\ud61c\uae30\uc5c5 \uc120\uc815','\ubc14\uc774\uc624 \ub098\ub178\uc0b0\uc5c5 \uac1c\ubc29\ud615 \uc0dd\ud0dc\uacc4\uc870\uc131\uc0ac\uc5c5 \uc218\ud61c\uae30\uc5c5 \uc120\uc815','K-MEDI \uc804\ud1b5\uc758\ud559 \uc2e4\ud06c\ub85c\ub4dc \ud504\ub85c\uc81d\ud2b8 \ucc38\uc5ec\uae30\uc5c5','\ud654\uc7a5\ud488\uc0b0\uc5c5 \uacbd\uc7c1\ub825 \uac15\ud654\uc0ac\uc5c5 \uc218\ud61c\uae30\uc5c5','InterCHARM KOREA 2025 \ucc38\uac00','\uacbd\ubd81 PMF(Product Market Fit) \ucfe0\ud321 PB \uc81c\uc870\uc0ac \uc120\uc815','IBK\uae30\uc5c5\uc740\ud589 \ub3d9\ubc18\uc790\uc0c1 \uac10\uc0ac\ud328 \uc218\uc0c1']], ['2024',['\uc735\ubcf5\ud569 \ubdf0\ud2f0\uc0b0\uc5c5 \ubc38\ub958\uccb4\uc778 \ucee8\ubc84\uc804\uc2a4 \uc218\ud61c\uae30\uc5c5 \uc120\uc815','InterCHARM KOREA 2024 \ucc38\uac00','\ub300\uad6c\uc0c1\uacf5\ud68c\uc758\uc18c \ud68c\uc7a5\uc0c1(\ubca4\ucc98\uae30\uc5c5 \ud2b9\ubcc4\uc0c1)','\uba5c\ub77c\uc2a4\ud0d1 \ud654\uc774\ud2b8\ub2dd\ud06c\ub9bc \uc77c\ubcf8 \ud06c\ub9ac\ub9c8\ub808(DHOLIC) \uc2a4\ud0a8\ucf00\uc5b4 \ubd80\ubb38 \ubca0\uc2a4\ud2b8 \uc624\ube0c \ubca0\uc2a4\ud2b8 \uc120\uc815']], ['2023',['\ub300\uc9c0 1,800\ud3c9 \uac74\ubb3c 1,100\ud3c9 \uaddc\ubaa8\uc758 \uacf5\uc7a5\u00b7\ubcf8\uc0ac \uc900\uacf5 \ubc0f \uc774\uc804','\uc77c\ubcf8 DHOLIC COMMERCE \uc2a4\ud0a8\ucf00\uc5b4 \ud06c\ub9bc \ubd80\ubb38 1\uc704','\uc735\ubcf5\ud569 \ubdf0\ud2f0\uc0b0\uc5c5 \ubc38\ub958\uccb4\uc778 \ucee8\ubc84\uc804\uc2a4 \uc218\ud61c\uae30\uc5c5 \uc120\uc815','\uc911\ub3d9 \ubdf0\ud2f0 \uc2dc\uc7a5\uac1c\ucc99\ub2e8','\ud654\ud574 Beauty Award \uc0c1\ubc18\uae30 \uc8fc\ub984 \uae30\ub2a5\uc131 \ud06c\ub9bc \ubd80\ubb38 1\uc704','\ud55c\uad6d\ube44\uac74\uc778\uc99d\uc6d0 \uc81c\ud488 \uc778\uc99d']], ['2022',['\uc735\ubcf5\ud569 \ubdf0\ud2f0\uc0b0\uc5c5 \ubc38\ub958\uccb4\uc778 \ucee8\ubc84\uc804\uc2a4 \uc218\ud61c\uae30\uc5c5 \uc120\uc815','\ud654\ud574 Beauty Award \ud074\ub80c\uc9d5\uc6cc\ud130 \ubd80\ubb38 1\uc704','\ud654\ud574 Beauty Award \uc5ec\uc131\uccad\uacb0\uc81c \ubd80\ubb38 5\uc704']], ['2021',['\ud654\ud574 Beauty Award \ud074\ub80c\uc9d5\uc6cc\ud130 \ubd80\ubb38 1\uc704']], ['2019',['\uc911\uad6d \ucd98\uacc4 \uad11\uc800\uc6b0 \ud654\uc7a5\ud488 \uc804\uc2dc\ud68c \ucc38\uac00','\uc911\uad6d \ucd98\uacc4 \uc0c1\ud558\uc774 \ud654\uc7a5\ud488 \ubc15\ub78c\ud68c \ucc38\uac00']], ['2018',['\uc2e0\ub77c\uba74\uc138\uc810 QC \uc644\ub8cc','\uc911\uc18c\uae30\uc5c5\uccad \uc218\ucd9c\uc720\ub9dd\uae30\uc5c5 \uc7ac\uc120\uc815','\ubbf8\uad6d FDA \ud604\uc7a5\uc2e4\uc0ac \uc774\uc218 \uc644\ub8cc']], ['2017',['ISO 22716 \uc6b0\uc218\ud654\uc7a5\ud488 \uc81c\uc870 \ubc0f \ud488\uc9c8\uad00\ub9ac\uae30\uc900 \ud68d\ub4dd','\uc911\uc18c\uae30\uc5c5\uccad \uc218\ucd9c\uc720\ub9dd\uae30\uc5c5 \uc7ac\uc120\uc815','\uc911\uad6d \ucd98\uacc4 \uad11\uc800\uc6b0 \ud654\uc7a5\ud488 \ubc15\ub78c\ud68c \ucc38\uac00','\ud0dc\uad6d K-BEAUTY EXPO BANGKOK \ucc38\uac00','\uc720\ub7fd K-beauty in Europe \ucc38\uac00','\ucf54\uc2a4\ubaa8 \ubdf0\ud2f0 \ubca0\ud2b8\ub0a8 \ucc38\uac00']], ['2016',['\uc911\uad6d \ud64d\ucf69 \uc218\ucd9c\uc0c1\ub2f4\ud68c \ucc38\uac00','\ub300\uad6c \ubb34\uc5ed\uc0ac\uc808\ub2e8 \ucc38\uac00','\ub3d9\ub0a8\uc544 \ubb34\uc5ed\uc0ac\uc808\ub2e8 \ucc38\uac00','\ud0dc\uad6d K-BEAUTY EXPO BANGKOK \ucc38\uac00']], ['2015',['\uc911\uad6d \ub0b4 \uc678\uc790\ubc95\uc778 \uc124\ub9bd','\uc911\uad6d \ucd98\uacc4 \uad11\uc800\uc6b0 \ud654\uc7a5\ud488 \ubc15\ub78c\ud68c \ucc38\uac00','\ub300\uad6c\uad11\uc5ed\uc2dc Pre\uc2a4\ud0c0\uae30\uc5c5 \uc120\uc815','\ud0dc\uad6d Beauty Beyond Expo \ucc38\uac00','\ud0dc\uad6d \uc0c1\ud45c \ub4f1\ub85d 2\uac74 \ucd9c\uc6d0','\ub300\uad6c\uc5ec\uc131\uac00\uc871\uc7ac\ub2e8 \uc6b0\uc218\uae30\uc5c5 \ud45c\ucc3d','\ub300\uad6c\ud14c\ud06c\ub178\ud30c\ud06c \uc9c0\uc5ed\uc8fc\ub825\uc0b0\uc5c5\uc721\uc131\uc0ac\uc5c5']], ['2014',['\uc911\uad6d \uc704\uc0dd\ud5c8\uac00 56\uac1c \ud488\ubaa9 \ud68d\ub4dd','\ubca0\ud2b8\ub0a8 \uc704\uc0dd\ud5c8\uac00 98\uac1c \ud488\ubaa9 \ud68d\ub4dd','\uae30\uc5c5\ubd80\uc124\uc5f0\uad6c\uc18c \uc124\ub9bd','\uc911\uad6d \uc0c1\ud574\uc9c0\uc0ac \uc124\ub9bd','\uc218\ucd9c\uc720\ub9dd\uae30\uc5c5 \uc120\uc815','\uc704\ud5d8\uc131\ud3c9\uac00 \uc6b0\uc218 \uc0ac\uc5c5\uc7a5 \uc778\uc815','\ub300\uad6c\uacbd\ubd81\uc9c0\ubc29\uc911\uc18c\uae30\uc5c5\uccad\uc7a5 \ud45c\ucc3d(\uacbd\uc601\ud601\uc2e0, \uae30\uc220\uac1c\ubc1c \ubd84\uc57c)','\uc18c\ube44\uc790\uac00 \uc2e0\ub8b0\ud558\ub294 \ube0c\ub79c\ub4dc \ub300\uc0c1 \uc218\uc0c1']], ['2013',['\ud560\ub784\uc778\uc99d \ud68d\ub4dd','\uc911\uc18c\uae30\uc5c5 HIT500 \uae30\uc5c5 \uc120\uc815','IP\uc2a4\ud0c0\uae30\uc5c5 \uc120\uc815','\uc0c1\uacf5\ud68c\uc758\uc18c \uc6f9\uc2e4\uc778\uc99d \ub9c8\ud06c \ud68d\ub4dd','\ud64d\ucf69 \uc218\ucd9c','\ubdf0\ud2f0\ub808\uc2dc\ud53c \ube0c\ub79c\ub4dc \ub7f0\uce6d']], ['2012',['\ud0dc\uad6d \uc815\ubd80\uae30\uad00 \uc0ac\uc774\uc5b8\uc2a4\ud30c\ud06c \ud654\uc7a5\ud488 \uacf5\ub3d9 \uc5f0\uad6c\uac1c\ubc1c \uccb4\uacb0','\ud504\ub791\uc2a4, \uce90\ub098\ub2e4 \uc218\ucd9c','\ub9d0\ub808\uc774\uc2dc\uc544 \ud55c\uad6d 9\ub300 \ube0c\ub79c\ub4dc \uc804\uc2dc\uad00 \uc785\uc810']], ['2011',['\uc77c\ubcf8 \ub3c4\ucfc4 \ubc0f \uc624\uc0ac\uce74 \ucd1d\ud310 \uacc4\uc57d','\ubbf8\uad6d \ub274\uc695 \uba54\ub514\uceec\uc13c\ud130 \uae30\ub2a5\uc131\ud654\uc7a5\ud488 OEM \uacc4\uc57d','\ubca8\uae30\uc5d0, \ub124\ub35c\ub780\ub4dc, \ub374\ub9c8\ud06c, \uc2a4\uc6e8\ub374, \ud540\ub780\ub4dc, \uc5d0\uc2a4\ud1a0\ub2c8\uc544 \uc218\ucd9c']], ['2010',['\ubb34\uc5ed\uc758 \ub0a0 \uc218\ucd9c \uc6b0\uc218\uae30\uc5c5 \ub300\uad6c\uc2dc\uc7a5 \ud45c\ucc3d','\ub300\ub9cc \ucd1d\ud310 \uacc4\uc57d','\uc2f1\uac00\ud3f4, \uc0ac\uc6b0\ub514\uc544\ub77c\ube44\uc544 \uc218\ucd9c']], ['2009',['\uc911\uad6d\u00b7\ubca0\ud2b8\ub0a8 \uc9c0\uc0ac \uc124\ub9bd']], ['2007',['\ubbf8\uad6d FDA\uc778\uc99d \ud654\uc7a5\ud488 \uc81c\uc870\uc0dd\uc0b0\uacf5\uc7a5 \ub4f1\ub85d \uc2b9\uc778','\ubbf8\uad6d FDA\uc778\uc99d \ud654\uc7a5\ud488 \uc548\uc815\uc131 \ud14c\uc2a4\ud2b8 \ud1b5\uacfc \uc2b9\uc778']], ['2006',['\ub178\ub3d9\ubd80 \uc778\uc99d \ud074\ub9b0\uc0ac\uc5c5\uc7a5 \uc2b9\uc778']],['2004',['ISO 14001 \ud658\uacbd\uc778\uc99d \ud68d\ub4dd']],['2001',['ISO 9001 \ud488\uc9c8\uc778\uc99d \ud68d\ub4dd']],['1985',['\ud55c\ubc29\ubbf8\uc778\ud654\uc7a5\ud488 HBMIC \uc124\ub9bd \ubc0f \uacf5\uc7a5 \ub4f1\ub85d']]]; var reduce=matchMedia('(prefers-reduced-motion: reduce)').matches; var E1='cubic-bezier(.2,.7,.2,1)',E2='cubic-bezier(.65,0,.2,1)',EB='cubic-bezier(.34,1.56,.64,1)'; function $(s,r){return (r||document).querySelector(s)}function $$(s,r){return [].slice.call((r||document).querySelectorAll(s))} function A(el,kf,o){if(!el||reduce){if(el&&kf.length){var last=kf[kf.length-1];for(var k in last)if(k!=='offset')el.style[k]=last[k]}return null}o.fill=o.fill||'both';return el.animate(kf,o)} function esc(s){return s.replace(/[&<>"]/g,function(c){return{'&':'&','<':'<','>':'>','"':'"'}[c]})} function paper(no){return ''} function card(d){return ''} $('#isoMain').innerHTML=paper('03'); $('#isoList').innerHTML=ISO.map(card).join('');$('#corpList').innerHTML=CORP.map(card).join('');$('#awardList').innerHTML=AWARD.map(card).join(''); $('#fullh').innerHTML=FULL.map(function(y){return '
'+y[0]+'
'}).join(''); var lg='';for(var r=0;r<2;r++)for(var i=1;i<=13;i++)lg+='