@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 {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:none; 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;
  /* 깨진 이미지 시 alt(파일명) 숨김 */
  font-size:0; color:transparent;
}
img.img-error { display:none !important; }

/* 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;
  max-width:100%;
  word-break:break-all;
}

/* ============================================
   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;
	}
}