Help
RSS
API
Feed
Maltego
Contact
Domain > 1mainmain1.gloryjang.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-25
104.21.92.174
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Wed, 25 Feb 2026 17:22:01 GMTContent-Type: text/htmlContent-Length: 28730Connection: keep-aliveCF-Cache-Status: HITCache-Control: public, max-age0, must-revalidateETag: 1d21d9763c126e77dd23fd200716e850Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sug3%2BmyXc%2B46ADyRprWgkDoLi1GsmmbP%2F8L4HrkvSIaO2vGlrm2l8UA7Et1Pzg%2FNms%2BwYW4HzW6pWflqdof2tWh1tOWGrgD5HSGpITkuG05YkEz4U2LQ%3D}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflareCF-RAY: 9d38e1e70d39b024-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langko>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>한울축산 관리 시스템/title> !-- 세션 체크: 없으면 즉시 리다이렉트, 있으면 화면 표시 --> style>body { display: none; }/style> script> if (!localStorage.getItem(hanul_session)) { window.location.replace(/login/); } else { document.write(style>body { display: block; }/style>); } /script> !-- PWA 설정 --> link relmanifest href/manifest.json> meta nametheme-color content#667eea> meta nameapple-mobile-web-app-capable contentyes> meta nameapple-mobile-web-app-status-bar-style contentblack-translucent> meta nameapple-mobile-web-app-title content한울축산> link relapple-touch-icon href/icons/apple-touch-icon.png> style> @import url(https://fonts.googleapis.com/css2?familyNoto+Sans+KR:wght@400;500;700;900&displayswap); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Noto Sans KR, sans-serif; background: #0a0a0a; color: #ffffff; min-height: 100vh; overflow-x: hidden; } /* 배경 그라데이션 애니메이션 */ .bg-gradient { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: radial-gradient(circle at 20% 50%, rgba(120, 119, 198, 0.3), transparent 50%), radial-gradient(circle at 80% 80%, rgba(255, 119, 115, 0.3), transparent 50%), radial-gradient(circle at 40% 90%, rgba(0, 212, 255, 0.2), transparent 50%); animation: gradientShift 15s ease infinite; } @keyframes gradientShift { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } } .container { max-width: 1400px; margin: 0 auto; padding: 40px 20px; position: relative; } /* 헤더 영역 */ .header { text-align: center; margin-bottom: 80px; padding: 20px 0; } .logo-container { display: inline-block; position: relative; } .logo { font-size: 4rem; font-weight: 900; letter-spacing: -2px; background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; position: relative; animation: logoFloat 3s ease-in-out infinite; } @keyframes logoFloat { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } .logo-underline { height: 4px; background: linear-gradient(90deg, transparent, #667eea, #764ba2, #f093fb, transparent); margin-top: 10px; border-radius: 2px; animation: underlinePulse 2s ease-in-out infinite; } @keyframes underlinePulse { 0%, 100% { transform: scaleX(0.8); opacity: 0.5; } 50% { transform: scaleX(1); opacity: 1; } } .subtitle { margin-top: 20px; font-size: 1.3rem; font-weight: 300; color: #a0a0a0; letter-spacing: 4px; } /* 메인 그리드 */ .main-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; } /* 글로우 카드 */ .card-glow { display: block; text-decoration: none; color: inherit; height: 280px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 24px; padding: 35px; position: relative; cursor: pointer; transition: all 0.4s ease; overflow: hidden; } /* 글로우 테두리 효과 */ .card-glow::before { content: ; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; border-radius: 26px; z-index: -1; opacity: 0; transition: opacity 0.4s ease; background-size: 300% 300%; animation: glowMove 3s ease infinite; } /* 카드별 글로우 색상 */ .card-glow:nth-child(1)::before { background: linear-gradient(135deg, #667eea, #764ba2, #f093fb, #667eea); } .card-glow:nth-child(2)::before { background: linear-gradient(135deg, #f093fb, #f5576c, #f093fb); } .card-glow:nth-child(3)::before { background: linear-gradient(135deg, #4facfe, #00f2fe, #4facfe); } .card-glow:nth-child(4)::before { background: linear-gradient(135deg, #43e97b, #38f9d7, #43e97b); } .card-glow:nth-child(5)::before { background: linear-gradient(135deg, #fa709a, #fee140, #fa709a); } .card-glow:nth-child(6)::before { background: linear-gradient(135deg, #30cfd0, #330867, #30cfd0); } .card-glow:nth-child(7)::before { background: linear-gradient(135deg, #667eea, #764ba2, #667eea); } .card-glow:nth-child(8)::before { background: linear-gradient(135deg, #ff9500, #ff6b35, #ff9500); } .card-glow:nth-child(9)::before { background: linear-gradient(135deg, #11998e, #38ef7d, #11998e); } .card-glow:nth-child(10)::before { background: linear-gradient(135deg, #fc4a1a, #f7b733, #fc4a1a); } .card-glow:nth-child(11)::before { background: linear-gradient(135deg, #834d9b, #d04ed6, #834d9b); } @keyframes glowMove { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } /* 호버/활성화 시 글로우 */ .card-glow:hover::before, .card-glow.active::before { opacity: 1; } .card-glow:hover, .card-glow.active { transform: translateY(-8px); box-shadow: 0 20px 60px rgba(102, 126, 234, 0.4); border-color: transparent; } /* 카드 내용 */ .card-content { height: 100%; display: flex; flex-direction: column; justify-content: space-between; } .card-number { font-size: 3rem; font-weight: 900; background: linear-gradient(135deg, #667eea, #f093fb); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1; } .card-title { font-size: 1.8rem; font-weight: 700; margin-top: 20px; color: #ffffff; } .card-desc { font-size: 0.95rem; color: #a0a0a0; margin-top: 8px; } .card-type { display: inline-block; padding: 8px 16px; background: rgba(255, 255, 255, 0.1); border-radius: 20px; font-size: 0.85rem; font-weight: 500; margin-top: 15px; border: 1px solid rgba(255, 255, 255, 0.2); transition: all 0.3s; } .card-glow:hover .card-type, .card-glow.active .card-type { background: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.4); } /* 클릭 안내 화살표 */ .card-arrow { position: absolute; bottom: 25px; right: 25px; font-size: 1.5rem; opacity: 0; transform: translateX(-10px); transition: all 0.3s ease; } .card-glow:hover .card-arrow, .card-glow.active .card-arrow { opacity: 1; transform: translateX(0); } /* 인포 섹션 */ .info-section { margin-top: 60px; text-align: center; color: #a0a0a0; } .info-tip { display: inline-block; padding: 15px 30px; background: rgba(255, 255, 255, 0.05); border-radius: 30px; font-size: 0.95rem; border: 1px solid rgba(255, 255, 255, 0.1); } /* 반응형 */ @media (max-width: 1024px) { .main-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } } @media (max-width: 768px) { .container { padding: 20px 15px; padding-top: 0; } .header { margin-bottom: 25px; padding: 15px 15px; margin-left: -15px; margin-right: -15px; } .logo { font-size: 2rem; animation: none; } .subtitle { font-size: 0.8rem; letter-spacing: 2px; margin-top: 10px; } .logo-underline { margin-top: 8px; height: 3px; } .main-grid { grid-template-columns: 1fr; gap: 12px; } .card-glow { height: auto; min-height: 70px; padding: 15px 18px; display: flex; align-items: center; } /* 카드 내부 레이아웃 변경 */ .card-content { width: 100%; height: auto; flex-direction: row; justify-content: flex-start; } .card-content > div:first-child { display: flex; align-items: center; gap: 12px; width: 100%; } /* 화살표 숨기기 */ .card-arrow { display: none; } .card-number { font-size: 1.5rem; flex-shrink: 0; } .card-title { font-size: 1.1rem; flex-shrink: 0; margin-top: 0; } .card-desc { font-size: 0.8rem; margin-left: auto; margin-top: 0; text-align: right; color: rgba(255,255,255,0.5); } /* 배지 숨기기 */ .card-type { display: none; } .card-arrow { font-size: 1.2rem; } .info-tip { font-size: 0.8rem; padding: 10px 15px; } .footer { margin-top: 30px; padding: 20px; } } @media (max-width: 480px) { .header { padding: 12px 15px; } .logo { font-size: 1.8rem; } .subtitle { font-size: 0.75rem; } .card-glow { min-height: 70px; padding: 12px 15px; } .card-number { font-size: 1.3rem; } .card-title { font-size: 1rem; } .card-desc { font-size: 0.75rem; } } /* 로딩 애니메이션 */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .card-glow { animation: fadeIn 0.6s ease-out backwards; } .card-glow:nth-child(1) { animation-delay: 0.1s; } .card-glow:nth-child(2) { animation-delay: 0.15s; } .card-glow:nth-child(3) { animation-delay: 0.2s; } .card-glow:nth-child(4) { animation-delay: 0.25s; } .card-glow:nth-child(5) { animation-delay: 0.3s; } .card-glow:nth-child(6) { animation-delay: 0.35s; } .card-glow:nth-child(7) { animation-delay: 0.4s; } .card-glow:nth-child(8) { animation-delay: 0.45s; } .card-glow:nth-child(9) { animation-delay: 0.5s; } .card-glow:nth-child(10) { animation-delay: 0.55s; } .card-glow:nth-child(11) { animation-delay: 0.6s; } /* 푸터 */ .footer { text-align: center; margin-top: 80px; padding: 30px; color: #666; font-size: 0.9rem; } /style>/head>body> div classbg-gradient>/div> div classcontainer> !-- 헤더 --> div classheader> div classlogo-container> div classlogo data-langlogo>한울축산/div> div classlogo-underline>/div> /div> div classsubtitle>LIVESTOCK MANAGEMENT SYSTEM/div> /div> !-- 메인 그리드 --> div classmain-grid> !-- 카드 0: 통계 & 리포트 --> a href/stats/ classcard-glow> div classcard-content> div> div classcard-number>📊/div> div classcard-title data-langstats>통계 & 리포트/div> div classcard-desc data-langstatsDesc>주간/월간 통계 및 그래프/div> /div> div classcard-type data-langtypeAnalysis>분석/div> /div> span classcard-arrow>→/span> /a> !-- 카드 1: 자돈사 일보 --> a href/jadon/ classcard-glow> div classcard-content> div> div classcard-number>01/div> div classcard-title data-langjadon>자돈사 일보/div> div classcard-desc data-langjadonDesc>일일 관리 기록 입력/div> /div> div classcard-type data-langtypeDaily>일일 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 2: 육성비육사 일보 --> a href/yooksung/ classcard-glow> div classcard-content> div> div classcard-number>02/div> div classcard-title data-langyooksung>육성비육사 일보/div> div classcard-desc data-langyooksungDesc>육성·비육돈 관리/div> /div> div classcard-type data-langtypeDaily>일일 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 3: 종부일지 --> a href/breeding/ classcard-glow> div classcard-content> div> div classcard-number>03/div> div classcard-title data-langbreeding>종부일지/div> div classcard-desc data-langbreedingDesc>종부 기록 및 일정/div> /div> div classcard-type data-langtypeRecord>기록 관리/div> /div> span classcard-arrow>→/span> /a> !-- 카드 4: 임신사 주간일보 --> a href/gestation/ classcard-glow> div classcard-content> div> div classcard-number>04/div> div classcard-title data-langgestation>임신사 주간일보/div> div classcard-desc data-langgestationDesc>주간 관리 현황/div> /div> div classcard-type data-langtypeWeekly>주간 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 5: 분만일지 --> a href/farrowing/ classcard-glow> div classcard-content> div> div classcard-number>05/div> div classcard-title data-langfarrowing>분만일지/div> div classcard-desc data-langfarrowingDesc>분만 기록 입력/div> /div> div classcard-type data-langtypeRecord>기록 관리/div> /div> span classcard-arrow>→/span> /a> !-- 카드 6: 분만사 주간일보 --> a href/nursing/ classcard-glow> div classcard-content> div> div classcard-number>06/div> div classcard-title data-langnursing>분만사 주간일보/div> div classcard-desc data-langnursingDesc>주간 관리 현황/div> /div> div classcard-type data-langtypeWeekly>주간 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 7: 이유일지 --> a href/weaning/ classcard-glow> div classcard-content> div> div classcard-number>07/div> div classcard-title data-langweaning>이유일지/div> div classcard-desc data-langweaningDesc>이유 기록 관리/div> /div> div classcard-type data-langtypeRecord>기록 관리/div> /div> span classcard-arrow>→/span> /a> !-- 카드 8: 출하 관리 --> a href/shipment/ classcard-glow> div classcard-content> div> div classcard-number>08/div> div classcard-title data-langshipment>출하 관리/div> div classcard-desc data-langshipmentDesc>출하 내역 및 통계/div> /div> div classcard-type data-langtypeHistory>이력 조회/div> /div> span classcard-arrow>→/span> /a> !-- 카드 9: 일령 관리 --> a href/dayage/ classcard-glow> div classcard-content> div> div classcard-number>📅/div> div classcard-title data-langdayage>일령 관리/div> div classcard-desc data-langdayageDesc>돈방별 일령 현황/div> /div> div classcard-type data-langtypeStatus>현황 조회/div> /div> span classcard-arrow>→/span> /a> !-- 카드 10: 보고서 센터 --> a href/reports/ classcard-glow> div classcard-content> div> div classcard-number>📄/div> div classcard-title data-langreports>보고서 센터/div> div classcard-desc data-langreportsDesc>교배대장, 일지 인쇄/div> /div> div classcard-type data-langtypePrint>인쇄/div> /div> span classcard-arrow>→/span> /a> /div> !-- 인포 섹션 --> div classinfo-section> div classinfo-tip idinfoTip data-langinfoTip> 💡 카드를 클릭하면 이동합니다 /div> /div> !-- 푸터 --> div classfooter data-langfooter> © 2025 한울축산. All rights reserved. /div> /div> script> // 번역 데이터 const translations { ko: { logo: 한울축산, stats: 통계 & 리포트, statsDesc: 주간/월간 통계 및 그래프, jadon: 자돈사 일보, jadonDesc: 일일 관리 기록 입력, yooksung: 육성비육사 일보, yooksungDesc: 육성·비육돈 관리, breeding: 종부일지, breedingDesc: 종부 기록 및 일정, gestation: 임신사 주간일보, gestationDesc: 주간 관리 현황, farrowing: 분만일지, farrowingDesc: 분만 기록 입력, nursing: 분만사 주간일보, nursingDesc: 주간 관리 현황, weaning: 이유일지, weaningDesc: 이유 기록 관리, shipment: 출하 관리, shipmentDesc: 출하 내역 및 통계, dayage: 일령 관리, dayageDesc: 돈방별 일령 현황, reports: 보고서 센터, reportsDesc: 교배대장, 일지 인쇄, typeAnalysis: 분석, typeDaily: 일일 보고, typeWeekly: 주간 보고, typeRecord: 기록 관리, typeHistory: 이력 조회, typeStatus: 현황 조회, typePrint: 인쇄, infoTip: 💡 카드를 클릭하면 이동합니다, infoTipTouch: 💡 터치 → 글로우 ✨ → 다시 터치 → 이동, footer: © 2025 한울축산. All rights reserved. }, np: { logo: हानुल फार्म, stats: तथ्याङ्क र रिपोर्ट, statsDesc: साप्ताहिक/मासिक तथ्याङ्क, jadon: पिगलेट दैनिक, jadonDesc: दैनिक व्यवस्थापन रेकर्ड, yooksung: बढ्दो दैनिक, yooksungDesc: बढ्दो/फिनिशर व्यवस्थापन, breeding: प्रजनन रेकर्ड, breedingDesc: प्रजनन रेकर्ड र तालिका, gestation: गर्भावस्था साप्ताहिक, gestationDesc: साप्ताहिक व्यवस्थापन, farrowing: बिर्सिएको रेकर्ड, farrowingDesc: बिर्सिने रेकर्ड प्रविष्टि, nursing: स्तनपान साप्ताहिक, nursingDesc: साप्ताहिक व्यवस्थापन, weaning: दुध छुटाउने, weaningDesc: दुध छुटाउने रेकर्ड, shipment: शिपमेन्ट, shipmentDesc: शिपमेन्ट इतिहास र तथ्याङ्क, dayage: उमेर व्यवस्थापन, dayageDesc: कोठा अनुसार उमेर स्थिति, reports: रिपोर्ट केन्द्र, reportsDesc: प्रजनन रजिस्टर, जर्नल प्रिन्ट, typeAnalysis: विश्लेषण, typeDaily: दैनिक रिपोर्ट, typeWeekly: साप्ताहिक रिपोर्ट, typeRecord: रेकर्ड व्यवस्थापन, typeHistory: इतिहास, typeStatus: स्थिति, typePrint: प्रिन्ट, infoTip: 💡 कार्डमा क्लिक गर्नुहोस्, infoTipTouch: 💡 टच → ग्लो ✨ → फेरि टच → जानुहोस्, footer: © 2025 हानुल फार्म। सबै अधिकार सुरक्षित। } }; // 전역 언어 가져오기 function getCurrentLang() { return localStorage.getItem(hanulLang) || ko; } let currentLang getCurrentLang(); // 언어 적용 function applyLanguage() { currentLang getCurrentLang(); const t translationscurrentLang; document.querySelectorAll(data-lang).forEach(el > { const key el.getAttribute(data-lang); if (tkey) el.textContent tkey; }); // 터치 디바이스 안내 문구 업데이트 const isTouchDevice (ontouchstart in window) || (navigator.maxTouchPoints > 0); if (isTouchDevice) { document.getElementById(infoTip).textContent t.infoTipTouch; } } // 사이드바에서 호출할 전역 함수 window.applyGlobalLanguage function(lang) { currentLang lang; applyLanguage(); }; // 모바일 터치: 첫 터치 → 글로우, 두번째 터치 → 이동 const cards document.querySelectorAll(.card-glow); let activeCard null; // 터치 디바이스 감지 const isTouchDevice (ontouchstart in window) || (navigator.maxTouchPoints > 0); if (isTouchDevice) { // 안내 문구 변경 const t translationscurrentLang; document.getElementById(infoTip).textContent t.infoTipTouch; cards.forEach(card > { card.addEventListener(click, function(e) { // 이미 활성화된 카드면 이동 허용 if (this.classList.contains(active)) { return; } // 아니면 글로우 활성화 (이동 막기) e.preventDefault(); // 다른 카드 비활성화 if (activeCard && activeCard ! this) { activeCard.classList.remove(active); } // 현재 카드 활성화 this.classList.add(active); activeCard this; }); }); // 카드 외부 터치 시 비활성화 document.addEventListener(click, function(e) { if (!e.target.closest(.card-glow) && activeCard) { activeCard.classList.remove(active); activeCard null; } }); } // 초기 언어 적용 applyLanguage(); // PWA 서비스워커 등록 if (serviceWorker in navigator) { navigator.serviceWorker.register(/service-worker.js) .then(reg > console.log(SW 등록 성공:, reg.scope)) .catch(err > console.log(SW 등록 실패:, err)); } /script> script src/shared/auth.js>/script> script src/shared/sidebar.js>/script>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 25 Feb 2026 17:22:01 GMTContent-Type: text/htmlContent-Length: 28730Connection: keep-aliveCF-Cache-Status: HITCache-Control: public, max-age0, must-revalidateETag: 1d21d9763c126e77dd23fd200716e850Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sAtDINXGfctsc%2BMYkhR2fG4Htih4hIgh%2B4e7%2F57WrqUcxdlWSrh04Bu7qtHzYkZb6z3nrrEXCps02AuTtedZOADdqhfC%2Bp5WQ%2BBmFDLZIW34Wlo6CmejfiQ%3D%3D}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflareCF-RAY: 9d38e1e8186fc12a-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langko>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>한울축산 관리 시스템/title> !-- 세션 체크: 없으면 즉시 리다이렉트, 있으면 화면 표시 --> style>body { display: none; }/style> script> if (!localStorage.getItem(hanul_session)) { window.location.replace(/login/); } else { document.write(style>body { display: block; }/style>); } /script> !-- PWA 설정 --> link relmanifest href/manifest.json> meta nametheme-color content#667eea> meta nameapple-mobile-web-app-capable contentyes> meta nameapple-mobile-web-app-status-bar-style contentblack-translucent> meta nameapple-mobile-web-app-title content한울축산> link relapple-touch-icon href/icons/apple-touch-icon.png> style> @import url(https://fonts.googleapis.com/css2?familyNoto+Sans+KR:wght@400;500;700;900&displayswap); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Noto Sans KR, sans-serif; background: #0a0a0a; color: #ffffff; min-height: 100vh; overflow-x: hidden; } /* 배경 그라데이션 애니메이션 */ .bg-gradient { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: radial-gradient(circle at 20% 50%, rgba(120, 119, 198, 0.3), transparent 50%), radial-gradient(circle at 80% 80%, rgba(255, 119, 115, 0.3), transparent 50%), radial-gradient(circle at 40% 90%, rgba(0, 212, 255, 0.2), transparent 50%); animation: gradientShift 15s ease infinite; } @keyframes gradientShift { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } } .container { max-width: 1400px; margin: 0 auto; padding: 40px 20px; position: relative; } /* 헤더 영역 */ .header { text-align: center; margin-bottom: 80px; padding: 20px 0; } .logo-container { display: inline-block; position: relative; } .logo { font-size: 4rem; font-weight: 900; letter-spacing: -2px; background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; position: relative; animation: logoFloat 3s ease-in-out infinite; } @keyframes logoFloat { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } .logo-underline { height: 4px; background: linear-gradient(90deg, transparent, #667eea, #764ba2, #f093fb, transparent); margin-top: 10px; border-radius: 2px; animation: underlinePulse 2s ease-in-out infinite; } @keyframes underlinePulse { 0%, 100% { transform: scaleX(0.8); opacity: 0.5; } 50% { transform: scaleX(1); opacity: 1; } } .subtitle { margin-top: 20px; font-size: 1.3rem; font-weight: 300; color: #a0a0a0; letter-spacing: 4px; } /* 메인 그리드 */ .main-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; } /* 글로우 카드 */ .card-glow { display: block; text-decoration: none; color: inherit; height: 280px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 24px; padding: 35px; position: relative; cursor: pointer; transition: all 0.4s ease; overflow: hidden; } /* 글로우 테두리 효과 */ .card-glow::before { content: ; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; border-radius: 26px; z-index: -1; opacity: 0; transition: opacity 0.4s ease; background-size: 300% 300%; animation: glowMove 3s ease infinite; } /* 카드별 글로우 색상 */ .card-glow:nth-child(1)::before { background: linear-gradient(135deg, #667eea, #764ba2, #f093fb, #667eea); } .card-glow:nth-child(2)::before { background: linear-gradient(135deg, #f093fb, #f5576c, #f093fb); } .card-glow:nth-child(3)::before { background: linear-gradient(135deg, #4facfe, #00f2fe, #4facfe); } .card-glow:nth-child(4)::before { background: linear-gradient(135deg, #43e97b, #38f9d7, #43e97b); } .card-glow:nth-child(5)::before { background: linear-gradient(135deg, #fa709a, #fee140, #fa709a); } .card-glow:nth-child(6)::before { background: linear-gradient(135deg, #30cfd0, #330867, #30cfd0); } .card-glow:nth-child(7)::before { background: linear-gradient(135deg, #667eea, #764ba2, #667eea); } .card-glow:nth-child(8)::before { background: linear-gradient(135deg, #ff9500, #ff6b35, #ff9500); } .card-glow:nth-child(9)::before { background: linear-gradient(135deg, #11998e, #38ef7d, #11998e); } .card-glow:nth-child(10)::before { background: linear-gradient(135deg, #fc4a1a, #f7b733, #fc4a1a); } .card-glow:nth-child(11)::before { background: linear-gradient(135deg, #834d9b, #d04ed6, #834d9b); } @keyframes glowMove { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } /* 호버/활성화 시 글로우 */ .card-glow:hover::before, .card-glow.active::before { opacity: 1; } .card-glow:hover, .card-glow.active { transform: translateY(-8px); box-shadow: 0 20px 60px rgba(102, 126, 234, 0.4); border-color: transparent; } /* 카드 내용 */ .card-content { height: 100%; display: flex; flex-direction: column; justify-content: space-between; } .card-number { font-size: 3rem; font-weight: 900; background: linear-gradient(135deg, #667eea, #f093fb); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1; } .card-title { font-size: 1.8rem; font-weight: 700; margin-top: 20px; color: #ffffff; } .card-desc { font-size: 0.95rem; color: #a0a0a0; margin-top: 8px; } .card-type { display: inline-block; padding: 8px 16px; background: rgba(255, 255, 255, 0.1); border-radius: 20px; font-size: 0.85rem; font-weight: 500; margin-top: 15px; border: 1px solid rgba(255, 255, 255, 0.2); transition: all 0.3s; } .card-glow:hover .card-type, .card-glow.active .card-type { background: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.4); } /* 클릭 안내 화살표 */ .card-arrow { position: absolute; bottom: 25px; right: 25px; font-size: 1.5rem; opacity: 0; transform: translateX(-10px); transition: all 0.3s ease; } .card-glow:hover .card-arrow, .card-glow.active .card-arrow { opacity: 1; transform: translateX(0); } /* 인포 섹션 */ .info-section { margin-top: 60px; text-align: center; color: #a0a0a0; } .info-tip { display: inline-block; padding: 15px 30px; background: rgba(255, 255, 255, 0.05); border-radius: 30px; font-size: 0.95rem; border: 1px solid rgba(255, 255, 255, 0.1); } /* 반응형 */ @media (max-width: 1024px) { .main-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } } @media (max-width: 768px) { .container { padding: 20px 15px; padding-top: 0; } .header { margin-bottom: 25px; padding: 15px 15px; margin-left: -15px; margin-right: -15px; } .logo { font-size: 2rem; animation: none; } .subtitle { font-size: 0.8rem; letter-spacing: 2px; margin-top: 10px; } .logo-underline { margin-top: 8px; height: 3px; } .main-grid { grid-template-columns: 1fr; gap: 12px; } .card-glow { height: auto; min-height: 70px; padding: 15px 18px; display: flex; align-items: center; } /* 카드 내부 레이아웃 변경 */ .card-content { width: 100%; height: auto; flex-direction: row; justify-content: flex-start; } .card-content > div:first-child { display: flex; align-items: center; gap: 12px; width: 100%; } /* 화살표 숨기기 */ .card-arrow { display: none; } .card-number { font-size: 1.5rem; flex-shrink: 0; } .card-title { font-size: 1.1rem; flex-shrink: 0; margin-top: 0; } .card-desc { font-size: 0.8rem; margin-left: auto; margin-top: 0; text-align: right; color: rgba(255,255,255,0.5); } /* 배지 숨기기 */ .card-type { display: none; } .card-arrow { font-size: 1.2rem; } .info-tip { font-size: 0.8rem; padding: 10px 15px; } .footer { margin-top: 30px; padding: 20px; } } @media (max-width: 480px) { .header { padding: 12px 15px; } .logo { font-size: 1.8rem; } .subtitle { font-size: 0.75rem; } .card-glow { min-height: 70px; padding: 12px 15px; } .card-number { font-size: 1.3rem; } .card-title { font-size: 1rem; } .card-desc { font-size: 0.75rem; } } /* 로딩 애니메이션 */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .card-glow { animation: fadeIn 0.6s ease-out backwards; } .card-glow:nth-child(1) { animation-delay: 0.1s; } .card-glow:nth-child(2) { animation-delay: 0.15s; } .card-glow:nth-child(3) { animation-delay: 0.2s; } .card-glow:nth-child(4) { animation-delay: 0.25s; } .card-glow:nth-child(5) { animation-delay: 0.3s; } .card-glow:nth-child(6) { animation-delay: 0.35s; } .card-glow:nth-child(7) { animation-delay: 0.4s; } .card-glow:nth-child(8) { animation-delay: 0.45s; } .card-glow:nth-child(9) { animation-delay: 0.5s; } .card-glow:nth-child(10) { animation-delay: 0.55s; } .card-glow:nth-child(11) { animation-delay: 0.6s; } /* 푸터 */ .footer { text-align: center; margin-top: 80px; padding: 30px; color: #666; font-size: 0.9rem; } /style>/head>body> div classbg-gradient>/div> div classcontainer> !-- 헤더 --> div classheader> div classlogo-container> div classlogo data-langlogo>한울축산/div> div classlogo-underline>/div> /div> div classsubtitle>LIVESTOCK MANAGEMENT SYSTEM/div> /div> !-- 메인 그리드 --> div classmain-grid> !-- 카드 0: 통계 & 리포트 --> a href/stats/ classcard-glow> div classcard-content> div> div classcard-number>📊/div> div classcard-title data-langstats>통계 & 리포트/div> div classcard-desc data-langstatsDesc>주간/월간 통계 및 그래프/div> /div> div classcard-type data-langtypeAnalysis>분석/div> /div> span classcard-arrow>→/span> /a> !-- 카드 1: 자돈사 일보 --> a href/jadon/ classcard-glow> div classcard-content> div> div classcard-number>01/div> div classcard-title data-langjadon>자돈사 일보/div> div classcard-desc data-langjadonDesc>일일 관리 기록 입력/div> /div> div classcard-type data-langtypeDaily>일일 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 2: 육성비육사 일보 --> a href/yooksung/ classcard-glow> div classcard-content> div> div classcard-number>02/div> div classcard-title data-langyooksung>육성비육사 일보/div> div classcard-desc data-langyooksungDesc>육성·비육돈 관리/div> /div> div classcard-type data-langtypeDaily>일일 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 3: 종부일지 --> a href/breeding/ classcard-glow> div classcard-content> div> div classcard-number>03/div> div classcard-title data-langbreeding>종부일지/div> div classcard-desc data-langbreedingDesc>종부 기록 및 일정/div> /div> div classcard-type data-langtypeRecord>기록 관리/div> /div> span classcard-arrow>→/span> /a> !-- 카드 4: 임신사 주간일보 --> a href/gestation/ classcard-glow> div classcard-content> div> div classcard-number>04/div> div classcard-title data-langgestation>임신사 주간일보/div> div classcard-desc data-langgestationDesc>주간 관리 현황/div> /div> div classcard-type data-langtypeWeekly>주간 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 5: 분만일지 --> a href/farrowing/ classcard-glow> div classcard-content> div> div classcard-number>05/div> div classcard-title data-langfarrowing>분만일지/div> div classcard-desc data-langfarrowingDesc>분만 기록 입력/div> /div> div classcard-type data-langtypeRecord>기록 관리/div> /div> span classcard-arrow>→/span> /a> !-- 카드 6: 분만사 주간일보 --> a href/nursing/ classcard-glow> div classcard-content> div> div classcard-number>06/div> div classcard-title data-langnursing>분만사 주간일보/div> div classcard-desc data-langnursingDesc>주간 관리 현황/div> /div> div classcard-type data-langtypeWeekly>주간 보고/div> /div> span classcard-arrow>→/span> /a> !-- 카드 7: 이유일지 --> a href/weaning/ classcard-glow> div classcard-content> div> div classcard-number>07/div> div classcard-title data-langweaning>이유일지/div> div classcard-desc data-langweaningDesc>이유 기록 관리/div> /div> div classcard-type data-langtypeRecord>기록 관리/div> /div> span classcard-arrow>→/span> /a> !-- 카드 8: 출하 관리 --> a href/shipment/ classcard-glow> div classcard-content> div> div classcard-number>08/div> div classcard-title data-langshipment>출하 관리/div> div classcard-desc data-langshipmentDesc>출하 내역 및 통계/div> /div> div classcard-type data-langtypeHistory>이력 조회/div> /div> span classcard-arrow>→/span> /a> !-- 카드 9: 일령 관리 --> a href/dayage/ classcard-glow> div classcard-content> div> div classcard-number>📅/div> div classcard-title data-langdayage>일령 관리/div> div classcard-desc data-langdayageDesc>돈방별 일령 현황/div> /div> div classcard-type data-langtypeStatus>현황 조회/div> /div> span classcard-arrow>→/span> /a> !-- 카드 10: 보고서 센터 --> a href/reports/ classcard-glow> div classcard-content> div> div classcard-number>📄/div> div classcard-title data-langreports>보고서 센터/div> div classcard-desc data-langreportsDesc>교배대장, 일지 인쇄/div> /div> div classcard-type data-langtypePrint>인쇄/div> /div> span classcard-arrow>→/span> /a> /div> !-- 인포 섹션 --> div classinfo-section> div classinfo-tip idinfoTip data-langinfoTip> 💡 카드를 클릭하면 이동합니다 /div> /div> !-- 푸터 --> div classfooter data-langfooter> © 2025 한울축산. All rights reserved. /div> /div> script> // 번역 데이터 const translations { ko: { logo: 한울축산, stats: 통계 & 리포트, statsDesc: 주간/월간 통계 및 그래프, jadon: 자돈사 일보, jadonDesc: 일일 관리 기록 입력, yooksung: 육성비육사 일보, yooksungDesc: 육성·비육돈 관리, breeding: 종부일지, breedingDesc: 종부 기록 및 일정, gestation: 임신사 주간일보, gestationDesc: 주간 관리 현황, farrowing: 분만일지, farrowingDesc: 분만 기록 입력, nursing: 분만사 주간일보, nursingDesc: 주간 관리 현황, weaning: 이유일지, weaningDesc: 이유 기록 관리, shipment: 출하 관리, shipmentDesc: 출하 내역 및 통계, dayage: 일령 관리, dayageDesc: 돈방별 일령 현황, reports: 보고서 센터, reportsDesc: 교배대장, 일지 인쇄, typeAnalysis: 분석, typeDaily: 일일 보고, typeWeekly: 주간 보고, typeRecord: 기록 관리, typeHistory: 이력 조회, typeStatus: 현황 조회, typePrint: 인쇄, infoTip: 💡 카드를 클릭하면 이동합니다, infoTipTouch: 💡 터치 → 글로우 ✨ → 다시 터치 → 이동, footer: © 2025 한울축산. All rights reserved. }, np: { logo: हानुल फार्म, stats: तथ्याङ्क र रिपोर्ट, statsDesc: साप्ताहिक/मासिक तथ्याङ्क, jadon: पिगलेट दैनिक, jadonDesc: दैनिक व्यवस्थापन रेकर्ड, yooksung: बढ्दो दैनिक, yooksungDesc: बढ्दो/फिनिशर व्यवस्थापन, breeding: प्रजनन रेकर्ड, breedingDesc: प्रजनन रेकर्ड र तालिका, gestation: गर्भावस्था साप्ताहिक, gestationDesc: साप्ताहिक व्यवस्थापन, farrowing: बिर्सिएको रेकर्ड, farrowingDesc: बिर्सिने रेकर्ड प्रविष्टि, nursing: स्तनपान साप्ताहिक, nursingDesc: साप्ताहिक व्यवस्थापन, weaning: दुध छुटाउने, weaningDesc: दुध छुटाउने रेकर्ड, shipment: शिपमेन्ट, shipmentDesc: शिपमेन्ट इतिहास र तथ्याङ्क, dayage: उमेर व्यवस्थापन, dayageDesc: कोठा अनुसार उमेर स्थिति, reports: रिपोर्ट केन्द्र, reportsDesc: प्रजनन रजिस्टर, जर्नल प्रिन्ट, typeAnalysis: विश्लेषण, typeDaily: दैनिक रिपोर्ट, typeWeekly: साप्ताहिक रिपोर्ट, typeRecord: रेकर्ड व्यवस्थापन, typeHistory: इतिहास, typeStatus: स्थिति, typePrint: प्रिन्ट, infoTip: 💡 कार्डमा क्लिक गर्नुहोस्, infoTipTouch: 💡 टच → ग्लो ✨ → फेरि टच → जानुहोस्, footer: © 2025 हानुल फार्म। सबै अधिकार सुरक्षित। } }; // 전역 언어 가져오기 function getCurrentLang() { return localStorage.getItem(hanulLang) || ko; } let currentLang getCurrentLang(); // 언어 적용 function applyLanguage() { currentLang getCurrentLang(); const t translationscurrentLang; document.querySelectorAll(data-lang).forEach(el > { const key el.getAttribute(data-lang); if (tkey) el.textContent tkey; }); // 터치 디바이스 안내 문구 업데이트 const isTouchDevice (ontouchstart in window) || (navigator.maxTouchPoints > 0); if (isTouchDevice) { document.getElementById(infoTip).textContent t.infoTipTouch; } } // 사이드바에서 호출할 전역 함수 window.applyGlobalLanguage function(lang) { currentLang lang; applyLanguage(); }; // 모바일 터치: 첫 터치 → 글로우, 두번째 터치 → 이동 const cards document.querySelectorAll(.card-glow); let activeCard null; // 터치 디바이스 감지 const isTouchDevice (ontouchstart in window) || (navigator.maxTouchPoints > 0); if (isTouchDevice) { // 안내 문구 변경 const t translationscurrentLang; document.getElementById(infoTip).textContent t.infoTipTouch; cards.forEach(card > { card.addEventListener(click, function(e) { // 이미 활성화된 카드면 이동 허용 if (this.classList.contains(active)) { return; } // 아니면 글로우 활성화 (이동 막기) e.preventDefault(); // 다른 카드 비활성화 if (activeCard && activeCard ! this) { activeCard.classList.remove(active); } // 현재 카드 활성화 this.classList.add(active); activeCard this; }); }); // 카드 외부 터치 시 비활성화 document.addEventListener(click, function(e) { if (!e.target.closest(.card-glow) && activeCard) { activeCard.classList.remove(active); activeCard null; } }); } // 초기 언어 적용 applyLanguage(); // PWA 서비스워커 등록 if (serviceWorker in navigator) { navigator.serviceWorker.register(/service-worker.js) .then(reg > console.log(SW 등록 성공:, reg.scope)) .catch(err > console.log(SW 등록 실패:, err)); } /script> script src/shared/auth.js>/script> script src/shared/sidebar.js>/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]