/* ===================================
    Default
=================================== */
:root {
    /* Layout 레이아웃 */
    --layoutWidth: 1620px ;
    --layoutWidthSub: 1400px ;
    --layoutPadding: 20px;

    /* Font 폰트 */
    --mainFont:'Pretendard';
    --pointFont:'Noto Serif KR';
    --serifFont:'';

    /* commonColor 기준색상 */
    --white : #ffffff;
    --black : #010101;
    
    /* backgroundColor 배경색상 */
    --bgBase : #F7F7F7;
    --bgSoft : #F2F2F2;
    --bgpoint : #F5F8FB;
    --bgBlack : #040B10;

    /* textColor 글자색상 */
    --textBody : #333333;
    --textDesc : #666666;
    --textMuted : #888888;
    --textWhiteBody : #E5E5E5;
    --textWhiteDesc : #BDBDBD;
    --textWhiteMuted : #8A8A8A;

    /* pointColor 브랜드색상 */
    --pointLight : #5C9ED1;
    --pointBase : hsl(207, 55%, 45%);
    --pointBaseRgb : 52, 122, 178;
    --pointDark : #2A6290;

    /* borderColor 테두리색상 */
    --borderBase : #DDDDDD;
    --borderLight : #EEEEEE;

    /* transition */
    --transition : all 0.3s ease-in-out;

    /* board 게시판 */
    --boardBodyColor : #FFF;    /* 만약, 기본배경이 흰색이 아닌 다른 색상일때 게시판색상 기본 body색상 수정*/
    --borderMargin :7.500rem auto 10rem auto;
    --borderFontsize : 1rem;

    --inPd: 20px;
    --inpH: 3em;
    --inpsmH: 2.3em;
    --in: max(1440px, 184rem);
    --in2: max(1200px, 154rem);

    --radius :1rem;
}

/* ===================================
    Reset
=================================== */
*,*::before,*::after{box-sizing:border-box;}
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;border:0;font:inherit;}
html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;}
body{font-family:var(--mainFont),sans-serif;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:-0.02em;color:var(--black);background:var(--white);}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
div,span,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6{word-break:keep-all;}
h1,h2,h3,h4,h5,h6{font:inherit;font-size:inherit;line-height: 1.3;}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;}
button{border:0;background:none;font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;color:inherit;}
ul,ol,li,dl,dt,dd{list-style:none;}
b,strong{font-weight:600;}
small{font-size:.875rem;}
img,picture,video,canvas{display:block;max-width:100%;}
svg{display:block;}
pre{white-space:pre-line;word-wrap:break-word;line-height:1.5;overflow-x: visible !important;}
input,button,textarea,select{font:inherit;}
input,textarea,select{-webkit-appearance:none;appearance:none;}
textarea{resize:none;}
input:focus,textarea:focus,select:focus,button:focus{outline:none;}
::placeholder{color:var(--textMuted);opacity:1;}

.blind{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);clip-path:inset(50%);}

/* ===================================
    Font
=================================== */
/* Font Family */
.mainFont {font-family: var(--mainFont), sans-serif}
.pointFont {font-family: var(--pointFont), sans-serif}
.serifFont {font-family: var(--serifFont), serif;}

/* Font size  */
html{font-size:16px}
@media (max-width:1440px){html{font-size:15px;}}
@media (max-width:1024px){html{font-size:14px;}}
@media (max-width:768px) {html{font-size: 12px;}}

.fs12{font-size:.75rem;}
.fs14{font-size:.875rem;}
.fs16{font-size:1rem;}
.fs18{font-size:1.125rem;}
.fs20{font-size:1.25rem;}
.fs24{font-size:1.5rem;}
.fs30{font-size:1.875rem;}
.fs32{font-size:2rem;}
.fs40{font-size:2.5rem;}
.fs48{font-size:3rem;}
.fs50{font-size:3.125rem;}
.fs60{font-size:3.75rem;}
.fs80{font-size:5rem;}

/* Font weight */
.fw300{font-weight:300;}
.fw400{font-weight:400;}
.fw500{font-weight:500;}
.fw600{font-weight:600;}
.fw700{font-weight:700;}
.fw800{font-weight:800;}
.fw900{font-weight:900;}

/* ===================================
    Color & Background
=================================== */
.colorwhite {color:var(--white);}
.colorblack {color: var(--black);}
.pointColor {color: var(--pointBase)}
.colorBody {color: var(--textBody)}
.bgWhite {background-color: var(--white);}
.bgBlack {background-color:var(--black);}
.pointBg {background-color: var(--pointBase)}
.pointBgLight {background-color: var(--bgpoint)}

/* ===================================
    Utility
=================================== */
/* Display */
.block{display:block;}
.inlineBlock{display:inline-block;}

/* Flex */
.flex{display:flex;}
.flex-wrap{display:flex;flex-wrap:wrap;}
.column{flex-direction:column;}
.flexCenter{display:flex;align-items:center;justify-content:center;}
.flexBetween{display:flex;justify-content:space-between;}

/* Justify */
.justifyStart{display:flex;justify-content:flex-start;}
.justifyCenter{display:flex;justify-content:center;}
.justifyBetween{display:flex;justify-content:space-between;}
.justifyEnd{display:flex;justify-content:flex-end;}

/* Align */
.itemsStart{display:flex;align-items:flex-start;}
.itemsCenter{display:flex;align-items:center;}
.itemsEnd{display:flex;align-items:flex-end;}

.selfStart{display:flex;align-self:flex-start;}
.selfCenter{display:flex;align-self:center;}
.selfEnd{display:flex;align-self:flex-end;}

/* Shadow */
.shadow{box-shadow:0 4px 15px rgba(0,0,0,.05);}
.shadowLg{box-shadow:0 10px 30px rgba(0,0,0,.1);}

/* ===================================
    Section
=================================== */
#main section{position:relative; padding:10rem 0;}
.sub section{position:relative; padding:8rem 0;}

/* container */
.layoutContainer{position:relative; width:100%; margin:0 auto; padding:0 2.5rem;}
.container{position:relative;width:100%;max-width:var(--layoutWidth);margin:0 auto;padding:0 var(--layoutPadding);z-index:1;}
.containerSub{position:relative;width:100%;max-width:var(--layoutWidthSub);margin:0 auto;padding:0 var(--layoutPadding);}

/* Bleed */
#main{
    --bleedWidth: var(--layoutWidth);
}
.sub{
    --bleedWidth: var(--layoutWidthSub);
}
.leftBleed{width:calc(100% - ((100% - var(--bleedWidth)) / 2));margin-left:auto;margin-right: 0;padding-left:var(--layoutPadding);}
.rightBleed{width:calc(100% - ((100% - var(--bleedWidth)) / 2));margin-left: 0;margin-right:auto;padding-right:var(--layoutPadding);}

/* Text Align */
.textLeft{text-align:left;}
.textCenter{text-align:center;}
.textRight{text-align:right;}

/* Position */
.relative{position:relative;}
.absolute{position:absolute;}
.fixed{position:fixed;}
.sticky{position:sticky;}

/* Overflow */
.ofHidden{overflow:hidden;}

/* ===================================
    Visibility

    pc   : PC만
    tb   : 태블릿만
    mo   : 모바일만
    pcTb : PC + 태블릿
    tbMo : 태블릿 + 모바일
=================================== */
.pc,.pcTb {display:block;}
.tb,.mo,.tbMo {display:none;}

@media (max-width:1024px){
    .pc {display:none;}
    .tb,.pcTb,.tbMo{display:block;}
}
@media (max-width:768px){
    .tb,.pcTb{display:none;}
    .mo,.tbMo{display:block;}
}

/* Width */
.w100{width:100%;}
.w95{width:95%;}
.w90{width:90%;}
.w80{width:80%;}
.w75{width:75%;}
.w70{width:70%;}
.w60{width:60%;}
.w50{width:50%;}
.w40{width:40%;}
.w30{width:30%;}
.w25{width:25%;}
.w20{width:20%;}
.w10{width:10%;}

/* Max Width */
.max1920{max-width:1920px;}
.max1600{max-width:1600px;}
.max1440{max-width:1440px;}
.max1240{max-width:1280px;}
.max1024{max-width:1024px;}
.max768{max-width:768px;}
.max600{max-width:600px;}
.max500{max-width:500px;}

/* ===================================
    Margin & Padding
=================================== */
/* Auto */
.mAuto{margin:auto;}
.mxAuto{margin-left:auto;margin-right:auto;}
.myAuto{margin-top:auto;margin-bottom:auto;}
.ml-auto {margin-left: auto;}
.mr-auto {margin-right: auto;}

/* Margin */
.mt0{margin-top:0;}
.mt10{margin-top:.625rem;}
.mt16{margin-top:1rem;}
.mt20{margin-top:1.25rem;}
.mt24{margin-top:1.5rem;}
.mt30{margin-top:1.875rem;}
.mt40{margin-top:2.5rem;}
.mt50{margin-top:3.125rem;}
.mt60{margin-top:3.75rem;}
.mt72{margin-top:4.5rem;}
.mt80{margin-top:5rem;}
.mt100{margin-top:6.25rem;}
.mt120{margin-top:7.5rem;}

/* Margin Bottom */
.mb0{margin-bottom:0;}
.mb10{margin-bottom:.625rem;}
.mb20{margin-bottom:1.25rem;}
.mb30{margin-bottom:1.875rem;}
.mb40{margin-bottom:2.5rem;}
.mb50{margin-bottom:3.125rem;}
.mb60{margin-bottom:3.75rem;}
.mb80{margin-bottom:5rem;}
.mb100{margin-bottom:6.25rem;}

/* Padding */
.pt0   {padding-top: 0!important;}
.pb0   {padding-bottom: 0!important;}
.pr0   {padding-right:0!important}
.pl0   {padding-left:0!important}

.p1{padding:1rem;}
.p2{padding:2rem;}
.p3{padding:3rem;}
.p4{padding:4rem;}

.px1{padding-left:1rem;padding-right:1rem;}
.px2{padding-left:2rem;padding-right:2rem;}
.px3{padding-left:3rem;padding-right:3rem;}
.px4{padding-left:4rem;padding-right:4rem;}

.py1{padding-top:1rem;padding-bottom:1rem;}
.py2{padding-top:2rem;padding-bottom:2rem;}
.py3{padding-top:3rem;padding-bottom:3rem;}
.py4{padding-top:4rem;padding-bottom:4rem;}

/* ==================================================================
    기본 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:0; }
.flexList[layoutStyle="fullbox"] > .box{  width:calc(100% / var(--count)) }
.items-center { -webkit-box-align: center; -ms-flex-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:1280px){
    .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:1024px){
    .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}
}

/* ===================================
    Gnuboard Popup 그누보드 기본 팝업
=================================== */
@media (max-width:1440px){
    #hd_pop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;width:90%!important;z-index:10000;}
    .hd_pops{position:relative;top:10px!important;left:auto!important;width:49%!important;margin-bottom:2%;}
    .hd_pops_con{width:100%!important;height:auto!important;}
    .hd_pops img{width:100%!important;}
}
@media (max-width:768px){
    .hd_pops{position:absolute;width:100%!important;}
}

/* ===================================
    Board 게시판
=================================== */
#bo_list,#bo_w,#bo_v,#bo_gall,#board_FAQ,#Membership{width:100%!important;max-width:var(--layoutWidth)!important;margin:var(--borderMargin)!important;font-size:var(--borderFontsize);}
.more_opt{font-size:.92rem;}

.btn_submit{background:var(--pointBase);}
.btn_submit:hover{background:var(--black);}
body.board,.sub.board{background:var(--boardBodyColor);}

/* list */
/* .tbl_wrap table,#bo_list tbody .even td{background:transparent!important;} */
.tbl_head01 tbody tr:hover td,#bo_list tbody .even:hover td{background:rgba(var(--pointBase),.05)!important;}

/* view */
#bo_v,.cmt_btn{background:transparent!important;}

/* btn */
#bo_v_top ul,.btn_bo_user li,.more_opt li button,.more_opt li a,#bo_v_share .btn{background:transparent!important;}


/* 페이지네이션 */
.pg_wrap {display: flex; justify-content: center; align-items: center; margin-top: 4.5rem; float: none;}
.pg_wrap .pg {display: flex; align-items: center; gap: 4px;}
.pg_page, .pg_current {background:transparent; border: none;}
.pg_page {display: flex; align-items: center; justify-content: center; color:#212121;font-size:14px;width: 2.25rem; height:2.25rem;line-height:normal; border-radius:4px; border:1px solid transparent;}
.pg_page:hover {border:1px solid #212121;}
.pg_current {background:var(--pointBase); font-size:14px; border:1px solid var(--pointBase); color:#fff; width: 2.2rem; height:2.25rem; line-height:2.2rem; padding:0 .5rem; border-radius:4px;}
.pg_start {background:url('/img/icon/pg_start.svg') no-repeat center/cover;}
.pg_prev {background:url('/img/icon/pg_prev.svg') no-repeat center/cover;}
.pg_end {background:url('/img/icon/pg_end.svg') no-repeat center/cover;}
.pg_next {background:url('/img/icon/pg_next.svg') no-repeat center/cover;}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:transparent}


/* 글쓰기 버튼 */
.bo_fx {margin-top: 2.5rem;}
.btn_bo_user {display: flex; align-items: center; justify-content: flex-end; gap: 8px;}
.bo_v_com {justify-content: center !important;}
.btn_bo_user li .btn {display: block; height: auto; line-height: normal;padding: 0;}
.boardBtn {font-size: 1rem; font-weight: 500; border-radius: 8px; border:1px solid var(--black); padding: .75rem 1.5rem; width: 8rem; display: flex; justify-content: center; align-items: center;}
.boardBtn:hover {background-color:var(--pointBase) !important; border: 1px solid var(--pointBase);color: var(--white);}
/* =========================
  projects - view
========================= */
#bo_v_title .bo_v_tit {margin: 1rem 0 0; font-weight: 500;}
#bo_v_info .profile_info,#bo_v_info .profile_info .profile_info_ct {display: flex; align-items: center; gap:1rem; justify-content: space-between; padding: .5rem 0 2rem;}
#bo_v_info .mini-line {display: block; width: 1px; height: 12px; background: #ddd;}
#bo_v_atc {padding: 1.5rem 0;}
#bo_v_img {padding: 0;}
#bo_v_con {margin: 1rem 0 0;}



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

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

/* 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-reverse"]{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);}
[data-aos="reveal-line-reverse"].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-reverse"]{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%);}
[data-aos="reveal-line-half-reverse"].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%);}

/* Mark */
[data-aos*="mark-line"]{position:relative;background:linear-gradient(to right,transparent 50%,rgba(var(--pointBaseRgb),.3) 50%);background-size:200% .6em;background-repeat:no-repeat;background-position:200% 100%;padding:0 .1em;}
[data-aos*="mark-line"].aos-animate{background-position:100% 100%;}

[data-aos="radius"] {border-radius: 0px 0px 0px 0px;}
[data-aos="radius"].aos-animate {border-radius: 1rem 1rem 1rem 1rem; /* animation: focus 1.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; */}


/* Animation */
[data-aos="title"]{opacity:0;}
[data-aos="title"].aos-animate{animation:title 1s cubic-bezier(.215,.610,.355,1) both;}

[data-aos="titleMini"]{opacity:0;}
[data-aos="titleMini"].aos-animate{animation:titleMini 1.2s cubic-bezier(.215,.610,.355,1) both;}

[data-aos="focus"]{opacity:0;}
[data-aos="focus"].aos-animate{animation:focus 1.2s cubic-bezier(.250,.460,.450,.940) both;}

/* keyframes */
@keyframes title{0%{letter-spacing:-.5em;opacity:0;}40%{opacity:.6;}100%{opacity:1;}}
@keyframes titleMini{0%{letter-spacing:.5em;opacity:0;}40%{opacity:.6;}100%{letter-spacing:0;opacity:1;}}
@keyframes focus{0%{filter:blur(12px);opacity:0;}100%{filter:blur(0);opacity:1;}}
@keyframes cycleMove{0%{transform:translateY(0) scale(1);}100%{transform:translateY(1.5rem) scale(.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;}}

/* ===================================
    Swiper
=================================== */
.swiper{position:relative;overflow:hidden;}
.swiper-slide{flex-shrink:0;position:relative;width:100%;height:100%;}

/* Swiper Buttons */
.swiper-button-prev::after,.swiper-button-next::after{display:none;}
.swiper-button-prev,.swiper-button-next{position:relative;top:inherit;left:inherit;bottom:inherit;right:inherit;margin:0;width:auto;height:auto;background:none;}

/* =========================
   Kakao Map
========================= */
.root_daum_roughmap{width:100%!important;height:100%;}
.root_daum_roughmap .border1,.root_daum_roughmap .border2,
.root_daum_roughmap .border3,.root_daum_roughmap .border4,.root_daum_roughmap .wrap_controllers,.root_daum_roughmap .cont,.root_daum_roughmap .wrap_btn_zoom{display:none!important;}

/* =========================
   Captcha
========================= */
#captcha{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;}
#captcha #captcha_img{width:10rem!important; height:3.75rem!important; border:1px solid var(--borderBase)!important;}
#captcha #captcha_key{margin:0!important; padding:0!important; width:10rem!important; height:3.75rem!important; border:1px solid var(--borderBase)!important; background:var(--bgBase)!important; font-size:1.125rem!important; font-weight:400!important; line-height:3.75rem!important;}
#captcha #captcha_info{display:none!important;}
