*{box-sizing:border-box;}

body {
	background-color: #040716;
	overflow: auto;
	max-width: 800px;
	width: 100%;
	height: 100%;
	margin:0 auto;
}

.swiper-container {
	width: 100%;
	max-width: 800px;
	
}

.swiper-slide {
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;

}

.rslides {
	position: relative;
	list-style: none;
	overflow: hidden;
	width: 100%;
	padding: 0;
	margin: 0;
}

.rslides li {
	-webkit-backface-visibility: hidden;
	position: absolute;
	display: none;
	width: 100%;
	left: 0;
	top: 0;
}

.rslides li:first-child {
	position: relative;
	display: block;
	float: left;
}

.rslides img {
	display: block;
	height: auto;
	float: left;
	width: 100%;
	border: 0;
}

ul {
	width: 100%;
	list-style: none;
	padding: 0;
	margin: 0;
}


.imagemap {
	position: relative;
	width: 100%;
}

img {
	display: block;
	width: 100%;
}

video {
	display: block;
	width: 100%;
	border: 0;
}


.link01 {    
	position: absolute;
	top: 45.1%;
	left: 50%;
	width: 30%;
	height: 4%;
	transform: translateX(-50%);
	background:#FFF;
	color:#589ed9;
	border: 3px solid #589ed9;
	border-radius:999px;
	font-size:30px;
	display: flex;
	align-items: center;    /* 세로 중앙 */
	justify-content: center; /* 가로 중앙 */
	text-align: center;
}

.link02 {    
	position: absolute;
	top: 53.1%;
	left: 50%;
	width: 30%;
	height: 4%;
	transform: translateX(-50%);
	background:#FFF;
	color:#589ed9;
	border: 3px solid #589ed9;
	border-radius:999px;
	font-size:30px;
	display: flex;
	align-items: center;    /* 세로 중앙 */
	justify-content: center; /* 가로 중앙 */
	text-align: center;
}


.link-eng {    
	position: absolute;
    top: 69%;
    left: 51%;
    width: 39.5%;
    height: 4.5%;
    z-index: 200;
}

.link-kor {    
    position: absolute;
    top: 69%;
    left: 9%;
    width: 39.5%;
    height: 4.5%;
    z-index: 200;
}

.program {    
    position: absolute;
    top: 8%;
    left: 50%;
	transform: translateX(-50%);
    width: 39.5%;
    height: 4.5%;
    z-index: 200;
}

.textposition {
	position: absolute;
	top: 21%;
	left: 50%;
	transform: translateX(-50%);
	font-weight: 700;
}

.goright {    
    position: absolute;
    top: 88.52%;
    left: 64%;
    width: 31%;
    height: 5.1%;
    cursor: pointer;
}

.goleft {    
	position: absolute;
    top: 88.52%;
    left: 5%;
    width: 31%;
    height: 5.1%;
    cursor: pointer;
}


@media (min-width: 800px) {
	.textposition {
		font-size: 22px;
	}
}

@media (max-width: 800px) {
	.textposition {
		font-size: 0.85rem;
	}
}

.kakaomap {
	position: absolute;
    top: 57.7%;
    left: 50%;
    transform: translateX(-50%);
    width: 72%;
    height: 23.55%;
    margin: 0 auto;
}

button {
	padding: 10px 20px 10px 20px;
	text-align: center;
	margin: 0 auto;
	background: #000;
	color: #fff;
	border: none;
	border-right: 0px;
	border-top: 0px;
	border-left: 0px;
	border-bottom: 0px;
}

#musicb {
	position: fixed;
	text-align: center;
	padding: 2px 2px 2px 2px;
	top: 5px;
	left: 5px;
	z-index: 10000;
	font-size: 10px;
	background: skyblue;
}


video {
	width: 100%;
	height: auto;
}

.videoxy {
    position: absolute;
    top: 69.6%;
    left: 50%;
    transform: translateX(-50%);
    width: 83%;
    height: auto;
}

.popup-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 20;
	opacity: 1;
	transition: opacity 2s ease-in-out;
}

.popup-content {
	max-width: 90%;
	max-height: 90%;
}

.popup-content img {
	display: block;
	width: 100%;
	max-height: 100%;
	margin: 0 auto;
	max-width: 800px;
}


.scrolldown {
	position: fixed;
	bottom: 0%;
	width: 100%;
	z-index: 1000;
	max-width: 800px;
	margin: 0 auto;
	display: none;
}

.scrollani {
	animation: scroll-move 1.5s infinite linear;
}

@keyframes scroll-move {

	0%,
	100% {
		transform: translate(0%, -50%);
	}

	50% {
		transform: translate(0%, -60%);
	}
}


.popup2 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 20;
}

.popup2-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width:910px;
  background-color: white;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 20;
}

.popup2-content img {
  width: 100%;
  height: auto;
  z-index: 20;
}

.popup2-close {
    position: absolute;
    top: -1%;
    right: 2%;
    font-size: 30px;
    font-weight: bold;
    color: #333;
    cursor: pointer;
    z-index: 22;
}

.popup2-close:hover {
  color: #999;
}

.splash{position:absolute;margin:0 auto; z-index:100;top:0px;}

#obj01 {
    right: -100%;  /* push it off the right side of the screen */
    transition: right 1s ease-in-out; /* set transition effect */
}

#obj02 {
    display: none;  /* hide it initially */
}

#obj03 {
    display: none;  /* hide it initially */
}


form {
	margin-top: 6px;
	font-size: 15px;
}

input {
	border-bottom:1px solid #EAEAEA;
	border-top: none;
    border-left: none;
    border-right: none;
	font-size: 3.2vw;
	}
@media(min-width:520px){
input {
	border-bottom: none;
	border-top: none;
    border-left: none;
    border-right: none;
	font-size: 18px;
	}
}


.inputcontain input#dname{
	position: absolute;
    top: 21.2%;
    left: 39%;
    width: 48%;
    height: 2.3%;
    color: #000;
    background: none;
    font-weight: 500;
    padding-left: 10px;
    z-index: 500;
	}

.inputcontain input#hp {
    position: absolute;
    top: 31.6%;
    left: 39%;
    width: 48%;
    height: 2.3%;
    color: #000;
    background: none;
    font-weight: 500;
    padding-left: 10px;
    z-index: 500;
}

.inputcontain input#company {
	position: absolute;
    top: 26.4%;
    left: 39%;
    width: 48%;
    height: 2.3%;
    color: #000;
    background: none;
    font-weight: 500;
    padding-left: 10px;
    z-index: 500;
}

.inputcontain input#peoples {
    position: absolute;
    top: 36.9%;
    left: 39%;
    width: 48%;
    height: 2.3%;
    color: #000;
    background: none;
    font-weight: 500;
    padding-left: 10px;
    z-index: 500;
}

.inputcontain input#request {
    position: absolute;
    top: 42.1%;
    left: 39%;
    width: 48%;
    height: 2.3%;
    color: #000;
    background: none;
    font-weight: 500;
    padding-left: 10px;
    z-index: 500;
}

input[id="ok_01"] {
    position: absolute;
    display: inline-block;
    top: 75%;
    left: 60.5%;
    width: 4%;
    height: 1.8%;
    border: 1px solid #000;
    cursor: pointer;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
}

input[id="ok_01"]:checked {
	position: absolute;
	display: inline-block;
    top: 75%;
    left: 60.5%;
    width: 4%;
    height: 1.8%;
	background-image: url('../images/checker-on.svg');
}

#ok_label {
	position: absolute;
    top: 74.2%;
    left: 59.5%;
    width: 25%;
    height: 3.8%;
}

.confirm_btn {
    position: absolute;
    top: 79.8%;
    left: 12%;
    height: 7.3%;
    width: 76%;
	cursor:pointer;
}

.rsvp {
	opacity: 0;
	animation: fadeLoop 3s ease-in-out infinite;
}

		/* 탭 바 래퍼 */
		.tabbar {
			display:flex;
			justify-content:center;
			align-items:center;
			gap:32px;
			padding:10px 16px;
		}

		/* 탭 버튼 (div 사용) */
		.tab {
			min-width:45%;
			padding:10px 15px;
			background:#fff;
			color:#4f9bd8;
			font-weight:800;
			font-size:16px;
			text-align:center;
			cursor:pointer;
			user-select:none;
			border-radius:4px;
			/* 이미지처럼 파란 외곽선 느낌 */
			border:3px solid #5aa2d9;
			box-shadow:0 0 0 3px rgba(90,162,217,.35);
			transition:background .25s ease, color .25s ease, transform .12s ease;
		}
		
		#program .tab {min-width:25%}
		.tab:active { transform:scale(.98); }

		/* 활성화: 색상 반전 */
		.tab.is-active {
			background:#4f9bd8;
			color:#ffffff;
			border-color:#4f9bd8;
			box-shadow:0 0 0 3px rgba(79,155,216,.55);
		}

		/* 탭 패널 영역 */
		.tab-panels {
			max-width:100%;
			margin:20px auto;
			background:#0e1238;
		}

		/* 개별 패널 */
		.tab-panel {
			display:none;
			animation:fadeIn .35s ease;
		}
		.tab-panel.is-active { display:block; }

		/* 패널 안 카드 스타일(예시) */
		.card {
			background:#ffffff;
			color:#0f2240;
			border-radius:10px;
			padding:24px;
			border:1px solid #e6eef6;
			box-shadow:0 4px 14px rgba(0,0,0,.08);
		}
		.card h3 { margin:0 0 10px; font-size:22px; color:#0f2240; }
		.card p { margin:0; line-height:1.7; color:#2a3f57; }

		/* 모바일 */
		@media (max-width: 768px){
			.tabbar { gap:12px; padding:6px 12px; flex-wrap:wrap; }
			.tab { min-width:unset; width:48%; max-width:460px; font-size:13px; }
			.tab-panels {}
		}

		@keyframes fadeIn {
			from { opacity:0; transform:translateY(6px); }
			to { opacity:1; transform:translateY(0); }
		}

@keyframes fadeLoop {
	0%   { opacity: 0; }
	50%  { opacity: 1; }
	100% { opacity: 0; }
}

@media(max-width:600px){
	.link01, .link02 {font-size:18px;}
}

.root_daum_roughmap .cont { display:none }