1<!DOCTYPE html> 2<html lang="ko"> 3 4 5 6<head>
6<script>(function(i, s, o, g, r) { 7 var a = s.createElement(o); 8 var m = s.getElementsByTagName(o)[0]; 9 a.async = true; 10 a.src = g; 11 a.onload = function() { 12 if (i[r].init) { 13 i[r].init('https://js-error-tracer-api.cafe24.com', 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ1bHRyYWRvYzEuY2FmZTI0LmNvbSIsImF1ZCI6ImpzLWVycm9yLXRyYWNlci1hcGkuY2FmZTI0LmNvbSIsIm1hbGxfaWQiOiJ1bHRyYWRvYzEiLCJzaG9wX25vIjoxLCJwYXRoX3JvbGUiOiJQUk9EVUNUX1JFQ0VOVCIsImxhbmd1YWdlX2NvZGUiOiJrb19LUiIsImNvdW50cnlfY29kZSI6IktSIiwiaXNfeXRzIjpmYWxzZSwiaXNfY29udGFpbmVyIjpmYWxzZSwid29ya3NwYWNlIjoicHJvZHVjdGlvbiJ9.D216Qw2WeJWslfn-oM_DhWtuq5IKBLFKK3AeCPJy5Kg', {"errors":{"path":"\/api\/v1\/store","collectWindowErrors":true,"preventDuplicateReports":true,"storageKeyPrefix":"EC_JET.PRODUCT_RECENT","samplingEnabled":true,"samplingRate":0.5},"vitals":{"path":"\/api\/v1\/vitals","samplingEnabled":true,"samplingRate":0.3},"resources":{"path":"\/api\/v1\/resources","samplingEnabled":true,"samplingRate":0.5,"durationThreshold":3000}}); 14 } 15 }; 16 m.parentNode.insertBefore(a, m); 17}(window, document, 'script', '//assets.poxo.com/jet/jet.js', 'EC_JET'));</script>
vendor: 1 bytes, line 17
17
18<script type="text/javascript">window.CAFE24 = window.CAFE24 || {};CAFE24.ROUTE = {"is_mobile":false,"is_need_route":false,"language_code":"ZZ","path":{"origin":"\/product\/recent_view_product.html","result":"\/product\/recent_view_product.html","prefix":""},"shop_no":0,"skin_code":"default","support_language_list":{"ar":"ar_EG","ar-EG":"ar_EG","de":"de_DE","de-DE":"de_DE","en":"en_US","en-IN":"en_IN","en-PH":"en_PH","en-US":"en_US","es":"es_ES","es-ES":"es_ES","hi":"hi_IN","hi-IN":"hi_IN","id":"id_ID","id-ID":"id_ID","it":"it_IT","it-IT":"it_IT","ja":"ja_JP","ja-JP":"ja_JP","ko":"ko_KR","ko-KR":"ko_KR","ms":"ms_MY","ms-MY":"ms_MY","pt":"pt_PT","pt-PT":"pt_PT","ru":"ru_RU","ru-RU":"ru_RU","th":"th_TH","th-TH":"th_TH","tr":"tr_TR","tr-TR":"tr_TR","vi":"vi_VN","vi-VN":"vi_VN","zh":"zh_CN","zh-CN":"zh_CN","zh-HK":"zh_HK","zh-MO":"zh_MO","zh-SG":"zh_SG","zh-TW":"zh_TW"}};</script>
18<script type="text/javascript">if (typeof EC_ROUTE === "undefined") { 19 /** 20 * íë¡ í¸ì© ë¼ì°í¸ íë¬ê·¸ì¸ 21 * @type {{bInit: boolean, init: EC_ROUTE.init}} 22 * CAFE24.ROUTE 참조 23 */ 24 var EC_ROUTE = { 25 EC_DOMAIN_PATH_INFO: 'EC_DOMAIN_PATH_INFO', 26 bInit: false, 27 aFromList: [], 28 aToList: [], 29 aCleanFilter: null, 30 init: function () { 31 if (this.bInit || typeof CAFE24.ROUTE === 'undefined') { 32 return; 33 } 34 this.bInit = true; 35 this.aCleanFilter = [ 36 /^shop[1-9][0-9]*$/, 37 /^(m|p)$/, 38 new RegExp('^(' + Object.keys(CAFE24.ROUTE.support_language_list).join('|') + ')$'), 39 /^skin-(base|skin[1-9][0-9]*|mobile[0-9]*)$/, 40 ]; 41 }, 42 isNeedRoute: function () 43 { 44 return CAFE24.ROUTE.is_need_route; 45 }, 46 /** 47 * 48 * @param iShopNo 49 * @param bMobile 50 * @param sFrontLanguage 51 * @param sSkinCode 52 * @returns {*|string} 53 */ 54 getUrlDomain: function (iShopNo, bMobile, sFrontLanguage, sSkinCode) 55 { 56 var oRouteConfig = {}; 57 if (typeof iShopNo == 'undefined') { 58 oRouteConfig.shop_no = CAFE24.SDE_SHOP_NUM; 59 } else { 60 oRouteConfig.shop_no = iShopNo; 61 } 62 if (typeof bMobile == 'undefined') { 63 oRouteConfig.is_mobile = false; 64 } else { 65 oRouteConfig.is_mobile = bMobile; 66 } 67 if (typeof sFrontLanguage == 'undefined') { 68 oRouteConfig.language_code = ''; 69 }else { 70 oRouteConfig.language_code = sFrontLanguage; // ë´ë¶ìì ë¡ì§ì¼ë¡ ëìí ë ì¸ì´_ì§ì ííì ë¡ì¼ì¼ íí를 ë°ë¥¸ë¤. 71 } 72 if (typeof sSkinCode == 'undefined') { 73 oRouteConfig.skin_code = ''; 74 }else { 75 oRouteConfig.skin_code = sSkinCode; 76 } 77 78 var sDomain = ''; 79 if (oRouteConfig.shop_no != CAFE24.SDE_SHOP_NUM) { 80 // ì ê·¼ë ë¤ë¥¸ ë©í°ìµ ëë©ì¸ ì ë³´ë primary domain 를 ì¡°íí´ì¼í¨ì¼ë¡ ajax 를 íµí´ ì 보를 ì»ëë¤. 81 sDomain = this._getUrlDomainMultishop(oRouteConfig); 82 } else { 83 // ìµì´ ëì¼í ê²½ì°ìë ì ê·¼ë domain ì path ì ë³´ë§ ì 리íì¬ ë°íí¨. 84 sDomain = this._getUrlDomain(oRouteConfig); 85 } 86 return sDomain; 87 }, 88 _getUrlDomainMultishop: function (oRouteConfig) 89 { 90 var sDomain = ''; 91 EC$.ajax({ 92 type: 'GET', 93 url: '/exec/front/Shop/Domain', 94 data: { 95 '_shop_no' : oRouteConfig.shop_no, 96 'is_mobile' : oRouteConfig.is_mobile, 97 'language_code' : oRouteConfig.language_code, 98 'skin_code' : oRouteConfig.skin_code, 99 }, 100 async: false, 101 dataType: 'json', 102 cache: true, 103 success: function(oResult) { 104 switch (oResult.code) { 105 case '0000' : 106 sDomain = oResult.data; 107 break; 108 default : 109 break; 110 } 111 return false; 112 } 113 }); 114 return sDomain; 115 }, 116 _getUrlDomain: function (oRouteConfig) 117 { 118 oRouteConfig.domain = this._getCreateHost(oRouteConfig); 119 return location.protocol + '//' + oRouteConfig.domain + this._getCreateUri(oRouteConfig); 120 }, 121 _getCreateHost : function (oRouteConfig) 122 { 123 var sHost = location.host; 124 var aHost = sHost.split('.'); 125 if (this.isBaseDomain(sHost)) { 126 if (aHost.length > 3) { 127 aHost[0] = ''; 128 } 129 } else if (oRouteConfig.is_mobile) { 130 if (this.isMobileDomain()) { 131 oRouteConfig.is_mobile = false;
132 } 133 } 134 return aHost.filter(Boolean).join('.'); 135 }, 136 _getCreateUri: function (oRouteInfo) 137 { 138 var aUrl = []; 139 if (this.isBaseDomain() && oRouteInfo.shop_no > 1) { 140 aUrl.push('shop' + oRouteInfo.shop_no); 141 } 142 if (oRouteInfo.is_mobile) { 143 aUrl.push('m'); 144 } 145 if (oRouteInfo.language_code != 'ZZ' && oRouteInfo.language_code != '') { 146 var iIndex = Object.values(CAFE24.ROUTE.support_language_list).indexOf(oRouteInfo.language_code); 147 if (iIndex !== -1) { 148 aUrl.push(Object.keys(CAFE24.ROUTE.support_language_list)[iIndex]); 149 } 150 } 151 if (this.isBaseDomain() && oRouteInfo.skin_code != 'default' && oRouteInfo.skin_code != '') { 152 aUrl.push('skin-' + oRouteInfo.skin_code); 153 } 154 var sUrl= '/'; 155 if (aUrl.length > 0) { 156 sUrl= '/' + aUrl.join('/'); 157 sUrl = this.rtrim(sUrl, '/'); 158 } 159 return sUrl; 160 }, 161 /** 162 * en, en-US => en_US 163 */ 164 convertValidLanguageCode: function (sUrlLanguageCode) 165 { 166 if (typeof CAFE24.ROUTE.support_language_list[sUrlLanguageCode] != 'undefined') { 167 return CAFE24.ROUTE.support_language_list[sUrlLanguageCode]; 168 } 169 return false; 170 }, 171 isMobileDomain: function (sHost) 172 { 173 if (typeof sHost == 'undefined') { 174 sHost = location.host; 175 } 176 var aMatched = sHost.match(/^(m|mobile|skin\-mobile|skin\-mobile[0-9]+[\-]{2}shop[0-9]+|skin\-mobile[0-9]+|mobile[\-]{2}shop[0-9]+)\./i); 177 return aMatched != null; 178 }, 179 isBaseDomain: function (sHost) 180 { 181 if (typeof sHost == 'undefined') { 182 sHost = location.host; 183 } 184 return sHost.indexOf(CAFE24.GLOBAL_INFO.getRootDomain()) !== -1; 185 }, 186 removePrefixUrl: function (sUrl) 187 { 188 if (this.isNeedRoute()) { 189 sUrl = sUrl.replace(this.getPrefixUrl('/'), '/'); // ìëì¼ë¡ prefix ë¶ì ììì ì ê±°í´ì¤ë¤. 190 } 191 return sUrl; 192 }, 193 getPrefixUrl: function (sUrl) 194 { 195 if (this.isNeedRoute() === false) { 196 return sUrl; 197 } 198 if (sUrl.indexOf('/') !== 0) { 199 return sUrl; 200 } 201 if (sUrl.match(/^\/{2,}/) !== null) { 202 return sUrl; 203 } 204 205 var iCachedPosition = this.aFromList.indexOf(sUrl); 206 if (iCachedPosition > -1) { 207 return this.aToList[iCachedPosition]; 208 } 209 210 var bTailSlash = (sCleanUrl !== '/' && sUrl.substr(-1) === '/'); 211 var sCleanUrl = this.getCleanUrl(sUrl); 212 var aPrefixPart = CAFE24.ROUTE.path.prefix.split('/'); 213 var aUrlPart = sCleanUrl.split('/'); 214 var bMatched = true; 215 var sReturnUrl = sCleanUrl; 216 if (aUrlPart.length < aPrefixPart.length) { 217 bMatched = false; 218 } else { 219 for (var i = 0; i < aPrefixPart.length ; i++) { 220 if (aPrefixPart[i] != aUrlPart[i]) { 221 bMatched = false; 222 break; 223 } 224 } 225 } 226 if (bMatched === false) { 227 if (sCleanUrl == '/') { 228 sReturnUrl = CAFE24.ROUTE.path.prefix; 229 } else { 230 sReturnUrl = CAFE24.ROUTE.path.prefix + sCleanUrl; 231 } 232 sReturnUrl = bTailSlash ? sReturnUrl : this.rtrim(sReturnUrl, '/') 233 this.aFromList.push(sUrl); 234 this.aToList.push(sReturnUrl); 235 } 236 return sReturnUrl; 237 }, 238 /** 239 * document.location.pathname ì´ íìí ê²½ì° ì¬ì©íë¤. 240 * @returns {*} 241 */ 242 getPathName: function() 243 { 244 if (typeof CAFE24.ROUTE.path.result == 'undefined') { 245 return document.location.pathname; 246 } 247 return CAFE24.ROUTE.path.result; 248 }, 249 rtrim: function (str, chr) 250 { 251 var rgxtrim = (!chr) ? new RegExp('\\s+$') : new RegExp(chr+'+$'); 252 return str.replace(rgxtrim, ''); 253 }, 254 getShopNo: function () 255 { 256 return CAFE24.ROUTE.shop_no; 257 }, 258 getSkinCode: function () 259 { 260 return CAFE24.ROUTE.skin_code; 261 }, 262 getLanguageCode: function () 263 { 264 return CAFE24.ROUTE.language_code; 265 }, 266 getMobile: function () 267 { 268 return CAFE24.ROUTE.is_mobile; 269 }, 270 getIsMobile: function () 271 { 272 return CAFE24.ROUTE.is_mobile || CAFE24.ROUTE.skin_code.match(/^mobile[0-9]*$/); 273 }, 274 getCleanUrl: function (sUrl) 275 { 276 if (sUrl === '/') { 277 return sUrl; 278 } 279 280 var aUrl = sUrl.split('/'); 281 aUrl.shift(); 282 283 if (aUrl.length < 1) { 284 return sUrl; 285 } 286 287 // íì¬ 4 depth ê¹ì§ 미리보기 기ë¥ì´ 구íëì´ìì 288 var iPos = 0; 289 var bFind = false;
290 for (var i = 0; i < aUrl.length ; i++) { 291 bFind = false; 292 for (var iSub = iPos, iSubCount = this.aCleanFilter.length; iSub < iSubCount ; iSub++) { 293 if (aUrl[i].match(this.aCleanFilter[iSub]) !== null) { 294 bFind = true; 295 iPos = iSub + 1; 296 aUrl.splice(i, 1); 297 i--; // aUrl ì ìì í´ ì£¼ìì¼ë ê²ì ì¡°ê±´ì -1 ì ê±°íì¬ ì´ê¸°í íë¤. ë¤ì for i++ ë¡ ì¦ê° ì¡°íë¨. 298 break; 299 } 300 } 301 if (bFind === false) { 302 break; 303 } 304 } 305 return '/' + aUrl.join('/'); 306 }, 307 getIsEasyUrl : function () 308 { 309 return !window.location.pathname.match(/^[\w\/\-\.]+(php|html|htm)$/i); 310 } 311 }; 312 EC_ROUTE.init(); 313} 314</script>
314 315<meta name="path_role" content="PRODUCT_RECENT" /> 316<meta name="author" content="Saintpain" /> 317<meta name="description" content="SAINTPAIN. The official online store of SAINTPAIN. ì¸ì¸í¸íì¸ ê³µì ì¨ë¼ì¸ ì¤í ì´." /> 318<meta name="keywords" content="OUTER, TOP, BOTTOM, EYEWEAR, ACCESSORY, SALE, SAINTPAIN" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 319 320 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 321 <meta name="format-detection" content="telephone=no"/> 322 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, minimum-scale=1.0, user-scalable=yes"/> 323 <!-- PG í¬ë¡ì¤ë¸ë¼ì°ì§ íì --> 324 <meta http-equiv="Cache-Control" content="no-cache"> 325 <meta http-equiv="Expires" content="0"> 326 <meta http-equiv="Pragma" content="no-cache"> 327 328 329 330 <!-- ===================================================== 331 SAINTPAIN WEB FONTS 332 333 ENGLISH : ADOBE HELVETICA NEUE WORLD 334 KOREAN : PRETENDARD 335 ====================================================== --> 336 337 <link rel="stylesheet" href="https://use.typekit.net/fcy5mqq.css"> 338 339 <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/[email protected]/dist/web/static/pretendard-dynamic-subset.min.css"> 340 341 342 <!-- ===================================================== 343 CAFE24 BASE CSS 344 ====================================================== --> 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 <!-- Cafe24 기본 í ë§ í°í¸ 363 í ë§ ìì¤í í¸í ë문ì ì ì§. 364 ì¤ì SAINTPAIN íë©´ í°í¸ë ìë GLOBAL FONTê° ì°ì ì ì©ë¨. 365 --> 366 367 <link rel="preconnect" href="https://fonts.googleapis.com"> 368 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 369 370 <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&
370family=Poppins:wght@300;400;500;700&display=swap" rel="stylesheet"> 371 372 <link href="https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;700;800&display=swap" rel="stylesheet"> 373 374 <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet"> 375 376 377 <!-- ===================================================== 378 CAFE24 JS / CSS 379 ====================================================== --> 380 381 382 383 384 385 386 387 388 389 390 391
391<script> 392 try { 393 window.EZST = { 394 q: [], 395 register: function (a, b) { 396 this.push([ 397 a, 398 (b.init || b)(), 399 arguments 400 ]); 401 } 402 }; 403 } catch (e) {} 404 </script>
404 405 406 <!--ez-favicon[--> 407 <!--ez-favicon]--> 408 409 410 411 412 <!-- ===================================================== 413 CAFE24 THEME DATA 414 ====================================================== --> 415 416
416<script type="text/ez-prop"> 417 <ez-prop data-version="1.0.0"> 418 419 <ez-var 420 data-prop="theme" 421 data-namespace="ez.layout.theme" 422 data-type="array" 423 > 424 425 <ez-item 426 data-id="theme01" 427 data-name="SIMPLE" 428 data-desc="ê¹ëíê³ ì¬íí ì¤íì¼" 429 data-font="Noto Sans KR" 430 data-background-color="#000000" 431 override-value="html" 432 data-font-css="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Poppins:wght@300;400;500;700&display=swap" 433 > 434 ê¹ëíê³ ì¬íí ì¤íì¼ 435 436 <style> 437 .theme-box.type1 .desc { 438 color:#fff; 439 font-weight:400; 440 } 441 442 .theme-box .word { 443 color:#fff; 444 } 445 </style> 446 </ez-item> 447 448 449 <ez-item 450 data-id="theme02" 451 data-name="SIMPLE2" 452 data-desc="ê¹ëíê³ ì¬íí ì¤íì¼" 453 data-font="Nanum Gothic" 454 data-background-color="#000000" 455 data-font-css="https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;700;800&family=Poppins:wght@300;400;500;700&display=swap" 456 ></ez-item> 457 458 459 <ez-item 460 data-id="theme03" 461 data-name="DELICATE" 462 data-desc="ììíê³ ì°¨ë¶í ì¤íì¼" 463 data-font="Noto Sans KR" 464 data-background-color="#7083ae" 465 data-font-css="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Poppins:wght@300;400;500;700&display=swap" 466 ></ez-item> 467 468 469 <ez-item 470 data-id="theme04" 471 data-name="LUXURY" 472 data-desc="ì°ìíê³ ëì 리í ì¤íì¼" 473 data-font="Noto Sans KR" 474 data-background-color="#7b4747" 475 data-font-css="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Roboto:wght@300;400;500;700&display=swap" 476 ></ez-item> 477 478 </ez-var> 479 480 </ez-prop> 481 </script>
481 482 483 484 <style> 485 /* ========================================================= 486 SAINTPAIN GLOBAL FONT 487 488 ENGLISH 489 Adobe Fonts 490 "helvetica-neue-world" 491 492 KOREAN 493 Pretendard 494 495 ì¼ë° í ì¤í¸ : 300 496 ì 목/ê°ì¡° : 400 497 ========================================================= */ 498 499 500 html, 501 body { 502 font-family: 503 "helvetica-neue-world", 504 Pretendard, 505 "Apple SD Gothic Neo", 506 Arial, 507 sans-serif; 508 509 font-weight:300; 510 511 font-synthesis:none; 512 } 513 514 515 /* 516 * #wrapì í¬í¨íì¬ ì§ì íë ì´ì : 517 * 518 * ìì¸íì´ì§ / ê²ìí / ìíëª©ë¡ ë±ì ë¨ì ìë 519 * 기존 Helvetica, Poppins, Noto Sans ì ì¸ë³´ë¤ 520 * SAINTPAIN ê³µíµ í°í¸ë¥¼ ì°ì ì ì©í기 ìí¨. 521 */ 522 523 html body #wrap a, 524 html body #wrap p, 525 html body #wrap span, 526 html body #wrap div, 527 html body #wrap li, 528 html body #wrap td, 529 html body #wrap th, 530 html body #wrap label, 531 html body #wrap em, 532 html body #wrap caption, 533 html body #wrap button, 534 html body #wrap input, 535 html body #wrap select, 536 html body #wrap textarea { 537 font-family: 538 "helvetica-neue-world", 539 Pretendard, 540 "Apple SD Gothic Neo", 541 Arial, 542 sans-serif !important; 543 544 font-weight:300 !important; 545 546 font-synthesis:none !important; 547 } 548 549 550 /* 551 * ì 목 / ì¤ìí í ì¤í¸ 552 * 553 * ë무 êµµì 500~700 ëì 554 * 400ê¹ì§ë§ ì¬ì©. 555 */ 556 557 html body #wrap h1, 558 html body #wrap h2, 559 html body #wrap h3, 560 html body #wrap h4, 561 html body #wrap h5, 562 html body #wrap h6, 563 html body #wrap strong, 564 html body #wrap b { 565 font-family: 566 "helvetica-neue-world", 567 Pretendard, 568 "Apple SD Gothic Neo", 569 Arial, 570 sans-serif !important; 571 572 font-weight:400 !important; 573 574 font-synthesis:none !important; 575 } 576 577 578 /* 579 * Form UI 580 */ 581 582 html body button, 583 html body input, 584 html body select, 585 html body textarea { 586 font-family: 587 "helvetica-neue-world", 588 Pretendard, 589 "Apple SD Gothic Neo", 590 Arial, 591 sans-serif !important; 592 593 font-weight:300 !important; 594 595 font-synthesis:none !important; 596 } 597 598 599 /* ========================================================= 600 SAINTPAIN Q&A AUTHOR PRIVACY 601 ========================================================= */ 602 603 .sp-qna-privacy-writer { 604 color:#000 !important; 605 } 606 607 .sp-qna-privacy-admin { 608 text-transform:uppercase !important; 609 font-weight:400 !important; 610 } 611 612 613 /* ========================================================= 614 SAINTPAIN GLOBAL PAGE TRANSITION 615 ========================================================= */ 616 617 #spPageTransition { 618 position:fixed; 619 620 top:0; 621 right:0; 622 bottom:0; 623 left:0; 624 625 z-index:999999; 626 627 background:#fff; 628 629 opacity:1; 630 631 pointer-events:none; 632 633 transition: 634 opacity .34s cubic-bezier(.22,.61,.36,1); 635 636 will-change:opacity; 637 } 638 639 640 html.sp-page-loaded #spPageTransition { 641 opacity:0; 642 } 643 644 645 html.sp-page-leaving #spPageTransition { 646 opacity:1; 647 } 648 649 650 @media (prefers-reduced-motion: reduce) { 651 652 #spPageTransition { 653 transition-duration:.01ms; 654 } 655 656 } 657 </style> 658 659<link rel="icon" href="/path/to/favicon.ico"> 660<link rel="canonical" href="https://saintpain.co.kr/product/recent_view_product.html" /> 661<meta property="og:url" content="https://saintpain.co.kr/product/recent_view_product.html" /> 662<meta property="og:site_name" content="ì¸ì¸í¸íì¸ saintpain" /> 663<meta property="og:type" content="website" /> 664<meta property="og:image" content="https://saintpain.co.kr/web/upload/share-image-1-2047bb9d9a51221480ec03eb5d8dd2f2.png" /> 665<meta name="google-site-verification" content="_9Ek_Q6TStB07LCecb79NTauJfFR7PC7aHUzGKBY3zI" /> 666<link rel="shortcut icon" href="/web/upload/favicon-1a69594173891f34dd534159f0bafef5.ico" />
667<script type="text/javascript" src="//wcs.naver.net/wcslog.js"></script>
vendor: 1 bytes, line 667
667
668<script type="text/javascript">var CAFE24API = { instance: [], MALL_ID: 'ultradoc1', SHOP_NO: 1, basicAuthKeys: {}, setBasicAuthKey: function (clientId, basicAuthKey) { if (typeof basicAuthKey !== 'string') { return; } if (clientId) { CAFE24API.basicAuthKeys[clientId] = basicAuthKey; } else { CAFE24API.basicAuthKeys['default'] = basicAuthKey; } }, init: function (appInfo) { if (typeof appInfo == 'object') { if (appInfo.hasOwnProperty('client_id')) { var appKey = appInfo.client_id; } } else { var appKey = appInfo; } if (appKey) { if (!this.instance[appKey]) { CAFE24API.clientId = appKey; if (appInfo.hasOwnProperty('version')) { CAFE24API.version = appInfo.version; } else { if (CAFE24API.hasOwnProperty('version')) { delete CAFE24API.version; } } var copyObject = CAFE24API.constructor(); for (var attr in CAFE24API) { if (CAFE24API.hasOwnProperty(attr)) { copyObject[attr] = CAFE24API[attr]; } } this.instance[appKey] = copyObject; } return this.instance[appKey]; } }, initializeXhr: function () { try { return new XMLHttpRequest(); } catch (error) { return new window.ActiveXObject('Microsoft.XMLHTTP'); } }, fullPath: function (url) { return 'https://ultradoc1.cafe24api.com' + url; }, getLoginProvider: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'login': CAPP_ASYNC_METHODS.AppCommon.getLoginProvider() }); }, getCustomerProvider: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'login': CAPP_ASYNC_METHODS.AppCommon.getCustomerProvider() }); }, getMemberID: function (callback) { if (!CAPP_ASYNC_METHODS.IS_LOGIN) { callback(null); } else { callback(CAPP_ASYNC_METHODS.AppCommon.getMemberID()); } }, getEncryptedMemberId: function (client_id, callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, CAPP_ASYNC_METHODS.AppCommon.getEncryptedMemberId(client_id)); }, getMemberInfo: function (callback) { callback({ 'id': CAPP_ASYNC_METHODS.AppCommon.getMemberInfo() }); }, getCustomerIDInfo: function (callback) { if (!CAFE24API.__scopeErr(callback, 'application')) { return; } callback(null, { 'id': CAPP_ASYNC_METHODS.AppCommon.getCustomerIDInfo() }); }, getCustomerInfo: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'customer': CAPP_ASYNC_METHODS.AppCommon.getCustomerInfo() }); }, getDefaultShippingAddress: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'shipping_address': CAPP_ASYNC_METHODS.AppCommon.getDefaultShippingAddress() }); }, getMileageInfo: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'mileage': CAPP_ASYNC_METHODS.AppCommon.getMileageInfo() }); }, getPointInfo: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'point': CAPP_ASYNC_METHODS.AppCommon.getPointInfo() }); }, getDepositInfo: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'deposit': CAPP_ASYNC_METHODS.AppCommon.getDepositInfo() }); }, getCreditInfo: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'customer')) { return; } callback(null, { 'credit': CAPP_ASYNC_METHODS.AppCommon.getCreditInfo() }); }, getCartList: function (callback) { if (!CAFE24API.__scopeErr(callback, 'personal')) { return; } CAPP_ASYNC_METHODS.AppCommon.getCartList().then(function (data) { callback(null, { 'carts': data }); }); }, getCartInfo: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'personal')) { return; } callback(null, { 'cart': CAPP_ASYNC_METHODS.AppCommon.getCartInfo() }); }, getCartItemList: function (callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } callback(null, { 'items': CAPP_ASYNC_METHODS.AppCommon.getCartItemList() }); }, getCartCount: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'personal')) { return; } callback(null, CAPP_ASYNC_METHODS.AppCommon.getCartCount()); }, getCouponCount: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'promotion')) { return; } callback(null, CAPP_ASYNC_METHODS.AppCommon.getCouponCount()); }, getWishCount: function (callback) { if (!CAFE24API.__chkValidSessionScope(callback, 'personal')) { return; } callback(null, CAPP_ASYNC_METHODS.AppCommon.getWishCount()); }, getShopInfo: function (callback) { if (!CAFE24API.__scopeErr(callback, 'store')) { return; } callback(null, { 'shop': CAPP_ASYNC_METHODS.AppCommon.getShopInfo() }); }, addCurrentProductToCart: function (mall_id, time, app_key, member_id, hmac, callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } CAPP_ASYNC_METHODS.AppCommon.addCurrentProductToCart(mall_id, time, app_key, member_id, hmac).then(function (data) { callback(null, { 'cart': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error('422'), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, precreateOrder: function (mall_id, time, app_key, member_id, hmac, callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } CAPP_ASYNC_METHODS.AppCommon.precreateOrder(mall_id, time, app_key, member_id, hmac).then(function (data) { callback(null, { 'order': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error('422'), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, calculatePayment: function (mall_id, request_time, app_key, member_id, request_data_json, hmac, callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } CAPP_ASYNC_METHODS.AppCommon.calculatePayment(mall_id, request_time, app_key, member_id, request_data_json, hmac).then(function (data) { callback(null, { 'expected_payment': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error('422'), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, precreateOrderV2: function (mall_id, time, app_key, member_id, request_data_json, hmac, callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } CAPP_ASYNC_METHODS.AppCommon.precreateOrderV2(mall_id, time, app_key, member_id, request_data_json, hmac).then(function (data) { callback(null, { 'order': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error('422'), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, getOrderItemList: function (start_date, end_date, order_status, page, count, order_id, callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } CAPP_ASYNC_METHODS.AppCommon.getOrderItemList(start_date, end_date, order_status, page, count, order_id).then(function (data) { callback(null, { 'items': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error(422), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, getOrderDetailInfo: function (shop_no, order_id, callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } CAPP_ASYNC_METHODS.AppCommon.getOrderDetailInfo(shop_no, order_id).then(function (data) { callback(null, { 'orders': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error(422), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, getClaimableItemList: function (order_id, customer_service_type, callback) { if (!CAFE24API.__scopeErr(callback, 'order')) { return; } CAPP_ASYNC_METHODS.AppCommon.getClaimableItemList(order_id, customer_service_type).then(function (data) { callback(null, { 'items': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error(422), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, emptyCart: function (basket_shipping_type, callback) { if (!CAFE24API.__scopeErr(callback, 'personal')) { return; } CAPP_ASYNC_METHODS.AppCommon.emptyCart(basket_shipping_type).then(function (data) { callback(null, { 'result': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error(422), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }
668, deleteCartItems: function (basket_shipping_type, product_list, callback) { if (!CAFE24API.__scopeErr(callback, 'personal')) { return; } CAPP_ASYNC_METHODS.AppCommon.deleteCartItems(basket_shipping_type, product_list).then(function (data) { callback(null, { 'result': data }); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error(422), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }); }, addCart: function (basket_type, prepaid_shipping_fee, product_list, callback) { if (!CAFE24API.__scopeErr(callback, 'personal')) { return; } CAPP_ASYNC_METHODS.AppCommon.addCart(basket_type, prepaid_shipping_fee, product_list).then(function (data) { callback(null, data); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error(422), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }) }, addBundleProductsCart: function (basket_type, prepaid_shipping_fee, product_list, callback) { if (!CAFE24API.__scopeErr(callback, 'personal')) { return; } CAPP_ASYNC_METHODS.AppCommon.addBundleProductsCart(basket_type, prepaid_shipping_fee, product_list).then(function (data) { callback(null, data); }).catch(function (data) { if (data) { callback(new Error('422'), { 'error': { code: data.code, message: data.message } }); } else { callback(new Error(422), { 'error': { code: 422, message: 'This sdk is not available on the current page' } }); } }) }, get: function (url, callback) { return CAFE24API.complete('GET', url, this, null, callback); }, post: function (url, params, callback) { return CAFE24API.complete('POST', url, this, params, callback); }, put: function (url, params, callback) { return CAFE24API.complete('PUT', url, this, params, callback); }, delete: function (url, callback) { return CAFE24API.complete('DELETE', url, this, null, callback); }, complete: function (method, url, obj, params, callback) { var xhr = CAFE24API.sendXhr(method, url, obj, params, callback); xhr.onreadystatechange = function () { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status >= 200 && xhr.status <= 208) { callback(null, JSON.parse(xhr.responseText)); } else { callback(new Error(xhr.status), JSON.parse(xhr.responseText)); } } }; }, sendXhr: function (method, url, obj, params, callback) { if (method !== 'POST') { var url = obj.fullPath(url); } var xhr = obj.initializeXhr(); var queryVars = {}; if (obj.clientId) queryVars['cafe24_app_key'] = obj.clientId; if (obj.version) queryVars['cafe24_api_version'] = obj.version; var basicAuthKey = CAFE24API.basicAuthKeys[obj.clientId] || CAFE24API.basicAuthKeys['default']; if (basicAuthKey && basicAuthKey.length > 0) { queryVars['authorization'] = 'Basic ' + basicAuthKey; } if (params === null) { var seperator = url.indexOf('?') == -1 ? '?' : '&'; var queryString = []; for (var key in queryVars) { queryString.push(key + '=' + encodeURIComponent(queryVars[key])); } if (queryString.length > 0) { url = url + seperator + queryString.join('&'); } } xhr.open(method, url, true); if (typeof params == 'object' && params !== null) { xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8'); for (var key in queryVars) { params[key] = queryVars[key]; } params = 'formData=' + JSON.stringify(params); } xhr.send(params || null); return xhr; }, __sessionErr: function (callback) { callback(new Error(403), { 'error': { code: 403, message: 'Failed to get session. Only available when log in.' } }); }, __scopeErr: function (callback, scope) { if (typeof CAFE24.APPSCRIPT_SDK_DATA != "undefined" && jQuery.inArray(scope, CAFE24.APPSCRIPT_SDK_DATA) > -1) { return true; } callback(new Error(403), { 'error': { code: 403, message: 'You do not have the necessary authority(scope) to use the SDK.' } }); }, __chkValidSessionScope: function (callback, scope) { if (!CAPP_ASYNC_METHODS.IS_LOGIN) { CAFE24API.__sessionErr(callback); return false; } if (!CAFE24API.__scopeErr(callback, scope)) { return false; } return true; } }; </script>
vendor: 1 bytes, line 668
668
669<script type="text/javascript"> 670window.CAFE24 = window.CAFE24 || {}; 671CAFE24.MANIFEST_CACHE_REVISION = '2610081510'; 672CAFE24.getDeprecatedNamespace = function(sDeprecatedNamespace, sSupersededNamespace) { 673var sNamespace = sSupersededNamespace 674? sSupersededNamespace 675: sDeprecatedNamespace.replace(/^EC_/, ''); 676return CAFE24[sNamespace]; 677} 678CAFE24.FRONT_LANGUAGE_CODE = "ko_KR"; 679CAFE24.MOBILE = false; 680CAFE24.MOBILE_DEVICE = false; 681CAFE24.MOBILE_USE = false; 682var EC_MOBILE = CAFE24.MOBILE; 683var EC_MOBILE_DEVICE = CAFE24.MOBILE_DEVICE; 684var EC_MOBILE_USE = CAFE24.MOBILE_USE; 685CAFE24.SKIN_CODE = "skin11"; 686CAFE24.FRONT_EXTERNAL_SCRIPT_VARIABLE_DATA = {"common_member_id_crypt":""}; 687var EC_FRONT_EXTERNAL_SCRIPT_VARIABLE_DATA = CAFE24.getDeprecatedNamespace('EC_FRONT_EXTERNAL_SCRIPT_VARIABLE_DATA'); 688CAFE24.SDE_SHOP_NUM = 1;CAFE24.SHOP = {getLanguage : function() { return "ko_KR"; },getSkinLanguageCode : function() { return "ko_KR"; },getCurrency : function() { return "KRW"; },getFlagCode : function() { return "KR"; },getTimezone: function() { return "Asia/Seoul" },getDateFormat: function() { return "Y-m-d" },isMultiShop : function() { return false; },isDefaultShop : function() { return true; },isDefaultLanguageShop : function(sLanguageCode) { return SHOP.isDefaultShop() && SHOP.isLanguageShop(sLanguageCode); },isKR : function() { return true; },isUS : function() { return false; },isJP : function() { return false; },isCN : function() { return false; },isTW : function() { return false; },isES : function() { return false; },isPT : function() { return false; },isVN : function() { return false; },isPH : function() { return false; },getCountryAndLangMap : function() { return { 689"KR": "ko_KR", 690"US": "en_US", 691"JP": "ja_JP", 692"CN": "zh_CN", 693"TW": "zh_TW", 694"VN": "vi_VN", 695"PH": "en_PH" 696}},isLanguageShop : function(sLanguageCode) { return sLanguageCode === "ko_KR"; },getDefaultShopNo : function() { return 1; },getProductVer : function() { return 2; },isSDE : function() { return true; },isMode : function() {return false; },getModeName : function() {return false; },isMobileAdmin : function() {return false; },isNewProMode : function() {return true; },isExperienceMall : function() { return false; },isDcollection : function() {return false; },isYoutubeShops : function() {return false; },getYtShopsShopNo : function() {return 0; },isFrontDesignChangeRequired : function() {return false;},isG2G : function() {return false; },isGlobale : function() {return false; },getAdminID : function() {return ''},getMallID : function() {return 'ultradoc1'},getCurrencyFormat : function(sPriceTxt, bIsNumberFormat) { 697sPriceTxt = String(sPriceTxt); 698var aCurrencySymbol = ["","\uc6d0",false]; 699if (typeof CAFE24.SHOP_PRICE !== 'undefined' && isNaN(sPriceTxt.replace(/[,]/gi, '')) === false && bIsNumberFormat === true) { 700// bIsNumberFormat ì¬ì©íë ¤ë©´ Ui(':libUipackCurrency')->plugin('Currency') íí ë¼ì´ë¸ë¬ë¦¬ ì¶ê° íì 701sPriceTxt = CAFE24.SHOP_PRICE.toShopPrice(sPriceTxt.replace(/[,]/gi, ''), true, CAFE24.SDE_SHOP_NUM); 702} 703try { 704var sPlusMinusSign = (sPriceTxt.toString()).substr(0, 1); 705if (sPlusMinusSign === '-' || sPlusMinusSign === '+') { 706sPriceTxt = (sPriceTxt.toString()).substr(1); 707return sPlusMinusSign + aCurrencySymbol[0] + sPriceTxt + aCurrencySymbol[1]; 708} else { 709return aCurrencySymbol[0] + sPriceTxt + aCurrencySymbol[1]; 710} 711} catch (e) { 712return aCurrencySymbol[0] + sPriceTxt + aCurrencySymbol[1]; 713} 714}};CAFE24.CURRENCY_INFO = {getOriginReferenceCurrency : function() {return 'USD'},getCurrencyList : function(sCurrencyCode) { var aCurrencyList = {"AED":{"currency_symbol":"فلس","decimal_place":2,"round_method_type":"R"},"AMD":{"currency_symbol":"\u058f","decimal_place":2,"round_method_type":"R"},"AOA":{"currency_symbol":"Kz","decimal_place":2,"round_method_type":"R"},"AUD":{"currency_symbol":"A$","decimal_place":2,"round_method_type":"R"},"BDT":{"currency_symbol":"৳","decimal_place":2,"round_method_type":"R"},"BHD":{"currency_symbol":".د.ب","decimal_place":3,"round_method_type":"R"},"BRL":{"currency_symbol":"R$","decimal_place":2,"round_method_type":"R"},"CAD":{"currency_symbol":"C$","decimal_place":2,"round_method_type":"R"},"CHF":{"currency_symbol":"Fr","decimal_place":2,"round_method_type":"R"},"CNY":{"currency_symbol":"¥","decimal_place":2,"round_method_type":"R"},"CRC":{"currency_symbol":"\u20a1","decimal_place":2,"round_method_type":"R"},"CVE":{"currency_symbol":"$","decimal_place":2,"round_method_type":"R"},"CZK":{"currency_symbol":"Kč","decimal_place":2,"round_method_type":"R"},"DJF":{"currency_symbol":"Fdj","decimal_place":0,"round_method_type":"F"},"DKK":{"currency_symbol":"kr","decimal_place":2,"round_method_type":"R"}
714,"DZD":{"currency_symbol":"\u062f.\u062c","decimal_place":2,"round_method_type":"R"},"ETB":{"currency_symbol":"Br","decimal_place":2,"round_method_type":"R"},"EUR":{"currency_symbol":"\u20ac","decimal_place":2,"round_method_type":"R"},"GBP":{"currency_symbol":"£","decimal_place":2,"round_method_type":"R"},"GEL":{"currency_symbol":"\u20be","decimal_place":2,"round_method_type":"R"},"GHS":{"currency_symbol":"GH\u20b5","decimal_place":2,"round_method_type":"R"},"GMD":{"currency_symbol":"D","decimal_place":2,"round_method_type":"R"},"GNF":{"currency_symbol":"FG","decimal_place":0,"round_method_type":"F"},"HKD":{"currency_symbol":"HK$","decimal_place":2,"round_method_type":"R"},"HUF":{"currency_symbol":"Ft","decimal_place":2,"round_method_type":"R"},"IDR":{"currency_symbol":"Rp","decimal_place":0,"round_method_type":"F"},"ILS":{"currency_symbol":"₪","decimal_place":2,"round_method_type":"R"},"INR":{"currency_symbol":"₹","decimal_place":2,"round_method_type":"R"},"JOD":{"currency_symbol":" دينار","decimal_place":3,"round_method_type":"R"},"JPY":{"currency_symbol":"¥","decimal_place":0,"round_method_type":"F"},"KES":{"currency_symbol":"KSh","decimal_place":2,"round_method_type":"R"},"KMF":{"currency_symbol":"CF","decimal_place":0,"round_method_type":"F"},"KWD":{"currency_symbol":"دينار","decimal_place":3,"round_method_type":"R"},"MAD":{"currency_symbol":"\u062f.\u0645.","decimal_place":2,"round_method_type":"R"},"MDL":{"currency_symbol":"L","decimal_place":2,"round_method_type":"R"},"MOP":{"currency_symbol":"MOP$","decimal_place":2,"round_method_type":"R"},"MVR":{"currency_symbol":"Rf","decimal_place":2,"round_method_type":"R"},"MWK":{"currency_symbol":"MK","decimal_place":2,"round_method_type":"R"},"MXN":{"currency_symbol":"Mex$","decimal_place":2,"round_method_type":"R"},"MYR":{"currency_symbol":"RM","decimal_place":2,"round_method_type":"R"},"NOK":{"currency_symbol":"kr","decimal_place":2,"round_method_type":"R"},"NZD":{"currency_symbol":"NZ$","decimal_place":2,"round_method_type":"R"},"PGK":{"currency_symbol":"K","decimal_place":2,"round_method_type":"R"},"PHP":{"currency_symbol":"₱","decimal_place":2,"round_method_type":"R"},"PKR":{"currency_symbol":"₨","decimal_place":2,"round_method_type":"R"},"PLN":{"currency_symbol":"z\u0142","decimal_place":2,"round_method_type":"R"},"RUB":{"currency_symbol":"\u0440\u0443\u0431","decimal_place":2,"round_method_type":"R"},"RWF":{"currency_symbol":"RF","decimal_place":0,"round_method_type":"F"},"SAR":{"currency_symbol":"﷼","decimal_place":2,"round_method_type":"R"},"SEK":{"currency_symbol":"kr","decimal_place":2,"round_method_type":"R"},"SGD":{"currency_symbol":"S$","decimal_place":2,"round_method_type":"R"},"SLL":{"currency_symbol":"Le","decimal_place":2,"round_method_type":"R"},"STN":{"currency_symbol":"Db","decimal_place":2,"round_method_type":"R"},"THB":{"currency_symbol":"฿","decimal_place":2,"round_method_type":"R"},"TND":{"currency_symbol":"\u062f.\u062a","decimal_place":3,"round_method_type":"R"},"TOP":{"currency_symbol":"T$","decimal_place":2,"round_method_type":"R"},"TRY":{"currency_symbol":"TL","decimal_place":2,"round_method_type":"R"},"TWD":{"currency_symbol":"NT$","decimal_place":0,"round_method_type":"F"},"TZS":{"currency_symbol":"TSh","decimal_place":2,"round_method_type":"R"},"UGX":{"currency_symbol":"USh","decimal_place":0,"round_method_type":"F"},"USD":{"currency_symbol":"$","decimal_place":2,"round_method_type":"R"},"VND":{"currency_symbol":"₫","decimal_place":0,"round_method_type":"F"},"VUV":{"currency_symbol":"VT","decimal_place":0,"round_method_type":"F"},"WST":{"currency_symbol":"WS$","decimal_place":2,"round_method_type":"R"},"XAF":{"currency_symbol":"FCFA","decimal_place":0,"round_method_type":"F"},"XOF":{"currency_symbol":"CFA","decimal_place":0,"round_method_type":"F"},"XPF":{"currency_symbol":"\u20a3","decimal_place":0,"round_method_type":"F"},"ZAR":{"currency_symbol":"R","decimal_place":2,"round_method_type":"R"},"ZMW":{"currency_symbol":"ZK","decimal_place":2,"round_method_type":"R"}}; return aCurrencyList[sCurrencyCode] },isUseReferenceCurrency : function() {return false }};CAFE24.COMMON_UTIL = {convertSslForString : function(sString) { return sString.replace(/http:/gi, '');},convertSslForHtml : function(sHtml) { return sHtml.replace(/((?:src|href)\s*=\s*['"])http:(\/\/(?:[a-z0-9\-_\.]+)\/)/ig, '$1$2');},getProtocol : function() { return 'https'; },moveSsl : function() { if (CAFE24.COMMON_UTIL.getProtocol() === 'http') { var oLocation = jQuery(window.location); var sUrl = 'https://' + oLocation.attr('host') + oLocation.attr('pathname') + oLocation.attr('search'); window.location.replace(sUrl); } },setEcCookie : function(sKey, sValue, iExpire) {var exdate = new Date();exdate.setDate(exdate.getDate() + iExpire);var setValue = escape(sValue) + "; domain=." + CAFE24.GLOBAL_INFO.getBaseDomain() + "; path=/;expires=" + exdate.toUTCString();document.cookie = sKey + "=" + setValue;}};CAFE24.SHOP_LIB_INFO = {getBankInfo : function() { 715var oBankInfo = ""; 716$.ajax({ 717type: "GET", 718url: "/exec/front/Shop/Bankinfo", 719dataType: "json", 720async: false, 721success: function(oResponse) { 722oBankInfo = oResponse; 723} 724}); 725return oBankInfo; }}; var EC_SDE_SHOP_NUM = CAFE24.SDE_SHOP_NUM; 726var SHOP = CAFE24.getDeprecatedNamespace('SHOP'); 727var EC_COMMON_UTIL = CAFE24.getDeprecatedNamespace('EC_COMMON_UTIL'); 728var EC_SHOP_LIB_INFO = CAFE24.getDeprecatedNamespace('EC_SHOP_LIB_INFO'); 729var EC_CURRENCY_INFO = CAFE24.getDeprecatedNamespace('EC_CURRENCY_INFO'); 730CAFE24.ROOT_DOMAIN = "cafe24.com"; 731CAFE24.API_DOMAIN = "cafe24api.com"; 732CAFE24.GLOBAL_INFO = (function() { 733var oData = {"base_domain":"ultradoc1.cafe24.com","root_domain":"cafe24.com","api_domain":"cafe24api.com","is_global":false,"is_global_standard":false,"country_code":"KR","language_code":"ko_KR","admin_language_code":"ko_KR","front_language_code":"ko_KR"}; 734return { 735getBaseDomain: function() { 736return oData['base_domain']; 737}, 738getRootDomain: function() { 739return oData['root_domain']; 740}, 741getApiDomain: function() { 742return oData['api_domain']; 743}, 744isGlobal: function() { 745return oData['is_global']; 746}, 747isGlobalStandard: function() { 748return oData['is_global_standard']; 749}, 750getCountryCode: function() { 751return oData['country_code']; 752}, 753getLanguageCode: function() { 754return oData['language_code']; 755}, 756getAdminLanguageCode: function() { 757return oData['admin_language_code']; 758}, 759getFrontLanguageCode: function() { 760return oData['front_language_code']; 761} 762}; 763})(); 764var EC_ROOT_DOMAIN = CAFE24.ROOT_DOMAIN; 765var EC_API_DOMAIN = CAFE24.API_DOMAIN; 766var EC_TRANSLATE_LOG_STATUS = CAFE24.TRANSLATE_LOG_STATUS; 767var EC_GLOBAL_INFO = CAFE24.getDeprecatedNamespace('EC_GLOBAL_INFO'); 768CAFE24.AVAILABLE_LANGUAGE = ["ko_KR","zh_CN","en_US","zh_TW","es_ES","pt_PT","vi_VN","ja_JP","en_PH"]; 769CAFE24.AVAILABLE_LANGUAGE_CODES = {"ko_KR":"KOR","zh_CN":"CHN","en_US":"ENG","zh_TW":"TWN","es_ES":"ESP","pt_PT":"PRT","vi_VN":"VNM","ja_JP":"JPN","en_PH":"PHL"}; 770var EC_AVAILABLE_LANGUAGE = CAFE24.AVAILABLE_LANGUAGE; 771var EC_AVAILABLE_LANGUAGE_CODES = CAFE24.AVAILABLE_LANGUAGE_CODES; 772CAFE24.GLOBAL_PRODUCT_LANGUAGE_CODES = { 773sClearanceCategoryCode: '', 774sManualLink: '//support.cafe24.com/hc/ko/articles/7739013909529', 775sHsCodePopupLink: 'https://www.wcotradetools.org/en/harmonized-system', 776aCustomRegex: '"PHL" : "^[0-9]{8}[A-Z]?$"', 777sCountryCodeData: 'kor', 778sEnglishExampleURlForGlobal: '', 779aReverseAddressCountryCode: ["VNM","PHL"], 780aSizeGuideCountryAlign: '["US","UK","EU","KR","JP","CN"]', 781aIsSupportTran: ["ja_JP","zh_CN","zh_TW","en_US","vi_VN","en_PH","pt_PT","es_ES"] 782}; 783var EC_GLOBAL_PRODUCT_LANGUAGE_CODES = CAFE24.getDeprecatedNamespace('EC_GLOBAL_PRODUCT_LANGUAGE_CODES'); 784CAFE24.GLOBAL_ORDER_LANGUAGE_CODES = { 785aModifyOrderLanguage: {"KR":"ko_KR","JP":"ja_JP","CN":"zh_CN","TW":"zh_TW","VN":"vi_VN","PH":"en_PH"}, 786aUseIdCardKeyCountry: ["CN","TW"], 787aLanguageWithCountryCode: {"zh_CN":["CN","CHN","HK","HNK"],"ja_JP":["JP","JPN"],"zh_TW":["TW","TW
787N"],"ko_KR":["KR","KOR"],"vi_VN":["VN","VNM"],"en_PH":["PH","PHL"]}, 788aCheckDisplayRequiredIcon: ["ja_JP","zh_CN","zh_TW","en_US","vi_VN","en_PH"], 789aSetReceiverName: {"zh_CN":{"sCountry":"CN","bUseLastName":true},"zh_TW":{"sCountry":"TW","bUseLastName":false},"ja_JP":{"sCountry":"JP","bUseLastName":true}}, 790aSetDeferPaymethodLanguage: {"ja_JP":"\uc77c\ubcf8","zh_CN":"\uc911\uad6d"}, 791aUseDeferPaymethod: ["ja_JP","zh_CN"], 792aCheckShippingCompanyAndPaymethod: ["ja_JP","zh_CN"], 793aSetDeferPaymethodLanguageForShipping: {"ja_JP":"\u65e5\u672c","zh_CN":"\uc911\uad6d"}, 794aCheckStoreByPaymethod: ["ja_JP","zh_CN"], 795aCheckIsEmailRequiredForJs: ["en_US","zh_CN","zh_TW","ja_JP","vi_VN","en_PH"], 796aSetIdCardKeyCountryLanguage: {"CN":"\uc911\uad6d\uc758","TW":"\ub300\ub9cc\uc758"}, 797aReverseGlobalAddress: ["en_PH","vi_VN","PHL","VNM","VN","PH"], 798aNoCheckZipCode: ["KOR","JPN"], 799aNotPostCodeAPICountryList: ["en_US","es_ES","pt_PT","en_PH"], 800aEnableSearchExchangeAddr: ["KR","JP","CN","VN","TW","PH"], 801aDuplicatedBaseAddr: ["TW","JP"], 802aReverseAddressCountryCode: ["VN","PH"], 803aCheckZipCode: ["PHL","en_PH","PH"] 804}; 805var EC_GLOBAL_ORDER_LANGUAGE_CODES = CAFE24.getDeprecatedNamespace('EC_GLOBAL_ORDER_LANGUAGE_CODES'); 806CAFE24.GLOBAL_MEMBER_LANGUAGE_CODES = { 807sAdminWebEditorLanguageCode: 'ko' , 808oNotAvailDecimalPointLanguages: ["ko_KR","ja_JP","zh_TW","vi_VN"], 809oAddressCountryCode: {"KOR":"ko_KR","JPN":"ja_JP","CHN":"zh_CN","TWN":"zh_TW","VNM":"vi_VN","PHL":"en_PH"}, 810}; 811var EC_GLOBAL_MEMBER_LANGUAGE_CODES = CAFE24.getDeprecatedNamespace('EC_GLOBAL_MEMBER_LANGUAGE_CODES'); 812CAFE24.GLOBAL_BOARD_LANGUAGE_CODES = { 813bUseLegacyBoard: true 814}; 815var EC_GLOBAL_BOARD_LANGUAGE_CODES = CAFE24.getDeprecatedNamespace('EC_GLOBAL_BOARD_LANGUAGE_CODES'); 816CAFE24.GLOBAL_MALL_LANGUAGE_CODES = { 817oDesign: { 818oDesignAddReplaceInfo: {"group_id":"SKIN.ADD.ADMIN.DESIGNDETAIL","replacement":{"KR":"KOREAN","US":"ENGLISH","JP":"JAPANESE","CN":"SIMPLIFIED.CHINESE","TW":"TRADITIONAL.CHINESE","ES":"SPANISH","PT":"PORTUGUESE","PH":"ENGLISH"}},
819oDesignDetailLanguageCountryMap: {"KR":"ko_KR","JP":"ja_JP","CN":"zh_CN","TW":"zh_TW","US":"en_US","ES":"es_ES","PT":"pt_PT","PH":"en_PH"}, 820oSmartDesignSwitchTipLink: {"edibot":{"img":"\/\/img.echosting.cafe24.com\/smartAdmin\/img\/design\/img_editor_dnd.png","link":"\/\/ecsupport.cafe24.com\/board\/free\/list.html?board_act=list&board_no=12&category_no=9&cate_no=9"},"smart":{"img":"\/\/img.echosting.cafe24.com\/smartAdmin\/img\/design\/ko_KR\/img_editor_smart.png","link":"\/\/sdsupport.cafe24.com"}}, 821oSmartDesignDecoShopList: ["ko_KR","ja_JP","zh_CN","en_US","zh_TW","es_ES","pt_PT"], 822oSmartDesignDecoMultilingual: {"list":{"ko_KR":"KOREAN","en_US":"ENGLISH","ja_JP":"JAPANESE","zh_CN":"SIMPLIFIED.CHINESE","zh_TW":"TRADITIONAL.CHINESE","es_ES":"SPANISH","pt_PT":"PORTUGUESE","vi_VN":"VIETNAMESE"},"group_id":"EDITOR.LAYER.EDITING.DECO"}, 823aSmartDesignModuleShopList: ["ko_KR","ja_JP","zh_CN","en_US","zh_TW","es_ES","pt_PT"] 824}, 825oStore: { 826oMultiShopCurrencyInfo: {"en_US":{"currency":"USD"},"zh_CN":{"currency":"USD","sub_currency":"CNY"},"ja_JP":{"currency":"JPY"},"zh_TW":{"currency":"TWD"},"es_ES":{"currency":"EUR"},"pt_PT":{"currency":"EUR"},"ko_KR":{"currency":"KRW"},"vi_VN":{"currency":"VND"},"en_PH":{"currency":"PHP"}}, 827oBrowserRedirectLanguage: {"ko":{"primary":"ko_KR","secondary":"en_US"},"en":{"detail":{"en-ph":{"primary":"en_PH","secondary":"en_US"},"en-us":{"primary":"en_US","secondary":"es_ES"},"default":{"primary":"en_US","secondary":"es_ES"}}},"ja":{"primary":"ja_JP","secondary":"en_US"},"zh":{"detail":{"zh-cn":{"primary":"zh_CN","secondary":"en_US"},"zh-tw":{"primary":"zh_TW","secondary":"zh_CN"},"default":{"primary":"en_US","secondary":"ko_KR"}}},"es":{"primary":"es_ES","secondary":"en_US"},"pt":{"primary":"pt_PT","secondary":"en_US"},"vi":{"primary":"vi_VN","secondary":"en_US"},"default":{"primary":"en_US","secondary":"ko_KR"}}, 828aChangeableLanguages: ["en_US","ja_JP","ko_KR"], 829aNoZipCodeLanguage: ["ko_KR","ja_JP"] 830}, 831oMobile: { 832sSmartWebAppFaqUrl: "https://support.cafe24.com/hc/ko/articles/8466586607641", 833sAmpFaqUrl: "https://ecsupport.cafe24.com/board/free/read.html?no=1864&board_no=5&category_no=13&cate_no=13&category_no=13&category_no=13", 834}, 835oPromotion: { 836bQrCodeAvailable: true, 837bSnsMarketingAvailable: true 838}, 839oShippingReverseAddressLanguage: ["vi_VN","en_PH"] , 840oGlobalStandardSwitchHelpCodeLink: {"SH.DS":{"link":"\/\/serviceguide.cafe24shop.com\/en_PH\/SH.DS.html"},"PR.DS":{"link":"\/\/serviceguide.cafe24shop.com\/en_PH\/PR.DS.html"},"OR.SM.BO":{"link":"\/\/serviceguide.cafe24shop.com\/en_PH\/OR.SM.BO.html"},"DE.DS":{"link":"\/\/serviceguide.cafe24shop.com\/en_PH\/DE.DS.html"},"MB.DS":{"link":"\/\/serviceguide.cafe24shop.com\/en_PH\/MB.DS.html"},"PM.DS":{"link":"\/\/serviceguide.cafe24shop.com\/en_PH\/PM.DS.html"}}, 841getAdminMainLocaleLanguage: function(sSkinLocaleCode) { 842var oLocaleData = []; 843var locale = ""; 844var shopLangName = ""; 845if (sSkinLocaleCode == "US") { 846locale = "en_US"; 847shopLangName = "ENGLISH"; 848} else if (sSkinLocaleCode == "JP") { 849locale = "ja_JP"; 850shopLangName = "JAPANESE"; 851} else if (sSkinLocaleCode == "CN") { 852locale = "zh_CN"; 853shopLangName = "SIMPLIFIED.CHINESE"; 854} else if (sSkinLocaleCode == "TW") { 855locale = "zh_TW"; 856shopLangName = "TRADITIONAL.CHINESE"; 857} else if (sSkinLocaleCode == "ES") { 858locale = "es_ES"; 859shopLangName = "SPANISH"; 860} else if (sSkinLocaleCode == "PT") { 861locale = "pt_PT"; 862shopLangName = "PORTUGUESE"; 863} else if (sSkinLocaleCode == "VN") { 864locale = "vi_VN"; 865shopLangName = "VIETNAMESE"; 866} else if(sSkinLocaleCode == "PH") { 867locale = "en_PH"; 868shopLangName = "ENGLISH.PH"; 869} 870oLocaleData["locale"] = locale; 871oLocaleData["shopLangName"] = shopLangName; 872return oLocaleData; 873} 874}; 875var EC_GLOBAL_MALL_LANGUAGE_CODES = CAFE24.getDeprecatedNamespace('EC_GLOBAL_MALL_LANGUAGE_CODES'); 876CAFE24.GLOBAL_DATETIME_INFO = { 877oConstants: {"STANDARD_DATE_REGEX":"\/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))\/","IN_ZONE":"inZone","OUT_ZONE":"outZone","IN_FORMAT":"inFormat","OUT_FORMAT":"outFormat","IN_DATE_FORMAT":"inDateFormat","IN_TIME_FORMAT":"inTimeFormat","OUT_DATE_FORMAT":"outDateFormat","OUT_TIME_FORMAT":"outTimeFormat","IN_FORMAT_DATE_ONLY":1,"IN_FORMAT_TIME_ONLY":2,"IN_FORMAT_ALL":3,"OUT_FORMAT_DATE_ONLY":1,"OUT_FORMAT_TIME_ONLY":2,"OUT_FORMAT_ALL":3,"DATE_ONLY":"YYYY-MM-DD","TIME_ONLY":"HH:mm:ss","FULL_TIME":"YYYY-MM-DD HH:mm:ss","ISO_8601":"YYYY-MM-DD[T]HH:mm:ssZ","YEAR_ONLY":"YYYY","MONTH_ONLY":"MM","DAY_ONLY":"DD","WEEK_ONLY":"e","TIME_H_I_ONLY":"HH:mm","TIME_HOUR_ONLY":"HH","TIME_MINUTE_ONLY":"mm","POSTGRE_FULL_TIME":"YYYY-MM-DD HH24:MI:SS","POSTGRE_TIME_ONLY":" HH24:MI:SS","MICRO_SECOND_ONLY":"u","SEOUL":"Asia\/Seoul","TOKYO":"Asia\/Tokyo","SHANGHAI":"Asia\/Shanghai","TAIPEI":"Asia\/Taipei","HANOI":"Asia\/Bangkok","LOS_ANGELES":"America\/Los_Angeles","LISBON":"Europe\/Lisbon","MADRID":"Europe\/Madrid","SINGAPORE":"Asia\/Singapore","UTC":"Etc\/UTC","MAX_DATETIME":"9999-12-31 23:59:59"}, 878oOptions: {"inZone":"Asia\/Seoul","inFormat":"YYYY-MM-DD HH:mm:ss","inDateFormat":"YYYY-MM-DD","inTimeFormat":"HH:mm:ss","outZone":"Asia\/Seoul","outFormat":"YYYY-MM-DD HH:mm:ss","outDateFormat":"YYYY-MM-DD","outTimeFormat":"HH:mm:ss"}, 879oPolicies: [], 880sOverrideTimezone: '', 881sMomentNamespace: 'EC_GLOBAL_MOMENT' 882}; 883CAFE24.FRONT_JS_CONFIG_MANAGE = {"sSmartBannerScriptUrl":"https:\/\/app4you.cafe24.com\/SmartBanner\/tunnel\/scriptTags?vs=1563164396689206","sMallId":"ultradoc1","sDefaultAppDomain":"https:\/\/app4you.cafe24.com"}; 884var EC_FRONT_JS_CONFIG_MANAGE = CAFE24.getDeprecatedNamespace('EC_FRONT_JS_CONFIG_MANAGE'); 885CAFE24.FRONT_JS_CONFIG_MEMBER = {"sAuthUrl":"https:\/\/ipin-ec.cafe24.com\/certify\/v1\/?action=auth"}; 886var EC_FRONT_JS_CONFIG_MEMBER = CAFE24.getDeprecatedNamespace('EC_FRONT_JS_CONFIG_MEMBER'); 887CAFE24.FRONT_JS_CONFIG_SHOP = {"recent_period":365,"bIsRecentList":true}; 888var EC_FRONT_JS_CONFIG_SHOP = CAFE24.getDeprecatedNamespace('EC_FRONT_JS_CONFIG_SHOP'); 889typeof window.CAFE24 === "undefined" && (window.CAFE24 = {}); 890CAFE24.FRONTEND = {"IS_RENDERED_LOGIN":"F","FW_MANIFEST_CACHE_REVISION":2610081510,"IS_WEB_VIEW":"F"}; 891CAFE24.ROUTE = {"is_mobile":false,"is_need_route":false,"language_code":"ZZ","path":{"origin":"\/product\/recent_view_product.html","result":"\/product\/recent_view_product.html","prefix":""},"shop_no":0,"skin_code":"default","support_language_list":{"ar":"ar_EG","ar-EG":"ar_EG","de":"de_DE","de-DE":"de_DE","en":"en_US","en-IN":"en_IN","en-PH":"en_PH","en-US":"en_US","es":"es_ES","es-ES":"es_ES","hi":"hi_IN","hi-IN":"hi_IN","i
891d":"id_ID","id-ID":"id_ID","it":"it_IT","it-IT":"it_IT","ja":"ja_JP","ja-JP":"ja_JP","ko":"ko_KR","ko-KR":"ko_KR","ms":"ms_MY","ms-MY":"ms_MY","pt":"pt_PT","pt-PT":"pt_PT","ru":"ru_RU","ru-RU":"ru_RU","th":"th_TH","th-TH":"th_TH","tr":"tr_TR","tr-TR":"tr_TR","vi":"vi_VN","vi-VN":"vi_VN","zh":"zh_CN","zh-CN":"zh_CN","zh-HK":"zh_HK","zh-MO":"zh_MO","zh-SG":"zh_SG","zh-TW":"zh_TW"}}; 892</script>
892 893 894<link rel="stylesheet" type="text/css" href="/ind-script/optimizer.php?filename=lY2xCoAwDAX34Op39JvaEqXQ5pUkBf17BWeHrMcdNxWn5pGUDUsrp2qWDoV4qhgDsr1gn_8WVzL05Q1CBVdIX-6xQc83ayTwXDqHAkzqTZhKFvleDw&type=css&k=c39ac116ce20047f7b882a469c007f7c122f68fa&t=1681776733" /><link rel="stylesheet" type="text/css" href="/ind-script/optimizer_user.php?filename=ndTBbsMgDADQe9trv4Ol_YoeetoXEHATa4BRbNTl70ebTIq0asI9IcAPWcbAHvYeGIdk-AtT1xnHbCL5EsDkqY5OzAQOkgRkOdTdI_8xwc5UxPSW0T0P4IAerpBKK3AUI6XW6GWhNRrcrk5gV1Ar-iLSntWvEtu_QQKoEVEQzFo2QlCbGwWvLh59a0kNc1qzNqme-Uu6kZrZAZOV5rviO2aYDhHVXVQ3KnyNNm909bHUVuCR8ueIOWMamhMs_Z5lbu--B5ARYjOw3i_go9OTk56cNeTfn2RT5jg_imuiXS7yBw&type=css&k=ad713fbd8b6453b072c8c026d01010518cb89ee8&t=1787734807&user=T" /> 895 896<title>SAINTPAIN</title></head> 897 898 899<body class="theme01" data-ez-theme="theme01"> 900 901 <!-- ===================================================== 902 SKIP NAVIGATION 903 ====================================================== --> 904 905 <div id="skipNavigation"> 906 907 <p> 908 <a href="#category"> 909 ì ì²´ìíëª©ë¡ ë°ë¡ê°ê¸° 910 </a> 911 </p> 912 913 <p> 914 <a href="#contents"> 915 본문 ë°ë¡ê°ê¸° 916 </a> 917 </p> 918 919 </div> 920 921 922 923 <!-- ===================================================== 924 WRAP 925 ====================================================== --> 926 927 <div id="wrap"> 928 929 930 <!-- HEADER --> 931 <div data-ez-module="user-defined/1" data-ez-name="USER DEFINED" data-ez-type="plain" data-ez="module-0xf8atn-1"> 932 933<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/[email protected]/dist/web/static/pretendard-dynamic-subset.min.css"> 934 935<!-- ========================================================= 936 SAINTPAIN HEADER 937========================================================= --> 938 939<header id="spHeader"> 940 941 <div class="sp-header-inner"> 942 943 <!-- MOBILE MENU BUTTON --> 944 <button type="button" class="sp-mobile-menu-button" aria-label="Menu" aria-expanded="false"> 945 <span></span> 946 <span></span> 947 <span></span> 948 </button> 949 950 951 <!-- LEFT --> 952 <nav class="sp-header-left"> 953 954 <div class="sp-shop-menu"> 955 956 <a href="/category/all/50/" class="sp-main-menu-link"> 957 SHOP 958 </a> 959 960 <div class="sp-shop-dropdown"> 961 <div class="sp-shop-dropdown-inner"> 962 963 <ul class="xans-element- xans-layout xans-layout-category sp-shop-root"><li class="xans-record-"> 964 <a href="/category/new/49/"> 965 New </a> 966 </li> 967<li class="xans-record-"> 968 <a href="/category/outer/24/"> 969 Outer </a> 970 </li> 971<li class="xans-record-"> 972 <a href="/category/top/25/"> 973 Top </a> 974 </li> 975<li class="xans-record-"> 976 <a href="/category/pants/26/"> 977 Pants </a> 978 </li> 979<li class="xans-record-"> 980 <a href="/category/acc/27/"> 981 Acc </a> 982 </li> 983<li class="xans-record-"> 984 <a href="/category/archives/56/"> 985 Archives </a> 986 </li> 987</ul> 988 989 </div> 990 </div> 991 992 </div> 993 994 995 <a href="/shopinfo/company.html" class="sp-main-menu-link"> 996 MEMBERSHIP 997</a> 998 999 <a href="/collection/list.html?cate_no=96" class="sp-main-menu-link"> 1000 COLLECTION 1001 </a> 1002 1003 <a href="/stockists.html" class="sp-main-menu-link"> 1004 STOCKISTS 1005 </a> 1006 1007 <a href="/board/index.html" class="sp-main-menu-link"> 1008 BOARD 1009 </a> 1010 1011 </nav> 1012 1013 1014 <!-- LOGO --> 1015 <a href="/" class="sp-header-logo" aria-label="SAINTPAIN"><img src="https://ultradoc1.cafe24.com/logo/saint%20logo%201.png" alt="SAINTPAIN" loading="lazy" ez-prevent="img"></a> 1016 1017 1018 <!-- RIGHT --> 1019 <nav class="sp-header-right"> 1020 1021 <!-- SEARCH --> 1022 <a href="/product/search.html" class="sp-header-icon sp-search-trigger" aria-label="Search"> 1023 1024 <svg viewbox="0 0 24 24"> 1025 <circle cx="11" cy="11" r="6.5"></circle> 1026 <path d="M16 16L21 21"></path> 1027 </svg> 1028 1029 </a> 1030 1031 1032 <!-- ACCOUNT --> 1033 <a href="/myshop/index.html" class="sp-header-icon" aria-label="Account"> 1034 1035 <svg viewbox="0 0 24 24"> 1036 <circle cx="12" cy="8" r="3.5"></circle> 1037 <path d="M5.5 20C5.8 15.8 8.1 13.5 12 13.5C15.9 13.5 18.2 15.8 18.5 20"></path> 1038 </svg> 1039 1040 </a> 1041 1042 1043 <!-- CART --> 1044 <a href="/order/basket.html" class="sp-header-icon sp-cart-trigger" aria-label="Cart"> 1045 1046 <svg viewbox="0 0 24 24"> 1047 <path d="M6.5 8H17.5L18.5 21H5.5L6.5 8Z"></path> 1048 <path d="M9 9V6.5C9 4.8 10.3 3.5 12 3.5C13.7 3.5 15 4.8 15 6.5V9"></path> 1049 </svg> 1050
1051 <span id="spCartCount" class="sp-cart-count"></span> 1052 1053 </a> 1054 1055 </nav> 1056 1057 </div> 1058 1059 1060 <!-- MOBILE MENU --> 1061 <div class="sp-mobile-menu"> 1062 1063 <div class="sp-mobile-shop"> 1064 1065 <div class="sp-mobile-shop-head"> 1066 1067 <a href="/category/all/50/"> 1068 SHOP 1069 </a> 1070 1071 <button type="button" class="sp-mobile-shop-button"> 1072 + 1073 </button> 1074 1075 </div> 1076 1077 1078 <ul class="xans-element- xans-layout xans-layout-category sp-mobile-shop-root"><li class="xans-record-"> 1079 <a href="/category/new/49/"> 1080 New </a> 1081 </li> 1082<li class="xans-record-"> 1083 <a href="/category/outer/24/"> 1084 Outer </a> 1085 </li> 1086<li class="xans-record-"> 1087 <a href="/category/top/25/"> 1088 Top </a> 1089 </li> 1090<li class="xans-record-"> 1091 <a href="/category/pants/26/"> 1092 Pants </a> 1093 </li> 1094<li class="xans-record-"> 1095 <a href="/category/acc/27/"> 1096 Acc </a> 1097 </li> 1098<li class="xans-record-"> 1099 <a href="/category/archives/56/"> 1100 Archives </a> 1101 </li> 1102</ul> 1103 1104 </div> 1105 1106 1107<a href="/shopinfo/company.html"> 1108 MEMBERSHIP 1109</a> 1110 1111 <a href="/collection/list.html?cate_no=96"> 1112 COLLECTION 1113 </a> 1114 1115 <a href="/stockists.html"> 1116 STOCKISTS 1117 </a> 1118 1119 <a href="/board/index.html"> 1120 BOARD 1121 </a> 1122 1123 </div> 1124 1125</header> 1126 1127 1128 1129<!-- ========================================================= 1130 SEARCH 1131========================================================= --> 1132 1133<div id="spSearchOverlay" class="sp-search-overlay" aria-hidden="true"> 1134 1135 <div class="sp-search-center"> 1136 1137 <button type="button" class="sp-search-close" id="spSearchClose" aria-label="Close Search"> 1138 <span></span> 1139 <span></span> 1140 </button> 1141 1142 1143 <form class="sp-search-form" action="/product/search.html" method="get"> 1144 1145 <input type="text" name="keyword" id="spSearchInput" class="sp-search-input" placeholder="Search" autocomplete="off"> 1146 1147 Â </form> 1148 1149 </div> 1150 1151</div> 1152 1153 1154 1155<!-- ========================================================= 1156 CART DRAWER 1157========================================================= --> 1158 1159<div id="spCartDrawer" class="sp-cart-drawer" aria-hidden="true"> 1160 1161 <button type="button" id="spCartBackdrop" class="sp-cart-backdrop" aria-label="Close Cart"> 1162 </button> 1163 1164 1165 <aside class="sp-cart-panel"> 1166 1167 <header class="sp-cart-head"> 1168 1169 <div class="sp-cart-title"> 1170 CART 1171 </div> 1172 1173 <button type="button" class="sp-cart-close" id="spCartClose"> 1174 <span></span> 1175 <span></span> 1176 </button> 1177 1178 </header> 1179 1180 1181 <div id="spCartBody" class="sp-cart-body"> 1182 1183 <div class="sp-cart-loading"> 1184 LOADING 1185 </div> 1186 1187 </div> 1188 1189 1190 <footer class="sp-cart-footer"> 1191 1192 <div class="sp-cart-total"> 1193 <span>TOTAL</span> 1194 <strong id="spCartTotal">-</strong> 1195 </div> 1196 1197 <button type="button" id="spCartCheckout" class="sp-cart-checkout" disabled> 1198 CHECK OUT 1199 </button> 1200 1201 </footer> 1202 1203 </aside> 1204 1205</div> 1206 1207 1208 1209<!-- ========================================================= 1210 HIDDEN CAFE24 BASKET ENGINE 1211========================================================= --> 1212 1213<iframe id="spCartEngine" class="sp-cart-engine" src="about:blank" title="Cart Engine" tabindex="-1" aria-hidden="true"> 1214</iframe> 1215 1216 1217 1218<style> 1219 1220/* ========================================================= 1221 RESET 1222========================================================= */ 1223 1224#spHeader, 1225#spHeader *, 1226#spSearchOverlay, 1227#spSearchOverlay *, 1228#spCartDrawer, 1229#spCartDrawer * { 1230 box-sizing:border-box; 1231} 1232 1233body { 1234 padding-top:54px !important; 1235} 1236 1237 1238 1239/* ========================================================= 1240 HEADER 1241========================================================= */ 1242 1243#spHeader { 1244 position:fixed !important; 1245 1246 top:0 !important; 1247 left:0 !important; 1248 right:0 !important; 1249 1250 z-index:999900 !important; 1251 1252 width:100% !important; 1253 height:54px !important; 1254 1255 margin:0 !important; 1256 padding:0 !important; 1257 1258 background:#fff !important; 1259 1260 border:0 !important; 1261 box-shadow:none !important; 1262} 1263 1264 1265.sp-header-inner { 1266 position:relative; 1267 1268 display:flex; 1269 1270 width:100%; 1271 height:54px; 1272 1273 padding:0 12px; 1274 1275 align-items:center; 1276 1277 background:#fff; 1278} 1279 1280 1281 1282/* ========================================================= 1283 LEFT 1284========================================================= */ 1285 1286.sp-header-left { 1287 display:flex; 1288 1289 height:100%; 1290 1291 align-items:center; 1292
1293 gap:27px; 1294} 1295 1296 1297.sp-main-menu-link { 1298 position:relative; 1299 1300 display:flex; 1301 1302 height:100%; 1303 1304 align-items:center; 1305 1306 padding:0; 1307 1308 font-family: 1309 "helvetica-neue-world", 1310 Helvetica, 1311 Arial, 1312 sans-serif !important; 1313 1314 font-size:12px !important; 1315 line-height:1 !important; 1316 1317 font-weight:400 !important; 1318 1319 color:#000 !important; 1320 1321 text-decoration:none !important; 1322 1323 white-space:nowrap; 1324} 1325 1326 1327.sp-main-menu-link::after { 1328 content:""; 1329 1330 position:absolute; 1331 1332 left:0; 1333 bottom:16px; 1334 1335 width:100%; 1336 height:1px; 1337 1338 background:#000; 1339 1340 transform:scaleX(0); 1341 transform-origin:left center; 1342 1343 transition:transform .22s ease; 1344} 1345 1346 1347.sp-main-menu-link:hover::after { 1348 transform:scaleX(1); 1349} 1350 1351 1352 1353/* ========================================================= 1354 SHOP 1355========================================================= */ 1356 1357.sp-shop-menu { 1358 position:static; 1359 1360 display:flex; 1361 1362 height:100%; 1363 1364 align-items:center; 1365} 1366 1367 1368.sp-shop-dropdown { 1369 position:absolute; 1370 1371 top:54px; 1372 left:0; 1373 1374 visibility:hidden; 1375 1376 width:100vw; 1377 1378 opacity:0; 1379 1380 pointer-events:none; 1381 1382 transform:translateY(-9px); 1383 1384 transition: 1385 opacity .17s ease, 1386 transform .22s ease, 1387 visibility 0s linear .22s; 1388} 1389 1390 1391.sp-shop-menu:hover .sp-shop-dropdown { 1392 visibility:visible; 1393 1394 opacity:1; 1395 1396 pointer-events:auto; 1397 1398 transform:translateY(0); 1399 1400 transition: 1401 opacity .17s ease, 1402 transform .22s ease, 1403 visibility 0s; 1404} 1405 1406 1407.sp-shop-dropdown-inner { 1408 width:100%; 1409 1410 min-height:100px; 1411 1412 padding:22px 14px 27px; 1413 1414 background:#fff; 1415 1416 box-shadow:0 9px 18px rgba(0,0,0,.04); 1417} 1418 1419 1420.sp-shop-root { 1421 display:flex !important; 1422 1423 width:100% !important; 1424 1425 margin:0 !important; 1426 padding:0 !important; 1427 1428 align-items:flex-start; 1429 1430 flex-wrap:wrap; 1431 1432 gap:28px 55px; 1433 1434 list-style:none !important; 1435} 1436 1437 1438.sp-shop-root > li { 1439 display:block !important; 1440 1441 min-width:100px; 1442 1443 margin:0 !important; 1444 padding:0 !important; 1445 1446 list-style:none !important; 1447} 1448 1449 1450.sp-shop-root > li > a { 1451 position:relative; 1452 1453 display:inline-block; 1454 1455 padding-bottom:3px; 1456 1457 font-family: 1458 "helvetica-neue-world", 1459 Helvetica, 1460 Arial, 1461 sans-serif !important; 1462 1463 font-size:12px !important; 1464 1465 line-height:1.3 !important; 1466 1467 font-weight:500 !important; 1468 1469 color:#000 !important; 1470 1471 text-transform:uppercase; 1472 1473 text-decoration:none !important; 1474} 1475 1476 1477.sp-shop-root > li > a::after { 1478 content:""; 1479 1480 position:absolute; 1481 1482 left:0; 1483 bottom:0; 1484 1485 width:100%; 1486 height:1px; 1487 1488 background:#000; 1489 1490 transform:scaleX(0); 1491 1492 transform-origin:left center; 1493 1494 transition:transform .2s ease; 1495} 1496 1497 1498.sp-shop-root > li > a:hover::after { 1499 transform:scaleX(1); 1500} 1501 1502 1503.sp-shop-root img, 1504.sp-mobile-shop-root img { 1505 display:none !important; 1506} 1507 1508 1509 1510/* ========================================================= 1511 CHILD CATEGORY 1512========================================================= */ 1513 1514.sp-shop-children { 1515 display:flex; 1516 1517 margin:10px 0 0 !important; 1518 padding:0 !important; 1519 1520 flex-direction:column; 1521 1522 gap:7px; 1523 1524 list-style:none !important; 1525} 1526 1527 1528.sp-shop-children li { 1529 margin:0 !important; 1530 padding:0 !important; 1531 1532 list-style:none !important; 1533} 1534 1535 1536.sp-shop-children a { 1537 font-family: 1538 "helvetica-neue-world", 1539 Helvetica, 1540 Arial, 1541 sans-serif !important; 1542 1543 font-size:11px !important; 1544 1545 line-height:1.3 !important; 1546 1547 color:#000 !important; 1548 1549 text-decoration:none !important; 1550 1551 text-transform:uppercase; 1552} 1553 1554 1555 1556/* ========================================================= 1557 LOGO 1558========================================================= */ 1559 1560.sp-header-logo { 1561 position:absolute !important; 1562 1563 top:50% !important; 1564 left:50% !important; 1565 1566 display:flex !important; 1567 1568 align-items:center; 1569 1570 transform:translate(-50%,-50%) !important; 1571} 1572 1573 1574.sp-header-logo img { 1575 display:block !important; 1576 1577 width:112px !important; 1578 height:24px !important; 1579 1580 object-fit:contain !important; 1581 1582 border:0 !important; 1583} 1584 1585 1586 1587/* ========================================================= 1588 RIGHT 1589========================================================= */ 1590 1591.sp-header-right { 1592 display:flex; 1593 1594 height:100%; 1595 1596 margin-left:auto; 1597 1598 align-items:center; 1599 1600 gap:18px; 1601} 1602 1603 1604.sp-header-icon { 1605 position:relative; 1606 1607 display:flex !important; 1608 1609 width:20px; 1610 height:20px; 1611 1612 align-items:center; 1613 justify-content:center; 1614 1615 color:#000 !important; 1616 1617 text-decoration:none !important; 1618} 1619 1620 1621.sp-header-icon svg { 1622 display:block; 1623 1624 width:20px; 1625 height:20px; 1626 1627 fill:none; 1628 1629 stroke:#000; 1630 1631 stroke-width:1.35; 1632 1633 stroke-linecap:round; 1634 stroke-linejoin:round; 1635} 1636 1637 1638 1639/* ========================================================= 1640 CART COUNT 1641========================================================= */ 1642 1643.sp-cart-count { 1644 position:absolute; 1645 1646 top:-5px; 1647 right:-7px; 1648 1649 display:none; 1650 1651 min-width:12px; 1652 height:12px; 1653 1654 padding:0 2px; 1655 1656 align-items:center; 1657 justify-content:center; 1658 1659 font-family: 1660 "helvetica-neue-world", 1661 Arial, 1662 sans-serif; 1663 1664 font-size:8px; 1665 1666 line-height:12px; 1667 1668 color:#000; 1669} 1670 1671 1672.sp-cart-count.is-visible { 1673 display:flex; 1674} 1675 1676 1677 1678/* ========================================================= 1679 SEARCH 1680========================================================= */ 1681 1682#spSearchOverlay { 1683 position:fixed; 1684 1685 inset:0; 1686 1687 z-index:1000000; 1688 1689 display:flex; 1690 1691 align-items:center; 1692 justify-content:center; 1693 1694 background:rgba(255,255,255,.20); 1695 1696 opacity:0; 1697 1698 visibility:hidden; 1699 1700 pointer-events:none; 1701 1702 -webkit-backdrop-filter:blur(0); 1703 backdrop-filter:blur(0); 1704 1705 transition: 1706 opacity .38s ease, 1707 visibility 0s linear .38s, 1708 backdrop-filter .4s ease; 1709} 1710 1711 1712#spSearchOverlay.is-open { 1713 opacity:1; 1714 1715 visibility:visible; 1716 1717 pointer-events:auto; 1718 1719 -webkit-backdrop-filter:blur(15px); 1720 backdrop-filter:blur(15px); 1721 1722 transition: 1723 opacity .38s ease, 1724 visibility 0s, 1725 backdrop-filter .4s ease; 1726} 1727 1728 1729.sp-search-center { 1730 position:relative; 1731 1732 width:min(560px,calc(100vw - 60px)); 1733 1734 padding-top:42px; 1735} 1736 1737 1738.sp-search-form { 1739 width:100%; 1740 1741 margin:0; 1742} 1743 1744 1745.sp-search-input { 1746 display:block; 1747 1748 width:100%; 1749 height:44px; 1750 1751 padding:0 2px 8px; 1752 1753 border:0 !important; 1754 border-bottom:1px solid #000 !important; 1755 1756 border-radius:0 !important; 1757 1758 outline:0 !important; 1759 1760 background:transparent !important; 1761 1762 font-family: 1763 "helvetica-neue-world", 1764 Helvetica, 1765 Arial, 1766 Pretendard, 1767 sans-serif !important; 1768 1769 font-size:18px !important; 1770 1771 color:#000 !important; 1772} 1773 1774 1775.sp-search-input::placeholder { 1776 color:#000; 1777 1778 opacity:1; 1779} 1780 1781 1782 1783/* ========================================================= 1784 CLOSE BUTTON 1785========================================================= */ 1786 1787.sp-search-close, 1788.sp-cart-close { 1789 position:relative; 1790 1791 width:28px; 1792 height:28px; 1793 1794 padding:0; 1795 1796 border:0; 1797 1798 background:transparent; 1799 1800 cursor:pointer; 1801} 1802 1803 1804.sp-search-close { 1805 position:absolute; 1806 1807 top:0; 1808 right:0; 1809} 1810 1811 1812.sp-search-close span, 1813.sp-cart-close span { 1814 position:absolute; 1815 1816 top:50%; 1817 left:50%; 1818 1819 width:18px; 1820 height:1px; 1821 1822 background:#000; 1823} 1824 1825 1826.sp-search-close span:first-child, 1827.sp-cart-close span:first-child { 1828 transform:translate(-50%,-50%) rotate(45deg); 1829} 1830 1831 1832.sp-search-close span:last-child, 1833.sp-cart-close span:last-child { 1834 transform:translate(-50%,-50%) rotate(-45deg); 1835} 1836 1837 1838 1839/* ========================================================= 1840 CART DRAWER 1841========================================================= */ 1842 1843#spCartDrawer { 1844 position:fixed; 1845 1846 inset:0; 1847 1848 z-index:1000010; 1849 1850 visibility:hidden; 1851 1852 pointer-events:none; 1853} 1854 1855 1856#spCartDrawer.is-open { 1857 visibility:visible; 1858 1859 pointer-events:auto; 1860} 1861 1862 1863.sp-cart-backdrop { 1864 position:absolute; 1865 1866 inset:0; 1867 1868 width:100%; 1869 height:100%; 1870 1871 margin:0; 1872 padding:0; 1873 1874 border:0; 1875 1876 background:rgba(0,0,0,0); 1877 1878 opacity:0; 1879 1880 -webkit-backdrop-filter:blur(0); 1881 backdrop-filter:blur(0); 1882 1883 transition: 1884 background-color .4s ease, 1885 opacity .35s ease, 1886 backdrop-filter .4s ease; 1887} 1888 1889 1890#spCartDrawer.is-open .sp-cart-backdrop { 1891 background:rgba(0,0,0,.48); 1892 1893 opacity:1; 1894 1895 -webkit-backdrop-filter:blur(5px); 1896 backdrop-filter:blur(5px); 1897} 1898 1899 1900.sp-cart-panel { 1901 position:absolute; 1902 1903 top:0; 1904 right:0; 1905 1906 display:flex; 1907 1908 width:470px; 1909 max-width:92vw; 1910 1911 height:100%; 1912 1913 flex-direction:column; 1914 1915 background:#fff; 1916 1917 color:#000; 1918 1919 transform:translateX(100%); 1920 1921 transition:transform .45s cubic-bezier(.22,.61,.36,1); 1922 1923 overflow:hidden; 1924 1925 box-shadow:-8px 0 28px rgba(0,0,0,.08); 1926} 1927 1928 1929#spCartDrawer.is-open .sp-cart-panel { 1930 transform:translateX(0); 1931} 1932 1933 1934 1935/* ========================================================= 1936 CART HEADER 1937========================================================= */ 1938 1939.sp-cart-head { 1940 display:flex; 1941 1942 flex:0 0 56px; 1943 1944 height:56px; 1945 1946 padding:0 18px; 1947 1948 align-items:center; 1949 justify-content:space-between; 1950 1951 border-bottom:1px solid #000; 1952 1953 background:#fff; 1954} 1955 1956 1957.sp-cart-title { 1958 font-family: 1959 "helvetica-neue-world", 1960 Helvetica, 1961 Arial, 1962 sans-serif; 1963 1964 font-size:12px; 1965 1966 font-weight:400; 1967} 1968 1969 1970 1971/* ========================================================= 1972 CART BODY 1973========================================================= */ 1974 1975.sp-cart-body { 1976 flex:1 1 auto; 1977 1978 min-height:0; 1979 1980 overflow-y:auto; 1981 1982 background:#fff; 1983} 1984 1985 1986.sp-cart-loading, 1987.sp-cart-empty, 1988.sp-cart-error { 1989 display:flex; 1990 1991 width:100%; 1992 1993 min-height:220px; 1994 1995 padding:40px 20px; 1996 1997 align-items:center; 1998 justify-content:center; 1999 2000 text-align:center; 2001 2002 font-family: 2003 "helvetica-neue-world", 2004 Pretendard, 2005 Arial, 2006 sans-serif; 2007 2008 font-size:11px; 2009 2010 line-height:1.6; 2011 2012 color:#000; 2013} 2014 2015 2016 2017/* ========================================================= 2018 CART ITEM 2019========================================================= */ 2020 2021.sp-cart-item { 2022 position:relative; 2023 2024 display:grid; 2025 2026 grid-template-columns:82px minmax(0,1fr); 2027 2028 gap:16px; 2029 2030 width:100%; 2031 2032 padding:18px; 2033 2034 border-bottom:1px solid #000; 2035} 2036 2037 2038.sp-cart-item.is-busy { 2039 opacity:.45; 2040 2041 pointer-events:none; 2042} 2043 2044 2045.sp-cart-item-image { 2046 display:block; 2047 2048 width:82px; 2049 2050 text-decoration:none; 2051} 2052 2053 2054.sp-cart-item-image img { 2055 display:block; 2056 2057 width:82px; 2058 height:104px; 2059 2060 object-fit:cover; 2061 2062 background:#f5f5f5; 2063} 2064 2065 2066.sp-cart-item-info { 2067 display:flex; 2068 2069 min-width:0; 2070 2071 padding-right:22px; 2072 2073 flex-direction:column; 2074} 2075 2076 2077.sp-cart-item-name { 2078 display:block; 2079 2080 margin:1px 0 8px; 2081 2082 font-family: 2083 "helvetica-neue-world", 2084 Pretendard, 2085 Arial, 2086 sans-serif; 2087 2088 font-size:11px; 2089 2090 line-height:1.45; 2091 2092 color:#000; 2093 2094 text-decoration:none; 2095} 2096 2097 2098.sp-cart-item-option { 2099 display:block; 2100 2101 margin:0 0 15px; 2102 2103 font-family: 2104 "helvetica-neue-world", 2105 Pretendard, 2106 Arial, 2107 sans-serif; 2108 2109 font-size:9px; 2110 2111 line-height:1.5; 2112 2113 color:#666; 2114} 2115 2116 2117.sp-cart-item-option:empty { 2118 display:none; 2119} 2120 2121 2122.sp-cart-remove { 2123 position:absolute; 2124 2125 top:14px; 2126 right:14px; 2127 2128 width:20px; 2129 height:20px; 2130 2131 padding:0; 2132 2133 border:0; 2134 2135 background:transparent; 2136 2137 cursor:pointer; 2138} 2139 2140 2141.sp-cart-remove::before, 2142.sp-cart-remove::after { 2143 content:""; 2144 2145 position:absolute; 2146 2147 top:50%; 2148 left:50%; 2149 2150 width:13px; 2151 height:1px; 2152 2153 background:#000; 2154} 2155 2156 2157.sp-cart-remove::before { 2158 transform:translate(-50%,-50%) rotate(45deg); 2159} 2160 2161 2162.sp-cart-remove::after { 2163 transform:translate(-50%,-50%) rotate(-45deg); 2164} 2165 2166 2167 2168/* ========================================================= 2169 CART ITEM BOTTOM 2170========================================================= */ 2171 2172.sp-cart-item-bottom { 2173 display:flex; 2174 2175 margin-top:auto; 2176 2177 align-items:center; 2178 justify-content:space-between; 2179 2180 gap:12px; 2181} 2182 2183 2184.sp-cart-qty-control { 2185 display:flex; 2186 2187 height:27px; 2188 2189 align-items:center; 2190 2191 border:1px solid #bbb; 2192} 2193 2194 2195.sp-cart-qty-button { 2196 display:flex; 2197 2198 width:27px; 2199 height:25px; 2200 2201 padding:0; 2202 2203 align-items:center; 2204 justify-content:center; 2205 2206 border:0; 2207 2208 background:#fff; 2209 2210 font-family:Arial,sans-serif; 2211 2212 font-size:12px; 2213 2214 color:#000; 2215 2216 cursor:pointer; 2217} 2218 2219 2220.sp-cart-qty-input { 2221 width:32px; 2222 height:25px; 2223 2224 padding:0; 2225 2226 border:0; 2227 2228 border-left:1px solid #ddd; 2229 border-right:1px solid #ddd; 2230 2231 outline:0; 2232 2233 background:#fff; 2234 2235 font-family: 2236 "helvetica-neue-world", 2237 Arial, 2238 sans-serif; 2239 2240 font-size:9px; 2241 2242 text-align:center; 2243 2244 color:#000; 2245 2246 -moz-appearance:textfield; 2247} 2248 2249 2250.sp-cart-qty-input::-webkit-inner-spin-button, 2251.sp-cart-qty-input::-webkit-outer-spin-button { 2252 margin:0; 2253 2254 -webkit-appearance:none; 2255} 2256 2257 2258.sp-cart-item-price { 2259 margin-left:auto; 2260 2261 font-family: 2262 "helvetica-neue-world", 2263 Pretendard, 2264 Arial, 2265 sans-serif; 2266 2267 font-size:10px; 2268 2269 color:#000; 2270 2271 white-space:nowrap; 2272} 2273 2274 2275 2276/* ========================================================= 2277 CART FOOTER 2278========================================================= */ 2279 2280.sp-cart-footer { 2281 flex:0 0 auto; 2282 2283 width:100%; 2284 2285 padding:17px 18px 19px; 2286 2287 border-top:1px solid #000; 2288 2289 background:#fff; 2290} 2291 2292 2293.sp-cart-total { 2294 display:flex; 2295 2296 width:100%; 2297 2298 margin-bottom:16px; 2299 2300 align-items:center; 2301 justify-content:space-between; 2302 2303 font-family: 2304 "helvetica-neue-world", 2305 Pretendard, 2306 Arial, 2307 sans-serif; 2308 2309 font-size:11px; 2310} 2311 2312 2313.sp-cart-total strong { 2314 font-size:12px; 2315 2316 font-weight:400; 2317} 2318 2319 2320.sp-cart-checkout { 2321 display:flex; 2322 2323 width:100%; 2324 height:42px; 2325 2326 padding:0; 2327 2328 align-items:center; 2329 justify-content:center; 2330 2331 border:1px solid #000; 2332 2333 background:#000; 2334 2335 color:#fff; 2336 2337 font-family: 2338 "helvetica-neue-world", 2339 Arial, 2340 sans-serif; 2341 2342 font-size:11px; 2343 2344 cursor:pointer; 2345 2346 transition: 2347 background .2s ease, 2348 color .2s ease; 2349} 2350 2351 2352.sp-cart-checkout:hover:not(:disabled) { 2353 background:#fff; 2354 2355 color:#000; 2356} 2357 2358 2359.sp-cart-checkout:disabled { 2360 opacity:.35; 2361 2362 cursor:default; 2363} 2364 2365 2366 2367/* ========================================================= 2368 CART ENGINE 2369========================================================= */ 2370 2371.sp-cart-engine { 2372 position:fixed !important; 2373 2374 top:0 !important; 2375 left:-100000px !important; 2376 2377 width:1280px !important; 2378 height:900px !important; 2379 2380 border:0 !important; 2381 2382 opacity:0 !important; 2383 2384 pointer-events:none !important; 2385} 2386 2387 2388 2389/* ========================================================= 2390 MOBILE 2391========================================================= */ 2392 2393.sp-mobile-menu-button, 2394.sp-mobile-menu { 2395 display:none; 2396} 2397 2398
2399@media screen and (max-width:900px) { 2400 2401 body { 2402 padding-top:48px !important; 2403 } 2404 2405 2406 #spHeader, 2407 .sp-header-inner { 2408 height:48px !important; 2409 } 2410 2411 2412 .sp-header-inner { 2413 padding:0 14px; 2414 } 2415 2416 2417 .sp-header-left { 2418 display:none; 2419 } 2420 2421 2422 .sp-header-logo img { 2423 width:98px !important; 2424 height:21px !important; 2425 } 2426 2427 2428 .sp-header-right { 2429 gap:13px; 2430 } 2431 2432 2433 .sp-header-icon, 2434 .sp-header-icon svg { 2435 width:18px; 2436 height:18px; 2437 } 2438 2439 2440 .sp-mobile-menu-button { 2441 display:flex; 2442 2443 width:21px; 2444 height:16px; 2445 2446 padding:0; 2447 2448 flex-direction:column; 2449 2450 justify-content:space-between; 2451 2452 border:0; 2453 2454 background:transparent; 2455 2456 cursor:pointer; 2457 } 2458 2459 2460 .sp-mobile-menu-button span { 2461 display:block; 2462 2463 width:100%; 2464 height:1px; 2465 2466 background:#000; 2467 } 2468 2469 2470 .sp-shop-dropdown { 2471 display:none; 2472 } 2473 2474 2475 .sp-mobile-menu { 2476 position:fixed; 2477 2478 top:48px; 2479 left:0; 2480 2481 width:100%; 2482 2483 max-height:calc(100vh - 48px); 2484 2485 padding:23px 14px 30px; 2486 2487 flex-direction:column; 2488 2489 gap:20px; 2490 2491 overflow-y:auto; 2492 2493 background:#fff; 2494 } 2495 2496 2497 #spHeader.sp-menu-open .sp-mobile-menu { 2498 display:flex; 2499 } 2500 2501 2502 .sp-mobile-menu > a, 2503 .sp-mobile-shop-head > a { 2504 font-family: 2505 "helvetica-neue-world", 2506 Helvetica, 2507 Arial, 2508 sans-serif; 2509 2510 font-size:12px; 2511 2512 color:#000; 2513 2514 text-decoration:none; 2515 } 2516 2517 2518 .sp-mobile-shop-head { 2519 display:flex; 2520 2521 align-items:center; 2522 justify-content:space-between; 2523 } 2524 2525 2526 .sp-mobile-shop-button { 2527 padding:0; 2528 2529 border:0; 2530 2531 background:transparent; 2532 2533 color:#000; 2534 2535 font-size:16px; 2536 2537 cursor:pointer; 2538 } 2539 2540 2541 .sp-mobile-shop-root { 2542 display:none !important; 2543 2544 margin:18px 0 0 !important; 2545 2546 padding:0 0 0 12px !important; 2547 2548 flex-direction:column; 2549 2550 gap:17px; 2551 2552 list-style:none !important; 2553 } 2554 2555 2556 .sp-mobile-shop.sp-mobile-shop-open 2557 .sp-mobile-shop-root { 2558 display:flex !important; 2559 } 2560 2561 2562 .sp-mobile-shop-root > li > a { 2563 font-family: 2564 "helvetica-neue-world", 2565 Helvetica, 2566 Arial, 2567 sans-serif; 2568 2569 font-size:11px; 2570 2571 color:#000; 2572 2573 text-decoration:none; 2574 } 2575 2576} 2577 2578 2579@media screen and (max-width:700px) { 2580 2581 .sp-search-center { 2582 width:calc(100vw - 32px); 2583 2584 padding-top:38px; 2585 } 2586 2587 2588 .sp-search-input { 2589 font-size:16px !important; 2590 } 2591 2592 2593 .sp-cart-panel { 2594 width:calc(100vw - 28px); 2595 2596 max-width:none; 2597 } 2598 2599 2600 .sp-cart-head { 2601 height:52px; 2602 2603 flex-basis:52px; 2604 2605 padding:0 14px; 2606 } 2607 2608 2609 .sp-cart-item { 2610 grid-template-columns:72px minmax(0,1fr); 2611 2612 gap:13px; 2613 2614 padding:15px 14px; 2615 } 2616 2617 2618 .sp-cart-item-image, 2619 .sp-cart-item-image img { 2620 width:72px; 2621 } 2622 2623 2624 .sp-cart-item-image img { 2625 height:92px; 2626 } 2627 2628 2629 .sp-cart-footer { 2630 padding:15px 14px 17px; 2631 } 2632 2633} 2634 2635</style> 2636 2637 2638
2639<script> 2640(function () { 2641 2642 'use strict'; 2643 2644 2645 /* ===================================================== 2646 HEADER CATEGORY 2647 ===================================================== */ 2648 2649 var header = document.getElementById('spHeader'); 2650 2651 2652 function getCateNo(href) { 2653 2654 if (!href) { 2655 return null; 2656 } 2657 2658 2659 var query = href.match( 2660 /(?:\?|&)cate_no=(\d+)/ 2661 ); 2662 2663 2664 if (query) { 2665 return Number(query[1]); 2666 } 2667 2668 2669 var path = href.match( 2670 /\/(\d+)\/?(?:\?.*)?$/ 2671 ); 2672 2673 2674 return path 2675 ? Number(path[1]) 2676 : null; 2677 2678 } 2679 2680 2681 2682 function buildCategoryTree(root, data) { 2683 2684 if (!root || !Array.isArray(data)) { 2685 return; 2686 } 2687 2688 2689 var byNo = {}; 2690 var byParent = {}; 2691 2692 2693 data.forEach(function (item) { 2694 2695 var no = Number(item.cate_no); 2696 var parent = Number(item.parent_cate_no); 2697 2698 2699 byNo[no] = item; 2700 2701 2702 if (!byParent[parent]) { 2703 byParent[parent] = []; 2704 } 2705 2706 2707 byParent[parent].push(item); 2708 2709 }); 2710 2711 2712 2713 Array.prototype.forEach.call( 2714 root.children, 2715 function (li) { 2716 2717 var anchor = 2718 li.children.length 2719 ? li.children[0] 2720 : null; 2721 2722 2723 if (!anchor || anchor.tagName !== 'A') { 2724 return; 2725 } 2726 2727 2728 var cateNo = 2729 getCateNo( 2730 anchor.getAttribute('href') 2731 ); 2732 2733 2734 if (!cateNo) { 2735 return; 2736 } 2737 2738 2739 if (cateNo === 96) { 2740 2741 li.style.display = 'none'; 2742 2743 return; 2744 2745 } 2746 2747 2748 if ( 2749 byNo[cateNo] && 2750 byNo[cateNo].name 2751 ) { 2752 2753 anchor.textContent = 2754 byNo[cateNo].name; 2755 2756 } 2757 2758 2759 var children = 2760 byParent[cateNo]; 2761 2762 2763 if (!children || !children.length) { 2764 return; 2765 } 2766 2767 2768 var ul = 2769 document.createElement('ul'); 2770 2771 2772 ul.className = 2773 'sp-shop-children'; 2774 2775 2776 children.forEach(function (child) { 2777 2778 var childLi = 2779 document.createElement('li'); 2780 2781 2782 var childA = 2783 document.createElement('a'); 2784 2785 2786 childA.href = 2787 child.link_product_list 2788 || 2789 ( 2790 '/product/list.html?cate_no=' + 2791 child.cate_no 2792 ); 2793 2794 2795 childA.textContent = 2796 child.name; 2797 2798 2799 childLi.appendChild(childA); 2800 2801 ul.appendChild(childLi); 2802 2803 }); 2804 2805 2806 li.appendChild(ul); 2807 2808 } 2809 ); 2810 2811 } 2812 2813 2814 2815 if (header) { 2816 2817 fetch( 2818 '/exec/front/Product/SubCategory', 2819 { 2820 credentials:'same-origin' 2821 } 2822 ) 2823 .then(function (response) { 2824 return response.json(); 2825 }) 2826 .then(function (data) { 2827 2828 buildCategoryTree( 2829 header.querySelector('.sp-shop-root'), 2830 data 2831 ); 2832 2833 2834 buildCategoryTree( 2835 header.querySelector('.sp-mobile-shop-root'), 2836 data 2837 ); 2838 2839 }) 2840 .catch(function () {}); 2841 2842 2843 var mobileButton = 2844 header.querySelector( 2845 '.sp-mobile-menu-button' 2846 ); 2847 2848 2849 if (mobileButton) { 2850 2851 mobileButton.addEventListener( 2852 'click', 2853 function () { 2854 2855 var open = 2856 !header.classList.contains( 2857 'sp-menu-open' 2858 ); 2859 2860 2861 header.classList.toggle( 2862 'sp-menu-open', 2863 open 2864 ); 2865 2866 2867 mobileButton.setAttribute( 2868 'aria-expanded', 2869 open ? 'true' : 'false' 2870 ); 2871 2872 } 2873 ); 2874 2875 } 2876 2877 2878 var mobileShop = 2879 header.querySelector( 2880 '.sp-mobile-shop' 2881 ); 2882 2883 2884 var mobileShopButton = 2885 header.querySelector( 2886 '.sp-mobile-shop-button' 2887 ); 2888 2889 2890 if (mobileShop && mobileShopButton) { 2891 2892 mobileShopButton.addEventListener( 2893 'click', 2894 function () { 2895 2896 var open = 2897 !mobileShop.classList.contains( 2898 'sp-mobile-shop-open' 2899 ); 2900 2901 2902 mobileShop.classList.toggle( 2903 'sp-mobile-shop-open', 2904 open 2905 ); 2906 2907 2908 mobileShopButton.textContent = 2909 open ? 'â' : '+'; 2910 2911 } 2912 ); 2913 2914 } 2915 2916 } 2917 2918 2919 2920 /* ===================================================== 2921 SEARCH 2922 ===================================================== */ 2923 2924 var searchOverlay = 2925 document.getElementById( 2926 'spSearchOverlay' 2927 ); 2928 2929 2930 var searchClose = 2931 document.getElementById( 2932 'spSearchClose' 2933 ); 2934 2935 2936 var searchInput = 2937 document.getElementById( 2938 'spSearchInput' 2939 ); 2940 2941 2942 function openSearch() { 2943 2944 if (!searchOverlay) { 2945 return; 2946 } 2947 2948 2949 searchOverlay.classList.add( 2950 'is-open' 2951 ); 2952 2953 2954 searchOverlay.setAttribute( 2955 'aria-hidden', 2956 'false' 2957 ); 2958 2959 2960 document.documentElement.style.overflow = 2961 'hidden'; 2962 2963 2964 document.body.style.overflow = 2965 'hidden'; 2966 2967 2968 setTimeout(function () { 2969 2970 if (searchInput) { 2971 searchInput.focus(); 2972 } 2973 2974 }, 180); 2975 2976 } 2977 2978 2979 2980 function closeSearch() { 2981 2982 if (!searchOverlay) { 2983 return; 2984 } 2985 2986 2987 searchOverlay.classList.remove( 2988 'is-open' 2989 ); 2990 2991 2992 searchOverlay.setAttribute( 2993 'aria-hidden', 2994 'true' 2995 ); 2996 2997 2998 document.documentElement.style.overflow = 2999 ''; 3000 3001 3002 document.body.style.overflow = 3003 ''; 3004 3005 } 3006 3007 3008 3009 document.addEventListener( 3010 'click', 3011 function (event) { 3012 3013 var trigger = 3014 event.target.closest( 3015 '.sp-search-trigger' 3016 ); 3017 3018 3019 if (!trigger) { 3020 return; 3021 } 3022 3023 3024 event.preventDefault(); 3025 3026 openSearch(); 3027 3028 }, 3029 true 3030 ); 3031 3032 3033 if (searchClose) { 3034 3035 searchClose.addEventListener( 3036 'click', 3037 closeSearch 3038 ); 3039 3040 } 3041 3042 3043 if (searchOverlay) { 3044 3045 searchOverlay.addEventListener( 3046 'click', 3047 function (event) { 3048 3049 if ( 3050 event.target === 3051 searchOverlay 3052 ) { 3053 3054 closeSearch(); 3055 3056 } 3057 3058 } 3059 ); 3060 3061 } 3062 3063 3064 3065 /* ===================================================== 3066 ESC 3067 ===================================================== */ 3068 3069 document.addEventListener( 3070 'keydown', 3071 function (event) { 3072 3073 if (event.key !== 'Escape') { 3074 return; 3075 } 3076 3077 3078 closeSearch(); 3079 3080 } 3081 ); 3082 3083 3084})(); 3085</script>
3085 3086 3087 3088
3089<script> 3090(function () { 3091 3092 'use strict'; 3093 3094 3095 3096 /* ===================================================== 3097 DO NOT RUN CART ENGINE INSIDE CART ENGINE 3098 ===================================================== */ 3099 3100 if ( 3101 window.self !== window.top && 3102 /(?:\?|&)sp_cart_engine=1(?:&|$)/ 3103 .test(window.location.search) 3104 ) { 3105 return; 3106 } 3107 3108 3109 3110 /* ===================================================== 3111 ELEMENTS 3112 ===================================================== */ 3113 3114 var drawer = 3115 document.getElementById( 3116 'spCartDrawer' 3117 ); 3118 3119 3120 var cartBody = 3121 document.getElementById( 3122 'spCartBody' 3123 ); 3124 3125 3126 var totalElement = 3127 document.getElementById( 3128 'spCartTotal' 3129 ); 3130 3131 3132 var countElement = 3133 document.getElementById( 3134 'spCartCount' 3135 ); 3136 3137 3138 var checkoutButton = 3139 document.getElementById( 3140 'spCartCheckout' 3141 ); 3142 3143 3144 var closeButton = 3145 document.getElementById( 3146 'spCartClose' 3147 ); 3148 3149 3150 var backdrop = 3151 document.getElementById( 3152 'spCartBackdrop' 3153 ); 3154 3155 3156 var engine = 3157 document.getElementById( 3158 'spCartEngine' 3159 ); 3160 3161 3162 if ( 3163 !drawer || 3164 !cartBody || 3165 !engine 3166 ) { 3167 return; 3168 } 3169 3170 3171 3172 /* ===================================================== 3173 STATE 3174 ===================================================== */ 3175 3176 var engineItems = []; 3177 3178 var engineReady = false; 3179 3180 var currentCartQuantity = 0; 3181 3182 var reloadTimer = null; 3183 3184 var addPending = false; 3185 3186 var addBaseline = 0; 3187 3188 var addTimers = []; 3189 3190 3191 3192 /* ===================================================== 3193 UTIL 3194 ===================================================== */ 3195 3196 function cleanText(value) { 3197 3198 return String(value || '') 3199 .replace(/\u00a0/g,' ') 3200 .replace(/\s+/g,' ') 3201 .trim(); 3202 3203 } 3204 3205 3206 3207 function escapeHtml(value) { 3208 3209 return String(value || '') 3210 .replace(/&/g,'&') 3211 .replace(/</g,'<') 3212 .replace(/>/g,'>') 3213 .replace(/"/g,'"') 3214 .replace(/'/g,'''); 3215 3216 } 3217 3218 3219 3220 function absoluteUrl(url) { 3221 3222 if (!url) { 3223 return ''; 3224 } 3225 3226 3227 try { 3228 3229 return new URL( 3230 url, 3231 window.location.origin 3232 ).href; 3233 3234 } catch (e) { 3235 3236 return url; 3237 3238 } 3239 3240 } 3241 3242 3243 3244 function numberOnly(value) { 3245 3246 var match = 3247 String(value || '') 3248 .replace(/,/g,'') 3249 .match(/\d+/); 3250 3251 3252 return match 3253 ? parseInt(match[0],10) || 0 3254 : 0; 3255 3256 } 3257 3258 3259 3260 function frameDoc() { 3261 3262 try { 3263 3264 return engine.contentDocument 3265 || 3266 engine.contentWindow.document; 3267 3268 } catch (e) { 3269 3270 return null; 3271 3272 } 3273 3274 } 3275 3276 3277 3278 function frameWindow() { 3279 3280 try { 3281 3282 return engine.contentWindow; 3283 3284 } catch (e) { 3285 3286 return null; 3287 3288 } 3289 3290 } 3291 3292 3293 3294 function controlText(control) { 3295 3296 if (!control) { 3297 return ''; 3298 } 3299 3300 3301 var text = 3302 cleanText( 3303 control.textContent 3304 ); 3305 3306 3307 var images = 3308 control.querySelectorAll('img'); 3309 3310 3311 Array.prototype.forEach.call( 3312 images, 3313 function (img) { 3314 3315 text += 3316 ' ' + 3317 cleanText( 3318 img.getAttribute('alt') 3319 || 3320 img.getAttribute('title') 3321 ); 3322 3323 } 3324 ); 3325 3326 3327 return cleanText(text); 3328 3329 } 3330 3331 3332 3333 /* ===================================================== 3334 FIND CART ITEMS 3335 ===================================================== */ 3336 3337 function collectNativeCards(doc) { 3338 3339 if (!doc || !doc.body) { 3340 return []; 3341 } 3342 3343 3344 var scope = 3345 doc.querySelector( 3346 '.xans-order-basketpackage' 3347 ) 3348 || 3349 doc.querySelector( 3350 '[class*="order-basket"]' 3351 ) 3352 || 3353 doc.querySelector( 3354 '#contents' 3355 ) 3356 || 3357 doc.body; 3358 3359 3360 var selectors = [ 3361 3362 '.ec-base-prdInfo', 3363 3364 '.prdInfo', 3365 3366 '.basketItem', 3367 3368 'tbody tr', 3369 3370 'li.item' 3371 3372 ]; 3373 3374 3375 var cards = []; 3376 var seen = []; 3377 3378
3379 selectors.forEach( 3380 function (selector) { 3381 3382 var candidates = 3383 scope.querySelectorAll( 3384 selector 3385 ); 3386 3387 3388 Array.prototype.forEach.call( 3389 candidates, 3390 function (card) { 3391 3392 if ( 3393 seen.indexOf(card) !== -1 3394 ) { 3395 return; 3396 } 3397 3398 3399 var productLink = 3400 card.querySelector( 3401 '.prdName a,' + 3402 'a[href*="/product/detail"],' + 3403 'a[href*="/product/"]' 3404 ); 3405 3406 3407 var image = 3408 card.querySelector( 3409 '.thumbnail img,' + 3410 '.thumb img,' + 3411 'a[href*="/product/"] img' 3412 ); 3413 3414 3415 if ( 3416 !productLink || 3417 !image 3418 ) { 3419 return; 3420 } 3421 3422 3423 seen.push(card); 3424 3425 cards.push(card); 3426 3427 } 3428 ); 3429 3430 } 3431 ); 3432 3433 3434 return cards; 3435 3436 } 3437 3438 3439 3440 function findNameLink(card) { 3441 3442 var preferred = 3443 card.querySelector( 3444 '.prdName a,' + 3445 '.name a' 3446 ); 3447 3448 3449 if ( 3450 preferred && 3451 cleanText(preferred.textContent) 3452 ) { 3453 3454 return preferred; 3455 3456 } 3457 3458 3459 var links = 3460 card.querySelectorAll( 3461 'a[href*="/product/"]' 3462 ); 3463 3464 3465 for ( 3466 var i = 0; 3467 i < links.length; 3468 i++ 3469 ) { 3470 3471 if ( 3472 cleanText( 3473 links[i].textContent 3474 ) 3475 ) { 3476 3477 return links[i]; 3478 3479 } 3480 3481 } 3482 3483 3484 return null; 3485 3486 } 3487 3488 3489 3490 function findImage(card) { 3491 3492 return card.querySelector( 3493 '.thumbnail img,' + 3494 '.thumb img,' + 3495 'a[href*="/product/"] img,' + 3496 'img' 3497 ); 3498 3499 } 3500 3501 3502 3503 function findQuantityInput(card) { 3504 3505 var inputs = 3506 card.querySelectorAll( 3507 '.quantity input,' + 3508 'input[name*="quantity"],' + 3509 'input[id*="quantity"],' + 3510 'input[class*="quantity"]' 3511 ); 3512 3513 3514 for ( 3515 var i = 0; 3516 i < inputs.length; 3517 i++ 3518 ) { 3519 3520 var type = 3521 ( 3522 inputs[i].getAttribute('type') 3523 || 3524 'text' 3525 ).toLowerCase(); 3526 3527 3528 if ( 3529 type !== 'hidden' 3530 ) { 3531 3532 return inputs[i]; 3533 3534 } 3535 3536 } 3537 3538 3539 return null; 3540 3541 } 3542 3543 3544 3545 function findQuantity(card) { 3546 3547 var input = 3548 findQuantityInput(card); 3549 3550 3551 if (!input) { 3552 return 1; 3553 } 3554 3555 3556 return Math.max( 3557 1, 3558 numberOnly(input.value) 3559 ); 3560 3561 } 3562 3563 3564 3565 function findOption(card) { 3566 3567 var selectors = [ 3568 3569 '.optionGroup .optionStr', 3570 3571 '.option > li', 3572 3573 '.optionList > li', 3574 3575 '.option' 3576 3577 ]; 3578 3579 3580 var result = []; 3581 3582 3583 selectors.forEach( 3584 function (selector) { 3585 3586 var nodes = 3587 card.querySelectorAll( 3588 selector 3589 ); 3590 3591 3592 Array.prototype.forEach.call( 3593 nodes, 3594 function (node) { 3595 3596 var clone = 3597 node.cloneNode(true); 3598 3599 3600 var remove = 3601 clone.querySelectorAll( 3602 'a,button,script' 3603 ); 3604 3605 3606 Array.prototype.forEach.call( 3607 remove, 3608 function (item) { 3609 3610 if (item.parentNode) { 3611 3612 item.parentNode.removeChild( 3613 item 3614 ); 3615 3616 } 3617 3618 } 3619 ); 3620 3621 3622 var text = 3623 cleanText( 3624 clone.textContent 3625 ) 3626 .replace( 3627 /\(\s*\d+\s*ê°\s*\)/g, 3628 '' 3629 ); 3630 3631 3632 text = 3633 cleanText(text); 3634 3635 3636 if ( 3637 text && 3638 result.indexOf(text) === -1 3639 ) { 3640 3641 result.push(text); 3642 3643 } 3644 3645 } 3646 ); 3647 3648 } 3649 ); 3650 3651 3652 return result.join(' / '); 3653 3654 } 3655 3656 3657 3658 function findPrice(card) { 3659 3660 var selectors = [ 3661 3662 '.sumPrice strong', 3663 3664 '.sumPrice', 3665 3666 'td.total strong', 3667 3668 '.total strong', 3669 3670 '.salePrice', 3671 3672 '.discountPrice', 3673 3674 '.price strong', 3675 3676 '.price' 3677 3678 ]; 3679 3680 3681 for ( 3682 var i = 0; 3683 i < selectors.length; 3684 i++ 3685 ) { 3686 3687 var nodes = 3688 card.querySelectorAll( 3689 selectors[i] 3690 ); 3691 3692 3693 for ( 3694 var j = 0; 3695 j < nodes.length; 3696 j++ 3697 ) { 3698 3699 var text = 3700 cleanText( 3701 nodes[j].textContent 3702 ); 3703 3704 3705 if ( 3706 numberOnly(text) > 0 3707 ) { 3708 3709 return text; 3710 3711 } 3712 3713 } 3714 3715 } 3716 3717 3718 return ''; 3719 3720 } 3721 3722 3723 3724 function extractItems(doc) { 3725 3726 var cards = 3727 collectNativeCards(doc); 3728 3729 3730 var items = []; 3731 3732 3733 cards.forEach( 3734 function (card) { 3735 3736 var link = 3737 findNameLink(card); 3738 3739 3740 var image = 3741 findImage(card); 3742 3743 3744 if (!link || !image) { 3745 return; 3746 } 3747 3748 3749 var name = 3750 cleanText( 3751 link.textContent 3752 ) 3753 || 3754 cleanText( 3755 image.getAttribute('alt') 3756 ); 3757 3758 3759 if (!name) { 3760 return; 3761 } 3762 3763 3764 items.push({ 3765 3766 nativeCard:card, 3767 3768 name:name, 3769 3770 href: 3771 absoluteUrl( 3772 link.getAttribute('href') 3773 ), 3774 3775 image: 3776 absoluteUrl( 3777 image.getAttribute('src') 3778 || 3779 image.getAttribute('data-src') 3780 ), 3781 3782 option: 3783 findOption(card), 3784 3785 quantity: 3786 findQuantity(card), 3787 3788 price: 3789 findPrice(card) 3790 3791 }); 3792 3793 } 3794 ); 3795 3796 3797 return items; 3798 3799 } 3800 3801 3802
3803 function extractTotal(doc) { 3804 3805 var selectors = [ 3806 3807 '#total_order_price_view', 3808 3809 '#total_order_price_front', 3810 3811 '[id*="total_order_price"]', 3812 3813 '.totalSummary .paymentPrice strong', 3814 3815 '.paymentPrice strong', 3816 3817 '.xans-order-totalsummary strong' 3818 3819 ]; 3820 3821 3822 for ( 3823 var i = 0; 3824 i < selectors.length; 3825 i++ 3826 ) { 3827 3828 var elements = 3829 doc.querySelectorAll( 3830 selectors[i] 3831 ); 3832 3833 3834 for ( 3835 var j = 0; 3836 j < elements.length; 3837 j++ 3838 ) { 3839 3840 var text = 3841 cleanText( 3842 elements[j].textContent 3843 ); 3844 3845 3846 if ( 3847 numberOnly(text) > 0 3848 ) { 3849 3850 return text; 3851 3852 } 3853 3854 } 3855 3856 } 3857 3858 3859 return '-'; 3860 3861 } 3862 3863 3864 3865 /* ===================================================== 3866 CART COUNT 3867 ===================================================== */ 3868 3869 function updateCartCount(items) { 3870 3871 var quantity = 0; 3872 3873 3874 items.forEach( 3875 function (item) { 3876 3877 quantity += 3878 Math.max( 3879 1, 3880 parseInt( 3881 item.quantity, 3882 10 3883 ) || 1 3884 ); 3885 3886 } 3887 ); 3888 3889 3890 currentCartQuantity = 3891 quantity; 3892 3893 3894 if (!countElement) { 3895 return; 3896 } 3897 3898 3899 if (quantity <= 0) { 3900 3901 countElement.textContent = ''; 3902 3903 countElement.classList.remove( 3904 'is-visible' 3905 ); 3906 3907 return; 3908 3909 } 3910 3911 3912 countElement.textContent = 3913 quantity > 99 3914 ? '99+' 3915 : String(quantity); 3916 3917 3918 countElement.classList.add( 3919 'is-visible' 3920 ); 3921 3922 } 3923 3924 3925 3926 /* ===================================================== 3927 RENDER 3928 ===================================================== */ 3929 3930 function renderCart(items,total) { 3931 3932 updateCartCount(items); 3933 3934 3935 checkoutButton.disabled = 3936 !items.length; 3937 3938 3939 if (!items.length) { 3940 3941 cartBody.innerHTML = 3942 '<div class="sp-cart-empty">' + 3943 'ì¥ë°êµ¬ëì ë´ê¸´ ìíì´ ììµëë¤.' + 3944 '</div>'; 3945 3946 3947 totalElement.textContent = 3948 'â©0'; 3949 3950 3951 return; 3952 3953 } 3954 3955 3956 var html = ''; 3957 3958 3959 items.forEach( 3960 function (item,index) { 3961 3962 html += 3963 3964 '<article class="sp-cart-item" data-cart-item="' + 3965 index + 3966 '">' + 3967 3968 3969 '<button type="button"' + 3970 ' class="sp-cart-remove"' + 3971 ' data-cart-remove="' + 3972 index + 3973 '"' + 3974 ' aria-label="Remove">' + 3975 '</button>' + 3976 3977 3978 '<a class="sp-cart-item-image"' + 3979 ' href="' + 3980 escapeHtml(item.href) + 3981 '">' + 3982 3983 '<img src="' + 3984 escapeHtml(item.image) + 3985 '" alt loading="lazy" ez-prevent="img">' + 3986 3987 '</a>' + 3988 3989 3990 '<div class="sp-cart-item-info">' + 3991 3992 3993 '<a class="sp-cart-item-name"' + 3994 ' href="' + 3995 escapeHtml(item.href) + 3996 '">' + 3997 3998 escapeHtml(item.name) + 3999 4000 '</a>' + 4001 4002 4003 '<span class="sp-cart-item-option">' + 4004 escapeHtml(item.option) + 4005 '</span>' + 4006 4007 4008 '<div class="sp-cart-item-bottom">' + 4009 4010 4011 '<div class="sp-cart-qty-control">' + 4012 4013 '<button type="button"' + 4014 ' class="sp-cart-qty-button"' + 4015 ' data-cart-minus="' + 4016 index + 4017 '">' + 4018 'â' + 4019 '</button>' + 4020 4021 '<input type="number"' + 4022 ' min="1"' + 4023 ' class="sp-cart-qty-input"' + 4024 ' data-cart-qty="' + 4025 index + 4026 '"' + 4027 ' value="' + 4028 item.quantity + 4029 '">' + 4030 4031 '<button type="button"' + 4032 ' class="sp-cart-qty-button"' + 4033 ' data-cart-plus="' + 4034 index + 4035 '">' + 4036 '+' + 4037 '</button>' + 4038 4039 '</div>' + 4040 4041 4042 '<span class="sp-cart-item-price">' + 4043 escapeHtml(item.price) + 4044 '</span>' + 4045 4046 4047 '</div>' + 4048 4049 4050 '</div>' + 4051 4052 4053 '</article>'; 4054 4055 } 4056 ); 4057 4058 4059 cartBody.innerHTML = 4060 html; 4061 4062 4063 totalElement.textContent = 4064 total || '-'; 4065 4066 } 4067 4068 4069 4070 /* ===================================================== 4071 ENGINE 4072 ===================================================== */ 4073 4074 function syncEngine() { 4075 4076 var doc = 4077 frameDoc(); 4078 4079 4080 if (!doc || !doc.body) { 4081 return; 4082 } 4083 4084 4085 engineItems = 4086 extractItems(doc); 4087 4088 4089 renderCart( 4090 engineItems,
4091 extractTotal(doc) 4092 ); 4093 4094 } 4095 4096 4097 4098 function reloadEngine() { 4099 4100 engineReady = false; 4101 4102 4103 engine.src = 4104 '/order/basket.html' + 4105 '?delvtype=A' + 4106 '&sp_cart_engine=1' + 4107 '&sp_time=' + 4108 Date.now(); 4109 4110 } 4111 4112 4113 4114 function scheduleReload(delay) { 4115 4116 if (reloadTimer) { 4117 4118 clearTimeout( 4119 reloadTimer 4120 ); 4121 4122 } 4123 4124 4125 reloadTimer = 4126 setTimeout( 4127 reloadEngine, 4128 delay || 700 4129 ); 4130 4131 } 4132 4133 4134 4135 engine.addEventListener( 4136 'load', 4137 function () { 4138 4139 var win = 4140 frameWindow(); 4141 4142 4143 if (!win) { 4144 return; 4145 } 4146 4147 4148 try { 4149 4150 if ( 4151 !win.location.href || 4152 win.location.href === 4153 'about:blank' 4154 ) { 4155 return; 4156 } 4157 4158 } catch (e) { 4159 4160 return; 4161 4162 } 4163 4164 4165 engineReady = true; 4166 4167 syncEngine(); 4168 4169 } 4170 ); 4171 4172 4173 4174 /* ===================================================== 4175 OPEN / CLOSE 4176 ===================================================== */ 4177 4178 function lockPage() { 4179 4180 document.documentElement.style.overflow = 4181 'hidden'; 4182 4183 4184 document.body.style.overflow = 4185 'hidden'; 4186 4187 } 4188 4189 4190 4191 function unlockPage() { 4192 4193 document.documentElement.style.overflow = 4194 ''; 4195 4196 4197 document.body.style.overflow = 4198 ''; 4199 4200 } 4201 4202 4203 4204 function showCart() { 4205 4206 drawer.classList.add( 4207 'is-open' 4208 ); 4209 4210 4211 drawer.setAttribute( 4212 'aria-hidden', 4213 'false' 4214 ); 4215 4216 4217 lockPage(); 4218 4219 } 4220 4221 4222 4223 function openCart() { 4224 4225 showCart(); 4226 4227 4228 cartBody.innerHTML = 4229 '<div class="sp-cart-loading">' + 4230 'LOADING' + 4231 '</div>'; 4232 4233 4234 totalElement.textContent = 4235 '-'; 4236 4237 4238 reloadEngine(); 4239 4240 } 4241 4242 4243 4244 function closeCart() { 4245 4246 drawer.classList.remove( 4247 'is-open' 4248 ); 4249 4250 4251 drawer.setAttribute( 4252 'aria-hidden', 4253 'true' 4254 ); 4255 4256 4257 unlockPage(); 4258 4259 } 4260 4261 4262 4263 /* ===================================================== 4264 QUANTITY CHANGE 4265 ===================================================== */ 4266 4267 function findQuantityModify( 4268 card, 4269 input 4270 ) { 4271 4272 var scope = 4273 input.closest('.quantity') 4274 || 4275 input.parentNode 4276 || 4277 card; 4278 4279 4280 var direct = 4281 scope.querySelector( 4282 '.sizeQty' 4283 ); 4284 4285 4286 if (direct) { 4287 return direct; 4288 } 4289 4290 4291 var buttons = 4292 scope.querySelectorAll( 4293 'a,button' 4294 ); 4295 4296 4297 for ( 4298 var i = 0; 4299 i < buttons.length; 4300 i++ 4301 ) { 4302 4303 var label = 4304 controlText( 4305 buttons[i] 4306 ); 4307 4308 4309 if ( 4310 label === 'ë³ê²½' || 4311 label.indexOf('ìëë³ê²½') !== -1 4312 ) { 4313 4314 return buttons[i]; 4315 4316 } 4317 4318 } 4319 4320 4321 return null; 4322 4323 } 4324 4325 4326 4327 function changeQuantity( 4328 index, 4329 quantity 4330 ) { 4331 4332 var item = 4333 engineItems[index]; 4334 4335 4336 if (!item) { 4337 return; 4338 } 4339 4340 4341 quantity = 4342 Math.max( 4343 1, 4344 parseInt(quantity,10) || 1 4345 ); 4346 4347 4348 var input = 4349 findQuantityInput( 4350 item.nativeCard 4351 ); 4352 4353 4354 if (!input) { 4355 return; 4356 } 4357 4358 4359 var drawerItem = 4360 cartBody.querySelector( 4361 '[data-cart-item="' + 4362 index + 4363 '"]' 4364 ); 4365 4366 4367 if (drawerItem) { 4368 4369 drawerItem.classList.add( 4370 'is-busy' 4371 ); 4372 4373 } 4374 4375 4376 input.value = 4377 quantity; 4378 4379 4380 var win = 4381 frameWindow(); 4382 4383 4384 if (win) { 4385 4386 try { 4387 4388 input.dispatchEvent( 4389 new win.Event( 4390 'input', 4391 { 4392 bubbles:true 4393 } 4394 ) 4395 ); 4396 4397 4398 input.dispatchEvent( 4399 new win.Event( 4400 'change', 4401 { 4402 bubbles:true 4403 } 4404 ) 4405 ); 4406 4407 } catch (e) {} 4408 4409 } 4410 4411 4412 var modify = 4413 findQuantityModify( 4414 item.nativeCard, 4415 input 4416 ); 4417 4418 4419 if (modify) { 4420 4421 modify.click(); 4422 4423 scheduleReload(750); 4424 4425 } else { 4426 4427 reloadEngine(); 4428 4429 } 4430 4431 } 4432 4433 4434 4435 /* ===================================================== 4436 REMOVE 4437 ===================================================== */ 4438 4439 function findRemove(card) { 4440 4441 var direct = 4442 card.querySelector( 4443 '.btnDelete' 4444 ); 4445 4446 4447 if (direct) { 4448 return direct; 4449 } 4450 4451 4452 var controls = 4453 card.querySelectorAll( 4454 'a,button' 4455 ); 4456 4457 4458 for ( 4459 var i = 0; 4460 i < controls.length; 4461 i++ 4462 ) { 4463 4464 var label = 4465 controlText( 4466 controls[i] 4467 ); 4468 4469 4470 if ( 4471 label === 'ìì ' || 4472 label.indexOf('ìì ') !== -1 4473 ) { 4474 4475 return controls[i]; 4476 4477 } 4478 4479 } 4480 4481 4482 return null; 4483 4484 } 4485 4486 4487 4488 function removeItem(index) { 4489 4490 var item = 4491 engineItems[index]; 4492 4493 4494 if (!item) { 4495 return; 4496 } 4497 4498 4499 var remove = 4500 findRemove( 4501 item.nativeCard 4502 ); 4503 4504 4505 if (!remove) { 4506 4507 window.location.href = 4508 '/order/basket.html'; 4509 4510 return; 4511 4512 } 4513 4514 4515 var win = 4516 frameWindow(); 4517 4518 4519 if (win) { 4520 4521 try { 4522 4523 win.confirm = 4524 function () { 4525 return true; 4526 }; 4527 4528 } catch (e) {} 4529 4530 } 4531 4532 4533 cartBody.innerHTML = 4534 '<div class="sp-cart-loading">' + 4535 'LOADING' + 4536 '</div>'; 4537 4538 4539 remove.click(); 4540 4541 scheduleReload(700); 4542 4543 } 4544 4545 4546 4547 /* ===================================================== 4548 CHECKOUT 4549 ===================================================== */ 4550 4551 function findCheckout(doc) { 4552 4553 var controls = 4554 doc.querySelectorAll( 4555 '.xans-order-totalorder a,' + 4556 '.xans-order-totalorder button,' + 4557 'a[link-order*="/order/orderform"],' + 4558 'a[href*="/order/orderform"]' 4559 ); 4560 4561 4562 for ( 4563 var i = 0; 4564 i < controls.length; 4565 i++ 4566 ) { 4567 4568 var label = 4569 controlText( 4570 controls[i] 4571 ); 4572 4573 4574 if ( 4575 label.indexOf( 4576 'ì ì²´ìí주문' 4577 ) !== -1 4578 || 4579 label.indexOf( 4580 'ì ì²´ ìí 주문' 4581 ) !== -1 4582 ) { 4583 4584 return controls[i]; 4585 4586 } 4587 4588 } 4589 4590 4591 return null; 4592 4593 } 4594 4595 4596 4597 function checkout() { 4598 4599 if (!engineReady) { 4600 4601 reloadEngine(); 4602 4603 return; 4604 4605 } 4606 4607 4608 var doc = 4609 frameDoc(); 4610 4611 4612 var button = 4613 findCheckout(doc); 4614 4615 4616 if (!button) { 4617 4618 window.location.href = 4619 '/order/basket.html'; 4620 4621 return; 4622 4623 } 4624 4625 4626 var win = 4627 frameWindow(); 4628 4629 4630 var before = 4631 ''; 4632 4633 try { 4634 4635 before = 4636 win.location.href; 4637 4638 } catch (e) {} 4639 4640 4641 button.click(); 4642 4643 4644 var tries = 0; 4645 4646 4647 var timer = 4648 setInterval( 4649 function () { 4650 4651 tries++; 4652 4653 4654 try { 4655 4656 var now = 4657 win.location.href; 4658 4659 4660 if ( 4661 now && 4662 now !== before && 4663 now.indexOf( 4664 '/order/basket' 4665 ) === -1 4666 ) { 4667 4668 clearInterval(timer); 4669 4670 window.location.href = 4671 now; 4672 4673 return; 4674 4675 } 4676 4677 } catch (e) {} 4678 4679 4680 if (tries >= 20) { 4681 4682 clearInterval(timer); 4683 4684 window.location.href = 4685 '/order/basket.html'; 4686 4687 } 4688 4689 }, 4690 100 4691 ); 4692 4693 } 4694 4695 4696 4697 /* =====================================================
4698 DRAWER EVENTS 4699 ===================================================== */ 4700 4701 cartBody.addEventListener( 4702 'click', 4703 function (event) { 4704 4705 var minus = 4706 event.target.closest( 4707 '[data-cart-minus]' 4708 ); 4709 4710 4711 if (minus) { 4712 4713 var index = 4714 parseInt( 4715 minus.getAttribute( 4716 'data-cart-minus' 4717 ), 4718 10 4719 ); 4720 4721 4722 var input = 4723 cartBody.querySelector( 4724 '[data-cart-qty="' + 4725 index + 4726 '"]' 4727 ); 4728 4729 4730 var quantity = 4731 input 4732 ? parseInt(input.value,10) || 1 4733 : 1; 4734 4735 4736 quantity = 4737 Math.max( 4738 1, 4739 quantity - 1 4740 ); 4741 4742 4743 if (input) { 4744 input.value = quantity; 4745 } 4746 4747 4748 changeQuantity( 4749 index, 4750 quantity 4751 ); 4752 4753 4754 return; 4755 4756 } 4757 4758 4759 var plus = 4760 event.target.closest( 4761 '[data-cart-plus]' 4762 ); 4763 4764 4765 if (plus) { 4766 4767 var plusIndex = 4768 parseInt( 4769 plus.getAttribute( 4770 'data-cart-plus' 4771 ), 4772 10 4773 ); 4774 4775 4776 var plusInput = 4777 cartBody.querySelector( 4778 '[data-cart-qty="' + 4779 plusIndex + 4780 '"]' 4781 ); 4782 4783 4784 var plusQty = 4785 plusInput 4786 ? parseInt( 4787 plusInput.value, 4788 10 4789 ) || 1 4790 : 1; 4791 4792 4793 plusQty++; 4794 4795 4796 if (plusInput) { 4797 plusInput.value = plusQty; 4798 } 4799 4800 4801 changeQuantity( 4802 plusIndex, 4803 plusQty 4804 ); 4805 4806 4807 return; 4808 4809 } 4810 4811 4812 var remove = 4813 event.target.closest( 4814 '[data-cart-remove]' 4815 ); 4816 4817 4818 if (remove) { 4819 4820 var removeIndex = 4821 parseInt( 4822 remove.getAttribute( 4823 'data-cart-remove' 4824 ), 4825 10 4826 ); 4827 4828 4829 removeItem( 4830 removeIndex 4831 ); 4832 4833 } 4834 4835 } 4836 ); 4837 4838 4839 4840 cartBody.addEventListener( 4841 'change', 4842 function (event) { 4843 4844 var input = 4845 event.target.closest( 4846 '[data-cart-qty]' 4847 ); 4848 4849 4850 if (!input) { 4851 return; 4852 } 4853 4854 4855 var index = 4856 parseInt( 4857 input.getAttribute( 4858 'data-cart-qty' 4859 ), 4860 10 4861 ); 4862 4863 4864 var quantity = 4865 Math.max( 4866 1, 4867 parseInt( 4868 input.value, 4869 10 4870 ) || 1 4871 ); 4872 4873 4874 input.value = 4875 quantity; 4876 4877 4878 changeQuantity( 4879 index, 4880 quantity 4881 ); 4882 4883 } 4884 ); 4885 4886 4887 4888 /* ===================================================== 4889 HEADER CART ICON 4890 ===================================================== */ 4891 4892 document.addEventListener( 4893 'click', 4894 function (event) { 4895 4896 var trigger = 4897 event.target.closest( 4898 '.sp-cart-trigger' 4899 ); 4900 4901 4902 if (!trigger) { 4903 return; 4904 } 4905 4906 4907 event.preventDefault(); 4908 4909 event.stopPropagation(); 4910 4911 openCart(); 4912 4913 }, 4914 true 4915 ); 4916 4917 4918 4919 /* ===================================================== 4920 CLOSE 4921 ===================================================== */ 4922 4923 if (closeButton) { 4924 4925 closeButton.addEventListener( 4926 'click', 4927 closeCart 4928 ); 4929 4930 } 4931 4932 4933 if (backdrop) { 4934 4935 backdrop.addEventListener( 4936 'click', 4937 closeCart 4938 ); 4939 4940 } 4941 4942 4943 document.addEventListener( 4944 'keydown', 4945 function (event) { 4946 4947 if ( 4948 event.key === 'Escape' && 4949 drawer.classList.contains( 4950 'is-open' 4951 ) 4952 ) { 4953 4954 closeCart(); 4955 4956 } 4957 4958 } 4959 ); 4960 4961 4962 4963 /* ===================================================== 4964 CHECKOUT BUTTON 4965 ===================================================== */ 4966 4967 checkoutButton.addEventListener( 4968 'click', 4969 function () { 4970 4971 if ( 4972 checkoutButton.disabled 4973 ) { 4974 return; 4975 } 4976 4977 4978 checkout(); 4979 4980 } 4981 ); 4982 4983 4984 4985 /* ===================================================== 4986 ADD TO CART WATCH 4987 ===================================================== */ 4988 4989 function requestBasketSnapshot() { 4990 4991 return fetch( 4992 '/order/basket.html' + 4993 '?delvtype=A' + 4994 '&sp_snapshot=' + 4995 Date.now(), 4996 { 4997 credentials:'same-origin', 4998 cache:'no-store' 4999 } 5000 ) 5001 .then(function (response) { 5002 5003 if (!response.ok) { 5004 5005 throw new Error( 5006 'basket load error' 5007 ); 5008 5009 } 5010 5011 5012 return response.text(); 5013 5014 }) 5015 .then(function (html) { 5016 5017 var parser = 5018 new DOMParser(); 5019 5020 5021 var doc = 5022 parser.parseFromString( 5023 html, 5024 'text/html' 5025 ); 5026 5027 5028 var items = 5029 extractItems(doc); 5030 5031 5032 var quantity = 0; 5033 5034
5035 items.forEach( 5036 function (item) { 5037 5038 quantity += 5039 Math.max( 5040 1, 5041 parseInt( 5042 item.quantity, 5043 10 5044 ) || 1 5045 ); 5046 5047 } 5048 ); 5049 5050 5051 return { 5052 quantity:quantity 5053 }; 5054 5055 }); 5056 5057 } 5058 5059 5060 5061 function clearAddTimers() { 5062 5063 addTimers.forEach( 5064 function (timer) { 5065 5066 clearTimeout(timer); 5067 5068 } 5069 ); 5070 5071 5072 addTimers = []; 5073 5074 } 5075 5076 5077 5078 function finishAdd() { 5079 5080 if (!addPending) { 5081 return; 5082 } 5083 5084 5085 addPending = false; 5086 5087 clearAddTimers(); 5088 5089 5090 var confirmLayer = 5091 document.getElementById( 5092 'confirmLayer' 5093 ); 5094 5095 5096 if (confirmLayer) { 5097 5098 confirmLayer.style.display = 5099 'none'; 5100 5101 } 5102 5103 5104 openCart(); 5105 5106 } 5107 5108 5109 5110 function checkBasketChanged() { 5111 5112 if (!addPending) { 5113 return; 5114 } 5115 5116 5117 requestBasketSnapshot() 5118 .then(function (result) { 5119 5120 if ( 5121 result.quantity > 5122 addBaseline 5123 ) { 5124 5125 finishAdd(); 5126 5127 } 5128 5129 }) 5130 .catch(function () {}); 5131 5132 } 5133 5134 5135 5136 function startAddWatch() { 5137 5138 addPending = true; 5139 5140 addBaseline = 5141 currentCartQuantity; 5142 5143 5144 clearAddTimers(); 5145 5146 5147 [ 5148 250, 5149 450, 5150 700, 5151 1000, 5152 1400, 5153 2000, 5154 2800, 5155 3800 5156 ] 5157 .forEach( 5158 function (delay) { 5159 5160 addTimers.push( 5161 setTimeout( 5162 checkBasketChanged, 5163 delay 5164 ) 5165 ); 5166 5167 } 5168 ); 5169 5170 5171 addTimers.push( 5172 setTimeout( 5173 function () { 5174 5175 addPending = false; 5176 5177 clearAddTimers(); 5178 5179 }, 5180 5000 5181 ) 5182 ); 5183 5184 } 5185 5186 5187 5188 /* ===================================================== 5189 CAFE24 SUCCESS LAYER OBSERVER 5190 ===================================================== */ 5191 5192 var observer = 5193 new MutationObserver( 5194 function () { 5195 5196 if (!addPending) { 5197 return; 5198 } 5199 5200 5201 var layer = 5202 document.getElementById( 5203 'confirmLayer' 5204 ); 5205 5206 5207 if (!layer) { 5208 return; 5209 } 5210 5211 5212 var text = 5213 cleanText( 5214 layer.textContent 5215 ); 5216 5217 5218 var success = 5219 layer.querySelector( 5220 '.xans-product-basketadd,' + 5221 '.xans-order-layerbasket' 5222 ) 5223 || 5224 text.indexOf( 5225 'ì¥ë°êµ¬ëì ë´' 5226 ) !== -1 5227 || 5228 text.indexOf( 5229 'ì ìì ì¼ë¡ ë´ê²¼' 5230 ) !== -1; 5231 5232 5233 if (!success) { 5234 return; 5235 } 5236 5237 5238 setTimeout( 5239 checkBasketChanged, 5240 120 5241 ); 5242 5243 } 5244 ); 5245 5246 5247 observer.observe( 5248 document.body, 5249 { 5250 childList:true, 5251 subtree:true 5252 } 5253 ); 5254 5255 5256 5257 /* ===================================================== 5258 PRODUCT DETAIL ADD TO CART 5259 ===================================================== */ 5260 5261 document.addEventListener( 5262 'click', 5263 function (event) { 5264 5265 var button = 5266 event.target.closest( 5267 '#actionCart,' + 5268 '.actionCart,' + 5269 '.sp-product-detail-section .actionCart' 5270 ); 5271 5272 5273 if (!button) { 5274 return; 5275 } 5276 5277 5278 /* 5279 * ì¤ì: 5280 * preventDefault íì§ ìì. 5281 * 5282 * Cafe24 ìë ì¥ë°êµ¬ë ë±ë¡ 기ë¥ì´ 5283 * ê·¸ëë¡ ë¨¼ì ì¤íëë¤. 5284 */ 5285 startAddWatch(); 5286 5287 }, 5288 true 5289 ); 5290 5291 5292 5293 /* ===================================================== 5294 INITIALIZE 5295 ===================================================== */ 5296 5297 function initCart() { 5298 5299 reloadEngine(); 5300 5301 } 5302 5303 5304 if ( 5305 document.readyState === 5306 'loading' 5307 ) { 5308 5309 document.addEventListener( 5310 'DOMContentLoaded', 5311 initCart 5312 ); 5313 5314 } else { 5315 5316 initCart(); 5317 5318 } 5319 5320 5321})(); 5322</script>
5322 5323<!-- ========================================================= 5324 SAINTPAIN SMOOTH PAGE TRANSITION 5325========================================================= --> 5326 5327<style> 5328 5329/* --------------------------------------------------------- 5330 기본 ë°°ê²½ 5331--------------------------------------------------------- */ 5332 5333html, 5334body { 5335 background:#fff; 5336} 5337 5338 5339/* --------------------------------------------------------- 5340 CHROME / MODERN BROWSER 5341 ì¤ì íì´ì§ ê° View Transition 5342--------------------------------------------------------- */ 5343 5344@view-transition { 5345 navigation:auto; 5346} 5347 5348 5349/* 기존 íì´ì§ê° ì¬ë¼ì§ ë */ 5350::view-transition-old(root) { 5351 animation: 5352 sp-page-old 5353 120ms 5354 cubic-bezier(.4,0,1,1) 5355 both; 5356} 5357 5358 5359/* ìë¡ì´ íì´ì§ê° ëíë ë */ 5360::view-transition-new(root) { 5361 animation: 5362 sp-page-new 5363 210ms 5364 cubic-bezier(.22,.61,.36,1) 5365 both; 5366} 5367 5368 5369@keyframes sp-page-old { 5370 5371 from { 5372 opacity:1; 5373 } 5374 5375 to { 5376 opacity:0; 5377 } 5378 5379} 5380 5381 5382@keyframes sp-page-new { 5383 5384 from { 5385 opacity:0; 5386 } 5387 5388 to { 5389 opacity:1; 5390 } 5391 5392} 5393 5394 5395/* --------------------------------------------------------- 5396 FALLBACK TRANSITION 5397 5398 View Transitionì ì§ìíì§ ìë ë¸ë¼ì°ì ììë 5399 í° íë©´ì´ ìê°ì ì¼ë¡ ë²ì©ê±°ë¦¬ë íìì ì¤ì¸ë¤. 5400--------------------------------------------------------- */ 5401 5402#spPageTransition { 5403 5404 position:fixed; 5405 5406 top:0; 5407 right:0; 5408 bottom:0; 5409 left:0; 5410 5411 z-index:2147483000; 5412 5413 width:100%; 5414 height:100%; 5415 5416 background:#fff; 5417 5418 opacity:0; 5419 5420 pointer-events:none; 5421 5422 visibility:hidden; 5423 5424 transition: 5425 opacity 120ms cubic-bezier(.4,0,1,1), 5426 visibility 0s linear 120ms; 5427 5428} 5429 5430 5431#spPageTransition.is-leaving { 5432 5433 opacity:1; 5434 5435 visibility:visible; 5436 5437 transition: 5438 opacity 120ms cubic-bezier(.4,0,1,1), 5439 visibility 0s; 5440 5441} 5442 5443 5444/* --------------------------------------------------------- 5445 모ì ìµìí ì¤ì ì¬ì©ì 5446--------------------------------------------------------- */ 5447 5448@media (prefers-reduced-motion:reduce) { 5449 5450 ::view-transition-old(root), 5451 ::view-transition-new(root) { 5452 animation-duration:1ms !important; 5453 } 5454 5455 #spPageTransition { 5456 transition-duration:1ms !important; 5457 } 5458 5459} 5460 5461</style> 5462 5463 5464<div id="spPageTransition" aria-hidden="true"> 5465</div> 5466 5467
5468<script> 5469(function () { 5470 5471 'use strict'; 5472 5473 5474 /* ===================================================== 5475 HIDDEN CART ENGINEììë ì¤ííì§ ìì 5476 5477 ì¤ì: 5478 ì¥ë°êµ¬ë iframe ë´ë¶ì Cafe24 기ë¥ê³¼ 5479 ì¶©ëíì§ ìëë¡ ì°¨ë¨íë¤. 5480 ===================================================== */ 5481 5482 if ( 5483 window.self !== window.top 5484 ) { 5485 return; 5486 } 5487 5488 5489 5490 var transitionLayer = 5491 document.getElementById( 5492 'spPageTransition' 5493 ); 5494 5495 5496 if (!transitionLayer) { 5497 return; 5498 } 5499 5500 5501 5502 var navigating = 5503 false; 5504 5505 5506 5507 /* ===================================================== 5508 VIEW TRANSITION ì§ì ì¬ë¶ 5509 ===================================================== */ 5510 5511 var nativeViewTransition = 5512 ( 5513 'startViewTransition' in document 5514 ); 5515 5516 5517 5518 /* ===================================================== 5519 FALLBACK FADE OUT 5520 ===================================================== */ 5521 5522 function showTransitionLayer() { 5523 5524 if ( 5525 nativeViewTransition 5526 ) { 5527 return; 5528 } 5529 5530 5531 transitionLayer.classList.add( 5532 'is-leaving' 5533 ); 5534 5535 } 5536 5537 5538 5539 function hideTransitionLayer() { 5540 5541 transitionLayer.classList.remove( 5542 'is-leaving' 5543 ); 5544 5545 } 5546 5547 5548 5549 /* ===================================================== 5550 SMOOTH NAVIGATION 5551 5552 ë¤ë¥¸ ì½ëììë ì¬ì©í ì ìëë¡ 5553 windowì ê³µê°íë¤. 5554 ===================================================== */ 5555 5556 function smoothNavigate(url) { 5557 5558 if ( 5559 !url || 5560 navigating 5561 ) { 5562 return; 5563 } 5564 5565 5566 navigating = 5567 true; 5568 5569 5570 /* 5571 * Chrome ë± View Transition ì§ì ë¸ë¼ì°ì ììë 5572 * ë¸ë¼ì°ì ìì²´ 기ë¥ì´ íì´ì§ ì íì ì²ë¦¬íë¯ë¡ 5573 * ì¸ìì ì¸ ëë ì´ë¥¼ ì£¼ì§ ìëë¤. 5574 */ 5575 5576 if ( 5577 nativeViewTransition 5578 ) { 5579 5580 window.location.href = 5581 url; 5582 5583 5584 return; 5585 5586 } 5587 5588 5589 /* 5590 * ì§ìíì§ ìë ë¸ë¼ì°ì ììë 5591 * ì주 ì§§ì í°ì Fade í íì´ì§ ì´ë. 5592 */ 5593 5594 showTransitionLayer(); 5595 5596 5597 window.setTimeout( 5598 function () { 5599 5600 window.location.href = 5601 url; 5602 5603 }, 5604 115 5605 ); 5606 5607 } 5608 5609 5610 5611 window.spSmoothNavigate = 5612 smoothNavigate; 5613 5614 5615 5616 /* ===================================================== 5617 NORMAL INTERNAL LINKS 5618 5619 ì¹´í ê³ ë¦¬ 5620 ìí ìì¸ 5621 ABOUT 5622 COLLECTION 5623 STOCKISTS 5624 BOARD 5625 MY PAGE 5626 LOGIN 5627 ORDER ê´ë ¨ ë§í¬ ë± 5628 5629 ê°ì ì¼í몰 ë´ë¶ì ì¼ë° ë§í¬ì ì ì©. 5630 ===================================================== */ 5631 5632 document.addEventListener( 5633 'click', 5634 function (event) { 5635 5636 /* 5637 * ë§ì°ì¤ ì¼ìª½ í´ë¦ë§ ì²ë¦¬. 5638 */ 5639 if ( 5640 event.button !== 0 5641 ) { 5642 return; 5643 } 5644 5645 5646 /* 5647 * ì í / ì ì°½ ë¨ì¶í¤ë ê±´ëë¦¬ì§ ìëë¤. 5648 */ 5649 if ( 5650 event.ctrlKey || 5651 event.metaKey || 5652 event.shiftKey || 5653 event.altKey 5654 ) { 5655 return; 5656 } 5657 5658 5659 if ( 5660 event.defaultPrevented 5661 ) { 5662 return; 5663 } 5664 5665 5666 var anchor = 5667 event.target.closest( 5668 'a[href]' 5669 ); 5670 5671 5672 if (!anchor) { 5673 return; 5674 } 5675 5676 5677 5678 /* ------------------------------------------------- 5679 SEARCH ë²í¼ì 기존 Overlay ê¸°ë¥ ì ì§ 5680 ------------------------------------------------- */ 5681 5682 if ( 5683 anchor.classList.contains( 5684 'sp-search-trigger' 5685 ) 5686 ) { 5687 return; 5688 } 5689 5690 5691 5692 /* ------------------------------------------------- 5693 CART ë²í¼ì 기존 Drawer ê¸°ë¥ ì ì§ 5694 ------------------------------------------------- */ 5695 5696 if ( 5697 anchor.classList.contains( 5698 'sp-cart-trigger' 5699 ) 5700 ) { 5701 return; 5702 } 5703 5704 5705 5706 /* ------------------------------------------------- 5707 ë¤ì´ë¡ë ë§í¬ ì ì¸ 5708 ------------------------------------------------- */ 5709 5710 if ( 5711 anchor.hasAttribute( 5712 'download' 5713 ) 5714 ) { 5715 return; 5716 } 5717 5718 5719 5720 /* ------------------------------------------------- 5721 target="_blank" ë± ì ì¸ 5722 ------------------------------------------------- */ 5723 5724 var target = 5725 anchor.getAttribute( 5726 'target' 5727 ); 5728 5729 5730 if ( 5731 target && 5732 target.toLowerCase() !== 5733 '_self' 5734 ) { 5735 return; 5736 } 5737 5738 5739 5740 /* ------------------------------------------------- 5741 Cafe24 onclick 기ë¥ì´ ë¶ì í¹ì ë²í¼ì 5742 ìë Cafe24 기ë¥ì ì°ì íë¤. 5743 ------------------------------------------------- */ 5744 5745 if ( 5746 anchor.hasAttribute( 5747 'onclick' 5748 ) 5749 ) { 5750 return; 5751 } 5752 5753 5754 5755 var rawHref = 5756 anchor.getAttribute( 5757 'href' 5758 ); 5759 5760 5761 if (!rawHref) { 5762 return; 5763 } 5764 5765 5766 5767 /* ------------------------------------------------- 5768 í¹ì ë§í¬ ì ì¸ 5769 ------------------------------------------------- */ 5770 5771 if ( 5772 rawHref === '#' || 5773 5774 rawHref.charAt(0) === '#' 5775 ) { 5776 return; 5777 } 5778 5779 5780 if ( 5781 /^(?:javascript:|mailto:|tel:)/i 5782 .test( 5783 rawHref 5784 ) 5785 ) { 5786 return; 5787 } 5788 5789 5790 5791 var url; 5792 5793 5794 try { 5795 5796 url = 5797 new URL( 5798 anchor.href, 5799 window.location.href 5800 ); 5801 5802 } catch (e) { 5803 5804 return; 5805 5806 } 5807 5808 5809 5810 /* ------------------------------------------------- 5811 ì¸ë¶ ì¬ì´í¸ ì ì¸ 5812 ------------------------------------------------- */ 5813 5814 if ( 5815 url.origin !== 5816 window.location.origin 5817 ) { 5818 return; 5819 } 5820 5821 5822 5823 /* ------------------------------------------------- 5824 íì¬ íì´ì§ì Anchor ì´ëì ì ì¸ 5825 ------------------------------------------------- */ 5826 5827 if ( 5828 url.pathname === 5829 window.location.pathname && 5830 5831 url.search === 5832 window.location.search && 5833 5834 url.hash && 5835 url.hash !== 5836 window.location.hash 5837 ) { 5838 return; 5839 } 5840 5841 5842 5843 /* ------------------------------------------------- 5844 ìì í ê°ì 주ì를 ë¤ì í´ë¦íë ê²½ì° ì ì¸ 5845 ------------------------------------------------- */ 5846 5847 if ( 5848 url.href === 5849 window.location.href 5850 ) { 5851 return; 5852 } 5853 5854 5855 5856 /* 5857 * Cafe24ì ì¼ë° ë§í¬ ì´ë ëì 5858 * ì°ë¦¬ê° íì´ì§ ì íì ê´ë¦¬íë¤. 5859 */ 5860 5861 event.preventDefault(); 5862 5863 5864 smoothNavigate( 5865 url.href 5866 ); 5867 5868 }, 5869 false 5870 ); 5871 5872 5873 5874 /* ===================================================== 5875 SEARCH FORM 5876 5877 ê²ìì°½ìì ENTER ì ë ¥ í ê²ì íì´ì§ë¡ ëì´ê° ëë 5878 ëì¼í íì´ì§ ì í ì ì©. 5879 ===================================================== */ 5880 5881 var searchForm = 5882 document.querySelector( 5883 '.sp-search-form' 5884 ); 5885 5886 5887 if (searchForm) { 5888 5889 searchForm.addEventListener( 5890 'submit', 5891 function (event) { 5892 5893 event.preventDefault(); 5894 5895 5896 var input = 5897 searchForm.querySelector( 5898 '[name="keyword"]' 5899 ); 5900 5901 5902 var keyword = 5903 input 5904 ? input.value.trim() 5905 : ''; 5906 5907 5908 var searchUrl = 5909 '/product/search.html'; 5910 5911 5912 if (keyword) { 5913 5914 searchUrl += 5915 '?keyword=' + 5916 encodeURIComponent( 5917 keyword 5918 ); 5919 5920 } 5921 5922 5923 smoothNavigate( 5924 searchUrl 5925 ); 5926 5927 } 5928 ); 5929 5930 } 5931 5932 5933 5934 /* ===================================================== 5935 PROGRAMMATIC NAVIGATION / FORM / CHECKOUT FALLBACK 5936 5937 Cafe24ê° Javascriptë¡ ì§ì íì´ì§ë¥¼ ë°ê¾¸ë ê²½ì° 5938 unload ì§ì ì íë§ì ì¤ë¹íë¤. 5939 5940 ì¼ë° ë§í¬ë ì ì½ëê° ì²ë¦¬íë©°, 5941 ì´ê²ì 주문/ë¡ê·¸ì¸ ë± í¹ì ì´ëì ëí ë³´ì¡° 기ë¥. 5942 ===================================================== */ 5943 5944 window.addEventListener( 5945 'beforeunload', 5946 function () { 5947 5948 showTransitionLayer(); 5949 5950 } 5951 ); 5952 5953 5954 5955 /* ===================================================== 5956 BACK / FORWARD CACHE 5957 5958 ë¤ë¡ê°ê¸°Â·ìì¼ë¡ê°ê¸° í 5959 í° íë©´ì´ ë¨ë íì ë°©ì§. 5960 ===================================================== */ 5961 5962 window.addEventListener( 5963 'pageshow', 5964 function () { 5965 5966 navigating = 5967 false; 5968 5969 5970 hideTransitionLayer(); 5971 5972 } 5973 ); 5974 5975 5976})(); 5977</script>
5977 5978</div> 5979<!--#ez="1/1"--> 5980 5981 5982 <!-- SIDEBAR --> 5983 <aside id="aside" data-ez="contents-0k79dnd-1" class="xans-element- xans-layout xans-layout-slidepackage "><nav class="navigation-menu" role="navigation"> 5984 <div class="slide_top_inner"> 5985 <div class="xans-element- xans-layout xans-layout-logotop slide_logo "><a href="/"><img src="/web/upload/category/logo/v2_43a8b2a70dafa1e1602207d36dd9a51f_SFB8qzYBU_top.jpg" alt="ì¸ì¸í¸íì¸ saintpain"></a> 5986</div> 5987<!-- //slide_logo --> 5988 <button type="button" class="btnClose"><i aria-hidden="true" class="icon icoClose"></i>ë«ê¸°</button> 5989 5990 <div class="navigation_state" data-ez-group="top-util-menu" data-ez-role="list"> 5991 <a data-ez-item="join" href="/member/agreement.html" class="xans-element- xans-layout xans-layout-statelogoff ">íìê°ì 5992</a> 5993 <a data-ez-item="login" href="/member/login.html" class="xans-element- xans-layout xans-layout-statelogoff ">ë¡ê·¸ì¸ 5994</a> 5995 <a data-ez-item="order" href="/myshop/order/list.html">주문조í</a> 5996 <a data-ez-item="recent" href="/product/recent_view_product.html">ìµê·¼ë³¸ìí</a> 5997 </div> 5998<!-- //navigation_state --> 5999 </div> 6000<!-- //navigation-menu --> 6001 6002 <div class="nav_inner"> 6003 <div class="tab_inner"> 6004 <div data-ez-module="menu-side/1"><div id="slideCateList" class="navigation-menu__category"> 6005 <ul id="slide_add_category"> 6006<li><a href="/category/New/49/" class="view">New</a></li> 6007<li><a href="/category/All/50/" class="view">All</a></li> 6008<li><a href="/category/Outer/24/" class="view">Outer</a></li> 6009<li> 6010<a href="/category/Top/25/" class="view">Top</a><ul class="sub_cate01"> 6011<li><a href="/category/Hoodie/79/" class="view">Hoodie</a></li> 6012<li><a href="/category/Sweat/80/" class="view">Sweat</a></li> 6013<li><a href="/category/Shirts/77/" class="view">Shirts</a></li> 6014<li><a href="/category/T-Shirts/81/" class="view">T-Shirts</a></li> 6015</ul> 6016</li> 6017<li> 6018<a href="/category/Pants/26/" class="view">Pants</a><ul class="sub_cate01"> 6019<li><a href="/category/Long/83/" class="view">Long</a></li> 6020<li><a href="/category/Short/82/" class="view">Short</a></li> 6021</ul> 6022</li> 6023<li><a href="/category/Acc/27/" class="view">Acc</a></li> 6024<li><a href="/category/Archives/56/" class="view">Archives</a></li> 6025</ul> 6026 </div></div> 6027<!-- //menu-side/1 --> 6028 6029 <div class="community_tab"> 6030 <div class="side_title">ê³ ê°ì¼í°<span></span> 6031</div> 6032 <div class="board cboth"> 6033 <ul class="xans-element- xans-layout xans-layout-boardinfo"><!-- ì¬ë¼ì´ë ê²ìí ìëì¶ë ¥ --> 6034<li class="xans-record-"><a href="/board/product/list.html?board_no=6">Q&A</a></li> 6035<li class="xans-record-"><a href="/board/free/list.html?board_no=1">Notice</a></li> 6036</ul> 6037 </div> 6038 </div> 6039<!-- //community_tab --> 6040 </div> 6041<!-- //tab_inner --> 6042 6043 </div> 6044<!-- //nav_inner --> 6045 </nav> 6046</aside> 6047<!--#ez="1/2"--> 6048 6049 6050 <!-- CONTENT --> 6051 6052 <div id="container" data-ez="layout-11n7aep-1"> 6053 6054 <div id="contents"> 6055 6056 <span class="xans-element- xans-layout xans-layout-mobileaction RTMB "><a href="#none" onclick="history.go(-1);return false;"> 6057 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewbox="0 0 24 24" class="icon"> 6058 <path d="M7.29976 12.5L14.9998 20.1C15.3998 20.5 15.9998 20.5 16.3998 20.1C16.7998 19.7 16.7998 19.1 16.3998 18.7L9.49976 11.7L16.3998 4.7C16.7998 4.3 16.7998 3.7 16.3998 3.3C16.1998 3.1 15.9998 3 15.6998 3C15.3998 3 15.1998 3.1 14.9998 3.3L7.29976 10.9C6.89976 11.4 6.89976 12 7.29976 12.5C7.29976 12.4 7.29976 12.4 7.29976 12.5Z" fill="#000000"></path> 6059</svg> 6060 6061 6062 ë¤ë¡ê°ê¸° 6063 </a> 6064</span> 6065 6066 6067 6068<div class="section path"> 6069 <span>íì¬ ìì¹</span> 6070 <ol> 6071 <li><a href="/">í</a></li> 6072 <li title="íì¬ ìì¹"><strong>ìµê·¼ 본 ìí</strong></li> 6073 </ol> 6074</div> 6075 6076<div class="myshopArea"> 6077 <div class="titleArea titleArea--myshop"> 6078 <h2>ìµê·¼ 본 ìí</h2> 6079 </div> 6080 6081 <div class="xans-element- xans-product xans-product-recentlist xans-record-"><!-- 6082 $count = 10 6083 --> 6084<p class="ec-base-prdEmpty ">ìµê·¼ë³¸ ìí ë´ìì´ ììµëë¤.</p> 6085</div> 6086 6087 <div id="myshopMain" class="xans-element- xans-myshop xans-myshop-main "><div class="subTitle"> 6088 <h3>ëì ì¼í ì ë³´</h3> 6089 </div> 6090<ul class="menu"> 6091 <li> 6092 <a href="/myshop/order/list.html">주문ë´ì ì¡°í</a> 6093 </li> 6094 <li> 6095 <a href="/myshop/mileage/historyList.html">ì ë¦½ê¸ ë´ì</a> 6096 </li> 6097 <li class=""> 6098 <a href="/myshop/deposits/historyList.html">ìì¹ê¸ ë´ì</a> 6099 </li> 6100 <li class=""> 6101 <a href="/myshop/coupon/coupon.html">ì¿ í° ë´ì</a> 6102 </li> 6103 <li> 6104 <a href="/myshop/addr/list.html">ë°°ì¡ ì£¼ìë¡ ê´ë¦¬</a> 6105 </li> 6106 <li class="displaynone"> 6107 <a href="/myshop/regular_delivery.html">ì ê¸°ë°°ì¡ ê´ë¦¬</a> 6108 </li> 6109 </ul> 6110<div class="subTitle"> 6111 <h3>íë ì ë³´</h3> 6112 </div> 6113<ul class="menu"> 6114 <li> 6115 <a href="/product/recent_view_product.html">ìµê·¼ 본 ìí</a> 6116 </li> 6117 <li> 6118 <a href="/myshop/wish_list.html">ëì ìì리ì¤í¸</a> 6119 </li> 6120 <li class="displaynone"> 6121 <a href="">ì¢ìì</a> 6122 </li> 6123 <li class=""> 6124 <a href="/myshop/board_list.html">ëì ê²ìê¸</a> 6125 </li> 6126 </ul> 6127<div class="subTitle"> 6128 <h3>ëì ì ë³´</h3> 6129 </div> 6130<ul class="menu"> 6131 <li> 6132 <a href="/member/modify.html">íì ì ë³´ ìì </a> 6133 </li> 6134 </ul> 6135<div class="consult displaynone"> 6136 <a href="/board/consult/list.html" class="btnNormal sizeM">1:1 문ìí기</a> 6137 </div> 6138</div> 6139</div> 6140 6141 </div> 6142 6143 </div> 6144 6145 6146 <!-- FOOTER --> 6147 <footer id="footer" data-ez="module-0j0l4fv-1" class="xans-element- xans-layout xans-layout-footer sp-footer "><div class="sp-footer-grid"> 6148 6149 6150 <!-- SOCIAL --> 6151 <div class="sp-footer-col sp-footer-social"> 6152 6153 <a href="https://www.instagram.com/saintpain_official/" target="_blank"> 6154 INSTAGRAM 6155 </a> 6156 6157 </div> 6158 6159 6160 6161 <!-- POLICY --> 6162 <div class="sp-footer-col sp-footer-policy"> 6163 6164 <a href="/member/mall_agreement.html"> 6165 TERMS OF USE 6166 </a> 6167 6168 <a href="/member/privacy.html"> 6169 PRIVACY POLICY 6170 </a> 6171 6172 <a href="/shopinfo/guide.html"> 6173 SHOP GUIDE 6174 </a> 6175 6176 </div> 6177 6178 6179 6180 <!-- COMPANY --> 6181 <div class="sp-footer-col sp-footer-company"> 6182 6183 <div> 6184 COMPANY:
6185 <span>미ì¼ëì¤</span> 6186 </div> 6187 6188 <div> 6189 OWNER: 6190 <span>ì±ëì±</span> 6191 </div> 6192 6193 <div> 6194 BUSINESS NUMBER: 6195 <span>104-06-96737</span> 6196 </div> 6197 6198 <div> 6199 MAIL: 6200 <a href="mailto:[email protected]"> 6201 [email protected] 6202 </a> 6203 <span></span> 6204 </div> 6205 6206 <div> 6207 ADDRESS: 6208 <span> 6209 13326 경기 ì±ë¨ì ìì 구 ì°ì±ëë¡ 91 ì±í¸ë¹ë© 8층 미ì¼ëì¤ </span> 6210 </div> 6211 6212 <div> 6213 CS: 6214 <span>070-8814-0972</span> 6215 </div> 6216 6217 </div> 6218 6219 6220 6221 <!-- LEGAL --> 6222 <div class="sp-footer-col sp-footer-legal"> 6223 6224 <div> 6225 MAIL-ORDER LICENSE: 6226 <span>2024-ì±ë¨ë¶ë¹A-0302</span> 6227 <a href="#none" onclick="window.open('http://www.ftc.go.kr/bizCommPop.do?wrkr_no=1040696737', 'bizCommPop', 'width=750, height=950;');return false;">[ì¬ì ìì ë³´íì¸]</a> </div> 6228 6229 <div> 6230 PRIVACY MANAGER: 6231 <span>ì±ëì±</span> 6232 </div> 6233 6234 <div class="sp-footer-copy"> 6235 COPYRIGHT © SAINTPAIN. ALL RIGHTS RESERVED. 6236 </div> 6237 6238 </div> 6239 6240 6241 </div> 6242</footer> 6243 6244 6245<div data-ez-module="user-defined/1" data-ez-name="USER DEFINED" data-ez-type="plain" data-ez="module-1o2fgn4-1"> 6246 6247<style> 6248 6249/* ========================================================= 6250 SAINTPAIN FOOTER 6251========================================================= */ 6252 6253#footer.sp-footer { 6254 6255 position: relative; 6256 6257 width: 100% !important; 6258 max-width: 100% !important; 6259 6260 margin: 0 !important; 6261 6262 padding: 6263 42px 6264 14px 6265 38px !important; 6266 6267 background: #fff !important; 6268 6269 border: 0 !important; 6270 border-top: 0 !important; 6271 border-right: 0 !important; 6272 border-bottom: 0 !important; 6273 border-left: 0 !important; 6274 6275 outline: 0 !important; 6276 6277 box-shadow: none !important; 6278 6279 box-sizing: border-box !important; 6280 6281 overflow: hidden; 6282 6283 font-family: 6284 Helvetica, 6285 "Helvetica Neue", 6286 Arial, 6287 Pretendard, 6288 "Apple SD Gothic Neo", 6289 sans-serif !important; 6290 6291 color: #000 !important; 6292} 6293 6294 6295 6296/* pseudo line ì ê±° */ 6297 6298#footer.sp-footer::before, 6299#footer.sp-footer::after { 6300 6301 display: none !important; 6302 6303 content: none !important; 6304 6305 width: 0 !important; 6306 height: 0 !important; 6307 6308 border: 0 !important; 6309 6310 background: none !important; 6311 6312 box-shadow: none !important; 6313} 6314 6315 6316 6317/* ========================================================= 6318 RESET 6319========================================================= */ 6320 6321#footer.sp-footer *, 6322#footer.sp-footer *::before, 6323#footer.sp-footer *::after { 6324 6325 box-sizing: border-box; 6326} 6327 6328 6329 6330/* ========================================================= 6331 GRID 6332========================================================= */ 6333 6334/* 6335 ì¤ì 6336 6337 기존: 6338 12% + 17% + 39% + 27% + 120px gap 6339 6340 â ìì PC / MacBookìì 100% ì´ê³¼ 6341 6342 ë³ê²½: 6343 ê°ì ë¹ì¨ì frë¡ ì ì§íë 6344 gapì ì ì¸í ì¤ì ë¨ì ê³µê° ììì ìë ê³ì° 6345*/ 6346 6347#footer.sp-footer .sp-footer-grid { 6348 6349 display: grid !important; 6350 6351 grid-template-columns: 6352 minmax(0, 12fr) 6353 minmax(0, 17fr) 6354 minmax(0, 39fr) 6355 minmax(0, 27fr) !important; 6356 6357 width: 100% !important; 6358 max-width: 100% !important; 6359 6360 margin: 0 !important; 6361 padding: 0 !important; 6362 6363 column-gap: 40px !important; 6364 row-gap: 0 !important; 6365 6366 align-items: start !important; 6367 6368 border: 0 !important; 6369 6370 outline: 0 !important; 6371 6372 box-shadow: none !important; 6373} 6374 6375 6376 6377/* ========================================================= 6378 COMMON COLUMN 6379========================================================= */ 6380 6381#footer.sp-footer .sp-footer-col { 6382 6383 position: static !important; 6384 6385 display: block !important; 6386 6387 float: none !important; 6388 6389 width: auto !important; 6390 6391 min-width: 0 !important; 6392 max-width: 100% !important; 6393 6394 margin: 0 !important; 6395 padding: 0 !important; 6396 6397 border: 0 !important; 6398 6399 font-size: 10px !important; 6400 6401 line-height: 1.65 !important; 6402 6403 font-weight: 400 !important; 6404 6405 letter-spacing: 0 !important; 6406 6407 color: #000 !important; 6408} 6409 6410 6411 6412#footer.sp-footer .sp-footer-col div, 6413#footer.sp-footer .sp-footer-col span { 6414 6415 max-width: 100% !important; 6416 6417 font-size: inherit !important; 6418 6419 line-height: inherit !important; 6420 6421 font-weight: inherit !important; 6422 6423 color: #000 !important; 6424} 6425 6426 6427 6428/* ========================================================= 6429 TEXT OVERFLOW SAFETY 6430========================================================= */ 6431
6432/* 6433 긴 ì¬ì ìë²í¸ / 주ì / ì´ë©ì¼ ë±ì´ 6434 íë©´ ë°ì¼ë¡ ëê°ì§ ìê² í¨ 6435*/ 6436 6437#footer.sp-footer .sp-footer-company, 6438#footer.sp-footer .sp-footer-legal { 6439 6440 overflow: visible !important; 6441} 6442 6443 6444 6445#footer.sp-footer .sp-footer-company div, 6446#footer.sp-footer .sp-footer-legal div { 6447 6448 max-width: 100% !important; 6449 6450 white-space: normal !important; 6451 6452 overflow: visible !important; 6453 6454 text-overflow: clip !important; 6455 6456 overflow-wrap: break-word !important; 6457 6458 word-break: keep-all; 6459} 6460 6461 6462 6463#footer.sp-footer .sp-footer-company a, 6464#footer.sp-footer .sp-footer-legal a { 6465 6466 max-width: 100% !important; 6467 6468 white-space: normal !important; 6469 6470 overflow-wrap: anywhere !important; 6471 6472 word-break: break-word !important; 6473} 6474 6475 6476 6477/* ========================================================= 6478 1. SOCIAL 6479========================================================= */ 6480 6481#footer.sp-footer .sp-footer-social { 6482 6483 min-width: 0 !important; 6484} 6485 6486 6487 6488/* ========================================================= 6489 2. POLICY 6490========================================================= */ 6491 6492#footer.sp-footer .sp-footer-policy { 6493 6494 display: flex !important; 6495 6496 min-width: 0 !important; 6497 6498 flex-direction: column !important; 6499 6500 align-items: flex-start !important; 6501 6502 gap: 2px !important; 6503} 6504 6505 6506 6507/* ========================================================= 6508 3. COMPANY 6509========================================================= */ 6510 6511#footer.sp-footer .sp-footer-company { 6512 6513 min-width: 0 !important; 6514 6515 text-align: left !important; 6516} 6517 6518 6519 6520/* ========================================================= 6521 4. LEGAL 6522========================================================= */ 6523 6524#footer.sp-footer .sp-footer-legal { 6525 6526 min-width: 0 !important; 6527 6528 margin: 0 !important; 6529 6530 text-align: right !important; 6531} 6532 6533 6534 6535#footer.sp-footer .sp-footer-copy { 6536 6537 margin-top: 10px !important; 6538} 6539 6540 6541 6542/* ========================================================= 6543 LINKS 6544========================================================= */ 6545 6546#footer.sp-footer a { 6547 6548 color: #000 !important; 6549 6550 text-decoration: none !important; 6551 6552 border: 0 !important; 6553 6554 outline: 0 !important; 6555} 6556 6557 6558 6559#footer.sp-footer a:hover { 6560 6561 color: #000 !important; 6562 6563 text-decoration: none !important; 6564 6565 opacity: .5; 6566} 6567 6568 6569 6570/* ========================================================= 6571 CAFE24 OLD FOOTER ELEMENTS 6572========================================================= */ 6573 6574.bottom-nav, 6575.footer_margin, 6576.bt_util, 6577.bt_top, 6578.bt_bottom { 6579 6580 display: none !important; 6581} 6582 6583 6584 6585/* ========================================================= 6586 OLD FOOTER LINE REMOVE 6587========================================================= */ 6588 6589.xans-layout-footer, 6590.xans-layout-footerpackage, 6591.xans-layout-footerpackage .inner, 6592#wrap > footer, 6593#wrap #footer { 6594 6595 max-width: 100% !important; 6596 6597 border-top: 0 !important; 6598 6599 border-bottom: 0 !important; 6600 6601 outline: 0 !important; 6602 6603 box-shadow: none !important; 6604} 6605 6606 6607 6608.xans-layout-footer::before, 6609.xans-layout-footer::after, 6610.xans-layout-footerpackage::before, 6611.xans-layout-footerpackage::after { 6612 6613 display: none !important; 6614 6615 content: none !important; 6616 6617 border: 0 !important; 6618} 6619 6620 6621 6622/* ========================================================= 6623 SMALL DESKTOP / MACBOOK 6624========================================================= */ 6625 6626/* 6627 901 ~ 1250px êµ¬ê° 6628 6629 기존 PC ëìì¸ì ì ì§íë©´ì 6630 gapë§ ì¡°ê¸ ì¤ì¬ ê³µê° íë³´ 6631*/ 6632 6633@media screen and (max-width: 1250px) { 6634 6635 #footer.sp-footer { 6636 6637 padding-left: 14px !important; 6638 padding-right: 14px !important; 6639 } 6640 6641 6642 #footer.sp-footer .sp-footer-grid { 6643 6644 column-gap: 24px !important; 6645 } 6646 6647 6648 #footer.sp-footer .sp-footer-col { 6649 6650 font-size: 9px !important; 6651 } 6652 6653} 6654 6655 6656 6657/* ========================================================= 6658 TABLET 6659========================================================= */ 6660 6661@media screen and (max-width: 900px) { 6662 6663 #footer.sp-footer { 6664 6665 padding: 6666 32px 6667 12px 6668 30px !important; 6669 6670 border: 0 !important; 6671 } 6672 6673 6674 #footer.sp-footer .sp-footer-grid { 6675 6676 display: grid !important; 6677 6678 grid-template-columns: 6679 minmax(0, 1fr) 6680 minmax(0, 1fr) !important; 6681 6682 gap: 6683 28px 6684 20px !important; 6685 } 6686 6687 6688 #footer.sp-footer .sp-footer-social, 6689 #footer.sp-footer .sp-footer-policy, 6690 #footer.sp-footer .sp-footer-company, 6691 #footer.sp-footer .sp-footer-legal { 6692 6693 width: auto !important; 6694 6695 min-width: 0 !important; 6696 6697 margin: 0 !important; 6698 6699 text-align: left !important; 6700 } 6701 6702 6703 #footer.sp-footer .sp-footer-col { 6704 6705 font-size: 9px !important; 6706 } 6707 6708} 6709 6710 6711 6712/* ========================================================= 6713 MOBILE 6714========================================================= */ 6715 6716@media screen and (max-width: 540px) { 6717 6718 #footer.sp-footer { 6719 6720 padding: 6721 28px 6722 12px 6723 30px !important; 6724 6725 border: 0 !important; 6726 } 6727 6728 6729 #footer.sp-footer .sp-footer-grid { 6730 6731 grid-template-columns: 6732 minmax(0, 1fr) !important; 6733 6734 gap: 20px !important; 6735 } 6736 6737 6738 #footer.sp-footer .sp-footer-social, 6739 #footer.sp-footer .sp-footer-policy, 6740 #footer.sp-footer .sp-footer-company, 6741 #footer.sp-footer .sp-footer-legal { 6742 6743 width: 100% !important; 6744 6745 min-width: 0 !important; 6746 6747 max-width: 100% !important; 6748 6749 text-align: left !important; 6750 } 6751 6752 6753 #footer.sp-footer .sp-footer-company div, 6754 #footer.sp-footer .sp-footer-legal div { 6755
6756 overflow-wrap: anywhere !important; 6757 } 6758 6759} 6760 6761</style> 6762 6763</div> 6764 6765<!--#ez="1/1"--> 6766 6767 6768 <!--#ez="1/1"--> 6769 6770 </div> 6771 <!-- //wrap --> 6772 6773 6774 6775 <!-- ===================================================== 6776 PAYMENT PROGRESS 6777 ====================================================== --> 6778 6779 <div id="progressPaybar" style="display:none;"> 6780 6781 <div id="progressPaybarBackground" class="layerProgress"></div> 6782 6783 6784 <div id="progressPaybarView"> 6785 6786 <div class="box"> 6787 6788 <h3> 6789 íì¬ ê²°ì ê° ì§íì¤ì ëë¤. 6790 </h3> 6791 6792 <p class="txt"> 6793 본 ê²°ì ì°½ì ê²°ì ìë£ í ìëì¼ë¡ ë«íë©°, 6794 ê²°ì ì§í ì¤ì 본 ê²°ì ì°½ì ë«ì¼ìë©´<br> 6795 ì£¼ë¬¸ì´ ëì§ ìì¼ë ê²°ì ìë£ ë ë ê¹ì§ 6796 ë«ì§ ë§ì기 ë°ëëë¤. 6797 </p> 6798 6799 <div class="progressbar"> 6800 6801 <img src="//img.echosting.cafe24.com/skin/skin/common/img_loading.gif" alt="loading" loading="lazy"> 6802 6803  </div> 6804 6805 </div> 6806 6807 </div> 6808 6809 </div> 6810 6811 6812 6813 <!-- ===================================================== 6814 WORLD SHIPPING 6815 ====================================================== --> 6816 6817 6818 6819 6820 <div class="layer_shadow" id="layer_shadow"></div> 6821 6822 <div id="layoutDimmed" class="dimmed"></div> 6823 6824 6825 6826 <!-- ===================================================== 6827 CAFE24 ADDITIONAL CSS 6828 ====================================================== --> 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 <!-- ===================================================== 6840 SAINTPAIN Q&A PRIVACY 6841 ====================================================== --> 6842 6843
6843<script> 6844 (function () { 6845 6846 function cleanText(text) { 6847 6848 return String(text || '') 6849 .replace(/\s+/g, ' ') 6850 .trim(); 6851 6852 } 6853 6854 6855 function isSaintpainAdmin(text) { 6856 6857 var value = 6858 cleanText(text) 6859 .toLowerCase(); 6860 6861 6862 return ( 6863 value.indexOf('saintpain') !== -1 || 6864 value.indexOf('ultradoc1') !== -1 6865 ); 6866 6867 } 6868 6869 6870 function maskSingle(value) { 6871 6872 value = 6873 cleanText(value); 6874 6875 6876 if (!value) { 6877 return ''; 6878 } 6879 6880 6881 if ( 6882 isSaintpainAdmin(value) 6883 ) { 6884 6885 return 'SAINTPAIN'; 6886 6887 } 6888 6889 6890 if ( 6891 value.indexOf('@') !== -1 6892 ) { 6893 6894 var emailParts = 6895 value.split('@'); 6896 6897 6898 return ( 6899 maskSingle(emailParts[0]) 6900 + 6901 '@' 6902 + 6903 emailParts[1] 6904 ); 6905 6906 } 6907 6908 6909 var chars = 6910 Array.from(value); 6911 6912 6913 if ( 6914 chars.length === 1 6915 ) { 6916 6917 return chars[0]; 6918 6919 } 6920 6921 6922 if ( 6923 chars.length === 2 6924 ) { 6925 6926 return ( 6927 chars[0] 6928 + 6929 '*' 6930 ); 6931 6932 } 6933 6934 6935 /* 6936 * íê¸ ì´ë¦ 6937 * ê¹ëí â ê¹*í 6938 */ 6939 6940 if ( 6941 /^[ê°-í£]+$/.test(value) 6942 && 6943 chars.length <= 4 6944 ) { 6945 6946 return ( 6947 chars[0] 6948 + 6949 '*'.repeat( 6950 Math.max( 6951 1, 6952 chars.length - 2 6953 ) 6954 ) 6955 + 6956 chars[chars.length - 1] 6957 ); 6958 6959 } 6960 6961 6962 /* 6963 * ì¼ë° ID 6964 */ 6965 6966 if ( 6967 chars.length <= 4 6968 ) { 6969 6970 return ( 6971 chars[0] 6972 + 6973 '*'.repeat( 6974 chars.length - 1 6975 ) 6976 ); 6977 6978 } 6979 6980 6981 return ( 6982 chars 6983 .slice(0, 2) 6984 .join('') 6985 + 6986 '*'.repeat( 6987 Math.max( 6988 2, 6989 chars.length - 3 6990 ) 6991 ) 6992 + 6993 chars[chars.length - 1] 6994 ); 6995 6996 } 6997 6998 6999 function maskWriter(text) { 7000 7001 text = 7002 cleanText(text); 7003 7004 7005 if (!text) { 7006 return ''; 7007 } 7008 7009 7010 if ( 7011 isSaintpainAdmin(text) 7012 ) { 7013 7014 return 'SAINTPAIN'; 7015 7016 } 7017 7018 7019 var match = 7020 text.match( 7021 /^(.+?)\s*\((.+?)\)$/ 7022 ); 7023 7024 7025 if (match) { 7026 7027 return ( 7028 maskSingle(match[1]) 7029 + 7030 ' (' 7031 + 7032 maskSingle(match[2]) 7033 + 7034 ')' 7035 ); 7036 7037 } 7038 7039 7040 return maskSingle(text); 7041 7042 } 7043 7044 7045 function applyWriter(element) { 7046 7047 if ( 7048 !element || 7049 element.dataset.spPrivacyDone === '1' 7050 ) { 7051 7052 return; 7053 7054 } 7055 7056 7057 var original = 7058 cleanText( 7059 element.textContent 7060 ); 7061 7062 7063 if (!original) { 7064 return; 7065 } 7066 7067 7068 if ( 7069 /^\d{2,4}[.\-\/]\d/.test(original) 7070 || 7071 original.length > 50 7072 ) { 7073 7074 return; 7075 7076 } 7077 7078 7079 var admin = 7080 isSaintpainAdmin(original); 7081 7082 7083 element.textContent = 7084 admin 7085 ? 'SAINTPAIN' 7086 : maskWriter(original); 7087 7088
7089 element.dataset.spPrivacyDone = 7090 '1'; 7091 7092 7093 element.classList.add( 7094 'sp-qna-privacy-writer' 7095 ); 7096 7097 7098 if (admin) { 7099 7100 element.classList.add( 7101 'sp-qna-privacy-admin' 7102 ); 7103 7104 } 7105 7106 } 7107 7108 7109 function applyPrivacy() { 7110 7111 var selectors = [ 7112 7113 '#spBoardHome .sp-board-qna-author', 7114 '#spBoardHome .sp-board-author', 7115 '#spBoardHome .sp-board-writer', 7116 '#spBoardHome .sp-qna-author', 7117 '#spBoardHome .sp-qna-writer', 7118 7119 '#spQnaBoard .sp-board-writer', 7120 '#spQnaBoard .sp-qna-writer', 7121 '#spQnaBoard .sp-qna-author', 7122 7123 '#spQnaList .sp-board-writer', 7124 '#spQnaList .sp-qna-writer', 7125 '#spQnaList .sp-qna-author', 7126 7127 '#spQnaRead .sp-qna-writer', 7128 '#spQnaRead .sp-qna-reply-writer', 7129 7130 '#spBoardRead .sp-qna-writer', 7131 '#spBoardRead .sp-board-writer', 7132 7133 '.xans-board-list-4 tbody tr td.writer', 7134 '.xans-board-list-4 tbody tr td.name', 7135 7136 '.xans-board-read-4 .name' 7137 7138 ]; 7139 7140 7141 var elements = 7142 document.querySelectorAll( 7143 selectors.join(',') 7144 ); 7145 7146 7147 Array.prototype.forEach.call( 7148 elements, 7149 applyWriter 7150 ); 7151 7152 7153 var qnaRows = 7154 document.querySelectorAll( 7155 '.xans-board-list-4 table tbody tr' 7156 ); 7157 7158 7159 Array.prototype.forEach.call( 7160 qnaRows, 7161 function (row) { 7162 7163 var cells = 7164 row.querySelectorAll( 7165 'td' 7166 ); 7167 7168 7169 if ( 7170 cells.length >= 5 7171 ) { 7172 7173 applyWriter( 7174 cells[4] 7175 ); 7176 7177 } 7178 7179 } 7180 ); 7181 7182 } 7183 7184 7185 function initQnaPrivacy() { 7186 7187 applyPrivacy(); 7188 7189 7190 var observer = 7191 new MutationObserver( 7192 function () { 7193 7194 applyPrivacy(); 7195 7196 } 7197 ); 7198 7199 7200 observer.observe( 7201 document.body, 7202 { 7203 childList:true, 7204 subtree:true 7205 } 7206 ); 7207 7208 } 7209 7210 7211 if ( 7212 document.readyState === 7213 'loading' 7214 ) { 7215 7216 document.addEventListener( 7217 'DOMContentLoaded', 7218 initQnaPrivacy 7219 ); 7220 7221 } else { 7222 7223 initQnaPrivacy(); 7224 7225 } 7226 7227 })(); 7228 </script>
7228 7229 7230 7231 7232 <!-- ===================================================== 7233 SAINTPAIN PAGE TRANSITION 7234 ====================================================== --> 7235 7236
7236<script> 7237 (function () { 7238 7239 var html = 7240 document.documentElement; 7241 7242 7243 function createTransitionLayer() { 7244 7245 var layer = 7246 document.getElementById( 7247 'spPageTransition' 7248 ); 7249 7250 7251 if (layer) { 7252 return layer; 7253 } 7254 7255 7256 layer = 7257 document.createElement( 7258 'div' 7259 ); 7260 7261 7262 layer.id = 7263 'spPageTransition'; 7264 7265 7266 layer.setAttribute( 7267 'aria-hidden', 7268 'true' 7269 ); 7270 7271 7272 document.body.appendChild( 7273 layer 7274 ); 7275 7276 7277 return layer; 7278 7279 } 7280 7281 7282 function pageEnter() { 7283 7284 createTransitionLayer(); 7285 7286 7287 html.classList.remove( 7288 'sp-page-leaving' 7289 ); 7290 7291 7292 requestAnimationFrame( 7293 function () { 7294 7295 requestAnimationFrame( 7296 function () { 7297 7298 html.classList.add( 7299 'sp-page-loaded' 7300 ); 7301 7302 } 7303 ); 7304 7305 } 7306 ); 7307 7308 } 7309 7310 7311 function isSaintpainTopNavigation(link) { 7312 7313 if (!link) { 7314 return false; 7315 } 7316 7317 7318 var text = 7319 ( 7320 link.textContent || '' 7321 ) 7322 .replace(/\s+/g, '') 7323 .toUpperCase(); 7324 7325 7326 return ( 7327 7328 text === 'SHOP' 7329 || 7330 text === 'ABOUT' 7331 || 7332 text === 'COLLECTION' 7333 || 7334 text === 'STOCKISTS' 7335 || 7336 text === 'BOARD' 7337 7338 ); 7339 7340 } 7341 7342 7343 document.addEventListener( 7344 'click', 7345 function (event) { 7346 7347 if ( 7348 event.button !== 0 7349 || 7350 event.metaKey 7351 || 7352 event.ctrlKey 7353 || 7354 event.shiftKey 7355 || 7356 event.altKey 7357 ) { 7358 7359 return; 7360 7361 } 7362 7363 7364 var link = 7365 event.target.closest( 7366 'a' 7367 ); 7368 7369 7370 if (!link) { 7371 return; 7372 } 7373 7374 7375 if ( 7376 !isSaintpainTopNavigation( 7377 link 7378 ) 7379 ) { 7380 7381 return; 7382 7383 } 7384 7385 7386 var href = 7387 link.getAttribute( 7388 'href' 7389 ); 7390 7391 7392 if ( 7393 !href 7394 || 7395 href === '#' 7396 || 7397 href === '#none' 7398 || 7399 href.indexOf('javascript:') === 0 7400 ) { 7401 7402 return; 7403 7404 } 7405 7406 7407 if ( 7408 link.target === '_blank' 7409 ) { 7410 7411 return; 7412 7413 } 7414 7415 7416 var targetUrl; 7417 7418 7419 try { 7420 7421 targetUrl = 7422 new URL( 7423 href, 7424 window.location.href 7425 ); 7426 7427 } catch (e) { 7428 7429 return; 7430 7431 } 7432 7433 7434 if ( 7435 targetUrl.origin !== 7436 window.location.origin 7437 ) { 7438 7439 return; 7440 7441 } 7442 7443 7444 if ( 7445 targetUrl.href === 7446 window.location.href 7447 ) { 7448 7449 return; 7450 7451 } 7452 7453 7454 event.preventDefault(); 7455 7456 7457 html.classList.remove( 7458 'sp-page-loaded' 7459 ); 7460 7461 7462 html.classList.add( 7463 'sp-page-leaving' 7464 ); 7465 7466 7467 setTimeout( 7468 function () { 7469 7470 window.location.href = 7471 targetUrl.href; 7472 7473 }, 7474 300 7475 ); 7476 7477 }, 7478 true 7479 ); 7480 7481 7482 if ( 7483 document.readyState === 7484 'loading' 7485 ) { 7486 7487 document.addEventListener( 7488 'DOMContentLoaded', 7489 pageEnter 7490 ); 7491 7492 } else { 7493 7494 pageEnter(); 7495 7496 } 7497 7498 7499 window.addEventListener( 7500 'pageshow', 7501 function () { 7502 7503 html.classList.remove( 7504 'sp-page-leaving' 7505 ); 7506 7507 7508 setTimeout( 7509 function () { 7510 7511 html.classList.add( 7512 'sp-page-loaded' 7513 ); 7514 7515 }, 7516 20 7517 ); 7518 7519 } 7520 ); 7521 7522 })(); 7523 </script>
7523 7524<!-- ===================================================== 7525 SAINTPAIN SILVER SPARKLE CURSOR 7526====================================================== --> 7527<style> 7528#spSparkleLayer{ 7529 position:fixed; 7530 inset:0; 7531 z-index:999998; 7532 pointer-events:none; 7533 overflow:hidden; 7534} 7535 7536.spSparkle{ 7537 position:fixed; 7538 width:12px; 7539 height:12px; 7540 pointer-events:none; 7541 opacity:0; 7542 will-change:transform,opacity; 7543} 7544 7545.spSparkle::before, 7546.spSparkle::after{ 7547 content:""; 7548 position:absolute; 7549 left:50%; 7550 top:50%; 7551 transform:translate(-50%,-50%); 7552 border-radius:999px; 7553 7554 background:linear-gradient( 7555 90deg, 7556 rgba(255,255,255,0), 7557 rgba(255,255,255,.95) 35%, 7558 rgba(190,190,190,1) 50%, 7559 rgba(255,255,255,.95) 65%, 7560 rgba(255,255,255,0) 7561 ); 7562 7563 box-shadow: 7564 0 0 3px rgba(255,255,255,.75), 7565 0 0 7px rgba(210,210,210,.45); 7566} 7567 7568.spSparkle::before{ 7569 width:100%; 7570 height:1px; 7571} 7572 7573.spSparkle::after{ 7574 width:1px; 7575 height:100%; 7576} 7577 7578@media (pointer:coarse),(hover:none){ 7579 #spSparkleLayer{ 7580 display:none !important; 7581 } 7582} 7583</style> 7584
7585<script> 7586(function(){ 7587 7588 if( 7589 !window.matchMedia('(pointer:fine) and (hover:hover)').matches 7590 ){ 7591 return; 7592 } 7593 7594 var layer=document.createElement('div'); 7595 layer.id='spSparkleLayer'; 7596 document.body.appendChild(layer); 7597 7598 var lastX=0; 7599 var lastY=0; 7600 var lastTime=0; 7601 7602 function random(min,max){ 7603 return Math.random()*(max-min)+min; 7604 } 7605 7606 function sparkle(x,y,speed){ 7607 7608 var star=document.createElement('span'); 7609 star.className='spSparkle'; 7610 7611 /* 7612 * í¬ê¸° ëë¤ 7613 * ìì ë³ì´ ëë¶ë¶ì´ê³ 7614 * ê°ë í° ë³ ë±ì¥ 7615 */ 7616 var size; 7617 7618 if(Math.random()>.82){ 7619 size=random(16,24); 7620 }else{ 7621 size=random(5,14); 7622 } 7623 7624 star.style.width=size+'px'; 7625 star.style.height=size+'px'; 7626 7627 /* 7628 * 커ì ì¤ì¬ìì ìì ë¡ê² í©ì´ì§ 7629 */ 7630 var startX=x+random(-22,22); 7631 var startY=y+random(-22,22); 7632 7633 star.style.left=startX+'px'; 7634 star.style.top=startY+'px'; 7635 7636 layer.appendChild(star); 7637 7638 /* 7639 * ì§í ë°©í¥ë ì ê°ê° 7640 */ 7641 var driftX=random(-32,32); 7642 var driftY=random(-28,28); 7643 7644 /* 7645 * ë¹ ë¥´ê² ìì§ì¼ ë ì´ì§ ë í©ì´ì§ 7646 */ 7647 var extra=Math.min(speed*.35,18); 7648 7649 driftX+=random(-extra,extra); 7650 driftY+=random(-extra,extra); 7651 7652 var rotate=random(-35,35); 7653 7654 var duration=random(520,900); 7655 7656 star.animate( 7657 [ 7658 { 7659 opacity:0, 7660 transform: 7661 'translate(0px,0px) ' + 7662 'scale(.25) ' + 7663 'rotate('+rotate+'deg)' 7664 }, 7665 7666 { 7667 opacity:1, 7668 offset:.12, 7669 transform: 7670 'translate('+ 7671 (driftX*.15)+'px,'+ 7672 (driftY*.15)+'px) '+ 7673 'scale(1.15) '+ 7674 'rotate('+(rotate+15)+'deg)' 7675 }, 7676 7677 { 7678 opacity:.75, 7679 offset:.45, 7680 transform: 7681 'translate('+ 7682 (driftX*.55)+'px,'+ 7683 (driftY*.55)+'px) '+ 7684 'scale(.95) '+ 7685 'rotate('+(rotate+35)+'deg)' 7686 }, 7687 7688 { 7689 opacity:0, 7690 transform: 7691 'translate('+ 7692 driftX+'px,'+ 7693 driftY+'px) '+ 7694 'scale(.35) '+ 7695 'rotate('+(rotate+65)+'deg)' 7696 } 7697 ], 7698 { 7699 duration:duration, 7700 easing:'cubic-bezier(.22,.61,.36,1)', 7701 fill:'forwards' 7702 } 7703 ).onfinish=function(){ 7704 star.remove(); 7705 }; 7706 } 7707 7708 document.addEventListener( 7709 'pointermove', 7710 function(e){ 7711 7712 if( 7713 e.pointerType && 7714 e.pointerType!=='mouse' 7715 ){ 7716 return; 7717 } 7718 7719 var now=performance.now(); 7720 7721 var dx=e.clientX-lastX; 7722 var dy=e.clientY-lastY; 7723 7724 var speed=Math.sqrt( 7725 dx*dx+ 7726 dy*dy 7727 ); 7728 7729 lastX=e.clientX; 7730 lastY=e.clientY; 7731 7732 /* 7733 * ë무 ì´ì´íê² ìì±íì§ ìì 7734 */ 7735 if(now-lastTime<22){ 7736 return; 7737 } 7738 7739 lastTime=now; 7740 7741 /* 7742 * 기본 1~2ê°, 7743 * ë¹ ë¥´ê² ìì§ì´ë©´ 2~4ê° 7744 */ 7745 var count= 7746 speed>18 7747 ? Math.floor(random(2,5)) 7748 : Math.floor(random(1,3)); 7749 7750 for( 7751 var i=0; 7752 i<count; 7753 i++ 7754 ){ 7755 sparkle( 7756 e.clientX, 7757 e.clientY, 7758 speed 7759 ); 7760 } 7761 7762 }, 7763 {passive:true} 7764 ); 7765 7766})(); 7767</script>
7767 7768 7769<span itemscope="" itemtype="https://schema.org/Organization"> 7770<link itemprop="url" href="https://saintpain.co.kr"> 7771<a itemprop="sameAs" href="https://www.instagram.com/saintpain_official/"></a> 7772<a itemprop="sameAs" href="https://www.facebook.com/Saintpainworks/"></a> 7773</span>
7774<script type="text/javascript" src="/app/Eclog/js/cid.generate.js?vs=3d0b473968a0ec4ec41e3bf59df3aa51&u=ultradoc1.1"></script>
vendor: 1 bytes, line 7774
7774
7775<script type="text/javascript" src="/app/Manage/js/inflowbeacon.js?vs=3d0b473968a0ec4ec41e3bf59df3aa51&u=ultradoc1.1"></script>
vendor: 1 bytes, line 7775
7775
7776<script> (function (i, s, o, g) { 7777 var a = s.createElement(o), m = s.getElementsByTagName(o)[0]; 7778 var initialized = false; 7779 var interval = null; 7780 7781 function safeInit() { 7782 if (initialized) return; 7783 if (typeof i.initCaWebAnalytics === 'function') { 7784 try { 7785 i.initCaWebAnalytics({"mid":"ultradoc1","stype":"e","domain":"","shop_no":1,"lang":"ko_KR","mobile_flag":"F","send_endpoint":"https://ca-log.cafe24data.com","path_role":"PRODUCT_RECENT"}); 7786 initialized = true; 7787 } finally { 7788 if (interval) clearInterval(interval); 7789 a.onload = a.onreadystatechange = a.onerror = null; 7790 } 7791 } 7792 } 7793 7794 a.onload = a.onreadystatechange = function () { 7795 if (!a.readyState || a.readyState === 'loaded' || a.readyState === 'complete') { 7796 safeInit(); 7797 } 7798 }; 7799 7800 a.onerror = function () { 7801 if (interval) { clearInterval(interval); interval = null; } 7802 a.onload = a.onreadystatechange = a.onerror = null; 7803 }; 7804 7805 interval = setInterval(safeInit, 200); 7806 setTimeout(function () { 7807 if (interval) { clearInterval(interval); interval = null; } 7808 }, 10000); 7809 7810 safeInit(); 7811 7812 a.async = 1; 7813 a.setAttribute('crossorigin', 'anonymous'); 7814 a.src = g; 7815 m.parentNode.insertBefore(a, m); 7816 })(window, document, 'script', "//optimizer.poxo.com/ca2/analytics.js?v=20261009");</script>
7816 7817 7818
7818<script> 7819 try { 7820 // Account ID ì ì© 7821 if (!wcs_add) var wcs_add = {}; 7822 wcs_add["wa"] = "s_313dc9c371a5"; 7823 7824 // ë¤ì´ë² íì´ White listê° ìì ê²½ì° 7825 wcs.checkoutWhitelist = ["ultradoc1.cafe24.com", "www.ultradoc1.cafe24.com", "m.ultradoc1.cafe24.com", "master-mechanics.com", "www.master-mechanics.com", "m.master-mechanics.com", "saintpain.co.kr", "www.saintpain.co.kr", "m.saintpain.co.kr"]; 7826 7827 // ë í¼ë¬ 7828 wcs.setReferer(""); 7829 7830 // ì ì ì¶ì í¨ì í¸ì¶ 7831 wcs.inflow("saintpain.co.kr"); 7832 7833 // ë¡ê·¸ìì§ 7834 wcs_do(); 7835 } catch (e) {}; 7836 </script>
7836 7837 7838 7839<!-- External Script Start --> 7840 7841<!-- fbe --> 7842<!-- CMC3 script --> 7843<div id="fbe_common_top_script" style="display:none;"> 7844
7844<script type="text/javascript"> 7845if (typeof facebookChannel === 'undefined') { 7846 var facebookChannel = { 7847 mall_id: CAFE24.SHOP.getMallID(), 7848 shop_no: CAFE24.SDE_SHOP_NUM, 7849 shop_id: CAFE24.SHOP.getMallID() + '.' + CAFE24.SDE_SHOP_NUM, 7850 external_id: null, 7851 event_id: null, 7852 7853 setInitActivated: function(is_activated) { 7854 window.top.fbe_init_activated = !!is_activated; 7855 }, 7856 getInitActivated: function() { 7857 return !!window.top.fbe_init_activated; 7858 }, 7859 setEventActivated: function(event_type, is_activated) { 7860 if (typeof event_type === 'string' && event_type) { 7861 let key = 'fbe_' + event_type + '_activated' 7862 window.top[key] = !!is_activated; 7863 } 7864 }, 7865 getEventActivated: function(event_type) { 7866 if (typeof event_type === 'string' && event_type) { 7867 let key = 'fbe_' + event_type + '_activated' 7868 return !!window.top[key]; 7869 } 7870 return false; 7871 }, 7872 getCookie: function(name) { 7873 return (name = (document.cookie + ';').match(name + '=.*;')) && name[0].split(/=|;/)[1]; 7874 }, 7875 getExternalId: function() { 7876 return facebookChannel.getCookie('fb_external_id'); 7877 }, 7878 getEventId: function() { 7879 return facebookChannel.getCookie('fb_event_id'); 7880 }, 7881 getInt: function(value) { 7882 let value_int = parseInt(value); 7883 value_int = isNaN(value_int) ? 0 : value_int; 7884 return value_int; 7885 }, 7886 getFloat: function(value) { 7887 let value_float = parseFloat(value); 7888 value_float = isNaN(value_float) ? 0.00 : value_float.toFixed(2); 7889 return value_float; 7890 }, 7891 init: function() { 7892 if (facebookChannel.getInitActivated()) { 7893 return; 7894 } 7895 facebookChannel.setInitActivated(true); 7896 7897 !function(f,b,e,v,n,t,s) 7898 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 7899 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 7900 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 7901 n.queue=[];t=b.createElement(e);t.async=!0; 7902 t.src=v;s=b.getElementsByTagName(e)[0]; 7903 s.parentNode.insertBefore(t,s)}(window,document,'script', 7904 'https://connect.facebook.net/en_US/fbevents.js'); 7905 7906 if ((typeof EC_GLOBAL_INFO !== 'undefined' && EC_GLOBAL_INFO.getCountryCode() === 'US') || (typeof SHOP !== 'undefined' && SHOP.getLanguage() === 'en_US')) { 7907 fbq('dataProcessingOptions', ['LDU'], 0, 0); 7908 } 7909 7910 if (typeof ECLOG !== 'undefined' && !!ECLOG.EXTERNAL_ID) { 7911 ECLOG.EXTERNAL_ID.chk(facebookChannel.shop_id, function(error, external_id) { 7912 if (error || !external_id) { 7913 external_id = facebookChannel.getExternalId(); 7914 console.info('external_id is cookie value.', '(1)'); 7915 } 7916 fbq('init', '761457469011527',{external_id: external_id}, {agent: 'plcafe24'}); 7917 fbq('trackSingle', '761457469011527', 'PageView'); 7918 facebookChannel.external_id = external_id; 7919 facebookChannel.basketEvent(); 7920 }); 7921 } else { 7922 let external_id = facebookChannel.getExternalId(); 7923 console.info('external_id is cookie value.', '(2)'); 7924 7925 fbq('init', '761457469011527',{external_id: external_id}, {agent: 'plcafe24'}); 7926 fbq('trackSingle', '761457469011527', 'PageView'); 7927 facebookChannel.external_id = external_id; 7928 facebookChannel.basketEvent(); 7929 } 7930 }, 7931 pixelEvent: function(event_type, callback, is_cookie_event) { 7932 if (facebookChannel.getEventActivated(event_type)) { 7933 return; 7934 } 7935 facebookChannel.setEventActivated(event_type, true); 7936 is_cookie_event = !!is_cookie_event; 7937 7938 let retry = 0; 7939 let execute = function() { 7940 if (!facebookChannel.external_id) { 7941 if (retry < 300) { 7942 retry++; 7943 if (retry >= 5) { 7944 console.warn('retry #' + retry, event_type); 7945 } 7946 setTimeout(execute, 1000); 7947 } else { 7948 console.warn('external_id is empty.'); 7949 } 7950 return; 7951 } 7952 7953 if (callback.length === 0) { 7954 callback(); 7955 } 7956 else if (!is_cookie_event && typeof ECLOG !== 'undefined' && !!ECLOG.EVENT_ID) { 7957 ECLOG.EVENT_ID.chk(facebookChannel.shop_id, function(error, event_id) { 7958 if (error || !event_id) { 7959 event_id = facebookChannel.getEventId(); 7960 console.info('event_id is cookie value.', '(1)'); 7961 } 7962 facebookChannel.event_id = event_id; 7963 if (event_id) { 7964 callback(event_id); 7965 } else { 7966 console.warn('event_id is empty.', '(1)'); 7967 } 7968 }); 7969 } 7970 else { 7971 let event_id = facebookChannel.getEventId(); 7972 console.info('event_id is cookie value.', '(2)'); 7973 facebookChannel.event_id = event_id; 7974 if (event_id) { 7975 callback(event_id); 7976 } else { 7977 console.warn('event_id is empty.', '(2)'); 7978 } 7979 } 7980 }; 7981 execute(); 7982 }, 7983 messengerChatPlugin: function() { 7984 let event_type = 'messenger'; 7985 let sdk_version = ''; 7986 let locale = ''; 7987 if (!sdk_version) { 7988 console.warn('sdk_version is empty.'); 7989 return; 7990 } 7991 if (!locale) { 7992 console.warn('locale is empty.'); 7993 return; 7994 } 7995 if (facebookChannel.getEventActivated(event_type)) { 7996 return; 7997 } 7998 facebookChannel.setEventActivated(event_type, true); 7999 8000 window.fbAsyncInit = function() { 8001 FB.init({ 8002 appId : '216637735743129', 8003 autoLogAppEvents : true, 8004 xfbml : true, 8005 version : sdk_version 8006 }); 8007 }; 8008 (function(d, s, id) { 8009 var js, fjs = d.getElementsByTagName(s)[0]; 8010 if (d.getElementById(id)) return; 8011 js = d.createElement(s); js.id = id; 8012 js.src = 'https://connect.facebook.net/' + locale + '/sdk/xfbml.customerchat.js'; 8013 fjs.parentNode.insertBefore(js, fjs); 8014 }(document, 'script', 'facebook-jssdk')); 8015 }, 8016 basketEvent: function() { 8017 let event_key = 'AddToCart'; 8018 if (facebookChannel.getEventActivated(event_key + '_listener')) { 8019 return; 8020 } 8021 facebookChannel.setEventActivated(event_key + '_listener', true); 8022 8023 facebookChannel.pixelEvent(event_key, function(event_id) { 8024 EC$("body").bind("EC_PRODUCT_ACTION_BASKET", function(e, params) { 8025 try { 8026 // íì ë°ì´í° ê²ì¦ 8027 let validation_error = null; 8028 8029 if (!params || typeof params !== 'object') { 8030 validation_error = 'paramsê° ìê±°ë ì í¨íì§ ìì'; 8031 } else if (!params.product_no) { 8032 validation_error = 'product_noê° ìì'; 8033 } else if (!params.contents || params.contents.length === 0) { 8034 validation_error = 'contentsê° ë¹ì´ìì'; 8035 } else if (typeof params.total_price === 'undefined' || params.total_price === null) { 8036 validation_error = 'total_priceê° ìì'; 8037 } else { 8038 // contents ë°°ì´ì ê° í목 ê²ì¦ 8039 for (let i = 0; i < params.contents.length; i++) { 8040 let item = params.contents[i]; 8041 if (!item.variant_code) { 8042 validation_error = 'contents[' + i + '].variant_codeê° ìì'; 8043 break; 8044 } 8045 if (!item.quantity) { 8046 validation_error = 'contents[' + i + '].quantityê° ìì'; 8047 break; 8048 } 8049 if (typeof item.price === 'undefined' || item.price === null) { 8050 validation_error = 'contents[' + i + '].priceê° ìì'; 8051 break; 8052 } 8053 } 8054 } 8055 8056 // ê²ì¦ ì¤í¨ ì ë¡ê·¸ ì ì¡ í ì¢ ë£ 8057 if (validation_error) { 8058 console.warn('AddToCart ì´ë²¤í¸ 무ì: ' + validation_error); 8059 window.EC_JET?.message?.({ 8060 mall_id: facebookChannel.mall_id, 8061 shop_no: facebookChannel.shop_no, 8062 pixel_id: 761457469011527, 8063 external_id: facebookChannel.external_id, 8064 event_id: event_id, 8065 validation_error: validation_error, 8066 params: params 8067 }, 'MBE_ADDTOCART_VALIDATION_ERROR'); 8068 return; 8069 } 8070 8071 let event_data = { 8072 contents: params.contents.map(function(v) { 8073 return { 8074 id: params.product_no + '.' + v.variant_code, 8075 quantity: facebookChannel.getInt(v.quantity), 8076 item_price: facebookChannel.getFloat(v.price) 8077 }; 8078 }), 8079 content_type: 'product', 8080 value: facebookChannel.getFloat(params.total_price), 8081 currency: params.currency 8082 }; 8083 8084 let event_log_data = Object.assign({ 8085 mall_id: facebookChannel.mall_id, 8086 shop_no: facebookChannel.shop_no, 8087 pixel_id: 761457469011527, 8088 external_id: facebookChannel.external_id, 8089 event_id: event_id 8090 }, event_data); 8091 8092 window.EC_JET?.message?.(event_log_data, 'MBE_ADDTOCART_EVENT'); 8093 fbq('trackSingle', '761457469011527', event_key, event_data, {eventID: event_id}); 8094 } catch (e) { console.error(e); } 8095 }); 8096 }); 8097 } 8098 }; 8099 8100 window.addEventListener('load', facebookChannel.init, false); 8101} 8102</script>
8102 8103<noscript><img height="1" width="1" style="display:none" 8104 src="https://www.facebook.com/tr?id=761457469011527&ev=PageView&noscript=1" 8105/></noscript> 8106</div> 8107<!-- CMC3 script --> 8108 8109<!-- External Script End --> 8110
8111<script type="text/javascript" src="//t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js" charset="utf-8"></script>
vendor: 1 bytes, line 8111
8111
8112<script type="text/javascript" src="/ind-script/i18n.php?v=2610081510&lang=ko_KR&domain=front&type=" charset="utf-8"></script>
8112 8113
8114<script src="/ind-script/optimizer.php?filename=vZhLc6M4EMfvMdf9HMzUVm3t1Y_JbmqSjSvOTM5CNLZiSa3VIzbz6acBTzYYEyOc2oMfQP-6JfFXd0NhmYId2m1qwWGwHNJnl4rPf-rk2f1WdK8GYRjfps__BrDl4ef35I_k0yB72Huwmkl3OJFwxK2AcWywMmKQCfCk0JEAk4K5GIauerT1hIzFNVGthc2ZBy8UpAoVaJ8Cv6v_PAm_efyxYJ4lSuiztBQZ2cIj_e-zdcYK7YteV8hDFfgarZqj9halBNtnvZTBTY2ZWZGveyMGL2TftcJiPdsrh5LsUF95NFdSaLjKmNb9kRuQo1Ko37fZM03C1aQRY8Gf81hbe1BG0jq-NWXGpHeYCQnpwxuqGUFnjj3WCvNAp9xOmCHOi6B5tSgp2eWB-0QdSWgo1wlIQkm_NTp9C0r2o5TI8gGmKnhWxbjPHNiX9rL2IAZlWQh5Rgw5FCxIX03NKWb9rKOD6tJqg6bl_LqGv7Itw3RbfS_FHmRXme_A8_pefjtxK3uABWRhPdQ56WmNtrwVzg9EHqAAC5rDPNjqt1xawUfmxGwtauj_z8Y5JSPtSCluHA_MCb0exyrwLK-S59GCz5DZvLXidDbJqrMD780_sPsV5Nm1U1AE9VpGBrL0WTZbOkJGB_Be6m0EcW_qDPJl7y2r8fq4PlyhzDH4j3H2qunLXd0otv4gVwvhqAKUgirBxQ5vyMmKJCxhBRLqxPxRg7TkbsbcFj7oZlwHnR822-XOnpSLd_TqYt4p7dEO9CXxZ0LnF-CLE1knAv9OmSFnx1Lpqau_ykPqKMDEHG-oQRQ_HE0KavyYHxf1MjgML7ztXBgtlf_Qaex2pM-TcBsZnX4fgFNbfcy9bX82XkkyEV6A67OZ29J4_AplpwtkmpJfuwuswk8ctWkwWYcTpe0Ew1ypefMdaa1AZd027Qx0b3OwXPtIrEl5YzlzquIMIg-iiWTnGAzq-NHeUVt_oqCdoRZg0InYWJWmT7UUAzCOIXpqtt4MkVCzg7ZQUguYj2If0TM5HzHeWqexkgENhRgn0VtWRsf7y7I8VizT4JEStuA1TAlsF6tRelITSzTBxG6K4Cg0WNpSLyJ-cRfNQ-JqI4yhhmWa55QlXezg6WFsC69FJF4WLQcjtk8tq79F9WaoHC3LA__IsgvoqkcdO4EFPWQJeaMLjNWAZEKxTEJ0dMP8xqKEyUvTJ2Gsfm6PXnL0IGZwwm_K30TiWugB5m6XcHb8Zq2y_XJ4hO1W8uqy41YYP4ipXmOk06otMcDr118F65a9k2grQxgzf_clm6UnQbgWe7r-Ew&type=js&k=76ece9a03757b0f3ba3984f8e8ea04003fde1092&t=1790658558" ></script>
8114<script src="/ind-script/optimizer_user.php?filename=jY9BDsIwDATvtFfeYfUtvKBJrNYlcUwcC5XXExVOiKo92ZZmNV4N2AVUmhj0TjwMEMc1WwU3KnlYFDRSYxKy9Yte9Zh_kmC5OOMQsU_E_2ONTDlYRJDSpq-gY8ROCnk8J1oehmXtnWQx2Rf9xrblHPq5d__3OaW8Y8UXEFM96v41JouVdM5ym0mEeGq5Nw&type=js&k=329de5ed8fa07f49159d0c20cf44b9369711bd0c&t=1787734807&user=T" ></script>
vendor: 1 bytes, line 8114
8114
8115<script type="text/javascript"> 8116var sIsFrontDesignChangeRequired = 'F'; 8117var sYtshopping = 'F'; 8118var sIsYoutubeShops = 'F'; 8119var sIsValidChRef = 'F'; 8120var sChRef = ''; 8121var sIsDropshipping = 'F'; 8122if (sIsValidChRef === 'T') { 8123sessionStorage.setItem('ch_ref', sChRef); 8124} 8125// ch_ref ì¡´ì¬ ì¬ë¶ ì²´í¬ 8126CAFE24.hasChRef = function() { 8127if (sIsValidChRef === 'T' && sessionStorage.getItem('ch_ref')) { 8128return true; 8129} 8130return false; 8131} 8132// ch_ref ë°ì´í° ì¡°í 8133CAFE24.getChRefData = function() { 8134if (sIsValidChRef === 'T') { 8135return sessionStorage.getItem('ch_ref'); 8136} 8137} 8138// íë¡ í¸ ëìì¸ ë³ê²½ì´ íìíì§ ì¬ë¶ ë°í 8139CAFE24.checkChannelUI = function() { 8140// [ECHOSTING-598429] ëë¡ì¬íì íì ì ì²´ UI ë ¸ì¶ 8141if (sIsDropshipping === 'T') { 8142return false; 8143} 8144if ((sIsFrontDesignChangeRequired === 'T' && sessionStorage.getItem('ch_ref')) || sIsYoutubeShops === 'T') { 8145return true; 8146} else { 8147return false; 8148} 8149} 8150// íë¼ë¯¸í°ì ch_ref ì¶ê° 8151CAFE24.attachChRef = function(sUrl) { 8152if (sUrl) { 8153var sChRef = CAFE24.getChRefData(); 8154if (sChRef) { 8155var sSeparator = (sUrl.includes('?')) ? '&' : '?'; 8156sUrl += sSeparator + 'ch_ref=' + sChRef; 8157} 8158} 8159return sUrl; 8160} 8161var sIsCheckout = 'F'; 8162var sCheckoutToken = ''; 8163if (sIsCheckout === 'T') { 8164sessionStorage.setItem('checkoutToken', sCheckoutToken); 8165} else { 8166sessionStorage.removeItem('checkoutToken'); 8167} 8168CAFE24.getCheckoutToken = function() { 8169if (sIsCheckout === 'T') { 8170return sessionStorage.getItem('checkoutToken'); 8171} 8172} 8173CAFE24.attachCheckoutParam = function(sUrl) { 8174if (sUrl) { 8175var sCheckoutToken = CAFE24.getCheckoutToken(); 8176if (sCheckoutToken) { 8177var sSeparator = (sUrl.includes('?')) ? '&' : '?'; 8178sUrl += sSeparator + 'checkoutToken=' + sCheckoutToken; 8179} 8180} 8181return sUrl; 8182} 8183CAFE24.MOBILE_WEB = false; var mobileWeb = CAFE24.MOBILE_WEB; 8184try { 8185var isUseLoginKeepingSubmit = false; 8186// isSeqNoKeyExpiretime 8187function isSeqNoKeyExpiretime(iExpiretime) 8188{ 8189var sDate = new Date(); 8190var iNow = Math.floor(sDate.getTime() / 1000); 8191// ì í¨ìê° íì¸ 8192if (iExpiretime > iNow) { 8193return false; 8194} 8195return true; 8196} 8197function isUseLoginKeeping() 8198{ 8199// ëë°ì´ì¤ íì¸ 8200if (EC_MOBILE_DEVICE === false) { 8201return; 8202} 8203// ë¡ê·¸ì¸ ì¬ë¶ 8204var isLogin = document.cookie.match(/(?:^| |;)iscache=F/) ? true : false 8205if (isLogin) { 8206return; 8207} 8208var sLoginKeepingInfo = localStorage.getItem('use_login_keeping_info'); 8209var iSeqnoExpiretime; 8210var iSeqNoKey; 8211if (sLoginKeepingInfo == null) { 8212iSeqnoExpiretime = localStorage.getItem('seq_no_key_expiretime'); 8213iSeqNoKey = localStorage.getItem('seq_no_key'); 8214// ì í¨ìê°, key ê° íì¸ 8215if (iSeqnoExpiretime === null || iSeqNoKey === null) { 8216return; 8217} 8218} else { 8219var oLoginKeepingInfo = JSON.parse(sLoginKeepingInfo); 8220iSeqNoKey = oLoginKeepingInfo.seq_no_key; 8221iSeqnoExpiretime = oLoginKeepingInfo.seq_no_key_expiretime; 8222if (isNaN(iSeqNoKey) === true || isNaN(iSeqnoExpiretime) === true) { 8223return; 8224} 8225} 8226if (isSeqNoKeyExpiretime(iSeqnoExpiretime) === false) { 8227return; 8228} 8229useLoginKeepingSubmit(); 8230} 8231function findGetParamValue(paramKey) 8232{ 8233var result = null, 8234tmp = []; 8235location.search.substr(1).split('&').forEach(function (item) { 8236tmp = item.split('='); 8237if (tmp[0] === paramKey) result = decodeURIComponent(tmp[1]); 8238}); 8239return result; 8240} 8241function useLoginKeepingSubmit() 8242{ 8243var iSeqnoExpiretime; 8244var iSeqNoKey; 8245var sUseLoginKeepingIp; 8246var sLoginKeepingInfo = localStorage.getItem('use_login_keeping_info'); 8247if (sLoginKeepingInfo == null) { 8248iSeqnoExpiretime = localStorage.getItem('seq_no_key_expiretime'); 8249iSeqNoKey = localStorage.getItem('seq_no_key'); 8250} else { 8251var oLoginKeepingInfo = JSON.parse(sLoginKeepingInfo); 8252iSeqNoKey = oLoginKeepingInfo.seq_no_key; 8253iSeqnoExpiretime = oLoginKeepingInfo.seq_no_key_expiretime; 8254sUseLoginKeepingIp = oLoginKeepingInfo.use_login_keeping_ip; 8255} 8256var oForm = document.createElement('form'); 8257oForm.method = 'post'; 8258oForm.action = '/exec/front/member/LoginKeeping'; 8259document.body.appendChild(oForm); 8260var oSeqNoObj = document.createElement('input'); 8261oSeqNoObj.name = 'seq_no_key'; 8262oSeqNoObj.type = 'hidden'; 8263oSeqNoObj.value = iSeqNoKey; 8264oForm.appendChild(oSeqNoObj); 8265oSeqNoObj = document.createElement('input'); 8266oSeqNoObj.name = 'seq_no_key_expiretime'; 8267oSeqNoObj.type = 'hidden'; 8268oSeqNoObj.value = iSeqnoExpiretime; 8269oForm.appendChild(oSeqNoObj); 8270var returnUrl = findGetParamValue('returnUrl'); 8271if (returnUrl == '' || returnUrl == null) { 8272returnUrl = location.pathname + location.search; 8273} 8274oSeqNoObj = document.createElement('input'); 8275oSeqNoObj.name = 'returnUrl'; 8276oSeqNoObj.type = 'hidden'; 8277oSeqNoObj.value = returnUrl; 8278oForm.appendChild(oSeqNoObj);
8279if (sUseLoginKeepingIp != undefined) { 8280oSeqNoObj = document.createElement('input'); 8281oSeqNoObj.name = 'use_login_keeping_ip'; 8282oSeqNoObj.type = 'hidden'; 8283oSeqNoObj.value = sUseLoginKeepingIp; 8284oForm.appendChild(oSeqNoObj); 8285} 8286oForm.submit(); 8287isUseLoginKeepingSubmit = true; 8288} 8289isUseLoginKeeping(); 8290} catch(e) { 8291} 8292CAFE24.SHOP_CURRENCY_INFO = {"1":{"aShopCurrencyInfo":{"currency_code":"KRW","currency_no":"410","currency_symbol":"\uffe6","currency_name":"South Korean won","currency_desc":"\uffe6 \uc6d0 (\ud55c\uad6d)","decimal_place":0,"round_method_type":"F"},"aShopSubCurrencyInfo":null,"aBaseCurrencyInfo":{"currency_code":"KRW","currency_no":"410","currency_symbol":"\uffe6","currency_name":"South Korean won","currency_desc":"\uffe6 \uc6d0 (\ud55c\uad6d)","decimal_place":0,"round_method_type":"F"},"fExchangeRate":1,"fExchangeSubRate":null,"aFrontCurrencyFormat":{"head":"₩","tail":""},"aFrontSubCurrencyFormat":{"head":"","tail":""},"bPresentmentEnabled":false,"aPresentmentCurrencyInfo":null,"fExchangePresentmentRate":null,"aFrontPresentmentCurrencyFormat":null,"bGlobaleEnabled":false}}; var SHOP_CURRENCY_INFO = CAFE24.SHOP_CURRENCY_INFO; 8293if (typeof CAFE24.SHOP_FRONT_NEW_OPTION_COMMON !== "undefined") {CAFE24.SHOP_FRONT_NEW_OPTION_COMMON.initObject();} 8294if (typeof CAFE24.SHOP_FRONT_NEW_OPTION_BIND !== "undefined") {CAFE24.SHOP_FRONT_NEW_OPTION_BIND.initChooseBox();} 8295if (typeof CAFE24.SHOP_FRONT_NEW_OPTION_DATA !== "undefined") {CAFE24.SHOP_FRONT_NEW_OPTION_DATA.initData();} 8296var sBlackType = "" 8297var set_option = {"setproduct_require":"setproduct_require","setproduct_option":"setproduct_option","setproduct_add_option":"setproduct_add_option","addproduct_option":"addproduct_option","addproduct_add_option":"addproduct_add_option","code_setproduct":"setproduct","code_addproduct":"addproduct"}; 8298var aWishlistProductData = []; 8299var sMileageName = 'ì 립ê¸'; 8300var sMileageUnit = '[:PRICE:]ì'; 8301var sDepositName = 'ìì¹ê¸'; 8302var sDepositUnit = 'ì'; 8303CAFE24.APPSCRIPT_ASSIGN_DATA = CAFE24.APPSCRIPT_ASSIGN_DATA || [{'src':'https://calendar-app.cafe24.com/openapi/inject.js?vs=20240919102943.1&client_id=A8RQp67UIt9nBlqvThz2jC'},{'src':'https://cax.channel.io/cafe24/plugins/c64d415a-ac9c-4900-9842-eeaed0b16ff7.js?vs=20250417162013.1&client_id=QKWiDNLcK9koJO0swpfnuE'}]; 8304CAFE24.APPSCRIPT_SDK_DATA = CAFE24.APPSCRIPT_SDK_DATA || ['product','store','category','collection','supply','order','shipping','application','customer','promotion','community','design','notification','personal','privacy']; 8305var EC_APPSCRIPT_ASSIGN_DATA = CAFE24.getDeprecatedNamespace('EC_APPSCRIPT_ASSIGN_DATA'); 8306var EC_APPSCRIPT_SDK_DATA = CAFE24.getDeprecatedNamespace('EC_APPSCRIPT_SDK_DATA'); 8307</script>
8307</body> 8308</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.