@charset "utf-8";

html {
	overflow-y:scroll;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary {
	display:block;
}
audio, canvas, video {
    display:inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
audio, canvas, img, video {
	vertical-align:middle;
}
body {
	line-height:1;
}
ol, ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:"";
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
img, fieldset {
	border:0;
}
input, select, textarea {
	line-height:1.2;
	vertical-align:middle;
}
body, table, th, td, input,
textarea, button, select {
	font-family:"돋움", Dotum, Arial, sans-serif;
	font-size:12px;
	color:#666;
}
button, select {
	text-transform:none;
}
button, input {
	line-height:normal;
}
textarea {
	resize:vertical;
	overflow:auto;
}
address, caption, cite, code,
dfn, em, var {
	font-style:normal;
	font-weight:normal;
}
label {
	cursor:pointer;
}
/* For Screen Reader */
legend {
	display:none;
	visibility:hidden;
}
/* For Screen Reader */
caption {
	display:none;
	visibility:hidden;
}
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #ccc;
	margin:1em 0;
	padding:0;
}
a {
	color:#666;
	text-decoration:none;
}
a:active, a:hover, a:focus {
	text-decoration:none;
}
button{
	margin:0px;
	padding:0px;
	cursor:pointer;
	border:0px;
	background:none;
}
body.mouse a:focus, 
body.mouse button:focus{
	outline:none;
}

/* input 기본 스타일 초기화 */
input[type="text"],input[type="password"],input[type="file"],input[type="search"],input[type="email"],
select,
textarea{
   -webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; 
	margin:0;
	padding:0;
}
input::-ms-clear, 
select::-ms-expand{ display: none; }
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' style='opacity:0.5'  viewBox='0 0 6.42 4'><path d='M6.42.69,3.21,4,0,.69.71,0l2.5,2.57L5.71,0Z'/></svg>") no-repeat;
	background-size: 10px;
	background-position: calc(100% - 10px) 50%;
	background-repeat: no-repeat;
}
textarea{resize:none;}
@media all and (max-width:800px){
	.ios-os input[type="text"],
	.ios-os input[type="search"],
	.ios-os input[type="password"],
	.ios-os input[type="file"],
	.ios-os input[type="email"],
	.ios-os select,
	.ios-os textarea{
		    -webkit-appearance: none;
		    -moz-appearance: none;
			appearance: none;
			border-radius:0;
	}
}



.cormorant-unicase-light {
  font-family: "Cormorant Unicase", serif;
  font-weight: 300;
  font-style: normal;
}

.cormorant-unicase-regular {
  font-family: "Cormorant Unicase", serif;
  font-weight: 400;
  font-style: normal;
}

.cormorant-unicase-medium {
  font-family: "Cormorant Unicase", serif;
  font-weight: 500;
  font-style: normal;
}

.cormorant-unicase-semibold {
  font-family: "Cormorant Unicase", serif;
  font-weight: 600;
  font-style: normal;
}

.cormorant-unicase-bold {
  font-family: "Cormorant Unicase", serif;
  font-weight: 700;
  font-style: normal;
}


@font-face {
	font-family:'Nanum Gothic';
	font-style:normal;
	font-weight:400;
	src:url(https://fonts.gstatic.com/ea/nanumgothic/v5/NanumGothic-Regular.eot);
	src:url(https://fonts.gstatic.com/ea/nanumgothic/v5/NanumGothic-Regular.eot?#iefix) format('embedded-opentype'),
		url(https://fonts.gstatic.com/ea/nanumgothic/v5/NanumGothic-Regular.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/nanumgothic/v5/NanumGothic-Regular.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/nanumgothic/v5/NanumGothic-Regular.ttf) format('truetype');
}


@font-face { 
  font-family: 'Noto Sans KR'; 
  font-style: normal; 
  font-weight: 400; 
  src: url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.woff2) format('woff2'), 
        url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.woff) format('woff'), 
        url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.otf) format('opentype'); 
 } 
@font-face { 
  font-family: 'Noto Sans KR'; 
  font-style: normal; 
  font-weight: 500; 
  src: url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.woff2) format('woff2'), 
        url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.woff) format('woff'), 
        url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.otf) format('opentype'); 
 } 
@font-face { 
  font-family: 'Noto Sans KR'; 
  font-style: normal; 
  font-weight: 700; 
  src: url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.woff2) format('woff2'), 
        url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.woff) format('woff'), 
        url(https://fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.otf) format('opentype'); 
 } 


/*아이폰 기본 속성 제거*/
* {letter-spacing: -0.5px;} 
input, textarea, select {-webkit-border-radius:0; -webkit-appearance:none; }
input:focus {border: 0; outline: 0}
select:focus {border: 0; outline: 0}
textarea:focus {border: 0; outline: 0}
*:focus {outline: none !important; box-shadow:none !important; -webkit-box-shadow:none !important;}


input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* 파이어폭스에서의 초기화 방법 */
input[type=number] {
    -moz-appearance: textfield;
}


/* ==================================================================
    Animation 및 효과 설정부분
===================================================================== */

/* ========== Aos (fade) ========== */
[data-aos=fade-up2] { transform: translate3d(0, 30px, 0); }
[data-aos=fade-down2] { transform: translate3d(0, -30px, 0); }
[data-aos=fade-right2] { transform: translate3d(-30px, 0, 0); }
[data-aos=fade-left2] { transform: translate3d(30px, 0, 0); }
[data-aos=fade-up-right2] { transform: translate3d(-30px, 30px, 0); }
[data-aos=fade-up-left2] { transform: translate3d(30px, 30px, 0); }
[data-aos=fade-down-right2] { transform: translate3d(-30px, -30px, 0); }
[data-aos=fade-down-left2] { transform: translate3d(30px, -30px, 0); }
[data-aos=fade-in] { transform: translate3d(0, 0, 0); }
/* ========== Aos (zoom) ========== */
[data-aos*="bg-zoom-out"]{transform: scale(1.1)}
[data-aos*="bg-zoom-out"].aos-animate {transform: scale(1);}
[data-aos*="bg-zoom-in"]{transform: scale(1)}
[data-aos*="bg-zoom-in"].aos-animate {transform: scale(1.1);}

/* ========== Aos (reveal) ========== */
[data-aos="reveal-line"]{clip-path:polygon(0 0,0 0,0 100%,0 100%);}
[data-aos="reveal-line"].aos-animate {clip-path: polygon(0 0,100% 0,100% 100%,0 100%)}
[data-aos="reveal-line-revers"]{clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%)}
[data-aos="reveal-line-revers"].aos-animate {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)}

[data-aos="reveal-line-half"]{clip-path:polygon(0 0,50% 0,50% 100%,0 100%);}
[data-aos="reveal-line-half"].aos-animate {clip-path: polygon(0 0,100% 0,100% 100%,0 100%)}
[data-aos="reveal-line-half-revers"]{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%);}
[data-aos="reveal-line-half-revers"].aos-animate {clip-path: polygon(0 0,100% 0,100% 100%,0% 100%)}

[data-aos="reveal-top"]{clip-path:polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);}
[data-aos="reveal-top"].aos-animate {clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);}
[data-aos="reveal-bottom"]{clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);}
[data-aos="reveal-bottom"].aos-animate {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
[data-aos="reveal-circle"]{clip-path: circle(0% at 50% 50%);}
[data-aos="reveal-circle"].aos-animate {clip-path:  circle(100% at 50% 50%);}
[data-aos="reveal-open"]{clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%)}
[data-aos="reveal-open"].aos-animate {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)}


/* ========== Aos (animation 효과로 설정) ========== */
[data-aos="title"]{ opacity: 0;}
[data-aos="title"].aos-animate {animation: title 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;}
[data-aos="tit_mini"]{ opacity: 0;}
[data-aos="tit_mini"].aos-animate {animation: tit_mini 1.2s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;}
[data-aos="focus"]{ opacity: 0;}
[data-aos="focus"].aos-animate {animation: focus 1.2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}

/* ========== Animation ========== */
@keyframes title    {0% {letter-spacing: -0.5em;opacity: 0;} 40% {opacity: 0.6;}  100% {opacity: 1;} }
@keyframes tit_mini {0% {letter-spacing: 0.5em;opacity: 0;}  40% {opacity: 0.6;}  100% {letter-spacing: 0;opacity: 1;}}
@keyframes focus    {0% {-webkit-filter: blur(12px);filter: blur(12px);opacity: 0;}  100% {-webkit-filter: blur(0px);filter: blur(0px);opacity: 1;}}
@keyframes cycleM   {0% {transform:  translateY(0) scale(1);}    100% {transform: translateY(1.5rem) scale(0.95)}}
@keyframes rotate   {from{ transform: rotate(0); }to{ transform: rotate(360deg); }}
@keyframes scroll   {0% {transform: translate(-50%, 0);opacity: 0;} 40% {opacity: 1;}80% {transform: translate(-50%, 1.4rem);opacity: 0;}100% {opacity: 0;}}
@keyframes bigger   {0%{transform: scale(0); opacity:1;} 100%{transform: scale(5); opacity:0;}}
@keyframes bounce   {to {transform: translateX(2rem);opacity: 0;}}


/* =============== Color ===============*/
.point-color   {color: var(--pointColor)!important;  color: var(--pointColor)}/* 익스용 CSS > impotant 쓰면 적용안되는 부분으로 한줄더 작성 */
.point-color2   {color: var(--pointColor2)!important; color: var(--pointColor2)}/* 익스용 CSS > impotant 쓰면 적용안되는 부분으로 한줄더 작성 */


/* ========== Position & Visible ========== */
.hidden   {overflow: hidden;}
.relative {position: relative;}
.absolute {position: absolute;}
.pointerNon{pointer-events: none;}

.visible-lg, .visible-md, .visible-sm, .visible-xs,.visible-xxs {display:none !important}

@media (max-width:1580px) { .hidden-lg {display:none!important} .visible-lg {display:block!important}}
@media (max-width:1240px) { .hidden-md {display:none!important} .visible-md {display:block!important}}
@media (max-width:990px)  { .hidden-sm {display:none!important} .visible-sm {display:block!important}}
@media (max-width:768px)  { .hidden-xs {display:none!important} .visible-xs {display:block!important}}
@media (max-width:500px)  { .hidden-xxs{display:none!important} .visible-xxs{display:block!important}}


/* ==================================================================
    기본 box style Layout
===================================================================== */
.flexList { --x-gap:1.500rem; --y-gap:1.500rem;   display:flex;  flex-wrap:wrap;  gap:var(--y-gap) var(--x-gap);}
.flexList > .box{width:calc(100% / var(--count) - (var(--x-gap) * (var(--count) - 1)) / var(--count)); }
.flexList[layoutStyle="fullbox"] {--x-gap:0; --y-gap:10px; }
.flexList[layoutStyle="fullbox"] > .box{  width:calc(100% / var(--count)) }
.align-center {align-items: center}


/* boxCout */
[boxCount="2"]{ --count:2; }
[boxCount="3"]{ --count:3; }
[boxCount="4"]{ --count:4; }
[boxCount="5"]{ --count:5; }
[boxCount="6"]{ --count:6; }

@media (max-width:1580px){
    .lg-direction{flex-direction: column;}
    .lg-w100{width:100%}
    .lg-w90{width:90%}
    .lg-w80{width:80%}
    .lg-order{order: 1}
    .lg-cont_box {margin-top: 4.68rem;}

    .lg-wrap3{--count:3}
    .lg-wrap2{--count:2}
    .lg-wrap1{--count:1}
}
@media (max-width:1240px){
    .md-direction{flex-direction: column;}
    .md-w100{width:100%}
    .md-w90{width:90%}
    .md-w80{width:80%}
    .md-order{order: 1}
    .md-cont_box {margin-top: 4.68rem;}

    .md-wrap3{--count:3}
    .md-wrap2{--count:2}
    .md-wrap1{--count:1}
}
@media (max-width:980px){
    .sm-direction{flex-direction: column;}
    .sm-w100{width:100%}
    .sm-w90{width:90%}
    .sm-w80{width:80%}
    .sm-order{order: 1}
    .sm-cont_box {margin-top: 4.68rem;}

    .sm-wrap3{--count:3}
    .sm-wrap2{--count:2}
    .sm-wrap1{--count:1}
}
@media (max-width:768px){
    .xs-direction{flex-direction: column;}
    .xs-w100{width:100%}
    .xs-w90{width:90%}
    .xs-w80{width:80%}
    .xs-order{order: 1}
    .lg-cont_box,.md-cont_box,.sm-cont_box,.xs-cont_box {margin-top: 3.5rem;}

    .xs-wrap3{--count:3}
    .xs-wrap2{--count:2}
    .xs-wrap1{--count:1}
}
@media (max-width:500px){
    .xxs-direction{flex-direction: column;}
    .xxs-w100{width:100%}
    .xxs-w90{width:90%}
    .xxs-w80{width:80%}
    .xxs-order{order: 1}
    .xxs-cont_box {margin-top: 3.5rem}

    .xxs-wrap2{--count:2}
    .xxs-wrap1{--count:1}
}

.cm-fl { float:left; }
.cm-fr { float:right; }
.cm-cb { clear:both; }
.cm-cf { clear:both; height:1px; }
.cm-pr { position:relative; }
.cm-pa { position:absolute; }
.cm-al { text-align:left !important; }
.cm-ac { text-align:center !important; }
.cm-ar { text-align:right !important; }
.cm-aj { text-align:justify !important; }
.cm-vt { vertical-align:top; }
.cm-vm { vertical-align:middle; }
.cm-vb { vertical-align:bottom; }
.clearfix{*zoom:1;}
.clearfix:after{clear:both; display:block; content:"";}
.blind{overflow:hidden;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0}
.trans200{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;-o-transition:all 0.2s;-ms-transition:all 0.2s;transition:all 0.2s}
.trans300{-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s}
.trans400{-webkit-transition:all 0.4s;-moz-transition:all 0.4s;-o-transition:all 0.4s;-ms-transition:all 0.4s;transition:all 0.4s}
.trans500{-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s}
.material-icons{vertical-align:middle;}
.font-xi:before{font-family:xeicon !important}
.text-ellipsis{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.table-layout{display:table; width:100%; height:100%; }
.table-cell-layout{display:table-cell; width:100%; height:100%; vertical-align:middle;}
.over-img{overflow:hidden;}
.over-img img{
	transition:var(--transition-custom);
	transition-property:transform;
}
a:hover .over-img img{
	transform: scale(1.1) rotate(0.002deg);
}
.over-bg{
	overflow:hidden;
	transition:var(--transition-custom);
	transition-property:transform;
}
a:hover .over-bg{
	transform: scale(1.1) rotate(0.002deg);
}
.line-clamp2{
	overflow:hidden;
	display:block;
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.line-clamp3{
	overflow:hidden;
	display:block;
	display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.line-clamp4{
	overflow:hidden;
	display:block;
	display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}
.img-center{
	position:absolute;
	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	max-width:100%;
	max-height:100%;
	margin:auto;
}
.img-cover{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
}
.pos-full{
	position:absolute; 
	top:0px; 
	left:0px; 
	bottom:0px; 
	right:0px;
} 

/* Skip Navgation */
.cm-accessibility a { position:absolute; text-align:center; width:200px; padding:10px 0; display:block; background:#222; color:#fff; left:-9999px; font-size:16px ; font-weight:500;}
.cm-accessibility a:hover { z-index:999999; margin-left:-100px; left:50%; }
.cm-accessibility a:focus { z-index:999999; margin-left:-100px; left:50%; }
.cm-accessibility a:active { z-index:999999; margin-left:-100px; left:50%; }

/* 공통 :: 가로값지정 */
.width10{width:10% !important;}
.width20{width:20% !important;}
.width30{width:30% !important;}
.width40{width:40% !important;}
.width50{width:50% !important;}
.width60{width:60% !important;}
.width70{width:70% !important;}
.width80{width:80% !important;}
.width90{width:90% !important;}
.width100{width:100% !important;}

/* 191016 kakao 지도 이슈로 border, padding초기화 */
.root_daum_roughmap{padding:0 !important; border:0 !important;  border-radius:0 !important;}
.root_daum_roughmap .map_border{display:none !important;}
.wrap_controllers{display:none  !important;}
 
/* Split Text (plugin) */
.cm-word-split-JS{overflow:hidden; opacity:0; }
.cm-word-split-JS.splitting{opacity:1.0; }
.cm-word-split-JS.splitting .word{overflow:hidden; line-height:1.1; display:inline-block;}
.cm-word-split-JS.splitting .char{display:inline-block; position:relative; font-size:inherit; font-family:inherit; font-weight:inherit; opacity:0; }

/* 하위브라우저 팝업창 */
#browserUpgradePopup .browser-upgrade-popup-dim:before{position:fixed; top:0px; left:0px; width:100%; height:100%; background:rgba(0,0,0,0.6); content:""; z-index:99998}
#browserUpgradePopup .browser-upgrade-popup-inner{position:fixed; top:50%; left:50%; width:500px; transform:translate(-50%,-50%); padding:100px 0; color:#222; background-color:#fff; text-align:center; z-index:99999; box-shadow:5px 1px 5px  rgba(0,0,0,0.25); font-family:sans-serif; border-radius:10px;}
#browserUpgradePopup .browser-popup-close-btn{position:absolute; top:13px; right:13px; font-size:30px; color:#222;}
#browserUpgradePopup .browser-popup-caution-icon{font-size:40px;}
#browserUpgradePopup .browser-popup-tit{font-size:30px; letter-spacing:-2px; font-weight:500; padding:20px 0;}
#browserUpgradePopup .browser-popup-txt{font-size:15px; line-height:1.7; }
#browserUpgradePopup .browser-popup-txt b{font-weight:600;}


.image img {width: 100%;}