/*  폰트 */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");

/* 초기화 코드 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul, li {
  list-style: none;
}
a {
  text-decoration: none;
}
body {
  width: 100%;
  font-family: "Pretendard Variable",'Pretendard', Pretendard, 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}
img {
  width: 100%;
}
input {
  font-family: "Pretendard Variable",'Pretendard', Pretendard, 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  outline: none;
}
textarea {
  resize: none;
  scale: none;
  outline: none;
  font-family: "Pretendard Variable",'Pretendard', Pretendard, 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

/* 색상 변수 */
:root {
  --mainColor: #053D6E;
  --subColor: #00305a;
  --onColor: #FF8800;

  --hoverColor: #094f8c;
  --subHover: #002341;

  --bottomMenu: #053D6E;
  
  --whiteColor: #fff;
  --blackColor: #000;

  /* 텍스트 색상 */
  --titColor: #222; /* 타이틀 색상 */
  --txtColor: #333; /* 텍스트 색상 */
  --txt6Color: #666;
  --txt9Color: #999;
  --txtGColor: #C5C5C5;

  --redColor: #C30D23;

  --yellowBtn: #ff9900;
  --greenBtn: #3a9222;

  /* 배경 */
  --backColor1: #E7E7E7;
  --backColor2: #f3f3f3;
  
  --backBlue: #e4f6ff;

  --borderLine: #D4D8DD;

  --tableBack: #f1f1f1;
}

/* 공통요소 */
.frame {
  height: 100vh;
  width: 100%;
  margin: 0 auto;
}

.frameInner {
  width: 100%;
  height: 100%;
  display: flex;
}

header {
  max-width: 160px;
  width: 15%;
  height: 100%;
  background-color: var(--whiteColor);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  position: static;
  z-index: 9;
  display: flex;
  flex-direction: column;
  padding: 10px 0 0 0;
}

.displayLogo {
  width: 60%;
  max-width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  margin: 0 auto;
  padding: 0 0 10px 0;
}
.displayLogo > img {
  width: 100%;
}

.contentsArt {
  width: 80%;
  height: 100%;
  flex: 1;
  overflow: hidden;
}

/* 메뉴영역 타이틀 */
.contentsTit {
  width: 100%;
  font-size: 1.2rem;
  text-align: center;
  padding: 15px 0;
  background-color: var(--mainColor);
  color: var(--whiteColor);
  font-weight: 600;
}


/* 하단 메뉴 영역 */
.bottomMenus {
  width: 100%;
  flex: 1;
  background-color: var(--bottomMenu);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.bottomUl {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-direction: column;
}

.bottomUl > li {
  width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bottomUl > li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
  text-align: center;
}
.bottomTit {
  color: var(--txtGColor);
  font-size: 1rem;
  line-height: 140%;
  font-weight: 500;
}

.bottomIconBox {
  width: 65px;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.3);
  border-radius: 70px;
}

.bottomIcon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pageBottom {
  display: flex;
  flex-direction: column;
  position: static;
  z-index: 9;
}

/* 페이지 메뉴 */
.pageMenus {
  width: 100%;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EBEBEB;
  box-shadow: inset 0 8px 8px #fff, 0 -1px 4px rgba(0, 0, 0, 0.1);
  gap: 10px;
}

.menuSliderWrapper {
  overflow-x: auto;
  scroll-behavior: smooth;
  white-space: nowrap;
  flex: 1;
  scrollbar-width: none; /* 파이어폭스 */
}
.menuSliderWrapper::-webkit-scrollbar {
    display: none;
}

.pageMenuUl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 10px;
}

.pageMenuUl > li {
  flex: 1;
  height: 45px;
  background-color: var(--whiteColor);
  border-top: 3px solid var(--txtGColor);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}
.pageMenuUl > li.on {
  border-top: 3px solid var(--mainColor);
}
.pageMenuUl > li.on a {
  color: var(--mainColor);
}

.pageMenuUl > li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--txtGColor);
  font-size: 1.1rem;
  font-weight: 600;
}

.arrowIcon {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: transparent;
  flex-shrink: 0;
}

.leftArrow {
  padding: 0 0 0 5px;
}

/* 하단 안내 문구 */
.pageBottomInfo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
  gap: 5px;
  flex-shrink: 0;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  z-index: 9;
  position: relative;
}
.pageBottomInfo span {
  color: var(--mainColor);
  font-weight: 600;
}

.pageInfoIcon {
  width: 24px;
  height: 24px;
}

/* 처음으로 버튼 */
.mainBtn {
  position: absolute;
  right: 2%;
  width: 90px;
  height: 32px;
  background-color: var(--hoverColor);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--mainColor);
  color: white;
  font-size: 0.925rem;
  font-weight: 500;
}

.popupArt {
  position: fixed;
  top: 0;
  left: 0;
  /* display: flex; */
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 999;
  display: none;
}

.popupBox {
  width: 70%;
  max-width: 500px;
  background-color: var(--whiteColor);
  /* display: flex; */
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  display: none;
}

.popupTit {
  background-color: var(--mainColor);
  padding: 10px;
  color: var(--whiteColor);
  font-size: 1.1rem;
  font-weight: 600;
}

.popupContents {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.popupTable {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--borderLine);
}

.popBox {
  display: flex;
  align-items: center;
  padding: 12px 0;
}

.popBoxTit {
  width: 110px;
  text-align: center;
  color: var(--titColor);
  font-weight: 600;
}

.popupTable > .popBox:nth-child(even) {
  background-color: var(--backBlue);
}

.popBoxTxt {
  font-weight: 600;
  color: var(--txt6Color);
}

/* 버튼 */
.popBtns {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 0 0 10px 0;
}

.popInfoMapBtn {
  width: 120px;
  height: 40px;
  background-color: var(--hoverColor);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--whiteColor);
  font-weight: 500;
}

.popCancelBtn {
  width: 120px;
  height: 40px;
  background-color: var(--backColor1);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--txtColor);
  font-weight: 600;
}

.officeListPopup .officeTable {
  height: auto;
  margin: 10px 0 0 0;
  max-height: 300px;
}

.officeListPopup {
  max-width: 70%;
}
.officeListPopup .officeTable > table thead th:nth-child(2) {
  width: 20%;
}
.officeListPopup .officeTable > table thead th:nth-child(3) {
  width: 40%;
}

/* 입주기업 목록 */
.officeTableList {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
}

.officeTit {
  width: 100%;
  background-color: var(--backBlue);
  padding: 10px 0;
  text-align: center;
  color: var(--mainColor);
  font-size: 1.2rem;
  font-weight: 700;
}

/* 입주기업 테이블 영역 */
.officeTable {
  width: 100%;
  height: 130px;
  overflow: auto;
}
.officeTable > table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
.officeTable > table thead th {
  height: 40px;
  font-weight: 500;
  color: var(--txt6Color);
  background-color: var(--backColor2);
  border: 1px solid var(--whiteColor);
}

.officeTable > table tbody td {
  border: 1px solid var(--backColor2);
  height: 40px;
  color: var(--txtColor);
  font-weight: 500;
}

.officeTable > table thead th:first-child {
  width: 15%;
}
.officeTable > table thead th:nth-child(2) {
  width: 35%;
}
.officeTable > table thead th:nth-child(3) {
  width: 25%;
}
.officeTable > table thead th:nth-child(4) {
  width: 25%;
}

.officeTable > table tbody td span {
  width: 90%;
  max-height: 40px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin: 0 auto;
}

/* 로딩중 팝업 */
.loadingPopArt {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}

.loadingBox {
  width: 80px;
  height: 80px;
  border: 8px solid rgba(255, 255, 255, 0.5);
  border-top-color: white;
  border-radius: 80px;
  animation: spin 3s ease-in-out infinite;
}

.loadingPopArt p {
  color: white;
  font-size: 1.5rem;
  font-weight: 600;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
