@import url('/css/font/font.css');

/* **************************************************
   ！코딩시 지우지 말 것！
************************************************** */
:root {
  --black: #1b1b1c;
  --white: #fff;
  --gray-100: #f0f0f0;
  --gray-200: #e0e0e0;
  --gray-300: #d0d0d0;
  --gray-400: #b0b0b0;
  --gray-500: #909090;
  --gray-600: #707070;
  --gray-700: #505050;
  --gray-800: #303030;
  --gray-900: #101010;

  /*
   * 아래 컬러는 CSS로 수정금지
   * 아래 관리자페이지 메뉴에서 수정Ｏ
   * 관리자페이지 - ADMIN간리 - 기본관리
  */
  --jw_basic: #333;
  --jw_main: #333;
  --jw_point: #333;
  --jw_border: #333;
}

/* **************************************************
   Reset Styles
************************************************** */
html,
body {
  width: 100%;
  font-size: 18px;
  color: #555555;
  font-weight: 400;
  font-family: 'Noto Sans KR', 'Roboto', 'Malgun Gothic', sans-serif;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  letter-spacing: normal;
  font-family: 'Noto Sans KR', 'Roboto', 'Malgun Gothic', sans-serif;
}

ol,
ul,
li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: '';
}

table {
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.9375rem;
}

table caption {
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  line-height: 160%;
  letter-spacing: normal;
}

dt {
  display: block;
}

hr {
  display: none;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
}

address {
  font-style: normal;
}

input,
select,
img {
  vertical-align: middle;
}

input:focus,
textarea:focus,
button:focus {
  outline: none;
}

select {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  line-height: 1;
  background-image: url(/images/comm/searchbox-arrow.svg);
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) 15px;
  background-origin: border-box;
  width: 100%;
  padding: 0.6rem 0.85rem;
  font-size: clamp(14px, 2vw, 15px);
  border: 1px solid var(--jw_border);
  color: #333;
  transition: all 0.25s;
  letter-spacing: -0.015em;

}

select::-ms-expand {
  display: none;
}

input[type=text]::-ms-clear {
  display: none;
}

input::placeholder,
input::-webkit-input-placeholder,
input:-ms-input-placeholder {
  color: #ababab;
}

span,
b,
strong {
  line-height: inherit;
  font-family: inherit;
}

#wrap {
  min-width: 480px;
}

.menu_bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 999999;
  background: rgba(0, 0, 0, .85);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: all .2s linear;
}

.bg .menu_bg {
  opacity: 1;
  visibility: visible;
  transition: all .2s linear;
}

label>input[type="checkbox"]:disabled {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  border: 1px solid #e8e8e8;
  /* 체크 안 된 경우 회색 테두리 */
  border-radius: 2px;
  background-color: #e8e8e8;
  /* 체크 안 된 경우 회색 배경 */
  position: relative;
  vertical-align: middle;
}

label>input[type="checkbox"]:disabled:checked {
  background-color: var(--jw_point);
  /* 체크 된 경우 포인트색 배경 */
  border-color: var(--jw_point);
  /* 테두리도 포인트색 */
}

label>input[type="checkbox"]:disabled:checked::after {
  content: "";
  position: absolute;
  top: 0;
  left: 5px;
  width: 6px;
  height: 12px;
  border-right: 2px solid white;
  border-bottom: 2px solid white;
  transform: rotate(45deg);
}

/* **************************************************
   Basic
************************************************** */
* {
  box-sizing: border-box;
}

#body {
  width: 100%;
  position: relative;
  min-width: 1280px;
}

#header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999999999;
  min-width: 1280px;
  opacity: 0;
}

#wrap {
  width: 100%;
  min-width: 1280px;
  margin-top: 0;
  margin-bottom: 100px;
}

#wrap:has(.main) {
  margin-top: 0px;
}

#footer {
  width: 100%;
  padding: 3rem;
  background-color: var(--jw_basic);
  min-width: 1280px;
}

.cont_wrap {
  height: auto !important;
}

.cont_wrap>.cont_area {
  width: 100%;
  padding: 3rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1200px;
  margin: auto;
}

.cont_wrap>.cont_area h2 {
  text-align: center;
  color: var(--black);
  font-size: 1.8rem;
  font-weight: 600;
  font-size: 46px;
  color: #002445;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: -0.03em;
  font-family: 'Noto Sans KR';
}

.cont_wrap>.member h2 {
  padding-bottom: 2rem;
}

.cont_wrap>.cont_area .cont_view {
  padding: 3rem 0;
  width: 1240px;
  display: block !important;
}

/* **************************************************
   WIDTH 반응형
************************************************** */


/* **************************************************
   Common Class
************************************************** */
.blind {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: inline-block !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.uninput {
  pointer-events: none;
  user-select: none;
  background-color: #f5f5f5 !important;
  color: #555 !important;

}

.uninput * {
  pointer-events: none;
  user-select: none;
  background-color: #f5f5f5 !important;
  color: #555 !important;
}

h5:has(.stateName) {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.stateName {
  padding: .1rem .5rem .1rem;
  border-radius: .2rem;
  font-size: 0.8rem;
  background-color: var(--gray-100);
  color: #656565;
}

.class1 {
  background-color: #d7e2ea;
  color: #0056B3;
}

.class2 {
  background-color: #A3E6A0;
  color: #1C7430;
}

.class3 {
  background-color: #ffe46d;
  color: #745209;
}

.class4 {
  background-color: #A7C9FF;
  color: #003D79;
}

.class5 {
  background-color: #FF8A8A;
  color: #9E1A1A;
}

.class6 {
  background-color: #FFBC7A;
  color: #C24C12;
}

.class7 {
  background-color: #E0A8F3;
  color: #5A2E99;
}

/* **************************************************
   Popup
************************************************** */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-slide {
  display: none;
  float: left;
}

.slick-initialized .slick-slide {
  display: block;
  text-align: -webkit-center;
  align-content: center;
}

.popup-box {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9999999999;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  height: 100%;
  visibility: visible;
  opacity: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
}

.popup-box.on {
  opacity: 1;
}

.popup_close_wrap {
  width: 100%;
  align-items: center;
  justify-content: center;
  display: flex;
  flex-direction: column;
  height: 3rem;
  gap: 0.5rem;
}

.popup-box .popup-box_todayclose {
  height: auto;
  margin-bottom: -0.8rem;
}

.popup-box .popup_close_wrap>button {
  height: 3.5rem;
  border: none;
  width: 8rem;
  background-color: var(--jw_point);
  color: #fff;
  cursor: pointer;
  opacity: 1;
}

.popup-box .popup_close_wrap>button:hover {
  opacity: 0.9;
}

.popup_close_wrap label {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.popup_close_wrap label input[type='checkbox'] {
  width: 20px;
  height: 20px;
  margin-top: 0.2rem;
  margin-right: 0.4rem;
  cursor: pointer;
  accent-color: var(--jw_point);
}

.popup_close_wrap label:hover,
.popup_close_wrap label input[type='checkbox']:hover {
  opacity: 0.9;
}

.popup-slide-wrap {
  display: grid !important;
  grid-template-columns: 1fr 70% 1fr;
  gap: 10px;
  align-items: center;
  text-align: center;
  margin-top: 0.5rem;
}

.popup-slide-wrap:has(:not(button)) {
  display: grid;
  grid-template-columns: 1fr;
}

.popup-slide-wrap button {
  width: 2rem;
  height: 2rem;
}

.popup-slide-wrap button:nth-child(1) {
  grid-column: 1;
  justify-self: end;
}

.popup-slide-wrap>*:nth-child(4) {
  grid-column: span 3;
}

.popup-slide-wrap button {}

.popup-slide-wrap .slick-prev {
  padding: 20px;
  background-color: #ffffff00;
  border: none;
  cursor: pointer;
  text-indent: -9999px;
  position: relative;
  background-image: url('/images/icons/angle-small-left.svg');
  background-size: contain;
  background-repeat: no-repeat;
  filter: invert(100%);
  opacity: 0.6;
}

.popup-slide-wrap .slick-next {
  padding: 20px;
  background-color: #ffffff00;
  border: none;
  cursor: pointer;
  text-indent: -9999px;
  position: relative;
  background-image: url('/images/icons/angle-small-left.svg');
  background-size: contain;
  background-repeat: no-repeat;
  filter: invert(100%);
  transform: rotate(180deg);
  opacity: 0.6;
}

.popup-slide-wrap .slick-prev:hover,
.popup-slide-wrap .slick-next:hover {
  opacity: 1;
}

.popup-slide-wrap .slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  height: 2rem;
  gap: .5rem;
}

.popup-slide-wrap .slick-dots li {
  cursor: pointer;
  height: auto
}

.popup-slide-wrap .slick-dots li:hover button {
  background-color: #ffffff;
  opacity: 0.6;
}

.popup-slide-wrap .slick-dots .slick-active button {
  background-color: #ffffff;
}

.popup-slide-wrap .slick-dots button {
  height: .25rem;
  background-color: #ffffff50;
  border: none;
  border-radius: 5rem;
  width: 2rem;
  cursor: pointer;
}

.popup-slide-item {
  /* pointer-events: none; */
}

.popup-slide-wrap img {
  opacity: 0;
}

.popup-slide-wrap .slick-active img {
  opacity: 1;
}

.popup-slide-item a {}

.popup-slide-item img {
  max-width: 600px;
  max-height: 600px;
  width: auto;
}

.popup-slide-item iframe {
  max-width: 80%;
  height: auto;
  min-height: 600px;
  max-height: 600px;
}

@media screen and (max-width: 1366px) {
  .popup-slide-item iframe {
    min-height: 500px;
    max-width: 90%;
  }
}

@media screen and (max-width: 767px) {
  .popup-slide-item iframe {
    min-height: 390px;
    max-width: 100%;
  }
}

/* **************************************************
   AJAX 요청 화면 잠금 (Loding)
************************************************** */
#loadingOverlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.spinner {
  border: 8px solid rgba(255, 255, 255, 0.3);
  border-top: 8px solid white;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* **************************************************
   Policy <개인정보처리방침>
************************************************** */
.policy_box {
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}

.policy_box * {
  color: #333;
  text-align: left;
  font-size: .8rem;
  font-weight: 400;
}

.policy_box h2 {
  color: #fff;
  font-weight: 600;
}

.policy_box .highlight {
  font-weight: bold;
  background-color: #33333310;
  padding: 2rem;
}

.policy_box .highlight h3 {
  font-weight: 600;
}

.policy_box .highlight h3::before {
  content: "◼";
  padding-right: .2rem;
}

/* **************************************************
   404 ERROR
************************************************** */
#contents:has(.err-wrap) {
  background-color: var(--jw_border);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.err-wrap {
  background-color: #fff;
  padding: 5rem 0;
  width: 60%;
  box-shadow: 0 2px 10px 0 rgba(165, 180, 200, .15);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--px10);
}

.err-wrap img {
  width: 300px;
  padding-top: 5rem;
}

.err-wrap h2 {
  font-size: 2.5rem;
  color: var(--gray-300);
  font-weight: 700;
  margin-bottom: -40px;
}

.err-wrap h3 {
  font-size: 4rem;
  color: var(--jw_point);
  font-weight: 600;
}

.err-wrap p {
  font-size: 1rem;
  color: #888;
}

.err-wrap a {
  margin-top: 1rem;
  text-align: center;
  display: inline-block;
  font-size: 16px;
  color: var(--jw_border);
  text-decoration: none;
  padding: 1.0rem 0;
  width: 10rem;
  border-radius: .5rem;
  background-color: var(--jw_point);
}


/* **************************************************
   SEARCH
************************************************** */
.brd_list_top.search {
  margin-bottom: 0 !important;
}

#search {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  border: 1px solid var(--gray-200);
  /* padding-bottom: 2rem; */
  padding: 3rem;
  border-radius: .25rem;
}

#search .board_wrapper {
  border-top: 1px solid var(--gray-200);
  padding-top: 2rem;
}

#search .board_wrapper:first-of-type {
  border-top: 0;
  padding-top: 0;
}

#search .boardaname.not {
  text-align: center;
}

#search .boardaname:hover {
  opacity: 0.8;
}

#search .boardaname.not:hover {
  opacity: 1;
}

#search .boardaname a {
  color: var(--jw_main);
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: 1.2rem;
}

#search .boardaname a * {
  font-size: .825rem;
}


#search .boardaname .count {
  font-weight: 300;
  padding: 0 .8rem;
  border: 1px solid var(--jw_border);
  border-radius: .2rem;
}

#search .boardaname .count strong {
  color: var(--jw_point);
}

#search .board_list {
  display: flex;
  gap: 0rem;
  flex-direction: column;
  margin-top: .5rem;
}
#keyword:focus::placeholder {
  color: transparent;
}
.search_query:focus::placeholder {
  color: transparent;
}
#search .board_list li {
  padding-left: .5rem;
  display: flex;
  /* gap: 1rem; */
  align-items: center;
}

#search .board_list li::before {
  content: "▪️";
  display: block;
  margin-right: .5rem;
  opacity: 0.5;
  margin-top: .2rem;
}

#search .board_list li a:hover {
  text-decoration: underline;
  opacity: 0.8;
}

/* **************************************************
   iframe
************************************************** */
#iframeContainer {}

#iframeContainer iframe {
  margin-top: 2rem;
  width: 100%;
  height: 1200px;
  border: 1px solid var(--gray-100);
}

#iframeContainer #header,
#iframeContainer #sub,
#iframeContainer .cont_area > h2,
#iframeContainer .btn_wrap,
#iframeContainer #footer{
  display: none;
}

#iframeContainer .top {
  display: block;
}


@media screen and (max-width: 1280px) {
#wrap {
    width: 100%;
    min-width: 100%;
    margin-top: 0;
    margin-bottom: 100px;
}
}

@media screen and (max-width: 767px) {
#wrap {
    min-width: 100%;
}
.cont_wrap>.cont_area .cont_view {
    padding: 3rem 0;
    width: 100%;
    display: block !important;
}
.popup-slide-wrap .slick-active img {
    opacity: 1;
    width: 100%;
}

}


@media screen and (max-width: 478px) {
.cont_wrap>.cont_area {width: 90%;padding: 0rem 0;max-width: 100%;}
.cont_wrap>.cont_area h2 {font-size: 35px;}
.auth_wrap {
    padding: 2rem;
    background-color: #f8f8f8f8;
    width: 100%;
    border-radius: .25rem;
}
#search {
    display: flex
;
    flex-direction: column;
    gap: 2rem;
    border: 1px solid var(--gray-200);
    /* padding-bottom: 2rem; */
    padding: 1rem;
    border-radius: .25rem;
}
}