.elementor-2921 .elementor-element.elementor-element-09d13ec{--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;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-2921 .elementor-element.elementor-element-e5c04b4{text-align:center;font-family:"프리텐다드", Sans-serif;font-size:30px;font-weight:400;color:var( --e-global-color-a80e852 );}.elementor-2921 .elementor-element.elementor-element-e5c04b4 p{margin-block-end:0px;}.elementor-2921 .elementor-element.elementor-element-b46ff6d{text-align:center;font-family:"프리텐다드", Sans-serif;font-size:30px;font-weight:700;color:var( --e-global-color-primary );}.elementor-2921 .elementor-element.elementor-element-b46ff6d p{margin-block-end:0px;}.elementor-2921 .elementor-element.elementor-element-b2200a5{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"프리텐다드", Sans-serif;font-size:16px;font-weight:700;color:var( --e-global-color-a80e852 );}.elementor-2921 .elementor-element.elementor-element-b2200a5 p{margin-block-end:0px;}.elementor-2921 .elementor-element.elementor-element-5486880{--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;--margin-top:0px;--margin-bottom:-1px;--margin-left:0px;--margin-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2921 .elementor-element.elementor-element-10c2419{--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;--margin-top:99px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}@media(max-width:767px){.elementor-2921 .elementor-element.elementor-element-e5c04b4{margin:0px 10px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;font-size:28px;line-height:1.1em;}.elementor-2921 .elementor-element.elementor-element-5486880{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2921 .elementor-element.elementor-element-10c2419{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2921 .elementor-element.elementor-element-29ac807{margin:0px 10px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;}}/* Start custom CSS for container, class: .elementor-element-10c2419 *//* wrapper */
.timelineOne .tl{
  position: relative;
  max-width: 980px;
  margin: 0 auto;
}

/* row colors */
.timelineOne .row{ 
  --line:#d9d9d9; 
  --dot:#bdbdbd; 
  --year:#777;
  --month:#111;
  --text:#111;
}
.timelineOne .row.isOn{
  --line:#ff6b00;
  --dot:#ff6b00;
  --year:#ff6b00;
}

/* row layout */
.timelineOne .row{
  position: relative;
  display: flex;
  gap: 30px;
  padding: 0 0 46px;
}

/* year */
.timelineOne .y{
  width: 140px;
  flex: 0 0 140px;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: var(--year);
}

/* =========================================================
   ✅ vertical line (1px 선을 "매끈"하게)
   - transform 제거 (반픽셀 방지)
   - left는 정수 px 유지
   - top: -100px 적용
========================================================= */
.timelineOne .row::before{
  content:"";
  position:absolute;
  left: 160px;            /* year(140) + 20 */
  top: -100px;            /* ✅ 위로 100px */
  bottom: 0;
  width: 1px;             /* ✅ 1px */
  background: var(--line);
  transform: none;        /* ✅ 핵심: 흐릿함 제거 */
}

/* big dot per year */
.timelineOne .row::after{
  content:"";
  position:absolute;
  left: 160px;            /* 라인과 동일 */
  top: 13px;
  width: 14px;
  height: 14px;
  margin-left: -7px;      /* ✅ 가운데 정렬(14/2) */
  border-radius: 50%;
  background: var(--dot);
  transform: none;        /* ✅ 같이 정리 */
}

/* events */
.timelineOne .ev{
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 0px;
  padding-left:40px;     /* ✅ 점과 겹치지 않게 */
}

/* event row */
.timelineOne .r{
  display:flex;
  gap: 8px;
  padding: 5px 0;
  line-height: 1.6;
}

/* month */
.timelineOne .m{
  width: 48px;
  flex: 0 0 48px;
  font-size: 18px;
  font-weight: 800;
  color: var(--month);
}

/* text */
.timelineOne .t{
  font-size: 18px;
  font-weight: 500;
  color: var(--text);
}

/* mobile */
@media (max-width: 767px){
  .timelineOne .row{ gap: 18px; }
  .timelineOne .y{ width: 110px; flex-basis:110px; font-size: 40px; }

  /* 모바일 라인/점 위치도 동일하게 "정수 픽셀"로 */
  .timelineOne .row::before,
  .timelineOne .row::after{ left: 125px; }

  /* 모바일 점 가운데정렬(14/2) */
  .timelineOne .row::after{ margin-left: -7px; }

  .timelineOne .ev{ padding-left: 20px; }
  .timelineOne .m{ width: 42px; flex-basis:42px; font-size: 20px; }
  .timelineOne .t{ font-size: 16px; }
}

/* ✅ 마지막 연도: 점까지만 나오고, 그 아래 선은 끊기 */
.timelineOne .row:last-child::before{
  bottom: calc(100% - 20px); /* 필요하면 18~26px 사이 미세조정 */
}

/* ✅ '다음에 또 isOn이 없는' 마지막 isOn만 선을 짧게 */
.timelineOne .row.isOn:not(:has(+ .row.isOn))::before{
  bottom: -20px;  /* 34~46 사이에서 조절 */
}


/* ✅ '다음에 또 isOn이 없는' 마지막 isOn만 선을 더 내려서 다음 점까지 */
.timelineOne .row.isOn:not(:has(+ .row.isOn))::before{
  bottom: 340px;  /* ✅ 더 내려감: 80~200 사이로 맞추세요 */
}


/* ✅ 주황(isOn) 라인을 다음 점까지 내려주기 */
.timelineOne .row.isOn::before{
  bottom: -240px;   /* 100~220 사이에서 맞추세요 */
}
.timelineOne .row{ overflow: visible; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-Thin.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-ExtraLight.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-Light.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-Regular.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-Medium.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-SemiBold.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-Bold.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-ExtraBold.subset.woff2') format('woff2');
}
@font-face {
	font-family: '프리텐다드';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://ograe.co.kr/wp-content/uploads/2025/12/Pretendard-Black.subset.woff2') format('woff2');
}
/* End Custom Fonts CSS */