.elementor-1032 .elementor-element.elementor-element-71ecee0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1032 .elementor-element.elementor-element-5e723dc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:130px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}body:not(.rtl) .elementor-1032 .elementor-element.elementor-element-b72326d{right:0px;}body.rtl .elementor-1032 .elementor-element.elementor-element-b72326d{left:0px;}.elementor-1032 .elementor-element.elementor-element-b72326d{top:0px;z-index:0;}.elementor-1032 .elementor-element.elementor-element-f5a8bf6{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-raven-heading .raven-heading-title, .elementor-widget-raven-heading .raven-heading-title-inner{color:var( --e-global-color-primary );-webkit-text-fill-color:var( --e-global-color-primary );}.elementor-widget-raven-heading .raven-heading, .elementor-widget-raven-heading .raven-heading a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-1032 .elementor-element.elementor-element-e1e5291 > .elementor-widget-container{margin:0px 0px 10px 0px;padding:0px 0px 0px 0px;}.elementor-1032 .elementor-element.elementor-element-e1e5291 .raven-heading-title, .elementor-1032 .elementor-element.elementor-element-e1e5291 .raven-heading-title-inner{color:#111111;-webkit-text-fill-color:initial;}.elementor-1032 .elementor-element.elementor-element-e1e5291 .raven-heading, .elementor-1032 .elementor-element.elementor-element-e1e5291 .raven-heading a{font-family:"Exo 2", Sans-serif;font-size:45px;font-weight:600;line-height:55px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1032 .elementor-element.elementor-element-865bf78{padding:0px 0px 0px 0px;font-family:"Pretendard", Sans-serif;font-size:17px;font-weight:400;line-height:27px;color:#666666;}.elementor-1032 .elementor-element.elementor-element-865bf78 p{margin-block-end:0px;}.elementor-1032 .elementor-element.elementor-element-4c747cf{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1032 .elementor-element.elementor-element-54add10 > .elementor-widget-container{margin:0px 0px 20px 0px;padding:0px 0px 0px 0px;}.elementor-1032 .elementor-element.elementor-element-54add10 .raven-heading-title, .elementor-1032 .elementor-element.elementor-element-54add10 .raven-heading-title-inner{color:#153860;-webkit-text-fill-color:initial;}.elementor-1032 .elementor-element.elementor-element-54add10 .raven-heading, .elementor-1032 .elementor-element.elementor-element-54add10 .raven-heading a{font-family:"Exo 2", Sans-serif;font-size:30px;font-weight:700;line-height:40px;}.elementor-1032 .elementor-element.elementor-element-218fd47{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;padding:0px 0px 0px 0px;font-family:"Exo 2", Sans-serif;font-size:18px;font-weight:300;line-height:30px;color:#333333;}.elementor-1032 .elementor-element.elementor-element-218fd47 p{margin-block-end:0px;}.elementor-1032 .elementor-element.elementor-element-59c2333{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;font-family:"Exo 2", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#333333;}.elementor-1032 .elementor-element.elementor-element-59c2333 p{margin-block-end:0px;}.elementor-1032 .elementor-element.elementor-element-c60409b{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 60px) 0px;padding:0px 0px 0px 0px;}.elementor-1032 .elementor-element.elementor-element-8b18589{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1500px){.elementor-1032 .elementor-element.elementor-element-5e723dc{--padding-top:130px;--padding-bottom:100px;--padding-left:20px;--padding-right:20px;}.elementor-widget-raven-heading .raven-heading, .elementor-widget-raven-heading .raven-heading a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1300px){.elementor-1032 .elementor-element.elementor-element-5e723dc{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-1032 .elementor-element.elementor-element-f5a8bf6{--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;}.elementor-widget-raven-heading .raven-heading, .elementor-widget-raven-heading .raven-heading a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-1032 .elementor-element.elementor-element-e1e5291 .raven-heading, .elementor-1032 .elementor-element.elementor-element-e1e5291 .raven-heading a{font-size:35px;line-height:40px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1032 .elementor-element.elementor-element-54add10 > .elementor-widget-container{margin:0px 0px 20px 0px;padding:0px 0px 0px 0px;}.elementor-1032 .elementor-element.elementor-element-54add10 .raven-heading, .elementor-1032 .elementor-element.elementor-element-54add10 .raven-heading a{font-size:30px;line-height:40px;}}@media(max-width:776px){.elementor-1032 .elementor-element.elementor-element-5e723dc{--padding-top:70px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-widget-raven-heading .raven-heading, .elementor-widget-raven-heading .raven-heading a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for html, class: .elementor-element-c60409b */.line{
    width: 100%;
    height: 1px;
    border-top: 2px dashed #aaa;
    position: relative;
}

.line::before{
    content: "";
    position: absolute;
    display:  block;
    left: 0;
    top: -2px;
    width :165px;
    height: 2px;
    background: #153860;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-66cc7c3 *//* ==========================================================================
   1. 글로벌 설정 (폰트 및 기본 초기화)
   ========================================================================== */

.history-widget-wrapper {
    max-width: 1300px;
    margin: 0 auto;
    font-family: 'Exo 2', sans-serif; /* 영문 가독성을 위한 폰트 */
    box-sizing: border-box;
}

.history-widget-wrapper * { 
    box-sizing: border-box; 
}

/* ==========================================================================
   2. 탭 메뉴 스타일 (Tab Menu)
   ========================================================================== */
.history-tabs {
    display: flex; 
    gap: 10px; 
    margin-bottom: 30px;
    overflow-x: auto; 
    padding-bottom: 5px;
}
.history-tabs::-webkit-scrollbar { display: none; }

.history-tab-btn {
    background: transparent; 
    border: none; 
    padding: 12px 30px;
    font-size: 16px; 
    font-weight: 600; 
    cursor: pointer;
    border-radius: 25px; 
    transition: 0.3s; 
    color: #666; 
    flex-shrink: 0;
}

/* 탭 활성화 시 색상 - 수정 필요 시 이 부분을 변경하세요 */
.history-tab-btn.active {
    background-color: #003768; 
    color: #fff;
}

/* ==========================================================================
   3. 타임라인 진행선 (Timeline Progress Bar)
   ========================================================================== */
.history-content { display: none; width: 100%; }
.history-content.active { display: block; }

.history-timeline-wrap { 
    padding-top: 100px; 
    position: relative; 
    margin-bottom: 50px; 
}

/* 중앙 가이드 라인 위치 (좌측 컬럼 너비 470px 기준) */
.timeline-line, 
.timeline-line-progress { 
    position: absolute; 
    left: 470px; 
    top: 0; 
    width: 2px; 
}

.timeline-line { 
    bottom: 0; 
    background-color: #e0e0e0; 
    z-index: 1; 
}

/* 스크롤 시 올라오는 파란색 선 */
.timeline-line-progress { 
    background-color: #125a9a; 
    z-index: 2; 
    height: 0%; 
    transition: height 0.1s linear; 
}

/* ==========================================================================
   4. 레이아웃 컬럼 설정 (Left / Right Column)
   ========================================================================== */
.history-year-block { 
    display: flex; 
    position: relative; 
    margin-bottom: 120px; 
    z-index: 3; 
}

/* 좌측: 연도 및 이미지 영역 */
.history-left-col { 
    width: 470px; 
    flex-shrink: 0; 
    position: relative; 
    display: flex; 
    flex-direction: column; 
    align-items: flex-start; 
}

/* 우측: 연혁 텍스트 리스트 영역 */
.history-right-col { 
    flex-grow: 1; 
    padding-left: 50px; 
    padding-top: 10px; 
}

/* ==========================================================================
   5. 텍스트 및 상세 내역 스타일 (Typography & Row)
   ========================================================================== */
.history-row { 
    display: flex; 
    margin-bottom: 25px; 
    align-items: flex-start; 
    width: 100%; 
}

/* 월 숫자: 텍스트가 길어져도 너비 고정 (flex-shrink: 0) */
.h-month { 
    font-weight: 700; 
    color: #333; 
    width: 50px; 
    margin-right: 20px; 
    font-size: 18px; 
    flex-shrink: 0; 
    line-height: 1.4; 
}

/* 연혁 본문 텍스트 */
.h-text { 
    flex: 1; 
    color: #333; 
    font-size: 17px; 
    line-height: 1.6; 
    word-break: keep-all; 
}

/* 강조 태그 ([Registered a patent] 등) */
.tag { 
    color: #003768; 
    font-weight: 700; 
    display: block; 
    margin-bottom: 4px; 
    font-size: 15px; 
}

/* 한 달에 여러 내역이 있을 경우 간격 */
.h-sub-text { 
    display: block; 
    margin-bottom: 8px; 
}

/* ==========================================================================
   6. 장식 요소 및 갤러리 (Deco & Images)
   ========================================================================== */
.history-year-title { 
    font-size: 54px; 
    font-weight: 700; 
    color: #111; 
    margin: 0; 
    line-height: 1; 
    padding-left: 20px; 
}

/* 가로 구분선 */
.year-deco-line { 
    position: absolute; 
    top: 32px; 
    left: 170px; 
    right: 0; 
    height: 1px; 
    background-color: #e0e0e0; 
}

/* 가로선 끝 파란 점 */
.year-deco-line::after {
    content: ''; 
    position: absolute; 
    right: -6px; 
    top: 50%; 
    transform: translateY(-50%);
    width: 10px; 
    height: 10px; 
    border: 2px solid #125a9a; 
    background-color: #fff;
    border-radius: 50%; 
    z-index: 10; 
    box-shadow: 0 0 0 10px rgba(7, 79, 143, 0.1);
}

/* 이미지 갤러리 스타일 */
.history-gallery { 
    display: flex; 
    flex-direction: column; 
    gap: 15px; 
    margin-top: 25px; 
    padding-left: 20px; 
    width: 100%; 
}

.history-gallery img { 
    width: 300px; 
    max-width: 100%; 
    height: auto; 
    border: 1px solid #eee; 
    padding: 5px; 
    background: #fff; 
}

/* ==========================================================================
   7. 반응형 디자인 (Responsive)
   ========================================================================== */
@media screen and (max-width: 991px) {
    .timeline-line, .timeline-line-progress { left: 20px; }
    .history-year-block { flex-direction: column; margin-bottom: 50px; }
    .history-left-col { width: 100%; padding-left: 50px; }
    .history-year-title { font-size: 32px; padding-left: 0; }
    
    .year-deco-line { 
        width: 10px; height: 10px; top: 10px; left: 16px; right: auto; 
        background: transparent; 
    }
    .year-deco-line::after { right: auto; left: 0; top: 0; transform: none; }
    
    .history-gallery { padding-left: 0; margin-top: 15px; }
    .history-gallery img { width: 100%; }
    .history-right-col { padding-left: 50px; padding-top: 20px; }
}/* End custom CSS */
/* Start JX Custom Fonts CSS *//* End JX Custom Fonts CSS */
/* Start JX Custom Fonts CSS */@font-face{font-family:'Pretendard';font-style:normal;font-weight:100;src:url('/fonts/Pretendard-Thin.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:200;src:url('/fonts/Pretendard-ExtraLight.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:300;src:url('/fonts/Pretendard-Light.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:400;src:url('/fonts/Pretendard-Regular.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:500;src:url('/fonts/Pretendard-Medium.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:600;src:url('/fonts/Pretendard-SemiBold.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:700;src:url('/fonts/Pretendard-Bold.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:800;src:url('/fonts/Pretendard-ExtraBold.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:900;src:url('/fonts/Pretendard-Black.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:normal;src:url('/fonts/Pretendard-Regular.subset.woff2')format('woff2');}@font-face{font-family:'Pretendard';font-style:normal;font-weight:bold;src:url('/fonts/Pretendard-Bold.subset.woff2')format('woff2');}/* End JX Custom Fonts CSS */