Files
dnssash/theme/rd.dnssash/rb.custom/pns_visual_borad/module.css
T
2026-06-11 18:47:38 +09:00

148 lines
3.7 KiB
CSS

/* pns_visual_borad module style */
/* 💡 [수정] 슬라이더 크기를 이미지 원본 크기(1240x750)에 맞춤 */
.pns-visual-slider {
width: 100%;
max-width: 1240px; /* 최대 너비 제한 */
height: 750px; /* 높이 고정 (PC 기준) */
margin: 0 auto; /* 중앙 정렬 */
position: relative;
overflow: hidden;
background: #000;
}
/* 💡 [수정] 이미지를 꽉 채우되(cover), 컨테이너가 이미지 비율과 같으므로 잘리지 않음 */
.visual-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: 100% 100% ;
background-position: center;
background-repeat: no-repeat;
/*transition: transform 7s;*/
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
-ms-interpolation-mode: bicubic;
}
.swiper-slide-active .visual-bg { transform: scale(1.1); } /* 미세한 줌 효과 */
/* 오버레이 제거 (투명) */
.visual-bg::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0);
pointer-events: none;
}
.visual-content { position: relative; z-index: 10; height: 100%; display: flex; flex-direction: column; justify-content: center; color: #fff; padding: 0 10%; }
.visual-title { font-size: 3.5rem; font-weight: 800; line-height: 1.2; margin-bottom: 20px; word-break: keep-all; text-shadow: 2px 2px 10px rgba(0,0,0,0.5); }
.visual-desc { font-size: 1.3rem; line-height: 1.6; margin-bottom: 40px; font-weight: 300; opacity: 0.9; text-shadow: 1px 1px 5px rgba(0,0,0,0.5); }
.visual-btn { display: inline-block; padding: 15px 45px; border: 2px solid #fff; color: #fff; text-decoration: none; font-size: 1rem; transition: 0.3s; width: fit-content; cursor: pointer; }
.visual-btn:hover { background: #fff; color: #000; }
/* 라이트박스 스타일 */
.image-lightbox {
display: none;
position: fixed;
z-index: 9999;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.85);
justify-content: center;
align-items: center;
animation: fadeIn 0.3s;
flex-direction: column;
}
.lightbox-content {
max-width: 90%;
max-height: 80%;
object-fit: contain;
animation: zoomIn 0.3s;
cursor: pointer;
}
.lightbox-close {
position: absolute;
top: 20px;
right: 40px;
color: #fff;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
cursor: pointer;
z-index: 10001;
}
.lightbox-close:hover {
color: #bbb;
}
/* 라이트박스 내 바로가기 버튼 스타일 */
.lightbox-link-btn {
display: none;
margin-top: 20px;
padding: 12px 30px;
background-color: #009fe3;
color: #fff;
text-decoration: none;
font-size: 16px;
font-weight: bold;
border-radius: 5px;
transition: background-color 0.3s;
z-index: 10001;
}
.lightbox-link-btn:hover {
background-color: #007bb5;
}
/* Swiper 네비게이션 버튼 스타일 */
.swiper-button-next, .swiper-button-prev {
color: #fff !important;
text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.swiper-pagination-bullet {
background: #fff !important;
opacity: 0.5;
}
.swiper-pagination-bullet-active {
opacity: 1;
background: #009fe3 !important;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes zoomIn {
from { transform: scale(0.8); }
to { transform: scale(1); }
}
/* 💡 [수정] 모바일 반응형 처리 (비율 유지) */
@media (max-width: 1240px) {
.pns-visual-slider {
height: auto;
aspect-ratio: 1240 / 750; /* 비율 유지 */
}
}
@media (max-width: 768px) {
.visual-title { font-size: 2rem; }
.visual-desc { font-size: 1rem; }
}