@charset "utf-8";
@import url('font.css');
@import url('layout.css');
@import url('board.css');
@import url('sub.css');

html {height: 100%; overflow-y: auto; font-size: 0.05208333178113vw}
body { overflow: hidden; margin-top: 0 !important; min-width: 320px; color: #000; font-family: 'Pretendard', sans-serif; font-size: 16rem; font-weight: 400; line-height: 1.45; word-wrap: break-word; word-break: keep-all;}
*{ box-sizing: border-box; font-style: normal; margin: 0; padding: 0; -webkit-text-size-adjust: none;}

/* 접근성: 키보드 포커스 스타일 (프로젝트별 커스터마이징 가능) */
*:focus-visible { outline: 2px solid var(--color-ci, #C5171E); outline-offset: 2px; }

/* 접근성: 본문 바로가기 링크 */
.skip-to-content {
	position: absolute;
	top: -100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 9999;
	padding: 10rem 20rem;
	background: var(--color-ci, #C5171E);
	color: #fff;
	font-size: 14rem;
	border-radius: 0 0 5rem 5rem;
	transition: top 0.2s ease;
}
.skip-to-content:focus {
	top: 0;
}
h1, h2, h3, h4, h5, h6 { font-weight: inherit; font-size: inherit;}
fieldset, img, abbr, acronym {border: 0 none;}
legend {position: absolute; height: 0; line-height: 0; font-size: 0; overflow: hidden;}
legend.showlegend {position: static; line-height: 14px; font-size: 12px; overflow: visible;}
address, caption, cite, code, dfn, em, var, i, b{font-style: normal; font-weight: normal;}
ol, ul {list-style: none;}
q:before, q:after {content:'';}
table {border-collapse: collapse; border-spacing: 0;}
caption {height: 0; line-height: 0; font-size: 0; overflow: hidden; text-indent: -10000px;}
hr {display: none;}
a { display:block; color: inherit; text-decoration: none; cursor: pointer;}

button, input, select, textarea { font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; vertical-align: middle; background-color: transparent; border: 0 none;}
button::-moz-focus-inner,input::-moz-focus-inner {border: 0; padding: 0;}
select {appearance: none; -moz-appearance: none; -webkit-appearance: none; background: url(/images/common/select_arrow.png)no-repeat right 10rem center / 9rem auto; padding: 0 15rem;}
select::-ms-expand { display: none;}
input[type="text"],input[type="password"],input[type="number"],input[type="tel"],input[type="email"],input[type="button"],input[type="submit"],textarea {-webkit-appearance: none;-moz-appearance: none; font-size: inherit; font-weight: inherit; color: inherit; font-family: inherit; cursor: pointer;}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {cursor: pointer; overflow: visible; -webkit-appearance: button;}
input[type="checkbox"],
input[type="radio"] { display:inline-block; width: 14rem; height: 14rem; line-height: 14rem; box-sizing: border-box;}
input[type="search"] {-webkit-appearance: textfield; box-sizing: content-box;}
input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
input::-webkit-input-placeholder, input:-moz-input-placeholder, input::-moz-input-placeholder, input:-ms-input-placeholder, textarea::-webkit-input-placeholder, textarea:-moz-placeholder, textarea::-moz-placeholder, textarea:-ms-input-placeholder{color:#a0a0a0;}
input:-webkit-autofill, input:-webkit-autofill:hover,  input:-webkit-autofill:focus, input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { -webkit-text-fill-color: inherit; -webkit-box-shadow: 0 0 0px 1000px transparent inset; color: inherit; font-size: inherit; transition: 5000s ease-in-out 0s;}
textarea {overflow: auto; resize: none;}

img { display: block; width:100%; vertical-align: top;}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, object {display: block; margin: 0; padding: 0;}
audio[controls], canvas, video {display: inline-block;}

/* Disable orange highlight */
label, a, button {-webkit-tap-highlight-color:rgba(0, 0, 0, 0);}

/* global */
.dB{display: block;}
.dIB{display: inline-block;vertical-align: top;}
.clearfix:after{display: block;content:'';clear: both;}
.taC{text-align: center;}
.taL{text-align: left;}
.taR{text-align: right;}
.mt0{margin-top: 0 !important;}
.mb0{margin-bottom: 0 !important;}
.pt0{padding-top: 0 !important;}
.pb0{padding-bottom: 0 !important;}
.ornt{ -webkit-box-orient: vertical;}

/* 이미지 설명 스타일 (스마트에디터에서 생성된 이미지) */
.img_wrapper {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.img_wrapper img {
  max-width: 100%;
  object-fit: contain;
  width: auto;
  margin: 0 auto;
  display: block;
}
.imgCaption {
  padding-top: 10px;
  color: #777;
  font-size: 14px !important;
  text-align: center !important;
}
.imgCaption .imgDescription {
  background-color: rgba(0,0,0,0.05);
  margin: 0 auto;
  min-height: 20px;
  text-align: center !important;
  display: inline-block;
  padding: 5px 10px;
  border-radius: 3px;
}

/* ============================================
   PristineJS 폼 유효성 검사 스타일
   ============================================ */

/* 에러 상태 입력 필드 */
.form-group.has-danger input,
.form-group.has-danger select,
.form-group.has-danger textarea,
input.has-danger,
select.has-danger,
textarea.has-danger {
  border-color: #dc3545 !important;
  background-color: #fff8f8;
}

/* 에러 메시지 스타일 */
.pristine-error,
.form-error,
.form-group .text-help {
  display: block;
  margin-top: 5rem;
  padding: 5rem 10rem;
  font-size: 13rem;
  color: #dc3545;
  background-color: #fff5f5;
  border-left: 3px solid #dc3545;
  border-radius: 0 4rem 4rem 0;
  animation: slideIn 0.2s ease-out;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 성공 상태 입력 필드 */
.form-group.has-success input,
.form-group.has-success select,
.form-group.has-success textarea,
input.has-success,
select.has-success,
textarea.has-success {
  border-color: #28a745 !important;
}

/* 라디오/체크박스 에러 스타일 */
.form-group.has-danger .rd_bx,
.form-group.has-danger .ck_bx {
  padding: 10rem;
  background-color: #fff8f8;
  border: 1px solid #dc3545;
  border-radius: 4rem;
}

/* 에러 메시지 포커스 시 강조 */
.form-group.has-danger input:focus,
.form-group.has-danger select:focus,
.form-group.has-danger textarea:focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
  outline: none;
}

@media screen and ( max-width:1280px ){
  html { font-size: 1px;}
  body { font-size: 16px;}
	select { background-position: right 10rem center; padding: 0 10rem;}

	/* 모바일에서 이미지 설명 스타일 조정 */
	.img_wrapper {
	  max-width: 100%;
	  margin: 0 auto;
	  padding: 0 10px;
	}
	.imgCaption {
	  padding-top: 8px;
	  font-size: 12px !important;
	}
	.imgCaption .imgDescription {
	  padding: 4px 8px;
	  font-size: 12px !important;
	}

	/* 모바일 에러 메시지 스타일 */
	.pristine-error,
	.form-error,
	.form-group .text-help {
	  margin-top: 5px;
	  padding: 5px 10px;
	  font-size: 12px;
	}
}