Files
frontend/apps/dm/app/(landing)/reuse/reuse.module.css
T

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; }