238 lines
4.7 KiB
CSS
238 lines
4.7 KiB
CSS
/* apps/dm/app/(landing)/reuse/reuse.module.css */
|
|
|
|
.hero {
|
|
position: relative;
|
|
min-height: 100vh;
|
|
overflow: hidden;
|
|
font-family: "NotoSansKR", sans-serif;
|
|
}
|
|
|
|
.heroBg {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: url("/images/landing/hero_bg.jpg") center/cover no-repeat;
|
|
transform: scale(1.02);
|
|
}
|
|
|
|
.heroOverlay {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: rgba(0, 0, 0, 0.50);
|
|
}
|
|
|
|
/* ===== Side Indicator (첨부 이미지 스타일) ===== */
|
|
.sideIndicator {
|
|
position: fixed;
|
|
right: 28px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
z-index: 40;
|
|
|
|
/* 원형 배지 폭만큼만 */
|
|
width: 60px;
|
|
|
|
/* (디자인처럼) 스크롤 영역 위에 뜨되 클릭 가능 */
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* 세로 라인: 연한 하늘색 + 점선(도트) 느낌 */
|
|
.sideIndicatorLine {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: -150px;
|
|
bottom: -150px;
|
|
width: 2px;
|
|
transform: translateX(-50%);
|
|
background: rgba(46, 177, 235, 0.25);
|
|
background-size: 2px 16px;
|
|
background-repeat: repeat-y;
|
|
z-index: -1;
|
|
}
|
|
|
|
/* 리스트는 가운데 정렬로 수직 배치 */
|
|
.sideIndicatorList {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
|
|
gap: 56px; /* 4개 간격(시안에 맞게 조절) */
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.sideIndicatorItem {
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* 공통 버튼 */
|
|
.indicatorBtn {
|
|
border: 0;
|
|
background: transparent;
|
|
padding: 0;
|
|
cursor: pointer;
|
|
position: relative;
|
|
z-index: 2;
|
|
display: grid;
|
|
place-items: center;
|
|
}
|
|
|
|
/* ✅ 기본: 작은 점 */
|
|
.indicatorDot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 999px;
|
|
background: rgba(30, 167, 225, 0.55);
|
|
border: 1px solid rgba(30, 167, 225, 0.7);
|
|
}
|
|
|
|
/* ✅ 활성: 커지는 큰 원(텍스트 포함) */
|
|
.indicatorActive {
|
|
width: 83px;
|
|
height: 83px;
|
|
border-radius: 999px;
|
|
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
|
}
|
|
|
|
/* Main 활성: 흰 배경 + 검정 텍스트 */
|
|
.indicatorMainActive {
|
|
background: #ffffff;
|
|
border: 2px solid rgba(0, 0, 0, 0.15);
|
|
color: rgba(0, 0, 0, 0.75);
|
|
}
|
|
|
|
/* 섹션 활성: 파란 배경 + 흰 텍스트 */
|
|
.indicatorSectionActive {
|
|
background: #1ea7e1;
|
|
border: 2px solid rgba(30, 167, 225, 0.85);
|
|
color: #ffffff;
|
|
/* box-shadow: 0 0 0 8px rgba(30, 167, 225, 0.18); */
|
|
}
|
|
|
|
/* 활성 텍스트 */
|
|
.indicatorText {
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
line-height: 1.1;
|
|
text-align: center;
|
|
padding: 0 8px;
|
|
word-break: keep-all;
|
|
white-space: normal;
|
|
}
|
|
|
|
/* 공통 원형 버튼 */
|
|
.sideIndicatorDot {
|
|
width: 58px;
|
|
height: 58px;
|
|
border-radius: 999px;
|
|
|
|
display: grid;
|
|
place-items: center;
|
|
|
|
cursor: pointer;
|
|
user-select: none;
|
|
|
|
transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease,
|
|
border-color 0.15s ease;
|
|
|
|
/* 라인 위로 올라오게 */
|
|
position: relative;
|
|
z-index: 1;
|
|
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.sideIndicatorDotText {
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
line-height: 1.1;
|
|
text-align: center;
|
|
padding: 0 8px;
|
|
|
|
/* 긴 텍스트도 배지 안에서 줄바꿈 가능 */
|
|
word-break: keep-all;
|
|
white-space: normal;
|
|
}
|
|
|
|
/* Main: 흰색 원형 + 회색 텍스트 */
|
|
.sideIndicatorDotMain {
|
|
background: #ffffff;
|
|
border: 2px solid rgba(0, 0, 0, 0.15);
|
|
color: rgba(0, 0, 0, 0.65);
|
|
}
|
|
|
|
/* 섹션: 파란 원형 + 흰색 텍스트 */
|
|
.sideIndicatorDotSection {
|
|
background: #1ea7e1;
|
|
border: 2px solid rgba(30, 167, 225, 0.85);
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* 활성 섹션: 더 진한 파랑 + 살짝 글로우 */
|
|
.sideIndicatorDotActive {
|
|
transform: scale(1.02);
|
|
box-shadow: 0 0 0 8px rgba(30, 167, 225, 0.18);
|
|
}
|
|
|
|
/* hover 효과(이미지 느낌으로 아주 약하게만) */
|
|
.sideIndicatorDot:hover {
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
/* 반응형: 모바일에서는 숨김(원하시면 제거) */
|
|
@media (max-width: 768px) {
|
|
.sideIndicator {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* 중앙 배지 */
|
|
.sideIndicatorBadge {
|
|
width: 58px;
|
|
height: 58px;
|
|
border-radius: 999px;
|
|
display: grid;
|
|
place-items: center;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
text-align: center;
|
|
z-index: 1;
|
|
}
|
|
|
|
/* Main 배지 */
|
|
.badgeMain {
|
|
background: #fff;
|
|
border: 2px solid rgba(0,0,0,.15);
|
|
color: rgba(0,0,0,.65);
|
|
}
|
|
|
|
/* Section 배지 */
|
|
.badgeSection {
|
|
background: #1ea7e1;
|
|
border: 2px solid rgba(30, 167, 225, 0.85);
|
|
color: #fff;
|
|
box-shadow: 0 0 0 8px rgba(30, 167, 225, 0.18);
|
|
}
|
|
|
|
/* 작은 점 */
|
|
.sideIndicatorDotSmall {
|
|
width: 7px;
|
|
height: 7px;
|
|
border-radius: 999px;
|
|
background: rgba(30,167,225,.6);
|
|
}
|
|
|
|
/* 점 그룹 */
|
|
.sideIndicatorDotsTop,
|
|
.sideIndicatorDotsBottom {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 18px;
|
|
}
|
|
|
|
.sideIndicatorDotsTop { margin-bottom: 18px; }
|
|
.sideIndicatorDotsBottom { margin-top: 22px; } |