:root {
	/* Palette */
	/* deep-seaweed: #0B1714 */
	--deep-seaweed--l: 19.21%;
	--deep-seaweed--c: 0.018;
	--deep-seaweed--h: 176.73;
	--deep-seaweed: var(--deep-seaweed--l) var(--deep-seaweed--c)
		var(--deep-seaweed--h);

	/* darker-seaweed: #172526 */
	--darker-seaweed--l: 25.22%;
	--darker-seaweed--c: 0.019;
	--darker-seaweed--h: 201.61;
	--darker-seaweed: var(--darker-seaweed--l) var(--darker-seaweed--c)
		var(--darker-seaweed--h);

	/* oatmeal: #D0BEAD */
	--oatmeal--l: 81.19%;
	--oatmeal--c: 0.031;
	--oatmeal--h: 65.75;
	--oatmeal: var(--oatmeal--l) var(--oatmeal--c) var(--oatmeal--h);

	/* Palette Settings	*/
	--primary--darkest: var(--deep-seaweed);
	--primary--darker: var(--darker-seaweed);
	--secondary: var(--oatmeal);

	/* Type Settings */
	--mono: "IBM Plex Mono", monospace;
	--sans: "IBM Plex Sans", sans-serif;

	/* Content Settings */
	--container--block-padding: 3.25rem;
	--container--inline-padding: min(360px, 4dvw);

	/* Grid Settings */
	/* https://css-tricks.com/an-auto-filling-css-grid-with-max-columns + a flexible min-width */
	--grid-column-count: 4;

	--grid-gap: 12px;
	--grid-gap-count: calc(var(--grid-column-count) - 1);
	--total-gap-width: calc(var(--grid-gap-count) * var(--grid-gap));

	--grid-item--min-width--constraint: 300px;
	--grid-item--max-width--constraint: 480px;
	--grid-item--min-width: min(100%, var(--grid-item--min-width--constraint));
	--grid-item--max-width: calc(
		(100% - var(--total-gap-width)) / var(--grid-column-count)
	);

	--grid-item--bg: oklch(var(--primary--darker));
	--grid-item--color: oklch(var(--secondary));
}

/* 메인상단 콘텐츠 별도 */

/* 기본 헤더 스타일 */
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;   
    background-color: rgba(0, 0, 0, 0); /* 초기 배경 흰색 */
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 기본 그림자 */
	z-index: 5000;
}

/* 스크롤 후 배경이 변할 때 */
#header.scrolled {
    background-color: rgba(0, 0, 0, 0.5); /* 블랙 50% */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); /* 그림자 강조 */
}

/* 로고 색상 변경 */
#header .menu img {
    transition: filter 0.3s ease; /* 부드러운 필터 전환 */
}

#header.scrolled .menu img {
    filter: brightness(0) invert(1); /* 어두운 배경에서는 로고를 반전시켜 흰색으로 보이게 */
}


.hero-box5 {
    position: relative;
    margin-top: 3.2vw;
    width: 100%;
    height: 50vw;
    background-image: url('./img/top_bg.png'); /* 이미지 경로 확인 */
    background-size: cover;
    background-color: rgba(0, 0, 0, 0.65); /* 배경 투명도 조정 */
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    padding: 2%;
    box-sizing: border-box;
    border-radius: 20px;
    z-index: 4900;
    animation: fallIntoPlace 1.8s ease-out forwards;
}


/* 애니메이션 정의 */
@keyframes fallIntoPlace {
    0% {
        transform: translateY(-100vh); /* 화면 위에서 시작 */
        opacity: 0; /* 처음에는 투명 */
    }
    50% {
        transform: translateY(20px); /* 조금 떨어진 위치 */
        opacity: 0.8; /* 약간 불투명 */
    }
    100% {
        transform: translateY(0); /* 원래 위치로 돌아옴 */
        opacity: 1; /* 완전히 불투명 */
    }
}


/* Mobile Devices */
@media only screen and (max-width: 767px) {
     
    :root {
		/* Palette */
	/* deep-seaweed (밝은 파란색 계열) */
	--deep-seaweed--l: 30%; /* 명도 조정 */
	--deep-seaweed--c: 0.2; /* 채도 조정 */
	--deep-seaweed--h: 210; /* 파란색 계열로 변경 */
	--deep-seaweed: var(--deep-seaweed--l) var(--deep-seaweed--c) var(--deep-seaweed--h);
	
	/* darker-seaweed (어두운 파란색 계열) */
	--darker-seaweed--l: 30%; /* 명도 조정 */
	--darker-seaweed--c: 0.024; /* 채도 조정 */
	--darker-seaweed--h: 220; /* 파란색 계열로 변경 */
	--darker-seaweed: var(--darker-seaweed--l) var(--darker-seaweed--c) var(--darker-seaweed--h);
	
	--grid-item--bg: oklch(var(--primary--darker));
	--grid-item--color: oklch(var(--secondary));

	}

	html {
		padding-top: 0px;
	}		

    .hero-box5 {
		
		height: auto; /* 세로 높이를 자동으로 조정 */
		flex-direction: column; /* 세로로 배치 */
		justify-content: flex-start; /* 세로 방향에서 상단 정렬 */
		background-image: linear-gradient(45deg, rgba(17, 188, 207, 0.7), rgba(255, 0, 150, 0.7)); /* 초기 그라데이션 색상 */
		background-size: 400% 400%; /* 배경 크기를 크게 설정하여 애니메이션 효과 강화 */
		animation: gradientAnimation 3s ease infinite; /* 애니메이션 적용 */
		margin-top: 3.2vw; /* 화면 너비의 2%에 해당하는 여백 */
		margin-bottom: 5vh;
	}
	
	/* 애니메이션 설정 */
	@keyframes gradientAnimation {
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	

	.text-overlay5 h5 {
		margin: 3vw 0 8vw 0;	
		transition: background-color 0.3s ease, box-shadow 0.3s ease;
        box-shadow: none; /* 기본 그림자 */
		
	}

    .image-row5 {
		display: flex;
		flex-wrap: wrap; /* 줄바꿈 허용 */
		justify-content: center; /* 가운데 정렬 */
		gap: 2.0vw; /* 이미지 간의 간격 */
		width: 100%;
	}
	
	.image-row5 a {
		display: inline-block;
		flex-basis: calc((100% - 2.2vw * 2) / 3); /* 가로 3개 배치 */
		max-width: calc((100% - 2.2vw * 2) / 3); /* 최대 너비 제한 */
		margin-top: 0vw; /* 줄 간격 */
		text-align: center; /* 필요한 경우 텍스트 정렬 */
	}
	
	.image-row5 img {
		margin-top: 4.5vw;
		margin-bottom: 2vw;	
		width: 100%; /* 링크의 너비에 맞춰 이미지 크기 조정 */
		height: auto; /* 이미지 비율 유지 */
		object-fit: contain; /* 비율 유지하며 내용 표시 */
		border-radius: 5px; /* 모서리 둥글게 */
		opacity: 0; /* 초기 상태 투명 */
		transform: translateY(30px); /* 초기 상태 아래 위치 */
		animation: fadeInUp 2.5s ease-out forwards; /* 애니메이션 설정 */
		transition: opacity 0.3s ease, transform 0.3s ease; /* 전환 효과 */
	}
	

    .text-overlay5 p5, .text-container, .text-container p, button7 {
		display: none;
	}
	
		
	button7:hover {
        background-color: transparent; /* hover 효과 제거 */
    }

	/* chapter적용 */
	.chapter1, .chapter2, .chapter3, .chapter4 {
		border-radius: 0px; /* 이미지의 모서리를 10px로 라운드 처리 */
		bottom : 0;
		box-shadow: none;
		border-radius: 0px;
		background-color: rgba(0, 94, 255, 0.3);
		color: #ffffff;
		padding: 20px;
		z-index: 1;
		max-width: 1920px;
		margin: 0 auto;
		position: relative;
		top: 20px;	
		text-align: left;
		font-size: clamp(0.8rem, 2vw, 2.8rem); /* 최소 1rem, 최대 3rem, 뷰포트 너비의 2% */
		text-shadow: none; /* 텍스트 가독성 향상 */
	
		opacity: 1;
		transform: none;
		transition: none;
		margin-bottom: 30px; /* 아래쪽에 30px 여백 */
	}

	.loader, .popup {
        display: none;
    }

	#background-video {
		display: none;
		background-color: #13aee2;		
	}
	
	
	
}

/*Tablet Devices*/
@media only screen and (min-width:768px) and (max-width:1023px){
	.hero-box5 {
		background-image: url('./img/top_bg4.png'); /* 배경 이미지 경로 */
}
.openbtn {		
	font-size: 12px;		
}
}

/*Laptop Devices*/
@media only screen and (min-width:1024px) and (max-width:1439px){
	.hero-box5 {
		background-image: url('./img/top_bg.png'); /* 배경 이미지 경로 */
		margin-top: 4.2vw; /* 화면 너비의 2%에 해당하는 여백 */
		width: 100%;
		height: 40vw; /* 화면 너비의 40% 높이 */		
	}
	.text-container p {
		font-family: 'Noto Sans', 'Roboto', sans-serif; /* 한글을 위한 웹폰트 */
		font-size: 1.0vw;
		line-height: 1.3em;
		white-space: normal;
		letter-spacing: -1.0px;
	}
	.text-container {		
		width: 90%; /* 가로 폭을 80%로 설정 */
		max-width: 1600px; /* 최대 너비를 900px로 설정 */
		display: flex;
		flex-direction: column;
		align-items: center; /* 수직 중앙 정렬 */
		justify-content: center; /* 수평 중앙 정렬 */
		font-size: 1.0vw;
		line-height: 2; /* 텍스트 행간을 2배로 설정 */
		text-align: center;
		color: #65c448;
		margin: 0 auto; /* 중앙 정렬을 위한 자동 마진 */
	}	
}

/*Desktop Devices*/
@media only screen and (min-width:1440px){
	.hero-box5 {
		position: relative;
		margin-top: 2.4vw; /* 화면 너비의 2%에 해당하는 여백 */
		width: 100%;
		height: 40vw; /* 화면 너비의 40% 높이 */
		background-image: url('./img/top_bg2.png'); /* 배경 이미지 경로 */
		background-size: cover; /* 배경 이미지를 비율에 맞게 조정 */
		background-color: rgb(0, 0, 0, 0.5);
		background-position: center;
		display: flex;
		flex-direction: column; /* 세로 정렬 */
		align-items: center;
		justify-content: center;
		text-align: center;
		color: white;
		text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); /* 텍스트 가독성 향상 */
		padding: 2%; /* 상자 내부 여백 */
		box-sizing: border-box; /* 패딩 포함 */
		border-radius: 20px;
		z-index: 4200;
	
		/* 애니메이션 추가 */
	
		/* 두 애니메이션 분리 */
		animation: fallIntoPlace 1.8s ease-out forwards;   
	}
}

.text-overlay5 h5 {
    font-size: 4.2vw; /* 뷰포트 너비에 비례 */
    margin: 3vw 0 1vw;
    opacity: 0; /* 초기 투명 상태 */
    transform: translateX(-40px); /* 왼쪽에서 시작 */
	letter-spacing: -0.05em; /* em 단위로 세밀하게 간격 조정 */
    animation: slideFadeIn 1s ease-in-out forwards; /* 애니메이션 적용 */
}

@keyframes slideFadeIn {
    0% {
        opacity: 0;
        transform: translateX(-30px); /* 왼쪽에서 시작 */
    }
    100% {
        opacity: 1;
        transform: translateX(0); /* 제자리 */
    }
}

@media(max-width: 1024px) {
    .text-overlay5 p5 {
		display: none;
	}
}


.text-overlay5 p5 {
	color: #89d82e;
	font-weight: 300;
    font-size: 2.8vw; /* 뷰포트 너비의 1.5%로 크기 조정 */
    line-height: 1.5; /* 텍스트 간격 */
    margin: 0 0 1vw; /* 하단 여백 */
}

.image-row5 {
    display: flex;
    justify-content: center;
    gap: 2.2vw; /* 이미지 간의 간격 */
    width: 100%;
}

.image-row5 a {
    display: inline-block;
    width: 14%;
}

.image-row5 img {
    margin-top: 3vw;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 5px;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 2.5s ease-out forwards; /* 애니메이션 설정 */
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* 애니메이션 정의 */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(80px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* 각 이미지에 지연 시간 적용 */
.image-row5 img:nth-child(1) {
    animation-delay: 0.6s;
}
.image-row5 img:nth-child(2) {
    animation-delay: 0.8s;
}
.image-row5 img:nth-child(3) {
    animation-delay: 1.0s;
}
.image-row5 img:nth-child(4) {
    animation-delay: 1.2s;
}
.image-row5 img:nth-child(5) {
    animation-delay: 1.4s;
}
.image-row5 img:nth-child(6) {
    animation-delay: 1.6s;
}


/* hover 시 애니메이션 비활성화 */
.image-row5 img.hovered {
    opacity: 1;
    transform: translateY(0);
}

/* hover 시 이미지 변경 효과 */
.image-row5 img:hover {
    opacity: 1;
    transform: translateY(0);
}

.text-container {
	font-family: 'Noto Sans', 'Roboto', sans-serif; /* 한글을 위한 웹폰트 */
    width: 90%; /* 가로 폭을 80%로 설정 */
    max-width: 1200px; /* 최대 너비를 900px로 설정 */
    display: flex;
    flex-direction: column;
    align-items: center; /* 수직 중앙 정렬 */
    justify-content: center; /* 수평 중앙 정렬 */
    font-size: 1.3vw;
    line-height: 2; /* 텍스트 행간을 2배로 설정 */
    text-align: center;
    color: #65c448;
    margin: 0 auto; /* 중앙 정렬을 위한 자동 마진 */
}

.text-container p {
	font-family: 'Noto Sans', 'Roboto', sans-serif; /* 한글을 위한 웹폰트 */
    font-size: 1.4vw;
    line-height: 1.3em;
    white-space: normal;
    letter-spacing: -1.0px;
}

button7 {
    padding: 0.8vw 1vw; /* 버튼 크기를 뷰포트 비율로 설정 */
    background-color: #145dcb;
    color: white;
    border: none;
    font-size: 0.8vw; /* 뷰포트에 비례한 버튼 텍스트 크기 */
    cursor: pointer;
    border-radius: 10px;
    transition: background-color 0.3s;
    margin-top: 2px;
}

button7:hover {
    background-color: #000000;
}

/* 화면스크롤 부드럽게 */
html {
    scroll-behavior: smooth;
}

/* UA Overrides */
*, *:before, *:after {
	box-sizing: border-box;
	line-height: 1cap;
}

body {
    overflow-x: hidden;
	margin-bottom: 0px;
}


/* Demo Speed Styles */
html {
	background: oklch(var(--primary--darkest));
	font-family: var(--sans);
	padding: var(--container--block-padding) var(--container--inline-padding);
	
}

a:any-link {
	color: inherit;
}

/* 링크 및 태그 스타일 */
/* 링크 및 태그 스타일 */
a.button,
a.tag {
  text-decoration: none;
  transition-property: background, color;
}

.tags--overflow-container {  
  padding-inline: calc(var(--content-padding) + 4px);
  position: relative;

  /* Inline Fade */
  &:after {
    background: linear-gradient(
      90deg, 
      var(--grid-item--bg) var(--content-padding), 
      transparent calc(var(--content-padding) + 10px),
      transparent 90%, 
      var(--grid-item--bg) 100%
    );
    pointer-events: none;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 5500;
  }
}

.tags--container {
  container: tags-container / inline-size;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  
  /* 부모 요소에 hover 시 자식 요소들이 좌우로 이동 */
  transition: transform 0.5s ease;
  
  /* 애니메이션 적용 */
  animation: moveTags 10s ease-in-out infinite; /* 애니메이션 이름, 지속 시간, 반복 횟수 */
}

/* 애니메이션 정의 */
@keyframes moveTags {
  0% {
    transform: translateX(0px);  /* 처음 위치 */
  }
  50% {
    transform: translateX(-800px);  /* 왼쪽으로 이동 */
  }
  
  100% {
    transform: translateX(0px);  /* 다시 원래 위치로 돌아옴 */
  }
}


/* 링크 및 태그 스타일 */
a.button,
a.tag {
  text-decoration: none;
  transition-property: background, color;
}

.tags--overflow-container {  
  padding-inline: calc(var(--content-padding) + 4px);
  position: relative;

  /* Inline Fade */
  &:after {
	background: linear-gradient(
		90deg,
		var(--grid-item--bg) var(--content-padding),
		transparent calc(var(--content-padding) + 10px),
		transparent calc(100% - calc(var(--content-padding) + 10px)),
		var(--grid-item--bg) calc(100% - var(--content-padding))
	);
	pointer-events: none;

	content: "";
	inset: 0;
	position: absolute;
	z-index: 5500;
}
}

.tags--container {
  container: tags-container / inline-size;
  display: flex;
  flex-wrap: nowrap;  /* 태그들이 한 줄로 나열되게 */
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: visible;  /* 부모 컨테이너 밖으로 나가지 않게 숨김 */
}

/* 태그들에 마우스 오버 시 이동 애니메이션 */
a.tag,
.tag {
	border: 0.05rem solid color-mix(in oklab, currentColor, transparent 80%);
	border-radius: 100px;

	display: flex;
	align-items: center;
	font-size: 13px;
	font-weight: 500;
	user-select: none;

	padding-inline: 14px;
	padding-bottom: 1px;

	transition-property: background, border, transform;
	transition-duration: 0.15s, 0.15s, 6s;

	height: 32px;

	text-overlow: ellipsis;
	overflow: hidden;
	white-space: nowrap;

	&:not(.post-type):hover {
		border-color: transparent;
		background: color-mix(in oklab, currentColor, transparent 80%);
	}

	@media screen and (min-width: 600px) {
		flex-wrap: nowrap;
		overflow: hidden;
	}
}


.grid--container {
	display: grid;
	grid-template-columns: repeat(
		auto-fill,
		minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr)
	);
	grid-auto-rows: minmax(420px, auto);
	grid-auto-flow: dense; /* remove altogether when grid span can be clamped */
	gap: var(--grid-gap);
	margin: 0 auto;
	max-width: 1920px;
}

/* GO TO TOP */
.go_top_area {
	position: fixed;
	bottom: 150px; /* 버튼의 위치를 조절할 수 있습니다. */
	right: 10px; /* 버튼의 위치를 조절할 수 있습니다. */
	display: none;
	z-index: 6000;
}

.go_top {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 0px;
	text-align: center;
	background-color: #ffffff;
	color: #c9c9c9; 
	border-radius: 100%;
	border-style: groove;
	text-decoration: none;
}

.go_top:hover { 
	border-radius: 30px 30px 0 0;
	color: #00ccff;
	
	border-radius: 100%;
	opacity: 1; /* 마우스 오버 시 이미지를 표시 */
}




/* GRID CELL COMPANY */
.grid--cell {	
	position: relative; 	
	&:nth-of-type(1) .preview-image { background-image: url("./img/company/com_v.png"); }
	&:nth-of-type(2) .preview-image { background-image: url("./img/company/identity_v.png"); }
	&:nth-of-type(3) .preview-image { background-image: url("./img/company/patent_v.png"); }
	&:nth-of-type(4) .preview-image { background-image: url("./img/company/production_v.png"); }
	
}

.grid--cell2 {	
	position: relative; 	
	&:nth-of-type(1) .preview-image { background-image: url("./img/field/f_01_v.png"); }
	&:nth-of-type(2) .preview-image { background-image: url("./img/field/f_02_v.png"); }
	&:nth-of-type(3) .preview-image { background-image: url("./img/field/f_03_v.png"); }
	&:nth-of-type(4) .preview-image { background-image: url("./img/field/f_04_v.png"); }
	&:nth-of-type(5) .preview-image { background-image: url("./img/field/f_05_v.png"); }
	&:nth-of-type(6) .preview-image { background-image: url("./img/field/f_06_v.png"); }
	&:nth-of-type(7) .preview-image { background-image: url("./img/field/f_07_v.png"); }
	&:nth-of-type(8) .preview-image { background-image: url("./img/field/f_08_v.png"); }
	&:nth-of-type(9) .preview-image { background-image: url("./img/field/f_09_v.png"); }
	&:nth-of-type(10) .preview-image { background-image: url("./img/field/f_10_v.png"); }
	&:nth-of-type(11) .preview-image { background-image: url("./img/field/f_11_v.png"); }
	&:nth-of-type(12) .preview-image { background-image: url("./img/field/f_12_v.png"); }
	&:nth-of-type(13) .preview-image { background-image: url("./img/field/f_13_v.png"); }
	&:nth-of-type(14) .preview-image { background-image: url("./img/field/f_14_v.png"); }
	&:nth-of-type(15) .preview-image { background-image: url("./img/field/f_15_v.png"); }
	&:nth-of-type(16) .preview-image { background-image: url("./img/field/f_16_v.png"); }
	&:nth-of-type(17) .preview-image { background-image: url("./img/field/f_17_v.png"); }
	&:nth-of-type(18) .preview-image { background-image: url("./img/field/f_18_v.png"); }
	&:nth-of-type(19) .preview-image { background-image: url("./img/field/f_19_v.png"); }
	&:nth-of-type(20) .preview-image { background-image: url("./img/field/f_20_v.png"); }

	
}

.grid--cell3 {	
	position: relative; 	
	&:nth-of-type(1) .preview-image { background-image: url("./img/tool/t_01_v.png"); }
	&:nth-of-type(2) .preview-image { background-image: url("./img/tool/t_02_v.png"); }
	&:nth-of-type(3) .preview-image { background-image: url("./img/tool/t_03_v.png"); }
	&:nth-of-type(4) .preview-image { background-image: url("./img/tool/t_04_v.png"); }
	&:nth-of-type(5) .preview-image { background-image: url("./img/tool/t_05_v.png"); }
		
}

.grid--cell4 {	
	position: relative; 	
	&:nth-of-type(1) .preview-image { background-image: url("./img/division/equip_01.png"); }
	&:nth-of-type(2) .preview-image { background-image: url("./img/division/equip_02.png"); }
	&:nth-of-type(3) .preview-image { background-image: url("./img/division/display_011.png"); }
	&:nth-of-type(4) .preview-image { background-image: url("./img/division/manufacture_01.png"); }
	&:nth-of-type(5) .preview-image { background-image: url("./img/division/mater_01.png"); }
	&:nth-of-type(6) .preview-image { background-image: url("./img/division/medical_01.png"); }
	&:nth-of-type(7) .preview-image { background-image: url("./img/division/elect_01.png"); }	

}

/* GRID ITEM */
.grid--item {
	--preview--h: 325px;

	--content-gap: 14px;
	--content-padding: 12px;

	--options--h: 42px;
	--hover--h: calc(var(--content-gap) + var(--options--h));
	--hover-offset: calc((var(--hover--h) / 2) * -1);

	--shadow-blur: 36px;
	--shadow-transparency: 60%;

	border-radius: 18px;
	color: var(--grid-item--color);
	container: grid-item / inline-size;

	display: grid;
	grid-template-rows: var(--preview--h) 1fr;
	align-content: start;
	filter: drop-shadow(
		0 0 var(--shadow-blur)
			color-mix(
				in oklab,
				oklch(var(--primary--darkest)),
				transparent var(--shadow-transparency)
			)
	);

	position: relative;
	transition-property: transform, filter;
	transition-duration: 0.3s;

	will-change: height, transform;
	height: 100%;
	width: 100%;

	
	/* bg */
	&:before {
		background: var(--grid-item--bg);
		clip-path: inset(0% 0% round 18px);		
		will-change: background;
		
		content: "";
		inset: 0;
		position: absolute;
		z-index: -1;
	}

	.preview-image--container,
	.preview-image {
		height: 100%;
		width: 100%;
	}
	
	.preview--container {
		background: oklch(var(--secondary));
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;

		position: relative;
		height: var(--preview--h);
		width: 100%;
	}
		
	.preview-image {
		--bg-scale: 1.5, 1.5;
		--bg-position: 50% 50%;
		
		background-size: cover;
		transform: scale(var(--bg-scale)) translateZ(1px);
		background-position: var(--bg-position);
		background-repeat: no-repeat;
		filter: grayscale(100%);
		mix-blend-mode: multiply;
		opacity: .75;
		
		will-change: background, transform;
		
		transition-property: background, filter, opacity, transform;
		transition-duration: 4.5s, .15s, .3s, 3s;
	}
	
	.meta--container {
		display: flex;
		flex-wrap: wrap;
		font-family: var(--mono);
		font-size: 11px;
		font-weight: 500;
		height: 30px;
		position: absolute;
		z-index: 6;

		.issue,
		.page {				
			align-items: center;
			display: flex;

			height: 100%;
			padding-inline: 12px; 
			text-decoration: none;

			&:hover { text-decoration: underline;	}
		}

		.issue { 
			background: oklch(var(--primary--darkest));
			border-radius: 4px 0 0 0;
			color: oklch(var(--secondary));
		}
		
		.page {
			background: var(--grid-item--bg);
		}
	}
	
	.content--container {		
		clip-path: inset(0% 0% round 0 0 18px 18px); /* <3 */
		display: grid;
		align-self: stretch;
		gap: var(--content-gap);
		padding-block: var(--content-padding) calc(var(--content-padding) + 2px);
		height: 100%;
		
		.title--container,
		.tags--container,
		.hover--options {
			width: 100%;
		}
		
		.title--container {
			align-self: stretch;
			height: auto;
			padding-inline: calc(var(--content-padding) + 8px);

			a.title--text {
				font-size: 22px;
				font-weight: 500;
				line-height: 1.2;
				margin: 0;
				padding-bottom: 1px;
				text-decoration-color: color-mix(in oklab, currentColor, transparent 86%);
				text-decoration-skip-ink: none;
				text-decoration-thickness: 3px;

				display: -webkit-box;
				-webkit-line-clamp: 10;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;

				&:hover {
					text-decoration-color: color-mix(in oklab, currentColor, transparent 72%);
				}
			}
		}

		
		
		/* Title Ellipsis Configs */
		/* note: keep like this, don't move to @container */
		@media screen and (min-width: 320px) {
			.title--container {
				min-height: 2.4rlh;

				a.title--text {
					-webkit-line-clamp: 2;
				}
			}
		}
		@media screen and (min-width: 600px) {
			.title--container {
				min-height: unset;
				a.title--text {
					-webkit-line-clamp: 1;
				}
			}
		}
		/* */

		.tags--overflow-container {
			display: flex;
			align-items: flex-end;
		}
	}

	
	.hover--options {
    display: none;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: -4px;
    padding-inline: calc(var(--content-padding) + 4px);
	
    
    .button {
        border-radius: 100px;
        display: flex;
        height: var(--options--h);
        align-items: center;
        font-weight: 600;
        transition-duration: .15s;
    }

	

    .follow {
		border: 4px solid color-mix(in oklab, currentColor, transparent 80%);
		border-radius: 100px;
		font-size: 18px;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 0;
		width: var(--options--h);

		transition-property: background, border;

		&:hover {
			border-color: transparent;
			background: color-mix(in oklab, currentColor, transparent 80%);
		}
	}

    .series,
		.latest {
			display: flex;
			justify-content: center;
			gap: 12px;
			flex: 1;
			padding-inline: 8px 14px;
			position: relative;

			.icon-title {
				display: flex;
				align-items: center;
				height: 100%;
				gap: 8px;
			}

			[data-icon="books"],
			[data-icon="image"] {
				opacity: 75%;
			}

			.new-tab {
				display: none;
				opacity: 45%;
				rotate: -36deg;

				will-change: display;
			}
		}

		.series {
			background: color-mix(in oklab, currentColor, transparent 90%);

			&:hover {
				background: color-mix(in oklab, currentColor, transparent 80%);
				color: oklch(var(--primary--darkest));
			}
		}

		.latest {
			background: oklch(var(--primary--darker));
			color: oklch(var(--secondary));

			&:hover {
				background: oklch(var(--primary--darkest));
			}
		}
	}
		
	&:not(.featured) {
		.preview--container {
			clip-path: inset(0% 0% round 18px 18px 0 0); /* <3 */
		}
	}
	
	&.featured {
		
		.post-type {
			left: -12px;
			top: 12px;
			position: absolute;
		}
			
		.preview--container {
			clip-path: inset(0% 0% round 18px 18px 0 0);
			justify-content: unset;
		}
		
		.tags--container {
			margin-bottom: 12px;
			position: absolute;
			z-index: 6;
		}
		
		.content--container { padding-bottom: calc(var(--content-padding) + 4px); }
		
		.intro--container,
		.description--container {
			line-height: 2.2ex;
			margin: 0;
			padding-inline: calc(var(--content-padding) + 8px);
		}
		
		@media screen and (min-width: 652px) {
			grid-template-columns: 1fr 1fr;
			
			.preview--container {
				clip-path: inset(0% 0% round 0 18px 18px 0);
				height: 100%;
				order: 2;
			}
		}
	}
	
	/* Grid Cell :hover/:focus */
	&:hover, 
	&:focus {
		--grid-item--bg: oklch(var(--secondary));
		--grid-item--color: oklch(var(--primary--darker));
		
		height: auto;
		transform: translateY(var(--hover-offset));
		position: absolute;
		z-index: 6000;
		
		&:before {
			--shadow-blur: 90px;
			--shadow-transparency: 0%;
		}
				
		.hover--options { display: flex; }		
		.preview--container { background: oklch(var(--primary--darkest)); }
		
		.preview-image {
			--bg-scale: 1, 1;
			--bg-position: 50% 100%;
			
			filter: revert;
			mix-blend-mode: revert;
			opacity: revert;
		}
	}
}

/* `grid-item` Container Queries */
@media screen and (min-width: 600px) {	
	.tags--container { 
		flex-wrap: nowrap;
	}
}

@container grid-item (min-width: 300px) {
	.tags--container { 
		flex-wrap: nowrap; 
	}
}

@container grid-item (min-width: 360px) {
	.grid--item {
		
		.hover--options {
			.series,
			.latest {				
				justify-content: space-between;
				padding-inline: 18px 12px;
				
				.new-tab { display: block; }
			}
		}
	}
}

/*  */

/* MEDIA QUERIES */
:root {
	@media screen and (min-width: 800px) { --grid-item--min-width--constraint: 360px; }
}

@media screen and (min-width: 600px) {
	.grid--item {
		&:hover {
			.tags--container {
				animation: marquee 10s linear alternate infinite;
				animation-delay: 0.6s;
				animation-timing-function: ease-out;

				&:hover {
					animation-play-state: paused;
				}
			}
		}
	}
}
/*  */

/* ANIMATIONS */
@keyframes marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-48%);
	}
}
    
/*  */

/* ANIMATIONS */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-90%); }
}


/* 모달의 배경 레이어 */
.modal {
    display: none; /* 초기에는 모달을 숨김 */
    position: fixed;
    z-index: 9000; /* 페이지 상단에 표시되도록 높은 z-index 설정 */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85); /* 어두운 반투명 배경 */
    justify-content: center; /* 수평 및 수직 중앙 정렬 */
    align-items: center;
}

/* 모달에 표시되는 콘텐츠 */
.modal-content {
    display: block;
    margin: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%); /* 화면 중앙 정렬 */
    max-width: 80%;
    max-height: 80%;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    text-align: center;
}

/* 닫기 버튼 */
.close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #ffffff;
    font-size: 40px;
    font-weight: 500;
    cursor: pointer;
	z-index: 9900; /* 페이지 상단에 표시되도록 높은 z-index 설정 */
}

/* 모달 배경 */
.modal2 {
    display: none; /* 초기에는 숨김 */
    position: fixed; /* 화면 고정 */
    z-index: 9900; /* 페이지의 다른 요소들 위에 표시 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75); /* 반투명 배경 */
    justify-content: center; /* 콘텐츠 중앙 정렬 */
    align-items: center; /* 콘텐츠 수직 중앙 정렬 */
}

/* 모달 안의 이미지 또는 비디오 */
.modal2-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
}

/* 닫기 버튼 */
.close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #ffffff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    background: transparent; /* 배경을 투명하게 설정 */
    border: none; /* 테두리 제거 */
    outline: none; /* 포커스 시 테두리 제거 */
	z-index: 9990; /* 페이지 상단에 표시되도록 높은 z-index 설정 */
}

.bottom {
    background-color: rgba(0, 0, 0, 0.5);
    color:#ffffff;
    padding: 20px;
    z-index: 1; /* 다른 요소 위에 표시합니다. */
    max-width: auto; /* 원하는 최대 가로 너비 설정 */
    margin: 0 auto; /* 수평 가운데 정렬을 위해 좌우 마진을 auto로 설정 */
    position: relative;
    top: 200px;
    align-items: flex-start;
    align-content: flex-start;
    transform: translateY(-50%);
    text-align: left; /* 내용을 가운데 정렬 */
	font-size: 50%;
    border-radius: 16px 16px 0px 0px; /* 이미지의 모서리를 10px로 라운드 처리 */
	bottom : 0;
  }

.menu {	
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 7000; /* 다른 요소들보다 위에 표시 */
}
.menu img {
	width: 250px; /* 로고 이미지의 너비 조정 */
	margin-right: 0px; /* 로고와 텍스트 사이의 간격을 설정합니다. */
	margin-left: 40px;
	margin-bottom: 20px;
	padding-top: 40px;
  }
  
/* Center website */
#menuclick {
    position: fixed; /* 화면에 고정 */
    top: 0px; /* 화면 위쪽에서 약간 아래에 위치 */
    left: 50%; /* 화면 너비의 50%에 위치 */
    transform: translateX(-50%); /* 가로로 정확히 중앙 정렬 */
    z-index: 5000; /* 다른 요소 위에 위치 */
}

.openbtn {
    background-color: #000000; /* 버튼 색상 */
    color: rgb(255, 234, 2); /* 글자 색상 */
    padding: 15px 60px; /* 버튼 패딩 */
    border: none;
    cursor: pointer;
    font-size: 16px;
    z-index: 9999; /* 다른 요소 위에 위치 */
    line-height: 1.5; /* 행간을 적당히 설정 (1.5배 간격) */
}


 /* chapter적용 */
 .chapter1, .chapter2, .chapter3, .chapter4 {
	background-color: rgba(0, 94, 255, 0.3);
	color: #ffffff;
	padding: 30px;
	z-index: 1;
	max-width: 1920px;
	margin: 0 auto;
	position: relative;
	top: 80px;	
	text-align: left;
	font-size: clamp(0.8rem, 2vw, 2.8rem); /* 최소 1rem, 최대 3rem, 뷰포트 너비의 2% */
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); /* 텍스트 가독성 향상 */
	border-radius: 10px;
	opacity: 0;
	transform: translateX(100%);
	transition: opacity 0.3s ease-out, transform 0.3s ease-out;
	margin-bottom: 30px; /* 아래쪽에 30px 여백 */
}

/* 각 CHAPTER에 개별 배경색 지정 */

.chapter1 {
	background: linear-gradient(145deg, #001635a6, #13aee2);
    box-shadow: 2px 2px 5px rgba(3, 3, 87, 0.3), /* 오른쪽 아래 그림자 */
			    -2px -2px 5px rgba(255, 255, 255, 0.624); /* 왼쪽 위 하이라이트 */
}

.chapter2 {
	background: linear-gradient(145deg, #280101a2, #c39a07);
	box-shadow: 2px 2px 5px rgba(80, 5, 5, 0.3), /* 오른쪽 아래 그림자 */
	            -2px -2px 5px rgba(255, 255, 255, 0.624); /* 왼쪽 위 하이라이트 */
}

.chapter3 {
	background: linear-gradient(145deg, #00220fa1, #89d82e);
	box-shadow: 2px 2px 5px rgba(6, 57, 11, 0.3), /* 오른쪽 아래 그림자 */
	            -2px -2px 5px rgba(255, 255, 255, 0.624); /* 왼쪽 위 하이라이트 */
}

.chapter4 {
	background: linear-gradient(145deg, #000000a4, #868686);
	box-shadow: 2px 2px 5px rgba(6, 57, 11, 0.3), /* 오른쪽 아래 그림자 */
	            -2px -2px 5px rgba(255, 255, 255, 0.624); /* 왼쪽 위 하이라이트 */
}

/* 애니메이션 트리거 */
.visible {
	opacity: 1;
	transform: translateX(0);
}

/* 타이핑 효과 */
.chapter-content {
	display: inline;
	border-right: 2px solid #ffffff;
	white-space: nowrap;
	overflow: hidden;
}
 
@media screen and (max-width: 767px) {

	#menuclick {
		display: none;
	}	
	
	  .menu img {
		width: 150px; /* 로고 이미지의 너비 조정 */
		margin-left: 4.2vw;
		margin-right: 0px; /* 로고와 텍스트 사이의 간격을 설정합니다. */
	  }

	  .openbtn {
		background-color: #333; /* 버튼 색상 */
		color: rgb(255, 217, 2);
		padding: 10px 20px; /* 버튼 패딩 */
		border: none;
		border-radius: 5px;
		cursor: pointer;
		font-size: 12px;
	}

	.grid--item {		
		--content-gap: 10px;
		--content-padding: 12px;			
		border-radius: 10px;
		--content-gap: 20px;
	}
    
	.go_top_area {
		position: fixed;
		bottom: 100px; /* 버튼의 위치를 조절할 수 있습니다. */
		right: 5px; /* 버튼의 위치를 조절할 수 있습니다. */
		display: none;
		z-index: 8000;
	}
	
	.go_top {
		display: block;
		width: 30px;
		height: 30px;
		line-height: 0px;
		text-align: center;
		background-color: #ffffff;
		color: #c9c9c9; 
		border-radius: 100%;
		border-style: groove;
		text-decoration: none;
	}
	
	.go_top:hover { 
		border-radius: 30px 30px 0 0;
		color: #00ccff;
		
		border-radius: 100%;
		opacity: 1; /* 마우스 오버 시 이미지를 표시 */
	}

}

.bottom2 {
	display: none; /* 기본적으로 숨깁니다. */
}

@media screen and (max-width: 767px) {
    .loader, .popup {
        display: none;
    }
}

@media screen and (max-width: 767px) {
	.grid--item {
		&:hover {
			.tags--container {
				animation: marquee 10s linear alternate infinite;
				animation-delay: .6s;
				animation-timing-function: ease-out;
				
				&:hover {
					animation-play-state: paused;
				}
			}			
		}
	}

	/* 버튼 스타일 */
   .map-buttons a {
    padding: 10px 20px;
    background-color: #2ec0c0; /* 버튼 배경색 */
    color: #000000; /* 버튼 텍스트 색 */
    border-radius: 5px;
    text-decoration: none; /* 밑줄 제거 */
    font-weight: bold;
    text-align: center;
    transition: background-color 0.3s ease;
	font-size: 10px;
    }

   .bottom {
	display: none;
    }

	.bottom2 {
		display: block; /* 요소 보이기 */
		background-color: rgba(0, 0, 0, 0.5); /* 배경색 */
		color: #ffffff; /* 글씨 색상 */
		padding: 20px; /* 패딩 */
		font-size: 50%; /* 글씨 크기 */
		line-height: 1.4; /* 행간 */
		position: relative;
		bottom: 0; /* 화면 맨 아래 */
		left: 0; /* 왼쪽 정렬 */
		width: 100%; /* 너비 100% */
		text-align: center; /* 가운데 정렬 */
		border-radius: 0px 0px 0px 0px; /* 둥근 모서리 */
		margin-top: 2vh; /* 마진 제거 */
		z-index: 5; /* 위로 올리기 */
	}

	html {
		padding-bottom: 0;
	}
	
}


	
	html {
		scroll-behavior: smooth;
	}

	/* 메뉴 버튼 스타일 */
	#menugo {
		display: flex;
		position: fixed; /* 화면 상단에 고정 */
		top: 44; /* 상단에 배치 */
		left: 50%; /* 가로 가운데 위치 */
		transform: translateX(-50%); /* 메뉴 버튼을 정확히 중앙에 배치 */
		margin-top: 20px;
		z-index: 9999; /* 화면의 다른 모든 요소들보다 앞에 오게 설정 */
	}
	
	.menu-btn {
		padding: 10px 20px;
		background-color: #ffc800;
		color: rgb(0, 0, 0);
		border: 2px solid #c39a07; /* border-color와 두께 설정 */
		border-radius: 5px;
		font-size: 16px;
		cursor: pointer;
		transition: background-color 0.3s ease;
		margin-right: 10px; /* 버튼들 간 간격 추가 */
		line-height: 1.5; /* 텍스트 줄 높이 설정 */
	}
	
	.menu-btn:hover {
		background-color: #000000;
		color: #00ccff;
		font-weight: 600;
	}

@media only screen and (min-width:1024px) and (max-width:1439px) {
		.bottom {
			background-color: rgba(0, 0, 0, 0.5);
			color: #ffffff;
			padding: 20px;
			z-index: 1;
			max-width: 100%;
			margin: 0 auto;
			position: relative;
			top: 200px;
			text-align: center; /* 글씨를 가로로 중앙 정렬 */
			font-size: 100%;
			border-radius: 16px 16px 0px 0px;
			bottom: 30;
			
			/* Flexbox로 수직 중앙 정렬 */
			
			justify-content: center; /* 수평 중앙 정렬 */
			align-items: center; /* 수직 중앙 정렬 */
			height: 160px; /* 높이 설정 (필요한 높이로 조정 가능) */
		}
}

/*Desktop Devices*/
@media only screen and (min-width:1440px){
	.bottom {
		background-color: rgba(0, 0, 0, 0.5);
		color: #ffffff;
		padding: 20px;
		z-index: 1;
		max-width: 100%;
		margin: 0 auto;
		position: relative;
		top: 200px;
		text-align: center; /* 글씨를 가로로 중앙 정렬 */
		font-size: 100%;
		border-radius: 16px 16px 0px 0px;
		bottom: 30;
		
		/* Flexbox로 수직 중앙 정렬 */
		
		justify-content: center; /* 수평 중앙 정렬 */
		align-items: center; /* 수직 중앙 정렬 */
		height: 160px; /* 높이 설정 (필요한 높이로 조정 가능) */
	}

}

#background-video {
		position: fixed; /* 화면에 고정 */
		top: 0; /* 화면 상단에 위치 */
		left: 0; /* 화면 왼쪽에 위치 */
		width: 100%; /* 가로로 전체 화면 */
		height: 100%; /* 세로로 전체 화면 */
		object-fit: cover; /* 화면을 가득 채우기 위해 비율을 유지하며 확대 */
		z-index: -1; /* 배경으로 표시되도록 z-index 낮추기 */
	}

/*Mobile Devices*/
	
	.modal3 {
		display: none; /* 기본적으로 숨김 */
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.8); /* 반투명 배경 */
		z-index: 9000;
		justify-content: center; /* 콘텐츠 중앙 정렬 */
		align-items: center; /* 콘텐츠 수직 중앙 정렬 */
		display: flex; /* Flexbox로 콘텐츠 중앙 정렬 */
	}
	
	/* 모달 콘텐츠 박스 */
	.modal-content3 {
		position: relative;
		max-width: 80%;
		max-height: 80%;
		box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
		border-radius: 8px;
		text-align: center;
		background-color: transparent; /* 배경색을 흰색으로 지정 */
	}
	
	/* 닫기 버튼 스타일 */
	.close-button {
		position: absolute;
		top: 10px;
		right: 10px;
		background: none;
		border: none;
		font-size: 40px;
		color: #fff;
		cursor: pointer;
		z-index: 9900;
	}
	
	/* 이미지 크기 조정 */
	#modalImage3 {
		width: 100%;
		height: auto;
		max-height: 70vh;
		object-fit: contain;
		display: block;
		margin: 0 auto;
		z-index: 8000;
	}
	
	/* 이미지 하단 버튼 스타일 */
	.modal-buttons3 {
		display: flex;
		justify-content: space-around;
		margin-top: 20px;
		z-index: 8800;
	}

	.modal-button3 {
		padding: 10px 20px;
		background-color: #fde800;
		color: #ffffff;
		border-radius: 5px;
		text-decoration: none;
		z-index: 8800;
	}


/*****************************************************************************************************/	
	/*하단 맵 */

	/* 지도 컨테이너 */
.map {
    display: flex;
    flex-direction: column;
    align-items: center; /* 중앙 정렬 */
    margin-top: 20px;
	margin-top: 80px; /* 위쪽 여백 60px */
}

/* 버튼 컨테이너 */
.map-buttons {
    display: flex;
    justify-content: center; /* 버튼들 중앙 정렬 */
    gap: 10px; /* 버튼 간격 */
    margin-top: 20px;
}

/* 버튼 스타일 */
.map-buttons a {
    padding: 10px 20px;
    background-color: #0be0e0; /* 버튼 배경색 */
    color: #000000; /* 버튼 텍스트 색 */
    border-radius: 5px;
    text-decoration: none; /* 밑줄 제거 */
    font-weight: bold;
    text-align: center;
    transition: background-color 0.3s ease;
}

/* 버튼 hover 효과 */
.map-buttons a:hover {
    background-color: #f4c700;
}

/*Mobile Devices*/
@media only screen and (max-width:767px){
	.map {
		display: none;
	}
}
	
/******************************************************************************************************/


	/* 로딩 애니메이션 */
.loader {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    animation: spin 2s linear infinite;
}

/* 회전 애니메이션 */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 팝업처리*/
/* 팝업 스타일 */
.popup {
	position: fixed; /* 화면 중앙에 위치하도록 설정 */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 화면 중앙 정렬 */
    z-index: 9980; /* 팝업이 가장 앞에 보이도록 */
    background: #ffffff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    display: none; /* 기본적으로 숨김 */
    width: 90%; /* 팝업 너비 */
    max-width: 1200px; /* 최대 너비 제한 */
    height: auto; /* 높이 자동 조정 */
    overflow: hidden; /* 내용이 팝업을 넘지 않도록 */
	z-index: 9970; /* 닫기 버튼이 팝업 내용보다 앞에 보이도록 */
}

/* 닫기 버튼 스타일 */
.popup-close {

    position: fixed; /* 전체 화면에서 고정 위치 */
    top: 15px; /* 위쪽 여백 */
    right: 10px; /* 오른쪽 여백 */
    font-size: 40px; /* 버튼 크기 */
	font-weight: 600;
    color: #9a9a9a; /* 버튼 색상 (백색) */
    background-color: transparent; /* 버튼 배경 색상 (반투명 검정) */
    padding: 10px 10px; /* 버튼 안의 여백 */
    border-radius: 50%; /* 둥근 모서리 */
    cursor: pointer; /* 마우스 포인터 모양 변경 */
    z-index: 9980; /* 닫기 버튼이 팝업 내용보다 앞에 보이도록 */
}

/* 닫기 버튼에 마우스를 올렸을 때 스타일 */
.popup-close:hover {
    background-color: transparent; /* 마우스를 올리면 배경이 어두워짐 */
}



/* 팝업 보이기 */
.popup.show {
    display: block;
}

.popup2, .popup3, .popup4,.popup5, .popup6, .popup7, .popup8, .popup9, .popup10, .popup11 {
    position: fixed; /* 화면에 고정 */
    top: 50%; /* 화면 중앙 정렬 */
    left: 50%;
    transform: translate(-50%, -50%); /* 정확히 중앙 위치 */
    z-index: 9998; /* 높은 우선순위 */
    background-color: rgb(0, 0, 0); /* 팝업 배경 */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    display: none; /* 기본적으로 숨김 */
    max-width: 100%; /* 화면 크기 대응 */
    max-height: 100%; /* 최대 높이를 90%로 설정 */
    overflow: hidden; /* 내용이 넘치지 않도록 숨김 */
    width: 90%; /* 기본 너비를 90%로 설정 */
    height: auto; /* 높이 자동 조정 */
}

/* 팝업 내 이미지 스타일 */
.popup img {
    width: 100%; /* 팝업 너비에 맞춰 이미지 크기 조정 */
    height: auto; /* 이미지 비율 유지 */
    
}

/* 오버레이 스타일 */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 7001; /* 팝업보다 낮지만, 다른 요소보다 위 */
    display: none;
}

/* swiper 컨테이너 스타일 */
.swiper-container {
    width: 100%; /* 팝업 너비에 맞춤 */
    height: 100%; /* 높이 100%로 맞춤 */
    overflow: hidden; /* 슬라이드가 넘치지 않도록 설정 */
}

/* swiper 슬라이드 스타일 */
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%; /* 슬라이드 높이를 100%로 설정 */
}

.swiper-container, .swiper-slide {
    border: none; /* 테두리 제거 */
    box-shadow: none; /* 그림자 제거 */
}

/* 이미지 스타일 */
.swiper-slide img {
    width: 50%; /* 이미지의 가로 크기를 슬라이드 너비에 맞춤 */
    height: 50%; /* 이미지의 높이를 슬라이드 높이에 맞춤 */
    object-fit: contain; /* 이미지의 비율을 유지하면서 슬라이드 영역에 맞게 조정 */
    display: block;
    margin: 0 auto; /* 이미지가 중앙에 위치하도록 설정 */
}

/* 좌측 버튼 (prev) 스타일 */
.swiper-button-prev {
    position: absolute;
    top: 50%; /* 세로 중앙에 위치 */
    left: 10px; /* 좌측 여백 */
    transform: translateY(-50%); /* 세로 중앙 정렬 */
    font-size: 20px; /* 버튼 크기 */
    font-weight: 800;
    color: #fff; /* 버튼 색상 */
    background-color: black; /* 버튼 배경색 */	
    padding: 30px 30px; /* 위아래 여백 25px, 좌우 여백 30px (버튼 크기 증가) */
    border-radius: 50%; /* 둥근 버튼 */
    cursor: pointer; /* 마우스 포인터 변경 */
    z-index: 10; /* 버튼을 이미지 위에 배치 */
}

/* 우측 버튼 (next) 스타일 */
.swiper-button-next {
    position: absolute;
    top: 50%; /* 세로 중앙에 위치 */
    right: 10px; /* 우측 여백 */
    transform: translateY(-50%); /* 세로 중앙 정렬 */
    font-size: 20px; /* 버튼 크기 */
    font-weight: 800;
    color: #fff; /* 버튼 색상 */
    background-color: black; /* 버튼 배경색 */
    padding: 30px 30px; /* 위아래 여백 25px, 좌우 여백 30px (버튼 크기 증가) */
    border-radius: 50%; /* 둥근 버튼 */
    cursor: pointer; /* 마우스 포인터 변경 */
    z-index: 10; /* 버튼을 이미지 위에 배치 */
}

/* 버튼 아이콘 색상 */
.swiper-button-prev::after, 
.swiper-button-next::after {
    color: white !important; /* 버튼 아이콘 색상 설정 (강제 적용) */
}

/* 버튼 호버 효과 */
.swiper-button-prev:hover,
.swiper-button-next:hover {
    background-color: rgb(1, 186, 248); /* 호버 시 배경색 변경 */
}

.swiper-slide-shadow-left,
.swiper-slide-shadow-right,
.swiper-slide-shadow-top,
.swiper-slide-shadow-bottom {
    display: none !important; /* 그림자 요소 숨김 */
}

.swiper-cube-shadow {
    display: none !important; /* 큐브 그림자 숨김 */
}


@media screen and (max-width: 767px) {
    /* 좌측 버튼 (prev) 숨기기 */
    .swiper-button-prev {
        display: none !important; /* !important 추가 */
    }
    
    /* 우측 버튼 (next) 숨기기 */
    .swiper-button-next {
        display: none !important; /* !important 추가 */
    }
    
    /* 닫기 버튼 크기 조정 */
    .popup-close {
        font-size: 90%; /* 버튼 크기 */
    }
}

