#wrapper > .cy-container{ padding:0px; max-width:100%;}
#wrapper .cy-container{ min-height:auto; }
.cy-container{ max-width:100%; }

.footer{margin-top:0px;}

/* 오른쪽에서 나타나는 효과 */
.slide-in-right {
  opacity: 0; /* 초기에는 보이지 않게 설정 */
  transform: translateX(100%); /* 오른쪽 화면 밖으로 이동 */
  animation: slideInRight 1.5s forwards; /* slideInRight 키프레임 애니메이션 적용 */
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100%); /* 오른쪽 화면 밖에서 시작 */
  }
  to {
    opacity: 1;
    transform: translateX(0); /* 원래 위치로 이동 */
  }
}


.main1{padding-right:calc(50% + 0px);  position:relative; border-top:solid 1px transparent; top:-1px;  }
.main1 .cy-container{display:flex; flex-direction:column; justify-content: space-between; min-height:800px !important; height:calc(100vh - 80px); position:static !important;}
.main1 .bg{ display:inline-block; height:100%; width:50%; position:absolute; right:0px !important; top:0px; background:url('/img/main/main1.jpg') no-repeat right center; background-size:cover; opacity: 0; /* 처음에는 숨김 */
    transition: opacity 1s ease-out, transform 1s ease-out; /* 부드러운 전환 효과 */
    will-change: opacity, transform; /* 애니메이션 성능 최적화 */ }
.main1 h2{ margin-top:40px; font-size:3rem; color:#111; text-transform: uppercase; animation-delay:0.5s;}
.main1 h2 b{font-size:8.5rem; display:block; line-height:0.8em;}

.news h3{color:#a5a5a5; font-size:2.4rem; position:relative; font-weight:900;}
.news h3 a{ position:absolute; right:0px; bottom:5px; color:#a5a5a5; font-size:18px; font-weight:600;}
.news h3 a:hover{color:#111}
.news h3 a:hover img{filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(120%) contrast(80%); }
.news div{padding:20px 0px; border-bottom:solid 1px #bbb; display:flex; gap:30px; align-items: center;  }
.news div img{width:120px; height:auto; border-radius:10px}
.news div p{color:#000; font-size:1.1rem; font-weight:bold;}
.news div span{display:block; color:#555; margin-top:3px; font-size:0.9rem; font-weight:300;}

@media (max-width: 1439px) {
	.main1{padding-right:calc(100% - 700px);  }
	.main1 .bg{width:calc(100% - 700px);}
}
@media (max-width: 1280px) {
	.main1{padding-right:calc(100% - 550px);  }
	.main1 .bg{width:calc(100% - 550px);}
	.main1 h2{ font-size:2.4rem;  }
	.main1 h2 b{font-size:7.7rem;}
}
@media (max-width: 867px) {
	.main1{padding:30px 0px calc(100vh + 25px) 0px}
	.main1 .cy-container{height:auto; min-height:auto !important }
	.main1 .bg{ height:100vh; width:100%; top:auto; bottom:0px; background:url('/img/main/mo_main1.jpg') no-repeat center center; background-size:cover;}
	.main1 h2 b{font-size:8rem;}
	.main1 h2 b br{display:none;}
	.main1 h2 b{}
	.news{margin-top:120px;}
}
@media (max-width: 559px) {
	.main1 h2{ font-size:2.13rem;  }
	.main1 h2 b{font-size:7rem;}
	.news{margin-top:90px;}
	.news h3{font-size:2rem; }
	.news h3 a{  font-size:1.1rem;}
	.news div{gap:15px; }
	.news div img{width:80px; }
}
@media (max-width: 479px) {
	.main1 h2{ font-size:1.9rem;  }
	.main1 h2 b{font-size:6.2rem;}
}
@media (max-width: 389px) {
	.main1 h2{ font-size:1.6rem;  }
	.main1 h2 b{font-size:5.2rem; margin-top:5px;}
}


.main2{padding:100px 0px 70px 0px; height:auto;}
.main2 .relative{position:relative; margin:0px;}
.main2 h3{text-align:Center; font-size:3.7em; color:#000; text-transform: uppercase; font-weight:700; margin-bottom:55px; }
.main2 h3 a{  color:#a5a5a5; font-size:18px; font-weight:600;}
.main2 h3 a:hover{color:#111}
.main2 h3 a:hover img{filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(120%) contrast(80%); }

.profile-daepyo { text-align: center; display: block; width: 100%;  margin-top: 30px; }
.profile-daepyo h2 { }
.admin-notice { display: block; animation: pulse 2s infinite; margin-top:5px;}

/* 컨테이너 및 앨범 카드 기본 스타일 */
.albumGrid { padding-bottom: 100px; max-width: 1600px; margin: 0px auto 0px auto; }
.album-card { text-align: center; padding: 13px; box-sizing: border-box; }
.album-card .album-thumb { width: 100%; height: auto;  margin: 0 auto 10px auto;  cursor: pointer; display: flex; align-items: center; justify-content: center;}
.album-card .album-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 30px; transition: all 0.1s ease-in-out; }
.album-card .album-thumb img:hover{scale:1.1;}
.album-card .album-info { cursor: pointer; padding: 5px 0; }
.album-card .album-title { font-size: 16px; font-weight: bold; color: #333; margin-bottom: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 300px; margin-left: auto; margin-right: auto; }
.album-card .album-meta { font-size: 14px; color: #666; }

.main2 .prev_next{position:absolute; left:calc( (100% - 550px) / 2 + 550px + 20px); bottom:4px;  width:92px;}
.main2 .prev_next a{display:inline-block; }
.main2 .prev_next a img{width:40px; height:auto;}
.main2 .prev_next a:first-child{margin-right:10px;}
/* Slick Carousel 화살표 및 점 스타일 (선택 사항) */

.slick-dots{display:table !important; height:2px !important; overflow:hidden !important; max-width:550px; margin:40px auto 0px auto !important; position:absolute !important; bottom:22px !important; right:auto !important; left:calc( (100% - 550px) /2) !important;}
.slick-dots li{display:table-cell !important; height:2px !important; width:auto !important; margin:0px !important;font-size:0px;}
.slick-dots li{background-color:#ddd; border-top:solid 1px #fff;}
.slick-dots li.slick-active{background-color:#000;}
.slick-dots li button{display:none !important;}
.slick-dots li button:before { display:none;}
.slick-custom-next{position:absolute; }

@media (max-width: 1279px) {
	.main2 h3{ font-size:3.5rem;  }
}
@media (max-width: 860px) {
	.albumGrid { padding-bottom: 5vh; }
	.slick-dots{left:0px !important; width:calc(100% - 110px - 30px); max-width:calc(100% - 110px - 30px); left:30px !important; }
	.main2 .prev_next{left:auto !important; right:0px !important;}
}
@media (max-width: 639px) {
	.main2{position:relative; padding-bottom:150px}
	.main2 h3{ font-size:2.5rem; margin-bottom:35px; }
	.main2 h3 a{position:absolute; bottom:80px; left:50%; transform:translate(-50%,-50%); display: inline-block; font-size:1rem;
    padding: 10px 40px;
    text-align: Center;
    color: #fff;
    background-color: #4c4c4c;
    border-radius: 25px;}

	.main2 h3 a img{display:none;}
	.main2 h3 a:hover{background-color:#111; color:#fff;}
}

@media (max-width: 479px) {
	.main2 h3{ font-size:2.5rem; }
}
@media (max-width: 359px) {
	.main2 h3{ font-size:2.2rem; }
}


.main3{background-color:#000; padding:130px 50% 200px 120px; position:relative;  min-height:650px;}
.main3:after{content:''; display:inline-block; height:100%; width:50%; position:absolute; z-index:0; right:0px; top:0px; background:url('/img/main/main3.jpg') no-repeat center center; background-size:cover;}

.main3 h3{font-size:4.0rem; color:#fff; position:relative; z-index:1;}
.main3 p{color:#fff; font-size:17px; line-height:1.5em; word-break:keep-all; white-space:pre-line; position:relative; z-index:1; }
.main3 a{display:inline-block; padding:10px 40px; text-align:Center; color:#fff; background-color:#4c4c4c; border-radius:25px; margin-top:50px; position:relative; z-index:1;} 

@media (max-width: 1279px) {
	.main3{ padding:100px calc(100% - 600px) 150px 0px; min-height:auto;   }
	.main3:after{width:500px; }
	.main3 h3{ font-size:3.8rem;  }

}
@media (max-width: 860px) {
	.main3{ padding:100px 0px 500px 0px;  text-align:center !important; }
	.main3 .cy-container{text-align:center;}
	.main3:after{width:100%; height:600px; background:url('/img/main/main3.jpg') no-repeat center bottom; background-size:auto 100%; top:auto; bottom:0px;}
	.main3 h3 {text-align:center !important; }
	.main3 p {text-align:justify !important; max-width:500px; margin:20px auto 0px auto; }
	.main3 p br{display:none;}
	.main3 a{margin:50px auto; }
}	
@media (max-width: 479px) {
	.main3 p{white-space:normal; word-break:keep-all; padding:0px 10px;}
}

/*
@media (max-width: 639px) {
	.main3 h3{ font-size:3.5rem; margin-bottom:35px;}
}
@media (max-width: 479px) {
	.main3 h3{ font-size:3rem; }
}
@media (max-width: 359px) {
	.main3 h3{ font-size:2.7rem; }
}
*/